@charset "UTF-8";
/* CSS Document */
 #cookieConsent {
            position: fixed;
            bottom: 20px;
            left: 50%;
            transform: translateX(-50%);
            width: 80%;
            max-width: 600px;
            padding: 20px;
            background-color: #000000;
            color: #fff;
            text-align: center;
            z-index: 9999;
            display: none;
        }

        #cookieConsent p {
            margin: 0;
            font-size: 16px;
            line-height: 1.4;
        }

        #cookieConsent button {
            background-color: #000000;
            color: #fff;
            border: none;
            padding: 10px 20px;
            border-radius: 4px;
            cursor: pointer;
            font-size: 16px;
            margin-top: 20px;
            margin-right: 10px;
            width: 50%;
        }

        #cookieConsent button.accept {
            background-color: #fff;
            color: #000000;
            border: 2px solid #000000;
            width: 60%;
        }

        #cookieConsent button.accept:hover {
            background-color: #e30613;
            color: #fff;
        }

        #cookieConsent button.decline {
            width: 40%;
        }



/* Skip link (keyboard accessibility) */
.skip-link{
	position: absolute;
	left: -999px;
	top: auto;
	width: 1px;
	height: 1px;
	overflow: hidden;
	z-index: 10000;
}
.skip-link:focus{
	left: 16px;
	top: 16px;
	width: auto;
	height: auto;
	padding: 10px 12px;
	background: #ffffff;
	color: #000000;
	border-radius: 6px;
	box-shadow: 0 6px 18px rgba(0,0,0,0.2);
}

*{
	margin: 0px;
	padding: 0px;
	}
body{
	scroll-behavior: smooth;
}

.previ, .nexti{background: transparent; border: none; padding: 0;}
section{
	margin-top: 50px;
}




/* Lazy-loaded VP section images (replace CSS background downloads) */
.Taxiwerbung-Schimanski-02-img,
.Taxiwerbung-Schimanski-36-img{
	display: block;
	width: 100%;
	height: 700px;
	object-fit: cover;
	box-shadow: 2px 3px 15px rgba(0,0,0,0.4);
}
@media (max-width: 800px){
	.Taxiwerbung-Schimanski-02-img,
	.Taxiwerbung-Schimanski-36-img{
		height: 500px;
	}
}


/* Call-to-action background as lazy <img> (instead of CSS background-image) */
#calltoaction{
	position: relative;
	width: 100%;
	overflow: hidden;
	background-color: #000000;
}
#calltoaction picture{
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	display: block;
}
#calltoaction .cta-bg{
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}
#calltoaction .cta-overlay{
	position: relative;
	z-index: 1;
}

/* Desktop hero media: full JPG on desktop for maximum quality, responsive WebP on mobile */
@media (min-width: 801px){
	.tw-hero-media{
		display: block;
		width: 100%;
		line-height: 0;
		overflow: hidden;
		background: #000000;
	}
	.tw-hero-media picture,
	.tw-hero-media img,
	.tw-hero-media-img{
		display: block;
		width: 100%;
	}
	.tw-hero-media-img{
		height: clamp(560px, 36vw, 800px);
		object-fit: cover;
	}
	#carousel-image-1 .tw-hero-media-img{
		object-position: 50% 60%;
	}
	#carousel-image-2 .tw-hero-media-img{
		object-position: center center;
	}
	#carousel-image-3 .tw-hero-media-img{
		object-position: center bottom;
	}
}

#mobile-carousel-image-1{
	width: 100%;
	z-index: 10;
}
#mobile-carousel-image-2{
	width: 100%;
	z-index: 5;
	
}
#mobile-carousel-image-3{
	width: 100%;

	
	
}

#carouselExampleInterval .carousel-item img.img-fluid{
  margin-top: var(--tw-header-offset) !important;
}

.underlineBlue {
	border-bottom: 2px solid #e30613;
	padding-bottom: 5px;
	margin: 15px 0px;
	transition: 1s;
		
}
.underlineBlue:hover {
	border-bottom: 2px solid #e30613;
	padding-bottom: 5px;
	margin: 15px 0px;
	transition: 1s;
	
}

.sidenav {
	height: 100%;
	width: 0;
	position: fixed;
	z-index: 12;
	top: 0;
	left: 0;
	opacity: 0.9;
	overflow-x: hidden;
	transition: 0.5s;
	padding-top: 60px;
	text-align: left;
	
}

.sidenav a {
	padding: 8px 8px 8px 32px;
	text-decoration: none;
	font-size: 25pt;
	color: white;
	display: block;
	transition: 0.3s;
	margin-left: 0%;
	
}
.sidenav a:first-child{
	margin-top: 100px;
}
.sidenav a:hover{
	color: #e30613;
	text-decoration-color: #e30613;
	transition: 1s;
}

.sidenav .closebtn {
	position: absolute;
	top: 0;
	right: 25px;
	font-size: 36px;
	margin-left: 50px;
}
.containerPointer {
	display: inline-block;
	cursor: pointer;
	position: fixed;
	z-index: 12;
	margin: 10px;

}
.bar1, .bar2, .bar3 {
		  width: 40px;
		  height: 4px;
		  background-color: #e30613;
		  margin: 8px 0px;
		  transition: 0.4s;
		}
	
.change .bar1 {
  -webkit-transform: rotate(-45deg) translate(-9px, 6px);
  transform: rotate(-45deg) translate(-9px, 6px);
}

.change .bar2 {opacity: 0;}

.change .bar3 {
  -webkit-transform: rotate(45deg) translate(-9px, -9px);
  transform: rotate(45deg) translate(-9px, -9px);
}
.card {
	border: none;
}

.card-title {
	padding: 3px
}
.card-text {
	margin-left: 5px;
}
.mobile-card {
	height: auto;
	min-height: 150px;
	padding: 18px 0 24px;
}

.underlineYellow {
	border-bottom: 4px solid #e30613;
	padding-bottom: 5px;
	margin: 15px 0px;
}
footer {
	width: 100%;
	
	/*background-color: #000000; */
	padding-top: 50px;
	min-height: 400px;
}

a {
	color: inherit;
	text-decoration: none;
}
footer p a:hover{
	color: #e30613;
	transition: 0.5s;
	text-decoration:overline;
}
footer a:hover{
	color: #e30613;
	transition: 0.5s;
}
#logoHeader {
	position: fixed;
	z-index: 12;
	right: 0;

	
}
#topList {
	position: fixed;
	width: 100%;
	opacity: 0.95;
	z-index: 11;
	filter: drop-shadow(rgba(10, 20, 20, 0.15) 0.5px 1px 1px) drop-shadow(rgba(10, 20, 20, 0.15) 1px 2px 2px) drop-shadow(rgba(10, 20, 20, 0.15) 2px 4px 4px) drop-shadow(rgba(10, 20, 20, 0.15) 4px 8px 8px) drop-shadow(rgba(10, 20, 20, 0.15) 8px 16px 16px);
}

#map {
	height: 70vh;
	width: 100%;
}


@media screen and (min-width: 801px){
	.skyline{
		margin-top: -150px;
	}
	.card-img-overlay{
		color: white; 
		height: 100%; 
		width: 430px; 
		margin-left: 8%;
		opacity: 0.85;
	}
	.mobile{
		display: none;
	}
	.display{
		display: block;
	}
	.vp-img {
		min-height: 700px;
		width: 100%;
		background-image: url("img/Taxiwerbung-Schimanski-02.jpg");
		background-position: center;
		background-size: cover;
		filter: drop-shadow(rgba(10, 20, 20, 0.15) 0.5px 1px 1px) drop-shadow(rgba(10, 20, 20, 0.15) 1px 2px 2px) drop-shadow(rgba(10, 20, 20, 0.15) 2px 4px 4px) drop-shadow(rgba(10, 20, 20, 0.15) 4px 8px 8px) drop-shadow(rgba(10, 20, 20, 0.15)  0.5px 0.5px 0.1px);
	}
	.vp-img-2 {
		min-height: 700px;
		width: 100%;
		background-image: url("img/Taxiwerbung-Schimanski-36.jpg");
		background-position: center left;
		background-size: cover;
		filter: drop-shadow(rgba(10, 20, 20, 0.15) 0.5px 0.5px 0.1px) drop-shadow(rgba(10, 20, 20, 0.15) 1px 2px 2px) drop-shadow(rgba(10, 20, 20, 0.15) 2px 4px 4px) drop-shadow(rgba(10, 20, 20, 0.15) 4px 8px 8px) drop-shadow(rgba(10, 20, 20, 0.15)  0.5px 0.5px 0.1px);
	}

	.flex-container {
		display: flex;
	}
	
	.flex-container > div{
		width: 100%;
	}
	
	#logoHeader {
		position: fixed;
		z-index: 12;
		right: 0;
		margin: 2px;
	}
	
	/* Referenz Carousel */
	#carouselWithPreviewAndBlur{
			display: flex ;
			justify-content: center;
			align-items: center;
			width: 100%;
			grid-gap: 55px;
			
		}
		#carousel{
			overflow: hidden;
			padding: 50px 0px;
			
		}
		.carousel-items {
		  display: inline-block;
		  width: 100%;
		  transition: transform 0.5s ease;
		}

		#carouselItemMiddle {
		  transform: translateX(0);
			 transition: 1s;
		}

		#carouselItemLeft {
		  transform: translateX(-5%);
			 transition: translateX 1s;
		}


	#carouselItemRight {
		  transform: translateX(5%);
		  transition: 1s;	
		}
	
		#blurLeft{
			width: 500px;
			flex-shrink: 1;
			z-index: 2;
		 	
			
		}
		#blurRight{
			width: 500px;
			flex-shrink: 1;
			 
		
		}
		#active{
			width: 700px;
			flex-shrink: 1;
			transition: 1s;			
		}
			.previ, .nexti {
			cursor: pointer;
			position: absolute;
			width: auto;
			padding: 16px;
			color: black;
			font-size: 42px;
			transition: 0.6s ease;
			border-radius: 0 3px 3px 0;
			user-select: none;
			
			-webkit-text-fill-color: transparent;
		  	-webkit-text-stroke: 1px;
				z-index: 12;
		}

		/* Position the "next button" to the right */
		.nexti {
			right: 0;
			border-radius: 3px 0 0 3px;

			}
		.previ {
			left: 0;
			border-radius: 3px 0 0 3px;
		
			}
		/* On hover, add a black background color with a little bit see-through */
		.previ:hover, .nexti:hover {
			-webkit-text-fill-color: black;
			transition: 5s ease;
		  
			}
	
/* Referenz Carousel Ende*/
	.toplisttext{
		text-align: center;
	}
}

@media only screen and (max-width: 800px){
	
	.skyline{
		margin-top: -2
			0px;
	}
	.toplisttext{
text-align: center}
	.ks-header{
		margin-top: -150px;
		color: white;
	}
	#logoHeader {
		position: fixed;
		z-index: 12;
		right: 0;
		margin: 1px;
	}
	.mobile{
		display: block;
	}
	.display{
		display: none;
	}

	.vp-img-2 {
		min-height: 500px;
		width: 100%;
		background-image: url("img/Taxiwerbung-Schimanski-02.jpg");
		background-position: center;
		background-size: cover;
	}
	.vp-img-3 {
		min-height: 500px;
		width: 100%;
		background-image: url("img/Taxiwerbung-Schimanski-36.jpg");
		background-position: center;
		background-size: cover;
		
	}
	.flex-container {
		display: block;
	}
	.flex-container > div{
		width: 100%;
	}
	
	#active{
			width: 100%;
			height: auto;
		
			
		}
			
			#blurLeft, #blurRight{
				display: none;
			}
		.previ, .nexti {
			cursor: pointer;
			position: absolute;
			width: auto;
	
			color: white;
			font-size: 42px;
			transition: 0.6s ease;
			border-radius: 0 3px 3px 0;
			user-select: none;
			
			-webkit-text-fill-color: black;
		  	-webkit-text-stroke: 0.5px;
		}
			/* Position the "next button" to the right */
		.nexti {
			right: 0;
			border-radius: 3px 0 0 3px;
			transform: translateY(140%);
			font-weight: 800;
			color: black;
			}
		.previ {
			left: 0;
			border-radius: 3px 0 0 3px;
			transform: translateY(140%);
			font-weight: 800;
			color: black;
			}
	
}

.bgcarousel2 {
	color: white;
	z-index: 4;
}

.bgcarousel1 {
	color: white;
}

.bgcarousel3 {
color: white
}

.row>div{
	margin-bottom: 7px;
}


#btncta {
	
	color: white;
	width: 300px;
	border-radius: 25px;
	box-shadow: 2px 2px 40px 10px black;
	padding-top: 12px;	
	text-align: center;
}



.carousel-inner {
	max-height: 80vh;
	
}

.dc-jumbo-img {
	height: 800px;
	width: 100%;
	
}

    .image-container {
      display: flex;
      flex-wrap: wrap;
      justify-content: center;
    }

    .image-container .image {
      display: none;
      width: 30%;
      padding: 5px;
      opacity: 0;
      transition: opacity 0.3s ease-in-out;
    }

    .image-container .image.visible {
      display: block;
      opacity: 1;
    }

    .button-container {
      display: flex;
      justify-content: center;
      margin-bottom: 20px;
    }

    .button-container button {
      margin: 0 10px;
      padding: 10px 20px;
      font-size: 16px;
      border: none;
      border-radius: 4px;
      background-color: #e30613;
      color: #fff;
      cursor: pointer;
      transition: background-color 0.3s ease-in-out;
    }

    .button-container button:hover {
      background-color: #b3000f;
    }


/* SEO-Struktur: Fließtext statt H2-Absätzen (optisch wie zuvor) */
.seo-copy{
  font-size: 1.25rem;
  font-weight: 400;
  line-height: 1.4;
  margin-top: 0.5rem;
}


/* Desktop Carousel Text: saubere Struktur + volle Headline */
@media (min-width: 992px){
  #carouselExampleCaptions .card-title{
    line-height: 1.12;
    margin-bottom: 10px;
    word-break: normal;
    hyphens: auto;
  }
  #carouselExampleCaptions .carousel-label{
    display:block;
    font-weight: 700;
    margin-top: 10px;
    margin-bottom: 2px;
  }
  #carouselExampleCaptions .carousel-lines{
    display:block;
  }
  #carouselExampleCaptions .carousel-list{
    display:block;
  }
}


/* Desktop Carousel: Labels als Zeilenkopf + mehr Platz für Titel */
@media (min-width: 992px){
  #carouselExampleCaptions .card-title{
    line-height: 1.12;
    margin-bottom: 10px;
  }
  #carouselExampleCaptions .carousel-label{
    display:block;
    font-weight:700;
    margin-top:10px;
    margin-bottom:2px;
  }
}

@media (min-width: 992px){
  .carousel-inner{ max-height: none; }
}


/* Desktop-Carousel: robuste Textstruktur (Zeilenumbrüche + Labels) */
@media (min-width: 992px){
  #carouselExampleCaptions .card-title{
    white-space: normal;
    line-height: 1.12;
    margin-bottom: 12px;
  }
  #carouselExampleCaptions .carousel-title-line{
    display:block;
  }
  #carouselExampleCaptions .card-text{
    line-height: 1.45;
  }
  #carouselExampleCaptions .carousel-paragraph{
    display:block;
    margin-bottom: 12px;
  }
  #carouselExampleCaptions .carousel-label{
    display:block;
    font-weight:700;
    margin-top: 6px;
    margin-bottom: 4px;
  }
  #carouselExampleCaptions .carousel-value{
    display:block;
    margin-bottom: 12px;
  }
  #carouselExampleCaptions .carousel-list{
    display:block;
    margin-bottom: 4px;
  }
  /* keine Höhenbegrenzung auf Desktop, damit Text nicht abgeschnitten wird */
  .carousel-inner{ max-height: none; }
}


/* Desktop Carousel: Titelzeilen ohne unnötigen Zwischenraum */
@media (min-width: 992px){
  #carouselExampleCaptions .card-title{
    line-height: 1.08;
    margin-bottom: 12px;
  }
  #carouselExampleCaptions .carousel-title-line{
    display:block;
    margin: 0;
    padding: 0;
  }
}

/* =========================================================
   Responsive Header (Burger-Menü mobil) – Taxi-Werbung
   - Logo + Slogan bleiben im Header
   - Mobil: Burger / Offcanvas
   - Desktop: Kontakt + (optional) FAQ sichtbar
   ========================================================= */

#topList.tw-header{
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  height: var(--tw-header-height);
  background-color: rgba(255,255,255,.97);
  opacity: 1;
  z-index: 1030;
  border-bottom: 1px solid rgba(0,0,0,.08);
  box-shadow: 0 10px 28px rgba(0,0,0,.10);
  backdrop-filter: blur(8px);
}

#topList.tw-header .tw-header-inner{
  height: var(--tw-header-height);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
}

#topList.tw-header .tw-left,
#topList.tw-header .tw-right{
  display: flex;
  align-items: center;
  gap: 12px;
  flex: 0 0 auto;
}

#topList.tw-header .tw-slogan{
  color: #000000;
  min-width: 0;
  flex: 1 1 auto;
  text-align: center;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  font-size: 1.05rem;
  letter-spacing: .01em;
}

#topList.tw-header .tw-logo-link{
  display: inline-flex;
  align-items: center;
  padding-left: 4px;
}

#topList.tw-header .tw-logo{
  height: var(--tw-logo-height);
  width: auto;
  display: block;
}

#topList.tw-header .navbar-toggler{
  border-color: rgba(0,0,0,.16);
  padding: .45rem .55rem;
}

#topList.tw-header .navbar-toggler:focus{
  box-shadow: 0 0 0 .22rem rgba(227,6,19,.15);
}

#topList.tw-header .navbar-toggler-icon{
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%280, 0, 0, 0.88%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2.2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");
}

#topList.tw-header .tw-header-btn{
  color: #000000;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 46px;
  padding: .65rem 1rem;
  border: 1px solid rgba(0,0,0,0.16);
  border-radius: 999px;
  text-decoration: none;
  line-height: 1;
  font-size: .93rem;
  font-weight: 600;
  transition: background-color .2s ease, border-color .2s ease, color .2s ease, transform .2s ease, box-shadow .2s ease;
  box-shadow: 0 4px 14px rgba(0,0,0,.05);
}

#topList.tw-header .tw-nav-btn{
  background: rgba(255,255,255,.94);
}

#topList.tw-header .tw-contact-btn{
  background: var(--btw-red);
  border-color: var(--btw-red);
  box-shadow: 0 8px 18px rgba(227,6,19,.24);
}

#topList.tw-header .tw-contact-btn:hover{
  background: var(--btw-red-dark);
  border-color: var(--btw-red-dark);
  color: #FFFFFF;
  transform: translateY(-1px);
}

#topList.tw-header .tw-nav-btn:hover{
  background: var(--btw-red);
  border-color: var(--btw-red);
  color: #FFFFFF;
  transform: translateY(-1px);
}

#topList.tw-header .tw-header-btn:focus-visible{
  outline: 2px solid rgba(227,6,19,.28);
  outline-offset: 2px;
}

.tw-mobile-only{ display: none !important; }
.tw-desktop-only{ display: inline-flex !important; }

@media (max-width: 991px){
  .tw-desktop-only{ display: none !important; }
  .tw-mobile-only{ display: inline-flex !important; }

  #topList.tw-header .tw-slogan{
    text-align: left;
    font-size: 0.95rem;
  }

  #topList.tw-header .tw-logo{
    height: var(--tw-logo-height-mobile);
  }
}

@media (min-width: 992px) and (max-width: 1199px){
  #topList.tw-header .tw-header-inner{
    gap: 12px;
  }

  #topList.tw-header .tw-left,
  #topList.tw-header .tw-right{
    gap: 8px;
  }

  #topList.tw-header .tw-header-btn{
    padding: .58rem .8rem;
    font-size: .86rem;
  }

  #topList.tw-header .tw-slogan{
    font-size: .97rem;
  }
}

/* Offcanvas Menü (mobil) */
.tw-offcanvas{
  background-color: #FFFFFF;
  color: #000000;
  border-right: 1px solid rgba(0,0,0,.08);
}

.tw-offcanvas .offcanvas-header{
  border-bottom: 1px solid rgba(0,0,0,.08);
}

.tw-offcanvas .btn-close{
  filter: none;
}

.tw-offcanvas .nav-link{
  color: #000000;
  padding: .75rem 0;
}

.tw-offcanvas .nav-link:hover{
  color: #ffd4d7;
}


/* ===========================
   Städte: "Weitere Städte anzeigen" Toggle
   (ohne JavaScript, via <details>/<summary>)
   =========================== */
.cities-details {
  margin-top: 0.75rem;
}

.cities-details summary {
  list-style: none;
  cursor: pointer;
}

/* Hide default marker (Chrome/Safari) */
.cities-details summary::-webkit-details-marker {
  display: none;
}

/* Make summary look/behave like a full-width button */
.cities-details summary.btn {
  display: flex;
  align-items: center;
  justify-content: space-between;
}

/* Arrow indicator */
.cities-details summary.btn::after {
  content: "▾";
  font-size: 0.9em;
  opacity: 0.75;
}

.cities-details[open] summary.btn::after {
  content: "▴";
}


/* === References / Campaign highlights === */

.tw-ref-card{
  border-radius: 14px;
  overflow: hidden;
  border: 1px solid rgba(0,0,0,.08);
}
.tw-ref-media{ cursor: pointer; }
.tw-ref-img{
  width: 100%;
  height: auto;
  display: block;
  aspect-ratio: 3 / 2;
  object-fit: cover;
}
.tw-ref-meta{
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.tw-badge-featured{ font-size: .72rem; }

/* Lightbox */
.tw-lightbox{
  position: fixed;
  inset: 0;
  background: rgba(0,0,0,.72);
  display: none;
  align-items: center;
  justify-content: center;
  z-index: 100000;
  padding: 18px;
}
.tw-lightbox.open{ display: flex; }
.tw-lightbox-inner{
  position: relative;
  max-width: 1100px;
  width: 100%;
}
.tw-lightbox-img{
  width: 100%;
  max-height: 82vh;
  object-fit: contain;
  border-radius: 12px;
  background: #111;
}
.tw-lightbox-close{
  position: absolute;
  top: -14px;
  right: -10px;
  width: 42px;
  height: 42px;
  border-radius: 50%;
  border: 0;
  background: rgba(255,255,255,.92);
  font-size: 26px;
  line-height: 42px;
  cursor: pointer;
}
.tw-lightbox-caption{
  color: #fff;
  font-size: 14px;
  margin-top: 10px;
  opacity: .95;
}
/* Event hero images */
.event-hero-shell{
	margin-top: var(--tw-header-offset);
	background: #FFFFFF;
}
.event-hero-desktop{
	position: relative;
	height: clamp(360px, 31vw, 620px);
	background: #000000;
	overflow: hidden;
}
.event-hero-desktop picture,
.event-hero-desktop img{
	display: block;
	width: 100%;
	height: 100%;
}
.event-hero-desktop img{
	object-fit: cover;
	object-position: center center;
}
.event-hero-desktop::before{
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(90deg, rgba(0,0,0,.66) 0%, rgba(0,0,0,.36) 38%, rgba(0,0,0,.06) 72%, rgba(0,0,0,0) 100%);
}
.event-hero-desktop .container{
	position: absolute;
	inset: 0;
	z-index: 2;
	display: flex;
	align-items: end;
}
.event-hero-overlay{
	max-width: 680px;
	padding: 0 0 34px 0;
	color: #FFFFFF;
}
.event-hero-eyebrow{
	display: inline-block;
	padding: 6px 12px;
	margin-bottom: 14px;
	border-radius: 999px;
	background: rgba(230, 0, 0, .92);
	font-weight: 700;
	font-size: 14px;
	letter-spacing: .04em;
	text-transform: uppercase;
}
.event-hero-title{
	font-size: clamp(26px, 3vw, 46px);
	font-weight: 700;
	line-height: 1.05;
	margin: 0;
}
.event-hero-meta{
	margin: 10px 0 0;
	font-size: clamp(15px, 1.4vw, 22px);
}
.event-hero-mobile{
	background: #FFFFFF;
}
.event-hero-mobile picture,
.event-hero-mobile img{
	display: block;
	width: 100%;
	height: auto;
}
.event-hero-mobile-caption{
	padding: 16px 0 2px;
	color: #000000;
}
.event-package-card ul{
	padding-left: 18px;
}
.event-package-card li{
	margin-bottom: 8px;
}
@media (max-width: 767.98px){
	.event-hero-shell{
		margin-top: var(--tw-header-offset);
	}
}


/* === Berliner Taxiwerbung Theme Overrides === */
:root{
  --btw-red:#e30613;
  --btw-red-dark:#b3000f;
  --btw-black:#000000;
  --btw-white:#ffffff;
  --tw-header-height:105px;
  --tw-header-offset:120px;
  --tw-logo-height:84px;
  --tw-logo-height-mobile:74px;
}
body{
  background-color: var(--btw-white);
  color: var(--btw-black);
}
#cookieConsent{
  background-color: var(--btw-black) !important;
  color: var(--btw-white) !important;
  border: 2px solid var(--btw-red);
  box-shadow: 0 16px 38px rgba(0,0,0,.28);
}
#cookieConsent button{
  background-color: var(--btw-red) !important;
  color: var(--btw-white) !important;
}
#cookieConsent button.accept{
  background-color: var(--btw-white) !important;
  color: var(--btw-black) !important;
  border: 2px solid var(--btw-red) !important;
}
#cookieConsent button.accept:hover{
  background-color: var(--btw-red) !important;
  color: var(--btw-white) !important;
}
.underlineBlue,
.underlineYellow{
  border-bottom-color: var(--btw-red) !important;
}
.underlineBlue:hover{
  border-bottom-color: var(--btw-black) !important;
}
footer{
  background-color: var(--btw-white) !important;
  color: var(--btw-black) !important;
  border-top: 1px solid rgba(0,0,0,.08);
  box-shadow: 0 -8px 24px rgba(0,0,0,.04);
}
footer p a:hover,
footer a:hover,
.tw-offcanvas .nav-link:hover,
.sidenav a:hover{
  color: var(--btw-red) !important;
  text-decoration-color: var(--btw-red) !important;
}
.bar1, .bar2, .bar3{
  background-color: var(--btw-red) !important;
}
#topList.tw-header,
.tw-offcanvas,
.sidenav{
  background-color: var(--btw-white) !important;
}
#topList.tw-header .tw-slogan,
.tw-offcanvas,
.tw-offcanvas .nav-link,
.sidenav a,
.sidenav .closebtn{
  color: var(--btw-black) !important;
}
#topList.tw-header .tw-nav-btn:hover{
  border-color: var(--btw-red) !important;
}
#topList.tw-header .tw-contact-btn{
  color: var(--btw-white) !important;
}
#topList.tw-header .tw-contact-btn:hover{
  border-color: var(--btw-red-dark) !important;
}
#topList.tw-header .tw-nav-btn{
  color: var(--btw-black) !important;
  border-color: rgba(0,0,0,.16) !important;
}
#topList.tw-header .tw-nav-btn:hover{
  color: var(--btw-white) !important;
}
#topList.tw-header .tw-logo{
  filter: drop-shadow(0 4px 12px rgba(0,0,0,.08));
}
#topList.tw-header .tw-header-btn img{
  filter: grayscale(1) brightness(8);
}
.bgcarousel1,
.bgcarousel2,
.bgcarousel3{
  background-color: var(--btw-black) !important;
  color: var(--btw-white) !important;
}
.btn-primary,
.btn-danger,
.btn-warning,
.button-container button{
  background-color: var(--btw-red) !important;
  border-color: var(--btw-red) !important;
  color: var(--btw-white) !important;
}
.btn-primary:hover,
.btn-danger:hover,
.btn-warning:hover,
.button-container button:hover{
  background-color: var(--btw-black) !important;
  border-color: var(--btw-black) !important;
  color: var(--btw-white) !important;
}
.btn-outline-dark{
  color: var(--btw-black) !important;
  border-color: var(--btw-black) !important;
}
.btn-outline-dark:hover{
  background-color: var(--btw-red) !important;
  border-color: var(--btw-red) !important;
  color: var(--btw-white) !important;
}
.btn-outline-light:hover{
  background-color: var(--btw-red) !important;
  border-color: var(--btw-red) !important;
  color: var(--btw-white) !important;
}
.text-bg-primary,
.badge.text-bg-primary{
  background-color: var(--btw-red) !important;
}
#carouselExampleCaptions .card-img-overlay{
  background-color: rgba(0,0,0,.84) !important;
  color: var(--btw-white) !important;
  border-left: 6px solid var(--btw-red);
  border-radius: 0 0 20px 20px;
}
#carouselExampleCaptions .card-title,
#carouselExampleCaptions .card-text{
  text-shadow: 0 2px 12px rgba(0,0,0,.22);
}
.carousel-indicators [data-bs-target]{
  background-color: var(--btw-white);
  opacity: .55;
}
.carousel-indicators .active{
  background-color: var(--btw-red);
  opacity: 1;
}
.carousel-control-prev,
.carousel-control-next{
  width: 7%;
}
.carousel-control-prev-icon,
.carousel-control-next-icon{
  background-color: rgba(0,0,0,.42);
  border-radius: 999px;
  padding: 18px;
  background-size: 55% 55%;
}
.accordion-button:not(.collapsed){
  background-color: var(--btw-black);
  color: var(--btw-white);
}
.accordion-button:focus,
.form-control:focus,
.form-select:focus{
  border-color: var(--btw-red);
  box-shadow: 0 0 0 .25rem rgba(227,6,19,.15);
}
.event-hero-eyebrow{
  background: rgba(227,6,19,.95);
}
.event-package-card,
.tw-ref-card,
.accordion-item,
.card,
.border.rounded{
  border-color: rgba(0,0,0,.12) !important;
}
@media (max-width: 800px){
  .mobile-card{
    min-height: 165px;
    padding-bottom: 22px;
  }
  .carousel-control-prev,
  .carousel-control-next{
    width: 13%;
  }
}

#formate{
  scroll-margin-top: calc(var(--tw-header-offset) + 12px);
}


/* === Campaign path / landing support === */
#kampagnenauswahl{
  scroll-margin-top: calc(var(--tw-header-offset) + 12px);
}
.tw-pathway{
  background: #f4f4f4;
  border: 1px solid rgba(0,0,0,.06);
  border-radius: 22px;
  padding: 28px;
  box-shadow: 0 16px 36px rgba(0,0,0,.06);
}
.tw-pathway-grid{
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 24px;
}
.tw-choice-card{
  background: #FFFFFF;
  border: 1px solid rgba(0,0,0,.08);
  border-radius: 18px;
  box-shadow: 0 12px 28px rgba(0,0,0,.08);
}
.tw-choice-card .card-body{
  padding: 1.75rem;
}
.tw-choice-card .card-footer{
  background: transparent;
  border-top: 0;
  padding: 0 1.75rem 1.75rem;
}
.tw-choice-card h3{
  font-size: clamp(1.9rem, 2.6vw, 2.6rem);
  line-height: 1.15;
  margin-bottom: 1rem;
}
.tw-choice-card p{
  font-size: 1.06rem;
  color: #202020;
}
.tw-choice-meta{
  padding-left: 1.2rem;
  margin-bottom: 1rem;
}
.tw-choice-meta li{
  margin-bottom: .55rem;
}
.tw-info-grid{
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 16px;
}
.tw-kpi-card,
.tw-spotlight-card{
  background: #FFFFFF;
  border: 1px solid rgba(0,0,0,.08);
  border-radius: 18px;
  padding: 24px;
  box-shadow: 0 12px 28px rgba(0,0,0,.07);
}
.tw-spotlight-card{
  border-left: 5px solid var(--btw-red);
}
.tw-kpi-label{
  display: block;
  font-size: .82rem;
  letter-spacing: .05em;
  text-transform: uppercase;
  color: rgba(0,0,0,.62);
  margin-bottom: .45rem;
}
.tw-kpi-card strong{
  display: block;
  font-size: 1.05rem;
  line-height: 1.35;
}
@media (min-width: 1200px) and (max-width: 1450px){
  #topList.tw-header .tw-header-inner{
    gap: 10px;
  }
  #topList.tw-header .tw-right{
    gap: 6px;
  }
  #topList.tw-header .tw-header-btn{
    padding: .55rem .72rem;
    font-size: .82rem;
  }
  #topList.tw-header .tw-slogan{
    font-size: .92rem;
  }
}
@media (max-width: 991px){
  .tw-pathway{
    padding: 22px;
  }
  .tw-pathway-grid,
  .tw-info-grid{
    grid-template-columns: 1fr;
  }
}
