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

.clearfix:after {
    content: ".";
    clear: both;
    display: block;
    visibility: hidden;
    height: 0px;
}

/* font-family: 'Roboto', sans-serif; */
/* font-family: 'Allerta', sans-serif; */
h1{
   font-family: 'Aller W01', sans-serif;
   font-size: 24px;
   color: #420000;
   text-transform: uppercase;
   font-weight: normal;
   margin-bottom: 30px;
}

header{
   position: relative;
}

#header-wrapper{
   width: 1000px;
   position: absolute;
   top: 0;
   left: 0;
   right: 0;
   margin-left: auto;
   margin-right: auto;
   height: 467px;
   z-index: 2000;
}

#logo{
   position: absolute;
   left: 0;
}
#header-banderole{
   width: 100%;
   height: 52px;
   position: absolute;
   top:0;
   background: rgba(255,255,255,0.86);
   z-index: 500;
}
#header-frannz{
   position: absolute;
   top:80px;
   left:48%;
   z-index: 500;
}
#frannz-teaser-mobil{
   background: #270303;
   padding: 10px;
   color:white;
   font-size: 18px;
   font-family: 'Aller W01', sans-serif;
}

nav, #nav{
   position: absolute;
   width: 718px;
   right: 0;
   height: 52px;
   z-index: 5000;
}
nav ul{
  display: flex;
  justify-content: space-between;
}
nav ul li, #nav ul li{
  display: inline-block;
  text-transform: uppercase;
  height: 52px;
}
nav ul li:hover>a{
   font-weight:bold;
}

nav ul li a, nav ul li span,#nav ul li a, #nav ul li span {
   text-decoration: none;
   color: #270101;
   font-size: 16px;
   font-family: 'Aller W01', sans-serif;
}
nav ul li:hover #sub-nav, #nav ul li:hover #sub-nav{
   display: block;
}

#sub-nav{
   position: absolute;
   display: none;
   padding: 0;
   margin-top: 16px;
   margin-left: -10px;
   padding-left: 10px;
   padding-right: 10px;
   background: rgba(255,255,255,0.86);
}
#sub-nav li{
   display: block;
   margin-bottom: 20px;
   height: auto;
}

#content-wrapper{
   position: relative;
   margin: 0px auto;
   padding: 30px 0;
   width: 1000px;
}

#content-wrapper.teaser{
  display: flex;
  justify-content: space-between;
}
#content-wrapper, #data{
  font-size: 16px;
  line-height: 140%;
  color: #333333;
  font-family: 'Roboto', sans-serif;
}
#data a{
   color:#333;
}
#fancybox-wrap{
   z-index: 4000;
}

.party-teaser{
   width: 300px;
   display: inline-block;
   line-height: 120%;
   position: relative;
}
.party-teaser span{
   color: #260000;
   font-family: 'Aller W01', sans-serif;
}
.party-teaser img{
   margin-top: 20px;
}

.teaser-date{
   display: block;
   font-size: 16px;
   line-height: 180%;
}
.teaser-hl{
   display: block;
   font-size: 20px;
   height:33px;
}
.party-teaser.active .teaser-date, .party-teaser.active .teaser-hl{
   color: #860A00;
}
.party-teaser:hover .teaser-info{
   display: block;
}

.teaser-info{
   position: absolute;
   bottom: 3px;
   width: 300px;
   height: 40px;
   background: rgba(0,0,0,0.51);
   line-height: 40px;
   display: none;
   z-index: 1000;
}
.party-teaser .teaser-info img{
   margin-right: 5px;
   vertical-align: middle;
   margin-top: 0;
}

.party-teaser span.teaser-info-left{
   width: 130px;
   float: left;
   color: white;
   padding-left: 10px;
}
.party-teaser span.teaser-info-right{
   width: 130px;
   float: right;
   color: white;
   text-align: right;
   padding-right: 10px;
}


section.grey{
  background: #F4F4F4;
}
section.red{
  background: #5C4242;
}
section.logo-line{
  background: #F3F2F2;
  height: 60px;
}
section.red.bottom{
  height: 40px;
  line-height:40px;
  text-align:center;
}
section.red.bottom a{
   color:white;
   text-decoration: none;
   text-transform:uppercase;
   font-family: 'Aller W01', sans-serif;
}

.fb-like-box{
   float: left;
}
#insta-show{
   float: right;
   width: 440px;
   position: relative;
}
#insta-header{
   background: url(../img/insta-header.png) no-repeat;
   width: 440px;
   height: 60px;
}
#insta-logo{
   background: url(../img/insta-logo.png) no-repeat;
   width: 66px;
   height: 66px;
   position: absolute;
   top: 8px;
   left: 10px;
}
#insta-pics{
   width: 444px;
   height: 444px;
   overflow: hidden;
   margin-left: -4px;
}


#insta-pics img{
   width:144px;
   height: 144px;
   margin-left: 4px;
   margin-bottom: 4px;
   float: left;
   display: block;
}
.cont-left{
   display: inline-block;
   width: 460px;
   float: left;
}
.cont-right{
   display: inline-block;
   width: 440px;
   float: right;
}
#anfahrt-karte{
   float: left;
   width:640px;
}
.bahn-widget{
   float: right;
   width:340px;
}

.footer-hl{
   color: white;
   font-size: 20px;
   font-family: 'Aller W01', sans-serif;
   display: block;
   margin-bottom: 14px;
   text-transform: uppercase;
}
#footer-nl-input{
   margin-top: 10px;
   margin-bottom: 20px;
   width: 406px;
   height: 34px;
   line-height: 34px;
   padding-left: 10px;
   border: 1px solid black;
   border-right: none;
   box-sizing: border-box;
   color: #B7B7B7;
   font-family: 'Roboto', sans-serif;
   font-size: 16px;
}

#submit-start{
   border: 1px solid black;
   border-left: none;
   background: #A47D7D;
   width: 34px;
   height: 34px;
   display: inline-block;
   vertical-align: top;
   margin-top: 10px;
   background: url(../img/button-submit.png) no-repeat;
}

.footer-cont{
   color: white;
   font-size: 16px;
   font-family: 'Roboto', sans-serif;
   line-height: 132%;
}

#gmap_canvas{
   margin-top: 10px;
}

#logo-line {
  display: flex;
  justify-content: space-between;
   align-items: center;
   height: 60px;
   line-height: 60px;
}
#logo-line a{
   margin-top: 20px;
}
 .logo-line #content-wrapper{
    padding: 0;
 }

.rslides {
  position: relative;
  list-style: none;
  overflow: hidden;
  width: 100%;
  padding: 0;
  margin: 0;
  height: 467px;
  }

.rslides li {
  -webkit-backface-visibility: hidden;
  position: absolute;
  display: none;
  width: 100%;
  left: 0;
  top: 0;
  }
.rslides div{
   height: 467px;
   width: 100%;
}

.rslides li:first-child {
  position: relative;
  display: block;
  float: left;
  }

.rslides img {
  display: block;
  height: auto;
  float: left;
  width: 100%;
  border: 0;
  }
#nl-form input[type=text]{
   margin-bottom: 16px;
}
#nl-form input[name=button]{
   background:#5C4242;
   color: white;
   border: 1px solid black;
   padding: 5px 10px;
   font-size: 16px;

}

/* Mobile */


@media only screen and (max-width: 768px) {
  header{
     width: 100%;
     height: 150px;
    background-image: url(../img/header-mobile.jpg);
    background-repeat: no-repeat;
    background-color: #660033;
    background-position: center top;
    position: relative;
  }
   #logo-mobile{
   margin-left: 0px;
   float: left;
   width: 179px;
   height: 150px;
   background-image: url(../img/logo-mobile.png);
   background-repeat: none;
   }
   #content-wrapper{
      width: 95%;
      padding: 10px 0;
   }
   #content-wrapper.teaser{
      display: block;
   }
   .fb-like-box{
      display: block;
      margin: 10px 0px;
   }

   .cont-left{
      display: inline-block;
      width: 100%;
      float: none;
      padding-right: 10px;
   }
   .cont-right{
      display: inline-block;
      width: 100%;
      float: none;
   }
   #footer-nl-input{
      width: 240px;
   }
   #logo-line{
      display: block;
      height: auto;
      line-height: 100%;
      padding-top: 10px;
      text-align: center;

   }
  section.logo-line{
     height: auto;
  }
  h1{
     line-height: 130%;
  }
  #data h1{
     font-size: 16px;
  }
  #data #flyer-pic{
     max-width: 300px;
     width: 100%;
  }

   #logo-line img{
      margin: 0 auto;
      margin-bottom: 10px;
      transform: scale(0.8);
   }

   ul{
      list-style: none;
      margin: 0;
      padding: 0;
      display: block;
      position: relative;
   }

   .menu-icon{
      width: 50px;
      height: 45px;
      background: url('../img/icon-menu.png') #4A0000 9px 9px no-repeat;
      display: inline-block;
      position: absolute;
      right: 10px;
      bottom: 10px;
      cursor: pointer;
   }


   .menu-icon.active {
      /*background: url('../img/icon-menu-active.png') 9px 9px no-repeat white; */
   }


   #nav{
      display: none;
      z-index: 2000;
      background: white;
      width: 100%;
   }

   #nav ul{
      display: block;
      width: 100%
   }

   #nav ul li{
      text-align: right;
      position: relative;
      height: auto;
      display: block;
      padding-right: 10px;
   }
   #nav ul li a, #nav ul li span{
      font-size: 18px;
   }

   ul.nav-main{
      width: 100%;
      /*padding-left: 10px; */
      background: white;
      position: relative;
      display: none;
   }
   ul.nav-main span{
      width: 100%;
      height: 100%;
      display: inline-block;
   }
   ul.nav-main a{
      color: #270101;
      text-decoration: none;
   }
   ul.nav-main li{
      border-bottom: 1px solid #B8B8B8;
      display: block;
      line-height: 40px;
      padding-right: 10px;
      position: relative;
   }

   ul.nav-main > li:last-child{
      /* border-bottom: none; */
   }

   #nav ul.sub-1{
      margin-bottom: 10px;
      padding-right: 25px;
      display: none;
      position: relative;
   }
   #nav ul.sub-1 li{
      position: relative;
   }
    #nav ul.sub-1 li a{
       font-size: 16px;
    }


   ul.sub-1 li:last-child{
      border-bottom: none;
   }
   #nl-form input[type=text]{
      width: 100%;
      height: 20px;
      line-height: 20px;
   }

}



/* Kalender */
.calendar {
	width: 100%;
}
.calendar, .calendar table {
	border: 0;
	margin: 0;
}
.calendar, .calendar table, .calendar td {
	text-align: center;
}
.calendar .year{
	font-family:Roboto, sans-serif;
	font-size:20px;
	color:#420000;
}
.calendar .month{
	width: 100%;
	vertical-align: bottom;
}
.calendar .month table{
	font-size:8pt;
	font-family:Roboto, sans-serif;
   width: 100%;
}
.calendar .month th{
	text-align: center;
	font-size:25px;
	font-family:'Aller W01',sans-serif;
	color:#000057;
   height: 60px;
	vertical-align: center;
   padding-top: 20px;
}
.calendar .month td{
	font-size:26px;
	font-family:Roboto, sans-serif;
}
.calendar .month .days td{
	color:#666666;
	font-weight: normal;
   width: 14%;
   height: 20px;
}
.calendar .month .Tag{
   height: 40px;
   line-height: 40px;    
}

.calendar .month .party-day{
   background: #860A00;
   color: white;
}

.calendar .month .party-day a{
   color: white;
   text-decoration: none;
   display: block;
   width: 100%;
   height: 100%;
}

.calendar .month .sat{
	color:#0000cc;
}
.calendar .month .sun{
	color:#cc0000;
}
.calendar .month .today{
	background:#ff0000;
	color: #ffffff;
}

/*FAQ */

.cd-faq *::after,.cd-faq *::before {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}

.cd-faq *::after, .cd-faq *::before {
  content: '';
}

.cd-faq {
  width: 90%;
  max-width: 1024px;
  margin: 2em auto;
  box-shadow: 0 1px 5px rgba(0, 0, 0, 0.1);
}

.cd-faq a {
  color: #000057;
  text-decoration: none;
}

.cd-faq ul{
   list-style: none;
   padding: 0;
   margin: 0;
}

.cd-faq:after {
  content: "";
  display: table;
  clear: both;
}
@media only screen and (min-width: 76px) {
  .cd-faq {
    position: relative;
    margin: 4em auto;
    box-shadow: none;
  }
}

.cd-faq-categories a {
  position: relative;
  display: block;
  overflow: hidden;
  height: 50px;
  line-height: 50px;
  padding: 0 28px 0 16px;
  background-color: #4e5359;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  color: #ffffff;
  white-space: nowrap;
  border-bottom: 1px solid #555b61;
  text-overflow: ellipsis;
}
.cd-faq-categories a::before, .cd-faq-categories a::after {
  /* plus icon on the right */
  position: absolute;
  top: 50%;
  right: 16px;
  display: inline-block;
  height: 1px;
  width: 10px;
  background-color: #7f868e;
}
.cd-faq-categories a::after {
  -webkit-transform: rotate(90deg);
  -moz-transform: rotate(90deg);
  -ms-transform: rotate(90deg);
  -o-transform: rotate(90deg);
  transform: rotate(90deg);
}
.cd-faq-categories li:last-child a {
  border-bottom: none;
}
@media only screen and (min-width: 76px) {
  .cd-faq-categories {
    width: 20%;
    float: left;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.08);
  }
  .cd-faq-categories a {
    font-size: 13px;
    font-size: 0.8125rem;
    font-weight: 600;
    padding-left: 24px;
    padding: 0 24px;
    -webkit-transition: background 0.2s, padding 0.2s;
    -moz-transition: background 0.2s, padding 0.2s;
    transition: background 0.2s, padding 0.2s;
  }
  .cd-faq-categories a::before, .cd-faq-categories a::after {
    display: none;
  }
  .no-touch .cd-faq-categories a:hover {
    background: #555b61;
  }
  .no-js .cd-faq-categories {
    width: 100%;
    margin-bottom: 2em;
  }
}
@media only screen and (min-width: 102px) {
  .cd-faq-categories {
    position: absolute;
    top: 0;
    left: 0;
    width: 200px;
    z-index: 2;
  }
  .cd-faq-categories a::before {
    /* decorative rectangle on the left visible for the selected item */
    display: block;
    top: 0;
    right: auto;
    left: 0;
    height: 100%;
    width: 3px;
    background-color: #a9c056;
    opacity: 0;
    -webkit-transition: opacity 0.2s;
    -moz-transition: opacity 0.2s;
    transition: opacity 0.2s;
  }
  .cd-faq-categories .selected {
    background: #42464b !important;
  }
  .cd-faq-categories .selected::before {
    opacity: 1;
  }
  .cd-faq-categories.is-fixed {
    /* top and left value assigned in jQuery */
    position: fixed;
  }
  .no-js .cd-faq-categories {
    position: relative;
  }
}

.cd-faq-items {
  position: fixed;
  height: 100%;
  width: 90%;
  top: 0;
  right: 0;
  background: #ffffff;
  padding: 0 5% 1em;
  overflow: auto;
  -webkit-overflow-scrolling: touch;
  z-index: 1;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  -webkit-transform: translateZ(0) translateX(100%);
  -moz-transform: translateZ(0) translateX(100%);
  -ms-transform: translateZ(0) translateX(100%);
  -o-transform: translateZ(0) translateX(100%);
  transform: translateZ(0) translateX(100%);
  -webkit-transition: -webkit-transform .3s;
  -moz-transition: -moz-transform .3s;
  transition: transform .3s;
}
.cd-faq-items.slide-in {
  -webkit-transform: translateZ(0) translateX(0%);
  -moz-transform: translateZ(0) translateX(0%);
  -ms-transform: translateZ(0) translateX(0%);
  -o-transform: translateZ(0) translateX(0%);
  transform: translateZ(0) translateX(0%);
}
.no-js .cd-faq-items {
  position: static;
  height: auto;
  width: 100%;
  -webkit-transform: translateX(0);
  -moz-transform: translateX(0);
  -ms-transform: translateX(0);
  -o-transform: translateX(0);
  transform: translateX(0);
}
@media only screen and (min-width: 76px) {
  .cd-faq-items {
    position: static;
    height: auto;
    width: 78%;
    float: right;
    overflow: visible;
    -webkit-transform: translateZ(0) translateX(0);
    -moz-transform: translateZ(0) translateX(0);
    -ms-transform: translateZ(0) translateX(0);
    -o-transform: translateZ(0) translateX(0);
    transform: translateZ(0) translateX(0);
    padding: 0;
    background: transparent;
  }
}
@media only screen and (min-width: 102px) {
  .cd-faq-items {
    float: none;
    width: 100%;
    padding-left: 220px;
  }
  .no-js .cd-faq-items {
    padding-left: 0;
  }
}

.cd-close-panel {
  position: fixed;
  top: 5px;
  right: -100%;
  display: block;
  height: 40px;
  width: 40px;
  overflow: hidden;
  text-indent: 100%;
  white-space: nowrap;
  z-index: 2;
  /* Force Hardware Acceleration in WebKit */
  -webkit-transform: translateZ(0);
  -moz-transform: translateZ(0);
  -ms-transform: translateZ(0);
  -o-transform: translateZ(0);
  transform: translateZ(0);
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  -webkit-transition: right 0.4s;
  -moz-transition: right 0.4s;
  transition: right 0.4s;
}
.cd-close-panel::before, .cd-close-panel::after {
  /* close icon in CSS */
  position: absolute;
  top: 16px;
  left: 12px;
  display: inline-block;
  height: 3px;
  width: 18px;
  background: #6c7d8e;
}
.cd-close-panel::before {
  -webkit-transform: rotate(45deg);
  -moz-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  -o-transform: rotate(45deg);
  transform: rotate(45deg);
}
.cd-close-panel::after {
  -webkit-transform: rotate(-45deg);
  -moz-transform: rotate(-45deg);
  -ms-transform: rotate(-45deg);
  -o-transform: rotate(-45deg);
  transform: rotate(-45deg);
}
.cd-close-panel.move-left {
  right: 2%;
}
@media only screen and (min-width: 768px) {
  .cd-close-panel {
    display: none;
  }
}

.cd-faq-group {
  /* hide group not selected */
  display: none;
}
.cd-faq-group.selected {
  display: block;
}
.cd-faq-group .cd-faq-title {
  background: transparent;
  box-shadow: none;
  margin: 1em 0;
}
.no-touch .cd-faq-group .cd-faq-title:hover {
  box-shadow: none;
}
.cd-faq-group .cd-faq-title h2 {
  text-transform: uppercase;
  font-size: 12px;
  font-size: 0.75rem;
  font-weight: 700;
  color: #bbbbc7;
}
.no-js .cd-faq-group {
  display: block;
}
@media only screen and (min-width: 76px) {
  .cd-faq-group {
    /* all groups visible */
    display: block;
  }
  .cd-faq-group > li {
    background: #ffffff;
    margin-bottom: 18px;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.3);
    -webkit-transition: box-shadow 0.2s;
    -moz-transition: box-shadow 0.2s;
    transition: box-shadow 0.2s;
  }
  .no-touch .cd-faq-group > li:hover {
    box-shadow: 0 1px 10px rgba(108, 125, 142, 0.3);
  }
  .cd-faq-group .cd-faq-title {
    margin: 2em 0 1em;
  }
  .cd-faq-group:first-child .cd-faq-title {
    margin-top: 0;
  }
}

.cd-faq-trigger {
  position: relative;
  display: block;
  margin: 1.6em 0 .4em;
  line-height: 1.2;
  font-family: 'Aller W01', sans-serif;
  font-size: 20px;
  font-weight: normal;

}
@media only screen and (min-width: 768px) {
  .cd-faq-trigger {
    font-size: 24px;
    font-size: 1.5rem;
    font-weight: normal;
    margin: 0;
    padding: 24px 72px 24px 24px;
  }
  .cd-faq-trigger::before, .cd-faq-trigger::after {
    /* arrow icon on the right */
    position: absolute;
    right: 24px;
    top: 50%;
    height: 2px;
    width: 13px;
    background: #000057;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    -webkit-transition-property: -webkit-transform;
    -moz-transition-property: -moz-transform;
    transition-property: transform;
    -webkit-transition-duration: 0.2s;
    -moz-transition-duration: 0.2s;
    transition-duration: 0.2s;
  }
  .cd-faq-trigger::before {
    -webkit-transform: rotate(45deg);
    -moz-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    -o-transform: rotate(45deg);
    transform: rotate(45deg);
    right: 32px;
  }
  .cd-faq-trigger::after {
    -webkit-transform: rotate(-45deg);
    -moz-transform: rotate(-45deg);
    -ms-transform: rotate(-45deg);
    -o-transform: rotate(-45deg);
    transform: rotate(-45deg);
  }
  .content-visible .cd-faq-trigger::before {
    -webkit-transform: rotate(-45deg);
    -moz-transform: rotate(-45deg);
    -ms-transform: rotate(-45deg);
    -o-transform: rotate(-45deg);
    transform: rotate(-45deg);
  }
  .content-visible .cd-faq-trigger::after {
    -webkit-transform: rotate(45deg);
    -moz-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    -o-transform: rotate(45deg);
    transform: rotate(45deg);
  }
}

.cd-faq-content p {
  font-size: 16px;
  font-size: 1rem;
  line-height: 140%;
  color: #333333;
  font-family: 'Roboto', sans-serif;
}
@media only screen and (min-width: 768px) {
  .cd-faq-content {
    display: none;
    padding: 0 24px 30px;
  }
  .cd-faq-content p {
    line-height: 1.6;
  }
  .no-js .cd-faq-content {
    display: block;
  }
}

.estitle{
   display: none !important;
}



