body,form,figure{margin:0;padding:0}img{border:0}header,footer,nav,section,aside,article,figure,figcaption{display:block}body{font-size:100.01%}select,input,textarea{font-size:99%}#container,.inside{position:relative}#main,#left,#right{float:left;position:relative}#main{width:100%}#left{margin-left:-100%}#right{margin-right:-100%}#footer{clear:both}#main .inside{min-height:1px}.ce_gallery>ul,.content-gallery>ul{margin:0;padding:0;overflow:hidden;list-style:none}.ce_gallery>ul li,.content-gallery>ul li{float:left}.ce_gallery>ul li.col_first,.content-gallery>ul li.col_first{clear:left}.float_left,.media--left>figure{float:left}.float_right,.media--right>figure{float:right}.block{overflow:hidden}.clear,#clear{height:.1px;font-size:.1px;line-height:.1px;clear:both}.invisible{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.custom{display:block}#container:after,.custom:after{content:"";display:table;clear:both}
@media (max-width:767px){#wrapper{margin:0;width:auto}#container{padding-left:0;padding-right:0}#main,#left,#right{float:none;width:auto}#left{right:0;margin-left:0}#right{margin-right:0}}img{max-width:100%;height:auto}.audio_container audio{max-width:100%}.video_container video{max-width:100%;height:auto}.aspect,.responsive{position:relative;height:0}.aspect iframe,.responsive iframe{position:absolute;top:0;left:0;width:100%;height:100%}.aspect--16\:9,.responsive.ratio-169{padding-bottom:56.25%}.aspect--16\:10,.responsive.ratio-1610{padding-bottom:62.5%}.aspect--21\:9,.responsive.ratio-219{padding-bottom:42.8571%}.aspect--4\:3,.responsive.ratio-43{padding-bottom:75%}.aspect--3\:2,.responsive.ratio-32{padding-bottom:66.6666%}
header,footer,nav,section,aside,main,article,figure,figcaption{display:block}body,div,h1,h2,h3,h4,h5,h6,p,blockquote,pre,code,ol,ul,li,dl,dt,dd,figure,table,th,td,form,fieldset,legend,input,textarea{margin:0;padding:0}table{border-spacing:0;border-collapse:collapse}caption,th,td{text-align:left;text-align:start;vertical-align:top}abbr,acronym{font-variant:normal;border-bottom:1px dotted #666;cursor:help}blockquote,q{quotes:none}fieldset,img,iframe{border:0}ul{list-style-type:none}sup{vertical-align:text-top}sub{vertical-align:text-bottom}del{text-decoration:line-through}ins{text-decoration:none}body{font:12px/1 "Lucida Grande","Lucida Sans Unicode",Verdana,sans-serif;color:#000}input,button,textarea,select{font-family:inherit;font-size:99%;font-weight:inherit}pre,code{font-family:Monaco,monospace}h1,h2,h3,h4,h5,h6{font-size:100%;font-weight:400}h1{font-size:1.8333em}h2{font-size:1.6667em}h3{font-size:1.5em}h4{font-size:1.3333em}table{font-size:inherit}caption,th{font-weight:700}a{color:#00f}h1,h2,h3,h4,h5,h6{margin-top:1em}h1,h2,h3,h4,h5,h6,p,pre,blockquote,table,ol,ul,form{margin-bottom:12px}
/* Roboto Condensed*/

@font-face {
    font-family: 'Roboto Condensed';
    src: url('../../files/events-2025/fonts/RobotoCondensed/robotocondensed-regular-webfont.woff2') format('woff2'), 
        url('../../files/events-2025/fonts/RobotoCondensed/robotocondensed-regular-webfont.woff') format('woff');
    font-weight: normal;
    font-style: normal;
}

@font-face {
    font-family: 'Roboto Condensed';
    src: url('../../files/events-2025/fonts/RobotoCondensed/robotocondensed-bold-webfont.woff2') format('woff2'), 
        url('../../files/events-2025/fonts/RobotoCondensed/robotocondensed-bold-webfont.woff') format('woff');
    font-weight: bold;
    font-style: normal;
}

@font-face {
    font-family: 'Roboto Condensed';
    src: url('../../files/events-2025/fonts/RobotoCondensed/robotocondensed-bolditalic-webfont.woff2') format('woff2'), 
        url('../../files/events-2025/fonts/RobotoCondensed/robotocondensed-bolditalic-webfont.woff') format('woff');
    font-weight: bold;
    font-style: italic;
}

@font-face {
    font-family: 'Roboto Condensed';
    src: url('../../files/events-2025/fonts/RobotoCondensed/robotocondensed-italic-webfont.woff2') format('woff2'), 
        url('../../files/events-2025/fonts/RobotoCondensed/robotocondensed-italic-webfont.woff') format('woff');
    font-weight: normal;
    font-style: italic;
}

@font-face {
    font-family: 'Roboto Condensed';
    src: url('../../files/events-2025/fonts/RobotoCondensed/robotocondensed-light-webfont.woff2') format('woff2'), 
        url('../../files/events-2025/fonts/RobotoCondensed/robotocondensed-light-webfont.woff') format('woff');
    font-weight: 300;
    font-style: normal;
}

@font-face {
    font-family: 'Roboto Condensed';
    src: url('../../files/events-2025/fonts/RobotoCondensed/robotocondensed-lightitalic-webfont.woff2') format('woff2'), 
        url('../../files/events-2025/fonts/RobotoCondensed/robotocondensed-lightitalic-webfont.woff') format('woff');
    font-weight: 300;
    font-style: italic;
}

@charset "UTF-8";
/*
 * Allgemein
 */
body,
p,
td {
  font-family: "Roboto Condensed", Verdana, sans-serif;
  font-weight: 300;
  font-size: 16px;
  letter-spacing: 0.01em;
  color: #444;
}
html {
  scroll-behavior: smooth;
}
* {
  box-sizing: border-box;
}
h1 {
  color: #b1b2b3;
  font-size: 90px;
  font-weight: bold;
  margin-top: 0;
}
h2 {
  color: #0050aa;
  font-size: 70px;
  font-weight: 600;
  line-height: 1.1;
  text-align: center;
  margin-top: 0;
}
h3 {
  color: #0050aa;
  font-size: 36px;
  font-weight: 300;
  text-transform: uppercase;
  margin-top: 0;
  margin-bottom: 40px;
}
h4 {
  color: #b1b2b3;
  font-size: 30px;
  font-weight: 300;
  text-transform: uppercase;
  margin-top: 0;
  margin-bottom: 35px;
}
h5 {
  color: #0050aa;
  font-size: 24px;
  font-weight: bold;
  margin-top: 0;
  margin-bottom: 30px;
}
p {
  font-size: 20px;
  line-height: 1.3;
}
a {
  color: #0050aa;
  text-decoration: none;
}
a,
input,
button,
select,
textarea {
  outline: none;
}
.top-100 {
  margin-top: 100px;
}
.text-button a {
  display: inline-block;
  color: #fff;
  font-size: 16px;
  font-weight: 500;
  text-transform: uppercase;
  padding: 15px 70px;
  border: 1px solid #fff;
  border-radius: 30px;
  background: #87b919;
  cursor: pointer;
  transition: 0.3s;
}
.text-button a:hover {
  color: #87b919;
  background: #fff;
}
/*
 * Main
 */
#container:after {
  position: absolute;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vw;
  background: linear-gradient(transparent, #fff), linear-gradient(15deg, transparent 93%, #87b919 0), linear-gradient(-40deg, #f4f4f4 54%, #fff 0);
  z-index: -1;
}
.header {
  display: flex;
  justify-content: space-between;
  padding: 50px;
}
.header img {
  width: 130px;
  margin: 0 15px;
}
.header .text-button {
  padding: 30px 30px 0 0;
}
.without-bg #container:after {
  display: none;
}
.without-bg .header .text-button {
  display: none;
}
.welcome {
  margin-bottom: 120px;
}
.welcome p {
  color: #b1b2b3;
  font-size: 24px;
}
.event {
  padding: 0 30px;
  overflow: visible;
}
.event .inside {
  position: relative;
  width: 100%;
  max-width: 1080px;
  margin: 0 auto;
  border: 1px solid #0050aa;
  border-radius: 20px;
  padding: 60px;
  background: #fff;
}
.event .inside .logos {
  text-align: center;
  padding: 0 100px;
  margin-bottom: 50px;
}
.event .inside .logos figure {
  height: 120px;
}
.event .inside .logos img {
  width: 100%;
  max-width: 220px;
  height: 100%;
  object-fit: contain;
}
.event .inside .logos .paper figure {
  padding: 15px;
}
.event .inside .infos {
  padding-top: 30px;
  margin: 0;
  border-top: 1px solid #0050aa;
}
.event .inside .infos .ce_text:not(:first-child) {
  border-left: 1px solid #0050aa;
}
.event .inside .infos .ce_text h3 {
  color: #0050aa;
  font-size: 40px;
  font-weight: bold;
  margin: 0 0 10px 0;
}
.event .inside .infos .ce_text p {
  color: #0050aa;
  margin: 0;
}
.event .inside .infos .date {
  max-width: 33%;
  text-align: right;
  padding-right: 40px;
}
.event .inside .infos .date p {
  font-size: 26px;
}
.event .inside .infos .address {
  padding: 0 30px;
}
.event .inside .infos .format {
  padding-left: 30px;
}
.event .inside.free::after,
.event .inside.reserved::after {
  content: 'Freie Plätze';
  position: absolute;
  left: 50%;
  bottom: 0;
  transform: translate(-50%, 50%);
  background: #0050aa;
  border-radius: 10px;
  padding: 12px 70px;
  color: #fff;
  font-size: 20px;
  font-weight: bold;
  text-transform: uppercase;
}
.event .inside.reserved::after {
  content: 'Leider ausgebucht*';
  background: #fff;
  color: #dc0032;
  border: 2px solid #dc0032;
  padding: 8px 25px;
}
.details {
  max-width: 1000px;
  margin: 60px auto;
  text-align: center;
}
.details .arrow-down {
  width: 45px;
  margin: 0 auto 100px auto;
}
.details .arrow-down a {
  display: block;
  padding: 10px;
}
.details h2 {
  font-size: 52px;
  padding: 0 30px;
  margin-bottom: 80px;
}
.details a {
  font-size: 24px;
  text-decoration: underline;
  display: inline-block;
  margin-bottom: 20px;
}
.details .ce_swiperStart {
  margin: 120px 0;
}
.details .swiper-button-prev,
.details .swiper-container-rtl .swiper-button-next {
  left: 40px;
}
.details .swiper-button-next,
.details .swiper-container-rtl .swiper-button-prev {
  right: 40px;
}
@media only screen and (max-width: 991px) {
  #container .text-button {
    top: 50px;
    right: 30px;
  }
  .header {
    position: relative;
    padding: 30px;
    margin-bottom: 50px;
  }
  .event .inside {
    padding: 30px;
  }
  .event .inside .logos {
    padding: 0;
  }
  .event .inside .infos {
    justify-content: center;
  }
  .event .inside .infos .date,
  .event .inside .infos .address,
  .event .inside .infos .format {
    position: relative;
    max-width: 50%;
  }
  .event .inside .infos .date,
  .event .inside .infos .address {
    overflow: visible;
    margin-bottom: 40px;
  }
  .event .inside .infos .date::after,
  .event .inside .infos .address::after {
    content: '';
    position: absolute;
    left: 0;
    right: 0;
    bottom: -20px;
    border-bottom: 1px solid #0050aa;
  }
  .event .inside .infos .format {
    border-left: none !important;
  }
  .details {
    padding: 0 30px;
  }
}
@media only screen and (max-width: 767px) {
  h1 {
    font-size: 60px;
  }
  h2 {
    font-size: 50px;
  }
  h3,
  h4 {
    line-height: 1.3;
  }
  .top-100 {
    margin-top: 70px;
  }
  #container .text-button {
    display: none;
  }
  .header {
    padding: 30px 15px;
    margin-bottom: 30px;
  }
  .header img {
    width: 110px;
    margin: 0 10px;
  }
  .welcome {
    padding: 0 15px;
  }
  .event {
    padding: 0 15px;
  }
  .event .inside {
    padding: 30px 15px;
  }
  .event .inside .logos {
    flex-direction: column;
  }
  .event .inside .logos > * {
    max-width: 100%;
    margin-bottom: 30px;
  }
  .event .inside .infos .date,
  .event .inside .infos .address,
  .event .inside .infos .format {
    max-width: 100%;
    border-left: none !important;
    padding: 0 15px;
  }
  .event .inside .infos .date {
    text-align: left;
  }
  .details {
    padding: 0 15px;
  }
  .details h2 {
    font-size: 40px;
  }
  .details .ce_swiperStart {
    margin: 80px 0;
  }
  .details .flex-row.col2 > * {
    max-width: 100%;
  }
  .details .flex-row.col2 > *:first-child {
    margin-bottom: 50px;
  }
}
#reservation {
  margin-top: 150px;
  padding: 120px 0;
  background: linear-gradient(#f6f6f6, #B1d5ff);
}
#reservation .ce_form {
  max-width: 1000px;
  margin: 0 auto;
  padding: 0 30px;
}
#reservation .ce_form h2 {
  font-size: 52px;
  text-transform: uppercase;
  margin-bottom: 100px;
}
#reservation .ce_form fieldset.col2 {
  display: flex;
  margin: 0 -10px;
}
#reservation .ce_form fieldset.col2 .widget {
  width: calc(50% - 20px);
  margin: 0 10px 30px 10px;
}
#reservation .ce_form .widget {
  margin-bottom: 30px;
}
#reservation .ce_form input,
#reservation .ce_form select {
  width: 100%;
  padding: 15px 40px;
  background: none;
  border: 1px solid #0050aa;
  border-radius: 30px;
  color: #0050aa;
  font-size: 16px;
}
#reservation .ce_form ::placeholder,
#reservation .ce_form ::-webkit-input-placeholder,
#reservation .ce_form select {
  color: #0050aa;
  opacity: 1;
}
#reservation .ce_form select {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background: rgba(255, 255, 255, 0) url(../../files/events-2025/icons/arrow-down-blue.svg) no-repeat top 22px right 30px / 15px;
}
#reservation .ce_form input[type='checkbox'] {
  position: absolute;
  height: 0;
  opacity: 0;
}
#reservation .ce_form input[type='checkbox'] + label {
  display: inline-block;
  position: relative;
  left: 80px;
  color: #0050aa;
  font-size: 12px;
  line-height: 1.7;
  padding-right: 80px;
  cursor: pointer;
}
#reservation .ce_form input[type='checkbox'] + label span {
  display: inline-block;
  width: 80%;
}
#reservation .ce_form input[type='checkbox'] + label a {
  color: #0050aa;
  font-weight: bold;
}
#reservation .ce_form input[type='checkbox']:checked + label::before,
#reservation .ce_form input[type='checkbox']:not(:checked) + label::before {
  content: ' ';
  display: inline-block;
  width: 22px;
  height: 22px;
  background: none;
  margin-right: 13px;
  border-radius: 15px;
  border: 1px solid #0050aa;
  margin-left: -38px;
  position: relative;
  top: 6px;
}
#reservation .ce_form input[type='checkbox']:checked + label::after {
  position: absolute;
  content: ' ';
  left: -30px;
  top: 11px;
  width: 6px;
  height: 10px;
  border: solid #87b919;
  border-width: 0 3px 3px 0;
  -webkit-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  transform: rotate(45deg);
}
#reservation .ce_form option[disabled=""] {
  color: #ccc;
}
#reservation .ce_form .widget-submit {
  text-align: center;
  margin: 50px 0;
}
#reservation .ce_form .submit {
  color: #fff;
  font-size: 16px;
  font-weight: 500;
  padding: 15px 70px;
  border: 0;
  border-radius: 30px;
  background: #87b919;
  cursor: pointer;
  transition: 0.3s;
}
#reservation .ce_form .submit:hover {
  color: #87b919;
  background: #fff;
}
#reservation .ce_form .ajaxconfirm {
  width: 100%;
  max-width: 600px;
  margin: 200px auto;
  text-align: center;
}
#reservation .ce_form .ajaxconfirm h3 {
  font-size: 45px;
  font-weight: bold;
  margin-bottom: 50px;
}
#reservation .ce_form .ajaxconfirm p {
  font-size: 16px;
}
#reservation.reserved {
  display: none;
}
#refuse {
  margin-top: 100px;
  padding: 80px 30px;
  background: linear-gradient(#f6f6f6, #B1d5ff);
}
#refuse .inside .ce_text {
  width: 100%;
  max-width: 600px;
  margin: 0 auto;
  text-align: center;
}
#refuse .inside h5 {
  color: #dc0032;
}
#refuse.free {
  display: none;
}
#answer {
  padding: 200px 30px;
  background: linear-gradient(#f6f6f6, #B1d5ff);
}
#answer .ce_text {
  width: 100%;
  max-width: 600px;
  margin: 0 auto;
  text-align: center;
}
#answer .ce_text h3 {
  font-size: 45px;
  font-weight: bold;
  margin-bottom: 50px;
}
#answer .ce_text p {
  font-size: 16px;
}
.impressum {
  max-width: 1200px;
  margin: 50px auto 100px auto;
}
.impressum h1 {
  font-size: 50px;
}
.impressum h2 {
  font-size: 30px;
  text-transform: uppercase;
  text-align: left;
  margin: 60px 0 30px 0;
}
@media only screen and (max-width: 767px) {
  #reservation .ce_form {
    max-width: 1000px;
    margin: 0 auto;
    padding: 0 15px;
  }
  #reservation .ce_form h2 {
    font-size: 40px;
    margin-bottom: 70px;
  }
  #reservation .ce_form fieldset.col2 {
    flex-direction: column;
  }
  #reservation .ce_form fieldset.col2 .widget {
    width: calc(100% - 20px);
    margin: 0 0px 30px 10px;
  }
  #reservation .ce_form input[type="checkbox"] + label {
    left: 60px;
  }
  #refuse {
    margin-top: 70px;
    padding: 60px 15px;
  }
  #answer {
    padding: 100px 15px;
  }
  #answer .ce_text h3 {
    font-size: 32px;
  }
}
/*
 * Spalten
 */
.flex-row {
  display: flex;
  flex-wrap: wrap;
  margin: 0;
}
.flex-row.col2 > * {
  flex: auto;
  max-width: calc(50% - 60px);
  margin: 0 30px;
}
.flex-row.col3 > * {
  flex: auto;
  max-width: 33.33%;
  margin: 0;
}
/*
 * Footer
 */
#footer {
  height: 175px;
  font-size: 14px;
  background: linear-gradient(20deg, #dc0032 11%, #f4f4f4 0);
}
#footer .inside {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  max-width: 1200px;
  height: 100%;
  padding: 0 30px;
  margin: 0 auto;
}
#footer .mod_customnav {
  width: 400px;
  max-width: 100%;
}
#footer .mod_customnav ul.level_1 {
  display: flex;
  flex-wrap: wrap;
  margin: 0;
}
#footer .mod_customnav li {
  color: #b1b2b3;
  font-weight: normal;
  line-height: 1.3;
  padding: 0 5px;
}
#footer .mod_customnav a {
  color: #b1b2b3;
  text-decoration: none;
}
#footer .mod_customnav a:hover {
  color: #0050aa;
}
#footer .copyright {
  color: #b1b2b3;
}
@media only screen and (max-width: 767px) {
  #footer .inside {
    padding: 0 15px;
  }
  #footer .mod_customnav li {
    line-height: 3;
  }
  #footer .copyright {
    margin-left: auto;
  }
}

