body {
	background-color: var(--page-color);
	color: var(--text-color);
}

/* LAYOUT */

.container {
	max-width: 735px;
	position: relative;
}

section {
	margin: 120px auto;
	padding: 0 20px;
	max-width: 735px;
	position: relative;
}
@media only screen and (max-width: 500px) {
	section {
		margin: 80px auto;
	}
}

section:after {
	content:"";
	display:block;
	clear:both;
	visibility:hidden;
}

.wide {
	max-width: 820px;
}

#background {
	background-repeat: no-repeat;
	background-position: center center;
	position: absolute;
	width: 1497px;
	margin-left: -748px;
	top: 50%;
	left: 50%;
}


/* --GLOBAL------------*/

h2 {
	font-family: var(--accent-font);
	color: var(--text-color);
	font-size: var(--h2-size);
}
h3 {
	font-family: var(--accent-font);
}

.link {
	color: var(--link-color);
}
.link:hover {
	color: var(--link-color);
}

.button{
	background-color: var(--accent-color) !important;
	color: #fff;
}
.button.big {
	font-family: var(--accent-font);
	font-size: var(--bigbutton-fontsize);
	padding: 10px 25px;
}
.echo {
	font-family: var(--accent-font);
	font-size: var(--bigbutton-fontsize);
}
.fine {
	font-family: "Helvetica Neue", Arial, sans-serif;
	font-size: 11px;
	max-width: 400px;
	color: var(--text2-color);
}


/* --FOOTER------------*/


footer#detail {
	height: 100px;
}
footer#detail .container {
	color: #FFF;
}


/* --HERO----------- */


#hero {
	position: relative;
	max-width: 1497px;
	margin-top: 0 !important;
	padding: 0 0px !important;
}
#hero #hero-wrap {
	position: relative;
    background-position: center top;
    background-repeat: no-repeat;
    height: 750px;
}
#hero #hero-wrap #course_logo {
	position: absolute;
	top: 60px;
	width: 466px;
	left: 50%;
	margin-left: -233px;
	box-sizing: border-box;
	padding: 0 20px;
}

#hero #introduction {
	position: relative;
	width: 100%;
	margin-top: -260px;
}
#hero #introduction .container {
	position: relative;
	max-width: none;
	padding: 0 20px;
}
#hero #introduction .container h2{
	position: relative;
	text-align: center;
	color: #fff;
	margin-bottom: 70px;
}
#hero #introduction .container p {
	text-align: center;
	max-width: 600px;
	margin: 0 auto;
	font-size: 19px;
	line-height: 1.4;
}

@media only screen and (max-width: 325px) {
	#hero .container p, #hero .container h2{
		text-align: left !important;
	}
}
@media only screen and (max-width: 466px) {
	#hero #hero-wrap #course_logo {
		width: 100%;
		height: auto;
		left: 0;
		margin-left: 0;	
	}
}
@media only screen and (max-width: 430px) {
	#hero-wrap {	
		background-size: 1350px;
	}
	#hero #introduction {
		margin-top: -320px;
	}
}
@media only screen and (max-width: 375px) {	
	#hero-wrap {	
		background-size: 1260px;
	}
	#hero #introduction {
		margin-top: -375px;
	}
}
@media only screen and (max-width: 325px) {	
	#hero-wrap {	
		background-size: 1150px;
	}
	#hero #introduction {
		margin-top: -425px;
	}
}


/* --NOTICE----------- */


#notice {
	margin: -50px auto;
}
#notice-wrap {
	border: 2px solid #E69250;
	border-radius: 10px;
	color: #E69250;
	text-align: center;
	padding: 10px 20px;
}
#notice-wrap p {
	margin-bottom: 10px;
}
#notice-wrap a {
	text-decoration: underline;
}
#notice-wrap ul {
    list-style-position: inside;
    margin-bottom: 10px;
}
@media only screen and (max-width: 500px) {
	#notice {
		margin: 80px auto;
	}
}


/* --COLLAGE----------- */


@media only screen and (min-width: 861px) {
	
	.swiper-container {
		position: relative;
		height: 450px;
		width: 820px;
	}
	.swiper-slide {
		position: absolute;
		overflow: hidden;
	}
	.swiper-container #img1 {
		width: 416px;
		height: 450px;
		left: 0
	}
	.swiper-container #img2 {
		width: 400px;
		height: 212px;
		right: 0;
	}
	.swiper-container #img3 {
		width: 198px;
		height: 234px;
		right: 0;
		bottom: 0;
	}
	.swiper-container #img4 {
		width: 198px;
		height: 234px;
		right: 202px;
		bottom: 0;
	}
}

@media only screen and (max-width: 860px) {

	.swiper-container {
		padding-bottom: 30px !important;
	}
	.swiper-pagination {
		margin-bottom: 0px;
	}
	.swiper-pagination-bullet-active {
		background: var(--accent-color);
	}

}
@media only screen and (min-width: 490px) and (max-width: 860px) {
	.swiper-container {
		width: 450px;
	}
}
@media only screen and (max-width: 489px) {
	.swiper-slide {
		height: 100%;
	}
	.swiper-slide img {
		height: auto;
		width: 100%;
	}
}


/* --DETAIL RIGHT----------- */


#detail.right .detail {
	position: absolute;
	top: 50%;
	right: 20px;
}
@media only screen and (max-width: 620px) {
	#detail.right .column {
		padding-right: 0px !important;
		margin: 0 auto;
	}
	#detail.right .detail {
		position: relative;
		width: 270px;
		margin: 0 auto;
		top: 20px;
		right: auto;
		margin-top: 0px !important;
	}
}

/* --DETAIL CENTER----------- */

#detail.center .column {
	max-width: 220px;
}
#detail.center .left {
	float: left;
}
#detail.center .right {
	float: right;
}

#detail.center .detail {
	background-repeat: no-repeat;
	background-position: center center;
	position: absolute;
	width: 100%;
	top: 50%;
	z-index: -100;
	margin-left: -20px !important;
}
@media only screen and (max-width: 610px) {

	#detail.center .left{
		margin-bottom: 200px;
	}	
	#detail.center .column {
		max-width: 800px;
		float: left !important;
	}

}


/* --PARAGRAPH----------- */


.paragraph .column {
	display: block;
	float:left;
	margin: 0 0 0 4%;	
}

.paragraph .right {
	width: 48%;
	float: right;
}
.paragraph .left {
	width: 48%;
	margin-left: 0;
}

.paragraph .one {
	width: 30.66%;
	margin-left: 0;
}
.paragraph .two {
	width: 30.66%;
}
.paragraph .three {
	width: 30.66%;
}


@media only screen and (max-width: 620px) {
	#paragraph .column {
		padding-right: 0px;
		margin: 0 auto;
	}

}


/* --CALLTO----------- */


#callto {
	height: 59px;
	position: relative;
	margin: 180px auto;
}
#callto .button{
	display: block;
	position: relative;
	max-width: 300px;
	margin: 0 auto;
	z-index: 10;
}
#callto #background {
	height: 215px;
	margin-top: -107px;
	opacity: 0.3;
}

#callto #background .echo {
	position: absolute;
	color: var(--accent-color);
	animation: float linear 20s;
    animation-iteration-count: infinite;
}
#callto #background #call1 {
	right: 560px;
	top:0;
	animation-delay: 0s;
}
#callto #background #call2 {
	right: 230px;
	top: 60px;
	animation-delay: -4s;
}
#callto #background #call3 {
	right: 360px;
	top: 130px;
	animation-delay: -9s;
}
#callto #background #call4 {
	right: 520px;
	top: 180px;
	animation-delay: -13s;
}
#callto #background #call5 {
	left: 250px;
	top: 150px;
	animation-delay: -16s;
}
#callto #background #call6 {
	left: 250px;
	top: 50px;
	animation-delay: -18s;
}

@keyframes float{
  0% {
    transform:  translate(0px,0px)  ;
  }
  15% {
    transform:  translate(6px,-6px)  ;
  }
  24% {
    transform:  translate(6px,-7px)  ;
  }
  44% {
    transform:  translate(-3px,-11px)  ;
  }
  54% {
    transform:  translate(-8px,-8px)  ;
  }
  69% {
    transform:  translate(-9px,2px)  ;
  }
  88% {
    transform:  translate(-4px,6px)  ;
  }
  100% {
    transform:  translate(0px,0px)  ;
  }
}

@media only screen and (max-width: 960px) {

}
@media only screen and (max-width: 700px) {

}
@media only screen and (max-width: 370px) {

}


/* --TESTIMONIAL----------- */

#testimonial .review{
	position: relative;
	margin: 20px 0;
}

#testimonial blockquote {
	font-style: italic;
	font-size: 18px;
	line-height: 24px;
}
#testimonial blockquote.left {
	float: left;
	width: 50%;
	padding-right: 5px;
	box-sizing: border-box;
}
#testimonial blockquote.right {
	float: right;
	width: 50%;
	padding-left: 5px;
	box-sizing: border-box;
}
#testimonial blockquote.bottom {
	margin-top: 20px;
}

#testimonial blockquote footer {
	margin-bottom: 0;
}

#testimonial blockquote cite {
	font-size: 15px;
	line-height: 20px;
}

@media only screen and (max-width: 510px) {

#testimonial blockquote.left {
	float: none;
	width: 100%;
	padding-right: 0px;
	box-sizing: border-box;
}
#testimonial blockquote.right {
	float: none;
	width: 100%;
	padding-left: 0px;
	box-sizing: border-box;
}
#testimonial blockquote.bottom {
	margin-top: 0px;
}
	
	
}




/* --ABOUT----------- */


#about #background{
	background-position: right top;
	height: 328px;
	position: relative;
	z-index: -10;
	width: 100%;
	margin-left: 0;
	top: 0;
	left: 0;
}
#about .container {
	padding: 0 20px;
}
#about h2 {
	margin-top: 70px;
	float: left;
	color: var(--accent2-color);
}
#about #introduction {
	width: 260px;
	margin-top: 31px;
	float: right;
}
#about #social span {
	display: block;
	float: left;
	color: var(--accent2-color);
	margin-top: 10px;
	margin-right: 10px;
}

#about .icon-email:before {
  font-size: 16px;
  margin-top: 2px;
}
#about .icon-facebook:before {
  font-size: 20px;
}
#about .icon-instagram:before {
  font-size: 20px;
}
#about .icon-youtube:before {
  margin-top: 3px;
}

@media only screen and (max-width: 680px) {
	#about.wide .container {
		width: 310px;
		float: right;
		margin: 0;
	}
	#about.wide #background {
		height: 375px;
	}
	#about.wide h2 {
		float: left;
		margin-top: 20px;
	}
	#about.wide #introduction {
		margin-top: 0;
		float: left;
		margin-left: 10px;
	}
}
@media only screen and (max-width: 490px) {
	#about.wide {
		width: 100%;
		position: relative;
		padding: 20px;
		box-sizing: border-box;
		height: 539px;		
	}
	#about.wide .container {
		color: #fff;
		float: left;
		position: absolute;
		width: auto;
		bottom: 20px;
		padding-right: 40px;
	}
	#about.wide #background {
		height: 519px;
		background-position-x: 50%;
	}
	#about.wide h2 {
		float: left;
		margin-top: 20px;
	}
	#about.wide #introduction {
		margin-top: 0;
		float: left;
		margin-left: 0;
		width: auto;
	}
	
	#about.wide #social span {
		margin-top: 15px;
		margin-right: 20px;
	}
}

#about.full {
	max-width: 955px;
	padding: 0;
}
#about.full .container{
	max-width: none;
}
#about.full #introduction{
	width: 270px;
	margin-top: auto;
	margin-bottom: 214px;
}
#about.full #background{
	background-position: right top;
	height: 562px;	
	position: absolute;
	z-index: -10;
	width: 1497px;
	margin-left: -748px;
	top: 50%;
	left: 50%;
	margin-top: -332px;
}
@media only screen and (max-width: 960px) {
	#about.full {
		max-width: 645px;
	}
	#about.full .container {
		width: 310px;
		float: right;
		margin: 0;
	}
	#about.full #background {
		margin-left: -950px;
		margin-top: -310px;
	}
	#about.full h2 {
		float: left;
		margin-top: 0px;
	}
	#about.full #introduction {
		margin-top: 0;
		float: left;
		margin-left: 0px;
		margin-bottom: 203px;
		width: auto;
	}

}
@media only screen and (max-width: 645px) {
	#about.full .container {
		float: none;
		width: auto;
		max-width: 495px;
		margin: 0 auto;	
	}
	#about.full #introduction {
		margin-bottom: 0;
	}
	#about.full #background {
	height: 490px;
	width: 100%;
	margin: 0 auto;
	position: relative;
	left: auto;
	background-position: center top;
	float: left;
	margin-top: -95px;
	}
}

/* --CROSSPROMO----------- */


#crosspromo.two {
	position: relative;
	height: 455px;
	margin: 150px auto;
}
#crosspromo.two .promo {
	position: absolute;
	height: 528px;
	width: 750px;
} 
#crosspromo.two .promo .column {
	position: absolute;
	max-width: 315px;
	margin: 0 20px;
} 
#crosspromo.two .promo .column h2 {
	color: inherit;
} 
#crosspromo.two .promo .column p {
	margin: 10px 0;
} 
#crosspromo.two .left {
	background-position: left center;
	left: -362px;
} 
#crosspromo.two .right {
	background-position: right center;
	right: -362px;
	top: -32px;
} 

#crosspromo.two .left .column {
	top: 110px;
	right: 45px;
	color: #fff;
} 
#crosspromo.two .right .column {
	top: 90px;
	left: 45px;
	color: #385270;
} 
#crosspromo.two .right .column a{
	color: #fff;
} 

@media only screen and (max-width: 780px) {
	#crosspromo.two {
		height: 892px;
	}
	#crosspromo.two .promo{
		width: 100%;
		background-position: center center;
	}
	#crosspromo.two .left {
		left: 0;
	}
	#crosspromo.two .right {
		right: 0;
		top: 453px;
	} 
}
@media only screen and (max-width: 460px) {
	#crosspromo.two .left .column {
		right: 0;
	} 
	#crosspromo.two .right .column {
		left: 0;
	} 
}

/* --MAP----------- */


#placeinfo {
	position: absolute;
	top: 0;
	z-index: 10;
	height: 252px;
	width: 210px;
	margin: 12px;
	padding: 12px;
	background: #FFFFFF;
	box-shadow: 0 1px 3px 0 rgba(0,0,0,0.23);
	border-radius: 3px;
	font-family: var(--sans);
	color: #7D7B75;
}
#placeinfo address{
	font-size: 13px;
	font-style: normal;
}
#placeinfo h2{
	font-family: inherit;
	font-size: 19px;
	font-weight: normal;
	margin-bottom: 5px;
}

#placeinfo ul {
	font-size: 11px;
	list-style-position: inside;
	margin-top: 10px;
}
#placeinfo li {
	margin: 5px 0;
}
#placeinfo ul .yes {
	list-style-image: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNyIgaGVpZ2h0PSI1IiB2aWV3Qm94PSIwIDAgNyA1IiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjxwYXRoIGQ9Ik0yLjM4IDMuNzdMNS43Ni4xNmEuNS41IDAgMSAxIC43My42OGwtMy43NSA0LS4wMi4wMkEuNS41IDAgMCAxIDIgNC44NGwtMS44Ny0yYS41LjUgMCAwIDEgLjcyLS42OGwxLjUyIDEuNnoiIGZpbGw9IiM3RDdCNzUiIGZpbGwtcnVsZT0ibm9uemVybyIvPjwvc3ZnPg==);
}
#placeinfo ul .no {
	list-style-image: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNiIgaGVpZ2h0PSI2IiB2aWV3Qm94PSIwIDAgNiA2IiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjxwYXRoIGQ9Ik0zIDIuM0w1LjE1LjE0YS41LjUgMCAwIDEgLjcuN0wzLjcxIDNsMi4xNCAyLjE1YS41LjUgMCAwIDEtLjcuN0wzIDMuNzEuODUgNS44NWEuNS41IDAgMSAxLS43LS43TDIuMjkgMyAuMTUuODVhLjUuNSAwIDAgMSAuNy0uN0wzIDIuMjl6IiBmaWxsPSIjN0Q3Qjc1IiBmaWxsLXJ1bGU9Im5vbnplcm8iLz48L3N2Zz4=);
}

#directions {
	position: absolute;
	bottom: 10px;
}
#directions .type {
	margin-bottom: 2px;
	position: relative;
}

#directions .station {
	font-weight: 500;
	font-size: 13px;
	margin-left: 22px;
}

#directions #train {
	color: #243E9D;
}
#directions #train::before {
  content: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTUiIGhlaWdodD0iMTUiIHZpZXdCb3g9IjAgMCAxNSAxNSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48ZyBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPjxyZWN0IGZpbGw9IiMyNDNFOUQiIHdpZHRoPSIxNSIgaGVpZ2h0PSIxNSIgcng9IjMiLz48cGF0aCBkPSJNOS42NSAxMi44YS42LjYgMCAwIDAtLjYtLjZoLTMuMWEuNi42IDAgMCAwLS42LjZINS4zYy0xIDAtMS44LS44LTEuOC0xLjhWNC44YzAtLjI2LjA5LS41MS4yNS0uNzJsMS4yNC0xLjYxYy4yMi0uMy41Ny0uNDcuOTUtLjQ3aDMuMTJjLjM4IDAgLjczLjE3Ljk1LjQ3bDEuMjQgMS42Yy4xNi4yMi4yNS40Ny4yNS43NFYxMWMwIDEtLjggMS44LTEuOCAxLjhoLS4wNXptLTQuNjIuNmg0Ljk0YS4zLjMgMCAwIDEgMCAuNkg1LjAzYS4zLjMgMCAwIDEgMC0uNnptMC05bC42MiA1LjRoMy43bC42MS01LjRINS4wNHptLjMyIDcuMmEuNi42IDAgMCAwIC42MS0uNi42LjYgMCAwIDAtLjYxLS42LjYuNiAwIDAgMC0uNjIuNmMwIC4zMy4yOC42LjYyLjZ6bTQuMyAwYS42LjYgMCAwIDAgLjYyLS42LjYuNiAwIDAgMC0uNjItLjYuNi42IDAgMCAwLS42MS42YzAgLjMzLjI3LjYuNjEuNnpNNy41IDMuOGEuMy4zIDAgMCAwIC4zLS4zLjMuMyAwIDAgMC0uMy0uMy4zLjMgMCAwIDAtLjMuM2MwIC4xNy4xMy4zLjMuM3oiIGZpbGw9IiNGRkYiLz48L2c+PC9zdmc+);
  position: absolute;
  top: 2px;
}
#directions #sbahn {
	color: #19A548;
}
#directions #sbahn::before {
  content: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTUiIGhlaWdodD0iMTUiIHZpZXdCb3g9IjAgMCAxNSAxNSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48ZyBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPjxwYXRoIGQ9Ik03LjUgMTQuOThBNy40OCA3LjQ4IDAgMSAxIDcuNS4wMmE3LjQ4IDcuNDggMCAwIDEtLjAxIDE0Ljk2eiIgZmlsbD0iIzE5QTU0OCIvPjxwYXRoIGQ9Ik01LjYgNC4yYzAtLjY1LjYtMS4yIDEuNjQtMS4yIDEuODQgMCAzLjQuOTggNC40NCAyLjFWMy4xNGE3LjEzIDcuMTMgMCAwIDAtNC40LTEuNDhDNS4yNSAxLjY2IDMgMi45IDMgNS4yYzAgNC40IDYuNjggMi44MyA2LjY4IDUuMzggMCAuNjgtLjg5IDEuMzEtMiAxLjMxLTEuOCAwLTMuNi0xLjEtNC41OS0yLjUxdjIuMzVhNy41NSA3LjU1IDAgMCAwIDQuNiAxLjY3YzIuOTUgMCA0LjcxLTIuMSA0LjcxLTMuOTIgMC00LjQ4LTYuOC0yLjU2LTYuOC01LjN6IiBmaWxsPSIjRkZGIiBmaWxsLXJ1bGU9Im5vbnplcm8iLz48L2c+PC9zdmc+);
  position: absolute;
  top: 2px;
}
#directions #subway {
	color: #0054C4;
}
#directions #subway::before {
  content: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTUiIGhlaWdodD0iMTUiIHZpZXdCb3g9IjAgMCAxNSAxNSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48ZyBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPjxyZWN0IGZpbGw9IiMwMDU0QzQiIHdpZHRoPSIxNSIgaGVpZ2h0PSIxNSIgcng9IjIiLz48cGF0aCBkPSJNNCAzdjUuNTVhMy40NSAzLjQ1IDAgMCAwIDYuOSAwVjMiIHN0cm9rZT0iI0ZGRiIgc3Ryb2tlLXdpZHRoPSIyLjUiLz48L2c+PC9zdmc+);
  position: absolute;
  top: 2px;
}
#directions #bus {
	color: #08B578;
}
#directions #bus::before {
  content: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTUiIGhlaWdodD0iMTUiIHZpZXdCb3g9IjAgMCAxNSAxNSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48ZyBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPjxjaXJjbGUgc3Ryb2tlPSIjMDhCNTc4IiBzdHJva2Utd2lkdGg9IjIiIGZpbGw9IiNGRkRFMDAiIGN4PSI3LjUiIGN5PSI3LjUiIHI9IjYuNSIvPjxwYXRoIGQ9Ik02IDYuNWgzVjRoMnY3SDlWOC41SDZWMTFINFY0aDJ2Mi41eiIgZmlsbD0iIzA4QjU3OCIvPjwvZz48L3N2Zz4=);
  position: absolute;
  top: 2px;
}
#directions #car {
	color: #2874DE;
}
#directions #car::before {
  content: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjIiIGhlaWdodD0iMTUiIHZpZXdCb3g9IjAgMCAyMiAxNSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48ZyBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPjxyZWN0IHN0cm9rZT0iIzI4NzRERSIgZmlsbD0iI0ZGRiIgeD0iLjUiIHk9Ii41IiB3aWR0aD0iMjEiIGhlaWdodD0iMTQiIHJ4PSIzIi8+PHBhdGggZD0iTTMuNzYgMi44N2w3LS44NmEyIDIgMCAwIDEgLjQ4IDBsNyAuODZBMiAyIDAgMCAxIDIwIDQuODZ2NS4yOGEyIDIgMCAwIDEtMS43NiAxLjk5bC03IC44NmEyIDIgMCAwIDEtLjQ4IDBsLTctLjg2QTIgMiAwIDAgMSAyIDEwLjE0VjQuODZhMiAyIDAgMCAxIDEuNzYtMS45OXoiIGZpbGw9IiMyODc0REUiLz48cGF0aCBkPSJNNyA3LjczVjMuODhoMy43OVY0LjlINy45NnYxLjYxYy4zNC0uMjcuNy0uMzkgMS4xNC0uMzkuNTQgMCAxLjAxLjI0IDEuMjcuNTIuMzkuNDIuNTYuNzcuNTYgMS45NSAwIC45NS0uMTMgMS4zMi0uNDQgMS43MS0uMjkuMzctLjgzLjc2LTEuNTQuNzYtLjkyIDAtMS45My0uNTItMi4wOC0xLjg1aDEuMDJjLjExLjUxLjQ1LjgzIDEuMDIuODMgMSAwIDEtLjg2IDEtMS41MyAwLS43OS0uMTktMS4zNy0xLjAzLTEuMzctLjM5IDAtLjY4LjE2LS45Mi41OUg3em00LjgxLTEuOFYzLjg4aDQuMDVWNC45TDEzLjQ1IDExaC0xLjE0bDIuNDEtNi4xaC0xLjg5djEuMDNoLTEuMDJ6IiBmaWxsPSIjRkZGIiBmaWxsLXJ1bGU9Im5vbnplcm8iLz48L2c+PC9zdmc+);
  position: absolute;
  top: 3px;
  left: -3px;
}
#directions #bike::before {
  content: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTUiIGhlaWdodD0iMTUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGcgZmlsbD0ibm9uZSIgZmlsbC1ydWxlPSJldmVub2RkIj48cGF0aCBkPSJNNy41IDBhNy41IDcuNSAwIDExMCAxNSA3LjUgNy41IDAgMDEwLTE1eiIgZmlsbD0iIzI4NzRERSIvPjxwYXRoIGQ9Ik05LjMgMy43Yy41IDAgLjktLjQuOS0uOCAwLS41LS40LS45LS45LS45LS40IDAtLjguNC0uOC45IDAgLjQuNC44LjguOHptMS40IDMuNWMtMS4zIDAtMi4zIDEtMi4zIDIuNCAwIDEuMyAxIDIuNCAyLjMgMi40QzEyIDEyIDEzIDExIDEzIDkuNnMtMS0yLjQtMi4zLTIuNHptMCA0Yy0uOSAwLTEuNi0uNy0xLjYtMS42IDAtMSAuNy0xLjcgMS42LTEuNy45IDAgMS42LjggMS42IDEuNyAwIDEtLjcgMS43LTEuNiAxLjd6bS0yLTVoMnYtLjhIOS4ybC0uOC0xLjZhLjcuNyAwIDAwLS43LS40Yy0uMiAwLS40IDAtLjYuMkw1LjQgNS40bC0uMi42YzAgLjMuMS42LjQuN2wxLjUgMVYxMEg4VjdMNyA2bDEtMSAuOCAxLjF6bS00LjQgMUMzIDcuMiAyIDguMiAyIDkuNiAyIDEwLjkgMyAxMiA0LjMgMTJjMS4zIDAgMi4zLTEgMi4zLTIuNHMtMS0yLjQtMi4zLTIuNHptMCA0Yy0uOSAwLTEuNi0uNy0xLjYtMS42IDAtMSAuNy0xLjcgMS42LTEuNy45IDAgMS42LjggMS42IDEuNyAwIDEtLjcgMS43LTEuNiAxLjd6IiBmaWxsPSIjRkZGIiBmaWxsLXJ1bGU9Im5vbnplcm8iLz48L2c+PC9zdmc+);
  position: absolute;
  top: 2px;
}
#directions .line {
	border: 1px solid #4C4C4C;
	border-radius: 3px;
	color: #4C4C4C;
	font-size: 11px;
	font-weight: 500;
	padding: 0 2px 1px 2px;
}


#map .mapboxgl-popup{
	top: -40px
}
#map #view {
    position: relative;
    width: 100%;
	height: 300px;
}

#map canvas {
	border-radius: 4px;
}


@media only screen and (max-width: 470px) {

	#placeinfo {
		position: relative;
		height: 238px;
		width: auto;
		background-color: rgba(255, 255, 255, 0);
		box-shadow: none;
		margin: 0;
		padding-left: 0;
		padding-right: 0;
	}
	
	
}


/* --GEAR----------- */


#gear {
	position: relative;
	height: 360px;
}
#gear #background{
	z-index: -1;
}
#gear h2{
	text-align: center;
	margin-bottom: 10px;
}
#gear .column{
	max-width: 450px;
	margin: 0 auto;
	text-align: center;
}
#gear .fine {
	margin-top: 20px;
}

@media only screen and (max-width: 412px) {

	#gear #background {
		background-image: none !important;
	}
	#gear h2{
		text-align: left;

	}
	#gear .column{
		text-align: left;
		width: auto;

	}
	
	
}


/* --CLASSES----------- */

#classes {
	padding: 0;
}
#board{
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
}

#classes .singleclass {
	position: relative;
	color: var(--text-color);
	flex: 0 0 auto;
	margin: 7px;
	padding: 25px 20px 30px 20px;
	box-sizing: border-box;
	width: 259px;
}
#classes .long {
	width: 98%;
}
#classes .singleclass h3 {
	color: var(--text-color);
	font-size: 27px;
	margin-top: -5px;
	line-height: 1.2;
	margin-bottom: 10px;
}
#classes .singleclass p {
	font-size: 15px;
}
#classes .singleclass .more {
	margin-top: 10px;
}
#classes .singleclass .color {
	position: absolute;
	background-color: var(--accent-color);
	top: 0;
	bottom: 0;
	right: 0;
	left: 0;
	z-index: -10;
}
#classes .first .color {
	opacity: 0.1;
}
#classes .second .color {
	opacity: 0.3;	
}
#classes .third .color {
	opacity: 0.2;	
}
#classes .forth .color {
	opacity: 0.05;		
}
#classes .fith .color {
	opacity: 0.2;	
}
#classes .sixth .color {
	opacity: 0.1;	
}

@media only screen and (max-width: 585px) {

	#classes #slider{
		width: 100%;
		overflow: scroll;
		overflow-y: hidden;
		-webkit-overflow-scrolling: touch;
	}
	#classes #slider #board{
		display: block;
		width: 99999px;
 		scroll-snap-type: x mandatory;
	}
	#classes .singleclass {
		display: inline-block;
 		scroll-snap-align: center;
		float: left;
		position: relative;
	}
	#classes .long {
	width: 259px;
	}
	
	
}




/* --WRAPUP----------- */


#wrapup {
	position: relative;
    background-position: center top;
    background-repeat: no-repeat;
	max-width: 1497px;
	margin: 0 auto;
}
#wrapup #finalcall {
	position: absolute;
	width: 340px;
	right: 0;
	top: 150px;
	z-index: 10;
}
#wrapup #finalcall .button {
	font-size: 28px;
	padding: 10px 25px;
	display: block;
	text-align: center;
}
#wrapup #finalcall #span {
	font-style: italic;
	display: inline-block;
	text-align: center;
	margin-top: 10px;
	width: 100%;
}
#wrapup #marker {
	position: absolute;
	top: 440px;
	right: -80px;
}
#wrapup #marker #arrow {
	top: 30px;
	left: 70px;
	position: absolute;
}


@media only screen and (max-width: 815px) {
	#wrapup #nochplatz {
		display: none;
	}
}

@media only screen and (max-width: 470px) {
	#wrapup #finalcall {
		right: auto;
		top: 150px;
		padding: 0 0;
		left: 50%;
		margin-left: -170px;
	}
	#wrapup #finalcall .button {
		padding: 10px 0;
	}
}
@media only screen and (max-width: 370px) {
	#wrapup #finalcall {
		width: 311px;
		left: 50%;
		margin-left: -155px;
	}
}


@media only screen and (max-width: 430px) {

	#wrapup {	
		height: 666px !important;
		background-size: cover;
	}

}
@media only screen and (max-width: 375px) {

	#wrapup {
		height: 596px !important;
		background-size: cover;	
	}

}
@media only screen and (max-width: 325px) {

	#wrapup {
		height: 498px !important;
		background-size: cover;	
	}

}





/* --TEASER SIGNUP----------- */


#signup {
	margin-top: -40px;
	margin-bottom: 40px;
}

.mailpoet_form {
	max-width: 370px;
	position: relative;
	padding: 0 !important;
	margin: 0 auto;
	height: 50px;
}

.mailpoet_paragraph.last {
	position: absolute;
	right: 10px;
	margin-top: 6px;
}

.mailpoet_text{
	border: 2px solid;
	border-color: var(--accent-color);
	border-radius: 5px;
	background-color: rgba(255, 255, 255, 0);
	font-family: "Helvetica Neue", Arial, sans-serif;
	font-size: 16px;
	padding: 5px 8px !important;
	position: absolute;
	box-sizing: border-box;	
}

.mailpoet_submit {
	color: var(--accent-color);
	border: none;
	background-color: rgba(255, 255, 255, 0);
	font-family: "Helvetica Neue", Arial, sans-serif;
	font-size: 16px;
	font-weight: bold;
	box-sizing: border-box;
	cursor: pointer;
}

.parsley-errors-list {
	position: absolute;
	margin-top: -19px !important;
	font-family: "Helvetica Neue", Arial, sans-serif;
	font-size: 11px !important;
	letter-spacing: 0;
	text-align: center;
}

.mailpoet_validate_success {
	background-color: var(--page-color);
	width: 100%;
	height: 100%;
	z-index: 100;
	position: absolute;
}

#signup strong {
	max-width: 345px;
	margin: 0 auto;
	color: #828282;
	display: block;
}
#signup strong a{
	color: inherit;
	text-decoration: underline;
}

#signup p, #signup strong {
	font-family: "Helvetica Neue", Arial, sans-serif;
	font-weight: normal;
	font-size: 11px;
	letter-spacing: 0;
	text-align: center;
}


/* ---INLINE VIDEO--------- */

#player {
	width: 100%;
}

/* ---STEPS--------- */

#steps .step p {
	margin-left: 110px;
	margin-bottom: 50px;
}
#steps .point {
	position: absolute;
	background-color: var(--accent-color);
	font-family: var(--accent-font);
	font-size: 50px;
	padding: 1px 23px;
	box-sizing: border-box;
	border-radius: 400px;
	color: #fff;
	width: 75px;
	height: 75px;
}
#steps #one {
	opacity: 0.5;
}
#steps #two {
	opacity: 0.7;
}

@media only screen and (max-width: 585px) {

	#steps .step p {
		margin-left: 90px;
	}		

}

@media only screen and (max-width: 400px) {

	#steps .step p {
		margin-left: 0px;
		padding-top: 90px;
	}

	#steps .point {

	}		

}

	
/* ---PRIVACY--------- */

#privacy .container{
	background-color: #F3F3F3;
	border-radius: 8px;
	box-sizing: border-box;
	padding: 30px 40px;
}
#privacy p {
	margin-left: 110px;
}
#privacy #camera {
	position: absolute;
	top: 50%;
}

@media only screen and (max-width: 585px) {
	#privacy {
		padding: 30px 20px;
	}
	#privacy p{
		margin-left: 0;
		margin-top: 110px;
	}
	#privacy #camera {
		top: 71px;
		left: 50%;
		margin-left: -43px;
	}

}