@charset "UTF-8";
/*
Theme Name: Lunamedia
Description: Onepage Theme
Version: 1.0 Author: Willi Waefler
Author URI: http://www.willi.me

*/



@charset "UTF-8";
.gallery__list,
.grid-container,
.list--inline {
    text-align: justify;
    font-size: 0;
    text-justify: distribute-all-lines;
    text-align-last: justify
}

.gallery__list:after,
.grid-container:after,
.list--inline:after {
    content: " ";
    display: inline-block;
    width: 100%
}

.gallery__item,
.grid-item,
.list--inline>li {
    display: inline-block;
    font-size: 20px;
    text-align: left;
    text-align-last: left
}

.gallery__item .ta-c,
.grid-item.ta-c,
.grid-item .ta-c,
.list--inline>li.ta-c,
.list--inline>li .ta-c,
.ta-c.gallery__item {
    text-align-last: center
}

.gallery__item .ta-j,
.grid-item.ta-j,
.grid-item .ta-j,
.list--inline>li.ta-j,
.list--inline>li .ta-j,
.ta-j.gallery__item {
    text-align-last: justify
}

.h-0\! {
    height: 100%
}

.h-80 {
    height: 80px
}

.h-80\! {
    height: 80px!important
}

.h-100p {
    height: 100%
}

.mah-73vh {
    max-height: 73vh
}

section.firstsection {
	padding: 170px 0 0;
}

.icon--instagram img, .icon--facebook img {
    width: 30px;
    height: auto;
    margin: 3px 0 0 10px
}

h3 {
	font-size: 20px;
}

.video-container {
	position: relative;
	padding-bottom: 55%;
	padding-top: 0px;
	height: 0;
	overflow: hidden;
	width: 98%;
}
.video-container iframe,  
.video-container object,  
.video-container embed {
position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

iframe {
	max-width: 100%;
}

a img.migros {margin: 0px 0 -8px;}

@media only screen and (min-width:981px) and (max-width:1199px) {
    .w-3\/12-d {
        width: 25%
    }
}

@media only screen and (min-width:1200px) {
    .w-3\/12-hd {
        width: 25%
    }
}

.w-4\/12 {
    width: 33.3333333333%
}

@media only screen and (min-width:981px) and (max-width:1199px) {
    .w-4\/12-d {
        width: 33.3333333333%
    }
}

@media only screen and (min-width:1200px) {
    .w-4\/12-hd {
        width: 33.3333333333%
    }
}

.w-5\/12 {
    width: 41.6666666667%
}

@media only screen and (min-width:981px) and (max-width:1199px) {
    .w-5\/12-d {
        width: 41.6666666667%
    }
}

@media only screen and (min-width:1200px) {
    .w-5\/12-hd {
        width: 41.6666666667%
    }
}

.w-6\/12 {
    width: 50%
}

@media only screen and (max-width:640px) {
    .w-6\/12-m {
        width: 50%
    }
}

@media only screen and (min-width:641px) and (max-width:980px) {
    .w-6\/12-t {
        width: 50%
    }
}

@media only screen and (min-width:981px) and (max-width:1199px) {
    .w-6\/12-d {
        width: 50%
    }
}

@media only screen and (min-width:1200px) {
    .w-6\/12-hd {
        width: 50%
    }
}

.w-7\/12 {
    width: 58.3333333333%
}

@media only screen and (max-width:640px) {
    .w-7\/12-m {
        width: 58.3333333333%
    }
}

@media only screen and (min-width:641px) and (max-width:980px) {
    .w-7\/12-t {
        width: 58.3333333333%
    }
}

@media only screen and (min-width:981px) and (max-width:1199px) {
    .w-7\/12-d {
        width: 58.3333333333%
    }
}

@media only screen and (min-width:1200px) {
    .w-7\/12-hd {
        width: 58.3333333333%
    }
}

.w-8\/12 {
    width: 66.6666666667%
}

@media only screen and (min-width:981px) and (max-width:1199px) {
    .w-8\/12-d {
        width: 66.6666666667%
    }
}

@media only screen and (min-width:1200px) {
    .w-8\/12-hd {
        width: 66.6666666667%
    }
}

@media only screen and (max-width:640px) {
    .w-10\/12-m {
        width: 83.3333333333%
    }
}

@media only screen and (min-width:641px) and (max-width:980px) {
    .w-10\/12-t {
        width: 83.3333333333%
    }
}

@media only screen and (min-width:981px) and (max-width:1199px) {
    .w-10\/12-d {
        width: 83.3333333333%
    }
}

@media only screen and (min-width:1200px) {
    .w-10\/12-hd {
        width: 83.3333333333%
    }
}

.w-100p {
    width: 100%
}

@media only screen and (max-width:640px) {
    .w-100p-m {
        width: 100%
    }
}

@media only screen and (min-width:641px) and (max-width:980px) {
    .w-100p-t {
        width: 100%
    }
}

@media only screen and (min-width:981px) and (max-width:1199px) {
    .w-100p-d {
        width: 100%
    }
}

@media only screen and (min-width:1200px) {
    .w-100p-hd {
        width: 100%
    }
}

.related {
    text-align: left;
    -ms-text-justify: initial;
    text-justify: initial
}

.related__item {
    width: 25%;
    padding: 10px 5px
}

.related__item:nth-child(4n+1) {
    padding-left: 0;
    padding-right: 15px
}

.related__item:nth-child(4n+2) {
    padding-left: 5px;
    padding-right: 10px
}

.related__item:nth-child(4n+3) {
    padding-right: 5px;
    padding-left: 10px
}

.related__item:nth-child(4n+4) {
    padding-right: 0;
    padding-left: 15px
}

.related-m {
    text-align: left;
    -ms-text-justify: initial;
    text-justify: initial
}

@media only screen and (max-width:640px) {
    .related-m .related__item {
        width: 100%;
        padding: 10px 0
    }
}

.related-t {
    text-align: left;
    -ms-text-justify: initial;
    text-justify: initial
}

@media only screen and (max-width:410px) {
    
    .icon--instagram img, .icon--facebook img {
	    width: 24px;
    }

    
    .burger-menu {
	    margin: 6px 0 0 8px;
    }
}

.related-t {
    text-align: left;
    -ms-text-justify: initial;
    text-justify: initial
}

@media only screen and (min-width:641px) and (max-width:980px) {
    .related-t .related__item {
        width: 50%;
        padding: 10px
    }
    .related-t .related__item:nth-child(odd) {
        padding-left: 0
    }
    .related-t .related__item:nth-child(2n+2) {
        padding-right: 0
    }
}

.related-d {
    text-align: left;
    -ms-text-justify: initial;
    text-justify: initial
}

@media only screen and (min-width:981px) and (max-width:1199px) {
    .related-d .related__item {
        width: 33.3333333333%;
        padding: 10px 6.6666666667px
    }
    .related-d .related__item:nth-child(3n+1) {
        padding-left: 0;
        padding-right: 13.3333333333px
    }
    .related-d .related__item:nth-child(3n+3) {
        padding-right: 0;
        padding-left: 13.3333333333px
    }
}

.related-hd {
    text-align: left;
    -ms-text-justify: initial;
    text-justify: initial
}

@media only screen and (min-width:1200px) {
    .related-hd .related__item {
        width: 25%;
        padding: 10px 5px
    }
    .related-hd .related__item:nth-child(4n+1) {
        padding-left: 0;
        padding-right: 15px
    }
    .related-hd .related__item:nth-child(4n+2) {
        padding-left: 5px;
        padding-right: 10px
    }
    .related-hd .related__item:nth-child(4n+3) {
        padding-right: 5px;
        padding-left: 10px
    }
    .related-hd .related__item:nth-child(4n+4) {
        padding-right: 0;
        padding-left: 15px
    }
}

.insta {
    text-align: left;
    -ms-text-justify: initial;
    text-justify: initial
}

.insta__item {
    width: 33.3333333333%;
    padding: 2.5px 1.6666666667px
}

.insta__item:nth-child(3n+1) {
    padding-left: 0;
    padding-right: 3.3333333333px
}

.insta__item:nth-child(3n+3) {
    padding-right: 0;
    padding-left: 3.3333333333px
}

.insta-m {
    text-align: left;
    -ms-text-justify: initial;
    text-justify: initial
}

@media only screen and (max-width:640px) {
    .insta-m .insta__item {
        width: 33.3333333333%;
        padding: 2.5px 1.6666666667px
    }
    .insta-m .insta__item:nth-child(3n+1) {
        padding-left: 0;
        padding-right: 3.3333333333px
    }
    .insta-m .insta__item:nth-child(3n+3) {
        padding-right: 0;
        padding-left: 3.3333333333px
    }
}

.insta-t {
    text-align: left;
    -ms-text-justify: initial;
    text-justify: initial
}

@media only screen and (min-width:641px) and (max-width:980px) {
    .insta-t .insta__item {
        width: 33.3333333333%;
        padding: 2.5px 1.6666666667px
    }
    .insta-t .insta__item:nth-child(3n+1) {
        padding-left: 0;
        padding-right: 3.3333333333px
    }
    .insta-t .insta__item:nth-child(3n+3) {
        padding-right: 0;
        padding-left: 3.3333333333px
    }
}

.insta-d {
    text-align: left;
    -ms-text-justify: initial;
    text-justify: initial
}

@media only screen and (min-width:981px) and (max-width:1199px) {
    .insta-d .insta__item {
        width: 33.3333333333%;
        padding: 2.5px 1.6666666667px
    }
    .insta-d .insta__item:nth-child(3n+1) {
        padding-left: 0;
        padding-right: 3.3333333333px
    }
    .insta-d .insta__item:nth-child(3n+3) {
        padding-right: 0;
        padding-left: 3.3333333333px
    }
}

.insta-hd {
    text-align: left;
    -ms-text-justify: initial;
    text-justify: initial
}

@media only screen and (min-width:1200px) {
    .insta-hd .insta__item {
        width: 33.3333333333%;
        padding: 2.5px 1.6666666667px
    }
    .insta-hd .insta__item:nth-child(3n+1) {
        padding-left: 0;
        padding-right: 3.3333333333px
    }
    .insta-hd .insta__item:nth-child(3n+3) {
        padding-right: 0;
        padding-left: 3.3333333333px
    }
}



#cboxClose,
#cboxNext,
#cboxPrevious,
.icon,
.list--checkmark li {
    font-family: icomoon!important;
    speak: none;
    font-style: normal;
    font-weight: 400;
    font-variant: normal;
    text-transform: none;
    line-height: 1;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale
}


#cboxNext,
.icon--arrow-right {
    background: transparent url(images/arrow.png) center center / 30px auto no-repeat;
    height: 22px;
	display: block;
	position: absolute;
	right: 10px;
	top: 5px;
	width: 30px;
}

.page__nav li {
	position: relative;
}

#cboxPrevious,
.icon--arrow-left {
    background: transparent url(images/arrow.png) center center / 30px auto no-repeat;
    
}

.icon--arrow-up {
    background: transparent url(images/arrowup.png) center center / 30px auto no-repeat;
    height: 30px;
	display: block;
	width: 30px;
}

.icon--arrow-down {
    background: transparent url(images/arrowdown.png) center center / 40px auto no-repeat;
    height: 40px;
	display: block;
	width: 40px;
}

.icon--arrow-downred {
    background: transparent url(images/arrowdownred.png) center center / 55px auto no-repeat;
    height: 55px;
	display: block;
	width: 55px;
}

.icon--environment:before {
    content: ""
}

.icon--pdf:before {
    content: ""
}

.icon--checkmark:before,
.list--checkmark li:before {
    content: ""
}

#cboxClose:before,
.icon--x:before {
    content: ""
}

html {
    box-sizing: border-box
}

*,
:after,
:before {
    outline: none;
    box-sizing: inherit;
    word-break: break-word
}

.embed-container {
    position: relative;
    padding-bottom: 56.25%;
    height: 0;
    overflow: hidden;
    width: 100%;
    height: auto
}

.embed-container.ratio4x3 {
    padding-bottom: 75%
}

.embed-container iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%
}

img {
    height: auto;
    width: auto;
    max-width: 100%;
    max-height: inherit
}

ol,
ul {
    padding: 0 0 0 20px;
    margin: 0 0 40px
}

.list--inline {
    padding: 0
}

.list--inline>li {
    list-style-type: none;
    padding-right: 10px
}

.list--checkmark li {
    list-style-type: none;
    position: relative
}

.list--checkmark li:before {
    display: inline-block;
    position: absolute;
    left: -1.2em;
    font-size: .8em;
    top: .5em
}

.list--small li {
    font-size: 17.5px
}

.list--supporter {
    padding: 0
}

.list--supporter li {
    border-right: 1px solid;
    list-style-type: none;
    padding: 0 10px;
    position: relative;
    text-align: center
}

.list--supporter li:last-child {
    border: none
}

.list--supporter li a {
    text-decoration: underline
}

body,
html {
    padding: 0;
    margin: 0
}

.wrapper {
    display: inline-block;
    text-align: left;
    text-align-last: left;
    max-width: 940px;
    padding: 0 20px
}

img.logobanner {
	margin: 30px auto 30px;
	max-width: 70%;
	width: 500px;
}

@media only screen and (max-width:640px) {
    .wrapper {
        width: 100%
    }
}

@media only screen and (min-width:641px) and (max-width:980px) {
    .wrapper {
        width: 100%
    }
}

@media only screen and (min-width:981px) and (max-width:1199px) {
    .wrapper {
        width: 83.3333333333%
    }
}

@media only screen and (min-width:1200px) {
    .wrapper {
        width: 83.3333333333%
    }
}

button,
input[type=reset],
input[type=submit] {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    outline: none;
    border: none;
    cursor: pointer;
    font-size: 20px;
    font-family: inherit;
    text-align: center
}

.btn {
    border-radius: 5px;
    display: inline-block;
    font-size: 26px;
    padding: 9px 13px 16px;
    text-align: center;
    line-height: 1.5
}

.btn #cboxClose,
.btn #cboxNext,
.btn #cboxPrevious,
.btn .icon,
.btn .list--checkmark li,
.list--checkmark .btn li {
    font-size: 10px;
    vertical-align: middle
}

.burger-menu {
    position: relative;
    width: 30px;
    height: 35px;
    cursor: pointer;
    margin: 6px 0 0 16px
}

.burger {
    position: absolute;
    width: 100%;
    top: 50%;
    right: 0;
    margin-top: -5px;
    opacity: 1
}

.burger,
.burger:after,
.burger:before {
    width: 100%;
    height: 3px
}

.burger:before {
    top: 8px
}

.burger:after,
.burger:before {
    position: absolute;
    content: "";
    display: block
}

.burger:after {
    bottom: 8px
}

.burger,
.burger:after,
.burger:before {
    transition: all .3s ease-in-out;
    -webkit-transition: all .3s ease-in-out
}

.burger-menu.menu-on .burger:after {
    transform: rotate(-45deg);
    -webkit-transform: rotate(-45deg);
    bottom: 0
}

.burger-menu.menu-on .burger:before {
    transform: rotate(45deg);
    -webkit-transform: rotate(45deg);
    top: 0
}

input[type=email],
input[type=password],
input[type=search],
input[type=tel],
input[type=text] {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    border-radius: 5px;
    padding: 14px;
    margin: 0 0 13px
}

textarea {
    padding: 20px;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    min-height: 250px;
    resize: vertical
}

.label {
    font-size: 20px
}

:required+.label:after {
    content: "*";
    display: inline-block;
    margin: 0 0 0 .25em
}

.label2border {
    position: relative
}

.label2border label {
    position: absolute;
    transition: inherit;
    left: 20px;
    z-index: -1
}

.label2border.pd-0\|0\|0\|10 .label {
    left: 30px
}

.label2border input:focus+label,
.label2border input[value=""]:focus+label,
.label2border textarea:focus+label,
.label2border textarea[value=""]:focus+label {
    top: 0;
    font-size: .65em;
    margin: -.25em 0
}

.label2border input[value=""]+label,
.label2border textarea[value=""]+label {
    top: 50%;
    font-size: 1em;
    margin: -.85em 0;
    padding: 0
}

.price {
    font-weight: bolder;
    line-height: 1;
    margin: 0 0 -21px
}

.price__sum {
    font-size: 60px
}

.slogan {
    line-height: 3em
}

.slogan>* {
    display: inline-block;
    padding: 10px;
    position: relative;
    width: auto;
    line-height: 1.2em
}

.slogan>:after,
.slogan>:before {
    content: "";
    display: inline-block;
    position: absolute;
    width: 10px;
    height: 100%
}

.slogan>:before {
    left: 0;
    margin: 0 0 0 -5px
}

.slogan>:after,
.slogan>:before {
    bottom: 0;
    top: 0;
    transform: rotate(5deg)
}

.slogan>:after {
    right: 0;
    margin: 0 -5px 0 0
}

.accordion__trigger {
    margin: 10px 0 35px
}

.accordion__trigger #cboxClose,
.accordion__trigger #cboxNext,
.accordion__trigger #cboxPrevious,
.accordion__trigger .icon,
.accordion__trigger .list--checkmark li,
.list--checkmark .accordion__trigger li {
    float: right;
    font-size: 28px;
    margin: .5em 0;
    line-height: 0;
    vertical-align: middle
}

.accordion__content {
    display: none
}

.accordion__section {
    border-bottom: 2px solid;
    padding-bottom: 45px;
    margin-bottom: 5px
}

.accordion__section:last-child {
    border-bottom: none;
    margin-bottom: 0;
    padding-bottom: 0
}

@media only screen and (min-width:981px) and (max-width:1199px) {
    .accordion__section:nth-last-child(-n+2) {
        border: none
    }
}

@media only screen and (min-width:1200px) {
    .accordion__section:nth-last-child(-n+2) {
        border: none
    }
}

.co-sponsor {
    height: 70px;
    margin: 20px 0;
    padding-bottom: 30px;
    vertical-align: middle;
    border-bottom: 1px solid
}

.co-sponsor--big {
    height: 100px
}

@media only screen and (min-width:1200px) {
    .co-sponsor--big {
        height: 90px;
        margin-top: 0!important
    }
}

@media only screen and (min-width:981px) and (max-width:1199px) {
    .co-sponsor--big {
        height: 90px;
        margin-top: 0!important
    }
}

.co-sponsor hr {
    border: 1px solid;
    height: 1px
}

.co-sponsor:nth-child(odd) {
    text-align: right;
    padding-right: 20px
}

.co-sponsor:nth-child(2n+2) {
    text-align: right;
    padding-left: 20px
}

.co-sponsor>svg {
    max-height: 100%
}

.co-sponsor .cls-1--white,
.co-sponsor svg {
    fill: rgba(0, 0, 0, .6)
}

.co-sponsor.bw-100>* {
    filter: grayscale(100%)
}

.co-sponsor.op-\.85 {
    opacity: .85
}

.main-sponsor {
    display: block;
    margin: 0 auto;
    width: 85%
}

.svg--white .cls-1 {
    color: #fff
}

.svg--none-transp .cls-1 {
    opacity: 1
}

.distance__container {
    border-radius: 10px;
    margin: 53px auto 0;
    padding: 30px 0
}

.distance__label {
    font-size: 18px
}

.distance__digit {
    margin: 12px 0 0;
    font-size: 32px;
    line-height: 1em
}

.distance__digit.distance--big {
    font-size: 50px;
    line-height: 50px;
    margin-bottom: 0
}

.distance__height {
    font-size: 18px;
    margin: -8px 0 10px
}

form p {
    margin: 0 0 24px
}

.page__header {
    border-bottom: 1px solid;
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    z-index: 1020;
    padding: 5px 0 11px
}

.page__header .logo {
    width: 460px;
    max-width: 59%;
    
}

.wrapper {
	position: relative;
}

.sponsoren {
	position: absolute;
	top: 56px;
	right: 0px;
}

.sponsorenimg {
	padding: 0 5px 0 0;
}

.page__nav {
    overflow: auto;
    padding-bottom: 10px;
    padding-top: 135px;
    position: fixed;
    top: 0;
    right: -100%;
    width: 100%;
    z-index: 1010
}

.page__nav.page__nav--in {
    right: 0
}

.page__nav ul {
    list-style-type: none;
    margin: 0 0 31px;
    padding: 0;
    width: 100%
}

@media only screen and (min-width:981px) and (max-width:1199px) {
    .page__nav ul {
        font-size: 0;
        margin: 0;
        width: 66.6666666667%
    }
}

@media only screen and (min-width:1200px) {
    .page__nav ul {
        display: inline-block;
        font-size: 0;
        margin: 0;
        width: 66.6666666667%
    }
}

.page__nav .gallery__item,
.page__nav .grid-item,
.page__nav li {
    vertical-align: middle
}

.page__nav li {
    border-bottom: 0px solid
}

@media only screen and (min-width:1200px) {
    .page__nav li {
        border: none;
        display: inline-block;
        font-size: 20px;
        width: 50%;
        text-align: left;
        height: 50px
    }
}

@media only screen and (min-width:981px) and (max-width:1199px) {
    .page__nav li {
        border: none;
        display: inline-block;
        font-size: 20px;
        width: 50%;
        text-align: left;
        height: 50px
    }
}

.page__nav li a {
    padding: 10px 0 19px;
    width: calc(100% - 25px)
}

@media only screen and (min-width:981px) and (max-width:1199px) {
    .page__nav li a {
        width: auto
    }
}

@media only screen and (min-width:1200px) {
    .page__nav li a {
        width: auto
    }
}

.list--checkmark .page__nav li,
.page__nav #cboxClose,
.page__nav #cboxNext,
.page__nav #cboxPrevious,
.page__nav .icon,
.page__nav .list--checkmark li {
    font-size: 25px
}

@media only screen and (min-width:981px) and (max-width:1199px) {
    .list--checkmark .page__nav li,
    .page__nav #cboxClose,
    .page__nav #cboxNext,
    .page__nav #cboxPrevious,
    .page__nav .icon,
    .page__nav .list--checkmark li {
        font-size: 1em
    }
}

@media only screen and (min-width:1200px) {
    .list--checkmark .page__nav li,
    .page__nav #cboxClose,
    .page__nav #cboxNext,
    .page__nav #cboxPrevious,
    .page__nav .icon,
    .page__nav .list--checkmark li {
        font-size: 1em
    }
}

.page__nav .btn {
    font-size: 18px
}

.list--checkmark .page__nav .btn li,
.page__nav .btn #cboxClose,
.page__nav .btn #cboxNext,
.page__nav .btn #cboxPrevious,
.page__nav .btn .icon,
.page__nav .btn .list--checkmark li {
    margin-left: .25em;
    font-size: .75em;
    vertical-align: middle
}

.page__nav .btn-case {
    width: 100%;
    text-align: center
}

@media only screen and (min-width:981px) and (max-width:1199px) {
    .page__nav .btn-case {
        display: inline-block;
        width: 33.3333333333%
    }
}

@media only screen and (min-width:1200px) {
    .page__nav .btn-case {
        display: inline-block;
        width: 33.3333333333%
    }
}

.section {
    background-position: top;
    background-size: cover;
    padding: 25px 25px 75px;
    position: relative
}

.section--first {
    margin-top: 333px;
}

.section--gallery {
    margin-top: 65px
}

.section .btn {
    margin: 16px 0 0
}

.section--primary {
    font-size: 27px
}

.section--mih-72vh {
    min-height: 72vh
}

.section--pdl-0 {
    padding-left: 0
}

.section--pdr-0 {
    padding-right: 0
}

.section--green-dark {
    border-bottom: 2px solid
}

.section.pdb-5\!.js-section__accordion--open {
    padding-bottom: 75px
}

.shadow-box {
    display: none;
    position: fixed;
    max-height: calc(100vh - 80px);
    max-width: 303px;
    top: 80px;
    left: 50%;
    margin-left: -151.5px;
    z-index: 1021
}

.shadow-box__overlay {
    display: none;
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 1020
}

.shadow-box__close {
    border-radius: 50%;
    position: absolute;
    top: -26px;
    right: -22.4px;
    height: 56px;
    width: 56px
}

.shadow-box__close:after,
.shadow-box__close:before {
    content: "";
    display: inline-block;
    height: 3px;
    position: absolute;
    top: 28px;
    left: 10.5px;
    width: 35px
}

.shadow-box__close:after {
    transform: rotate(45deg)
}

.shadow-box__close:before {
    transform: rotate(-45deg)
}

.shadow-box__frame {
    border-radius: 8px;
    padding: 28px 21px 37px
}

.shadow-box__img {
    text-align: center
}

.shadow-box__headline {
    font-size: 35px;
    font-weight: 400;
    line-height: 1.2em;
    margin: 4px 0 -5px
}

.shadow-box__text {
    font-size: 18px;
    margin: 0
}

.stage .slide {
    background-size: cover;
    background-position: 50%;
    display: -ms-flexbox;
    display: flex;
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    width: 100%;
    -ms-flex-pack: center;
    justify-content: center;
    -ms-flex-direction: column;
    flex-direction: column;
    text-align: center;
    text-align-last: center
}

.stage .slide__content {
    -ms-flex-item-align: center;
    -ms-grid-row-align: center;
    align-self: center;
    text-align: center;
    width: 100%
}

.stage__content--bottom {
    position: absolute;
    bottom: 4.5%;
    left: 0;
}

table {
    border-collapse: collapse;
    width: 100%
}

th {
    padding: 5px 0
}

td,
th {
    font-size: 14px
}

td {
    border-bottom: 2px solid;
    padding: 10px 0
}

.teaser-gallery {
    padding: 180px 0 70px
}

.teaser-gallery__headline {
    font-size: 50px
}

.teaser-img {
    background-position: top;
    background-repeat: no-repeat;
    background-size: cover;
    border-radius: 6px;
    margin: 30px 0 0;
    overflow: hidden
}

.teaser-img.w-100p {
    padding: 27.7% 0 29.5%
}

.teaser-img.w-6\/12>div {
    background-position: inherit;
    border-radius: inherit;
    padding: 22% 0 26%
}

.insta__item {
    position: relative
}

.insta__item a {
    background-size: cover;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0
}

.gallery__list {
    list-style-type: none;
    padding: 0
}

.gallery__item {
    padding: 30px 30px 0;
    position: relative;
    width: 25%;
    transition: all .2s ease
}

.gallery__item:hover {
    transform: scale(1.2)
}

.gallery__item:nth-child(4n+1) {
    padding-left: 0;
    padding-right: 22.5px
}

.gallery__item:nth-child(4n+2) {
    padding-left: 7.5px;
    padding-right: 15px
}

.gallery__item:nth-child(4n+3) {
    padding-right: 7.5px;
    padding-left: 15px
}

.gallery__item:nth-child(4n+4) {
    padding-right: 0;
    padding-left: 22.5px
}

.gallery__item-inner {
    background-color: #fdfdfd;
    border-radius: 6px;
    display: block;
    padding-bottom: 100%;
    position: relative;
    overflow: hidden
}

.gallery__link {
    background-repeat: no-repeat;
    background-size: contain;
    bottom: 0;
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    opacity: 0;
    transition: all .2s ease
}

.gallery__link.b-loaded {
    opacity: 1
}

#cboxClose,
#cboxNext,
#cboxPrevious {
    color: #fff!important;
    background: #d70073!important;
    border-radius: 50%;
    bottom: 0;
    height: 40px!important;
    text-indent: 0!important;
    width: 40px!important
}

#cboxClose:before,
#cboxNext:before,
#cboxPrevious:before {
    display: block;
    font-family: inherit;
    font-size: 16px;
    height: 40px!important;
    position: relative;
    top: 0;
    left: 0;
    line-height: 40px!important;
    right: 0;
    text-align: center;
    width: 40px!important
}

#cboxNext {
    left: 45px!important
}

#cboxOverlay {
    background: rgba(0, 0, 0, .75)!important;
    opacity: 1!important
}

#cboxLoadedContent {
    margin-bottom: 45px!important
}

.animation__scroll--down {
    transition: .5s;
    animation: a 2s ease-in-out infinite
}

@keyframes a {
    0% {
        transform: translateY(0)
    }
    50% {
        transform: translateY(25px)
    }
    to {
        transform: translateY(0)
    }
}

.dp-n {
    display: none
}

@media only screen and (max-width:640px) {
    .dp-n-m {
        display: none
    }
}

@media only screen and (min-width:641px) and (max-width:980px) {
    .dp-n-t {
        display: none
    }
}

.dp-ib {
    display: inline-block
}

@media only screen and (min-width:981px) and (max-width:1199px) {
    .dp-ib-d {
        display: inline-block
    }
}

@media only screen and (min-width:1200px) {
    .dp-ib-hd {
        display: inline-block
    }
}

.dp-b {
    display: block
}

.lh-0 {
    line-height: 0
}

.mg-0 {
    margin: 0
}

.mgb-0 {
    margin-bottom: 0
}

.mgb-0\! {
    margin-bottom: 0!important
}

.mgb-5\! {
    margin-bottom: 5px!important
}

@media only screen and (min-width:981px) and (max-width:1199px) {
    .mgb-5\!-d {
        margin-bottom: 5px!important
    }
}

@media only screen and (min-width:1200px) {
    .mgb-5\!-hd {
        margin-bottom: 5px!important
    }
}

.mgb-10 {
    margin-bottom: 10px!important
}

.mgb-15\! {
    margin-bottom: 15px!important
}

.mgb-20 {
    margin-bottom: 20px
}

.mgb-30 {
    margin-bottom: 30px
}

.mgb-30\! {
    margin-bottom: 30px!important
}

.mgt-0 {
    margin-top: 0
}

.mgt-0\! {
    margin-top: 0!important
}

.mgt-5\! {
    margin-top: 5px!important
}

.mgt-15\! {
    margin-top: 15px!important
}

.mgt-20 {
    margin-top: 20px
}

.mgt-20\! {
    margin-top: 20px!important
}

.mgt-30\! {
    margin-top: 30px!important
}

.mgt-40\! {
    margin-top: 40px!important
}

.mgt-50\! {
    margin-top: 50px!important
}

.mgt-\-10p {
    margin-top: -10%!important
}

@media only screen and (max-width:640px) {
    .of-h-m {
        overflow: hidden
    }
}

.pd-0 {
    padding: 0
}

@media only screen and (max-width:640px) {
    .pd-0-m {
        padding: 0
    }
}

@media only screen and (max-width:640px) {
    .pdr-0-m {
        padding-right: 0
    }
}

@media only screen and (max-width:640px) {
    .pdr-0\!-m {
        padding-right: 0!important
    }
    
    .page-header {
	    height: 116px;
    }
    
    .sponsoren {
	    padding: 0 20px;
	    box-sizing: border-box;
    }
    
    .section--first {
	    margin-top: 186px;
    }
    
    .date--highlight {
	    font-size: 22px !important;
    }
    
    #startbanner {
	    margin: 20px auto 0 !important;
	    padding: 10px 30px !important;
	    width: 160px !important;
    }
    
    #startbanner h1 {
	    margin: 0 !important;
	    font-size: 22px !important;
    }
    
    h1 {
	    font-size: 26px !important;
    }
    
    p {
	    font-size: 14px !important;
    }
    
    .sponsorenimg {
	    max-width: 23vw;
    }
   
	.page__nav li a {
    	padding: 2px 0 2px;
	}
	.page__nav ul {
		margin: 0 0 16px;
	}
}

.pdr-10 {
    padding-right: 10px
}

.pdr-15 {
    padding-right: 15px
}

@media only screen and (max-width:365px) {
    .sponsorenimg {
	    max-width: 21vw;
    }	
}

@media only screen and (min-width:981px) and (max-width:1199px) {
    .pdr-2\/12-d {
        padding-right: 16.6666666667%
    }
}

@media only screen and (min-width:1200px) {
    .pdr-2\/12-hd {
        padding-right: 16.6666666667%
    }
}

.pdb-4\/12 {
    padding-bottom: 33.3333333333%
}

.pdb-5\! {
    padding-bottom: 5px
}

@media only screen and (min-width:981px) and (max-width:1199px) {
    .pdb-29\.5p-d {
        padding-bottom: 29.5%
    }
}

@media only screen and (min-width:1200px) {
    .pdb-29\.5p-hd {
        padding-bottom: 29.5%
    }
}

.pdb-100p {
    padding-bottom: 100%
}

@media only screen and (max-width:640px) {
    .pdl-0-m {
        padding-left: 0
    }
}

@media only screen and (max-width:640px) {
    .pdl-0\!-m {
        padding-left: 0!important
    }
}

.pdl-10 {
    padding-left: 10px
}

.pdl-15 {
    padding-left: 15px
}

@media only screen and (min-width:981px) and (max-width:1199px) {
    .pdl-2\/12-d {
        padding-left: 16.6666666667%
    }
}

@media only screen and (min-width:1200px) {
    .pdl-2\/12-hd {
        padding-left: 16.6666666667%
    }
}

.btn,
.page__nav,
.trs-\.25s,
input[type=email],
input[type=password],
input[type=search],
input[type=tel],
input[type=text] {
    transition: all .25s ease
}

.trs-\.5s {
    transition: all 1.25s ease
}

.ta-l {
    text-align: left
}

.ta-c {
    text-align: center
}

.ta-r,
tr td:last-child,
tr th:last-child {
    text-align: right
}

.ta-j {
    text-align: justify
}

.ta-l {
    text-align-last: left
}

.ta-c {
    text-align-last: center
}

.ta-r,
tr td:last-child,
tr th:last-child {
    text-align-last: right
}

.ta-j {
    text-align-last: justify
}

.va-t {
    vertical-align: top
}

@media only screen and (min-width:981px) and (max-width:1199px) {
    .va-t-d {
        vertical-align: top
    }
}

@media only screen and (min-width:1200px) {
    .va-t-hd {
        vertical-align: top
    }
}

.va-m {
    vertical-align: middle
}

@media screen and (max-width: 750px) {
        .stage > .slide:first-child {
            	background-color: #33ADB8;
        }
    }
    @media screen and (min-width: 751px) {
        .stage > .slide:first-child {
            	background-color: #33ADB8;
        }
    }

