* {
    margin: 0;
    padding: 0;
    border: 0;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
}

/* allura-regular - 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: 'Allura';
  font-style: normal;
  font-weight: 400;
  src: url('fonts/allura-v21-latin-regular.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/* poppins-300 - 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: 'Poppins';
  font-style: normal;
  font-weight: 300;
  src: url('fonts/poppins-v20-latin-300.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/* poppins-regular - 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: 'Poppins';
  font-style: normal;
  font-weight: 400;
  src: url('fonts/poppins-v20-latin-regular.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/* tenor-sans-regular - 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: 'Tenor Sans';
  font-style: normal;
  font-weight: 400;
  src: url('fonts/tenor-sans-v19-latin-regular.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}



html,
body {
  overflow-x: hidden;
  font-family: 'Tenor Sans';
  color: #4E4E4E;
  font-size: 16px;
  line-height: 1.5em;
}

body {
  display: flex;
  flex-direction: column;
  min-height:100vh;
  height: 100%;
  align-content: stretch; 
}

#container {
  flex: 1;
  justify-content: center;
  display: flex;
  width: 100%;
}

main {
  width: 100%;
}

.invisible {
  width: 0;
  height: 0;
  visibility: hidden;
  font-size: 0;
  display: flex;
}

h1, h2, h3, h4, h5, h6 {
  font-family: 'Allura';
  color: /*#FFB6C2*/ #333;
  margin: .5em 0;
}

h1 {
  font-size: clamp(2.5em, 4vw, 10em);
  line-height: 1.1;
}

h2 {
  font-size: clamp(2em, 2vw, 6em);
  line-height: 1.1;
}

h3 {
  font-size: clamp(1.5em, 2vw, 3em);
  line-height: 1.1;
}

header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 1em;
  padding: 1em 10%;
  background-image: url('img/background-aquarell.svg');
  background-repeat: no-repeat;
  background-color: white;
  box-shadow: 0 0 10px rgba(0,0,0,0.2);
  position: fixed;
  z-index: 100;
  width: 100%;
  flex-wrap: wrap;
}

header .logo {
  font-family: 'Allura';
  font-size: 2em;
}

header .logo a {
  text-decoration: none !important;
}

header nav ul {
  display: flex;
  gap: 30px;
  list-style-type: none;
}

header nav ul li strong, 
header nav ul li a {
  font-weight: 400;
  color: #333;
  text-decoration: none;
}

header nav ul li a:hover {
  color:#FFB6C2;
}

#hero {
  height: 100vh;
  overflow: hidden;
}

#hero .inside {
  display: flex;
  justify-content: center;
}

#hero img {
  width: 100vw;
  height: 100vh;
  object-fit: cover;
}

/*#hero img {
    width: 120%;
    height: 100%;
    object-fit: cover;
    object-position: top;
    border-radius: 0 0 40% 100%;
    position: relative;
    left: -10%;
}

#hero .content-image figure {
    height: 80vh;
}*/

/*Countdown*/
ul#list {
    display: flex;
    flex-wrap: wrap;
    gap: 1em;
    list-style-type: none;
    justify-content: center;
    text-align: center;
    margin: 5em 0;
    position: absolute;
    bottom: 0;
    background: rgba(255, 255, 255, 0.9);
    border-radius: 100px;
    padding: 2em 1em;
}

.days,
.hours,
.minutes,
.seconds {
  font-family: 'Allura';
  font-size: clamp(2em, 3vw, 3em);
}

ul#list li {
  font-size: clamp(.5em, 3vw, 1em);
}

main {
  padding: 5em 0;
  background: url('img/background-aquarell.svg') no-repeat;
}


.formular main {
  padding-top: 2em;
  padding-bottom: 0;
}

main .container,
footer .container {
  margin: 0 10%;
}

main .mod_article {
  margin: 5em 0;
}

.formular main .mod_article {
  margin-bottom: 0;
}

.formular main .mod_article.fullwidth {
  margin-top: 0;
  padding-bottom: 0;
}

p {
  font-size: clamp(1em, 2vw, 1.15em);
  line-height: 1.5;
  margin-bottom: 2em;
}

.content-text .rte ul {
  padding-left: 1em;
  margin-bottom: 4em;
  margin-top: -2em;
}


/*Locationteaser*/
.ce_rsce_locationteaser {
  margin: 2em 0;
}

.ce_rsce_locationteaser .teaser-container {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
  gap: 2em;
}

.ce_rsce_locationteaser ul {
  list-style-type:none;
}

.ce_rsce_locationteaser ul li:last-child {margin-top:1em;}

.ce_rsce_locationteaser .teaser-box {
}

.ce_rsce_locationteaser .teaser-box .c-right {
  padding: 1em 4em 1em 2em;
  background: #ebe8d6;
  border-radius: 1em;
  flex-grow: 1;
  margin-top: -3em;
  margin-left: 3em;
  position: relative;
}

.ce_rsce_locationteaser img {
  height: 300px;
  width: 250px;
  object-fit: cover;
  display: flex;
  border-radius: 1em;
}

/*Accordion*/
.content-accordion {
  margin: 5em 0;
  border-bottom: 0;
}

.content-accordion .handorgel__header {
  position: relative;
}

.content-accordion .handorgel__header {
  font-size: 18px !important;
}

.content-accordion .handorgel__header button {
  display: flex;
  align-items: center;
  padding-right: 50px;
}

.content-accordion .handorgel__header button:after {
  content: '\002B';
  position: absolute;
  right: 1em;
}

.content-accordion .handorgel__header.handorgel__header--open button:after {
  content: "\2212";
  transition: 2s;
}

.content-accordion button {
  background: #e4eada;
  border-radius: 1em;
  margin-top: .5em;
}

.content-accordion .handorgel__content {
  border-top: 0;
  background-color: transparent;
}

/*Formular*/

.ce_form {

}

.ce_form .formbody {
  display: flex;
  flex-direction: column;
  gap: 1em;
}

.ce_form fieldset {
  display: flex;
  gap: 1em;
  flex-direction: column;
}

.ce_form .radio_container legend {
  margin-bottom: 10px;
}

.ce_form .widget {
  display: flex;
  flex-direction: column;
}

.ce_form .widget-radio {
  justify-content: center;
  grid-column: span 2;
}

.ce_form fieldset,
.ce_form .widget-submit {
  grid-column: span 2;
}

.ce_form input,
.ce_form textarea {
  padding: 1em 1em;
  border-radius: 5px;
}

.fullwidth {
  background-color: #e4eada;
  padding: 5em 0;
}

button {
  padding: 1em 2em;
  border-radius: 5em;
  background: #9daa9a;
  margin: 1em 0;
  cursor: pointer;
  color: white;
  width: fit-content;
}

button:hover {
  background-color: #6d806e;
}

.duplication-buttons {
  display: flex; 
  gap: 1em;
  align-items: last baseline;
}

.duplication-button {
  margin: 0 0 !important;
}
/**/
.ce_rsce_hintergrundbild {
  position: relative;
}

.ce_rsce_hintergrundbild .bg-container {
  padding: 5em 0;
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
}

.ce_rsce_hintergrundbild::before {
  background: rgba(0,0,0,0.25);
  content: '';
  height: 100%;
  width: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
}

.ce_rsce_hintergrundbild .bg-container > * {
  position: relative;
  z-index: 2;
}

.ce_rsce_hintergrundbild .container {
  background: rgba(255, 255, 255, 0.7);
  padding: 2em;
  border-radius: 1em;
}


/*Timeline*/
.timeline {position:relative;margin:3em auto;}
.timeline::after {content: '';position: absolute;width: 6px;background: rgb(255,255,255);background: linear-gradient(0deg, rgba(255,255,255,1) 0%, rgba(238,238,238,1) 5%, rgba(238,238,238,1) 95%, rgba(255,255,255,1) 100%);top: 0;bottom: 0;left: 50%;margin-left: -3px;}
.timeline-container {padding: 10px 40px;position: relative;background-color: inherit;width: 50%;}
.timeline-container::after {content: '';position: absolute;width: 25px;height: 25px;right: -13px;background-color: #FFB6C2;border: 4px solid var(--highlight);top: 15px;border-radius: 50%;z-index: 1;}
.timeline-container {left:0;}
.timeline-container:nth-of-type(2n) {left:50%;}
.timeline-container::before {content: " ";height: 0;position: absolute;top: 22px;width: 0;z-index: 1;right: 30px;border: medium solid #e4eada;border-width: 10px 0 10px 10px;border-color: transparent transparent transparent #e4eada;}
.timeline-container:nth-of-type(2n)::before {content: " ";height: 0;position: absolute;top: 22px;width: 0;z-index: 1;left: 30px;border: medium solid #e4eada;border-width: 10px 10px 10px 0;border-color: transparent #e4eada transparent transparent;}
.timeline-container:nth-of-type(2n)::after {left:-12px;}
.timeline-content {padding: 20px 30px;background-color: #e4eada;position: relative;border-radius: 6px;}
.timeline h2 {margin-top:0;margin-bottom:.5em;}
.timeline h2::after {margin-bottom:0;}
.timeline p {hyphens:auto;margin-bottom:0;}

/**/

#header .mod_navigation {border-radius: 0;margin-bottom: 0;padding-top: 20px;}
#header .mod_navigation {padding-left: 0;padding-right: 0;}
#header .mod_navigation {margin-bottom: 0;-webkit-border-radius: 0;-moz-border-radius: 0;border-radius: 0;}
#header .mod_navigation ul.level_1 {text-align: right;margin-bottom: 0;}
#header .mod_navigation ul li {position: relative;}
#header .mod_navigation ul li a,
#header .mod_navigation ul li strong {font-size: 16px;line-height: 40px;text-decoration: none;padding: 0 5px; /*margin: 0 5px;*/display: inline-block;outline: 0;background: none;}
#header .mod_navigation ul li strong {font-weight:normal;color:#9daa9a;}

#header a {color:#333;}

#header .mod_navigation ul li a:hover,
#header .mod_navigation ul li.active strong,
#header .trail.submenu {color: #9daa9a;}

#header .mod_navigation ul li.last a,
#header .mod_navigation ul li.last strong {margin-right: 0;}

/*----- DOUBLETAPTOGO -----*/
#header .mod_navigation
{
    /* container */
}
    #header .mod_navigation > a
    {
        display: none;
    }

    /* first level */

    #header .mod_navigation > ul
    {
        height: 3.75em;
    }
        #header .mod_navigation > ul > li
        {

        }

    /* second level */
        #header .mod_navigation li:hover ul
        {
            display: block;
        }
/*----- SUBNAV ANFANG -----*/
.wrapsubnav {
	margin: 0 auto;
	width:100%;
	max-width: 1170px;
	background:#fff;
    padding-top: 30px;
	-webkit-box-shadow: inset 4px 32px 10px -29px rgba(0,0,0,0.08);
	-moz-box-shadow: inset 4px 32px 10px -29px rgba(0,0,0,0.08);
	box-shadow: inset 4px 32px 10px -29px rgba(0,0,0,0.08);
	border-left:1px solid #eee;
	border-right:1px solid #eee;
	border-bottom:1px solid #eee;}

#header .mod_navigation ul.level_2 {
    display: none;
    left: 0;
    position: absolute;
    z-index: 5;
    background: rgba(254,240,231,0.8);
    border-radius: 10px;
    overflow: hidden;
}

#header .mod_navigation ul.level_2 li a,
#header .mod_navigation ul.level_2 li strong.active,
#header .mod_navigation ul li ul li strong.forward.trail.submenu {
	width:100%;
	display:inline-block;
	border-bottom:1px solid white;
	font-size:14px;
  padding: 0 10px;
}

#header .mod_navigation ul.level_2 li a {color:#666;}
#header .mod_navigation ul.level_2 li strong.active {color:#ad6773;}

#header .mod_navigation ul.level_2 li a:hover {color:#999;}

#header ul.level_2 li.col-sm-4 {
	margin-bottom:40px;
	float:none;
	vertical-align:top;
	text-align:left;
}
/*----- SUBNAV ENDE -----*/

/**/




/*Footer*/
footer {
  background-color: #ebe8d6;
  padding: 5em 0;
}

footer .container {
  display: flex;
  flex-direction: column;
  gap: 2em;
}

footer .mod_sitemap {
  width: 100%;
}

footer ul{
  list-style-type: none;
  display: flex;
  flex-wrap: wrap;
  gap: 1em;
  justify-content: space-between;
}

footer ul ul {
  flex-direction: column;
  gap: 0;
}

footer ul a {
  text-decoration: none;
  color: #333;
  font-weight: 300;
}

footer ul a:hover {
  color: #ad6773;
}

footer ul ul a {
  font-weight: 400;
  color: #666;
}

/*Media Queries*/

@media screen and (max-width: 340px) {
  header .logo {
    font-size: 1.25em !important;
  }
}

@media screen and (max-width: 600px) {
  #hero .bild-position-right img {
    object-position: 85% top;
  }
}

@media screen and (max-width: 700px) {
  .timeline:after {
    left: 0;
  }

  .timeline-container {
    width: 100%;
    padding: 10px 0 10px 40px;
  }

  .timeline-container:nth-of-type(2n) {
    left: 0;
  }

  .timeline-container:before {
    content: " ";
  height: 0;
  position: absolute;
  top: 22px;
  width: 0;
  z-index: 1;
  left: 30px;
  border: medium solid #e4eada;
    border-top-width: medium;
    border-top-color: rgb(228, 234, 218);
    border-right-width: medium;
    border-right-color: rgb(228, 234, 218);
    border-bottom-width: medium;
    border-bottom-color: rgb(228, 234, 218);
    border-left-width: medium;
    border-left-color: rgb(228, 234, 218);
  border-width: 10px 10px 10px 0;
  border-color: transparent #e4eada transparent transparent;
  }
  
  .timeline-container:after {
    left: -13px;
  }
}

@media screen and (min-width: 730px) {
  footer .container {
    flex-direction: row;
    justify-content: space-between;
  }
}

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

  header .logo {order: 1;font-size: 1.5em;}
  header .navbar-toggle {order: 2;}
  header .mod_navigation {flex-basis: 100%;order: 3;}

  #header .mod_navigation {display:none;}
    #header .navbar-toggle {background: transparent;display: block;padding: 11px 8px 5px 8px;cursor: pointer;}
    #header .navbar-toggle span {background: #333; height: 3px;margin: 0 auto 5px;width: 26px;display: block;border-radius:5px;}

    #header .mod_navigation .container {padding: 0 0;}
    #header .mod_navigation ul {margin-left: 0;height: auto;text-align: center;border-bottom: none;padding: 0;}
    #header .mod_navigation ul li {display: block;}
    #header .mod_navigation ul li span,
    #header .mod_navigation ul li a {text-align: center;font-size: 18px;text-transform: uppercase;display: block;}


    #header .mod_navigation ul.level_1 {text-align:center; text-transform:uppercase;}
    #header .mod_navigation ul li a, #header .mod_navigation ul li strong {font-size:18px;}

    *-----NAV-----*/
    #header .mod_navigation
        {
            position: relative;
        }
            #header .mod_navigation > a
            {
            }
            #header .mod_navigation:not( :target ) > a:first-of-type,
            #header .mod_navigation:target > a:last-of-type
            {
                display: block;
            }

        /* first level */

        #header .mod_navigation > ul
        {
            height: auto;
            /*position: absolute;
            left: 0;
            right: 0;*/
            display: flex;
            flex-direction: column;
        }
            #header .mod_navigation:target > ul
            {
                display: block;
            }
            #header .mod_navigation > ul > li
            {
                width: 100%;
                float: none;
            }

        /* second level */

        #header .mod_navigation li ul
        {
            position: static;
        }

        #header .mod_navigation ul.level_2 {display:block;}

        #header .mod_navigation ul.level_2 {position:relative !important; top:0 !important;}
        #header ul.level_2 li.col-sm-4 {margin-bottom:5px;}
        #header .mod_navigation ul.level_2 li a {font-size:16px !important;}

        .wrapsubnav {
          -webkit-box-shadow: inset 0px 1px 10px 2px rgba(0,0,0,0.08);
        -moz-box-shadow: inset 0px 1px 10px 2px rgba(0,0,0,0.08);
        box-shadow: inset 0px 1px 10px 2px rgba(0,0,0,0.08);
        padding-bottom:30px;
        background:#fcfcfc;
        }

      /*----- SUBNAV ENDE -----*/
      .formular main .mod_article {
        margin-top:2em;
      }

      .formular main .mod_article.fullwidth {
        margin-top: -2.5em;
      }

      #hero .bild-position-right img {
        object-position: right top;
      }
  }

@media screen and (min-width: 900px) {
  .navbar-toggle {
    display: none;
  }

  ul#list {
    padding: 2em 4em;
    gap: 5em;
  }

  .ce_rsce_hintergrundbild .ce_form .formbody {
    grid-template-columns: 1fr 1fr;
  }

  .fullwidth .container {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1em;
    align-items: first baseline;
  }

  .ce_form fieldset {
    flex-direction: row;
  }

  .ce_rsce_hintergrundbild .ce_form .formbody {
    display: grid;
    grid-auto-flow: dense;
    gap: 1em;
  }
}

@media screen and (min-width: 1200px) {
  header {
    padding: 1em 20%;
  }

  main .container, footer .container {
    margin: 0 20vw;
  }

 /* .ce_rsce_locationteaser .teaser-box .c-right {
    margin-left: -3em;
  }*/
}