@font-face {
  font-display: swap;
  font-family: 'helvetica_neue';
  font-style: normal;
  font-weight: 400;
  src: url('../fonts/helveticaneue-roman-webfont.eot');
  src: url('../fonts/helveticaneue-roman-webfont.eot?#iefix') format('embedded-opentype'),
    url('../fonts/helveticaneue-roman-webfont.woff2') format('woff2'),
    url('../fonts/helveticaneue-roman-webfont.woff') format('woff'),
    url('../fonts/helveticaneue-roman-webfont.ttf') format('truetype'),
    url('../fonts/helveticaneue-roman-webfont.svg#helvetica_neue55_roman') format('svg');
}

@font-face {
  font-display: swap;
  font-family: 'helvetica_neue';
  font-style: normal;
  font-weight: 700;
  src: url('../fonts/helveticaneue-bold-webfont.eot');
  src: url('../fonts/helveticaneue-bold-webfont.eot?#iefix') format('embedded-opentype'),
    url('../fonts/helveticaneue-bold-webfont.woff2') format('woff2'),
    url('../fonts/helveticaneue-bold-webfont.woff') format('woff'),
    url('../fonts/helveticaneue-bold-webfont.ttf') format('truetype'),
    url('../fonts/helveticaneue-bold-webfont.svg#helvetica_neue75_bold') format('svg');
}

* {
  /* outline: 1px solid rgba(255, 0, 0, 0.1); */
}

/*       cookie banner 
################################*/

.privacywire-header {
  font-size: larger;
}

.privacywire-buttons button {
  padding: 20px;
  border-radius: 0;
  border: 0px solid red;
  margin-top: 10px;
}

.privacywire-page-links a.privacywire-page-link {
  font-size: 14px;
  padding-right: 10px;
  color: #1d1e1c !important;
}

.privacywire-page-links a.privacywire-page-link:hover {
  color: #E2361F !important;
}


/* Für Medium Devices */
@media screen and (min-width: 641px) and (max-width: 960px) {}

/* Für Small Devices */
@media screen and (max-width: 640px) {}

/*       cookie banner //
################################*/

/*       leichte sprache 
################################*/

.ls-fallback-notice {}

.ls-fallback-text {}

.ls-fallback-text p {
  margin: 0.2em 0;
}

/*       leichte sprache //
################################*/


html {
  font-family: 'helvetica_neue', Helvetica, Arial, sans-serif;
  font-size: 17px;
  line-height: 25px;
  scroll-behavior: smooth;
  overflow: scroll;
}

#content {
  scroll-margin-top: 100px;
}

.templatename {
  font-size: 9px;
  color: lightgray;
  display: none;
}

#wrapper {
  color: #1d1e1c;
}


h1, h2, h3, h4, h5, h6 {
  font-family: 'helvetica_neue', Helvetica, Arial, sans-serif;
  overflow-wrap: break-word;
  /* hyphens: auto; */
  color: #1d1e1c;

}

p, span.teaser-detailseite, span.roundbutton, .event_subtitle {
  color: #1d1e1c;
}

h1 {
  font-size: 74px;
  font-weight: bold;
  margin-bottom: 0;
  margin-top: 0;
  text-transform: uppercase;
  line-height: 1;
  background-repeat: no-repeat;
}

h2 {
  font-size: 28px;
  font-weight: bold;
  text-transform: uppercase;
}

.willkommenContent h2 {
  font-size: 40px;
  font-weight: bold;
  line-height: 49px;
  letter-spacing: 1.97px;
  color: #3C2E83;
  text-align: center !important;
  margin-top: 5rem;
}

/* Für Medium Devices */
@media screen and (min-width: 641px) and (max-width: 960px) {}

/* Für Small Devices */
@media screen and (max-width: 640px) {}

h3 {
  font-size: 28px;
  font-weight: normal;
}

h2, h3 {
  margin-top: 0;
  margin-bottom: 0;
}

footer {
  background: #fff;
  height: auto;
  padding: 0 1em;
}

footer div div.footer {
  padding-top: 8rem;
}



/* links */

a:link, a:visited {
  color: #E2361F !important;
}

a:hover, a:active {
  text-decoration: none;
  color: #1d1e1c !important;
}

a:hover h3, a:active h3 {
  text-decoration: none;
  color: #E2361F !important;
}

a.extern::after {
  content: "";
  width: 11px;
  height: 11px;
  margin-left: 4px;
  background-image: url("data:image/svg+xml,%3Csvg id='externalLink' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 23.11 23.11'%3E%3Cdefs%3E%3Cstyle%3E.cls-1%7Bfill:none;stroke:%23e2361f;stroke-miterlimit:10;stroke-width:2px;%7D%3C/style%3E%3C/defs%3E%3Cline class='cls-1' x1='22.11' y1='1' x2='0.71' y2='22.4'/%3E%3Cpolyline class='cls-1' points='2.71 1 22.11 1 22.11 20.24'/%3E%3C/svg%3E");
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  display: inline-block;

}

/* skiplink für barrierefreiheit */
.skip-link {
  position: absolute;
  top: 0;
  left: 0;
  transform: translateY(-100%);
  background: #000;
  color: #fff;
  padding: 10px;
  z-index: 1000;
  text-decoration: none;
}

/* Skiplink wird sichtbar, wenn er den Fokus hat */
.skip-link:focus {
  transform: translateY(0) !important;
  outline: 2px solid red !important;
  /* optional für bessere Sichtbarkeit */
}

.top-link {
  position: relative;
  opacity: 0;
  background: #000;
  color: #fff;
  padding: 10px;
  z-index: 1000;
  text-decoration: none;
}

.top-link:focus {
  opacity: 1;
}

/* skiplink für barrierefreiheit // */


/* audiodescription */
#audiodescription {
  scroll-margin-top: 100px;
  /* Höhe deiner Navbar */
}

button#toggle-audio-description {
  margin-bottom: 0px !important;
}

/* audiodescription // */


/*    links //    */

/* Google Maps Container */
#map {
  width: 100%;
  height: 850px;
  background: #f5f5f5;
}

/* InfoWindow Styles */
.gm-style-iw {
  padding: 12px !important;
  max-width: 300px !important;
}

.info-window-content {
  max-width: 250px;
  font-family: Arial, sans-serif;
  line-height: 1.4;
}


.info-window-title a {
  color: #3c2e82 !important;
  text-decoration: none;
  font-size: 14px;
  font-weight: bold;
}

.info-window-subtitle {
  color: #3c2e82 !important;
  ;
  font-size: 12px;
  font-weight: normal;
}

.info-window-title a:hover {
  text-decoration: underline;
}

.info-window-location, .info-window-oeffnungszeiten p {
  color: #333;
  font-size: 14px;
  margin: 10px 0 0 0;
}

.info-window-oeffnungszeiten p {
  margin: 0;
}

.info-window-oeffnungszeiten {
  color: #333;
  font-size: 14px;
  margin: 10px 0 0 0;
}

.info-window-content img {
  max-width: 100%;
  height: auto;
  margin-top: 8px;
  border-radius: 4px;
}

.info-window-content .round-label {
  background-color: #E2361F;
  height: 40px;
  width: 40px;
  position: relative;
  display: block;
  text-align: center;
  color: white;
  border-radius: 100px;
  line-height: 40px;
  float: right;
  padding: 0;
  margin-top: 0;
  font-weight: bold;
  box-sizing: border-box;
  font-size: 24px;
}

/* Google Maps Container // */

/* lazyloading Basis-Styling */
.lazy-image {
  opacity: 0;
  transition: opacity 0.4s ease-out;
  background-color: #f0f0f0;
}

/* Geladenes Bild */
.lazy-image.loaded {
  opacity: 1;
  background-color: transparent;
}

/* Platzhalter während des Ladens */
.lazy-image:not(.loaded) {
  background-image: linear-gradient(45deg, #e0e0e0 25%, transparent 25%, transparent 75%, #e0e0e0 75%);
  background-size: 16px 16px;
}

/* lazyloading Basis-Styling // */


/* ###################################
A-Z Liste */
#kuenstlerinnen h2 {
  margin-top: 1em;
}

.letter-navigation {
  position: sticky;
  top: 130px;
  z-index: 1;
  background: white;
}

[id^="letter-"] {
  position: relative;
  scroll-margin-top: 160px;
  /* Abstand von der Navigation */
}

.letter-navigation a {
  text-decoration: none;
  padding: 5px;
  margin: 0 5px;
  display: inline-block;
}

.letter-navigation a:hover {
  background: #ddd;
  /* Optional: Hover-Effekt */
}

.round-liste {
  background-color: red;
  height: 35px;
  width: 35px;
  line-height: 35px;
  position: relative;
  display: inline-block;
  text-align: center;
  color: white;
  border-radius: 100px;
  padding: 0;
  margin-top: 7px;
  font-weight: bold;
  box-sizing: border-box;
  font-size: 16px;
  margin-right: 5px;
}



/* ###################################
presse Personen */

.personen-presse {
  line-height: 34px;
}

p.personen {
  margin: 0;
  padding: 0;
  font-size: 20px !important;
  font-weight: bold;
  letter-spacing: 0.94px;
  margin-top: 20px;
  line-height: 34px;
}

.spacer {
  margin-bottom: 2em;
}

/* ###################################
event kachelansicht */

  li.dimmed {
    opacity: 0.3;
    filter: grayscale(100%);
    transition: opacity 0.75s ease;
  }

  li.dimmed:hover, li.dimmed.hovered {
    opacity: 0.8;
    filter: grayscale(0%);
}


.round-label {
  background-color: #E2361F;
  height: 45px;
  width: 45px;
  position: relative;
  display: block;
  text-align: center;
  color: white;
  border-radius: 100px;
  line-height: 45px;
  float: right;
  padding: 0;
  margin-top: 7px;
  font-weight: bold;
  box-sizing: border-box;
  font-size: 16px;
}

.btn-wider {
  width: 50%;
}

.roundbutton:link, .roundbutton:visited {
  border: 2px solid #1d1e1c;
  border-radius: 100px;
  padding: 10px 40px;
  margin: 18px 0 18px 0;
  display: inline-block;
  font-size: 17px;
  color: #1d1e1c !important;
  font-weight: bold;
  transition: all 0.2s;
}

a.roundbutton:hover, a.roundbutton:active {
  text-decoration: none;
  color: #E2361F !important;
  border-color: #E2361F;
}


.roundbutton-red {
  border: 2px solid #E2361F;
  border-radius: 100px;
  padding: 12px 40px;
  margin: 18px 0 18px 0;
  display: inline-block;
  font-size: 17px;
  color: #E2361F !important;
  font-weight: bold;
}

a.roundbutton-red:hover {
  text-decoration: none;
  color: #1d1e1c !important;
  border-color: #1d1e1c;
}

#content .roundbutton-lila {
  border: 2px solid #3c2e83;
  border-radius: 100px;
  padding: 12px 40px;
  margin: 18px 0 18px 0;
  display: inline-block;
  font-size: 17px;
  color: #3c2e83 !important;
  font-weight: bold;
}

#content a.roundbutton-lila:hover {
  text-decoration: none;
  color: #1d1e1c !important;
  border-color: #1d1e1c;
}


li a.roundbutton-festival {
  border: 1px solid transparent;
  border-radius: 100px;
  padding: 10px 2vw;
  margin: 18px 0.5vw 0 0;
  display: inline-block;
  color: #3C2E83 !important;
  font-size: 17px !important;
  font-weight: normal;
  background-color: white !important;
  text-transform: none !important;
}

li a.roundbutton-festival:hover {
  border: 1px solid #3c2e83;
  color: #3c2e83 !important;
  font-weight: normal;
  background-color: white !important;
  text-transform: none !important;
}

li.uk-active a.roundbutton-festival,
li a.roundbutton-festival.active {
  background-color: #3c2e83 !important;
  color: white !important;
  font-weight: bold;
  text-transform: none;
  border: 1px solid #3c2e83;
}

/* buttons werden per javascript automatisch mit span.center versehen und hiermit zentriert */
span.center {
  display: flex;
  justify-content: center;
}

/* buttons zentrieren // */


/* Für Medium Devices */
@media screen and (min-width: 641px) and (max-width: 960px) {}

/* Für Small Devices */
@media screen and (max-width: 640px) {

  li a.roundbutton-festival {
    padding: 5px !important;
    margin: 5px !important;
    width: 86vw !important;
    display: block !important;
    text-align: center;
    width: 100%;
    margin-bottom: 20px;
    color: black !important;
    border: 1px solid #3C2E83;
  }

  li.uk-active a.roundbutton-festival {
    color: white !important;
  }

  li a.roundbutton-festival.active {
    color: red !important;
  }

}




.roundbutton-small {
  border: 1px solid #1d1e1c;
  border-radius: 100px;
  padding: 0px 19px;
  margin: 18px 10px 0 0;
  display: inline-block;
  font-size: 15px;
  color: #1d1e1c;
}

@media screen and (max-width: 640px) {
  .roundbutton-small {
    padding: 0px 10px;
    margin: 10px 5px 0 0;
  }
}

.roundbutton-xsmall {
  border: 1px solid #1d1e1c;
  border-radius: 100px;
  padding: 0px 19px;
  margin: 22px 10px 0 0;
  display: inline-block;
  font-size: 12px;
  color: #1d1e1c;
  line-height: 21px;
}

.roundbutton-big {
  border: 1px solid #1d1e1c;
  border-radius: 100px;
  padding: 0px 19px;
  margin: 18px 10px 0 0;
  display: inline-block;
  font-size: 23px;
  color: #1d1e1c;
}




h3.event {
  text-transform: uppercase;
  font-weight: bold;
  line-height: 23px;
  margin-top: 13px;
  margin-bottom: 0;
}

h3.event a {
  font-size: 23px;
  color: black !important;
}

h3.event a:hover {
  color: #E2361F !important;
}

.event .vernissage {
  font-size: 14px;
}

.event_loc_date {
  margin-top: 7px;
  font-size: 13px !important;
  color: black;
  line-height: 20px;
}

.event_location {
  font-size: 13px !important;
  font-weight: bold;
  text-transform: uppercase;
  line-height: 16px;
  display: inline-block;
  color: black;
  width: 100%
}

.event_date {
  font-size: 13px !important;
  font-weight: normal;
  display: inline-block;
}

p.event_subtitle, p.kuenstlerinnen-info {
  margin: 0;
  padding: 0;
  font-size: 13px;
  line-height: 15px;
  margin-top: 11px;
}

p.kuenstlerinnen-info {
    /* font-style: italic; */
    margin: 0.5em 0;
}


/* event kachelansicht // */

/* ###################################
unterseiten kacheln */
#content-subpages h3, div.generiert div a h3, div.generiert div h3 {
  text-align: left;
  text-transform: uppercase;
  font-size: 21px !important;
  line-height: 28px;
  font-weight: bold;
  color: black;
  margin-top: 21px;
  margin-bottom: 10px;
  letter-spacing: 0.5px;
}

.generiert div.unterseite-gross a h3 {
  text-align: center !important;
  font-size: 42px !important;
  font-weight: bold;
  line-height: 49px;
  letter-spacing: 1px;
  margin-top: 30px;
  margin-bottom: 16px;
}

.generiert div.unterseite-mittel a h3 {
  text-align: center !important;
  font-size: 21px !important;
  font-weight: bold;
  line-height: 28px;
  letter-spacing: 1px;
  margin-top: 21px;
  margin-bottom: 10px;
}

.unterseite-gross, .unterseite-mittel {
  margin-bottom: 2em;
}

p.subline-usgs {
  margin: 0;
  padding: 0;
}

.generiert div.unterseite-mittel p.subline-usgs, .generiert div.unterseite-gross p.subline-usgs, .unterseite-gross .teasertext, .unterseite-mittel .teasertext {
  text-align: left !important;
  margin: 0;
  padding: 0;
  /* mod vom 10.04.2025 */
  font-size: 15px;
  letter-spacing: 0.75px;
  /* mod vom 10.04.2025 // */
}


p.teasertext {
  color: black;
  font-size: 16px;
  line-height: 20px;
  margin: 0;
  padding: 0;
}

/* unterseiten rund / team  1/2, 1/3, 1/4 */
div.generiert div.unterseite-mittel div.us-container.rund a div.unterseite-rund.uk-text-center div.text-container p.subline-usgs, div.generiert div.unterseite-mittel div.us-container.rund a div.unterseite-rund.uk-text-center div.text-container p.teasertext, div.generiert div.unterseite-gross div.us-container.rund a div.unterseite-rund.uk-text-center div.text-container p.subline-usgs, div.generiert div.unterseite-gross div.us-container.rund a div.unterseite-rund.uk-text-center div.text-container p.teasertext {
  text-align: center !important;
}

.us-container.blogstyle {
  margin-bottom: 3em;
}


/* Für Medium Devices */
@media screen and (min-width: 641px) and (max-width: 960px) {}

/* Für Small Devices */
@media screen and (max-width: 640px) {}

/* unterseiten kacheln // */


/* edition einstieg  */

figure img.edition {
  border: #f0f0f0 1px solid;
}

.us-container.edition {
  margin-bottom: 2em;
}

.us-container.edition h3 {
  font-size: 23px !important;
  line-height: 27px;
  letter-spacing: 1.08px;
}

.us-container.edition p.subline-usgs {
  font-size: 13px;
  line-height: 15px;
  letter-spacing: 0.61px;
}


/* Für Medium Devices */
@media screen and (min-width: 641px) and (max-width: 960px) {}

/* Für Small Devices */
@media screen and (max-width: 640px) {}


/* edition einstieg // */



/* TAGS SERP  */

h1.serp-title {
  position: sticky;
  top: 85px;
  background-color: white;
  font-size: 74px !important;
  line-height: 74px !important;
  text-align: left !important;
  color: black !important;
  margin-bottom: 1em;
}


.serp-item {
  padding-top: 1em;
  padding-bottom: 1em;
  border-bottom: 1px solid red;
}

.serp-image {}


.serp-text {}


.serp-item .serp-text a {
  text-transform: uppercase;
  font-weight: bold;
  color: black !important;
}

.serp-item .serp-text a:hover {
  color: red !important;
}

.serp-subtitle {
  color: #3C2E83;
}

.serp-teaser {
  font-size: 15px;
}

.serp-item .serp-text span.serp-url a {
  font-style: italic;
  font-size: 12px;
  line-height: 12px;
  font-weight: normal;
  text-transform: none;
}



/* Für Medium Devices */
@media screen and (min-width: 641px) and (max-width: 960px) {}

/* Für Small Devices */
@media screen and (max-width: 640px) {}


/* TAGS SERP // */



/* ###################################
teilnehmer - detailseiten */

/* logo einbindung */

.logointegration {
  padding-right: 60px !important;
  margin-top: -12px !important;
}


/* imagecarousel */
#content .uk-slidenav {
  background: transparent;
  height: 90%;
  width: 15%;
  margin: 0;
  padding: 0;
}

#content .uk-slidenav svg {
  display: none;
}

.headlineTeaser strong {
  text-transform: uppercase;
  padding-right: 0.75em;
}

@media screen and (max-width: 640px) {
  .headlineTeaser>h1 {
    margin-top: 0;
    margin-bottom: 0;
  }
}

.ipk-sliderhoehe.uk-panel {
  /*height: 636px;*/
}

.ipk-dotnav.uk-slider-nav.uk-dotnav.uk-flex-center.uk-margin {
  top: -85px;
  position: relative;
}

.uk-dotnav>*>* {
  width: 60px;
  height: 1px;

  padding-top: 1px;
  padding-bottom: 1px;

  border-radius: 5px;

  background-color: #E2361F !important;
  border-color: white !important;

  transition: 0.2s ease-in-out;
  transition-property: all;
  transition-property: background-color, border-color;
}


.uk-dotnav>.uk-active>* {
  background-color: #E2361F !important;
  border-color: #E2361F !important;

}

.uk-dotnav>*> :hover {
  background-color: #E2361F !important;
  border-color: #E2361F !important;
}



figure {
  position: relative;
}


p.fig-title, p.fig-copy {
  margin: 0;
  padding: 0;
  font-size: 13px;
  line-height: 20px;
  letter-spacing: 0.61px;
}

p.fig-copy {
  font-weight: normal;
}

p.fig-title {
  text-transform: uppercase;
  font-weight: bold;
}

figcaption.captioncarousel {
  /* position: absolute; */
  text-align: center;
  /* width: 100%;
  top: 640px; */
}

div.img-carousel {
  margin-bottom: 0;
}

div.carouselContainer {
  height: 740px;
}


figure.img-panorama figcaption, figure.img-single figcaption, .img-image figcaption {
  position: absolute;
  text-align: left;
  font-size: 10px;
  line-height: 10px;
  bottom: 3px;
  left: 3px;
  background-color: transparent;
  padding: 0;
  color: white;
  text-shadow:
    -1px -1px 0 rgba(0, 0, 0, 0.25),
    1px -1px 0 rgba(0, 0, 0, 0.25),
    -1px 1px 0 rgba(0, 0, 0, 0.25),
    1px 1px 0 rgba(0, 0, 0, 0.25);
}

figure.img-panorama img, figure.img-single img {
  /* border: solid rgba(0, 0, 0, 0.1) 1px; */
  box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.1);
}



.text-outline {
  text-shadow:
    -1px -1px 0 rgba(0, 0, 0, 0.15),
    1px -1px 0 rgba(0, 0, 0, 0.15),
    -1px 1px 0 rgba(0, 0, 0, 0.15),
    1px 1px 0 rgba(0, 0, 0, 0.15);
}

figcaption.img-carousel {
  text-align: center;
  margin-top: 1rem;
  margin-bottom: 1rem;
}

.caption-container {
  position: relative;
  max-width: 100%;
  width: 100%;
}

.caption-container figcaption {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  padding: 10px;
  background-color: rgba(0, 0, 0, 0.5);
  color: #fff;
  max-width: 100%;
  word-wrap: break-word;
}




/* detailseiten */
.bodyContent ul {
  margin-top: 0;
  margin-bottom: 30px;
  padding-left: 15px;
}

.bodyContent li {
  list-style: circle;
  margin-left: 0;
  margin-bottom: 10px;
}

.redaktionell.uk-grid, .generiert.uk-grid {
  margin-top: 5rem;
}

.generiert.extrapadding.uk-grid {
  padding: 0 calc(100% / 12);
}

.uk-height-largePS {
  height: 467px;
  position: relative;
}

/* headergrafik */
.headlineSubheadline {
  position: absolute;
  bottom: 35px;
  left: 50px;
  background-color: transparent;
}

.headlineSubheadline h2 {
  background-color: transparent;
  font-size: 74px;
  line-height: 74px;
  font-weight: normal;
  margin: 0;
  padding: 0;
}


.img-image, .img-panorama, .img-carousel {
  margin-bottom: 40px;
  /* margin-left: 0; */
  /* padding-left: 0; */
}

.img-panorama {
  /* margin-left: 15px; */
  /* padding-left: 0; */
}

.headcontainer {
  position: relative;
}

.header4erTeaser {
  position: absolute;
  bottom: 2rem;
  left: 1rem;
  color: white;
}

.header4erTeaser h3 {
  color: white;
  font-size: 18px;
  line-height: 23px;
  text-transform: uppercase;
  font-weight: bold;
}

/* headergrafik //*/
.datumHeader {
  display: inline-block;
}

.round-no {
  background-color: #E2361F;
  position: absolute;
  top: 6px;
  left: -180px;
  height: 50px;
  width: 50px;
  line-height: 50px;

  display: inline-block;
  text-align: center;
  color: white;
  border-radius: 100px;

  padding: 0;
  margin-top: 7px;
  font-weight: bold;
  box-sizing: border-box;
  font-size: 16px;
  margin-right: 5px;
}

@media (max-width: 959px) {

  .round-no {
    top: 0;
    left: 0;
    position: relative;
  }

}


.logoTextLink {
  margin-top: 60px;
}

.teaser-detailseite {
  margin-top: 1rem;
  display: block;
  font-size: 24px;
  line-height: 34px;
  letter-spacing: 0.48px;
}

/* Für Medium Devices */
@media screen and (min-width: 641px) and (max-width: 960px) {}

/* Für Small Devices */
@media screen and (max-width: 640px) {

  .teaser-detailseite {
    font-size: 18px;
    line-height: 26px;
  }

}


/* veranstaltungsdetails */

.veranstaltungsdetails {
  margin-bottom: 4rem;
}

.vaDetailsHead {
  font-size: 20px;
  margin-bottom: 20px !important;
}

strong.uppercase {
  text-transform: uppercase;
}

p.weitereEventsItem {
  color: 1d1e1c;
  font-style: normal;
}

p.weitereEventsItem em {
  color: #1d1e1c;
  font-weight: normal;
  font-style: normal;
}

.weitereEventsItem p {
  margin-top: 0;
}

/* veranstaltungsdetails // */

p.kuenstlerinnenListe {
  margin-bottom: 4rem !important;
}

.bodyContent h3, .bodyContent h2, #ContentComposer h2 {
  margin: 0;
  padding: 0;
  font-size: 20px !important;
  line-height: 26px;
  letter-spacing: 0.98px;
  font-weight: bold;
  text-transform: none;
}

#ContentComposer h3 {
  color: red;
  font-size: 17px;
}

/* teamdarstellung runde bilder etc // */
div.unterseite-rund h4 {
  font-weight: bold;
  text-transform: none;
  font-size: 20px;
  letter-spacing: 0.94px;
}


/* video embed */
.TextformatterVideoEmbed {
  margin-top: 0 !important;
  margin-bottom: 3em !important;
}


/* blockquote */

.bodyContent>blockquote {
  padding: 0 0 0 50px;
  position: relative;
  margin: 50px 0 !important;
}

.bodyContent>blockquote p {
  font-size: 24px;
  line-height: 35px;
  text-transform: none;
  font-style: normal;
  margin-top: 0 !important;
}

.bodyContent>blockquote p::before {
  left: 0px;
  top: 25px;
  content: "”";
  font-size: 4em;
  position: absolute;
}

.bodyContent>blockquote p small {
  color: black;
  font-size: 13px;
  line-height: 20px;
  font-weight: bold;
  text-transform: uppercase;
  margin-top: 1rem;
  display: inline-block;
}

/* unterseite/geschwisterseiten darstellung */

.seitenreferenzen_label {
  font-size: 20px;
}


/* detailseiten // */




/* responsive seitenverhältnis */
.inner {
  flex: 1 1 auto;
  position: relative;
  background-color: #E2361F;
  color: white;
}

.inner:before {
  content: "";
  display: block;
  padding-top: 100%;
  /* initial ratio of 1:1*/
}

.content {
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
}

/* other ratios */

.ratio2_1:before {
  padding-top: 50%;
}

.ratio1_2:before {
  padding-top: 200%;
}

.ratio4_3:before {
  padding-top: 75%;
}

.ratio5_4:before {
  padding-top: 80%;
}

.ratio16_9:before {
  padding-top: 56.25%;
}

.ratio3_4:before {
  padding-top: 133.33%;
}

/* responsive seitenverhältnis // */


/* FAQ Accordion */

div.faq-content>p.ac_inhalt>h3 {
  text-transform: none !important;
  margin-bottom: 0 !important;
  background-color: red !important;
}


/* FAQ Accordion // */



/* FAQ */

ul.uk-accordion {
  background-color: transparent;
}

.uk-accordion-title {
  text-align: center;
  font-weight: bold;
  letter-spacing: 0.94px;
  text-transform: uppercase;
}

ul.uk-accordion li {
  background-color: transparent;
  margin: 0 !important;
  border-top: solid 2px #E2361F;
  padding: 20px;
}

ul.uk-accordion li:last-child {
  border-bottom: solid 2px #E2361F;
}


/* FAQ // */


/* Partner  */

h1.partner, .bodyContent h1 {
  font-size: 40px;
  font-weight: bold;
  line-height: 49px;
  letter-spacing: 1.97px;
  color: #3C2E83;
  text-align: center;
  margin-top: 5rem;
}

.bodyContent h2 {
  font-size: 22px;
  font-weight: bold;
  line-height: 28px;
  letter-spacing: 1.03px;
  color: #3C2E83;
  text-align: center;
  text-transform: uppercase;
  /* margin-top: 5rem; */
}

/* Partner // */





/* linksbündigkeit für ALLES erzwingen */
.bodyContent p:has(> a.roundbutton-lila),
.bodyContent p:has(> a.roundbutton-red),
.bodyContent p:has(> a.roundbutton) {
  text-align: center !important;
}

.bodyContent p {
  /* text-align: left !important; */
}

.bodyContent h2 {
  text-align: left !important;
}

.bodyContent h2+p {
  margin-top: 0;
}

/* linksbündigkeit für ALLES erzwingen */

/* Für Medium Devices */
@media screen and (min-width: 641px) and (max-width: 960px) {}

/* Für Small Devices */
@media screen and (max-width: 640px) {

  /* linksbündigkeit für mobil erzwingen */
  .bodyContent p {
    margin: 0;
    padding: 0;
    text-align: left !important;
    margin-bottom: 10px;
  }

  .bodyContent h2 {
    text-align: left !important;
    margin-top: 2em;
  }

  .bodyContent h3 {
    margin-bottom: 1em;
  }

  /* linksbündigkeit für mobil erzwingen */
}






/* Filterebene */
.filternav {
  margin: 40px 0;
}

.filterlabel {
  margin-right: 20px;
  margin-bottom: 10px;
  color: #E2361F;
  font-size: 14px !important;
}

.roundbutton-filter a {
  text-transform: none !important;
  font-size: 14px !important;
}

.roundbutton-filter, .fltr-stadtteil {
  color: #E2361F;
  background-color: transparent;
  border: 1px solid #E2361F;
  padding: 5px 20px;
  margin-right: 20px;
  margin-bottom: 10px;
  border-radius: 100px;
  font-size: 14px !important;
  line-height: 16px;
  letter-spacing: 0.66px;
}

li.roundbutton-filter.uk-active, li.roundbutton-filter.uk-active a,
li.roundbutton-filter.uk-active:hover, li.roundbutton-filter.uk-active:hover a {
  color: white !important;
  background-color: #E2361F;
  border-color: #E2361F;
}

li.roundbutton-filter:hover, li.roundbutton-filter:hover a {
  color: #1d1e1c !important;
  border-color: #1d1e1c;
}

/* Stadtteil-filter */

.fltr-stadtteil {}

.fltr-stadtteil>a {
  /* font-style: italic !important;  */
  /* font-size: 12px !important; */
}

/* Stadtteil-filter // */
#specials, #veranstaltungen, #ausstellungen, #kuenstlerinnen, #stadtplan, #service, #heute {
  scroll-margin-top: 150px;
}

.tabbedNav.uk-flex-center\@s.uk-subnav {
  position: sticky;
  top: 60px;
  z-index: 50;
  background: white;
  padding-bottom: 15px;
}

#subNavTabbed.hide, #filterVA.hide, #filterEV.hide {
  display: none;
}

#subNavFestival.hide {
  display: none;
}

.filternav.uk-subnav {
  position: sticky;
  top: 138px;
  z-index: 50;
  background: white;
  padding-top: 15px;
  padding-bottom: 0;

}

.hidden-by-overlay {
  display: none;
}

/* anpassung für teilnehmer-output */
#content.pg-5258 section div ul#filterEV {
  top: 85px;
}



/* STICKY HEADER OFF bei desktop*/
.tab-sticky-header {
  display: none;
}

/* MOBILE STICKY NAVIGATION (unter 768px) */
@media (max-width: 767px) {

  /* map-anpassungen */
  #map {
    height: 600px !important;
  }

  .map-sticky-container {
    position: relative;
    height: 1000px;
    /* 850px sichtbare Höhe + ~400px sticky-scrollbereich */
  }

  .map-sticky {
    position: sticky !important;
    top: 178px;
    /* Höhe von Navigationsleiste + Tabs */
    height: 600px;
    z-index: 1;
  }

  #subNavFestival {
    z-index: 1000 !important;
    padding-top: 1px;
  }

  /* Hauptcontainer */
  .tabbed-content {
    position: relative;
    /* margin-top: 120px; Platz für sticky Elemente */
  }

  /* Sticky-Header für aktiven Tab + Toggle */
  .tab-sticky-header {
    display: block;
    position: sticky;
    top: 85px;
    /* Unter Hauptnavigation */
    width: 100%;
    background: white;
    z-index: 90;
    padding-top: 5px;
  }

  /* Aktiver Tab (immer sichtbar) */
  .sticky-active-tab {
    display: block;
    padding: 15px;
    font-weight: bold;
    background: white;
    border-bottom: 1px solid #eee;
  }

  .roundbutton-festival.active {
    background: #3c2e83;
    width: 100%;
    display: block;
    text-align: center;
    border-radius: 100px;
    color: white !important;
    padding: 6px 0;
    text-transform: uppercase;
    font-size: 12px;
    letter-spacing: 1px;
    font-weight: bold;
  }

  /* Toggle-Button */
  .tab-toggle {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 12px 15px;
    background: white;
    cursor: pointer;
    border-bottom: 1px solid #ddd;
    font-size: 16px;
    font-weight: bold;
    color: #3c2e83;
    ;
  }

  /* Tab-Liste (standardmäßig versteckt) */
  .tabbedNav {
    display: none;
    position: absolute;
    top: 100%;
    width: 100%;
    background: white;
    z-index: 100;
    box-shadow: 0 5px 10px rgba(0, 0, 0, 0.1);
  }

  /* Aktive Tab-Liste (ausgeklappt) */
  .tabbedNav.active {
    display: block;
  }

  /* Einzelne Tab-Items */
  .tabbedNav li {
    display: block;
    margin: 0;
  }

  .tabbedNav li a {
    display: block;
    padding: 12px 15px;
    color: #333;
    text-decoration: none;
  }

  /* Aktiver Tab in der Liste */
  .tabbedNav li a.active {
    color: #E2361F;
    /* Rot aus deinem Design */
    font-weight: bold;
  }

  ul.tab-links.tabbedNav.uk-flex-center\@s.uk-subnav {
    position: sticky;
    top: 178px;
  }

  ul#filterVA.filternav.uk-subnav, ul#filterEV.filternav.uk-subnav, ul.filternav.uk-subnav {
    position: sticky;
    top: 166px;
    z-index: 999 !important;
  }

  #filterEV, #filterVA, ul.filternav.uk-subnav {
    transition: opacity 0.3s ease, transform 0.3s ease;
  }

  #filterEV.remove, #filterVA.remove, ul.filternav.uk-subnav.remove {
    opacity: 0;
    pointer-events: none;
    transform: translateY(-15px);
  }

}


/* Rollstuhl-Icon für barrierefreie Events */
.fltr-rollstuhlgerecht .event-text>a:first-child::before {
  content: "♿";
  display: inline-block;
  margin-right: 15px;
  font-size: 20px;
  vertical-align: middle;
  /* color: #1a73e8; */
  /* background: rgba(255, 255, 255, 0.9); */
  border-radius: 50%;
  width: 20px;
  height: 20px;
  line-height: 20px;
  text-align: center;
  /* box-shadow: 0 0 0 1px rgba(0,0,0,0.1); */
}

/* Optional: Tooltip-Effekt 
.fltr-rollstuhlgerecht .event-text > a:first-child:hover::after {
  content: "Rollstuhlgerecht";
  width: auto;
  padding: 0 8px;
  white-space: nowrap;
  border-radius: 12px;
}
*/

/* Für Medium Devices */
@media screen and (min-width: 641px) and (max-width: 960px) {}

/* Für Small Devices */
@media screen and (max-width: 640px) {

  .tabbedNav.uk-flex-center\@s.uk-subnav {
    position: relative;
  }

  /* ul.tab-links.tabbedNav.uk-flex-center\@s.uk-subnav {
    position: initial;
  } */

  ul.tabbedNav.uk-flex-center\@s.uk-subnav li.uk-active {

    /* position: sticky;
  top: 65px;
*/
  }


  .filternav.uk-subnav {
    position: relative;
    top: 0;
  }

  .tabbedNav, .filternav {
    z-index: 0 !important;
  }

  ul.uk-subnav {
    margin-left: 0;
  }

  ul.uk-subnav>* {
    padding-left: 0;
  }

  #subNavTabbed {
    margin-top: -70px;
    margin-bottom: 70px;
  }

  ul.js-filter li {
    margin-bottom: 2em;
  }

  /* tabbed NAV */

  .tab-content>div {
    display: none;
  }

  .tab-content>div:target {
    display: block;
  }

  .tab-links a.active {
    /* Hier kannst du das Styling für das aktive Tab-Element festlegen */
    font-weight: bold;
  }


  li.roundbutton-filter {
    padding: 0 5px;
    margin: 0 5px 5px 0;
  }


  /* tabbed NAV // */


}

/* Für Small Devices // */













/* Für Medium Devices */
@media screen and (min-width: 641px) and (max-width: 960px) {

  .round-no.showMobil {
    float: right;
  }

  .headcontainer h1 {
    margin-bottom: 0;
  }

  h1 {
    font-size: 7vw;
    line-height: 7.5vw;
  }

  h2, .headlineSubheadline h2 {
    font-size: 5vw;
    line-height: 5.5vw;
  }

  .headlineSubheadline {
    position: absolute;
    bottom: 35px;
    left: 0;
    background-color: transparent;
    width: 100%;
    text-align: center;
  }

  .headlineSubheadline h1 {
    margin-top: 0;
    margin-bottom: 0;
  }

  .generiert div.unterseite-gross a h3, div.generiert div a h3, div.generiert div h3, .generiert div.unterseite-mittel a h3, div.generiert div a h3, .unterseite-gross h3, .unterseite-mittel h3, h3 {
    font-size: 5vw !important;
    line-height: 5.3vw !important;
    text-align: left !important;
  }


}














/* Für Small Devices */
@media screen and (max-width: 640px) {

  #content {
    /* margin-top: 100px; */
  }

  h1, .bodyContent h1 {
    font-size: 7vw;
    line-height: 7.5vw;
    margin-bottom: 0.25rem;
    margin-top: 1rem;
  }

  .roundbutton {
    margin: 20px 0 20px 0 !important;
  }

  .headcontainer h1 {
    margin-bottom: 0;
  }

  h2, .headlineSubheadline h2, .willkommenContent h2 {
    font-size: 5vw;
    line-height: 6vw;
  }


  .headlineSubheadline h1 {
    margin-top: 0;
    margin-bottom: 0;
  }

  .generiert div.unterseite-gross a h3, div.generiert div a h3, div.generiert div h3, .generiert div.unterseite-mittel a h3, div.generiert div a h3, .unterseite-gross h3, .unterseite-mittel h3, h3 {
    font-size: 5vw !important;
    line-height: 5.3vw !important;
    text-align: left !important;
  }

  .unterseite-gross, .unterseite-mittel {
    margin-bottom: 0;
  }

  p.teasertext {
    font-size: 14px;
    line-height: 20px;
  }

  .us-container>h3 {
    text-align: left;
  }

  .generiert div a h3 {
    text-align: left !important;
  }

  .uk-height-largePS {
    height: 200px;
    position: relative;
  }

  .bodyContent, div.img-image {
    margin-bottom: 0;
  }

  .round-no.showMobil {
    float: right;
  }

  .templatename {
    display: none;
  }


  a.roundbutton-more {
    border: 1px solid #E2361F;
    border-radius: 100px;
    padding: 10px 40px;
    margin: 25px 0 35px 0;
    display: inline-block;
    color: #E2361F !important;
    font-size: 17px !important;
    font-weight: normal;
    background-color: white !important;
    text-transform: none !important;
  }



  /* event-liste ausstellungen */

  li.gruppe3:hover .event-text h3.event a {
    color: red !important;
  }


  .event-item {
    margin-bottom: 2em;
  }

  .event-text {
    padding: 0 10px;
    background-color: transparent;
  }

  p.event_loc_date {
    margin-bottom: 0;
  }

  .event_date {
    margin-bottom: 0;
  }

  h3.event {
    text-align: left !important;
  }

  .round-label {
    background-color: #E2361F;
    height: 60px;
    width: 60px;
    position: relative;
    display: block;
    text-align: center;
    color: white;
    border-radius: 100px;
    line-height: 60px;
    float: right;
    padding: 0;
    margin-top: -30px;
    font-weight: bold;
    box-sizing: border-box;
    font-size: 24px;
  }

    .round-label.mobil  {
    float: none;
    padding: 0;
    margin: 10px 0px;
  }

  /* detailseite ausstellungen */

  div.carouselContainer {
    height: 100%;
  }

  p.kuenstlerinnenListe {
    margin-top: 1rem !important;
  }

  .vaDetailsHead {
    margin-bottom: 0 !important;
  }

  .vaDetailsHead+p {
    margin-top: 0;
  }

  /* eventliste / detailsseite // */





  /* unterseiten ausgabe */
  div.generiert {
    margin-top: 15px !important;
  }

  .img-image, .img-panorama, .img-carousel {
    margin-bottom: 15px;
  }

  .us-container {
    margin-bottom: 2em !important;
  }

  .us-container, .text-container {
    background-color: #f5f5f5;
  }

  .us-container {
    background-color: transparent;
  }

  .us-container.rund, .us-container.rund .text-container {
    background-color: transparent;

  }

  .us-container.rund p.teasertext {
    padding-bottom: 2em !important;
  }


  .text-container {
    padding: 0 10px;
  }

  .us-container a h3, .unterseite-gross .us-container .text-container a h3 {
    text-align: left !important;
  }


  .us-container>.text-container>p {
    text-align: left !important;
    padding-bottom: 1em;
  }

  /* unterseiten ausgabe // */


  /* Für Medium Devices */
  @media screen and (min-width: 641px) and (max-width: 960px) {}

  /* Für Small Devices */
  @media screen and (max-width: 640px) {

    div.us-container a figure {
      margin: 0;
    }

    div.us-container div.text-container a h3 {
      margin: 0;
    }

  }



  /* slider anpassungen */
  .uk-dotnav>*>* {
    width: 10px;
    height: 10px;
    border: 2px solid;
  }

  figure.img-panorama figcaption {
    left: auto;
  }


}