/*
-------------------------------------------------------------------
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(95, 112, 129, 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:focus-visible {
    outline: -webkit-focus-ring-color auto 1px !important;
	outline-offset: 4px !important;
}
.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(13)>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,
.theme-header-class>li.submenu-open>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 .post_is_soldout {
    color: var(--color-red);
    font-size: 80%;
    display: none;
}

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;
}


@media (max-width:992px) {

    section.detail-termin .post_is_soldout {
        display: block;
    }

}


section.mediathek .detail-termin-image-primary .mwd-dsgvo-video-connection {
    overflow: unset;
}

.mwd-dsgvo-video-connection.play-video {
    max-height: 100% !important;
    height: unset;
}

/* Footer Font Menu */
ul#menu-footer-navigation-3-3-deutsch {
    font-size: 0.8rem;
}