/* montserrat-600 - latin */
@font-face {
    font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
    font-family: 'Montserrat';
    font-style: normal;
    font-weight: 600;
    src: url('../Fonts/montserrat-v31-latin-600.woff2') format('woff2'), /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
    url('../Fonts/montserrat-v31-latin-600.ttf') format('truetype'); /* Chrome 4+, Firefox 3.5+, IE 9+, Safari 3.1+, iOS 4.2+, Android Browser 2.2+ */
}
/* montserrat-700italic - latin */
@font-face {
    font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
    font-family: 'Montserrat';
    font-style: italic;
    font-weight: 700;
    src: url('../Fonts/montserrat-v31-latin-700italic.woff2') format('woff2'), /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
    url('../Fonts/montserrat-v31-latin-700italic.ttf') format('truetype'); /* Chrome 4+, Firefox 3.5+, IE 9+, Safari 3.1+, iOS 4.2+, Android Browser 2.2+ */
}
/* montserrat-800italic - latin */
@font-face {
    font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
    font-family: 'Montserrat';
    font-style: italic;
    font-weight: 800;
    src: url('../Fonts/montserrat-v31-latin-800italic.woff2') format('woff2'), /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
    url('../Fonts/montserrat-v31-latin-800italic.ttf') format('truetype'); /* Chrome 4+, Firefox 3.5+, IE 9+, Safari 3.1+, iOS 4.2+, Android Browser 2.2+ */
}

html, body {
    height: 100%;

    background-repeat:repeat-x;
    margin: 0;
    padding: 0;
    font-family: 'Montserrat', sans-serif;
    font-weight:600;

    color:var(--color-5);
    font-size:20px;
    letter-spacing: var(--letter-spacing-50)
}
html{scroll-behavior:smooth}


table, tr, td, th {
    font-family: 'Geomanist', sans-serif;
    font-size:20px;
}

.text-right,
.align-right {
    text-align:right;

}
.text-center,
.align-center {
    text-align:center;
}
.clear { clear:both; }

b, strong {font-style: italic}

:root {
    --color-1:#00463C;
    --color-2:#008C55;
    --color-3:#D2D700;

    --color-4:#0F675A;

    --color-5:#000;

    --letter-spacing-50: calc((50 / 1000) * 1em);
    --letter-spacing-80: calc((80 / 1000) * 1em);

    --header-color: var(--color-2);
    --subheader-color: var(--color-1);

}


* { box-sizing:border-box;    -webkit-font-smoothing: antialiased;   -moz-osx-font-smoothing: grayscale; }

.team .c33,
img,
svg,
.frame-40 *,
.btn,
.eventdate *,
ul,
.top .main > ul > li.nav > button,
.top, .top .main, .nav,
.teaser img, input, .nbar, .st0, .st1,
a, li {
    -webkit-transition: all 400ms ease;
  -moz-transition: all 400ms ease;
  -o-transition: all 400ms ease;
  transition: all 400ms ease;
  }
img {
  border:0px;
}


.all {
  width:100%;
  min-width:100%;
  padding-left:40px;
  padding-right:40px;
}
.all.content {  scroll-margin-top: 0px; } /* sticky navi offset */

.main {
  max-width:1600px;
  margin: 0px auto;
  padding:0px;
  position:relative;
  text-align: left;
}
.main:after { content:''; display:table; clear:both; }


.cStage {display: flex;margin:0 -80px;flex-wrap: wrap;}
.cStage > div{padding:0 80px;}

.cStage.l-20 {margin:0 -10px;}
.cStage.l-20 > div{padding:0 10px;}

.cStage.l-21 {margin:0; padding:0 10%;}
.cStage.l-21 > div{padding:0 10px;}

.cStage.f-10 {align-items: center}
.cStage.f-11 {align-items: flex-end}

.c33 { -ms-flex: 0 0 33.3333%;flex: 0 0 33.3333%; max-width: 33.3333%; }
.c66 { -ms-flex: 0 0 66.6666%;flex: 0 0 66.6666%; max-width: 66.6666%; }
.c16 { -ms-flex: 0 0 16.6666%;flex: 0 0 16.6666%; max-width: 16.6666%; }
.c30 { -ms-flex: 0 0 30%;flex: 0 0 30%; max-width: 30%; }
.c70 { -ms-flex: 0 0 70%;flex: 0 0 70%; max-width: 70%; }
.c40 { -ms-flex: 0 0 40%;flex: 0 0 40%; max-width: 40%; }
.c20 { -ms-flex: 0 0 20%;flex: 0 0 20%; max-width: 20%;}
.c50 { -ms-flex: 0 0 50%;flex: 0 0 50%; max-width: 50%;}
.c25 { -ms-flex: 0 0 25%;flex: 0 0 25%; max-width: 25%; }
.c75 { -ms-flex: 0 0 75%;flex: 0 0 75%; max-width: 75%; }
.c30 { -ms-flex: 0 0 30%;flex: 0 0 30%; max-width: 30%;}
.c35 { -ms-flex: 0 0 35%;flex: 0 0 35%; max-width: 35%; }
.c60 { -ms-flex: 0 0 60%;flex: 0 0 60%; max-width: 60%; }
.c80 { -ms-flex: 0 0 80%;flex: 0 0 80%; max-width: 80%; }
.c20 { -ms-flex: 0 0 20%;flex: 0 0 20%; max-width: 20%; }


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

a + p,
.main * > *:first-child {margin-top:0px;}
.main * > *:last-child {margin-bottom:0px;}


a {color:inherit; text-decoration: none}

iframe {display: block;}

h1,h2 {font-size:48px; font-style: italic; font-weight:700; margin:0 0 20px 0; text-transform: uppercase; color:var(--header-color)}
h1 span, h2 span {color:var(--subheader-color);}
h3 {font-size:36px; font-weight: 700; font-style: italic; text-transform: uppercase}

.subheader {margin:0;font-size:28px; font-weight: 700; text-transform: uppercase}
.header .c50 h1 {font-size:70px;}
.header .box h1 {font-size:50px;}

.header .sponsor {
    position: absolute; background:var(--color-4); left:50%; width: 50%; padding:30px 80px; color:#fff; bottom:0;
    color:var(--color-3); font-size:40px; font-style: italic;
}
.header .sponsor img + img,
.header .sponsor a + a {margin-left:40px;}
.header .sponsor strong {display: block; text-transform: uppercase}
.header .sponsor a,
.header .sponsor img {display: inline-block; vertical-align: baseline;; }

a + p,
.main div > *:first-child {margin-top:0px;}

.top {margin-bottom:-40px; position: absolute;z-index: 1;}

.top .main {padding:20px 0 0 0; display: flex; max-width: 95%; justify-content: space-between; font-style: italic; font-weight:700}

.top .main > a {
    display: inline-block;
    background: #fff;
    padding: 70px 90px;
    border-bottom-left-radius: 240px;
    border-bottom-right-radius: 240px;
    margin-top:-50px;
}

.top .main:after {display: none}
.top .main > ul {margin:0;padding:0;list-style-type: none; letter-spacing: var(--letter-spacing-80)}
.top .main > ul > li {display: inline-block; vertical-align: top; position:relative; }
.top .main > ul > li + li {margin-left:10px;}
.top .main > ul > li.nav > a {padding:15px 90px 15px 80px; display: block; background:var(--color-3); text-transform: uppercase;}
.top .main > ul > li.nav > button {border:0;padding:0;color:inherit;background:none; top:53%; transform:translate(0,-50%); position: absolute; right:60px;}
.top .main > ul > li.nav:hover > button {transform:translate(0,-50%) rotate(-180deg); top:47%}
.top .main > ul > li.nav:hover > button svg path[fill] {fill:#fff;}
.top .main > ul > li.nav:hover > a {background:var(--color-2); color:#fff;}

.top .main > ul > li.nav.p2 {}
.top .main > ul > li.nav.p2 > a {padding:20px 90px 20px 80px; }


.top .visually-hidden {visibility: hidden; display: none}

.top .main > ul > li > ul {position:absolute;background:var(--color-3); margin:0;padding:0; z-index: 2; list-style-type: none; width: 100%; }
.top .main > ul > li > ul > li > a {display: block; padding:5px 10px 5px 25px;}
.top .main > ul > li > ul > li:first-child {padding-top:20px;}
.top .main > ul > li > ul > li:last-child {padding-bottom:20px;}
.top .main > ul > li > ul > li > a svg {display: inline-block;; vertical-align: middle; margin-left:5px; }
.top .main > ul > li > ul > li > a:hover svg {margin-left:15px}

.top .main > ul > li.nav + li.lang {margin-left:50px;}
.top .main > ul > li.lang.active a {color:var(--color-3);}



.top .main > ul > li.mnav {display: none; visibility: hidden;transform:scale(.6); vertical-align: middle}


#menu_open { padding:20px 15px 15px 15px; display: block; cursor: pointer; z-index: 1}
#menu_open span {width: 60px;height:40px; display: block; margin-bottom:0px;}
#menu_open span div {position: relative;top: 0;height: 4px;background-color:#fff;margin-bottom: 10px;transition: 0.4s ease transform, 0.4s ease background, 0.4s ease top, 0.4s ease width, 0.4s ease right;}
#menu_open span div:first-child {transform-origin: 0;}
#menu_open span div:last-child {margin-bottom: 0;transform-origin: 60px;}
#menu_open span div:nth-child(2) {right: 0px; width: 60px;}
.showNav #menu_open span div:first-child {top: -6px;left:10px;transform: rotateZ(45deg);}
.showNav #menu_open span div:last-child {top: 10px;right:6px;transform: rotateZ(45deg);}
.showNav #menu_open span div:nth-child(2) {width: 60px;top: 2px;right: 0px;transform: rotateZ(-45deg);}


nav.mobileNav {position: fixed; width:calc(100% - 100px); max-width: 390px;background:var(--color-2); color:#fff; height:100%;left:0; top:0; visibility: hidden; transform:translate(-150%,0); z-index: 99;}
body.showNav > nav.mobileNav {transform: translate(0,0); visibility: visible}

nav.mobileNav {padding:30px}
nav.mobileNav ul {margin:0; padding:0; list-style-type: none}
nav.mobileNav > ul > li > a {display: inline-block; position: relative; font-size:20px; font-weight:600; padding:8px 0;  }
nav.mobileNav > ul > li > a.showSub {padding:5px;}
nav.mobileNav > ul > li > ul {visibility: hidden; margin:0; padding: 0; list-style-type: none; overflow: hidden; max-height: 0; }
.showNav nav.mobileNav > ul > li.showSub > a svg {transform:rotate(90deg);}
.showNav nav.mobileNav > ul > li.showSub > ul {max-height: 500px; visibility: visible;}
nav.mobileNav > ul > li > ul > li > a {font-size:16px;position: relative; font-weight:600; padding:5px 0 5px 15px; display: inline-block}
nav.mobileNav > ul > li > ul > li > a svg {transform:rotate(-90deg); vertical-align: middle; display: inline-block; margin-right: 5px}
nav.mobileNav > ul > li > ul > li:last-child {padding-bottom:10px;}

nav.mobileNav > ul > li > a svg {display: inline-block; vertical-align: middle}

nav.mobileNav > ul > li > ul > li:hover > a,
nav.mobileNav > ul > li:hover > a {color:var(--hl-color)}
nav.mobileNav > ul > li > a:first-child {width: calc(100% - 35px); vertical-align: middle}

@media(max-height: 900px) {
    nav.mobileNav {overflow: scroll}
}



.all.header {background:var(--color-1);  position: relative; z-index: 0;overflow: hidden;}
.all.header:before {content:''; display: block; position: absolute; right: 30%; top:45%; width: 3600px; height: 1900px; background:url(../Images/bg-header.svg); background-position: 60% center; background-repeat: no-repeat; }
.header > picture > img {width: 100%; position: absolute; height: 100%; object-fit: cover;}

.header .main {padding:400px 0 400px 15%; color:#fff;}

.header h1 {font-size:65px; margin-bottom:50px; font-style: italic; line-height: 1.2em; color:var(--color-3);}
.header h1 span {font-size:85px; font-weight: 800; color:#fff;}

.header p {line-height: 1.5em;}
.header .datecounter {display: inline-block; height: 75px; vertical-align: top;  padding:15px 30px; font-style: italic; font-size:32px; font-weight:700; text-transform: uppercase; color:var(--color-5); background:#fff;}
.header .datecounter strong {display: inline-block; font-size:46px; vertical-align: bottom; line-height: 1em }
.header .datecounter + .btn { height: 75px;}

.eventdate {position: fixed; z-index: 99; text-align: right; font-weight:700; right:0; top:400px; text-transform: uppercase;  }
.eventdate span {display: block; padding:20px; text-align: left; background:var(--color-4); color:#fff; font-weight:700; font-size:46px; font-style: italic}
.eventdate span strong { display: block; color:var(--color-3); line-height: 1em;}
.eventdate span + span {background:var(--color-3); padding:10px 20px; display: inline-block;  padding:25px 30px;  }
.eventdate:hover span + span {background:var(--color-2);}
.eventdate:hover span + span svg path[fill] {fill:var(--color-3);}

.header .sponsors {background:#fff; margin-bottom:-120px; padding:60px 40px 60px 40px;    position: relative;}
.header .sponsors .logos {display: flex;}
.header .sponsors .logos div {display: flex; padding:0 20px; align-items: center; justify-content: center}
.header .sponsors .headline {color:var(--color-5); transform:translate(0,-50%);}

.header .box {color:var(--color-5);}
.header .box .btn { position: absolute; right:0; bottom:0; transform:translate(0,50%);}

.btn {background:var(--color-3);color:var(--color-5); font-size:inherit; border:0; font-family: inherit; cursor:pointer; margin-bottom:10px; text-transform: uppercase;  padding:25px 30px; font-style: italic;  font-weight:700; display: inline-block; vertical-align: top;}
.btn:hover {background:var(--color-2);}
.content a[data-mailto-token]:before,
.btn:after {content:''; width: 25px; height:22px; display: inline-block; vertical-align: middle; margin-left:20px; background-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="22" height="25"><g fill="none" stroke-linecap="round" stroke-linejoin="round" data-name="Polygon 2"><path d="M20.47 11.631a1 1 0 0 1 0 1.739L1.494 24.151A1 1 0 0 1 0 23.282V1.718A1 1 0 0 1 1.494.849Z"/><path fill="%23000" d="M15.927 12.5 3 5.155v14.69L15.927 12.5m5.049 0a.99.99 0 0 1-.506.87L1.494 24.15A1 1 0 0 1 0 23.281V1.719a1 1 0 0 1 1.494-.87L20.47 11.632a.99.99 0 0 1 .506.869Z"/></g></svg>');background-repeat: no-repeat no-repeat;background-position: center center;}

.btn + .btn {margin-left:10px;}

@media(max-width: 600px) {
    /*.btn {display: block; width: auto;}*/
    .btn + .btn {margin-left:0px;}

}

.content a[data-mailto-token]:before {margin-left:0; margin-right: 10px}

nav + main .content:first-child {padding-top:300px;}

main .all.l-0 {background:#fff;}
.l-10 {background: linear-gradient(90deg,#fff 50%, var(--color-2) 50%); border-bottom:100px solid var(--color-2)}
.l-11 {background: linear-gradient(90deg,#fff 50%, var(--color-1) 50%); border-top:100px solid var(--color-1)}
.l-12 {background:var(--color-2); color:#fff; --header-color: var(--color-3); --subheader-color: #fff;}
.l-13 {background:var(--color-1); color:#fff; --header-color: var(--color-3); --subheader-color: #fff}

.l-13 .teaser .btn {background:#fff;}
.l-13 .teaser .btn:hover {background:var(--color-3);}
.l-12 .btn:hover {background:#fff;}

.l-10:after {content:''; width: 300px; height: 300px; background:url(../Images/bg-round.svg) center center no-repeat; position: absolute;  background-size:100% auto;  left: 50%;bottom: 0;transform: translate(-45%, 70%);z-index: 1;;}
.l-11:after {content:''; width: 250px; height: 250px; background:url(../Images/bg-round.svg) center center no-repeat; position: absolute;  background-size:100% auto;  left: 50%;top: 0;transform: translate(-40%, -70%);;z-index: 1;;}

.l-12:before {content:''; position: absolute; right:50%; transform: translate(calc((0% - 1700px) / 4), 0); top:40px; width: 920px; height: 2600px; background:url(../Images/bg-l12.svg) center center no-repeat}
.l-13:before {content:''; position: absolute; left:50%;  top:20%; width: 1700px; height: 1700px; background:url(../Images/bg-l13.svg) center center no-repeat}

.l-10 .c50 + .c50,
.l-11 .c50 + .c50 {color:#fff;--header-color: var(--color-3); --subheader-color: #fff;}

footer,
main {overflow: hidden}

.content {position: relative; }

.content .main {padding:140px 0;}
.content.dist .main {padding:0}

.content p,
.content li {line-height: 1.7em;}

.content .frame + .frame {margin-top:40px}

.content a[data-mailto-token] {display:inline-block; padding:0 0 1px 0; border-bottom:6px solid var(--color-3);}
.content a[data-mailto-token]:hover {border-color:var(--color-2);}

.price .icon,
.info .icon,
.button-icon .icon {width: 110px; padding:10px; height: 110px; background:#fff;display: flex; align-items: center; justify-content: center}
.button-icon a {display: flex;    align-items: flex-start;}
.button-icon .btn:after {display: none}
.button-icon .btn {padding:35px;}


.teaser {position: relative; border:4px solid var(--color-2); padding:40px 20px 130px 20px; height: 100%; text-align: center}
.teaser .btn {transform:translate(-50%,0); position: absolute; bottom:40px; left:50%; white-space: nowrap  }

.route {text-align: center;}
.route p {margin:0}
.route p + p:before {content:'|'; margin:5px 0; display: block; text-align: center}
.route svg {margin:20px 0;}

.info {background: var(--color-1); padding:50px;}

.info {text-align: center;}
.price .icon,
.info .icon {margin:0 auto 20px auto;}
.info h3 {font-size:240%; margin:0; text-transform: uppercase; color:var(--color-3)}

.frame.price {background:var(--color-3);height: 100%; padding:0 20px 80px 20px; position: relative}
.frame.price .price {color:var(--color-5); margin:10px 0;background:var(--color-4); font-size:140%; display: inline-block; padding:10px 40px; font-weight:700; border-radius: 40px;}
.frame.price .price.big {font-size:200%; background:#fff;}
.frame.price h3 {text-transform: uppercase; margin-bottom:40px; text-align: center}
.frame.price .btn {
    position: absolute; right:0; bottom:0; transform:translate(0,50%);}

.l-10 .frame.price {background:var(--color-1); color:#fff;}




.frame-40 {position: relative;  max-width: 100%;  }
.frame-40 .text{max-height:0px; background: rgba(255, 255, 255, 0.4); color:var(--color-5);  visibility: hidden; overflow: hidden; padding:0 80px 0 30px;}
.frame-40.show .text {max-height:2000px;padding-bottom:20px; visibility: visible; }
.frame-40 h3 {margin:0}
.frame-40 header {padding:25px 120px 24px 30px; background: rgba(255, 255, 255, 0.4);  color:var(--color-5);  cursor:pointer;   position: relative;}
/*
.frame-40.show header { }
.frame-40.show svg .dot {transform:translate(7.359 7.267) rotate(180deg)}

 */
.frame-40 header .openAkkordeon {position: absolute; display: flex; width: 93px; height: 93px; background:var(--color-3); align-items: center;justify-content: center;  top:0; right:0px; }
.frame-40 .wrap {padding-top:30px; }
.frame-40 + .frame-40 {margin-top:10px;}

.frame-40 header .openAkkordeon svg {transform:rotate(90deg)}
.frame-40.show header .openAkkordeon svg {transform:rotate(-90deg)}

.content .frame-40 + .frame-40 {margin-top:10px;}



.all.dist {padding:150px 0;position: relative; overflow: hidden;}
.all.dist > img {position: absolute; left:0; top:0; width: 100%; height: 100%; object-fit: cover;}
.header .box,
.all.dist .box.frame-layout-0 {background:#fff}
.header .box,
.all.dist .box {width:50%; display: block; position: relative; padding:60px; }

.all.dist .box .icon {position: absolute;}


.all.dist.f-default .box {margin:0 0 300px auto; padding-left:100px }
.all.dist.f-30 .box {margin:0 0 300px 0; padding-right:100px;}
.all.dist.f-31 .box {margin:300px 0 0 auto; padding-top:100px;}
.all.dist.f-32 .box {margin:300px 0 0 0; padding-right:100px;}

.all.dist.f-default .icon {left:0; top:50%; transform:translate(-50%,-50%);}
.all.dist.f-31 .icon {right:50%; top:0; transform:translate(50%,-50%);}
.all.dist.f-30 .icon,
.all.dist.f-32 .icon {right:0; top:50%; transform:translate(50%,-50%);}

.all.dist + .all.dist {margin-top:75px;}



.logoslider .item {display: flex; margin:0 20px 20px 0; background:#fff; width: 280px; height:180px; padding:20px; align-items: center; justify-content: center}
.logoslider .stage {display: flex; flex-wrap: wrap; margin-right:-20px;}

.content .slick-prev,
.content .slick-next {width: 80px; height: 80px;}
.content .slick-prev {transform:translate(-100%,-50%);}
.content .slick-next {transform:translate(100%,-50%);}
.content .slick-prev .slick-prev-icon:before  {content:''; display: block; width: 80px; height:80px; background:url(../Images/prev.svg) center center no-repeat;}
.content .slick-next .slick-next-icon:before {content:''; display: block; width: 80px; height:80px; background:url(../Images/next.svg) center center no-repeat;}




.frame.imageslider1 {position: relative;}

.frame.imageslider1 .slick-dots li {margin:0 10px;}
.frame.imageslider1 .slick-dots li button .slick-dot-icon:before {color:transparent; width:20px; height:20px; border-radius: 50%; background:#fff; }
.frame.imageslider1 .slick-dots li.slick-active button .slick-dot-icon:before {
    margin:0
}
.frame.imageslider1 .slick-dots {bottom:-40px;}


.all.content.imageslider3 {padding-left:0; padding-right:0; padding:0 !important;}
.content.imageslider3 .slick-prev,
.content.imageslider3 .slick-next {transform:translate(0,-50%);
    z-index: 1;}

.content.imageslider3 .slick-prev {left:0;}
.content.imageslider3 .slick-next {right:0;}
.content.imageslider3 img {display: block !important;}
.content.imageslider3 .slick-slider {margin:0}

.ce-right .ce-gallery[data-ce-columns="1"] figure,
.ce-right .ce-gallery[data-ce-columns="1"] div {width: 100%; text-align:right;}
.ce-right .ce-gallery[data-ce-columns="1"] img {display: inline-block}


#map {border:10px solid var(--color-2);}

.track-info {padding:0;list-style-type: none; display: flex; flex-wrap: wrap}
.track-info img {display: inline-block; margin-right:20px;  vertical-align: middle;}
.track-info li {display: flex; width: 50%; line-height:1.1em; align-items: center; margin-bottom:20px !important; padding-right:20px;}
.track-info li span:first-child {width: 90px;}
.track-info li span:last-child {flex: 1}

footer .frame-type-menu_pages ul {padding:0;list-style-type: none;}
footer .frame-type-menu_pages ul li a {text-transform:uppercase; color:var(--color-1); font-size:120%; font-weight:700; display: block; padding:3px 0;}
footer .frame-type-menu_pages ul li:hover a {color:var(--color-2);}

footer .social {background:#6EBE96}
footer .content.social .main {padding:30px 0; text-align: left;}
footer .content.social ul {margin:0;padding:0; text-align: left; list-style-type: none;}
footer .content.social ul li {display: inline-block; vertical-align: middle; }
footer .content.social ul li + li {margin-left:30px;}

footer .social .text-right ul {text-align: right; font-weight: 700; font-style: italic}

.ce-gallery[data-ce-columns="3"] .ce-column {
    width:calc(33.3333% - 15px)
}
.ce-gallery[data-ce-columns="2"] .ce-column {
    width:calc(50% - 15px)
}



.c-socialwall .c-socialwall {width:calc(100% + 40px);margin:0 -20px;}
.c-socialwall__item {width:33.33333%; float:left;padding:20px;position: relative;overflow:hidden;}
.c-socialwall__item a {position: relative;overflow:hidden;display: block; color:#000; border:1px solid #fff;}
.c-socialwall__item a img {display: block;}
.c-socialwall__item p {position: absolute; opacity:0; left:20px;bottom:20px;right:20px; line-height:18px; background:rgba(255,255,255,.9); padding:20px; font-size:13px;}
.c-socialwall__item:hover img {transform: scale(1.1);}
.c-socialwall__item:hover p {opacity: 1}
.c-socialwall__item picture {overflow:hidden}

@media (max-width:800px) {
    .c-socialwall__item {width:50%;}
    .c-socialwall__item p {display: none}
}



@media(max-width: 1400px) {
    .header .main {padding-left:0; padding-right: 100px}

    .header h1 {font-size: 45px}
    .header h1 span {font-size:65px}


    h1,h2 {font-size:38px}
    h3 {font-size:30px;}

    .header .sponsor {left:0; width: 100%}

    .top .main > a {    padding: 50px 70px;}
    .top .main > a > img {width: 180px}


    .top .main>ul>li.nav>a {
        padding: 15px 50px 15px 40px;
    }
    .top .main>ul>li.nav.p2>a {

        padding: 20px 50px 20px 40px;
    }
    .top .main>ul>li.nav>button {right:20px;}

    html,body {font-size:18px}

    .frame-40 header .openAkkordeon {height: 85.5px; width: 85.5px}


        .c25Stage .c25 { -ms-flex: 0 0 50%;flex: 0 0 50%; max-width: 50%; }
        .cStage.c25Stage .c25:nth-child(3),
        .cStage.c25Stage .c25:nth-child(4) {margin-top:30px}

    .header .datecounter {font-size:25px; height: 73px}
    .header .datecounter strong {font-size:38px}

    .top .main {max-width: 100%;}
}

@media(max-width: 1200px) {
    .subheader {font-size:22px;}
    .info h3 {font-size:180%;}

    .cStage.l-21 {
        margin: 0 -10px;
        padding: 0;
    }

    .eventdate {position: absolute}

    .top .main > ul > li.mnav {display: inline-block; visibility: visible;}
    .top .main > ul > li.nav {display: none !important; visibility: hidden}

}


@media (max-width: 1100px) {
	.projects .c25 {width:33.3333%;}
    .ce-textpic.ce-intext .ce-gallery {max-width:50%;}
}

/* Only Phones */
@media (max-width: 900px) {

    .c33,
    .c66,
    .c16,
    .c30,
    .c70,
    .c40,
    .c20,
    .c50,
    .c80,
    .c25,
    .c75,
    .c30,
    .c35,
    .c60 { -ms-flex: 0 0 100%;flex: 0 0 100%; max-width: 100%; }

    .cStage > div + div {margin-top:30px;}
    .cStage.l-99 {flex-direction: column-reverse}

	span.big {
		font-size: 30px;
		line-height: 40px;
	}



    .cStage.c25Stage > div.c25 + div.c25 {margin-top:0px;}
    .cStage.c25Stage .c25:nth-child(3),
    .cStage.c25Stage .c25:nth-child(4) {margin-top:30px !important}

    .l-10 {background:var(--color-2); border-bottom:0;color:#fff; --header-color: var(--color-3); --subheader-color: #fff;}
    .l-11 {background:var(--color-1); border-top:0;color:#fff; --header-color: var(--color-3); --subheader-color: #fff;}

    .l-11:after,
    .l-10:after {width: 140px;height: 140px}

    .l-11 + .l-13 .main,
    .l-10 + .l-12 .main,
    .l-12 + .l-10 .main {padding-top:0;}

    * {hyphens: auto; -webkit-hyphens: auto}

    .all {padding-left:20px; padding-right: 20px}

    .header h1 {font-size: 35px}
    .header h1 span {font-size:45px}


    h1,h2 {font-size:32px}
    h3 {font-size:25px;}

    .header .main {
        padding: 400px 100px 200px 0;
        color: #fff;
    }
/*
    .top ul,
    .top li.nav {display: none; visibility: hidden}
*/

    nav + main .content:first-child {
        padding-top: 150px;
    }
}


@media (max-width: 700px) {

    html,body {font-size:16px}

    .frame-40 header .openAkkordeon {
        height: 79.5px;
        width: 79.5px;
    }
    .frame-40 header {padding-left:20px}

    .frame-40 .text {padding:0 20px}

    .content .ce-left .ce-gallery,
    .content .ce-right .ce-gallery {
        float: none;
    }
    .content .ce-intext.ce-right .ce-gallery {
        margin-left: 0px;
    }
    .content .ce-intext.ce-left .ce-gallery {
        margin-right: 0px;
    }
    .ce-textpic.ce-intext .ce-gallery {max-width:100%;}

	.c30, .c35 {width:100%; padding-bottom:20px;}

    .c25Stage .c25 { -ms-flex: 0 0 100%;flex: 0 0 100%; max-width: 100%; }
    .cStage.c25Stage > div.c25 + div.c25,
    .cStage.c25Stage .c25:nth-child(2),
    .cStage.c25Stage .c25:nth-child(3),
    .cStage.c25Stage .c25:nth-child(4) {margin-top:30px}

    .header .main {padding-right:0}

    .track-info li {width: 100%}


    .header .main {
        padding: 300px 0 120px 0;
    }

    .header .sponsor {left:-20px; width: calc(100% + 40px); padding:30px 20px;}
    .header .sponsor a,
    .header .sponsor * {display: block; text-align: center; }
    .header .sponsor * + * {margin-top:10px;}
    .header .sponsor img + img, .header .sponsor a + a {margin-left:0;}

    .eventdate {position: relative; background:var(--color-1); top:unset; width: 100%; }
    .eventdate span + span {display: none}
    .eventdate span {background:var(--color-1);}
    .header .sponsor {position: relative; display: none}
    .eventdate span {font-size:50px; text-align: center}
}

@media(max-width:600px) {
    .l-10:after {display: none}
}



/* Formulare */


.frame-type-form_formframework p { font-size:90%; }

input[type="checkbox"] { margin-right:15px; }
.control-label { display:none; }
.form-group input[type="text"],
.form-group textarea,
.csc-form-element-textline input {
  font-family:inherit;
  font-size:inherit;
  color: var(--color-1);
  background:#fff;
  width:100%;
  border:1px solid var(--color-1);
  padding:8px 15px;

  margin-bottom:6px;
}
.form-group input[type="text"]:focus,
.form-group textarea:focus {
  background:#222e59;
}


form .row {display: flex; flex-wrap: wrap; margin:0 -10px;}
form .row .col-1 { --cols: calc( 100% / 12 * 1); }
form .row .col-2 { --cols: calc( 100% / 12 * 2); }
form .row .col-3 { --cols: calc( 100% / 12 * 3); }
form .row .col-4 { --cols: calc( 100% / 12 * 4); }
form .row .col-5 { --cols: calc( 100% / 12 * 5); }
form .row .col-6 { --cols: calc( 100% / 12 * 6); }
form .row .col-7 { --cols: calc( 100% / 12 * 7); }
form .row .col-8 { --cols: calc( 100% / 12 * 8); }
form .row .col-9 { --cols: calc( 100% / 12 * 9); }
form .row .col-10 { --cols: calc( 100% / 12 * 10); }
form .row .col-11 { --cols: calc( 100% / 12 * 11); }
form .row .col-12 { --cols: calc( 100% / 12 * 12); }
form .row > div {-ms-flex: 0 0 var(--cols);flex: 0 0 var(--cols); max-width: var(--cols); padding:0 10px;}

@media (max-width: 1000px) {
    form .row > div {-ms-flex: 0 0 100%;flex: 0 0 100%; max-width: 100%; padding:0 10px;}
}



/* The container */
.form-check-label {
  display: block;
  position: relative;
  padding-left: 35px;
  margin-bottom: 12px;
  cursor: pointer;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}

/* Hide the browser's default checkbox */
.form-check-label input {
  position: absolute;
  opacity: 0;
  cursor: pointer;
  height: 0;
  width: 0;
}

/* Create a custom checkbox */
.form-check-label span {
  position: absolute;
  top: 0;
  left: 0;
  height: 25px;
  width: 25px;
  background-color: transparent;
  border:2px solid  var(--color-1);
}
.form-check-label span.required { position:relative;width:auto; height:auto; border:0px; }

/* On mouse-over, add a grey background color */
.form-check-label:hover input ~ span {
  background-color:  var(--color-1);
}



    /* When the checkbox is checked, add a blue background */
.form-check-label input:checked ~ span {
  background-color:  var(--color-1);
}



/* Create the checkmark/indicator (hidden when not checked) */
span:after {
  content: "";
  position: absolute;
  display: none;
}

/* Show the checkmark when checked */
.form-check-label input:checked ~ span:after {
  display: block;
}

/* Style the checkmark/indicator */
.form-check-label span:after {
  left: 6px;
  top: 3px;
  width: 5px;
  height: 10px;
  border: solid white;
  border-width: 0 3px 3px 0;
  -webkit-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  transform: rotate(45deg);
}




.l-13 .form-check-label span { border-color:#fff; }
.l-13 .form-check-label:hover input ~ span {
    background-color:  #fff
}
.l-13 .form-check-label input:checked ~ span {
    background-color:  #fff;
}
.l-13 .form-check-label span:after { border-color:var(--color-1);}