:root {
    --main-color: #F0AF00;
    --main-light: #EFB433;
    --dark:  #000;
    --light:  #fff;
    --grey:  #B8B8B8;
    --warning: #D03902;
    
    --tpl-font-heading: "Martin","Teko", "Helvetica Neue", Helvetica, Arial, sans-serif;
    --tpl-font-secondary:  "Source Sans Pro",arial,helvetica;
    --tpl-font-text: "Source Serif Pro",times,serif;


}


/* source-serif-pro-regular - latin */
@font-face {
  font-family: 'Source Serif Pro';
  font-style: normal;
  font-weight: 400;
  src: local(''),
       url('fonts/source-serif-pro-v11-latin-regular.woff2') format('woff2'), /* Chrome 26+, Opera 23+, Firefox 39+ */
       url('fonts/source-serif-pro-v11-latin-regular.woff') format('woff'); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
}

/* source-sans-pro-regular - latin */
@font-face {
  font-family: 'Source Sans Pro';
  font-style: normal;
  font-weight: 400;
  src: local(''),
       url('fonts/source-sans-pro-v14-latin-regular.woff2') format('woff2'), /* Chrome 26+, Opera 23+, Firefox 39+ */
       url('fonts/source-sans-pro-v14-latin-regular.woff') format('woff'); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
}

/* source-sans-pro-600 - latin */
@font-face {
  font-family: 'Source Sans Pro';
  font-style: normal;
  font-weight: 600;
  src: local(''),
       url('fonts/source-sans-pro-v14-latin-600.woff2') format('woff2'), /* Chrome 26+, Opera 23+, Firefox 39+ */
       url('fonts/source-sans-pro-v14-latin-600.woff') format('woff'); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
}

/* source-sans-pro-900 - latin */
@font-face {
  font-family: 'Source Sans Pro';
  font-style: normal;
  font-weight: 900;
  src: local(''),
       url('fonts/source-sans-pro-v14-latin-900.woff2') format('woff2'), /* Chrome 26+, Opera 23+, Firefox 39+ */
       url('fonts/source-sans-pro-v14-latin-900.woff') format('woff'); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
}

@font-face {
  font-family: 'Martin';
  font-style: normal;
  font-weight: 400;
  src: local(''),
       url('fonts/MARTIN-Regular.woff2') format('woff2'), /* Chrome 26+, Opera 23+, Firefox 39+ */
       url('fonts/MARTIN-Regular.woff') format('woff'); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
}

html.safari .loading-overlay {
    display: none !important;
}



#chat-widget-root {
    z-index: 20;
    position:  absolute;
}

#chat-widget-root .WidgetContent {
    box-shadow:  0px 0px 10px #000;
}


#chat-widget-root .WidgetContent {
    max-width: 500px !important;
    min-width: 340px !important;
    width: calc(100vw - 20px) !important;
    min-height: 480px !important;
    max-height: 800px !important;
    height: calc(100vh - 20px) !important;
}

#chat-widget-root .WidgetContent,
#chat-widget-root .WidgetMessagesAndInput {
    border-radius: 0;
    border: 0;
}

#chat-widget-root .WidgetMessagesAndInput, 
#chat-widget-root .WidgetButton,
#chat-widget-root .WidgetHeader {
    background: var(--main-color) !important;
}

#chat-widget-root .InputButton > .IconButton{
    width:  60px;
    height: 60px;
}

#chat-widget-root .InputTextarea {
    height:  60px;
}

#chat-widget-root .UserImage {
    border-radius:  0;
}
#chat-widget-root .Header {
    background: none;
}

#chat-widget-root .Message {
    position: relative;
}

#chat-widget-root .MessageButton,
#chat-widget-root .ButtonRow {
    border: 2px solid #000;
}

#chat-widget-root .CloseIcon {
    fill: aliceblue !important;
}

#chat-widget-root .HeaderContent .IconButtonIcon {
    fill:  #fff !important;
}

#chat-widget-root .IconButtonIcon {
  fill: var(--main-color) !important;
}

#chat-widget-root .IconButtonIcon {
    height: 130%;
    width: auto;
    margin:  -10px 0 0 -10px;
}


/*
#chat-widget-root .Message:after {
   content: "";
    position: absolute;
    top: 100%;
    left: 20px;
    border-top: 20px solid #fff;
    border-top-color: #fff; 
    border-left: 20px solid transparent;
    border-right: 20px solid transparent; 
}


#chat-widget-root .MessageUser .Message:after {
   right: 20px;
}
*/

#nl-wrap {
    height:640px;
}

#nl-wrap iframe {
    display: block;
    max-width: 100%; 
    border: 8px solid var(--main-color);
}



@media (max-width: 575px){
body {
    font-size: 15px;
}

#nl-wrap iframe {
    height:840px;
}

}
/* set lower from 1030 because of GDPR */
#header {
    z-index:  1004;
}

#mainNav>li a:hover {
    text-decoration:  none;
}
.toggle > label:before, .toggle > .toggle-title:before {
    transform: rotate(-45deg) translate3d(0, 0%, 0);
}

.accordion.accordion-modern-status>.card .card-header a:after {
    content: " ";
    position: absolute;
    top: calc(50% + 1px);
    right: 14px;
    border-color: #CCC;
    border-top: 1px solid;
    border-right: 1px solid;
    width: 8px;
    height: 8px;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    transition: transform 0.3s, top 0.3s;
    transform: rotate(135deg) translate3d(0, 0%, 0);
    transform-origin: 35%;
}

.accordion.accordion-modern-status>.card .card-header a.collapsed:after {
     transform: rotate(-45deg) translate3d(0, 0%, 0);
}


h1,.h1 {
    font-size: 3.2em;
    letter-spacing: 0.04em;
    line-height:  0.8em;
}

h2,.h2 {
    font-size: 2.6em;
    letter-spacing: 0.01em;
    line-height: 0.8em;
    margin-top:  50px;
    margin-bottom:  20px;
}

h3,.h3 {
    font-size: 1.8em;
    letter-spacing: 0.01em;
    line-height:  0.8em;
    margin-top:  40px;
    margin-bottom:  20px;
    word-spacing: 0.1em;
}

h4,.h4 {
    font-size: 1em;
    letter-spacing: 0.05em;
    line-height:  0.8em;
    margin-top:  20px;
    margin-bottom:  10px;
    font-family: var(--tpl-font-text) !important;
    text-transform:  none !important;
    font-weight: bold;

}


a.spielplanlink {
   text-decoration: none;
}


@media (min-width: 992px){

/*Playfull */

h2 a, h3 a {
    transition: all 0.1s ease-out;
    vertical-align: middle;

}

h2 a:hover, h3 a:hover {
 font-size: 1.05em;
}


a.spielplanlink h2,
a.spielplanlink h3 {
    transition: all 0.1s ease;
    vertical-align: middle;
    line-height: 3rem;
}



a.spielplanlink:hover h2,
a.spielplanlink:hover h3 {
    /*font-size: 3.7em;*/
    text-decoration: underline;
}


a .fa-arrow-right, a.blocklink .bg-light {
    transition: all 0.1s ease-out;
}

a:hover  .fa-arrow-right{
  transform: scale(1.1) rotate(-20deg);
}

a.blocklink:hover, a.spielplanlink:hover {
    text-decoration:  none;
}

a.blocklink:hover .bg-light {
    background: var(--main-color) !important;
}

a.blocklink p {
    color:  var(--dark);
}

/*Playful End*/
    


h1,.h1 {
    font-size: 5.5em;
    letter-spacing: 0.04em;
    line-height:  0.8em;
}

h2,.h2 {
    font-size: 3.5em;
    letter-spacing: 0.01em;
    line-height: 0.8em;
    margin-top:  50px;
    margin-bottom:  20px;
}

h3,.h3 {
    font-size: 2.2em;
    letter-spacing: 0.01em;
    line-height:  0.8em;
    margin-top:  40px;
    margin-bottom:  20px;
    word-spacing: 0.1em;
}
}

.s_impressum h2,
.s_legal-notice h2,
.s_impressum h3,
.s_legal-notice h3 {
    font-family: var(--tpl-font-secondary);
    text-transform: none;
    line-height:  1em;
    font-weight:  bold;
    margin-bottom:  10px;
}


.s_impressum h2,
.s_legal-notice h2 {
    font-size:  2em;
}

.s_impressum h3,
.s_legal-notice h3 {
    font-size:  1.2em;
}


.gdpr-bar {
    position: fixed;
    top: 0;
    height: 100%;
    width: 100%;
    z-index: 1005;
    background: rgba(0, 0, 0, 0.5);
    transform: translate3d(0, 0, 0);
      
}

.show .gdpr-inner {
    background: #fff;
    padding:  20px;
    width:  85%;
    margin:  0 auto;

}


/* COOKIE BANNER ENDE */


.hidden-article, 
.komplizincard .textimage:hover h3,
.komplizincard .textimage:hover i {
  display: none;
}

 img.blackwhite {
    -webkit-filter: grayscale(100%); /* Safari 6.0 - 9.0 */
  filter: grayscale(100%);
}

.komplizincard:hover img.blackwhite {
    -webkit-filter: grayscale(0%); /* Safari 6.0 - 9.0 */
  filter: grayscale(0%);
}


.fas.fa-arrow-right {
    font-size: 0.8em;
}
/* Calendar */

.module.calender-slider .item, .calender-slider#prodFilterPrevNextMonth .item {
    font-family: "Modus W00 Bold", "Helvetica Neue", Arial, sans-serif;
    font-weight: normal;
    font-style: normal;
    position: relative;
    padding-top: 4.2rem;
}

.module.calender-slider .item .no-link, .calender-slider#prodFilterPrevNextMonth .item .no-link {
    color: #E6E6E6;
}

.module.calender-slider .item a, .calender-slider#prodFilterPrevNextMonth .item a, 
.module.calender-slider .item .no-link, 
.calender-slider#prodFilterPrevNextMonth .item .no-link {
    font-size: 1.6rem;
    text-decoration: none;
    line-height: 1;
}

/* END Calendar */

.festival-bar .toggle > label:before, .festival-bar .toggle > .toggle-title:before {
    right:  0;
}

.teammember a {
    text-decoration:  none;
}

.main {
    padding:  125px 0 140px 0;
}


@media (min-width: 992px){

.show .gdpr-inner {
    width:  50%;
      
}

.bg-stern {
    background:  url("/images/sonne_leer.svg") no-repeat;
    background-position: bottom right;
}

.headgap {
    margin-top: -5px;
}

.s_kontakt .bg-stern {
    background-position: 130% -450px;
}

.s_team .bg-stern,
.s_team-en .bg-stern{
    background-position: right 50px top 150px;
     background-attachment: fixed;
}

.s_spielplan .bg-stern,
.s_schedule .bg-stern,
.s_reihen-festivals .bg-stern{
    background-position: right 50px top 150px;
     background-attachment: fixed;
}

a:focus {
    color: inherit;
}

/*
.s_spielplan .bg-stern,
.s_schedule .bg-stern  {
    background-position: right bottom;
     background-attachment: fixed;
}
*/


.main {
    padding:  165px 0 140px 0;
}

}

.accordion .card-header a {
    font-weight:  bold;
    font-family:  var(--tpl-font-secondary);
    font-size: 1.2rem;
}


.border-secondary {
    border-color: var(--warning)!important;
}

.spyglass {
    padding: 20px 10px 0 0;
}

.teammember {
    font-family: var(--tpl-font-secondary);
    font-size: 1.1rem;
   
}


.teammember a {
    color: var(--main-color);
     font-weight: bold;
}


.teammember h2 {
    font-size:  1.5rem;
    text-transform:  none;
    font-family: var(--tpl-font-secondary);
    margin: 30px 0 10px 0;
    padding: 0;
    font-weight: bold;
}

.buchstabenliste li {
    text-align:  center;
    float:  left;
    text-transform:  uppercase;
    list-style-type: none;
    width: 28px;
}

#langswitcher ul li {
    display:  inline;
    list-style-type: none;
}

#langswitcher ul li:first-child {
    border-right:  1px solid #000;
    padding-right:  3px;
}

html .text-color-dark, html .text-dark {
    color: var(--dark) !important;
}

html .bg-color-dark, html .bg-dark {
    background:  var(--dark) !important;
}

.searchme {
    position:  absolute;
    top:  -300px;
    left: 0;
    z-index:  100;
    height: 90px;
    background:  var(--main-color);
    color:  var(--dark);
    transition: top .4s;

}

.mfp-title {
    font-weight:  bold;
}

.toggle > .toggle-title.toggle-sidebar:before{
    right: 0px;
}

.pressestimmen .owl-item div {
    text-align:  center;
}


.main.festival {
    padding-top:  88px;
}

.mainNav a {
    font-family: var(--tpl-font-heading) !important;
}
.searchme input, .searchme input:focus {
      background: transparent;
      border: none;
      font-family:  var(--text-sans);
}

.searchform input::placeholder{
    color: var(--dark);
}

.header-nav-features-search-hide-icon {
    color: var(--dark);
}

.searchme.reveal {
    top:  0px;
}

.text-heading {
    font-family: var(--tpl-font-heading) !important;
}

.text-sans {
    font-family: var(--tpl-font-secondary) !important;
    color: var(--dark) !important;
    /*letter-spacing: 0.03em;*/
    font-weight:  700;
}

.btn, .card {
    border-radius: 0;
    border: 0px;
}

table.stueckdetails td:first-child {
    width:  40%;
    font-weight:  bold;
}

table.stueckdetails td {
    font-size:  1.2rem;
}


.textslide a, .textslide strong {
    color: var(--dark);
    font-family:  var(--tpl-font-secondary);
    text-transform: uppercase;
    text-decoration:  none !important;
    font-size: 1rem;
    padding-top:  15px;
    display: block;
    font-weight:  bold;
}

.warning.articleinfo {
    color: var(--warning) !important;
    font-size:  16px !important;
}

.text-decoration-hover-underline:hover {
    text-decoration: underline;
}

p.text-sans {
    line-height: 1.2rem;
}

p a, .accordion .card-body a {
    color: var(--dark);
    text-decoration: underline;
    font-weight: bold;
}

p a:not(.btn):hover {
    opacity: 0.6;
    color: var(--dark);
}

aside a {
    font-family: var(--tpl-font-secondary);
    color:  var(--main-color);
    font-size: 1rem;
    text-decoration:  none;
    font-weight:  bold;
}

#calendar a {
    font-size:  inherit;
}

p a.text-primary:focus, p a.text-primary:hover, 
a.text-primary:focus, a.text-primary:hover,
.teammember a:hover {
    color: var(--main-light) !important;
    opacity:  0.6;
}

.list.list-icons li > [class*="fa-"]:first-child, .list.list-icons li > .icons:first-child, .list.list-icons li a:first-child > [class*="fa-"]:first-child, .list.list-icons li a:first-child > .icons:first-child {
    top: 7px;
}


.maincontent p a:not(.btn) {
    text-decoration:  underline;
    font-weight:  bold;
}


.color-light {
    color: var(--light);
}

.btn:hover {
   /* transform: scale(0.9); */
}
.btn.btn-secondary, .btn.btn-secondary:hover,
html .btn-secondary:focus, html .btn-secondary.focus,
html .btn-secondary:active, html .btn-secondary.active  {
    color: var(--light);    
    border: 4px solid var(--light) !important;
    font-family: var(--tpl-font-secondary);
    background: none !important;
    font-weight: bold;
    padding:  3px 4px;
    /*letter-spacing: 2px;*/
}

.sticky-wrapper ul li {
    display: inline-block;
}

.bg-main {
    background: var(--main-color);
}

.border-primary {
    border-color:  var(--main-color) !important;
}

.border-dark {
    border-color:  var(--dark) !important;
}

.sidebar {
    font-family:  var(--tpl-font-secondary);
}

.sidebar h3 {
    margin-bottom:  10px;
}

.sidebar strong {
    font-weight: 600 !important;
}

#footer p,#footer a {
    line-height: 1rem;
    font-size: 0.8rem;
    color:  #fff !important;
}

#footer nav ul {
   padding-top:  0;
}
@media (min-width: 1480px){
.container,
html.side-header-hamburguer-sidebar .main .container, 
html.side-header-hamburguer-sidebar #footer .container {
    max-width: 1430px;
    padding: 0 10px;
}
}

@media (min-width: 1281px){
.container,
html.side-header-hamburguer-sidebar .main .container,
html.side-header-hamburguer-sidebar #footer .container {
    max-width: 1280px;
}
}


#twitter-widget-0 {
    max-height: 400px;
}

.map-size, .twitter-size {
    height:  200px !important;
    }

@media (min-width: 992px){
.map-size, .twitter-size {
    height:  400px !important;
}

#twitter-widget-0{
    min-height:  500px !important;
}

html.side-header-hamburguer-sidebar #header.side-header .header-nav.header-nav-links nav > ul > li > a, html.side-header-hamburguer-sidebar #header.side-header .header-nav.header-nav-links nav > ul > li:hover > a,
html.side-header-hamburguer-sidebar #header.side-header .header-nav.header-nav-links nav > ul li a  {
    color: var(--dark) !important;

}

}




html.side-header-hamburguer-sidebar #header.side-header .header-nav.header-nav-links nav > ul > li a {
    font-family:  var(--tpl-font-secondary);
}

html.side-header-hamburguer-sidebar #header.side-header .header-nav.header-nav-links nav > ul > li > a {
    display:  block;
}

html.side-header-hamburguer-sidebar #header.side-header .header-nav.header-nav-links nav > ul > li a:hover  {
    background:  none !important;
}

.container-main {
    padding-top:  90px;
    margin-bottom: 40px;
}


/* clears the 'X' from Internet Explorer */
input[type=search]::-ms-clear {  display: none; width : 0; height: 0; }
input[type=search]::-ms-reveal {  display: none; width : 0; height: 0; }

/* clears the 'X' from Chrome */
input[type="search"]::-webkit-search-decoration,
input[type="search"]::-webkit-search-cancel-button,
input[type="search"]::-webkit-search-results-button,
input[type="search"]::-webkit-search-results-decoration { display: none; }



#calendar {
    font-family:  var(--tpl-font-heading);
    font-size: 1.6rem;
    text-transform:  uppercase;
    font-weight: normal;
    border:  8px solid var(--main-color);
    padding:  5px;
}

#calendar th {
    font-size: 1.4rem;
    letter-spacing: 1px;
    font-weight: normal;
    padding: 3px;
}

#calendar td {
    padding:  4px;
}

aside #calendar a {
    font-family: var(--tpl-font-heading);
    font-weight:  normal;
}

.s_de #calendar td, .s_en #calendar td {

    border-bottom:  7px solid transparent;
    border-top:  7px solid transparent;
}


#calendar td span, #calendar td a {
    padding: 4px 4px 8px 4px;
}

#calendar td.today span, #calendar td.today a{
    background: var(--main-color);
    display: block;
}

hr {
    border: 5px solid var(--main-color);
    height: 0;
    margin: 36px 0 36px 0;
}  

hr.dark {
    border: 2px solid var(--dark);
    height: 0;
    margin: 36px 0 36px 0;
} 

.maincolor {
    color: var(--main-color);
}

.overlapped {
    margin-bottom:  140px;
     /*transition: transform .2s;*/
}

/*
.overlapped:hover {
     transform: scale(1.1);
}
*/

.svg-inline--fa {
    width:  100%;   
    opacity:  1;
}

.svg-md {
    width:  36px;
    height:  36px;
}


.svg-sm {
    width:  24px;
    height:  24px;
}

.svg-xs {
    width:  15px;
    height:  15px;
}

.festival-bar .toggle > label, .festival-bar .toggle > .toggle-title {
    background: none;
}
.festival-bar {
    background: var(--main-color);
    color: var(--dark);
}



.festival-bar .untertitel {
    max-width:  100px;
    text-align: left;
    line-height: 0.7rem;
}

.toggle > label:hover,
.toggle > .toggle-title:hover,
.toggle > label, .toggle > .toggle-title,
.toggle.active > label,
.toggle.active > .toggle-title,

.accordion .card-header,
.textimage:hover {
    background:  none;
}

.accordion .card-body {
    padding:  0 1.25rem 1.25rem 1.25rem;
}

.dropdown-menu {
    background:  var(--main-color);
}

.img-thumbnail img {
    border-radius:  0;
}

.l_de {
    padding-right:  4px;
    border-right:  2px solid #fff;
    display: inline-block;
    margin-right:  4px;
}

.toggle > .d-inline-block.toggle-title:before {
    right:  -20px;
    width:  18px;
    height:  18px;
    top: calc(50% - 10px);
}

.toggle.active > .d-inline-block.toggle-title:before {
    top: calc(50% - 18px);
    
}

select.form-control {
    background-clip: border-box;
}

select.form-control:focus {
    box-shadow:  none;
}


h1,.h1,h2,.h2,h3,.h3,h4,.h4,h5,.h5 {
    font-family: var(--tpl-font-heading);
    text-transform: uppercase;
    color:  var(--dark);
}

.h3.text-primary a{
    color:  var(--main-color) !important;   
}

h1 a,.h1 a,h2 a,.h2 a,h3 a,.h3 a,h4 a,.h4 a,h5 a,.h5 a {
    color: var(--dark);
}

h1 a:hover,.h1 a:hover,h2 a:hover,.h2 a:hover,h3 a:hover,.h3 a:hover,h4 a:hover,.h4 a:hover,h5 a:hover,.h5 a:hover {
    text-decoration:  none;
}



.text-normalcase {
    text-transform: normal !important;
}

.hamburguer-btn .hamburguer span {
    transform:  none;
    height:  3px;
}

.hamburguer-btn .hamburguer span:nth-child(1) {
    top: 25%;
}

.hamburguer-btn .hamburguer span:nth-child(3) {
    top: 73%;
}



.border-normal {
    border: 3px solid var(--main-color);

}

.red {
    color: red !important;
}

.homeimage {
    left: 50%;
}

.abcenter{
    position: relative;
    left: -50%;
}


.smd_cal_standard {
    width: 10px;
    height: 10px;
    background: red;
    display: block;
}

.hamburguer-btn.hamburguer-btn-light .hamburguer span, .hamburguer-btn.hamburguer-btn-light .close span {
    background: var(--light);
}

.textimage {
    z-index: 1;
    padding: 0;
    margin: 0;
    text-align: left;
    
}

.komplizincard .textimage{
    top: 0;
}

.textimage-primary {
    background: rgba(240,175,0,0.7);
}

.isotope-item {
    text-align:  left;
}


