header,footer,nav,section,aside,main,article,figure,figcaption{display:block}body,div,h1,h2,h3,h4,h5,h6,p,blockquote,pre,code,ol,ul,li,dl,dt,dd,figure,table,th,td,form,fieldset,legend,input,textarea{margin:0;padding:0}table{border-spacing:0;border-collapse:collapse}caption,th,td{text-align:left;text-align:start;vertical-align:top}abbr,acronym{font-variant:normal;border-bottom:1px dotted #666;cursor:help}blockquote,q{quotes:none}fieldset,img,iframe{border:0}ul{list-style-type:none}sup{vertical-align:text-top}sub{vertical-align:text-bottom}del{text-decoration:line-through}ins{text-decoration:none}body{font:12px/1 "Lucida Grande","Lucida Sans Unicode",Verdana,sans-serif;color:#000}input,button,textarea,select{font-family:inherit;font-size:99%;font-weight:inherit}pre,code{font-family:Monaco,monospace}h1,h2,h3,h4,h5,h6{font-size:100%;font-weight:400}h1{font-size:1.8333em}h2{font-size:1.6667em}h3{font-size:1.5em}h4{font-size:1.3333em}table{font-size:inherit}caption,th{font-weight:700}a{color:#00f}h1,h2,h3,h4,h5,h6{margin-top:1em}h1,h2,h3,h4,h5,h6,p,pre,blockquote,table,ol,ul,form{margin-bottom:12px}
body,form,figure{margin:0;padding:0}img{border:0}header,footer,nav,section,aside,article,figure,figcaption{display:block}body{font-size:100.01%}select,input,textarea{font-size:99%}#container,.inside{position:relative}#main,#left,#right{float:left;position:relative}#main{width:100%}#left{margin-left:-100%}#right{margin-right:-100%}#footer{clear:both}#main .inside{min-height:1px}.ce_gallery>ul,.content-gallery>ul{margin:0;padding:0;overflow:hidden;list-style:none}.ce_gallery>ul li,.content-gallery>ul li{float:left}.ce_gallery>ul li.col_first,.content-gallery>ul li.col_first{clear:left}.float_left,.media--left>figure{float:left}.float_right,.media--right>figure{float:right}.block{overflow:hidden}.media{display:flow-root}.clear,#clear{height:.1px;font-size:.1px;line-height:.1px;clear:both}.invisible{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.custom{display:block}#container:after,.custom:after{content:"";display:table;clear:both}
@media (max-width:767px){#wrapper{margin:0;width:auto}#container{padding-left:0;padding-right:0}#main,#left,#right{float:none;width:auto}#left{right:0;margin-left:0}#right{margin-right:0}}img{max-width:100%;height:auto}.audio_container audio{max-width:100%}.video_container video{max-width:100%;height:auto}.aspect,.responsive{position:relative;height:0}.aspect iframe,.responsive iframe{position:absolute;top:0;left:0;width:100%;height:100%}.aspect--16\:9,.responsive.ratio-169{padding-bottom:56.25%}.aspect--16\:10,.responsive.ratio-1610{padding-bottom:62.5%}.aspect--21\:9,.responsive.ratio-219{padding-bottom:42.8571%}.aspect--4\:3,.responsive.ratio-43{padding-bottom:75%}.aspect--3\:2,.responsive.ratio-32{padding-bottom:66.6666%}.aspect--9\:16,.responsive.ratio-916{padding-bottom:177.7777%}.aspect--1\:1,.responsive.ratio-11{padding-bottom:100%}
/* =====================
   FONTS
   ===================== */
/* Source Sans 3 — lokal */
@font-face {
    font-family: 'Source Sans 3';
    src: url('../../files/fonts/SourceSans3-ExtraLight.ttf') format('truetype');
    font-weight: 200; font-style: normal; font-display: block ;
}
@font-face {
    font-family: 'Source Sans 3';
    src: url('../../files/fonts/SourceSans3-ExtraLightItalic.ttf') format('truetype');
    font-weight: 200; font-style: italic; font-display: block ;
}
@font-face {
    font-family: 'Source Sans 3';
    src: url('../../files/fonts/SourceSans3-Light.ttf') format('truetype');
    font-weight: 300; font-style: normal; font-display: block ;
}
@font-face {
    font-family: 'Source Sans 3';
    src: url('../../files/fonts/SourceSans3-LightItalic.ttf') format('truetype');
    font-weight: 300; font-style: italic; font-display: block ;
}
@font-face {
    font-family: 'Source Sans 3';
    src: url('../../files/fonts/SourceSans3-Regular.ttf') format('truetype');
    font-weight: 400; font-style: normal; font-display: block ;
}
@font-face {
    font-family: 'Source Sans 3';
    src: url('../../files/fonts/SourceSans3-Italic.ttf') format('truetype');
    font-weight: 400; font-style: italic; font-display: block ;
}
@font-face {
    font-family: 'Source Sans 3';
    src: url('../../files/fonts/SourceSans3-Medium.ttf') format('truetype');
    font-weight: 500; font-style: normal; font-display: block ;
}
@font-face {
    font-family: 'Source Sans 3';
    src: url('../../files/fonts/SourceSans3-MediumItalic.ttf') format('truetype');
    font-weight: 500; font-style: italic; font-display: block ;
}
@font-face {
    font-family: 'Source Sans 3';
    src: url('../../files/fonts/SourceSans3-SemiBold.ttf') format('truetype');
    font-weight: 600; font-style: normal; font-display: block ;
}
@font-face {
    font-family: 'Source Sans 3';
    src: url('../../files/fonts/SourceSans3-SemiBoldItalic.ttf') format('truetype');
    font-weight: 600; font-style: italic; font-display: block ;
}
@font-face {
    font-family: 'Source Sans 3';
    src: url('../../files/fonts/SourceSans3-Bold.ttf') format('truetype');
    font-weight: 700; font-style: normal; font-display: block ;
}
@font-face {
    font-family: 'Source Sans 3';
    src: url('../../files/fonts/SourceSans3-BoldItalic.ttf') format('truetype');
    font-weight: 700; font-style: italic; font-display: block ;
}
@font-face {
    font-family: 'Source Sans 3';
    src: url('../../files/fonts/SourceSans3-ExtraBold.ttf') format('truetype');
    font-weight: 800; font-style: normal; font-display: block ;
}
@font-face {
    font-family: 'Source Sans 3';
    src: url('../../files/fonts/SourceSans3-ExtraBoldItalic.ttf') format('truetype');
    font-weight: 800; font-style: italic; font-display: block ;
}
@font-face {
    font-family: 'Source Sans 3';
    src: url('../../files/fonts/SourceSans3-Black.ttf') format('truetype');
    font-weight: 900; font-style: normal; font-display: block ;
}
@font-face {
    font-family: 'Source Sans 3';
    src: url('../../files/fonts/SourceSans3-BlackItalic.ttf') format('truetype');
    font-weight: 900; font-style: italic; font-display: block ;
}
/* =====================
   BASE (Desktop)
   ===================== */
html,
body {
    height: 100%;
}
body {
    background-color: #fff;
    font: 18px 'Source Sans 3', Arial;
    font-weight: 300;
    line-height: 21px;
    color: #222;
}
a {
    text-decoration: none;
    color: #222;
}
a:hover {
    color: #666;
}
.active, .trail {
    color: #999;
}
#wrapper {
    display: flex;
    flex-direction: column;
    max-width: 1200px;
    min-height: 100vh;
    margin: 0 auto;
}
#header .inside {
    padding: 50px 0;
    display: flex;
    align-items: center;
    font-size: 24px;
    font-weight: 300;
    line-height: 1.5;
}
#cpr {
    flex: 0 0 auto;
    font-size: 48px;
    /* line-height: 31px; */
}
#cpr a {
    color: #222;
}
#cp-job {
    margin-left: 24px;
}
#cp-job p {
    margin-bottom: 0;
    color: #999;
}
#hmen {
    margin-left: auto;
    margin-right: 96px;
}
#hmen ul, #nav-lang ul {
    margin: 0;
    display: flex;
    gap: 24px;
}
#hmen li, #nav-lang li {
    float: left;
}
/*
#hmen a {
    font-size: 18px;
    line-height: 21px;
}
*/
#nav-lang {
    /* flex: 1; */
    display: flex;
    justify-content: flex-end;
    gap: 12px;
}
#hero .inside {
    padding-bottom: 50px;
}
#container {
    flex: 1;
    padding-left: 0;
}
#container:has(> #left) {
    padding-left: 330px;
}
.ohneslider #container {
    margin-top: 0;
}
.etwasrauf #main .mod_article,
.hoeher {
    top: -6px;
    position: relative;
}
#main .content-text {
    text-align: justify;
}
#left {
    width: 330px;
    right: 330px;
    font-size: 16px;
}
#left .inside {
    width: 290px;
}
#left .link-video a {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.6em;
    padding: 0.7em 1.2em;
    background: #444;
    color: #fff;
    text-decoration: none;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    font-size: 18px;
    margin-top: 6px;
    margin-bottom: 20px;
}
#left .link-video a:hover {
    background: #222;
}
#left .link-video a::before {
    content: '';
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 7px 0 7px 11px;
    border-color: transparent transparent transparent currentColor;
}
/*
#left .content-hyperlink {
    font-size: 18px;
    font-weight: bold;
}
*/
#footer .inside {
    display: flex;
    padding: 25px 0;
    align-items: center;
    justify-content: space-between;
}
#copy p {
    margin: 0;
    font-size: 16px;
}
#hmen_hdi ul {
    display: flex;
    gap: 20px;
    margin: 0;
    font-size: 16px;
}
.link-back {
    height: 95px;
}
.link-back a {
    font-size: 18px;
    line-height: 20px;
    margin-top: 2px;
    vertical-align: text-bottom;
    line-height: 20px;
}
.link-back a::before {
  content: "⟵ ";
  display: inline-block;
  margin-right: 0.3em;
}
.rsce-credits {
    margin: 3px 0 0 0;
}
.rsce-credits .credit-row {
    margin-bottom: 0.4em;
}
.rsce-credits dt {
    display: inline;
    font-weight: 400;
}
.rsce-credits dt::after {
    content: ":";
}
.rsce-credits dd {
    display: block;
    margin: 0;
}
.rsce-credits dd::after {
    content: "";
    display: block; /* Zeilenumbruch nach jedem Eintrag */
}
.hoeher2 {
    margin-top: -4px;
}
.download-element {
    margin: 0;
}
.swiper-wrapper figure {
    text-align: center;
}
.swiper-wrapper figcaption {
    width: 100%;
    bottom: 5px;
    position: absolute;
    text-align: center;
    background-color: rgba(255, 255, 255, 0.8);
}
.content-swiper .swiper-slide img, .hero-single-img img {
  width: 100%;
  height: 675px;
  object-fit: cover;
}
.swiper-container-horizontal > .swiper-scrollbar {
    width: 100%;
    bottom: 0;
    left: 0;
    border-radius: 0;
}
.swiper-scrollbar-drag {
    background-color: #666;
    border-radius: 0;
}
.swiper-button-next,
.swiper-button-prev {
    width: 45px;
    padding: 5px;
    font-weight: bold;
    color: #666;
    transition: background-color 1s;
    background-color: rgba(255, 255, 255, 0.5);
}
.swiper-button-next:hover,
.swiper-button-prev:hover {
    background-color: rgba(255, 255, 255, 1);
}
.swiper-button-next {
    right: 0;
}
.swiper-button-prev {
    left: 0;
}
.swiper-scrollbar {
  &.swiper-scrollbar-horizontal, .swiper-horizontal > & {
    height: var(--swiper-scrollbar-size,6px);
    left: unset;
    position: relative;
    top: -5px;
    width: 100%;
    z-index: 50;
  }
}
.swiper-scrollbar {
  border-radius: unset;
}
h1 {
    margin-top: 0;
    margin-bottom: 38px;
    vertical-align: text-bottom;
    font-size: 24px;
    line-height: 26px;
    /* font-weight: bold; */
    color: #666;
    text-transform: uppercase;
}
/*
h1.fl {
    padding-right: 140px;
    box-sizing: border-box;
}
h1.cpr {
    font-size: 23px;
    line-height: 31px;
    font-weight: bold;
    color: #000;
}
*/
h2 {
    margin-top: 1px;
    margin-bottom: 19px;
    vertical-align: text-bottom;
    font-size: 18px;
    line-height: 20px;
    /* font-weight: bold; */
    color: #666;
}
/*
.h2_fr {
    position: absolute;
    top: 0;
    right: 0;
    margin: 0;
}
*/
.h2_cb {
    clear: both;
}
h3 {
    margin-top: 0;
    margin-bottom: 38px;
    vertical-align: baseline;
    font-size: 18px;
}
/*
.aktuell {
    width: 330px;
}
*/
.insze {
    width: 290px;
    height: 210px;
    position: relative;
    overflow: hidden;
    float: left;
    margin-right: 40px;
    margin-bottom: 40px;
}
/*
#aktuelles .insze {
    width: 100%;
    height: 210px;
    position: relative;
    overflow: hidden;
    float: none;
    margin-right: 0;
    margin-bottom: 40px;
}
#aktuelles .insze.content-hyperlink {
    width: 290px;
    height: 210px;
    float: left;
    margin-right: 40px;
}
*/
.insze:nth-child(3n) {
    margin-right: 0;
}
.insze img {
    width: 100%;
    height: 210px;
    object-fit: cover;
}
.insze figcaption {
    width: 100%;
    height: 140px;
    max-height: 140px;
    left: 0;
    top: 100%;
    position: absolute;
    background-color: rgba(255, 255, 255, 0.8);
    transition: top 1s;
    pointer-events: none;
}
.insze figcaption div {
    position: absolute;
    left: 20px;
    right: 20px; 
    bottom: 32px;
    text-align: right;
    font-size: 18px;
    line-height: 21px;
}
.insze:hover figcaption {
    top: calc(100% - 140px);
}
video {
    width: 100%;
}
/*
.vorschau_links {
    width: 290px;
    min-height: 145px;
    float: left;
    margin-right: 40px;
}
.vorschau_rechts {
    width: 290px;
    min-height: 145px;
    float: left;
}
#home .vorschau_links,
#home .vorschau_rechts,
#home h2 {
    color: #000;
}
*/
#cboxContent {
    margin-top: 0px !important;
    margin-bottom: 20px !important;
}
#cboxLoadedContent {
    border: 0px !important;
}
#cboxClose {
    top: 0px !important;
}
#cboxTitle {
    width: 100%;
    text-align: right;
    font-size: 12px !important;
    top: 100% !important;
}
/*
input.text {
    width: 276px;
    margin-bottom: 40px;
    padding: 5px;
    background-color: #fff;
    border: 2px solid #999;
}
input.submit {
    padding: 5px;
    text-align: left;
    background-color: #999;
    border: 2px solid #999;
    color: #fff;
    cursor: pointer;
}
.strong {
    font-weight: bold;
}
.ce_player {
    background-color: #000;
}
.video_container iframe {
    width: 100%;
}
#inszenierungen p.back,
#inszenierungen-2 p.back {
    display: none;
}
.mod_articlenav li {
    width: 20px;
    float: left;
    text-align: center;
}
.mod_articlenav ul {
    width: 80px;
    margin-right: auto;
    margin-left: auto;
    text-align: center;
}
*/

/* =====================
   MEDIUM (max ≥1200px: 4 Columns)
   ===================== */
/*
@media (min-width: 1200px) {
  .insze { width: 270px; }
  .insze:nth-child(3n) { margin-right: 40px; }
  .insze:nth-child(4n) { margin-right: 0; }
}
*/

/* =====================
   MEDIUM (max 1200px)
   ===================== */
@media (max-width: 1200px) {
    #header .inside, #container, #footer .inside {
        padding: 20px;
    }
    #header .inside {
        font-size: 22px;
    }
    #hero .inside {
        padding-bottom: 20px;
    }
    #cpr {
        font-size: 40px;
    }
    #hmen {
        margin-right: 24px;
    }
}

/* =====================
   SMALL (1000–1199px: 3 Columns)
   ===================== */
@media (min-width: 1000px) /* and (max-width: 1199px) */ {
  .insze {
    width: calc(33.333% - 26.667px);   /* (2 × 40px Gap) / 3 */
    margin-right: 40px;
  }
  .insze:nth-child(3n) { margin-right: 0; }
}

/* =====================
   VERY SMALL (801–999px: 2 Columns)
   ===================== */
@media (min-width: 801px) and (max-width: 999px) {
    #header .inside {
        font-size: 20px;
    }
    #cpr {
        font-size: 32px;
    }
    .insze {
        width: calc(50% - 20px);
        margin-right: 40px;
    }
    .insze:nth-child(3n) { margin-right: 40px; }
    .insze:nth-child(2n) { margin-right: 0; }
}
@media (max-width: 900px) {
    #header .inside {
        font-size: 18px;
    }
}

/* =====================
   MOBILE (max 800px)
   ===================== */
@media (max-width: 800px) {
    #wrapper {
        min-width: 0;
    }
    #header .inside {
        display: grid;
        grid-template-columns: auto auto;
        justify-content: space-between;
        align-items: center;
        row-gap: 16px;
        font-size: 16px;
    }
    #cpr      { font-size: 28px; }
    #cp-job   { justify-self: end; margin-left: 0; }
    #hmen     { margin: 0; }
    #nav-lang { justify-self: end; }
    #hmen ul  { justify-content: flex-start; }
/*    
    #header .inside {
        flex-wrap: wrap;
    }
    #cpr {
        flex: 1;
        order: 1;
    }
    #nav-lang {
        flex: 0 0 auto;
        order: 2;
    }
    #hmen {
        width: 100%;
        order: 3;
        display: flex;
        justify-content: center;
        margin-top: 12px;
    }
    #hmen ul {
        justify-content: center;
    }
*/
    #footer .inside {
        flex-wrap: wrap;
        justify-content: center;
    }
    #hmen_hdi {
        width: 100%;
        order: 1;
        display: flex;
        justify-content: center;
    }
    #hmen_hdi ul {
        justify-content: center;
    }
    #copy {
        width: 100%;
        order: 2;
        margin-top: 12px;
        text-align: center;
    }
    #container:has(> #left) {
        padding: 0 20px;
    }
    #container {
        display: flex; flex-direction: column;
    }
    #left,
    #left > .inside,
    #left > .inside > .mod_article {
        display: contents;
    }
    #left > .inside > .mod_article > * {
        order: 3;
    }
    #left > .inside > .mod_article > .link-back {
        order: 1;
    }
    #main {
        order: 2;
    }
    h1 {
        margin-top: 20px;
        margin-bottom: 20px;
    }
    .h2_fr {
        position: relative;
    }
    .insze {
        width: 100%;
        float: left;
        margin-right: 0;
    }
    .insze img {
        width: 100%;
        height: 210px;
    }
    .insze figcaption {
        width: 100%;
        max-width: none;
        height: auto;
        max-height: none;
        bottom: 0;
        top: auto;
        left: 0;
        position: absolute;
        padding-bottom: 20px;
        transition: none;
    }
    .insze:hover figcaption {
        top: auto;
    }
    .insze figcaption div {
        width: auto;
        max-width: none;
        bottom: auto;
        position: static;
        padding: 0 20px;
        font-size: 16px;
        line-height: 18px;
    }
    .swiper-wrapper figure {
        vertical-align: middle;
    }
    .swiper-button-next,
    .swiper-button-prev {
        width: 44px;
        transition: none;
    }
    .ce_player video {
        width: 100%;
        height: auto;
    }
    .cookiebar {
        z-index: 500;
    }
    .cookiebar__button {
        background-color: #fff;
        color: #000;
    }
    .cookiebar__button:hover {
        background-color: #fff;
        color: #000;
    }
}

