/*
-------------------------------------------------------------------
MuTh Theme
-------------------------------------------------------------------
*/

/* @import url('https://fonts.googleapis.com/css2?family=Libre+Baskerville:ital,wght@0,400;0,700;1,400&display=swap'); */

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

@import url('https://use.typekit.net/prc5hvo.css');

:root {
    --opacity-hover: 0.85;
    --color-white: rgba(255, 255, 255, 1);
    --color-white-hover: rgba(255, 255, 255, var(--opacity-hover));
    --color-red: rgba(184, 7, 34, 1);
    --color-red-hover: rgba(184, 7, 34, var(--opacity-hover));
    --color-grey: rgba(107, 128, 145, 1);
    --color-grey-hover: rgba(107, 128, 145, var(--opacity-hover));
    --color-lightgrey: rgba(242, 243, 244, 1);
    --color-lightgrey-hover: rgba(242, 243, 244, var(--opacity-hover));
    --color-black: rgba(0, 0, 0, 1);
    --color-black-hover: rgba(0, 0, 0, var(--opacity-hover));
    --font-muth-icons: 'muth-icons';
    --font-muth-icons-footer: 'muth-icons-footer';
    --font-baskerville: 'Libre Baskerville', Verdana, serif;
    --font-effra: 'effra', Verdana, sans-serif;
    --font-effra-weight-default: 400;
    --font-effra-weight-bold: 700;
}

.breadcrumbs {
    color: var(--color-grey);
    text-transform: uppercase;
    background: var(--color-lightgrey);
    margin-left: 16.6666666667%;
    padding-left: 20px;
    margin-top: 46px;
    font-size: 70%;
    z-index: 110;
}

.breadcrumbs a {
    text-decoration: none;
    color: var(--color-grey);
}

.breadcrumbs i, .breadcrumbs i:nth-child(2) {
    font-size: 0.4rem;
    position: relative;
    top: -2px;
    margin: 0 0.225rem;
}

.breadcrumbs i:nth-child(1) {
    font-size: 1rem;
    position: relative;
    top: 1px;
}

.breadcrumbs a:hover {
    text-decoration: none;
    color: var(--color-grey-hover);
}

blockquote {
    font-size: 1.5rem;
    line-height: 2rem;
    color: var(--color-grey);
    font-family: var(--font-baskerville);
    font-style: normal !important;
}

em {
    font-style: normal !important;
}

.dce {
    color: var(--color-white);
    position: relative;
    min-height: 350px;
}

.dce.owl-carousel {
    min-height: auto;
}

.dce .dce-disclaimer {
    font-size: 0.5rem;
}

.dce p {
    margin: 0;
    padding: 0;
}

.dce input[type=email] {
    width: 100%;
    border: 0;
    color: var(--color-grey);
    background-color: var(--color-white);
    border-color: var(--color-white);
    padding: .375rem .75rem;
    margin-top: 0.5rem;
}

.dce label {
    width: 100%;
}
.dce input[type=submit] {
    position: absolute;
    right: 0;
    bottom: 0;
    text-transform: uppercase;
    border: 0;
    color: var(--color-red);
    background-color: var(--color-white);
    border-color: transparent;
    padding: .375rem .75rem;
    margin-right: 3px;
    margin-bottom: 3px;
}

.dce .wpcf7-not-valid-tip {
    color: white;
    font-size: 0.8rem;
    font-weight: normal;
    display: block;
}

.dce .wpcf7 form.invalid .wpcf7-response-output, .wpcf7 form.unaccepted .wpcf7-response-output {
    border-color: transparent;
}

.dce .wpcf7 .ajax-loader {
    display: none;
}

.dce .wpcf7 form .wpcf7-response-output {
    margin: 0;
    padding: 0;
    border: 0;
    font-size: 0.8rem;
    line-height: 1;
}

.dce input[type=submit]:hover {
    background-color: var(--color-white-hover);
}

.dce .dce_title {
    font-size: 2rem;
    text-transform: uppercase;
    line-height: 1.2;
}
.dce > p {
    line-height: 1.2;
}

.dce .dce_title_floor {
    background: var(--color-grey);
    padding: 1rem;
    display: inline-block;
    position: absolute;
    bottom: 0;
    left: 0;
}

.dce > i {
    font-size: 2rem;
    position: absolute;
    bottom: 0;
    left: 0;
    padding: 1.5rem;
}

.dce > a {
    position: absolute;
    bottom: 0;
    right: 0;
}

.dce_black {
    background: var(--color-black);
}

.dce_red {
    background: var(--color-red);
}

.dce_red i {
    font-size: 3rem;
    padding: 1rem;
    padding-bottom: 0;
}

.dce_grey {
    background: var(--color-grey);
}

body,
html {
    margin: 0;
    padding: 0;
    background: var(--color-white);
    font-family: var(--font-effra);
    font-style: normal;
    font-size: 1.1rem;
    font-weight: var(--font-effra-weight-default);
    line-height: 1.5;
    color: var(--color-black);
    background-color: var(--color-white);
    -webkit-text-size-adjust: 100%;
    -webkit-tap-highlight-color: transparent;
}

.font-quote {
    font-family: var(--font-baskerville);
}

.btn {
    border-radius: 0;
    text-transform: uppercase;
}

a.btn:hover {
    text-decoration: none;
}

.btn.btn-white, .btn.btn-white:active {
    color: var(--color-grey);
    background-color: var(--color-white);
    border-color: var(--color-white);
}

.btn.btn-white:hover {
    color: var(--color-grey);
    background-color: var(--color-white-hover);
    border-color: var(--color-white);
}

.btn.btn-red, .btn.btn-red:active {
    color: var(--color-white);
    background-color: var(--color-red);
    border-color: var(--color-red);
}

.btn.btn-red:hover {
    color: var(--color-white);
    background-color: var(--color-red-hover);
    border-color: var(--color-red);
}

.btn.btn-grey, .btn.btn-grey:active {
    color: var(--color-white);
    background-color: var(--color-grey);
    border-color: var(--color-grey);
}

.btn.btn-grey:hover {
    color: var(--color-white);
    background-color: var(--color-grey-hover);
    border-color: var(--color-grey);
}

.btn.btn-blend {
    mix-blend-mode: lighten;
    color: var(--color-black);
}

.btn-full {
    display: flex;
    height: 100%;
    align-items: flex-end;
    justify-content: flex-end;
    flex-wrap: wrap;
    flex-direction: row;
}

section {
    padding: 2rem 0rem;
}

.card {
    border: 0;
    border-radius: 0;
}

.card-img, .card-img-top {
    border-top-left-radius: 0;
    border-top-right-radius: 0;
}

.card-body {
    padding: 1rem 0rem;
}

.card-title {
    text-transform: uppercase;
    margin-bottom: 1rem;
    margin-top: 1rem;
}

.card-date {
    position: relative;
}

.card-date::before {
    display: inline-block;
    position: absolute;
    content: "";
    border-top: 0.2rem solid var(--color-black);
    width: 2rem;
    top: -0.2rem;
}

.owl-theme .owl-dots .owl-dot.active span, .owl-theme .owl-dots .owl-dot:hover span {
    background: var(--color-grey);
}

.owl-theme .owl-dots .owl-dot span {
    width: 15px;
    height: 15px;
    margin: 5px 7px;
    background: var(--color-white);
    display: block;
    transition: opacity .2s ease;
    border-radius: 0;
    border: 2px solid var(--color-grey);
}

.owl-theme .owl-nav {
    display: flex;
    position: absolute;
    right: -60px;
    /* top: 74px; */
    top: 20px;
    margin: 0;
    padding: 0;
    flex-direction: column-reverse;
    flex-wrap: wrap;
}

.owl-carousel .owl-nav button.owl-next, .owl-carousel .owl-nav button.owl-prev {
    background: var(--color-red);
    color: var(--color-white);
    border: 0;
    padding: 0;
    height: 60px;
    width: 60px;
    font: inherit;
    font-size: 2rem;
    border-radius: 0;
    margin: 0;
}

.owl-theme .owl-nav [class*=owl-]:hover {
    background: var(--color-red-hover);
    color: #FFF;
    text-decoration: none;
}

section.default hr {
    padding: 0 2rem;
    height: 2px;
    background-color: var(--color-grey);
    opacity: 1;
}

#scrollToTop {
    position: fixed;
    bottom: 0px;
    right: 0;
    display: none;
    background: var(--color-grey);
    color: var(--color-white);
    padding: 1rem;
    z-index: 999;
    cursor: pointer;
}

#scrollToTop:hover {
    background: var(--color-grey-hover);
}

#scrollToTop.active {
    display: inline-block;
}

@media (max-width:992px) {

    #scrollToTop {
        bottom: 46px;
    }

}



/*
-------------------------------------------------------------------
Helper classes
-------------------------------------------------------------------
*/

body {
    overflow-x: hidden;
}

.flex-center-center {
    display: flex;
    align-items: center;
    justify-content: center;
}

.flex-center-start {
    display: flex;
    align-items: center;
    justify-content: start;
}

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

.img-fluid-full {
    width: 100%;
    height: auto;
}

body .img-fluid-full {
    margin-top: -10px;
}

.truncate_text {
    overflow: hidden;
    text-overflow: ellipsis;
    display: -webkit-box;
    -webkit-line-clamp: 8;
    -webkit-box-orient: vertical;
}

.blackwhite {
    -moz-filter: grayscale(100%);
    -webkit-filter: grayscale(100%);
    filter: gray;
    filter: grayscale(100%);
    opacity: 0.25;
}

.error_404 {
    height: 50vh;
    display: flex;
    flex-direction: column;
    flex-wrap: wrap;
    justify-content: center;
}

.error_404 img {
    text-align: center;
    left: 0;
    width: 100%;
}

/*
-------------------------------------------------------------------
Splashscreen
-------------------------------------------------------------------
*/

#splashscreen {
    position: fixed;
    left: 0;
    right: 0;
    top: -100px;
    bottom: -100px;
    background: var(--color-black);
    color: var(--color-white);
    display: block;
    z-index: 1024;
}

#splashscreen .splashscreen-content {
    display: table;
    width: 100%;
    height: 100%;
}

#splashscreen div.splashscreen-content div {
    color: inherit;
    display: table-cell;
    vertical-align: middle;
    text-align: center;
    width: 100%;
    height: 100%;
}

/*
-------------------------------------------------------------------
Startseite-Slider
-------------------------------------------------------------------
*/

section.home-slider {
    display: block;
    position: relative;
    width: 100%;
    height: calc(100vh - 240px);
    overflow: hidden;
    z-index: 1;
}

section.home-slider .owl-carousel {
    width: 100%;
    height: 100vh;
}

section.home-slider .owl-carousel .item {
    width: 100%;
    height: 100vh;
}

section.home-slider .owl-carousel .item iframe {
    width: 100%;
    height: 100vh;
}

section.home-slider .owl-carousel .item .video-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

section.home-slider .home-slider-info {
    position: absolute;
    top: 2rem;
    right: 2rem;
    width: auto;
    height: auto;
    z-index: 1;
    /* TODO mit KRIS klären: ist geklärt :) */
	/* display:none !important;  */
}

section.home-slider .home-slider-info_addition {
    position: absolute;
    top: 2rem;
    right: 2rem;
    width: auto;
    height: auto;
    z-index: 1;
    margin-top: 230px;
}

section.home-slider .home-slider-info > .home-slider-info-quickicons {
    background: var(--color-red);
    width: 240px;
    height: 240px;
    display: flex;
    flex-wrap: wrap;
}

section.home-slider .home-slider-info > .home-slider-info-quickicons > a {
    display: flex;
    padding: 1rem;
    width: 50%;
    font-size: 2.5rem;
    color: var(--color-white);
    text-decoration: none;
    align-content: center;
    justify-content: center;
    align-items: center;
}

/*section.home-slider .home-slider-info > .home-slider-info-quickicons > a:nth-child(1) {
    align-content: flex-start;
    justify-content: flex-start;
    align-items: flex-start;
}

section.home-slider .home-slider-info > .home-slider-info-quickicons > a:nth-child(2) {
    align-content: flex-start;
    justify-content: flex-end;
    align-items: flex-start;
}

section.home-slider .home-slider-info > .home-slider-info-quickicons > a:nth-child(3) {
    align-content: flex-end;
    justify-content: flex-start;
    align-items: flex-end;
}

section.home-slider .home-slider-info > .home-slider-info-quickicons > a:nth-child(4) {
    align-content: flex-start;
    justify-content: flex-end;
    align-items: flex-end;
}*/

section.home-slider .home-slider-info > .home-slider-info-quickicons > a:hover {
    color: var(--color-white-hover);
    text-decoration: none;
}

section.home-slider .home-slider-info > .home-slider-info-quickicons > a i {
    font-size: 3.5rem;
}

section.home-slider .home-slider-info_addition > .home-slider-info-shoutbox {
    width: 240px;
    display: flex;
    flex-wrap: wrap;
    margin-top: 1rem;
}

section.home-slider .home-slider-info_addition > .home-slider-info-shoutbox a {
    background: var(--color-white);
    color: var(--color-red);
    text-decoration: none;
}

section.home-slider .home-slider-info_addition > .home-slider-info-shoutbox a:hover {
    opacity: var(--opacity-hover);
}

section.home-slider .home-slider-info_addition > .home-slider-info-shoutbox div:first-child {
    display: flex;
    width: 100%;
    align-content: flex-start;
    justify-content: flex-start;
    align-items: flex-start;
}

section.home-slider .home-slider-info_addition > .home-slider-info-shoutbox div:first-child i {
    font-size: 3.5rem;
}

section.home-slider .home-slider-info_addition > .home-slider-info-shoutbox .home-slider-info-shoutbox-message {
    padding-left: 1rem;
    padding-right: 2rem;
    padding-top: 0;
    padding-bottom: 1rem;
    line-height: 1.2;
}

section.home-slider .home-slider-info_addition > .home-slider-info-livestream {
    width: 200px;
    display: flex;
    flex-wrap: wrap;
    margin-top: 10px;
}

section.home-slider .home-slider-info_addition > .home-slider-info-livestream div:first-child {
    display: flex;
    padding: 1rem;
    width: auto;
    align-content: flex-start;
    justify-content: flex-start;
    align-items: flex-start;
}

section.home-slider .home-slider-info_addition > .home-slider-info-livestream div:first-child i {
    font-size: 2.5rem;
    color: var(--color-white);
    text-decoration: none;
}

section.home-slider .home-slider-info_addition > .home-slider-info-livestream .home-slider-info-livestream-message {
    line-height: 1.2;
    display: flex;
    align-content: center;
    justify-content: flex-start;
    align-items: center;
}


section.home-slider .home-slider-info_addition > .home-slider-info-livestream a {
    color: var(--color-white);
    background: var(--color-grey);
    text-decoration: none;
    display: flex;
    width: 100%;
}

section.home-slider .home-slider-info_addition > .home-slider-info-livestream:hover a {
    color: var(--color-white-hover);
    text-decoration: none;
    opacity: var(--opacity-hover);
}

/*
-------------------------------------------------------------------
Startseite-Slider (responsive)
-------------------------------------------------------------------
*/


@media (min-width:2560px) {

    section.home-slider .home-slider-info > .home-slider-info-quickicons {
        width: 400px;
        height: 400px;
    }


    section.home-slider .home-slider-info_addition > .home-slider-info-livestream, section.home-slider .home-slider-info_addition > .home-slider-info-shoutbox {
        width: 400px;
    }

    section.home-slider .home-slider-info_addition {
        margin-top: 385px;
    }

}

@media (max-width:992px) {

    section.home-slider .home-slider-info {
        top: auto;
        right: 0;
        bottom: 0;
        z-index: 1;
        width: 100%;
    }

    section.home-slider .home-slider-info_addition {
        margin-top: 50px;
    }

    section.home-slider .home-slider-info_addition > div {
        width: 140px;
    }

    section.home-slider .home-slider-info > .home-slider-info-quickicons {
        width: auto;
        height: auto;
        flex-wrap: nowrap;
        flex-direction: row;
        align-content: center;
        justify-content: center;
        align-items: center;
    }

    section.home-slider .home-slider-info > .home-slider-info-quickicons > a:nth-child(1), section.home-slider .home-slider-info > .home-slider-info-quickicons > a:nth-child(2), section.home-slider .home-slider-info > .home-slider-info-quickicons > a:nth-child(3), section.home-slider .home-slider-info > .home-slider-info-quickicons > a:nth-child(4) {
        justify-content: center;
        padding: 0.5rem;
    }

    section.home-slider .home-slider-info > .home-slider-info-quickicons > a i {
        font-size: 2.5rem;
    }

    section.home-slider .home-slider-info_addition > .home-slider-info-livestream a {
        background: var(--color-red);
    }

}

@media (max-width:576px) {

    section.home-slider .home-slider-info_addition > .home-slider-info-shoutbox, section.home-slider .home-slider-info_addition > .home-slider-info-livestream {
        width: 160px;
    }

}

/*
-------------------------------------------------------------------
Startseite-Konzertsaal, Bühne & Programm
-------------------------------------------------------------------
*/

    section.home-termin {
        padding: 0;
        margin-top: -140px;
        position: relative;
        z-Index: 2;
    }

    section.home-termin h2 {
        font-size: 2.5rem;
        font-weight: var(--font-effra-weight-bold);
        color: var(--color-grey);
    }

    section.home-termin .home-termin-slider .item {
        height: 280px;
        background: var(--color-grey);
        color: var(--color-white);
    }

    section.home-termin .home-termin-slider .item a {
        text-decoration: none;
        color: var(--color-white);
    }

    section.home-termin .home-termin-slider .item a:hover {
        opacity: var(--opacity-hover);
    }

    section.home-termin .home-termin-slider-next a {
        text-decoration: none;
    }

    section.home-termin .home-termin-slider-next a .home-termin-subtitle {
        color: var(--color-black);
    }

    section.home-termin .home-termin-slider-next a:hover {
        opacity: var(--opacity-hover);
    }

    section.home-termin .home-termin-slider-next {
        position: absolute;
        width: 100%;
        bottom: 0;
        /* height: 200px; */
        height: 240px;
        margin-bottom: 14px;
        background: var(--color-white);
    }

    section.home-termin .item_left {
        height: 100%;
        float: left;
    }

    section.home-termin .item_right {
        display: flex;
        flex-direction: column;
        align-content: flex-start;
        justify-content: center;
        height: 100%;
    }

    section.home-termin .item_left .img-fluid {
        height: 100%;
        width: auto;
    }

    section.home-termin .home-termin-title {
        text-transform: uppercase;
        font-size: 1.5rem;
        line-height: 1.2;
    }

    section.home-termin .home-termin-date {
        position: relative;
        text-transform: uppercase;
        font-size: 1.5rem;
        line-height: 1.2;
    }

    section.home-termin .home-termin-date::before {
        display: inline-block;
        position: absolute;
        content: "";
        border-top: 0.15rem solid var(--color-white);
        width: 2rem;
        top: -0.2rem;
    }

    section.home-termin .home-termin-slider-next .home-termin-title, section.home-termin .home-termin-slider-next .home-termin-date {
        font-size: 1.0rem;
    }

    section.home-termin .home-termin-slider-next .home-termin-title {
        color: var(--color-grey);
    }

    section.home-termin .home-termin-slider-next .home-termin-date {
        font-size: 1.0rem;
        color: var(--color-grey);
    }

    section.home-termin .home-termin-slider-next .home-termin-date::before {
        border-top: 0.2rem solid var(--color-grey);
    }

    section.home-termin .home-termin-slider-next .home-termin-subtitle {
        font-size: 90%;
        line-height: 1.2;
    }

    section.home-termin .home-termin-desc {
        color: var(--color-grey);
        display: flex;
        flex-direction: column;
        height: 100%;
        align-items: flex-end;
        justify-content: center;
        flex-wrap: wrap;
        padding: 1rem;
    }

/*
-------------------------------------------------------------------
Startseite-Konzertsaal, Bühne & Programm (responsive)
-------------------------------------------------------------------
*/

@media (max-width:992px) {

    section.home-slider {
        height: calc(100vh - 0px);
    }

    section.home-termin {
        margin-top: -250px;
    }

    section.home-termin .container-fluid {
        background: var(--color-white);
        margin-bottom: 50px;
    }

    section.home-termin .home-termin-slider-responsive {
        padding-right: 40px;
    }

    section.home-termin .home-termin-slider {
        height: 140px;
    }

    section.home-termin .home-termin-title {
        font-size: 0.8rem;
    }

    section.home-termin .home-termin-slider .item {
        line-height: 1;
        font-size: 0.7rem;
    }

    section.home-termin .home-termin-date {
        font-size: 0.8rem;
    }

    section.home-termin .owl-theme .owl-nav {
        right: -40px;
        top: 0;
    }

    section.home-termin .owl-carousel .owl-nav button.owl-next, section.home-termin .owl-carousel .owl-nav button.owl-prev {
        /* height: 60px; */
        height: 70px;
        width: 40px;
    }

    section.home-termin h2 {
        font-size: 1.2rem;
        padding-left: 40px;
        padding-top: 10px !important;
        padding-bottom: 10px !important;
        text-align: center;
    }

    section.home-termin .item {
        height: 140px !important;
    }

}

/*
-------------------------------------------------------------------
(TODO) Startseite-Newsletter + DCE Boxen
-------------------------------------------------------------------
*/



/*
-------------------------------------------------------------------
(TODO) Startseite-Newsletter + DCE Boxen (responsive)
-------------------------------------------------------------------
*/



/*
-------------------------------------------------------------------
Startseite-News
-------------------------------------------------------------------
*/

section.home-news {
    display: flex;
}

section.home-news .home-news-left {
    display: flex;
    width: 15%;
    align-items: center;
    justify-content: center;
}

section.home-news .home-news-right {
    width: 85%;
}

section.home-news h2 {
    transform: rotate(-90deg);
    -webkit-transform: rotate(-90deg);
    -moz-transform: rotate(-90deg);
    -ms-transform: rotate(-90deg);
    -o-transform: rotate(-90deg);
    filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=3);
    white-space: nowrap;
    font-size: 5rem;
    color: var(--color-grey);
}

section.home-news .home-news-right a {
    text-decoration: none;
}

section.home-news .home-news-right div.card-title, section.home-news .home-news-right .card-text{
    color: var(--color-black);
}

/*
-------------------------------------------------------------------
Startseite-News (responsive)
-------------------------------------------------------------------
*/

@media (max-width:576px) {
    section.home-news h2 {
        font-size: 3rem;
    }
}

/*
-------------------------------------------------------------------
Startseite-Programm Highlights
-------------------------------------------------------------------
*/

section.home-highlights {
    display: flex;
}

section.home-highlights .home-highlights-grid-container .home-highlights-genre {
    position: absolute;
    right: 0;
    top: 0;
    background: var(--color-white);
    color: var(--color-grey);
    text-transform: uppercase;
    padding: 0.5rem;
}

section.home-highlights .home-highlights-grid-container .home-highlights-details {
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
}

section.home-highlights .home-highlights-grid-container .home-highlights-details .home-highlights-title {
    background: var(--color-grey);
    /* padding: 1.5rem; */
    padding: 1rem;
    line-height: 1;
    color: var(--color-white);
    font-size: 1.5rem;
    text-transform: uppercase;
    display: inline-block;
    max-width: 80%;
    word-break: break-word;
}

section.home-highlights .home-highlights-grid-container .home-highlights-details .home-highlights-subtitle {
    background: var(--color-lightgrey);
    padding: 0.5rem 1.5rem;
    color: var(--color-black);
    text-decoration: none;
}

section.home-highlights .home-highlights-grid-container {
    width: 100%;
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-template-rows: 1fr 1fr;
    gap: 1.5rem;
    grid-template-areas:
    "F1 F2"
    "F1 F3";
}

section.home-highlights .home-highlights-grid-container .F1 {
    grid-area: F1;
    position: relative;
}

section.home-highlights .home-highlights-grid-container .F2 {
    grid-area: F2;
    position: relative;
}

section.home-highlights .home-highlights-grid-container .F2 .portrait {
    display: none;
}

section.home-highlights .home-highlights-grid-container .F3 {
    grid-area: F3;
    position: relative;
}

section.home-highlights .home-highlights-grid-container .F3 .portrait {
    display: none;
}

section.home-highlights .home-highlights-grid-container .F1 a, section.home-highlights .home-highlights-grid-container .F2 a, section.home-highlights .home-highlights-grid-container .F3 a {
    position: relative;
    display: inline-block;
    width: 100%;
    height: 100%;
    overflow: hidden;
}

/* section.home-highlights .home-highlights-grid-container .F1 a:hover, section.home-highlights .home-highlights-grid-container .F2 a:hover, section.home-highlights .home-highlights-grid-container .F3 a:hover {
    opacity: var(--opacity-hover) !important;
} */

/*
-------------------------------------------------------------------
Startseite-Programm Highlights (responsive)
-------------------------------------------------------------------
*/

@media (max-width:1400px) {

    section.home-highlights .home-highlights-grid-container .home-highlights-details .home-highlights-title {
        font-size: 1.5rem;
    }

    section.home-highlights .home-highlights-grid-container .home-highlights-details .home-highlights-title {
        font-size: 1.2rem;
        padding: 1rem;
    }

}

@media (max-width:992px) {

    section.home-highlights .home-highlights-grid-container {
        display: block;
    }

    section.home-highlights .home-highlights-grid-container .F2 .landscape, section.home-highlights .home-highlights-grid-container .F3 .landscape {
        display: none;
    }

    section.home-highlights .home-highlights-grid-container .F2 .portrait, section.home-highlights .home-highlights-grid-container .F3 .portrait {
        display: block;
    }

}

@media (max-width:768px) {

    section.home-highlights .home-highlights-grid-container .home-highlights-details .home-highlights-title {
        padding: 1rem;
        font-size: 1rem;
    }

}



/*
-------------------------------------------------------------------
Startseite-Mediathek
-------------------------------------------------------------------
*/

section.home-mediathek {
    display: flex;
    background: var(--color-lightgrey);
}

section.home-mediathek h2 {
    font-size: 2.5rem;
    text-transform: uppercase;
    color: var(--color-grey);
}

section.home-mediathek .home-mediathek-desc {
    font-size: 1.2rem;
    color: var(--color-grey);
}

section.home-mediathek .mediathek_item_container {
    position: relative;
}

section.home-mediathek .mediathek_item_container > div.mediathek_item_container_overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    background: rgba(0,0,0,0.25);
    height: 100%;
    display: flex;
    flex-wrap: wrap;
    align-content: center;
    justify-content: center;
    align-items: center;
}

section.home-mediathek .mediathek_item_container > div.mediathek_item_container_overlay i {
    color: var(--color-white);
    font-size: 4rem;
}

section.home-mediathek .mediathek_item a:hover .mediathek_item_container div.mediathek_item_container_overlay i {
    color: var(--color-white-hover);
}

/*
-------------------------------------------------------------------
Startseite-Mediathek (responsive)
-------------------------------------------------------------------
*/

@media (min-width:1401px) and (max-width:1800px) {

    section.home-mediathek .mediathek_aside {
        transform: scale(0.8);
    }

}

@media (max-width:1400px) {

    section.home-mediathek .mediathek_item:nth-child(1), section.home-mediathek .mediathek_item:nth-child(2) {
        margin-bottom: 1rem;
    }

    section.home-mediathek .flex-center-center:last-of-type {
        transform: scale(1);
    }
}

@media (max-width:992px) {

    section.home-mediathek .flex-center-center:last-of-type {
        justify-content: left;
    }

    section.home-mediathek .mediathek_item:nth-child(1), section.home-mediathek .mediathek_item:nth-child(2) {
        margin-bottom: 0;
    }

    section.home-mediathek .mediathek_aside.flex-center-center {
        justify-content: flex-start;
    }

}

/*
-------------------------------------------------------------------
(TODO) Startseite-Das Haus
-------------------------------------------------------------------
*/

section.home-dashaus {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
}

section.home-dashaus h3 {
    font-size: 2.5rem;
    font-weight: var(--font-effra-weight-bold);
    color: var(--color-grey);
}

section.home-dashaus .dashaus-trigger {
    opacity: 0.25;
}

section.home-dashaus .dashaus-trigger.active {
    opacity: 1;
}

section.home-dashaus .dashaus-footer {
    position: absolute;
}

section.home-dashaus .dashaus-footer img:first-of-type {
    max-width: 90%! important;
    position: relative;
    top: -100px;
}

section.home-dashaus .dashaus-footer .btn {
    position: absolute;
    width: 100%;
    right: 0;
    top: -30px;
    z-index: 89;
}

/*
-------------------------------------------------------------------
(TODO) Startseite-Das Haus (responsive)
-------------------------------------------------------------------
*/


@media (max-width:992px) {

    section.home-dashaus .dashaus-footer {
        position: relative;
    }

    section.home-dashaus .dashaus-footer img:first-of-type {
        max-width: 90%! important;
        position: relative;
        top: 0;
    }

    section.home-dashaus .dashaus-footer .btn {
        position: relative;
        width: auto;
        right: 0;
        top: 0;
        z-index: unset;
    }

}

/*
-------------------------------------------------------------------
Startseite-Vorwort
-------------------------------------------------------------------
*/

section.home-vorwort {
    display: flex;
}

section.home-vorwort .home-vorwort-title {
    font-size: 2.5rem;
    text-transform: uppercase;
    color: var(--color-grey);
    line-height: 1.2;
}

section.home-vorwort .home-vorwort-image {
    position: relative;
    width: 100%;
    height: 100%;
}

section.home-vorwort .home-vorwort-image img {
    position: absolute;
    bottom: 0;
    z-index: 98;
}

section.home-vorwort .home-vorwort-name-position {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-end;
    flex-wrap: wrap;
    align-content: flex-start;
}

section.home-vorwort .home-vorwort-name {
    text-transform: uppercase;
    font-weight: var(--font-effra-weight-bold);
}

/*
-------------------------------------------------------------------
Startseite-Vorwort (responsive)
-------------------------------------------------------------------
*/

@media (max-width:992px) {

    section.home-vorwort .home-vorwort-image img {
        position: relative;
    }

}

@media (max-width:768px) {

    section.home-vorwort .home-vorwort-title {
        font-size: 1.5rem;
    }

    section.home-vorwort {
        margin-top: -150px;
    }

}

/*
-------------------------------------------------------------------
Startseite-Zitate
-------------------------------------------------------------------
*/

section.home-quotes {
    display: flex;
}

section.home-quotes .home-quotes-quote {
    font-size: 3rem;
    line-height: 1.1;
    color: var(--color-grey);
    font-family: var(--font-baskerville);
}

section.home-quotes .home-quotes-detail span {
    color: var(--color-black);
    text-transform: uppercase;
}

section.home-quotes .home-quotes-detail span:first-child {
    font-weight: var(--font-effra-weight-bold);
}

/*
-------------------------------------------------------------------
Startseite-Zitate (responsive)
-------------------------------------------------------------------
*/

@media (max-width:1400px) {

    section.home-quotes .home-quotes-quote {
        font-size: 2rem;
    }

}

@media (max-width:992px) {

    section.home-quotes .home-quotes-quote {
        margin-top: 3rem;
    }

}

/*
-------------------------------------------------------------------
Footer
-------------------------------------------------------------------
*/

footer {
    background: var(--color-grey);
    color: var(--color-white);
}

footer a {
    color: inherit;
    text-decoration: none;
}

footer a:hover {
    color: inherit;
    text-decoration: underline;
}

footer .footer-title {
    position: relative;
    text-transform: uppercase;
    font-size: 1.2rem;
    font-weight: var(--font-effra-weight-bold);
}

footer .footer-outline {
    border: 2px solid #FFF;
    padding: 1.5rem;
}

footer .footer-outline-special-right {
    border-right: 0;
}

footer .footer-outline-special-left {
    border-left: 0;
}

footer .footer-columns {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    height: 100%;
}

footer ul.theme-footer-class-1 {
    font-size: 2.2rem;
    text-transform: uppercase;
}

footer ul.theme-footer-class-1, footer ul.theme-footer-class-2, footer ul.theme-footer-class-3 {
    list-style-type: none;
    display: flex;
    flex-wrap: nowrap;
    flex-direction: column;
    place-content: flex-start;
    padding: 0;
    margin: 0;
}

footer ul.theme-footer-class-3 {
    flex-direction: row;
    place-content: flex-end;
}

footer ul.theme-footer-class-3>li {
    margin-left: 2rem;
}

footer ul.theme-footer-class-3>li:first-child {
    margin-left: 0;
}

footer .footer-socialmedia .footer-title {
    margin-bottom: 0.5rem;
}

footer .footer-socialmedia i {
    font-family: var(--font-muth-icons-footer);
    font-size: 4rem;
}

footer .footer-socialmedia ul {
    list-style-type: none;
    display: flex;
    flex-wrap: nowrap;
    place-content: center;
    padding-left: 0;
}

footer .footer-socialmedia ul li {
    margin-left: 1rem;
}

footer .footer-socialmedia ul li:first-child {
    margin-left: 0;
}

footer .footer-socialmedia ul li a:hover > i{
    opacity: var(--opacity-hover);
}

footer .footer-special-ticket {
    padding-left: 4rem;
}

footer .footer-special-ticket i {
    font-size: 3rem;
    position: absolute;
    top: 0;
    left: -4rem;
}

footer .footer-align-center.footer-partner {
    flex-direction: row;
    justify-content: space-evenly;
}

footer .footer-partner a {
    margin: 0.5rem;
}

footer .footer-partner > div {
    justify-content: space-evenly;
    display: flex;
    width: 100%;
    flex-wrap: wrap;
}

footer .footer-partner a:hover img {
    opacity: var(--opacity-hover);
}

footer .footer-hotline {
    font-size: 2rem;
    font-weight: var(--font-effra-weight-bold);
}

footer .footer-align-center {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
}

footer .footer-socialmedia .footer-title {
    font-size: 2.2rem;
    font-weight: var(--font-effra-weight-default);
}

footer .footer-newsletter {
    padding-left: 4rem;
}

footer .footer-newsletter .footer-newsletter-title {
    position: relative;
    font-size: 2.2rem;
    font-weight: var(--font-effra-weight-default);
    text-transform: uppercase;
}

footer .footer-newsletter .footer-newsletter-subtitle {
    margin-bottom: 1rem;
}

footer .footer-newsletter .footer-newsletter-title i {
    font-size: 3rem;
    position: absolute;
    top: -10px;
    left: -4.5rem;
}

footer .footer-newsletter .footer-newsletter-disclaimer {
    font-size: 0.7rem;
    margin-top: 0.5rem;
}

footer .footer-newsletter form label {
    display: flex;
    flex-direction: row;
    align-items: flex-start;
}

footer .footer-newsletter form input[type=email] {
    width: 100%;
    right: 0;
    border: 2px solid transparent;
    color: var(--color-grey);
    background-color: var(--color-white);
    border-color: var(--color-white);
    padding: .375rem .75rem;
}

footer .footer-newsletter form input[type=submit] {
        text-transform: uppercase;
        border: 2px solid transparent;
        color: var(--color-grey);
        background-color: var(--color-white);
        border-color: var(--color-white);
        padding: .375rem .75rem;
        margin-left: 0.25rem;
}

footer .footer-newsletter form input[type=submit]:hover {
    background-color: var(--color-white-hover);
}

footer .wpcf7 form .wpcf7-response-output {
    margin: 0;
    border: 0;
}

footer .wpcf7 form.invalid .wpcf7-response-output, footer .wpcf7 form.unaccepted .wpcf7-response-output {
    border-color: transparent;
    background: var(--color-red);
    padding: 0.5rem;
}

footer .footer-newsletter p {
    margin: 0;
    padding: 0;
}


/*
-------------------------------------------------------------------
Footer (responsive)
-------------------------------------------------------------------
*/

@media (min-width:2560px) {

    body,
    html {
        font-size: 1.5rem;
    }

}

@media (max-width:1200px) {

    footer .footer-socialmedia a > i {
        font-size: 3rem;
    }

    footer .footer-partner a img {
        max-width: 100px;
        height: auto;
    }

}

@media (max-width:992px) {

    footer ul.theme-footer-class-3 {
        place-content: center;
    }

    footer .footer-copyright {
        text-align: center;
    }

    footer .footer-outline {
        border: 2px solid #FFF;
        border-left: 0;
        border-right: 0;
    }

    footer ul.theme-footer-class-2 li {
        line-height: 2rem;
    }


    body,
    html {
        font-size: 0.9rem;
    }

}

@media (max-width:768px) {


    footer ul.theme-footer-class-1, footer .footer-socialmedia .footer-title {
        font-size: calc(1.3rem + .6vw);
    }

    footer .footer-align-center > div {
        padding: 0rem 1rem;
    }

    footer .footer-partner a img {
        max-width: 50px;
    }

    footer .footer-newsletter .footer-newsletter-title {
        font-size: 1.3rem;
    }

    footer .footer-newsletter form label {
        display: flex;
        flex-direction: column;
        align-items: stretch;
        justify-content: space-between;
    }

    footer .footer-newsletter form input[type=submit] {
        margin-left: 0;
        margin-top: 0.25rem;
    }

}

@media (max-width:576px) {

    footer .footer-align-center {
        align-items: baseline;
    }

    footer .footer-align-center.footer-align-center-socialmedia, footer .footer-align-center.footer-special-ticket, footer .footer-align-center.footer-outline-special-right, footer .footer-align-center.footer-outline-special-left {
        align-items: center;
    }

    footer .footer-align-center.footer-outline-special-right, footer .footer-align-center.footer-outline-special-left {
        align-items: baseline;
    }

}


/*
-------------------------------------------------------------------
Kalender-Programm
-------------------------------------------------------------------
*/

section.default .programm .programm-middle {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
}

section.default .programm .programm-middle .programm-title {
    background: var(--color-grey);
    padding: 0.5rem 1rem;
    color: var(--color-white);
    display: inline-block;
    font-size: 1.5rem;
}

section.default .programm .programm-subtitle {
    background: var(--color-lightgrey);
    padding: 0.25rem 1rem;
    color: var(--color-black);
}

section.default .programm .programm-genre {
    position: absolute;
    top: 0;
    right: 0;
    background: var(--color-white);
    color: var(--color-grey);
    text-transform: uppercase;
    padding: 0.5rem;
}

section.default .programm .programm-genre-mobile {
    background: var(--color-white);
    color: var(--color-grey);
    text-transform: uppercase;
    padding: 0.5rem 0;
}

section.default .programm .programm-format {
    color: var(--color-grey);
    text-transform: uppercase;
    padding: 0.5rem;
    position: relative;
    margin-left: -0.5rem;
}

section.default .programm .programm-format::before {
    content: "|";
    position: absolute;
    left: 0;
}

section.default .programm .programm-age_recommendation {
    color: var(--color-grey);
    text-transform: uppercase;
    padding: 0.5rem;
    position: relative;
    display: inline-block;
    margin-left: -0.5rem;
}

section.default .programm .programm-suitable_for {
    color: var(--color-grey);
    text-transform: uppercase;
    padding: 0.5rem;
    margin-left: -0.5rem;
    display: inline-block;
    margin-top: -0.5rem;
}

section.default .programm .programm-right {
    display: flex;
    flex-direction: column;
    flex-wrap: nowrap;
}

section.default .programm .programm-right .programm-right-flex {
    display: flex;
    flex-direction: column;
    height: 100%;
    justify-content: space-between;
}


section.default .programm .programm-left  {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    height: 100%;
}

section.default .programm .programm-left .programm-status  {
    color: var(--color-grey);
    font-size: 1rem;
    text-transform: uppercase;
    /* display: none !important; */
}

section.default .programm .programm-left .programm-date_start_converted,
section.default .programm .programm-left .programm-date_start_month,
section.default .programm .programm-left .programm-date_start_year {
    color: var(--color-grey);
    font-size: 2.5rem;
    text-transform: uppercase;
    line-height: 1;
}

section.default .programm .programm-left .programm-date_start_year {
    padding-bottom: 1rem;
}

section.default .programm .programm-left .programm-date_start_hour {
    padding-top: 1rem;
    position: relative;
}

section.default .programm .programm-left .programm-date_start_hour::before {
    display: inline-block;
    position: absolute;
    content: "";
    border-top: 0.2rem solid var(--color-grey);
    width: 2rem;
    top: -0.2rem;
}

section.default .programm .programm-left .programm-date_start_hour,
section.default .programm .programm-left .programm-date_end_hour,
section.default .programm .programm-left .programm-break_included,
section.default .programm .programm-left .programm-until {
    color: var(--color-grey);
    font-size: 1.2rem;
    line-height: 1;
}

section.default .programm .programm-left .programm-ticket_button {
    position: relative;
    display: inline-flex;

}

section.default .programm .programm-left .programm-ticket_button a {
    color: var(--color-white);
    background: var(--color-red);
    display: flex;
    flex-direction: column;
    align-content: center;
    justify-content: center;
    align-items: center;
    padding: 1rem 2rem;
}

section.default .programm .programm-mobile.termin-status-2 img {
    opacity: 0.25;
}

section.default .programm a:hover {
    text-decoration: none !important;
}

section.default .programm a.programm-link {
    display: inline;
}

section.default .programm .programm-left .programm-ticket_button a:hover {
    text-decoration: none;
    opacity: var(--opacity-hover);
}

section.default .programm .programm-left .programm-ticket_button a i {
    font-size: 3rem;
}

section.default .programm .programm-left .programm-ticket_button a span {
    text-transform: uppercase;
}

section.default .programm .programm-left .programm-ticket_button a.sold {
    opacity: 1;
    color: rgba(107, 128, 145, 0.35 );
    background: var(--color-lightgrey);
}

section.default .programm > .row {
    border-bottom: 2px solid var(--color-grey);
}

section.default .programm > .row:last-child {
    border-bottom: 0;
}

section.default .muth-calendar {
    display: flex;
    position: relative;
    flex-direction: row;
    width: 100%;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    align-content: center;
}

section.default .muth-calendar .owl-item {
    display: inline-block;
}

section.default .muth-calendar a {
    flex-grow: 1;
    color: var(--color-grey);
    font-size: 1.5rem;
    text-transform: uppercase;
    line-height: 1;
    text-align: center;
}

section.default .muth-calendar a > div {
    padding: 1rem;
}

section.default .muth-calendar a.active {
    background: var(--color-grey);
    color: var(--color-white);
    outline: 3px solid var(--color-grey);
}

section.default .muth-calendar a:hover:not(.active) {
    background: var(--color-lightgrey);
}

section.default .muth-calendar .muth-calendar-year {
    border-right: 3px solid var(--color-grey);
}

section.default .muth-calendar a:nth-child(12) > div.muth-calendar-year {
    border-right: 0;
}

section.default .muth-calendar .owl-nav {
    display: block;
    position: absolute;
    width: 100%;
    left: 0;
    top: 20px;
    margin: 0;
    padding: 0;
}

section.default .muth-calendar .owl-nav .owl-prev {
    position: absolute;
    left: 0;
}

section.default .muth-calendar .owl-nav .owl-next {
    position: absolute;
    right: 0;
}

section.default .muth-calendar .owl-stage-outer {
    overflow: hidden;
}

section.default #search input[type='text'] {
    border: 0;
    border-bottom: 2px solid var(--color-grey);
}

section.default #search input[type='submit'] {
    display: none;
}

section.default #search input[type='text']:focus {
    outline: 0;
}

section.default #search i {
    color: var(--color-grey);
    cursor: pointer;
}
section.default #search i:hover {
    color: var(--color-grey-hover);
}

.detail-termin-ticket_button-wrappor {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
}

section.detail-termin .detail-termin-ticket_button a {
padding: 1rem 2rem;
}

@media (max-width:992px) {
    .detail-termin-ticket_button-wrappor {
        align-items: flex-end;
    }
}


section.default .programm .programm-left .programm-ticket_button div.grey-a {
    color: rgba(107, 128, 145, 0.35 );
    background: var(--color-lightgrey);
    display: flex;
    flex-direction: column;
    align-content: center;
    justify-content: center;
    align-items: center;
    padding: 1rem 2rem;
    text-decoration: none;
}

section.default .programm .programm-left .programm-ticket_button div.grey-a i {
    font-size: 3rem;
}

section.default .programm .programm-left .programm-ticket_button div.grey-a span {
    text-transform: uppercase;
}

section.detail-termin .detail-termin-ticket_button div.grey-a  {
    padding: 1rem 2rem;
}

section.detail-termin .detail-termin-ticket_button div.grey-a  {
    color: rgba(107, 128, 145, 0.35 );
    background: var(--color-lightgrey);
    display: flex;
    flex-direction: column;
    align-content: center;
    justify-content: center;
    align-items: center;
    padding: 2rem;
    text-decoration: none;
}

section.detail-termin .detail-termin-ticket_button div.grey-a i {
    font-size: 3rem;
}

section.detail-termin .detail-termin-ticket_button div.grey-a span {
    text-transform: uppercase;
}

section.default .programm-ticket_button div.addition, .detail-termin-ticket_button div.addition {
    color: var(--color-grey);
    font-size: 1rem;
    width: 100%;
    margin-top: 0.5rem;
}

section.default .programm .programm-left .programm-ticket_button {
    flex-wrap: wrap;
}

section.default .programm-ticket_button div.addition-red, .detail-termin-ticket_button div.addition-red {
    color: var(--color-red) !important;
}

/*
-------------------------------------------------------------------
Kalender-Programm (responsive)
-------------------------------------------------------------------
*/

@media (max-width:1460px) {

    section.default .muth-calendar > a {
        font-size: 1.1rem;
    }

    section.default .muth-calendar > a > div {
        padding: 0.5rem;
    }

}

@media (max-width:1400px) {

    section.default .programm .programm-left .programm-date_start_converted, section.default .programm .programm-left .programm-date_start_month, section.default .programm .programm-left .programm-date_start_year {
        font-size: 2rem;
    }

    section.default .programm .programm-left .programm-date_start_year {
        padding-bottom: 0.5rem;
    }

    section.default .programm .programm-left .programm-date_start_hour {
        padding-top: 0.5rem;
    }

    section.default .programm .programm-left .programm-ticket_button a {
        padding: 0.5rem 1rem;
    }

    section.default .programm .programm-left .programm-ticket_button div.grey-a {
        padding: 0.5rem 1rem;
    }

    section.default #search {
        display: flex;
        flex-direction: row;
        flex-wrap: wrap;
        justify-content: space-between;
        align-content: center;
        align-items: center;
        margin-top: 1rem;
    }

    section.default #search input[type='text'] {
        flex-grow: 1;
    }

    section.default #search i {
        padding: 0.25rem;
    }

}

@media (max-width:1200px) {

    section.default .programm .programm-left .programm-date_start_converted, section.default .programm .programm-left .programm-date_start_month, section.default .programm .programm-left .programm-date_start_year {
        font-size: 1.5rem;
    }

    section.default .programm .programm-left .programm-ticket_button a i {
        font-size: 2rem;
    }

    section.default .programm {
        font-size: 80%;
    }

    section.default .programm .programm-left .programm-date_start_year {
        padding-bottom: 0.5rem;
    }

    section.default .programm .programm-left .programm-date_start_hour,
    section.default .programm .programm-left .programm-date_end_hour,
    section.default .programm .programm-left .programm-break_included {
        font-size: 80%;
    }

}

@media (max-width:992px) {

    section.default .programm .programm-format {
        color: var(--color-grey);
        text-transform: uppercase;
        padding: 0;
        position: relative;
        margin-left: 0.25rem;
    }

    section.default .programm .programm-format::before {
        display: none;
        margin-left: 0;
    }

    section.default .programm .programm-genre-mobile {
        padding: 0.25rem 0;
    }

    section.default .programm .programm-age_recommendation {
        padding: 0;
        margin-left: 0;
        margin-right: 0.25rem;
    }

    section.default .programm .programm-suitable_for {
        padding: 0rem;
        margin-left: 0rem;
    }

    section.default .programm .programm-right {
        padding-top: 0.5rem;
    }

    section.default .programm .programm-left > div:nth-child(2) {
        display: flex;
        flex-direction: row;
        padding-top: 0.5rem;
    }

    section.default .programm .programm-left > div:nth-child(2) .programm-date_start_converted,
    section.default .programm .programm-left > div:nth-child(2) .programm-date_start_month,
    section.default .programm .programm-left > div:nth-child(2) .programm-date_start_year,
    section.default .programm .programm-left > div:nth-child(2) .programm-date_start_hour,
    section.default .programm .programm-left > div:nth-child(2) .programm-date_end_hour {
        font-size: 0.8rem;
    }

    section.default .programm .programm-left > div:nth-child(2) .programm-date_start_hour {
        padding-top: 0;
    }

    section.default .programm .programm-left > div:nth-child(2) .programm-date_end_hour::before {
        display: inline-block;
        position: relative;
        content: " - ";
    }

    section.default .programm .programm-left > div:nth-child(2) .programm-date_start_hour::before {
        display: inline-block;
        position: relative;
        content: " | ";
        border-top: 0;
        width: 0.4rem;
        top: 0;
    }

    section.default .programm .programm-left > div:nth-child(2) .programm-date_start_month,
    section.default .programm .programm-left > div:nth-child(2) .programm-date_start_year,
    section.default .programm .programm-left > div:nth-child(2) .programm-date_start_hour {
        margin-left: 0.25rem;
    }

    .detail-termin-ticket_button div.addition {
        padding: 1.5rem 0rem;
        color: var(--color-grey);
        font-size: 1rem;
        width: 100%;
        margin-top: 0;
        /* background: var(--color-lightgrey); */
    }

}

@media (max-width:768px) {

    section.default .muth-calendar {
        display: block;
    }

    section.default .muth-calendar a {
        display: block;
        text-align: center;
    }

    section.default .muth-calendar .muth-calendar-year {
        border-right: 0;
    }

    section.default .muth-calendar .owl-item {
        text-align: center;
    }

    section.default .muth-calendar a.active {
        outline: 0;
        display: inline-block;
        margin: 0 auto;
    }

    section.default .muth-calendar .owl-nav .owl-next, section.default .muth-calendar .owl-nav .owl-prev {
        background: transparent;
        text-decoration: none;
        color: var(--color-grey);
        border: 0;
        font-size: 5rem;
        position: absolute;
        top: -3rem;
        margin: 0;
        padding: 0;
    }

    section.default .muth-calendar .owl-nav .owl-next:hover, section.default .muth-calendar .owl-nav .owl-prev:hover {
        color: var(--color-grey-hover);
    }

    section.default .programm .programm-middle .programm-title {
        font-size: 1rem;
    }

}

/*
-------------------------------------------------------------------
Kalender-Programmübersicht
-------------------------------------------------------------------
*/

section.default .programmoverview .programmoverview-title {
    background: var(--color-grey);
    padding: 0.5rem 1rem;
    color: var(--color-white);
    display: inline-block;
    font-size: 1.5rem;
    position: absolute;
    bottom: 0;
    left: 0;
    line-height: 1.0;
    /* text-transform: uppercase; */
}

section.default .programmoverview .programmoverview-subtitle {
    background: var(--color-lightgrey);
    padding: 0.25rem 1rem;
    color: var(--color-black);
    font-size: 80%;
}

section.default .programmoverview a:hover {
    text-decoration: none !important;
}

section.default .programmoverview .programmoverview-age {
    position: absolute;
    top: 0;
    right: 0;
    background: var(--color-white);
    color: var(--color-grey);
    text-transform: uppercase;
    padding: 0.5rem;
}

section.default .programmoverview a.programm-link.termin-status-2 > div > img {
    opacity: 0.25;
}

/*
-------------------------------------------------------------------
Kalender-Programmübersicht (responsive)
-------------------------------------------------------------------
*/

section.default .programmoverview .programmoverview-subtitle {
    background: var(--color-lightgrey);
    padding: 0.25rem 1rem;
    color: var(--color-black);
    font-size: 90%;
}

@media (max-width:768px) {

    section.default .programmoverview .programmoverview-title {
        font-size: 1rem;
    }

}

/*
-------------------------------------------------------------------
Abo-Übersicht
-------------------------------------------------------------------
*/

section.default .abooverview .abooverview-title {
    background: var(--color-grey);
    padding: 0.5rem 1rem;
    color: var(--color-white);
    display: inline-block;
    font-size: 1.5rem;
    position: absolute;
    bottom: 0;
    left: 0;
}

section.default .abooverview .abooverview-subtitle {
    background: var(--color-lightgrey);
    padding: 0.25rem 1rem;
    color: var(--color-black);
    font-size: 80%;
}

section.default .abooverview a:hover {
    text-decoration: none !important;
}

/*
-------------------------------------------------------------------
Abo-Übersicht (responsive)
-------------------------------------------------------------------
*/

section.default .abooverview .abooverview-subtitle {
    background: var(--color-lightgrey);
    padding: 0.25rem 1rem;
    color: var(--color-black);
    font-size: 90%;
}

@media (max-width:768px) {

    section.default .abooverview .abooverview-title {
        font-size: 1rem;
    }

}


/*
-------------------------------------------------------------------
Programm Filter
-------------------------------------------------------------------
*/

section.default .muth-filter {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: space-between;
}

section.default .muth-filter > div {
    flex-grow: 1;
    position: relative;
    margin-right: 0.5rem;
}

section.default .muth-filter > div:last-of-type {
    margin-right: 0;
}

section.default .muth-filter > div > div:first-of-type {
    color: var(--color-white);
    background: var(--color-grey);
    text-transform: uppercase;
    padding: 0.25rem 1rem;
    position: relative;
    cursor: pointer;
}

section.default .muth-filter > div > div:nth-child(2) {
    position: absolute;
    z-Index: 1;
    line-height: 1;
    padding: 0.5rem;
    background: var(--color-white);
    font-size: 80%;
    width: 100%;
    border: 2px solid var(--color-grey);
    border-top: 0;
    display: none;
}

section.default .muth-filter .checkmark {
    position: absolute;
    top: 0;
    left: 0;
    height: 15px;
    width: 15px;
    background-color: var(--color-grey);
    opacity: 1;
  }

section.default .muth-filter label {
      position: relative;
      cursor: pointer;
      width: 100%;
}

section.default .muth-filter label input {
    margin-right: 0.5rem;
    visibility: hidden;
}

section.default .muth-filter .muth-filter-filter label:hover input ~ .checkmark {
    background-color: var(--color-grey-hover);
}

section.default .muth-filter .muth-filter-filter label:hover {
    opacity: var(--opacity-hover);
}

section.default .muth-filter .checkmark:after {
    content: "";
    position: absolute;
    display: none;
}

section.default .muth-filter .muth-filter-filter label input:checked ~ .checkmark:after {
    display: block;
}

section.default .muth-filter .muth-filter-filter label .checkmark:after {
    left: 5px;
    top: 2.5px;
    width: 5px;
    height: 10px;
    border: solid white;
    border-width: 0 3px 3px 0;
    -webkit-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    transform: rotate(45deg);
}

section.default .muth-filter > div > div:first-of-type:hover {
    opacity: var(--opacity-hover);
    z-index: 2;
}

section.default .muth-filter > div > div:first-of-type::after {
    opacity: 1;
    content: '\f063';
    position: absolute;
    top: 0;
    right: 0;
    font-family: 'FontAwesome';
    font-weight: normal;
    font-style: normal;
    text-decoration: none;
    background: var(--color-red);
    padding: 0.5rem;
    z-index: 2;
}
.muth-filter-daytime {
    max-width: 170px;
}

.muth-filter-produktion_type {
    max-width: 200px;
}

.muth-filter-suitable_for {
    max-width: 220px;
}

.muth-filter-cloud > span {
    margin-right: 0.25rem;
    background: var(--color-lightgrey);
    color: var(--color-grey);
    padding: 0.25rem;
    font-size: 80%;
    cursor: pointer;
}

.muth-filter-cloud > span::after {
    content: '\f00d';
    font-family: 'FontAwesome';
    font-weight: normal;
    font-style: normal;
    text-decoration: none;
    color: var(--color-grey);
    padding-left: 0.25rem;
}

.muth-filter-cloud > span:hover::after {
    color: var(--color-red);
}

section.default .muth-filter > div.muth-filter-genre {
    min-width: 220px;
}

section.default .muth-filter > div.muth-filter-format {
    min-width: 220px;
}

section.default .muth-filter .muth-filter-search a{
    font-size: 0.9rem;
}
section.default .muth-filter .muth-filter-search a:hover{
    text-decoration: underline;
}

/*
-------------------------------------------------------------------
Programm Filter (responsive)
-------------------------------------------------------------------
*/

@media (max-width:1600px) {

    section.default .muth-filter > div > div:first-of-type {
        font-size: 0.8rem;
    }

}

@media (min-width:2560px) {

    section.default .muth-filter > div > div:first-of-type {
        font-size: 0.80rem;
    }
    section.default .muth-filter label {
        font-size: 85%;
    }
    section.default .muth-filter > div.muth-filter-genre {
        min-width: 380px;
    }
    section.default .muth-filter > div.muth-filter-format {
        min-width: 340px;
    }
    section.default .muth-filter > .muth-filter-suitable_for {
        max-width: 300px;
    }
    section.default .muth-filter > .muth-filter-produktion_type {
        max-width: 250px;
    }
    section.default .muth-filter > .muth-filter-daytime {
        max-width: 200px;
    }

}

@media (max-width:1400px) {

    section.default .muth-filter {
        flex-direction: column;
    }

    .muth-filter-daytime {
        max-width: unset;
    }

    .muth-filter-produktion_type {
        max-width: unset;
    }

    .muth-filter-suitable_for {
        max-width: unset;
    }

    section.default .muth-filter > div {
        margin-right: 0;
    }

    section.default .muth-filter > div > div:nth-child(2) {
        position: relative;
        line-height: 1.5;
    }

    section.default .muth-filter .checkmark {
        top: 3px;
    }

}

/*
-------------------------------------------------------------------
Mediathek 
-------------------------------------------------------------------
*/

section.mediathek ul {
	display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    align-content: center;
    align-items: center;
    justify-content: flex-start;
	padding: 0;
	margin: 0;
}

section.mediathek ul > li {
	list-style-type: none;
	margin-left: 1rem;
}

section.mediathek ul > li:first-child {
	margin-left: 0;
}

section.mediathek ul.mediathek-filter {
	text-transform: uppercase;
	font-family: var(--font-effra);
}

section.mediathek ul.mediathek-filter li:hover {
	cursor: pointer;
	text-decoration: underline;
}
section.mediathek ul.mediathek-filter li.active {
	font-weight: var(--font-effra-weight-bold);
}

section.mediathek h2 {
    color: var(--color-grey);
    font-size: 2.5rem;
    text-transform: uppercase;
}

section.mediathek div.mediathek-row {
    padding-top: 1rem;
    border-top: 2px solid var(--color-grey);
}

.card-tags {
	display: block;
}

.card-tags > span {
	display: inline-block;
    background: var(--color-lightgrey);
    color: var(--color-grey);
    padding: 0.25rem;
    margin-left: 0.25rem;
}

.card-tags > span:first-child {
    margin-left: 0;
}

.card-footer {
	padding: 1rem 0rem;
    border-top: 0;
    background: var(--color-white);
}

section.mediathek .owl-stage {
	display: flex;
}

section.mediathek .detail-termin-image-primary {
    height: auto;
}
section.mediathek .detail-termin-image-primary .mwd-dsgvo-video-connection .youtube img, section.mediathek .mwd-dsgvo-video-connection .vimeo img {
    width: 100%;
    max-width: 100%;
}
section.mediathek .detail-termin-image-primary .mwd-dsgvo-video-connection {
    max-width: 100%;
    width: 100%;
    margin-bottom: 0px;
    max-height: 100%;
    overflow: hidden;
}
section.mediathek .detail-termin-image-primary .mwd-dsgvo-video-connection > a {
    width: 100%;
    max-width: 100%;
}
section.mediathek .detail-termin-image-primary .mwd-dsgvo-video-connection .mwd-dsgvo-video-connection-overlay.vimeo {
    max-width: 100%;
    width: 100%;
    height: 100%;
}

section.mediathek iframe {
    max-height: 100vh !important;
}

/*
-------------------------------------------------------------------
Mediathek (responsive)
-------------------------------------------------------------------
*/

@media (max-width:768px) {

	.mediathek-recount.pl-17p {
		padding-left: 0 !important;
	}

	section.mediathek .pl-17p:first-of-type {
		padding-left: 0 !important;
	}

}

/* dashaus.css */

/*
-------------------------------------------------------------------
DasHaus-Oben
-------------------------------------------------------------------
*/

section.dashaus-oben {
    display: flex;
    background: var(--color-lightgrey);
}

/*
-------------------------------------------------------------------
DasHaus-Oben (responsive)
-------------------------------------------------------------------
*/

/*
-------------------------------------------------------------------
DasHaus-Unten
-------------------------------------------------------------------
*/

section.dashaus-unten {
    display: flex;
    background: var(--color-red);
    color: var(--color-white);
}

/*
-------------------------------------------------------------------
DasHaus-Unten (responsive)
-------------------------------------------------------------------
*/

/* chris.css */

/* Template Info - TODO clear */
.tmpl {
    position: fixed;
    bottom: 0;
    right: 0;
    opacity: 0.3;
    display: none;
}

/* .detail-termin-status {
        display: none;
} */


/* Termin bis */
.programm-until, .programm-date_end_hour {
    display: none;
}


/* Presse */
.envira-gallery-item.envira-lazy-load span.envira-title {
    font-size: 12px;
    font-weight: normal;
    background: var(--color-lightgrey);
}

.envira-gallery-item .envira-download-button a {
    border-radius: 0%;
    -webkit-border-radius: 0%;
    -moz-border-radius: 0%;
}


/* Footer */
footer .footer-socialmedia i:before {
    margin: 0;
}

/* TODO Home Kalender Icon Fix */
.fa-calendar-o:before {
    font-family: 'muth-icons' !important;
    content: '\e804';
    font-size: 3rem;
    font-style: normal;
    font-weight: normal;
    /* speak: never; */
    display: inline-block;
    text-decoration: inherit;
    /* width: 1em; */
    margin-right: .2em;
    text-align: center;
    /* opacity: .8; */
    font-variant: normal;
    text-transform: none;
    line-height: 1em;
    margin-left: .2em;
    /* font-size: 120%; */
    -webkit-font-smoothing: antialiased;
}

i.fa.fa-calendar-o {
    padding: 1rem;
    /* padding-bottom: 0; */
}

.dce-disclaimer a {
    text-decoration: none;
    color: var(--color-white);
}

.dce-disclaimer a:hover {
    text-decoration: underline;
}

/*
-------------------------------------------------------------------
(TODO) PAGE
-------------------------------------------------------------------
*/
.container-fluid.c-pl {
    padding-left: 16.6666666667%;
    margin: 0;
    padding-right: 20px;
}

.pl-17p {
    padding-left: 16.6666666667% !important;
}

.fl-break {
	flex-basis: 100%;
	width: 0px;
	height: 0px;
	overflow: hidden;
	display: inline-block;
}

h1, h2, h3, h4, h5 {
    color: var(--color-grey);
}

.fa.red {
    color: var(--color-red);
    padding-right: 5px;
}

section.default a {
    text-decoration: none;
    color: var(--color-grey);
}

section.default .editor-wrapper a:not(.envira-gallery-link) {
    color: var(--color-grey);
    text-decoration: none;
    transition: padding-left 0.8s ease !important;
}

section.default .editor-wrapper a:not(.envira-gallery-link):hover {
    color: var(--color-red);
    text-decoration: underline;
    padding-left: 5px;
}


section.default .editor-wrapper ul { list-style: none; }

section.default .editor-wrapper ul li:before {
    font-family: 'FontAwesome';
    content: '\f105';
    margin: 0 10px 0 -30px;
    color: var(--color-red);
    font-size: 100%;
}

section.default .editor-wrapper ul > li > p {
    margin-top: 1rem;
}


/* Livestream */
.livestream iframe {
    max-height: 72vh !important;
    max-width: 100% !important;
}


@media (max-width: 992px) {
    .livestream iframe {
        max-width: 100vw !important;
        left: 0 !important;
    }
}

/* V-Tour */
.vtour iframe {
    width: 100%;
    min-height: 75vh;
}

/* mediathek */

.mediathek iframe {
    max-height: 72vh !important;
    max-width: 100% !important;
    left: calc(50% - 35vw)!important;
}


/* youtube wrapper */
.youtube .editor-wrapper {
  position: relative;
  padding-bottom: 56.25%; /* 16:9 */
  height: 0;
}
.youtube .editor-wrapper iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}


/* das haus */
.editor-wrapper {
    height: 100%;
}

.vielfalt {
    background: var(--color-grey);
    color: var(--color-white);
    padding: 2rem;
    opacity: 1;
    background-image: url(https://p584401.ext.synerge.at/wp-content/uploads/WSK-3689-Vienna-2013-photograph-_-Helmut-Karl-Lackner-scaled.jpg);
    background-blend-mode: soft-light;
    background-size: cover;
    filter: saturate(0.5);
}

.vielfalt a {
    position: relative;
    display: block;
    padding-bottom: 0.5rem;
}

.vielfalt a > div {
    position: absolute;
    height: 2px;
    background:  transparent;
    width: 0%;
    transition: width 1s, background 0.5s linear;
}

.vielfalt a:hover > div {
    background: var(--color-white);
    width: 175%;
}

.vielfalt h3 {
    color: var(--color-white);
}

.vielfalt p {
    color: var(--color-white);
    margin-bottom: 0.5rem;
}

.vielfalt a:last-child {
    padding-bottom: 0rem;
}

@media (max-width:992px) {
    .vielfalt a:hover > div {
        width: 100%;
    }
}



/*
-------------------------------------------------------------------
(TODO) Header
-------------------------------------------------------------------
*/

header {
    z-Index: 99;
}

/*
header > figure {
    position: absolute;
    bottom: 100%;
	-webkit-transform: rotateZ(90deg);
	-moz-transform: rotateZ(90deg);
	-ms-transform: rotateZ(90deg);
	-o-transform: rotateZ(90deg);
	transform: rotateZ(90deg);
    transform-origin: 0 100%;
    z-index: 101;
}

header > figure img {
	-webkit-transform: rotate(180deg);
	-moz-transform: rotate(180deg);
	-ms-transform: rotate(180deg);
	-o-transform: rotate(180deg);
	transform: rotate(180deg);
    max-width: calc(100vh - 200px);
    padding: 0 5%;
	transition: transform 2s ease;
}

header.sticky {
  position: fixed;
  top: 0;
  width: 100%
  }*/

  header > figure {
    width: 16.6666666667%;
    margin-bottom: 0;
    background: var(--color-grey);
    padding: 20px;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 101;
}

body.home > header > figure {
    background: none;
}

header > figure img {
    width: 100%;
    max-width: 100%;
    height: auto;
}


body.home > header > figure {
    background: none;
    -webkit-transform: rotateZ(90deg);
    -moz-transform: rotateZ(90deg);
    -ms-transform: rotateZ(90deg);
    -o-transform: rotateZ(90deg);
    transform: rotateZ(90deg);
    transform-origin: 15% 50%;
    width: 38%; /*75vh;*/
    max-width: 480px;
    padding: 0;
}

body.home > header > figure img {
    -webkit-transform: rotate(180deg);
    -moz-transform: rotate(180deg);
    -ms-transform: rotate(180deg);
    -o-transform: rotate(180deg);
    transform: rotate(180deg);
    transition: transform 2s ease;
    padding-top: 2rem;
}



body.home > header.scroll > figure {
    -webkit-transform: rotateZ(0deg);
    -moz-transform: rotateZ(0deg);
    -ms-transform: rotateZ(0deg);
    -o-transform: rotateZ(0deg);
    transform: rotateZ(0deg);
    transform-origin: initial;
    background: var(--color-grey);
    padding: 20px;
    width: 16.6666666667%;
}

body.home > header.scroll > figure img {
    -webkit-transform: rotate(0deg);
    -moz-transform: rotate(0deg);
    -ms-transform: rotate(0deg);
    -o-transform: rotate(0deg);
    transform: rotate(0deg);
    padding-top: 0;
}

/*
-------------------------------------------------------------------
(TODO) Header (responsive)
-------------------------------------------------------------------
*/



/*
-------------------------------------------------------------------
(TODO) Header NAV
-------------------------------------------------------------------
*/
header > nav {
    position: fixed;
    z-index: 100;
    left: 16.6666666667%;
    top: 0;
    width: 100%;
    padding-left: 20px;
    background: var(--color-lightgrey);
}

body.home > header > nav { background: none; }
body.home > header.scroll > nav { background: var(--color-lightgrey); }

.theme-header-class {
  margin: 0;
  padding: 0;
  list-style: none;
  width: 100%;
}
.theme-header-class ul {
  margin: 0;
  padding: 0;
  list-style: none;
  position: absolute;
  left: -999em;
  background-color: var(--color-grey);
}

body.home header:not(.scroll) .theme-header-class ul {
    background-color: var(--color-grey);
}


.theme-header-class > li {
  display: inline-block;
  position: relative;
  text-align: left;
  margin-left: 10px;
}

.theme-header-class > li:first-child {
    margin-left: 0;
}

.theme-header-class > li:hover > ul {
	left: auto;
}

.theme-header-class > li > ul {
    padding-left: 10px;
}

.theme-header-class > li li {
  display: block;
}
.theme-header-class > li li:hover > ul {
  left: 100%;
  top: 0;
}

.theme-header-class > li li:hover {
    background: var(--color-grey);
}

.theme-header-class a,
.theme-header-class li > span {
  color: var(--color-grey);
  text-decoration: none;
  display: block;
  white-space: nowrap;
  padding: 10px 15px 10px 0;
  text-transform: uppercase;
  font-size: 75%;
  cursor: pointer;
}

body.home .theme-header-class li > a,
body.home .theme-header-class li > span {
    color: var(--color-white);
}

.theme-header-class li span span,
.theme-header-class li a span {
    margin-right: 5px;
    display: inline-block;
    padding-top: 5px;
    transform-origin: left top;

    -webkit-transition: all .5s ease;
    -moz-transition:    all .5s ease;
    -o-transition:      all .5s ease;
    -ms-transition:     all .5s ease;
    transition:         all .5s ease;
}

.theme-header-class li:hover > a > span,
.theme-header-class li:hover > span > span {
	-webkit-transform: rotate(-90deg) translateX(-5px);
	-moz-transform: rotate(-90deg) translateX(-5px);
	-ms-transform: rotate(-90deg) translateX(-5px);
	-o-transform: rotate(-90deg) translateX(-5px);
	transform: rotate(-90deg) translateX(-5px);
}

/* SUBMENU */
/* .theme-header-class ul.sub-menu > li > a > span {
} */

header .theme-header-class ul.sub-menu > li > a {
    color: var(--color-lightgrey);
}

/* LANG SWITCH */
body.home .theme-header-class li.lang-item a {
    border: 1px solid var(--color-white);
    box-shadow: inset 0 0 0 0 var(--color-white);
}

body.home .theme-header-class li.lang-item.current-lang a {
    background: var(--color-white);
    color: var(--color-grey);
}

body.home .theme-header-class li.lang-item a:hover {
    color: var(--color-grey);
    box-shadow: inset 50px 0 0 0 var(--color-white);
}

.theme-header-class li.lang-item a {
    border: 1px solid var(--color-grey);
    padding: 0px 10px;
    font-size: 60%;
    box-shadow: inset 0 0 0 0 var(--color-grey);
    -webkit-transition: all .8s ease;
    -moz-transition:    all .8s ease;
    -o-transition:      all .8s ease;
    -ms-transition:     all .8s ease;
    transition:         all .8s ease;
}

.theme-header-class li.lang-item a span {
    display: none;
}

.theme-header-class li.lang-item {
    margin-right: -7px;
}

.theme-header-class li.lang-item.current-lang a {
    background: var(--color-grey);
    color: var(--color-white);
}

.theme-header-class li.lang-item a:hover {
    color: var(--color-white);
    box-shadow: inset 50px 0 0 0 var(--color-grey);
}

.theme-header-class li.lang-item-2 {
    margin-left: 3%;
}


/* SCROLL
header.scroll > figure > img {
    -webkit-transform: rotate(0deg);
    -moz-transform: rotate(0deg);
    -ms-transform: rotate(0deg);
    -o-transform: rotate(0deg);
    transform: rotate(0deg);
    max-width: 20vh;
}

header.scroll figure {
    -webkit-transform: rotateZ(0deg);
    -moz-transform: rotateZ(0deg);
    -ms-transform: rotateZ(0deg);
    -o-transform: rotateZ(0deg);
    transform: rotateZ(0deg);
    top: 0;
    bottom: inherit;
    background: var(--color-grey);
    padding: 1%;
}

header.scroll {
    position: fixed;
    width: 100%;
	top: 0;
}

header.scroll > nav {
    background: var(--color-white);
    }*/

    /* LANG SWITCH */
    header.scroll .theme-header-class li.lang-item a {
        border: 1px solid var(--color-grey);
        box-shadow: inset 0 0 0 0 var(--color-grey);
    }

    header.scroll .theme-header-class li.lang-item.current-lang a {
        background: var(--color-grey);
        color: var(--color-white);
    }

    header.scroll .theme-header-class li.lang-item a:hover {
        color: var(--color-white);
        box-shadow: inset 50px 0 0 0 var(--color-grey);
    }


    header.scroll .theme-header-class li > a,
    header.scroll .theme-header-class li > span
    {
        color: var(--color-grey);
    }
    header.scroll .theme-header-class li > ul > a {
        color: var(--color-white);
    }

    .toggle-nav {
        display: none;
    }

    /* BREADCRUMBS */
    #breadcrumbs {
        color: var(--color-grey);
        text-transform: uppercase;
        background: var(--color-lightgrey);
        margin-left: 16.6666666667%;
        padding-left: 20px;
        margin-top: 46px;
        font-size: 70%;
        z-index: 110;

        padding-bottom: 8px; /* TODO wegen keinen breadcrumbs */
    }
    #breadcrumbs span span a:first-child::before {
        font-family: 'FontAwesome';
        content: "\f015";
        color: var(--color-grey);
        font-size: large;
    }

    #breadcrumbs span span a:first-child {
        font-size: 0;
        text-decoration: none;
    }

    /* QUICKICONS */
    header .quickicons-bar {
        position: fixed;
        top: 2rem;
        right: 2rem;
        width: auto;
        height: auto;
        z-index: 102;
    }


    header .quickicons-bar > .quickicons {
        background: var(--color-red);
        width: 169px;
        height: 169px;
        display: flex;
        flex-wrap: wrap;
    }

    header .quickicons-bar > .quickicons > a {
        display: flex;
        width: 50%;
        color: var(--color-white);
        text-decoration: none;
    }

    header .quickicons-bar > .quickicons > a:nth-child(1) {
        align-content: center; /*flex-start;*/
        justify-content: center; /*flex-start;*/
        align-items: center; /*flex-start;*/
    }

    header .quickicons-bar > .quickicons > a:nth-child(2) {
        align-content: center; /*flex-start;*/
        justify-content: center; /*flex-end;*/
        align-items: center; /*flex-start;*/
    }

    header .quickicons-bar > .quickicons > a:nth-child(3) {
        align-content: center; /*flex-end;*/
        justify-content: center; /*flex-start;*/
        align-items: center; /*flex-end;*/
    }

    header .quickicons-bar > .quickicons > a:nth-child(4) {
        align-content: center; /*flex-start;*/
        justify-content: center; /*flex-end;*/
        align-items: center; /*flex-end;*/
    }

    header .quickicons-bar > .quickicons > a:hover {
        color: var(--color-white-hover);
        text-decoration: none;
    }

    header .quickicons-bar > .quickicons > a > i {
        font-size: 3rem;
    }

    header.scroll .quickicons-bar > .quickicons {
        width: 100%;
        height: 46px;
        display: flex;
        flex-wrap: nowrap;
        flex-direction: row;
        align-content: center;
        justify-content: center;
        align-items: center;
    }

    header.scroll .quickicons-bar > .quickicons > a i {
        font-size: 1.8rem;
    }

    header.scroll .quickicons-bar {
        top: 0;
        right: 0;
    }

    body.home header .quickicons-bar {
        display: none;
    }

    body.home header.scroll .quickicons-bar {
        display: block;
    }

    body.home div#breadcrumbs {
        display: none;
    }

/*
-------------------------------------------------------------------
(TODO) Header NAV (responsive)
-------------------------------------------------------------------
*/



@media (min-width:2560px) {

    header .quickicons-bar > .quickicons {
        width: 213px;
        height: 213px;
    }

    header.scroll .quickicons-bar > .quickicons {
        height: 65px;
    }

    #breadcrumbs {
        margin-top: 65px;
        padding-bottom: 1px; /* TODO wegen breadcrumbs nicht anzeigen */
    }

}

@media (max-width:992px) {

    /* mobile Side Menu */
    ul.sub-menu {
    left: auto;
    position: relative;
    display: block !important;
    }

    .theme-header-class a, .theme-header-class li > span {
        font-size: 100%;
    }

    header nav ul li {
        display: flex;
        flex-direction: column;
        flex-wrap: nowrap;
    }

    body.home header:not(.scroll) .theme-header-class ul {
    background-color: var(--color-grey);
    }

    .theme-header-class > li > a, .theme-header-class > li > span {
        font-size: 65%;
    }

    header nav {
        overflow: scroll;
    }

    .theme-header-class a, .theme-header-class li > span {
        padding: 8px 0;
    }

    .theme-header-class > li > ul {
        padding-left: 0;
    }

    .theme-header-class > li {
        margin-left: 0;
    }



    /* --- */

    footer ul.theme-footer-class-3 {
        display: flex;
        flex-direction: column;
        flex-wrap: nowrap;
        align-items: center;
        margin-bottom: 20px;
    }

    footer ul.theme-footer-class-3>li {
        margin: 0;
        line-height: 2rem;
    }


    main h1:not(.sr-only) {
        padding: 1.25rem;
        margin-top: 64px;
        padding-top: 11%;
        font-size: 2.3rem;
    }

    section.default {
        padding: 0.5rem 0;
    }

    header {
        background: var(--color-lightgrey);
        height: 64px;
        position: fixed;
        top: 0;
        width: 100%;
    }

    header > figure > img {
        -webkit-transform: rotate(0deg);
        -moz-transform: rotate(0deg);
        -ms-transform: rotate(0deg);
        -o-transform: rotate(0deg);
        transform: rotate(0deg);
        max-width: 25vh;
    }

    body.home > header > figure {
        background: var(--color-grey);
        -webkit-transform: rotateZ(0deg);
        -moz-transform: rotateZ(0deg);
        -ms-transform: rotateZ(0deg);
        -o-transform: rotateZ(0deg);
        transform: rotateZ(0deg);
        transform-origin: initial;
        width: 45% !important;
        padding: 20px !important;
    }

    body.home > header > figure img {
        -webkit-transform: rotate(0deg);
        -moz-transform: rotate(0deg);
        -ms-transform: rotate(0deg);
        -o-transform: rotate(0deg);
        transform: rotate(0deg);
        padding-top: initial;
    }

    header > figure,
    body.home > header > figure {
        width: 45%;
        background-color: var(--color-grey);
    }

    footer {
        margin-bottom: 44px;
    }

    #breadcrumbs {
        display: none;
    }

    header .quickicons-bar {
        display: block;
        top: revert;
        bottom: 0;
        width: 100%;
        right: 0;
    }
    body.home header .quickicons-bar {
        display: none;
    }


    header.scroll .quickicons-bar {
        top: revert;
        right: 0;
    }

    header .quickicons-bar > .quickicons {
        width: auto;
        height: auto;
        flex-wrap: nowrap;
        flex-direction: row;
        align-content: center;
        justify-content: center;
        align-items: center;
    }

    header .quickicons-bar > .quickicons > a:nth-child(1), header .quickicons-bar > .quickicons > a:nth-child(2), header .quickicons-bar > .quickicons > a:nth-child(3), header .quickicons-bar > .quickicons > a:nth-child(4) {
        justify-content: center;
    }


    body.home .slo-mob {
      padding-left: 45%;
      display: inline-flex !important;
      width: calc(100% - 63px);
      padding-right: 4px;
      flex-direction: row;
      flex-wrap: nowrap;
      justify-content: space-evenly;
      align-items: center;
      height: 100%;
      color: var(--color-grey);
      line-height: 1.2;
  }

  .toggle-nav {
    display: block;
}

.toggle-nav {
    display: inline-block !important;
    background: var(--color-red);
    transition: all linear 0.15s;
    position: fixed;
    z-index: 110;
    right: 0;
    top: 0;
    text-decoration: none;
    color: var(--color-white);
    padding: 5px 15px;
    font-size: 36px;
}

.toggle-nav.active {
    z-index: 999;
    padding: 5px 20px;
    background: var(--color-grey);
}

.toggle-nav.active .open,
.toggle-nav .close { display: none; }
.toggle-nav.active .close,
.toggle-nav .open{ display: block; }

a.toggle-nav , a.toggle-nav:hover { color: var(--color-white); }

header nav {
    z-index: 1;
    height: 100vh;
    width: 100%;
    padding: 0;
    margin: 0;
    display: flex !important;
    flex-direction: column;
    flex-wrap: nowrap;
    justify-content: center;
    background: var(--color-lightgrey);
    opacity:0;
    left:100% !important;
    transition: all 0.8s ease;
}

header nav.show {
    left:0% !important;
    opacity:1;
    z-index: 990;
    background: var(--color-lightgrey) !important;
    justify-content: flex-start;
}

header nav ul {
    background: inherit;
    display: flex;
    flex-direction: column;
    align-content: center;
    justify-content: center;
    align-items: center;
    top: initial;
    flex-wrap: nowrap;
}

header nav ul li {
    width: 100%;
    text-align: center;
    display: inline-flex !important;
    justify-content: center;
}

.theme-header-class > li > a,
.theme-header-class > li > span {
    padding-left: 3%;
    color: var(--color-grey) !important;
}

.theme-header-class li a span,
.theme-header-class li span span {
    display: none;
}

.theme-header-class li.active a span {
    display: inline-block;
}

.theme-header-class li.lang-item {
    margin: 0;
    /* max-width: 10%; */
    flex-grow: 0.5;
}

.theme-header-class li.lang-item a {
    padding: 3% 5%;
    font-size: 100%;
    margin: 1%;
    color: var(--color-grey) !important;
    border: 1px solid var(--color-grey) !important;
    box-shadow: inset 0 0 0 0 var(--color-grey) !important;
}


.theme-header-class	li.lang-item.current-lang a {
	background: var(--color-grey) !important;
    color: var(--color-white) !important;
}


/*body.page-template-page-template-dashaus header, body.single-programm header, body.page-template-default header, body.post-template-default header {
    height: 64px;
    background: var(--color-lightgrey);
    }*/

    body.page-template-page-template-dashaus header > figure > img,
    body.single-programm header > figure > img,
    body.page-template-default header > figure > img,
    post.page-template-default header > figure > img,
    header > figure > img {
        padding: 5%;
    }

    section.default .muth-filter label {
    font-size: 1rem;
    line-height: 2rem;
    }

}

/*
-------------------------------------------------------------------
(TODO) Header Default Page
-------------------------------------------------------------------

body.page-template-page-template-dashaus header > figure > img,
body.single-programm header > figure > img,
body.post-template-default header > figure > img,
body.page-template-default header > figure > img {
    -webkit-transform: rotate(0deg);
    -moz-transform: rotate(0deg);
    -ms-transform: rotate(0deg);
    -o-transform: rotate(0deg);
    transform: rotate(0deg);
    max-width: 25vh;
}

body.page-template-page-template-dashaus header figure,
body.single-programm header figure,
body.post-template-default header figure,
body.page-template-default header figure {
    -webkit-transform: rotateZ(0deg);
    -moz-transform: rotateZ(0deg);
    -ms-transform: rotateZ(0deg);
    -o-transform: rotateZ(0deg);
    transform: rotateZ(0deg);
    top: auto;
    bottom: inherit;
    background: var(--color-grey);
    padding: 1%;
}


body.page-template-page-template-dashaus header,
body.single-programm header,
body.post-template-default header,
body.page-template-default header {
    position: relative;
    width: 100%;
    height: 120px;
}

body.page-template-page-template-dashaus header > nav,
body.single-programm header > nav,
body.post-template-default header > nav,
body.page-template-default header > nav {
    left: 0;
    background: var(--color-lightgrey);
    padding-left: 17%;
    width: 100%;
    }*/





    /* H1 */
    h1:not(.sr-only) {
        background: var(--color-lightgrey);
        color: var(--color-grey);
        /* text-transform: uppercase; */
        font-size: 3.5rem;
        padding-left: calc(16.6666666667% + 20px);
        padding-top: 35px;
        /* padding-top: 108px; weil breadcrumbs weg */
        padding-bottom: 23px;
    }

/*
-------------------------------------------------------------------
(TODO) Header Default Page (responsive)
-------------------------------------------------------------------
*/

@media (min-width:2560px) {

	/*body.single-programm header,
    body.post-template-default header,
	body.page-template-default header {
		height: 140px;
       }*/

       .dce > p {
        font-size: 1rem;
    }

    .dce .dce_title {
        font-size: 1.8rem;
    }

}


/*
-------------------------------------------------------------------
(TODO) Gallery Grid
-------------------------------------------------------------------
*/
.grid-container { height: 100%; margin: 0; overflow: hidden;}

.grid-container {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr;
  grid-template-rows: 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr;
  gap: 0px 0px;
}

.pic1 { grid-area: 1 / 1 / 5 / 5; }

.pic2 { grid-area: 3 / 2 / 8 / 5; }

.pic3 { grid-area: 2 / 4 / 10 / 13; }

.pic4 { grid-area: 4 / 6 / 10 / 10; }

.pic5 { grid-area: 7 / 7 / 11 / 13; }

.picbtn { grid-area: 8 / 10 / 10 / 13; }



.pic1 {z-index: 21;}
.pic2 {z-index: 23;}
.pic3 {z-index: 22;}
.pic4 {z-index: 26;}
.pic5 {z-index: 20;}
.picbtn {z-index: 25;}

.grid-container img {
    max-width: 100%;
    max-height: 100%;
    height: auto;
}

.picbtn {
    background: var(--color-red);
}

.picbtn a.btn {
    width: 100%;
    height: 100%;
    margin: 0;
    display: flex;
    align-items: flex-end;
    justify-content: flex-end;
    font-size: 150%;
}

.grid-container * {
	transition: all 1s ease;
}

.grid-container *:hover {
	z-index: 30;
}

.grid-container img:hover,
.grid-container div.picbtn:hover {
    transform: translateX(-5%) translateY(-5%);
    transform-origin: center;
    max-width: 120%;
    max-height: 120%;
}

/* For presentation only
.grid-container * {
  border: 1px solid red;
  position: relative;
}

.grid-container *:after {
  content:attr(class);
  position: absolute;
  top: 0;
  left: 0;
  }*/


/*
-------------------------------------------------------------------
(TODO) Gallery Grid (responsive)
-------------------------------------------------------------------
*/

@media (max-width:992px) {

    .pic1 { grid-area: 1 / 1 / 9 / 7; }

    .pic3 { grid-area: 2 / 2 / 11 / 14; }

    .picbtn { grid-area: 11 / 2 / 13 / 6; }

    .pic2, .pic4, .pic5 { display: none;}

    .pic1 { z-index: 24; }

    .picbtn a.btn {
        padding-top: 30px;
        display: flex;
        justify-content: center;
        align-items: flex-end;
    }

}


/*
-------------------------------------------------------------------
(TODO) Termin Detail Page
-------------------------------------------------------------------
*/

/* TODO nur für ansicht in haus template */
section.detail-termin {
    padding-top: 0;
}

section.detail-termin h1.detail-termin-titel {
    background: none;
    padding-left: 0;
    margin: 0;
    padding-top: 35px;
    text-transform: unset;
}

section.detail-termin .detail-termin-programm {
    margin-bottom: 1rem;
}

.detail-termin-image-primary img {
    width: 100%;
    height: auto;
}

.detail-termin-image-primary.termin-status-2 img {
    opacity: 0.25;
}

h2.detail-termin-subtitel {
    color: var(--color-black);
}

h3.detail-termin-genre-format {
    text-transform: uppercase;
    word-spacing: 1.2rem;
}

.detail-termin-sidebar .card-body .card-title {
  text-transform: none;
  font-size: 100%;
  color: var(--color-black);
  margin-top: 2rem;
  position: relative;
}

.detail-termin-sidebar .card-body .card-title:first-of-type {
    margin-top: 0;
  }

.detail-termin-sidebar .card-title:before {
  content : "";
  position: absolute;
  left    : 0;
  top: -1rem;
  height: 5px;
  width: 12%;
  border-top: 4px solid var(--color-black);
}

.detail-termin-sidebar li.list-group-item {
    border: none;
    font-size: 90%;
    padding: 0rem 1rem;
}

.detail-termin-sidebar li.list-group-item:before {
  content: "";
}

.detail-termin-sidebar li.list-group-item a {
    color: var(--color-black);
}

.detail-termin-sidebar li.list-group-item a.termin-status-2 {
    color: var(--color-grey-hover);
    text-decoration:line-through;
}

.detail-termin .detail-termin-media-videos .mwd-dsgvo-video-connection a {
    width: 100%;
    max-width: 100%;
}

.detail-termin .detail-termin-media-videos .mwd-dsgvo-video-connection iframe {
    position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.detail-termin-programm-cast {
    background: var(--color-lightgrey);
}

span.detail-termin_cast_name {
    font-weight: bold;
}

span.detail-termin-cast_role:after {
    content: ", ";
}

span.detail-termin-cast_role:last-child:after {
    content: "";
}

.detail-terminquote {
    font-size: 1.5rem;
    line-height: 2rem;
    color: var(--color-grey);
    font-family: var(--font-baskerville);
}

.detail-termin-date-ticketbtn {
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    height: 100%;
    padding-top: 10%;
}

.detail-termin-status {
    color: var(--color-grey);
    font-size: 1rem;
    text-transform: uppercase;
    display: block;
    width: 100%;
}

.detail-termin-date_start_hour {
    padding-top: 1rem;
    position: relative;
}

.detail-termin-date_start_year {
    padding-bottom: 1rem;
}

.detail-termin-date_start_converted,
.detail-termin-date_start_month,
.detail-termin-date_start_year {
    color: var(--color-grey);
    font-size: 2.5rem;
    text-transform: uppercase;
    line-height: 1;
}


.detail-termin-date_start_hour,
.detail-termin-date_end_hour,
.detail-termin-break_included,
.detail-termin-room,
.detail-until {
    color: var(--color-grey);
    font-size: 1.2rem;
    line-height: 1.2;
}

.detail-termin-break_included {
    font-size: 80%;
    line-height: 2;
    font-style: italic;
}

.detail-termin-date_start_hour::before {
    display: inline-block;
    position: absolute;
    content: "";
    border-top: 0.2rem solid var(--color-grey);
    width: 2rem;
    top: -0.2rem;
}

.detail-termin-ticket_button i.fa {
    font-size: 4rem;
}

.detail-termin-ticket_button {
    position: relative;
    display: flex;
    flex-direction: column;
    flex-wrap: nowrap;
    padding: 1rem 2rem;
    height: 100%;
    text-align: center;
    align-items: center;
    justify-content: center;
}


section.detail-termin .detail-termin-ticket_button a {
    color: var(--color-white);
    background: var(--color-red);
    display: flex;
    flex-direction: column;
    align-content: center;
    justify-content: center;
    align-items: center;
    padding: 2rem;
}

section.detail-termin .detail-termin-ticket_button a:hover {
    text-decoration: none;
    opacity: var(--opacity-hover);
}

section.detail-termin .detail-termin-ticket_button a i {
    font-size: 3rem;
}

section.detail-termin .detail-termin-ticket_button a span {
    text-transform: uppercase;
}

section.detail-termin .detail-termin-ticket_button a.sold {
    opacity: 1;
    color: rgba(107, 128, 145, 0.35 );
    background: var(--color-lightgrey);
}

.detail-termin-infos {
    background: var(--color-lightgrey);
}


/*
-------------------------------------------------------------------
(TODO) Termin Detail Page (responsive)
-------------------------------------------------------------------
*/

@media (max-width:992px) {

    .detail-termin-date-ticketbtn {
        display: flex;
        flex-direction: row;
        flex-wrap: nowrap;
        justify-content: space-between;
    }
    .detail-termin-date-ticketbtn {
        padding: 1.25rem;
        margin-top: 64px;
        display: flex;
        align-items: flex-start;
        padding-top: 11%;
    }

    .detail-termin-infos {
        display: flex;
        flex-direction: row;
        flex-wrap: wrap;
        background: var(--color-white);
        align-content: space-between;
    }

    .detail-termin-date_start_converted,
    .detail-termin-date_start_month,
    .detail-termin-date_start_year,
    .detail-termin-date_start_hour,
    .detail-termin-date_end_hour,
    .detail-termin-break_included,
    .detail-termin-room {
        font-size: 1.3rem;
        line-height: 1;
        padding: 0;
        margin: 0;
    }

    .detail-termin-break_included {
        font-size: .5rem;
        padding-top: 8px;
        padding-left: 6px;
    }

    .detail-termin-date_start_month,
    .detail-termin-date_start_year {
        margin-left: 0.25rem;
        padding-top: 0;
    }

    .detail-termin-date_start_hour::before {
        content: none;
    }

    .detail-termin-ticket_button {
        margin-right: 0;
        padding: 0;
        align-items: flex-end;
        flex: auto;
    }

    section.detail-termin .detail-termin-ticket_button a {
        padding: 1.5rem 1rem;
    }

    .detail-termin-ticket_button i.fa {
        font-size: 2rem;
    }

    .detail-termin-date_start_hour::after {
        display: inline-block;
        position: relative;
        content: " - ";
        padding: 0 3px;
    }

}

/*
-------------------------------------------------------------------
(TODO) ABO Detail
-------------------------------------------------------------------
*/

section.detail-abo {
    padding-top: 0;
}

.detail-abo-saison {
    display: flex;
    flex-direction: column;
    height: 100%;
    justify-content: space-between;
}

.detail-abo-infos {
    background: var(--color-lightgrey);
    text-align: center;
}

.detail-abo-saison-txt,
.detail-abo-saison-years {
    color: var(--color-grey);
    font-size: 2.5rem;
    text-transform: uppercase;
    line-height: 1.5;
}

section.detail-abo .detail-abo-ticket_button a {
    color: var(--color-white);
    background: var(--color-red);
    display: flex;
    flex-direction: column;
    align-content: center;
    justify-content: center;
    align-items: center;
    padding: 2rem;
}

section.detail-abo h1.detail-abo-titel {
    background: none;
    padding-left: 0;
    margin: 0;
}

section.detail-abo .programm {
    border-bottom: 2px solid  var(--color-grey);
}



/*
-------------------------------------------------------------------
(TODO) von Kalender-Programm
-------------------------------------------------------------------
*/

section.default.detail-abo .programm .programm-middle {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
}

section.default.detail-abo .programm .programm-middle .programm-title {
    background: var(--color-grey);
    padding: 0.5rem 1rem;
    color: var(--color-white);
    display: inline-block;
    font-size: 1.5rem;
}

section.default.detail-abo .programm .programm-subtitle {
    background: var(--color-lightgrey);
    padding: 0.25rem 1rem;
    color: var(--color-black);
}

section.default.detail-abo .programm .programm-genre {
    position: absolute;
    top: 0;
    right: 0;
    background: var(--color-white);
    color: var(--color-grey);
    text-transform: uppercase;
    padding: 0.5rem;
}

section.default.detail-abo .programm .programm-genre-mobile {
    background: var(--color-white);
    color: var(--color-grey);
    text-transform: uppercase;
    padding: 0.5rem 0;
}

section.default.detail-abo .programm .programm-format {
    color: var(--color-grey);
    text-transform: uppercase;
    padding: 0.5rem;
    position: relative;
    margin-left: -0.5rem;
}

section.default.detail-abo .programm .programm-format::before {
    content: "|";
    position: absolute;
    left: 0;
}

section.default.detail-abo .programm .programm-age_recommendation {
    color: var(--color-grey);
    text-transform: uppercase;
    padding: 0.5rem;
    position: relative;
    display: inline-block;
    margin-left: -0.5rem;
}

section.default.detail-abo .programm .programm-suitable_for {
    color: var(--color-grey);
    text-transform: uppercase;
    padding: 0.5rem;
    margin-left: -0.5rem;
    display: inline-block;
    margin-top: -0.5rem;
}

section.default.detail-abo .programm .programm-right {
    display: flex;
    flex-direction: column;
    flex-wrap: nowrap;
}

section.default.detail-abo .programm .programm-right .programm-right-flex {
    display: flex;
    flex-direction: column;
    height: 100%;
    justify-content: space-between;
}


section.default.detail-abo .programm .programm-left  {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    height: 100%;
}

section.default.detail-abo .programm .programm-left .programm-status  {
    color: var(--color-grey);
    font-size: 1rem;
    text-transform: uppercase;
}

section.default.detail-abo .programm .programm-left .programm-date_start_converted,
section.default.detail-abo .programm .programm-left .programm-date_start_month,
section.default.detail-abo .programm .programm-left .programm-date_start_year {
    color: var(--color-grey);
    font-size: 2.5rem;
    text-transform: uppercase;
    line-height: 1;
}

section.default.detail-abo .programm .programm-left .programm-date_start_year {
    padding-bottom: 1rem;
}

section.default.detail-abo .programm .programm-left .programm-date_start_hour {
    padding-top: 1rem;
    position: relative;
}

section.default.detail-abo .programm .programm-left .programm-date_start_hour::before {
    display: inline-block;
    position: absolute;
    content: "";
    border-top: 0.2rem solid var(--color-grey);
    width: 2rem;
    top: -0.2rem;
}

section.default.detail-abo .programm .programm-left .programm-date_start_hour,
section.default.detail-abo .programm .programm-left .programm-date_end_hour,
section.default.detail-abo .programm .programm-left .programm-break_included {
    color: var(--color-grey);
    font-size: 1.2rem;
    line-height: 1;
}

section.default.detail-abo .programm .programm-left .programm-ticket_button {
    position: relative;
    display: inline-flex;

}

section.default.detail-abo .programm .programm-left .programm-ticket_button a {
    color: var(--color-white);
    background: var(--color-red);
    display: flex;
    flex-direction: column;
    align-content: center;
    justify-content: center;
    align-items: center;
    padding: 1rem 2rem;
}

section.default.detail-abo .programma:hover {
    text-decoration: none !important;
}

section.default.detail-abo .programma.programm-link {
    display: inline;
}



section.default.detail-abo .programm .programm-left .programm-ticket_button a:hover {
    text-decoration: none;
    opacity: var(--opacity-hover);
}

section.default.detail-abo .programm .programm-left .programm-ticket_button a i {
    font-size: 2.5rem;
    margin-bottom: 0.5rem;
}

section.default.detail-abo .programm .programm-left .programm-ticket_button a span {
    text-transform: uppercase;
}

section.default.detail-abo .programm .programm-left .programm-ticket_button a.sold {
    opacity: 1;
    color: rgba(107, 128, 145, 0.35 );
    background: var(--color-lightgrey);
}

section.default.detail-abo .programm> .row {
    border-bottom: 2px solid var(--color-grey);
}

section.default.detail-abo .programm> .row:last-child {
    border-bottom: 0;
}

/*
-------------------------------------------------------------------
Abo -Programm (responsive)
-------------------------------------------------------------------
*/

@media (max-width:1400px) {

    section.default.detail-abo .programm .programm-left .programm-date_start_converted, section.default.detail-abo .programm .programm-left .programm-date_start_month, section.default.detail-abo .programm .programm-left .programm-date_start_year {
        font-size: 2rem;
    }

    section.default.detail-abo .programm .programm-left .programm-date_start_year {
        padding-bottom: 0.5rem;
    }

    section.default.detail-abo .programm .programm-left .programm-date_start_hour {
        padding-top: 0.5rem;
    }

    section.default.detail-abo .programm .programm-left .programm-ticket_button a {
        padding: 0.5rem 1rem;
    }

}

@media (max-width:1200px) {

    section.default.detail-abo .programm .programm-left .programm-date_start_converted, section.default.detail-abo .programm .programm-left .programm-date_start_month, section.default.detail-abo .programm .programm-left .programm-date_start_year {
        font-size: 1.5rem;
    }

    section.default.detail-abo .programm .programm-left .programm-ticket_button a i {
        font-size: 2rem;
    }

    section.default.detail-abo .programm{
        font-size: 80%;
    }

    section.default.detail-abo .programm .programm-left .programm-date_start_year {
        padding-bottom: 0.5rem;
    }

    section.default.detail-abo .programm .programm-left .programm-date_start_hour,
    section.default.detail-abo .programm .programm-left .programm-date_end_hour,
    section.default.detail-abo .programm .programm-left .programm-break_included {
        font-size: 80%;
    }

}

@media (max-width:992px) {

	.detail-abo-saison {
       display: flex;
       flex-direction: row;
       flex-wrap: nowrap;
       padding-top: 70px;
   }

   .detail-abo-infos {
      background: var(--color-white);
  }

  .detail-abo-sidebar {
   margin-top: 2rem;
}

section.default.detail-abo .programm .programm-format {
    color: var(--color-grey);
    text-transform: uppercase;
    padding: 0;
    position: relative;
    margin-left: 0.25rem;
}

section.default.detail-abo .programm .programm-format::before {
    display: none;
    margin-left: 0;
}

section.default.detail-abo .programm .programm-genre-mobile {
    padding: 0.25rem 0;
}

section.default.detail-abo .programm .programm-age_recommendation {
    padding: 0;
    margin-left: 0;
    margin-right: 0.25rem;
}

section.default.detail-abo .programm .programm-suitable_for {
    padding: 0rem;
    margin-left: 0rem;
}

section.default.detail-abo .programm .programm-right {
    padding-top: 0.5rem;
}

section.default.detail-abo .programm .programm-left > div:nth-child(2) {
    display: flex;
    flex-direction: row;
    padding-top: 0.5rem;
}

section.default.detail-abo .programm .programm-left > div:nth-child(2) .programm-date_start_converted,
section.default.detail-abo .programm .programm-left > div:nth-child(2) .programm-date_start_month,
section.default.detail-abo .programm .programm-left > div:nth-child(2) .programm-date_start_year,
section.default.detail-abo .programm .programm-left > div:nth-child(2) .programm-date_start_hour,
section.default.detail-abo .programm .programm-left > div:nth-child(2) .programm-date_end_hour {
    font-size: 0.8rem;
}

section.default.detail-abo .programm .programm-left > div:nth-child(2) .programm-date_start_hour {
    padding-top: 0;
}

section.default.detail-abo .programm .programm-left > div:nth-child(2) .programm-date_end_hour::before {
    display: inline-block;
    position: relative;
    content: " - ";
}

section.default.detail-abo .programm .programm-left > div:nth-child(2) .programm-date_start_hour::before {
    display: inline-block;
    position: relative;
    content: " | ";
    border-top: 0;
    width: 0.4rem;
    top: 0;
}

section.default.detail-abo .programm .programm-left > div:nth-child(2) .programm-date_start_month,
section.default.detail-abo .programm .programm-left > div:nth-child(2) .programm-date_start_year,
section.default.detail-abo .programm .programm-left > div:nth-child(2) .programm-date_start_hour {
    margin-left: 0.25rem;
}

}



/* responsiv */

@media (max-width:992px) {
    .dce .dce_title_floor {
        max-width: 75%;
    }

    .dashaus-trigger {
        display: none;
    }
}

@media (min-width:992px) and (max-width: 1440px) {
   .detail-abo-infos {
        padding: 50px 0px !important;
   }
   .detail-termin-ticket_button {
    padding: 0;
}
}


/* Kris Zusatz */

section.default .detail-termin-btn-kalender {
    text-transform: uppercase;
}



/* DGVO VIDEO EMBED */
section.default .livestream .editor-wrapper {
    max-width: 1200px;
    text-align: center;
    margin: 0 auto;
}

section.default .editor-wrapper a.mwd-dsgvo-video-connection-handler:link,
section.default .editor-wrapper a.mwd-dsgvo-video-connection-handler:active,
section.default .editor-wrapper a.mwd-dsgvo-video-connection-handler:focus,
section.default .editor-wrapper a.mwd-dsgvo-video-connection-handler:visited,
section.default .editor-wrapper a.mwd-dsgvo-video-connection-handler:hover {
    transition: none !important;
    padding-left: 0 !important;
    width: 100% important;
    max-width: 100%;
}

section.default .editor-wrapper .mwd-dsgvo-video-connection .vimeo img {
    max-width: 100%;
}

section.default .editor-wrapper .mwd-dsgvo-video-connection-overlay {
    max-width: 100% !important;
}

section.default .editor-wrapper .mwd-dsgvo-video-connection iframe,
section.default .editor-wrapper .mwd-dsgvo-video-connection object,
section.default .editor-wrapper .mwd-dsgvo-video-connection embed {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.mwd-dsgvo-video-connection {
    max-width: 1200px;
    width: 100%;
    margin-bottom: 40px;
}

.mwd-dsgvo-video-connection .youtube img {
    max-width: 1200px;
}

.mwd-dsgvo-video-connection-overlay.youtube {
    max-width: 100%;
}

/* responsive fixes { */

     /* startseite { */

        @media (min-width:992px) and (max-width:2559px) {

            section.home-slider .home-slider-info {
                top: 60px;
            }
        
            section.home-slider .home-slider-info > .home-slider-info-quickicons {
                width: 200px;
                height: 200px;
            }
        
            section.home-slider .home-slider-info_addition > .home-slider-info-shoutbox {
                width: 200px;
            }
         
            section.home-slider .home-slider-info > .home-slider-info-quickicons > a {
                padding: 0rem;
            }
        
        }
    
        @media (max-width:1400px) {
    
            section.home-slider .home-slider-info > .home-slider-info-quickicons > a i {
                font-size: 2.5rem;
            }
    
            section.home-slider .home-slider-info > .home-slider-info-quickicons {
                width: 150px;
                height: 150px;
            }
    
            section.home-slider .home-slider-info_addition > .home-slider-info-shoutbox {
                width: 150px;
            }
    
            section.home-slider .home-slider-info_addition {
                margin-top: 170px;
                max-width: 150px;
                overflow: hidden;
            }
            section.home-slider .home-slider-info_addition > .home-slider-info-livestream div:first-child {
                display: none;
            }
            section.home-slider .home-slider-info_addition > .home-slider-info-livestream .home-slider-info-livestream-message {
                padding: 1rem;
            }
    
        }
    
        @media (max-width:992px) {
    
            section.home-slider .home-slider-info_addition > .home-slider-info-shoutbox {
                justify-content: flex-end;
            }
    
            body, html {
                font-size: 0.95rem;
            }
    
            section.home-termin .home-termin-title {
                font-size: 1.5rem;
            }
    
            section.home-termin .home-termin-slider .item {
                font-size: 1rem;
            }
    
            body.home .slo-mob {
                justify-content: flex-end;
                padding-right: 2rem;
            }
    
            section.home-slider .home-slider-info > .home-slider-info-quickicons > a:nth-child(1), section.home-slider .home-slider-info > .home-slider-info-quickicons > a:nth-child(2), section.home-slider .home-slider-info > .home-slider-info-quickicons > a:nth-child(3), section.home-slider .home-slider-info > .home-slider-info-quickicons > a:nth-child(4) {
                padding: 0;
            }
    
            section.home-termin h2 {
                top: 5px;
                position: relative;
            }
    
            section.home-termin {
                margin-top: -230px;
            }
    
            section.home-slider .home-slider-info > .home-slider-info-quickicons > a i {
                font-size: 1.8rem;
            }
            
            section.home-slider .home-slider-info_addition {
                margin-top: 3rem;
                max-width: 100%;
                overflow: auto;
            }
    
            section.home-slider .home-slider-info > .home-slider-info-quickicons {
                width: unset;
                height: unset;
            }
    
            .toggle-nav {
                color: var(--color-white) !important;
            }
    
            .theme-header-class > li > a, .theme-header-class > li > span {
                font-size: 1.5rem;
                font-weight: 700;
            }
    
            .theme-header-class a, .theme-header-class li > span {
                font-size: 1.1rem;
            }
    
            header nav ul li {
                border-bottom: 1px solid rgba(255, 255, 255, 0.1);
            }
    
            .dce .dce_title_floor {
                font-size: 1.3rem;
            }
    
            .toggle-nav.active {
                background: var(--color-red);
            }
    
            .toggle-nav.active .close, .toggle-nav .open {
                background: transparent;
            }
            section.home-slider .home-slider-info_addition > .home-slider-info-livestream {
                width: 150px;
            }
    
        }
    
        @media (max-width:600px) {
    
            section.home-termin .home-termin-title {
                font-size: 1rem;
            }
    
            section.home-termin .home-termin-slider .item {
                font-size: 0.8rem;
            }
    
            body.home .slo-mob {
                margin-left: 1rem;
            }
        
        }
    
        @media (min-width:2560px) {
    
            section.home-slider .home-slider-info > .home-slider-info-quickicons > a i {
                font-size: 4rem;
            }
    
            section.home-termin {
                margin-top: -182px;
            }
    
            section.home-termin .home-termin-desc {
                margin-top: 3rem;
            }
    
            .owl-carousel .owl-nav button.owl-next, .owl-carousel .owl-nav button.owl-prev {
                height: 81px;
            }
            
        }
    
        @media (min-width:2560px) and (min-height:1300px) {
    
            body.home > header > figure {
                max-width: 1000px;
            }
    
        }
    
        @media (min-width:2560px) and (max-height:1300px) {
    
            body.home > header > figure {
                max-width: 700px;
            }
    
        }

        @media (max-height:840px) {
            section.home-slider .home-slider-info_addition > .home-slider-info-shoutbox div:first-child {
                display: none;
            }
            section.home-slider .home-slider-info_addition > .home-slider-info-shoutbox .home-slider-info-shoutbox-message {
                padding-top: 1rem;
            }
        }

        @media (max-height:740px) and (min-width:992px) {
            section.home-slider .home-slider-info {
                top: 40px;
            }
            section.home-slider .home-slider-info_addition {
                margin-top: 150px;
                font-size: 80%;
            }
        }
    
     /* } startseite */
    
     /* kalender, Programm, Zyklen { */
    
        @media (max-width:1400px) {
    
            section.default .muth-filter > div > div:first-of-type {
                font-size: 0.9rem;
                padding: 0.7rem 1rem;
                border-bottom: 1px solid rgba(255, 255, 255, 1);
            }
    
            section.default .muth-filter > div > div:first-of-type::after {
                padding: 0.7rem;
            }
    
            section.default .muth-filter label {
                text-transform: uppercase;
                color: var(--color-grey-hover);
            }
    
            section.default .muth-filter label input {
                margin-right: 0.8rem;
            }
    
            section.default .muth-filter .checkmark {
                top: 3px;
            }
    
        }
    
        @media (max-width:992px) {
    
            section.default .muth-filter .checkmark {
                top: 7px;
            }
    
            .muth-filter-cloud > span {
                font-size: 1rem;
            }
    
            section.default .programm .programm-subtitle {
                font-size: 1rem;
            }
    
            section.default .programm .programm-genre-mobile {
                font-size: 1rem;
            }
    
            section.default .programm .programm-left > div:nth-child(2) .programm-date_start_converted, section.default .programm .programm-left > div:nth-child(2) .programm-date_start_month, section.default .programm .programm-left > div:nth-child(2) .programm-date_start_year, section.default .programm .programm-left > div:nth-child(2) .programm-date_start_hour, section.default .programm .programm-left > div:nth-child(2) .programm-date_end_hour {
                font-size: 1rem;
            }
    
            section.default .programmoverview .programmoverview-subtitle {
                font-size: 1rem;
            }
    
            section.default #search i {
                padding: 0.5rem;
                font-size: 1.5rem;
            }
    
            p {
                font-size: 1rem;
            }
    
            section.default .abooverview .abooverview-subtitle {
                font-size: 1rem;
            }
    
        }
    
     /* } kalender, Programm, Zyklen */
    
     /* das haus { */
        
        .dashaus-images .dashaus-point {
            border: 3px solid var(--color-red);
        }
    
        .dashaus-images .dashaus-point div div.lefthanded {
            border-left: 2px solid var(--color-red);
        }
    
        .dashaus-images .dashaus-point div div {
            border-right: 2px solid var(--color-red);
        }
    
     /* } das haus */

/* } responsive fixes */


/* call update */

.home-news .card-title {
    text-transform: unset;
}

a.justalink {
    display: inline-block !important;
    padding: 0 !important;
    background: transparent !important;
    color: var(--color-grey) !important;
}