@font-face {
  font-family: Lato-Regular;
  src: url(../fonts/Lato/Lato-Regular.ttf)
}

@font-face {
  font-family: Lato-Bold;
  src: url(../fonts/Lato/Lato-Bold.ttf)
}

/* cabin-regular - latin */
@font-face {
  font-family: 'Cabin';
  font-style: normal;
  font-weight: 400;
  src: url('../fonts/cabin-v18-latin-regular.eot'); /* IE9 Compat Modes */
  src: local(''),
       url('../fonts/cabin-v18-latin-regular.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
       url('../fonts/cabin-v18-latin-regular.woff2') format('woff2'), /* Super Modern Browsers */
       url('../fonts/cabin-v18-latin-regular.woff') format('woff'), /* Modern Browsers */
       url('../fonts/cabin-v18-latin-regular.ttf') format('truetype'), /* Safari, Android, iOS */
       url('../fonts/cabin-v18-latin-regular.svg#Cabin') format('svg'); /* Legacy iOS */
}
/* cabin-700 - latin */
@font-face {
  font-family: 'Cabin';
  font-style: normal;
  font-weight: 700;
  src: url('../fonts/cabin-v18-latin-700.eot'); /* IE9 Compat Modes */
  src: local(''),
       url('../fonts/cabin-v18-latin-700.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
       url('../fonts/cabin-v18-latin-700.woff2') format('woff2'), /* Super Modern Browsers */
       url('../fonts/cabin-v18-latin-700.woff') format('woff'), /* Modern Browsers */
       url('../fonts/cabin-v18-latin-700.ttf') format('truetype'), /* Safari, Android, iOS */
       url('../fonts/cabin-v18-latin-700.svg#Cabin') format('svg'); /* Legacy iOS */
}



html {
  width: 100%;
  height: 100%;
}

body {
  font-family: 'Lora', 'Helvetica Neue', Helvetica, Arial, sans-serif;
  position: relative;
  width: 100%;
  height: 100%;
  color: #1F1F1F;
  background-color: white;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  font-family: 'Cabin', 'Helvetica Neue', Helvetica, Arial, sans-serif;
  font-weight: 700;
  margin: 0 0 20px;
  letter-spacing: 1px;
  text-transform: uppercase;
}

h3.origueberschrift,
h2.subueberschrift {
  text-transform: none;
}

.festivalueberschrift {
  font-family: 'Cabin', 'Helvetica Neue', Helvetica, Arial, sans-serif;
  font-size: 24px;
  font-weight: 700;
  padding: 4px 10px 2px 10px;
  margin: 0 0 20px 0;
  letter-spacing: 1px;
  text-transform: uppercase;
  background-color: #1F1F1F;
  color: white;
  cursor: pointer;
}
.festivalueberschrift a {
  color: inherit;
}
.festivalueberschrift:hover {
  color: #ffa200;
}

p {
  font-size: 16px;
  line-height: 1.5;
  margin: 0 0 25px;
}
div {
  font-size: 16px;
  line-height: 1.5;
}

@media (min-width: 768px) {
  p {
    font-size: 18px;
    line-height: 1.6;
    margin: 0 0 35px;
  }
  div {
    font-size: 18px;
    line-height: 1.6;
  }
}

a {
  -webkit-transition: all 0.2s ease-in-out;
  -moz-transition: all 0.2s ease-in-out;
  transition: all 0.2s ease-in-out;
  color: #ED7A00;
}

a:focus, a:hover {
  text-decoration: none;
  color: #ffa200;
}


.langnav img {
  padding: 0 !important;
}

@media (min-width: 768px) {
  .langnav {
    margin-top: -50px;
  }
  .beschreibung .langnav {
    margin-top: -10px;
  }
}


#mainNav {
  font-family: 'Cabin', 'Helvetica Neue', Helvetica, Arial, sans-serif;
  font-size: 18px;
  margin-bottom: 0;
  text-transform: uppercase;
  background-color: #1F1F1F;

}

#mainNav .navbar-toggler {
  font-size: 14px;
  padding: 11px;
  color: white;
  border: 1px solid grey;
}

#mainNav .navbar-brand {
  font-weight: 700;
  position: absolute;
  top: -10px;
  text-align: center;
  width: 180px;
}

#mainNav a {
  /*color: white;*/
}

#mainNav .navbar-nav .nav-item a {
  -webkit-transition: background 0.3s ease-in-out;
  -moz-transition: background 0.3s ease-in-out;
  transition: background 0.3s ease-in-out;
  color: #DDDDDD;
}

#mainNav .navbar-nav .nav-item a:hover {
  color: white;
  outline: none;
  background-color: transparent;
}

#mainNav .navbar-nav .nav-item:active, #mainNav .navbar-nav .nav-item:focus {
  outline: none;
}

@media (min-width: 992px) {
  #mainNav {
    padding-top: 10px;
    padding-bottom: 10px;
    -webkit-transition: background 0.3s ease-in-out, padding-top 0.3s ease-in-out, padding-bottom 0.3s;
    -moz-transition: background 0.3s ease-in-out, padding-top 0.3s ease-in-out, padding-bottom 0.3s;
    transition: background 0.3s ease-in-out, padding-top 0.3s ease-in-out, padding-bottom 0.3s;
    letter-spacing: 1px;
  }
  #mainNav.navbar-shrink {
    padding-top: 10px;
    padding-bottom: 10px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.3);
  }
  #mainNav .nav-link.active {
    outline: 1px solid white;
    /*background-color: rgba(255, 255, 255, 0.3);*/
  }
  #mainNav .nav-link.active:hover {
    color: #1F1F1F;
  }
}

#mainNav img#logo {
  width: 130px;
  padding: 6px 2px 6px 6px;
  background-color: white;
  margin-top: -4px;
}
#logoErsatz {
    display: none;
}

#mainNav span#logo {
  font-family: Cabin, Arial, sans-serif;
  background-color: white;
  color: black;
  font-size: 28px;
  line-height: 28px;
  padding: 10px 20px 10px 20px;
  display: inline-block;
  text-transform: none;
  font-weight: bold;
  margin: 23px 0 0 19px;
}

#mainNav ul.navbar-nav li:first-child {
  visibility: hidden;
}
#mainNav.navbar-shrink img#logo {
  margin-top: -8px;
  width: 100px;
  padding: 4px 1px 4px 4px;
}
@media (max-width: 991px) {
  img#logo {
    display: none !important;
  }
  #logoErsatz {
    display: inline-block;
    color: white;
    margin: 12px 0 0 60px;
    font-size: 24px;
    line-height: 32px;
  }
}

#mainNav.navbar-shrink span#logo {
  font-size: 20px;
  line-height: 20px;
  margin: 16px 0 0 19px;
}

#mainNav.navbar-shrink ul.navbar-nav li:first-child {
  visibility: visible;
}

.masthead {
  display: table;
  width: 100%;
  height: auto;
  padding: 0;
  text-align: center;
  color: #1F1F1F;
  /*background: url("../img/Theaterbuehne.jpg") no-repeat bottom center scroll;*/
  background-color: white;
  -webkit-background-size: cover;
  -moz-background-size: cover;
  -o-background-size: cover;
  background-size: cover;
  overflow: hidden;
}

.masthead .intro-body {
  display: table-cell;
  vertical-align: middle;
}

.masthead .intro-body .brand-heading {
  font-size: 50px;
}

.masthead .intro-body .intro-text {
  font-size: 18px;
}

@media (min-width: 768px) {
  .masthead {
    height: 100%;
    padding: 15px 0 0 0;
    margin: 0;
  }
  .masthead .intro-body{
  }
  .masthead .intro-body .brand-heading {
    font-size: 100px;
  }
  .masthead .intro-body .intro-text {
    font-size: 22px;
  }
}

.btn-circle {
  font-size: 26px;
  width: 55px;
  height: 55px;
  margin-top: 15px;
  line-height: 45px;
  -webkit-transition: background 0.3s ease-in-out;
  -moz-transition: background 0.3s ease-in-out;
  transition: background 0.3s ease-in-out;
  color: #1F1F1F;
  border: 2px solid #1F1F1F;
  border-radius: 100% !important;
  background: transparent;
}

.btn-circle:focus, .btn-circle:hover {
  color: #1F1F1F;
  outline: none;
  background: rgba(255, 255, 255, 0.1);
}

/* --- */

.bg400.light {
  background-image: url('/img/acud-theater-kachel-jub-400x403-light.jpg');
}

.bg600.light {
  background-image: url('/img/acud-theater-kachel-jub-600x604-light.jpg');
}

.bg800.light {
  background-image: url('/img/acud-theater-kachel-jub-800x805-light.jpg');
}

.bg1000.light {
  background-image: url('/img/acud-theater-kachel-jub-1000x1006-light.jpg');
}

.bg400.silber {
  background-image: url('/img/acud-theater-kachel-jub-400x403-silber.jpg');
}

.bg600.silber {
  background-image: url('/img/acud-theater-kachel-jub-600x604-silber.jpg');
}

.bg800.silber {
  background-image: url('/img/acud-theater-kachel-jub-800x805-silber.jpg');
}

.bg1000.silber {
  background-image: url('/img/acud-theater-kachel-jub-1000x1006-silber.jpg');
}

.bg400.sw {
  background-image: url('/img/acud-theater-kachel-jub-400x403-sw.jpg');
}

.bg600.sw {
  background-image: url('/img/acud-theater-kachel-jub-600x604-sw.jpg');
}

.bg800.sw {
  background-image: url('/img/acud-theater-kachel-jub-800x805-sw.jpg');
}

.bg1000.sw {
  background-image: url('/img/acud-theater-kachel-jub-1000x1006-sw.jpg');
}

/* --- */

.content-section {
  padding-top: 80px;
  padding-bottom: 80px;
}

.archiv-section {
  color: #1F1F1F;
  background: url("../img/Theaterbuehne.jpg") no-repeat center center scroll;
  background-color: white;
  -webkit-background-size: cover;
  -moz-background-size: cover;
  -o-background-size: cover;
  background-size: cover;
}

.achiv-header {
  color: #ED7A00;
}

.archiv-section .row.eventrow {
  background-color: rgba(255,255,255,0.95);
}

.archiv-section h2,
.archiv-section p {

}

section#theater {
  padding: 0;
}
section#theater .container {
  padding: 150px 15px;
  background-color: white;
}


section#programm {
  padding: 0;
}
section#programm .container {
  background-color: #E5E5E5;
  padding: 100px 15px;
}


section#backstage {
  padding: 0;
  background-color: #ebfff6;
}
section#backstage .container {
  padding: 100px 15px;
}


section#presse {
  padding: 0;
  background-color: #fffaeb;
}
section#presse .container {
  padding: 100px 15px;
}


section#kontakt {
  background-color: white;
}
section#kontakt .container {
  padding: 100px 15px;
  background-color: white;
}

section#impressum {
  background-color: #c7c7c7;
  display: none;
}
section#datenschutz {
  background-color: lightgrey;
  display: none;
}

section#event {
  padding: 0;
  background-color: white;
}

section#event .container {
  padding: 150px 50px;
  background-color: white;
}
@media (max-width: 991px) {
  section#event .container {
    padding: 150px 20px;
    background-color: white;
  }
}



#map {
  width: 100%;
  height: 300px;
}

@media (min-width: 992px) {
  .content-section {
    padding-top: 120px;
    padding-bottom: 120px;
  }
  #map {
    height: 350px;
  }
}

.btn {
  font-family: 'Cabin', 'Helvetica Neue', Helvetica, Arial, sans-serif;
  font-weight: 400;
  -webkit-transition: all 0.3s ease-in-out;
  -moz-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
  text-transform: uppercase;
  border-radius: 0;
}

.btn-default {
  color: #ED7A00;
  border: 1px solid #ED7A00;
  background-color: transparent;
}

.btn-default:focus, .btn-default:hover {
  color: white;
  border: 1px solid #ED7A00;
  outline: none;
  background-color: #ED7A00;
}

ul.banner-social-buttons {
  margin-top: 0;
}

@media (max-width: 1199px) {
  ul.banner-social-buttons {
    margin-top: 15px;
  }
}

@media (max-width: 767px) {
  ul.banner-social-buttons li {
    display: block;
    margin-bottom: 20px;
    padding: 0;
  }
  ul.banner-social-buttons li:last-child {
    margin-bottom: 0;
  }
}

footer {
  padding: 50px 0;
  background-color: #1F1F1F;
  color: white;
}

footer p {
  font-size: 14px;
  margin: 0;
}

::-moz-selection {
  background: #DDDDDD;
  text-shadow: none;
}

::selection {
  background: #DDDDDD;
  text-shadow: none;
}

img::selection {
  background: transparent;
}

img::-moz-selection {
  background: transparent;
}

/* ----- */



h5 {
  display: inline-block;
  padding: 10px 20px;
  font-size: 24px;
  background-color: rgba(255,255,255,0.85);
  color: #ED7A00;
  border: 1px solid #ED7A00;
}

.full-screen {
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}

.full-div {
  background-size: contain;
  background-position: center;
  background-repeat: no-repeat;
}

.full-div-top {
  background-size: contain;
  background-position: top;
  background-repeat: no-repeat;
}

/* ---- */

.eventrowtoggler h3 {
  background-color: #ED7A00;
  color: white;
  margin: 0 0 10px 0;
  padding: 10px;
  cursor: pointer;
}
#archiv .eventrowtoggler h3 {
  color: black;
}

.eventrowtoggler h3:hover {
  background-color: #ffa200;
}

.eventrowtogglebar {
  display: block;
  margin-bottom: 20px;
}
/* all but not first-of-class -> https://stackoverflow.com/questions/2717480/css-selector-for-first-element-with-class */
.eventrowtogglebar ~ .eventrowtogglebar {
  display: none;
}

.row.eventrow {
  position: relative;
  margin: 0 0 10px 0;
  cursor: pointer;
  background-color: rgba(255,255,255,0.8);
}
.row.eventrow.programm,
.row.eventrow.archiv {
  border-left: 30px solid lightgrey;
}
.row.eventrow.nicht,
.row.eventrow.Impro,
.row.eventrow.Workshop,
.eventrowtoggler.monatNurMitImprosOderNichtImSpielplan {
  display: none;
}
.row.eventrow.presse-blog {
  outline: 1px dotted #cbcbcb;
}

.row.eventrow.Berlin-Premiere,
.row.eventrow.Premiere {
  border-left: 30px solid orangered;
}
.row.eventrow.Berlin-Premiere .eventType,
.row.eventrow.Premiere .eventType {
  color: white;
}

.row.eventrow.festivalcover {
  border: 1px solid lightgrey;
}
.row.eventrow.festivalcover:hover {
  border: 1px solid black;
}

.row.eventrow.festivalcover .eventType {
  color: white;
}

/*
.row.eventrow.Impro {
  border-left: 30px solid lightgrey;
}
.row.eventrow.Festivalevent {
  border-left: 30px solid #810000;
}
.row.eventrow.Festivalevent .eventType {
  color: white;
}


.row.eventrow.Workshop {
  border-left: 30px solid yellow;
}
.row.eventrow.Workshop .eventType {
}
.row.eventrow.Gastspiel {
  border-left: 30px solid #7893ff;
}
.row.eventrow.Gastspiel .eventType {
  color: white;
}
.row.eventrow.Nachwuchs {
  border-left: 30px solid #4a644c;
}
.row.eventrow.Nachwuchs .eventType {
  color: white;
}
*/

.programmFilter {
  display: none;
  margin: 10px 0 0 0;
  padding: 15px 15px 10px 15px;
  cursor: pointer;
  background-color: #D3D3D3;
  border-top-right-radius: 20px 20px;
  border-top-left-radius: 20px 20px;
}

/*
.programmFilter.Impro {
  background-color: lightgrey;
}
.programmFilter.Festivalevent {
  background-color: #810000;
  color: white;
}

.programmFilter.Premiere {
  background-color: orangered;
  color: white;
}

.programmFilter.Workshop {
  background-color: yellow;
}
.programmFilter.Gastspiel {
  background-color: #7893ff;
  color: white;
}
.programmFilter.Nachwuchs {
  background-color: #4a644c;
  color: white;
}
*/

.programmFilter.Berlin-Premiere,
.programmFilter.Premiere {
  color: orangered;
}
.programmFilter.Streaming {
  color: darkred;
}
.programmFilter:hover {
  background-color: white;
}
.programmFilter.active,
.programmFilter.active:hover {
  background-color: white;
  cursor: default;
}

.programmFilter.reset {
  display: inline-block;
}

.programmFilter h3 {
  margin: 0;
  font-size: 16px;
}

.row.eventrow:hover {
  background-color: white;
}

.row.eventrow > div {
  padding: 10px;
  text-align: left;
  height: 100%;
}

.row.eventrow h4 {
  margin: 0 0 5px 0;
}
.row.eventrow p {
  margin: 0 0 20px 0;
}
.row.eventrow p.metaHeader {
  margin: 0 0 0 0;
}
.row.eventrow p.subHeader {
  margin: 0 0 10px 0;
}

.row.eventrow .thumb {
  width: 100%;
  height: 100%;
}

.row.eventrow .thumb:after {
  content: "";
  display: block;
  padding: 50% 0%;
}

.row.eventrow .thumb2x3 {
  width: 100%;
  height: 100%;
}

.row.eventrow .thumb2x3:after {
  content: "";
  display: block;
  padding: 33% 0%;
}

.eventType {
  position: absolute;
  transform-origin: 0% 0%;
  -ms-transform: rotate(-90deg);
  -moz-transform: rotate(-90deg);
  -webkit-transform: rotate(-90deg);
  -o-transform: rotate(-90deg);
  transform: rotate(-90deg);
  bottom: -10px;
  left: -26px;
  font-size: 15px;
  font-family: "Arial", sans-serif;
  font-weight: bold;
}

/* ----- */
.beschreibung img {
  display: inline-block;
  padding: 20px 0;
}

/* ----- */

.eventImg {
  position: relative;
  margin-bottom: 10px;
}
.eventImg img {
  width: 100%;
}

.eventImg.rechts {
  margin: 20px 0;
}

.eventImg img.img-enlargeble {
  cursor: pointer;
}
.eventImg img.img-enlargeble:hover {
  outline: 1px solid #AAAAAA;
}

.imgComment,
.imgBeschreibung {
  margin: 0;
  position: relative;
  top: -5px;
  font-size: 14px;
  font-family: Arial, sans-serif;
  font-weight: bold;
}
.imgBeschreibung {
  top: -17px;
  font-weight: normal;
  font-size: 12px;
}
.imgComment.rechts {
  top: -18px;
}

.imgCopyright {
  transform-origin: 0% 0%;
  -ms-transform: rotate(-90deg);
  -moz-transform: rotate(-90deg);
  -webkit-transform: rotate(-90deg);
  -o-transform: rotate(-90deg);
  transform: rotate(-90deg);
  position: absolute;
  bottom: -10px;
  left: -20px;
  font-size: 12px;
  font-family: Arial, sans-serif;
  color: lightgrey;
}
.bildergalerie .imgCopyright {
  color: grey;
}

/* ---- */

.eventContentImg {
  display: block !important;
}
.eventContentImgCopyright {
  position: relative;
  display: inline-block;
  bottom: 20px;
  left: 0;
  font-size: 12px;
  font-family: Arial, sans-serif;
  color: #888888;
}

/* ---- */

.carousel-outer {
  width: 75%;
}

.carousel {
}

.carousel-inner {
  overflow: visible;
}

.carousel-item {
  padding: 0;
  cursor: pointer;
}

.carousel-indicators {
  position: absolute;
  top: 0;
  right: 0;
  width: 36%;
  z-index: 15;
  display: block;
  justify-content: flex-start;
  padding-left: 0;
  margin: 50px 0 0 100%;
  list-style: none;
}

.carousel-indicators li,
.carousel-caption-portrait {
  position: relative;
  -webkit-box-flex: none;
  -ms-flex: none;
  flex: none;
  width: 100%;
  height: auto;
  margin: 5px 0 5px 0;
  padding: 20px 40px 20px 40px;
  text-indent: 0;
  text-align: left;
  background-color: rgba(255, 255, 255, 0.85);
  cursor: pointer;
}

.carousel-indicators li::before {
  position: relative;
  display: none;
}

.carousel-indicators li::after {
  position: relative;
  display: none;
}

.carousel-indicators li.active {
  background-color: #1F1F1F;
  color: white;
  border: 1px solid white;
  margin: 5px 0 5px -40px;
}

.carousel-indicators li.hidden {
  margin-top: 300px;
}


.carousel-indicators h4,
.carousel-caption-portrait h4 {
  margin: 0 0 0 0;
}
.carousel-indicators p,
.carousel-caption-portrait p {
  margin: 0 0 0 0;
}
.carousel-indicators p.metaHeader,
.carousel-caption-portrait p.metaHeader {
  margin: 0 0 6px 0;
  font-family: Arial, sans-serif;
  font-weight: bold;
  line-height: 20px;
}
.carousel-indicators p.subHeader,
.carousel-caption-portrait p.subHeader {
  margin: 0 0 0 0;
  font-family: Arial, sans-serif;
}

.carousel-caption {
  left: 45px;
  right: 20%;
  bottom: -70px;
}

.carousel-caption-portrait {
  display: none;
}

.mediaOrientation {
  position: fixed;
  bottom: 2px;
  left: 2px;
  width: 20px;
  height: 10px;
  background-color: white;
  border: 1px solid black;
}

/*@media (min-aspect-ratio: 1/2) and (max-aspect-ratio: 10/1) {*/
@media screen and (orientation: portrait) {
  #mainNav.navbar-shrink span#logo,
  #mainNav span#logo {
    margin-top: 4px !important;
    margin-left: 60px !important;
    font-size: 20px !important;
    line-height: 22px !important;
    height: 42px !important;
  }
  .carousel-outer {
    width: 100%;
    padding-bottom: 50px;
  }

  .carousel-item.full-div-top {
    background-position: center;
    margin-bottom: 25%;
  }

  ol.carousel-indicators {
    position: absolute;
    top: auto;
    bottom: -130px;
    left: 0;
    right: 0;
    width: 100%;
    z-index: 15;
    display: flex;
    justify-content: center;
    flex-flow: row;
    padding: 0 0 0 0;
    margin: 0 0 0 0;
    list-style: none;
  }

  ol.carousel-indicators li p,
  ol.carousel-indicators li h4 {
    display: none;
  }
  ol.carousel-indicators li,
  ol.carousel-indicators li.active {
    width: 30px;
    height: 30px;
    padding: 0;
    border-radius: 15px;
    border: 5px solid #1F1F1F;
    background-color: white;
    margin: 20px 10px 20px 10px;
  }
  ol.carousel-indicators li.active {
     background-color: black;
  }
  ol.carousel-indicators li:hover {
    background-color: white;
    border: 10px solid #1F1F1F;
  }

  .carousel-caption-portrait {
    display: block;
    position: relative;
    width: 100%;
    background-color: #1F1F1F;
    right: -30%;
    bottom: 20px;
    padding: 10px;
  }

  .carousel-caption-portrait h4 {
    font-size: 20px;
  }


  .mediaOrientation {
    width: 10px;
    height: 20px;
  }
}




#disabledCarouselItems,
#disabledCarouselIndicators {
  display: none;
  visibility: hidden;
}

/* ---- */

.termin-tag {
  display: inline-block;
  padding: 3px 10px 2px 10px;
  margin: 0 5px 5px 0;
  background-color: #1F1F1F;
  border: 1px solid white;
  color: white;
  font-family: Arial, sans-serif;
  font-weight: bold;
  font-size: 14px;
}

.termin-tag.reservierung {
  cursor: pointer;
}
.termin-tag.reservierung:hover {
  background-color: black;
  border: 1px solid #1F1F1F;
}

.termin-tag.heute {
  background-color: #810000;
}

.termin-tag.frueher {
  background-color: #B0B0B0;
}
.termin-tag.lastchange {
  background-color: #B0B0B0;
}
#archiv .termin-tag {
  border: none;
}

/* ------- */

#ajArchiv {
  margin-top: 50px;
  min-height: 500px;
}

.archiv-jahr-button {
  color: #ED7A00;
  display: inline-block;
  margin: 5px;
}

.archiv-jahr-button:hover,
.archiv-jahr-button.active {
  color: black;
  background-color: #ED7A00;

}

/* ------- */

#loader {
  /* background-image: url('/img/ACUD-Theater-Logo-rund.png'); */
  height: 100px;
  width: 100px;
  margin: 150px auto;
  border: 5px solid #ED7A00;
  border-left: none;
  border-right: none;
  border-radius: 50%;
}

@-webkit-keyframes rotating {
  from {
    -webkit-transform: rotate(0deg);
    -o-transform: rotate(0deg);
    transform: rotate(0deg);
  }
  to {
    -webkit-transform: rotate(360deg);
    -o-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}
@keyframes rotating {
  from {
    -ms-transform: rotate(0deg);
    -moz-transform: rotate(0deg);
    -webkit-transform: rotate(0deg);
    -o-transform: rotate(0deg);
    transform: rotate(0deg);
  }
  to {
    -ms-transform: rotate(360deg);
    -moz-transform: rotate(360deg);
    -webkit-transform: rotate(360deg);
    -o-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}
.rotating {
  -webkit-animation: rotating 5s linear infinite;
  -moz-animation: rotating 5s linear infinite;
  -ms-animation: rotating 5s linear infinite;
  -o-animation: rotating 5s linear infinite;
  animation: rotating 5s linear infinite;
}

.ohnePadding {
  padding: 0;
}

.ohneMargin {
  margin: 0;
}

.ohneHref {
  cursor: pointer;
  text-decoration: underline !important;
}
.ohneHref:hover {
  color: #FF4500 !important;
}

.verticaly-centered-outer {
  display: table;
  height: 100%;
  width: 100%;
}
.verticaly-centered-inner {
  display: table-cell;
  height: 100%;
  width: 100%;
  vertical-align: middle;
}

.htmlCode {
  font-family: "Courier New", Courier, "Droid Sans Mono", monospace;
  color: darkgreen;
}

/* ---- */

section#event p {
  margin-bottom: 10px;
}

.partnerDiv {
  border-top: 1px dotted grey;
  width: 100%;
  padding-top: 20px;
  margin-top: 50px;
  margin-bottom: 30px;
  object-fit: none;
}

.partnerDiv h3 {
  font-size: 16px;
}

.partnerDiv img {
  display: inline-block;
  margin: 0 20px 20px 0;
  max-height: 70px;
  max-width: 160px;
}

/* ----- */

.overflow-fadeout-right {
  position: relative;
  overflow: hidden;
}
.overflow-fadeout-right:after {
  content: '';
  width: 100%;
  height: 100%;
  position: absolute;
  left: 0;
  top: 0;
  background: linear-gradient(to right, transparent 75%, white);
  pointer-events: none;
}

/* ----- */


.beschreibung .panel-group {
  margin-top: 20px;
}

.beschreibung .panel-heading {
  margin: 0 0 20px 0;
}

.beschreibung .panel-heading h4 {
  margin: 0;
  font-size: 1.1rem;
  text-transform: none;
}

.beschreibung .panel-heading h4 a {
  color: #1f1f1f;
  display: inline-block;
  padding: 10px;
  width: 100%;
  background-color: #E5E5E5;
}
.beschreibung .panel-heading h4 a:before {
  font-family: "FontAwesome";
  content: '\f13a';
  opacity: .4;
}
.beschreibung .panel-heading h4 a.collapsed:before {
  font-family: "FontAwesome";
  content: '\f138';
  opacity: .4;
}

.beschreibung .panel-heading h4 a:hover {
  background-color: #f6f6f6;
}

.beschreibung .panel-body {
  padding: 10px;
  margin-top: -18px;
  margin-bottom: 20px;
  background-color: #f6f6f6;
  border-bottom: 10px solid #E5E5E5;
}

/* -- */

section#monatsplan .eventrow {
  outline: 1px solid grey;
}
section#monatsplan .container {
  padding: 25px 15px 1px 15px !important;
  width: 100% !important;
  min-width: 100% !important;
  margin: 0;
}

.monatsplan-print-footer {
  margin-top: 25px;
  margin-bottom: 10px;
  margin-left: 30px;
  font-family: "Arial", sans-serif;
  font-size: 18px;
  font-weight: bold;
  color: #444444;
}

.monatsplan-print-footer img {
  height: 80px;
}

.qr {
  position: absolute;
  top: 0;
  right: 53px;
  font-size: 11px;
  font-family: Arial, sans-serif;
  line-height: 20px;
  text-align: center;
}

.monatsplan-logo {
  position: absolute;
  top: 0;
  left: 53px;
}

.qr img,
.monatsplan-logo img {
  height: 100px;
}

/* --- */

.historyDiv {
  margin-top: 30px;
  background-color: #F6F6F6;
  padding-bottom: 10px;
}

.historyDiv h3 {
  padding: 10px;
  margin-bottom: 10px;
}

.historyDiv .eventrow.history h4 {
  font-size: 12px;
  margin: 0;
}
.historyDiv .eventrow.history p.metaHeader,
.historyDiv .eventrow.history p.subHeader {
  margin: 0 !important;
  font-size: 10px;
}

.historyDiv .row.eventrow > div {
  padding: 5px;
}

.historyDiv .eventrow.history .termin-tag {
  font-size: 10px;
  padding: 0 3px 1px 3px;
}

#panelReservierungserfassung {

}

.ReservierungsError {
  color: red;
  font-weight: bold;

}


a.cta {
  display: inline-block;
  padding: .75rem 1.25rem;
  border-radius: 10rem;
  color: #fff;
  text-transform: uppercase;
  font-size: 1rem;
  letter-spacing: .15rem;
  transition: all .3s;
  position: relative;
  overflow: hidden;
  z-index: 1;
}
a.cta.prev {
  border-radius: 10rem 0 0 10rem;
  font-weight: bold;
}
a.cta.next {
  border-radius: 0 10rem 10rem 0;
  font-weight: bold;
}
a.cta:after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: #0cf;
  z-index: -2;
}
a.cta:before {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  width: 0%;
  height: 100%;
  background-color: #008fb3;
  transition: all .3s;
  z-index: -1;
}
a.cta:hover {
  color: #fff;
}
a.cta:hover:before {
  width: 100%;
}

a.cta.grey:before {
  background-color: #0f0f0f;
}
a.cta.grey:after {
  background-color: #1F1F1F;
}

.presse-header {
  background-color: #B0B0B0;
  color: white;
  font-family: 'Cabin', 'Helvetica Neue', Helvetica, Arial, sans-serif;
  font-size: 28px;
  font-weight: 900;
  padding: 10px 20px 5px 20px;
  margin-bottom: 50px;
  cursor: pointer;
}
.presse-header:hover {
  background-color: #808080;
}



blockquote {
  padding-left: 15px;
  margin-left: 10px;
  border-left: 5px solid #B0B0B0;
}

blockquote:before {
  content: "\f10e\00a0\f10d";
  font-size: 12px;
  color: #B0B0B0;
  font-family: 'FontAwesome';
}

.hoverable-img {
  margin-left: -20px;
  padding: 20px 10px;
  transition: transform .2s;
}
.hoverable-img:hover {
  transform: scale(1.1);
}


.pseudoPayPalButton {
  border-collapse: collapse;
  border: 1px solid white;
  border-radius: 5px;
  box-sizing: border-box;
  color: #050505;
  background-color: #EEEEEE;
  cursor: pointer;
  font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;
  font-size: 18px;
  font-weight: bold;
  margin: 50px 0 0 0;
  padding: 10px 20px;
  position: relative;
  text-align: center;
  text-transform: none;
  transform: matrix(1, 0, 0, 1, 0, -11);
  user-select: none;
  white-space: nowrap;
  width: 100%;
}
.pseudoPayPalButton:hover {
  color: black;
  background-color: white;
  border: 1px solid grey;
}

.clonable {
  max-width: 100%;
  margin: 10px 20px;
  text-align: left;
  padding-top: 5px;
  background-color: #E5E5E5;
  border-radius: 3px;
}

.clonable .reservierungblock {
  margin-left: 10px;
  margin-right: 10px;
}

.clonable .reservierungblock select,
.clonable .reservierungblock input[type="text"] {
  width: 100%;
}
.clonable .reservierungblock select.is-invalid,
.clonable .reservierungblock input[type="text"].is-invalid,
.clonable .reservierungblock input[type="checkbox"].is-invalid {
  background-color: #fffbf7;
  outline: 1px solid orangered;
}

.alert-warning {
  outline: 10px solid #FFF3CD;
  margin-top: 20px;
}

.reservierungblock textarea {
  width: 100%;
  border: 1px dotted grey;
  border-radius: 3px;
}

.coronaHinweis {
  background-color: #fcf1f1;
  text-align: left;
  margin: 20px;
  padding: 10px;
}

.ticketingZusatzText {
  background-color: #fcf9f1;
  text-align: left;
  margin: 20px;
  padding: 10px;
}

.coronaHinweis p,
.ticketingZusatzText p {
  margin-top: 7px;
  margin-bottom: 7px;
}

.dimmed {
  position: relative;
  display: none;
}

.dimmed:after {
  display: block;
  content: " ";
  z-index: 1000000;
  position: fixed;
  height: 100%;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(0, 0, 0, 0.75);
  pointer-events: none;
}

.spinner {
   display: none;
   position: fixed;
   left: calc(50% - 90px);
   top: calc(50% - 90px);
   height: 180px;
   width: 180px;
   margin: 0px auto;
   -webkit-animation: rotation 1.6s infinite linear;
   -moz-animation: rotation 1.6s infinite linear;
   -o-animation: rotation 1.6s infinite linear;
   animation: rotation 1.6s infinite linear;
   border-left:20px solid rgba(239, 159, 0, .15);
   border-right:20px solid rgba(239, 159, 0, .15);
   border-bottom:20px solid rgba(239, 159, 0, .15);
   border-top: 20px solid rgb(239, 159, 0);
   border-radius: 100%;
   z-index: 1000001;
   pointer-events: none;
}

@-webkit-keyframes rotation {
   from {-webkit-transform: rotate(0deg);}
   to {-webkit-transform: rotate(359deg);}
}
@-moz-keyframes rotation {
   from {-moz-transform: rotate(0deg);}
   to {-moz-transform: rotate(359deg);}
}
@-o-keyframes rotation {
   from {-o-transform: rotate(0deg);}
   to {-o-transform: rotate(359deg);}
}
@keyframes rotation {
   from {transform: rotate(0deg);}
   to {transform: rotate(359deg);}
}


.slickBilder {
  margin: 20px -5px 0 -5px;
  padding-top: 20px;
  border-top: 1px dotted #888;
}

.slickBilder img {
  display: inline-block;
  height: 250px;
  padding: 0 5px;
}

@media (max-width: 991px) {
  .slick-next, .slick-prev {
    visibility: hidden;
  }
}

.slick-track img {
  cursor: pointer;
}

#theaterDE .slick-next {
  right: 10px;
}
#theaterDE .slick-prev {
  left: 10px;
  z-index: 100000;
}

@media (max-width: 991px) {
  #theaterDE .slick-next,
  #theaterDE .slick-prev {
    visibility: visible;
  }
}

#fullpage {
  display: none;
  position: fixed;
  cursor: pointer;
  z-index: 99999;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  background-size: contain;
  background-repeat: no-repeat no-repeat;
  background-position: center center;
  background-attachment: fixed;
  background-color: rgba(90, 90, 90, 0.95);
}
#fullpage > .comment {
  display: inline-block;
  position: absolute;
  bottom: 10px;
  left: 10px;
  padding: 3px 5px;
  background: #444444;
  color: white;
}
