/* Minification failed. Returning unminified contents.
(280,3): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(285,31): run-time error CSS1039: Token not allowed after unary operator: '-left-col'
(318,16): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(320,31): run-time error CSS1039: Token not allowed after unary operator: '-left-col'
(328,3): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(329,3): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(330,3): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(331,3): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(333,29): run-time error CSS1039: Token not allowed after unary operator: '-head-h'
(334,39): run-time error CSS1039: Token not allowed after unary operator: '-slot-morning'
(335,39): run-time error CSS1039: Token not allowed after unary operator: '-slot-afternoon'
(336,39): run-time error CSS1039: Token not allowed after unary operator: '-slot-evening'
(704,3): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(705,3): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(707,12): run-time error CSS1039: Token not allowed after unary operator: '-gap'
(720,31): run-time error CSS1039: Token not allowed after unary operator: '-gap'
(720,45): run-time error CSS1039: Token not allowed after unary operator: '-per'
(720,65): run-time error CSS1039: Token not allowed after unary operator: '-per'
 */
/*@font-face {
  font-family: 'BigCityGrotesquePro-Bold';
  src:  url('fonts/BigCityGrotesquePro-Bold.woff2') format('woff2'),
        url('fonts/BigCityGrotesquePro-Bold.woff') format('woff');
}*/

@font-face {
  font-family: 'BigCityGrotesquePro-Regular';
  src:  url('fonts/BigCityGrotesquePro-Regular.woff2') format('woff2'),
        url('fonts/BigCityGrotesquePro-Regular.woff') format('woff');
}

/*@font-face {
  font-family: 'BigCityGrotesquePro-Thin';
  src:  url('fonts/BigCityGrotesquePro-Thin.woff2') format('woff2'),
        url('fonts/BigCityGrotesquePro-Thin.woff') format('woff');
}*/

@font-face {
  font-family: 'BigCityGrotesquePro-Light';
  src:  url('fonts/BigCityGrotesquePro-Light.woff2') format('woff2'),
        url('fonts/BigCityGrotesquePro-Light.woff') format('woff');
}

/*@font-face {
  font-family: 'BigCityGrotesquePro-LightIta';
  src:  url('fonts/BigCityGrotesquePro-LightIta.woff2') format('woff2'),
        url('fonts/BigCityGrotesquePro-LightIta.woff') format('woff');
}

@font-face {
  font-family: 'BigCityGrotesquePro-MedIta';
  src:  url('fonts/BigCityGrotesquePro-MedIta.woff2') format('woff2'),
        url('fonts/BigCityGrotesquePro-MedIta.woff') format('woff');
}

@font-face {
  font-family: 'BigCityGrotesquePro-Medium';
  src:  url('fonts/BigCityGrotesquePro-Medium.woff2') format('woff2'),
        url('fonts/BigCityGrotesquePro-Medium.woff') format('woff');
}

@font-face {
  font-family: 'BigCityGrotesquePro-News';
  src:  url('fonts/BigCityGrotesquePro-News.woff2') format('woff2'),
        url('fonts/BigCityGrotesquePro-News.woff') format('woff');
}*/


@font-face {
  font-family: 'Archivo Black';
  src: url('fonts/ArchivoBlack-Regular.ttf') format('truetype');
  font-weight: 400;
  font-style: normal;
  font-display: swap; /* schneller Text-Render */
}


.anmeldung-box {
    float: left;
    width: 50%; max-width:500px
}

.anmeldung-middle {
    max-width: 1000px;
    margin-left:16.66%;
}

.anmeldung-box .formular h3 {
    margin: 10px 0 0 0;
    font-family: 'BigCityGrotesquePro-Regular';
    letter-spacing: 0;
    font-size: 16px;
    line-height: 19px;
    color: #b61615;
    position: absolute;
    padding: 3px 5px 2px 5px;
}

.anmeldung-box input[type=text],.anmeldung-box select,.anmeldung input[type=password],.anmeldung-friendship input[type=text] {
    outline: none;
    background-color: black;
    font-family: 'Archivo Black';
    color: white;
    border: solid 1px #b61615;
    border-width: 0 0 1px 0;
    padding: 13px 0 5px 0;
    margin: 10px 0 0 0;
    letter-spacing: 0;
    max-width: 300px;
    width: 80%;
    display: block
}

/* Dark-Theme Autofill fix */
.anmeldung-box input:-webkit-autofill,
.anmeldung-box input:-webkit-autofill:hover,
.anmeldung-box input:-webkit-autofill:focus,
.anmeldung-box input:-webkit-autofill:active {
  /* übermalt die Autofill-Hintergrundschicht */
  -webkit-box-shadow: 0 0 0px 1000px #000 inset !important;
          box-shadow: 0 0 0px 1000px #000 inset !important;

  /* Text + Caret wirklich weiß machen */
  -webkit-text-fill-color: #fff !important;
  caret-color: #fff;

  /* keine gelbe/weisse Transition */
  transition: background-color 0s ease 0s !important;
}

/* deine generellen Input-Styles bleiben wie gehabt */
.anmeldung-box input[type="text"],
.anmeldung-box select,
.anmeldung input[type="password"],
.anmeldung-friendship input[type="text"] {
  outline: none;
  background-color: #000;
  font-family: 'Archivo Black';
  color: #fff;
  font-size: 16px;
  border: solid 1px #b61615;
  border-width: 0 0 1px 0;
  padding: 13px 0 5px 0;
  margin: 10px 0 0 0;
  letter-spacing: 0;
  max-width: 300px;
  width: 80%;
  display: block;
}

.anmeldung-box input[type=text]:visited {
    background-color: #000
}

.anmeldung-box input::placeholder {
    font-family: 'BigCityGrotesquePro-Regular';
    letter-spacing: 0;
    color: #b61615
}

.anmeldung-box textarea {
    outline: none;
    background-color: #AFAA99;
    font-family: 'BigCityGrotesquePro-Regular';
    color: #fff;
    border: solid 1px #b61615;
    border-width: 0 0 1px 0;
    padding: 33px 5px 5px 5px;
    margin: 10px 0 20px 0;
    letter-spacing: 0;
    width: 100%;
    font-size: 16px;
    height: 500px;
    display: block
}

.anmeldung-box h2 {
    margin-top:40px
}

.anmeldung .zusatz_item a { color:#b61615; font-size:15px }  

.anmeldung .zusatz_item { margin-bottom:30px }  
.anmeldung .zusatz_item font { display:inline-block;margin-right:7px }


.anmeldung .inhalt-textright { width:50%;padding-right:8.33%;float:left;margin-bottom:30px;max-width:750px }


.anmeldung .button {
    border: solid 1px #b61615;
    padding: 10px 30px 8px 30px;
    border-radius: 5px;
    font-weight: normal;
    font-family: 'BigCityGrotesquePro-Regular';
    letter-spacing: 0;
    margin-bottom: 13px;
    margin-right: 50px;
    display: inline-block;
    font-size: 14px;
    background-color: #b61615;
    color: black;
    line-height: 17px
}

.anmeldung .button:hover {
    color: #b61615;
    background-color: white;
}


.anmeldung .inhalt-zurueck {
    color: #b61615;
    font-size: 30px;
    line-height: 38px;
    padding-top: 36px
}

.anmeldung-bild { margin-left:130px }
.anmeldung-foto { position:relative;margin-left:-130px }
.anmeldung-foto .imgPortrait { background-image:url('/grafik/person.png');height:100px;width:100px;background-size:contain;background-repeat:no-repeat;float:left }
.btupload { width:80%;box-sizing:border-box;text-align:center;background-color:#F5F2EE }



@media screen and (max-width: 600px) {
    .anmeldung .inhalt-textright { width:100%;padding-right:20px;float:none;padding-left:20px; }
    .anmeldung-foto { margin-left:0px }
    .anmeldung-bild { margin-left:0px }
    .anmeldung-foto .imgPortrait { float:none }
}
/* Layout */
.schedule{ padding:76px 76px; color:#fff; background:#000; }
.schedule-header h1{
  margin:0 0 24px 0;
  font: 800 clamp(32px,8vw,96px)/1.05 system-ui, -apple-system, 'Archivo Black', Roboto, Arial, sans-serif;
  letter-spacing: .02em; text-transform: uppercase;
}

.schedule-days{
  display:grid;
  grid-template-columns: repeat(3, 1fr);
  gap:32px 40px;
}
@media (max-width: 1100px){
  .schedule-days{ grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 700px){
  .schedule-days{ grid-template-columns: 1fr; }
}

/* Day card */
.schedule-day{ display:flex; flex-direction:column; gap:20px; }
.day-head{
  display:grid; grid-template-columns: 1fr auto; gap:24px; align-items:end;
}
.day-left .day-date{
  font: 600 14px/1.2 system-ui, -apple-system, 'Archivo Black', Roboto, Arial, sans-serif;
  color:#fff; margin-bottom:6px;
}
.day-abbr{
  font: 900 clamp(40px,8vw,100px)/.9 system-ui, -apple-system, 'Archivo Black', Roboto, Arial, sans-serif;
  letter-spacing:.02em; color:#fff;
}
.day-right{ align-self:start; }
.day-subtitle{
  font:700 18px/1.2 system-ui, -apple-system, 'Archivo Black', Roboto, Arial, sans-serif;
  color:#fff; 
}
.meta{ margin:.5rem 0 0 0; font:600 13px/1.4 system-ui, -apple-system, 'Archivo Black', Roboto, Arial, sans-serif; color:#fff; }

/* Sessions */
.sessions{ border-top:1px solid #cbd5e1; }
.session{ border-bottom:1px solid #cbd5e1; padding:18px 0; }
.session-line{
  display:flex; align-items:baseline; gap:10px; margin-bottom:8px; flex-wrap:wrap;
  font-family: system-ui, -apple-system, 'Archivo Black', Roboto, Arial, sans-serif;
}
.bullet{ width:10px; height:10px; border-radius:50%; background:#fff; display:inline-block; }
.session-label{
  font-weight:800; letter-spacing:.02em; text-transform:uppercase;
}
.session-time{
  margin-left:6px; font-weight:700; opacity:.9; white-space:nowrap;
}
.session-body{ font:600 14px/1.45 system-ui, -apple-system, 'Archivo Black', Roboto, Arial, sans-serif; color:#fff; }
.session-body p{ margin:.3rem 0; }
.session-body a{ color:#fff; text-decoration:underline; }

/* Optional: dünne Trennlinie auch zwischen Day-Headern */
.schedule-day + .schedule-day{ border-left:0; }




/* Schmalere linke Spalte + Text rechts direkt daneben */
.schedule-day{ 
  /* gemeinsame, feste Breite für die linke Spalte (Datum + DO/FR/SA) */
  --left-col: clamp(130px, 18vw, 210px);
}

.day-head{
  /* statt 1fr 1fr → schmale linke Spalte + flexibler rechter Teil */
  grid-template-columns: var(--left-col) 1fr;
  gap: 12px;                 /* engerer Abstand wie in der Vorlage */
  align-items: end;          /* unten bündig (Abkürzung & Text) */
}

.day-right{
  text-align: left;          /* nicht mehr rechtsbündig */
  align-self: end;           /* auf die Grundlinie zur Abkürzung */
}

/* Feintuning Typo rechts */
.day-right .day-subtitle{ display:inline-block; margin-right:12px; }
.day-right .meta{ margin-top:6px; }

/* Mobil wieder einspaltig */
@media (max-width:700px){
  .day-head{ grid-template-columns: 1fr; gap: 8px; }
  .day-right{ align-self:start; }
}


/* Tage-Grid: passt #Spalten automatisch an */
.schedule-days{
  /* min. Kachelbreite = 320px → ergibt 1..5 Spalten je nach Platz */
  display:grid;
  grid-template-columns: repeat(auto-fit, minmax(360px, 1fr));
  gap:48px 56px;
}
@media (max-width: 700px){
  .schedule-days{ gap:32px; }
}

/* Schmalere linke Kopfspalte + Text rechts direkt daneben (wie besprochen) */
.schedule-day{ --left-col: clamp(130px, 18vw, 210px); }
.day-head{
  grid-template-columns: var(--left-col) 1fr;
  gap:12px; align-items:end;
}
.day-right{ text-align:left; align-self:end; }


/* Rasterhöhen nur für breite Ansichten */
.schedule-day{
  --head-h: 200px;
  --slot-morning: 170px;
  --slot-afternoon: 170px;
  --slot-evening: 170px;
}
.day-head{ min-height: var(--head-h); }
.session--morning  { min-height: var(--slot-morning); }
.session--afternoon{ min-height: var(--slot-afternoon); }
.session--evening  { min-height: var(--slot-evening); }


/* Mobile: Header klickbar, Sessions einklappbar */
@media (max-width:700px){
  /* Slot-Höhen und Head-Höhe aufheben, damit nichts „leer“ Platz belegt */
  .day-head{ min-height: 0; }
  .session--morning, .session--afternoon, .session--evening{ min-height: 0; }

  .schedule-day .day-head{
    position:relative; cursor:pointer; padding-right:28px;
  }
  .schedule-day .day-head::after{
    content:"▾"; position:absolute; right:0; bottom:.2em;
    transition:transform .25s ease;
  }

  /* Collapsing: schicke 0fr/1fr-Technik */
  .schedule-day .sessions{
    display:grid; grid-template-rows: 0fr;
    transition:grid-template-rows .25s ease;
  }
  .schedule-day .sessions > *{ overflow:hidden; } /* Inhalt clippen */

  .schedule-day.is-open .day-head::after{ transform:rotate(180deg); }
  .schedule-day.is-open .sessions{ grid-template-rows: 1fr; }
}

/* Mobile: Sessions standardmäßig zu, bei .is-open aufklappen */
@media (max-width:700px){
  .day-head{ min-height:0; }
  .session--morning, .session--afternoon, .session--evening{ min-height:0; }

  .schedule-day .sessions{ display:none; }
  .schedule-day.is-open .sessions{ display:block; }
}


@media screen and (max-width: 900px) {
    .schedule { padding:36px; }
}

@media screen and (max-width: 600px) {
    .schedule { padding-top:36px;padding-bottom:36px;padding-left:20px;padding-right:20px }
}

/*
    Farben:
    rot:        #b61615
    schwarz:    #ffffff

    Schriften:
    font-family:'Archivo Black';
    font-family:'BigCityGrotesquePro-Light';
    font-family:'BigCityGrotesquePro-Regular';
    font-family:'Avenir LT W01_55 Roman1475520';
    font-family:'Avenir LT W01_65 Medium1475532';


*/


body { margin:0px;padding:0px;background-color:black;color:white;
    font-family: 'BigCityGrotesquePro-Regular';
       -webkit-font-smoothing: antialiased;
       -moz-osx-font-smoothing: grayscale;
       font-smoothing: antialiased; }
a { text-decoration:none }
div, textarea { box-sizing:border-box }
h1, h2, h3, h4, h5, p { padding:0px;margin:0px;font-weight:normal;box-sizing:border-box }

input:-webkit-autofill {
    -webkit-box-shadow: 0 0 0 1000px #ffffff inset;
}

.main { overflow:hidden }

header, main { position:absolute;top:-40000px }


.header { padding:76px;position:absolute;width:100%;z-index:9 }
.header>a:first-child img { height:110px }
.header > a:last-child img { float:right;height:80px;margin-top:20px }


.inhalt > div:first-child { padding-top:299px  }

.inhalt > div > h1 { margin-bottom:45px;font-size:30px;line-height:38px;font-family:'BigCityGrotesquePro-Light';max-width:900px;letter-spacing:0px }
.inhalt > div > h1 strong { font-family:'BigCityGrotesquePro-Regular';color:#b91e28;font-weight:normal;letter-spacing:0px; }
.inhalt > div > h2 { font-family:'Archivo Black';font-size:43px;line-height:45px }
.inhalt > div > h3 { width:50%;padding-left:59px;float:left;margin-bottom:30px;padding-right:30px;font-size:23px;line-height:26px; }
.inhalt > div > h3 p { max-width:550px }
.inhalt > div > h3 p img { margin:70px auto;display:block;max-width:100% }

.inhalt > div.article-lead { width:50%;height:800px;float:left;position:relative;padding:20px 76px;background-color:black;overflow:auto }
/*.inhalt > div.article-lead { width:50%;padding-left:59px;float:left;margin-bottom:30px;padding-right:30px;font-size:23px;line-height:26px; }*/
.inhalt > div.article-lead h3 { font-size:1.4em; }
.inhalt > div.article-lead p { /*max-width:550px;*/margin-top:20px }
.inhalt > div.article-lead p img { margin:70px auto;display:block;max-width:100% }

/* Start */

.start .inhalt > div.article-startpage { background-repeat:no-repeat;background-size:cover;padding-left:76px;background-position:center }
.start .inhalt > div.article-startpage {
  /* Fallbacks */
  min-height: 600px;
  min-height: 100vh;

  /* Moderne, toolbar-sichere Einheit */
  min-height: max(600px, 100dvh);
  position:relative;

}

.start .inhalt > div.article-startpage h1 {
  max-width:500px; font-family:'Archivo Black';font-size:46px;line-height:48px;text-transform:uppercase;
}

.start .inhalt > div.article-startpage {
  font-family:'Archivo Black';font-size:31px;line-height:35px;text-transform:uppercase;
}
.start .inhalt > div.article-startpage .text a, .start .panorama a {
  font-family: 'BigCityGrotesquePro-Regular';font-size:18px;line-height:18px;text-transform:uppercase;display:inline-block;margin:20px 0px;background-color:#b91e28;color:white;padding:15px 40px 10px 40px;border-radius:10px
}
.start .panorama {
  background-color:#b91e28
}
.start .panorama a {
  font-size:22px;line-height:24px;margin:0px;padding:21px 50px 15px 50px;border-radius:20px;background-color:black
}

.start .panorama .absatz1 {
  text-align:center
}

.start .inhalt > div.article-startpage .sponsors a {
    height: 80px;
    width: 282px;
    display: inline-block;
    background-repeat: no-repeat;
    background-size: contain;
    background-position: left center;
    position:absolute;
    bottom:40px;
}
.start .inhalt > div.article-startpage .sponsors a:first-child {  left:76px }
.start .inhalt > div.article-startpage .sponsors a:last-child {  right:76px;background-position:right center }
.start h4 { font-family:'Archivo Black';font-size:46px;line-height:48px;margin-bottom:20px }

.start .inhalt-text .absatz2 { float:left; margin-bottom:30px;width:33%;padding-right:40px }
/*.start .inhalt-text .absatz2 em{
  display:inline-block;
  position:relative;
  padding-left:1.1rem;
}
.start .inhalt-text .absatz2 em::before{
  content:"•";
  position:absolute; left:0; top:0;
}*/

.inhalt-textleft { width:50%;height:400px;overflow:auto;float:left;position:relative;padding:76px 76px 0px 76px;background-color:black }
.inhalt-textleft p { padding-bottom:10px }
.start .inhalt-text { padding:76px;clear:both }

.inhalt-text .absatz1 { float:left;width:25%;padding-right:10% }
.inhalt-text .absatz1 strong { /*text-transform:uppercase;*/display:block;margin-bottom:20px;font-size:23px;font-family:'Archivo Black'; }
.inhalt-text .absatz1 em { font-size:32px;line-height:36px;font-style: normal; }

.article-imageright { width:50%;height:800px;float:right;position:relative }
.article-imageright div { position:absolute;left:0px;right:0px;top:0px;bottom:0px;background-size:cover;background-position:center }
.article-imageright a { position:absolute;left:0px;right:0px;top:0px;bottom:0px;background-size:cover;background-position:center }
.article-imageleft { width:50%;height:800px;float:left;position:relative }
.article-imageleft div { position:absolute;left:0px;right:0px;top:0px;bottom:0px;background-size:cover;background-position:center }


.partner  {
    
    margin-top: 80px;
}

.partner a {
    height: 60px;
    width: 212px;
    display: inline-block;
    background-repeat: no-repeat;
    background-size: contain;
    background-position: left center;
    margin-bottom: 30px;
    margin-right: 80px;
}

.rot { background-color:#b91e28 }

.inhalt-text p, .inhalt-textright p { padding-bottom:10px }

.panorama h3 {     font-family: 'Archivo Black'; font-size: 46px; line-height: 48px; margin-bottom: 20px; }
.panorama .item { background-size:cover;background-position:center;padding:110px 20px; }
.panorama .item .absatz2 { text-align:center; font-size:70px;line-height:80px;font-family:'Archivo Black';padding-top:160px }
.panorama .item .bg > div { max-width:880px;margin:0px auto }

.start .inhalt-textright { width:50%;float:left;padding:76px;height:800px;overflow:auto }
.start .inhalt-textright .absatz4 { font-size:21px;/*text-transform:uppercase;*/margin-bottom:10px }



.inhalt-gallery { max-width:1100px;margin:0px auto 30px auto;padding-top:30px }
.slider-for h3 {width:100%;height:0px;position:relative;padding-top:66%;background-size:contain;background-position:center;background-repeat:no-repeat}
.slider-nav div {padding:10px}
.slider-nav h3 {width:100%;position:relative;padding-top:66%;background-size:contain;background-position:center;background-repeat:no-repeat}
.slider-nav button { background:url('/grafik/pfeil.svg') no-repeat center; }

.gallery-download { padding:10px;text-align:center }
.inhalt-gallery {
    position: relative;
}

.gallery-download {
    position: absolute;
    margin-top: -50px;
    right: 5px;
    z-index: 9999;
}

.btn-download {
    width: 46px;
    height: 46px;
    border-radius: 50%;
    background: rgba(0,0,0,0.6);
    color: #db0812 !important;
    display: flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
    font-size: 20px;
    transition: 0.2s;
}

.btn-download:hover {
    background: rgba(0,0,0,0.9);
}

.inhalt-gallery { clear:both } 

.inhalt-gallery .slick-initialized .slick-slide > div { margin:10px 0px 0px 10px }


.inhalt-documents  {
    margin-top:30px;
    float:left;
    width:50%;
}


.inhalt-documents a {
    margin-top:10px;
    position: relative;
    display:block;
    padding: 13px 20px 8px 55px;
    border-radius: 14px;

    background: #1b1b1b;
    color: #fff;
    text-decoration: none !important;
    margin-right:30px;
    margin-left:20px;
    font-weight: 500;
   

    transition: all 0.2s ease;
    overflow: hidden;
}

.inhalt-documents a:hover {
    transform: translateY(-2px);
    background: #2a2a2a;
}

.inhalt-documents a::before {
    width: 28px;

    display: flex;
    align-items: center;
    justify-content: center;

    font-family: "Font Awesome 6 Free";
    font-weight: 900;

    font-size: 20px;
    line-height: 1;
    flex-shrink: 0;
    position:absolute;
    margin-top:-3px;
    margin-left:-35px;
}


.inhalt-documents a[href$=".doc"]::before,
.inhalt-documents a[href*=".docx"]::before {
    content: "\f1c2";
    color: #fff;
}

.inhalt-documents a[href$=".xls"]::before,
.inhalt-documents a[href*=".xlsx"]::before {
    content: "\f1c3";
    color: #fff;
}


.inhalt-documents a[href*=".pdf"]::before {
    content: "\f1c1";
    color: #fff;
}


.inhalt-documents a[href*=".zip"]::before {
    content: "\f1c6";
    color: #fff;
}

/* Download Icon rechts */
.inhalt-documents a::after {
    content: "\f019";
    font-family: "Font Awesome 6 Free";
    font-weight: 900;
    float:right;
    margin-left: auto;
    opacity: 0.6;
    transition: 0.2s;
}

.inhalt-documents a:hover::after {
    opacity: 1;
    transform: translateX(3px);
}



   
    

/* === Layout wie vorher: linkes Bild + rechter Personenblock === */
.image-left{
  float:left;
  width:50%;
  height:800px;              /* deine Höhe beibehalten */
  background-position:center;
  background-repeat:no-repeat;
  background-size:cover;
}

.persons{
  position:relative;
  float:right;
  width:50%;                 /* WICHTIG: nicht 100%, damit das linke Bild bleibt */
  padding:32px 56px;         /* Platz für Pfeile links/rechts */
  box-sizing:border-box;
}

.inhalt-text .persons{
  float:none;
  width:unset;  
}

.persons-items > .person { float:left;width:33%;height:243px;overflow:hidden;min-width:190px }

/* === Horizontales Karussell === */
.persons-list{
  --gap:30px;
  --per:4;                   /* JS passt das je nach Breite an */
  display:flex;
  gap:var(--gap);
  overflow:hidden;
  scroll-behavior:smooth;
  scroll-snap-type:x mandatory;
  -webkit-overflow-scrolling:touch;
      padding: 200px 0px;
}

.inhalt-text .persons-list {
      padding: 60px 0px;
}

.person{
  flex:0 0 calc((100% - (var(--gap) * (var(--per) - 1))) / var(--per));
  text-align:center;
  cursor:pointer;
  box-sizing:border-box;
  scroll-snap-align:start;
  font-size:12px;
  line-height:16px;
}

.image-person{
  width:160px;height:160px;
  aspect-ratio:1/1;
  border-radius:50%;
  background-size:cover;
  background-position:center;
}

.persons .image-person { margin:0px auto }

.persons-name{
  font-family:'Archivo Black', system-ui, sans-serif;
  margin:10px 0 5px;
  font-size:16px;
  line-height:1.2;
}

/* === Pfeile === */
/* --- Pfeile korrekt positionieren & zeigen --- */
.persons-nav{
  position:absolute;
  top:50%;
  transform:translateY(-50%);
  width:40px;
  height:40px;
  border-radius:50%;
  display:flex;                 /* sichtbar, nicht inline */
  align-items:center;
  justify-content:center;
  font-size:72px;
  line-height:1;
  cursor:pointer;
  z-index:2;                    /* vor dem Inhalt */
  /* Sichtbarkeit (deine Farben aus letzter Nachricht) */
  color:#fff;
  background-color: black;
  border: 1px solid #000;
  -webkit-tap-highlight-color:black;

  -webkit-appearance: none;
  appearance: none;
  -webkit-tap-highlight-color: transparent; /* 🔥 entfernt grauen Kreis */
  outline: none;
  transition: background 0.15s ease, transform 0.15s ease;
}

.persons-nav:active {
  background-color: black;
  border: 1px solid #000;
}
.persons-nav.left{  left:8px; }
.persons-nav.right{ right:8px; }
.persons-nav[disabled]{ opacity:.35; cursor:default; }

.persons-nav:hover{ background:rgba(255,255,255,.28); }
.persons-nav:focus-visible{ outline:2px solid #fff; outline-offset:2px; }

@media (prefers-color-scheme: light){
  .persons-nav{ background:rgba(0,0,0,.14); color:#fff; border:1px solid rgba(0,0,0,.25); }
  .persons-nav:hover{ background:rgba(0,0,0,.20); }
  .persons-nav:focus-visible{ outline:2px solid #000; }
}

.popup .image-person { float:left; }
.popup .popup-header { margin-left:190px;margin-top:112px }
#divBiography { max-height:50dvh;overflow:auto }
#divBiography p { margin-bottom:15px }



/* anmeldung */
.anmeldung.inhalt > div > h1 { margin-left:16.66%; }
.anmeldung.inhalt > div > h2 { margin-left:16.66%;margin-bottom:2px }

/* Content */


.content .inhalt > div > h1 { margin-left:16.66%; }
.content .inhalt > div > h2 { margin-left:16.66%; }


.press .inhalt > div > h1 { margin-left:16.66%; }
.press .inhalt > div > h2 { margin-left:16.66%; }
.press a { color:white;text-decoration:underline;word-wrap:anywhere; }


.content .inhalt {
    display:flex;background:#000; color:#fff;
    flex-wrap:wrap;
    align-items:stretch;              /* gleiche Höhe */
  }

/* Standard: alles nimmt eine ganze Zeile ein */
.content .inhalt > *{ flex:0 0 100%; }

/* Unsere zwei Spalten: je 50% und gleiche Ordnung */
.content .inhalt .article-lead{
flex:0 0 50%;
order:10;
background:#db0812; color:#fff; margin:0; padding:40px; box-sizing:border-box;
}
.content .inhalt .article-text {
flex:0 0 50%;
order:10;
background:#000; color:#fff; margin:0; padding:40px; box-sizing:border-box;
}

.content a { color:white;text-decoration:underline;word-wrap:anywhere; }


.inhalt-zurueck { float:left;margin-left:8.33%;margin-top:10px }


.inhalt p {
    margin-bottom: 10px;
}
.content .absatz1 { float:left;width:48%;margin-right:2%;font-size:19px;line-height:26px;border-bottom:solid 1px white;padding:12px 0px 25px 0px;margin-top:0px;margin-bottom:0px;letter-spacing:0px; }
.content .absatz1:nth-child(2n+1) { width:50%;margin-right:0%;}
.content .absatz1 strong { color:#b91e28;font-weight: normal;font-size:23px;padding-bottom:5px }
.content .absatz1 em { font-style:normal;font-size: 12px;line-height:18px;display:block }

.content .inhalt-textright .absatz1 strong { font-size:20px; }
.content .inhalt-textright .absatz1 { font-size:15px;line-height:18px;padding:20px 0px 15px 0px;}

.content .absatz2 { border-bottom:solid 1px white;padding-bottom:3px;margin-bottom:5px }

.content .absatz3 {
    display:inline-block;font-size:20px;margin:10px 0px;text-align:center;color:#b91e28; font-size: 23px; line-height: 26px;
}
.content .absatz3:nth-last-child(1) { width: 98%; }
.content .absatz3:nth-last-child(2),
.content .absatz3:nth-last-child(2) ~ li { width: 48%; }
.content .absatz3:nth-last-child(3),
.content .absatz3:nth-last-child(3) ~ li { width: 32%; }
.content .absatz3:nth-last-child(4),
.content .absatz3:nth-last-child(4) ~ li { width: 24%; }

.content .absatz4 { border-bottom:solid 1px white;padding-bottom:15px;margin-bottom:15px;position:relative;padding-left:250px }
.content .absatz4:nth-last-child(2) { border-bottom-width:0px }
.content .absatz4 strong { position:absolute;left:0px; color: #b91e28; font-weight: normal; font-size: 23px; line-height: 26px;width:240px }
.content .absatz4 em { font-style:normal; font-size: 12px;line-height:18px;display:block;position:absolute;right:0px;top:5px;width:240px;text-align:right; }
.content .absatz4:has(em) { padding-right:250px }

.content .absatz5 { font-size:20px;margin:10px 0px;color:#b91e28; font-size: 23px; line-height: 26px; }

.inhalt-text h3 { clear:both;color:#b91e28;font-weight: normal;font-size:23px;line-height:26px;padding-top:30px }
/*.inhalt-text h4 { clear:both;letter-spacing:0px;font-size:21px;font-weight: normal;line-height:26px;padding-top:5px }*/

.anmeldung .inhalt-text { margin-left: 16.66%; }

.forget { display:inline-block;margin-top:15px;font-weight: normal;letter-spacing:0px;color:#b1b3b4;font-size:13px; }


.footer {
    background-color:black;
    color:white;padding:50px;
    text-align:center;
}
.footer a {
    color:white;display:inline-block;padding:0px 20px;
}

.footer-impress div {
    margin-top:20px
}





@media screen and (max-height: 700px) {
    .header { padding-top:36px;padding-bottom:36px }
    .inhalt>div:first-child { padding-top:180px }
    .start .inhalt > div.article-startpage h1 { margin-bottom:10px }
    .start .inhalt > div.article-startpage .sponsors a { bottom:20px; }
    .start .inhalt>div.article-startpage .text a { margin:7px 0px }
    .start .inhalt-text  { padding-top:36px;padding-bottom:36px }
}


@media screen and (max-width: 1400px) {
    .inhalt-text .absatz1 { padding-right:5% } 
    .inhalt-textleft { padding-top:50px }
    .start h4 { font-size:36px;line-height:38px }
}

@media screen and (max-width: 1150px) {
    .inhalt-text .absatz1 { width:50%;height:180px }
    .start .inhalt-text { padding-bottom:10px }
}

@media screen and (max-width: 900px) {
    .header { padding-left:36px;padding-right:36px }
    .start .inhalt-text  { padding-left:36px;padding-right:36px }
    .start .inhalt-textright { padding:36px;width:100%;float:none;height:unset }
    .start .inhalt > div.article-startpage .sponsors a:first-child {  left:36px;width:50% }
    .start .inhalt > div.article-startpage .sponsors a:last-child {  right:36px;width:50% }
    .start .inhalt>div {     padding-left: 0px; }
    .inhalt-zurueck { margin-left:36px }
    .start .inhalt > div.article-startpage { padding-left:36px }
    
    .persons, .image-left { width:100%;float:none }
    .persons { padding:36px }
    
    .inhalt-textleft { width:100%;height:unset;float:none;padding:36px; }
    .article-imageright { width:100%;height:500px;float:none; }
    .article-imageleft { width:100%;float:none; }
    .article-startpage + .article-imageright { height:unset; }

    
    .inhalt > div.article-lead { width:100%;padding-left:59px;float:none;margin-bottom:30px;padding-right:30px;height:unset }
    .content .inhalt .article-lead { flex:unset;width:100%;padding-left:36px;padding-right:36px }
    .content .inhalt .article-text { flex:unset;width:100%;padding-left:36px;padding-right:36px }

    .panorama .item { padding-left:36px;padding-right:36px }
    .panorama .item .absatz2 { font-size:46px;line-height:48px; }
    
    .persons-list{ padding: 0px; }
    
    .start .inhalt-text .absatz2 { width:50%; }

    .press .inhalt-textleft { min-height:unset }
    .inhalt-documents { float:none;width:unset;margin-top:0px }
    .inhalt-documents a { padding-left:45px;margin-right:20px }
    .inhalt-gallery { margin-top:30px }
    .gallery-download { margin-top:-100px }
}

@media screen and (max-width: 600px) {
    .header, .start .inhalt-text   { padding-top:36px;padding-bottom:36px;padding-left:20px;padding-right:20px }
    .start .inhalt > div.article-startpage .sponsors a:first-child {  left:20px;width:50%;height:45px }
    .start .inhalt > div.article-startpage .sponsors a:last-child {  right:20px;width:50%;height:45px }
    .start .inhalt-textright { padding-top:36px;padding-bottom:36px;padding-left:20px;padding-right:20px }
    .start .inhalt>div {     padding-left: 0px; }
    .inhalt-textleft {  padding-left: 20px; }
    .persons { padding:20px }
    .person { margin-right:11px;margin-bottom:10px }
    .start .inhalt > div.article-startpage { padding-left:20px }

    .start .inhalt>div.article-startpage h1 { font-size:33px;line-height:35px; }
    .start .inhalt>div.article-startpage { font-size:23px;line-height:25px }
    .inhalt > div > h3 { font-size:17px;line-height:22px;margin-bottom:0px }
    .start h4, .panorama h3 {  font-size:23px;line-height:25px }
    .start .inhalt-text h4 {  margin-bottom:40px }
    .inhalt-text .absatz1 { width:100%;height:unset;float:none;margin-bottom:40px }
    
    .inhalt>div.article-startpage:first-child { padding-top:400px }
    .header>a:first-child img { height:100px; }
    .header>a:last-child img { height:50px;margin-top:25px }

    .inhalt>div:first-child { padding-top:160px }
    .anmeldung.inhalt>div>h2, .anmeldung.inhalt>div>h1, .anmeldung-middle {  margin-left: 20px; }
    .content .inhalt > div > h1, .content .inhalt > div > h2 {  margin-left: 20px; }
    .press .inhalt > div > h1, .press .inhalt > div > h2 {  margin-left: 20px; }
    .inhalt>div>h3 { width:unset;padding-left:20px;float:none }
    .anmeldung-box { float:none;width:unset;margin-bottom:50px }
    .inhalt-zurueck { display:none }
    .content .inhalt .article-lead { flex:unset;padding-left:20px;padding-right:20px }
    .content .inhalt .article-text, .anmeldung .inhalt-text { flex:unset;padding-left:20px;padding-right:20px }
    .content .inhalt .article-lead { padding-bottom:30px }
    
    .anmeldung .inhalt-text { margin-left:0px; }

    .image-left, .article-imageleft { height:400px }
    .panorama .item { padding: 30px 20px; }
    
    .start .inhalt-text .absatz2 { width:100%;float:none }
}

@media screen and (max-width: 480px) {
    .popup .popup-header { margin:180px 0px 0px 0px; }
    .popup-box h3 { margin-bottom:10px }
}

@media screen and (max-width: 380px) {
    .header>a:first-child img { height:80px; }
    .header>a:last-child img { height:50px;margin-top:17px }
    .person { margin-right:10px;width:140px;height:220px }
    .image-person { width:140px;height:140px }
}

@media screen and (max-width: 600px) and (max-height: 780px)  {
    .inhalt>div.article-startpage:first-child { padding-top:240px }
}
/* Slider */
.slick-slider
{
    position: relative;

    display: block;
    box-sizing: border-box;

    -webkit-user-select: none;
       -moz-user-select: none;
        -ms-user-select: none;
            user-select: none;

    -webkit-touch-callout: none;
    -khtml-user-select: none;
    -ms-touch-action: pan-y;
        touch-action: pan-y;
    -webkit-tap-highlight-color: transparent;
}

.slick-list
{
    position: relative;

    display: block;
    overflow: hidden;

    margin: 0;
    padding: 0;
}
.slick-list:focus
{
    outline: none;
}
.slick-list.dragging
{
    cursor: pointer;
    cursor: hand;
}

.slick-slider .slick-track,
.slick-slider .slick-list
{
    -webkit-transform: translate3d(0, 0, 0);
       -moz-transform: translate3d(0, 0, 0);
        -ms-transform: translate3d(0, 0, 0);
         -o-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0);
}

.slick-track
{
    position: relative;
    top: 0;
    left: 0;

    display: block;
    margin-left: auto;
    margin-right: auto;
}
.slick-track:before,
.slick-track:after
{
    display: table;

    content: '';
}
.slick-track:after
{
    clear: both;
}
.slick-loading .slick-track
{
    visibility: hidden;
}

.slick-slide
{
    display: none;
    float: left;

    height: 100%;
    min-height: 1px;
}
[dir='rtl'] .slick-slide
{
    float: right;
}
.slick-slide img
{
    display: block;
}
.slick-slide.slick-loading img
{
    display: none;
}
.slick-slide.dragging img
{
    pointer-events: none;
}
.slick-initialized .slick-slide
{
    display: block;
}
.slick-loading .slick-slide
{
    visibility: hidden;
}
.slick-vertical .slick-slide
{
    display: block;

    height: auto;

    border: 1px solid transparent;
}
.slick-arrow.slick-hidden {
    display: none;
}



@charset 'UTF-8';
/* Slider */
.slick-loading .slick-list
{
    background: #fff url('./ajax-loader.gif') center center no-repeat;
}

/* Icons */
@font-face
{
    font-family: 'slick';
    font-weight: normal;
    font-style: normal;

    src: url('./fonts/slick.eot');
    src: url('./fonts/slick.eot?#iefix') format('embedded-opentype'), url('./fonts/slick.woff') format('woff'), url('./fonts/slick.ttf') format('truetype'), url('./fonts/slick.svg#slick') format('svg');
}
/* Arrows */
.slick-prev,
.slick-next
{
    font-size: 0;
    line-height: 0;

    position: absolute;
    top: 50%;

    display: block;

    width: 20px;
    height: 20px;
    padding: 0;
    -webkit-transform: translate(0, -50%);
    -ms-transform: translate(0, -50%);
    transform: translate(0, -50%);

    cursor: pointer;

    color: transparent;
    border: none;
    outline: none;
    background: transparent;
}


.slick-prev
{
    transform:rotate(90deg);
}

.slick-next
{
    transform:rotate(-90deg);
}


/*.slick-prev:hover,
.slick-prev:focus,
.slick-next:hover,
.slick-next:focus
{
    color: transparent;
    outline: none;
    background: transparent;
}
.slick-prev:hover:before,
.slick-prev:focus:before,
.slick-next:hover:before,
.slick-next:focus:before
{
    opacity: 1;
}*/


.slick-prev.slick-disabled:before,
.slick-next.slick-disabled:before
{
    opacity: .25;
}

.slick-prev:before,
.slick-next:before
{
    font-family: 'slick';
    font-size: 20px;
    line-height: 1;

    opacity: .75;
    color: white;

    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

.slick-prev
{
    left: -25px;
}
[dir='rtl'] .slick-prev
{
    right: -25px;
    left: auto;
}

/*.slick-prev:before
{
    content: '←';
}
[dir='rtl'] .slick-prev:before
{
    content: '→';
}*/

.slick-next
{
    right: -25px;
}
[dir='rtl'] .slick-next
{
    right: auto;
    left: -25px;
}

/*.slick-next:before
{
    content: '→';
}
[dir='rtl'] .slick-next:before
{
    content: '←';
}*/

/* Dots */
.slick-dotted.slick-slider
{
    margin-bottom: 30px;
}

.slick-dots
{
    position: absolute;
    bottom: -25px;

    display: block;

    width: 100%;
    padding: 0;
    margin: 0;

    list-style: none;

    text-align: center;
}
.slick-dots li
{
    position: relative;

    display: inline-block;

    width: 20px;
    height: 20px;
    margin: 0 5px;
    padding: 0;

    cursor: pointer;
}
.slick-dots li button
{
    font-size: 0;
    line-height: 0;

    display: block;

    width: 20px;
    height: 20px;
    padding: 5px;

    cursor: pointer;

    color: transparent;
    border: 0;
    outline: none;
    background: transparent;
}

.slick-dots li button:hover,
.slick-dots li button:focus
{
    outline: none;
}
.slick-dots li button:hover:before,
.slick-dots li button:focus:before
{
    opacity: 1;
}
.slick-dots li button:before
{
    font-family: 'slick';
    font-size: 6px;
    line-height: 20px;

    position: absolute;
    top: 0;
    left: 0;

    width: 20px;
    height: 20px;

    content: '•';
    text-align: center;

    opacity: .25;
    color: black;

    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}
.slick-dots li.slick-active button:before
{
    opacity: .75;
    color: black;
}


.cookie_rolldown { position:fixed;z-index:100;bottom:0px;display:none;padding:30px 0px 10px 30px;width:100%;background-color: #EFF3F5;border-radius:20px 20px 0px 0px;border-top:1px solid #ccc }
.cookie_rolldown .cookie-text  { margin:5px 30px 20px 0px;max-width:750px;float:left }
.cookie_rolldown a { background-color:#b91e28; padding: 9px 20px 7px 20px;margin-bottom:30px; color: white;  float:left;border-right:solid 2px white;margin-top:9px;border-radius:20px; }
.cookie_rolldown a.info_cookie { background-color:white;border:solid 1px #b91e28;color:#b91e28; padding: 7px 18px 7px 18px;margin-left:5px  }
.cookie_rolldown .ct_cookies { max-width:1010px;margin:0px auto }


.popup {
    position: fixed; top: 0px; left: 0px; right: 0px; bottom: 0px; z-index: 90; display:none
}
.popup a {
    color:black
}


.popup-bg {
    position: absolute; top: 0px; left: 0px; right: 0px; bottom: 0px; z-index: 90; background-color:black; opacity:0.7;
}

.popup-box {
    position: fixed; /* oder absolute, fixed ist meist besser für modale Popups */
    top: 50%;
    left: 50%;
    z-index: 91;
    background-color: white;
    padding: 50px 30px 20px 30px;
    transform: translate(-50%, -50%);
    width: 900px;
    max-width: 95%;
    color: black;

    /* Höhe flexibel halten */
    max-height: 90dvh;   /* nutzt dynamische Viewport-Höhe, sicher für iOS Safari */
    overflow-y: auto;    /* Scrollen erlauben falls Inhalt zu groß */

}


.popup-login { cursor:pointer }

.popup-close {
    float:right;font-family:'BigCityGrotesquePro-Regular';letter-spacing:0px;position:relative;top:-25px;cursor:pointer;
}


.popup-box input[type=text], .popup-box input[type=password] { outline:none;background-color:transparent;border:solid 1px black;border-width:0px 0px 1px 0px;padding:5px 0px;margin:10px 0px 0px 0px;font-family:'BigCityGrotesquePro-Regular';letter-spacing:0px;max-width:500px;width:95%;font-size:13px;display:block }
.popup-box input::placeholder { font-family:'BigCityGrotesquePro-Regular';letter-spacing:0px;color:black }

.popup-box .button { display:inline-block;clear:both;color:black;background-color:white;border: solid 1px black;margin-top:12px;padding:9px 30px 8px 30px;border-radius:5px;font-weight:normal;font-family:'BigCityGrotesquePro-Regular';letter-spacing:0px;font-size:12px;line-height:14px }
.popup-box .button:hover { background-color:black;color:white }
.popup-box .popup-info { margin-top:7px;min-height:40px; font-family: 'Archivo Black';letter-spacing:0px; font-size: 13px; }
.popup-box .popup-forget { display:inline-block;margin-top:15px;font-weight: normal;font-family: 'Archivo Black';letter-spacing:0px;color:#b1b3b4;font-size:13px; }


.popup-box h3 { margin-bottom:30px }


#popup-newsletter { display:block }
#popup-newsletter .popup-bg { opacity:0.5; }
#popup-newsletter h2 { font-size: 23px; line-height: 26px; color: #b91e28; }
#popup-newsletter h3 { font-family: 'BigCityGrotesquePro-Regular';letter-spacing:0px;margin-top:10px;font-size:15px }

.popup-checkbox { margin-top:15px }
.popup-checkbox input { float:left }
.popup-checkbox label { margin-left:30px;display:block }



