/*
	Theme Name: Teeverband 2026
	Theme URI: https://www.karriereaufguss.de/
	Description: Teeverband 2026 Theme
	Version: 1.0
	Author: Christoph Karnebogen, Mirco Hueneke
	Author URI: http://www.diewildengestalten.de
*/

/* ------------------- WEBFONT IMPORT (Adobe Fonts Teeverband) ------------------- */
@import url("https://use.typekit.net/evx8sxp.css");


/*
	font-family: "afronaut", sans-serif;
	font-weight: 400;
	font-style: normal;

	AQUAVIT REGULAR
	font-family: "aquavit", sans-serif;
	font-weight: 400;
	font-style: normal;

	AQUAVIT MEDIUM
	font-family: "aquavit", sans-serif;
	font-weight: 500;
	font-style: normal;

	AQUAVIT BOLD
	font-family: "aquavit", sans-serif;
	font-weight: 700;
	font-style: normal;

	FELT TOP WOMAN REGULAR
	font-family: "felt-tip-woman", sans-serif;
	font-weight: 400;
	font-style: normal;

	FELT TOP WOMAN BOLD
	font-family: "felt-tip-woman", sans-serif;
	font-weight: 700;
	font-style: normal;
*/





/* ------------------- VARIABLES ------------------- */
/* fuer IE extra script css-vars.js laden */
:root {
	--lightpurple: #9c82d1;
	
	--darkblue: #28468d;
	--lightblue: #0054ff;
	
	--lightgreen: #75fb7d;
	--green: #7db448;
	
	--container-size: 1140px;
}



/* ------------------- BASIC ------------------- */

body{
	font-family: "aquavit", sans-serif;
	font-weight: 400;
	font-style: normal;
	background-color: #7db448;
	font-size: 20px;
	transition: none;
	color: white;
}

.body-wrap {
	overflow-x: hidden;
}

::focus {
    outline: 0 !important;
}

.effect, a{
	-webkit-transition: all 0.3s ease-in-out;
	-moz-transition: all 0.3s ease-in-out;
	-ms-transition: all 0.3s ease-in-out;
	-o-transition: all 0.3s ease-in-out;
	transition: all 0.3s ease-in-out;
}

p {
    line-height: 1.75;
}

p:last-child{
	margin-bottom: 0;
}

a {
	color: inherit;
}

a:hover {
	color: inherit;
}





/* -------------------- COLORS -------------------- */

.bg-lightpurple { --bg: var(--lightpurple); }
.bg-lightblue { --bg: var(--lightblue); }
.bg-lightgreen { --bg: var(--lightgreen); }
.bg-green { --bg: var(--green); }

.black{ color: black; }






/* --------------- HEADINGS AND TXT --------------- */

h1, h2{
	font-family: "felt-tip-woman", sans-serif;
	font-weight: 400;
	font-style: normal;
	font-size: 58px;
	color: white;
	line-height: 0.8;
	
  /* Silbentrennung */
  -webkit-hyphens: auto; /* Safari / iOS Safari */
  -ms-hyphens: auto;     /* altes Edge/IE (falls relevant) */
  hyphens: auto;         /* moderne Browser */

  /* Fallbacks gegen Overflow */
  overflow-wrap: break-word; /* Standard-Fallback */
  word-wrap: break-word;     /* legacy Alias */

}

#lay-teaser h2{
	font-family: "afronaut", sans-serif;
	font-weight: 400;
	font-style: normal;	
	font-size: 97px;
	color: var(--lightblue);
	line-height: 0.85;
	position: relative;
	margin-top: 150px;
	z-index: 0;
}

#lay-teaser h2:after {
    display: block;
    position: absolute;
    bottom: 0;
    left: -5px;
    content: "";
    width: 190px;
    height: 65px;
    background-color: var(--lightgreen);
    border-radius: 20px;
    z-index: -1;
    transform: rotate(-5deg);
}

#lay-cta h2{
	font-family: "afronaut", sans-serif;
	font-weight: 400;
	font-style: normal;	
	font-size: 97px;
	line-height: 0.85;
	color: var(--lightblue);
	position: relative;
	margin-bottom: 75px;
	z-index: 0;
}

#lay-teaser h3{
	font-family: "felt-tip-woman", sans-serif;
	font-weight: 700;
	font-style: normal;
	font-size: 60px;
}
	




/* ------------------- NAVIGATION ------------------- */

nav{
	display: flex;
	justify-content: center;
	align-items: center;
}

nav ul{
	padding-left: 0;
	margin-bottom: 0;
}

nav ul li{
    display: inline-block;
    list-style: none;
    margin: 0 18px 0 0;
}

nav ul li a{
    background-color: var(--lightgreen);
	font-size: 15px;
	padding: 10px 20px;
	border-radius: 100px;
}

nav ul li a:hover {
    text-decoration: none;
    padding: 10px 25px;
}

#lay-teaser .hero-content nav{
	margin-top: auto;
	height: 150px;
}

.nav-highlight{
	font-family: "afronaut", sans-serif;
	font-weight: 400;
	font-style: normal;
	font-size: 28px;
	color: var(--lightgreen);
}









/* ----------------- FOOTER ----------------- */

footer{
	padding-top: 40px;
	padding-bottom: 30px;
	background-color: white;
	font-size: 16px;
	color: black;
}

.footer-wrap {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  padding: 0 40px;
}

.footer-left {
	justify-self: end;
}

.footer-center {
	padding: 0 50px;
}

.footer-right {
	text-align: left;
}

footer span {
	opacity: 0.5;
}

.law {
	opacity: 0.5;
	border-bottom: 1px solid black;
	padding-bottom: 0;
	margin-right: 15px;
}

.law:hover{
	opacity: 1;
	text-decoration: none;
	border-bottom: 1px solid black;
}




/* ----------------- CAROUSEL ----------------- */


.carousel-indicators button {
  opacity: 1;
}

.carousel-indicators .active {
  background-color: #0d6efd;
  color: #fff;
}

.carousel-indicators button:not(.active) {
  background-color: transparent;
  border: 1px solid #0d6efd;
  color: #0d6efd;
}

.carousel-control-next, .carousel-control-prev {
	background: none;
    border: 0;
}

.carousel-control-next-icon, .carousel-control-prev-icon {
	width: 30px;
    height: 30px;
}



/* ----------------- FORMULAR ----------------- */

/* Form als Reihe (2 Pills + Button) */
.plz-radius-search__form {
    display: flex;
    align-items: center;
    gap: 22px;
    position: relative;
    margin-bottom: 100px;
}

/* Pill 1: PLZ + Radius (du hast den Wrapper schon) */
.plz-radius-search__form .pill-fields{
  display: flex;
  align-items: center;
  height: 55px;
  background: #fff;
  border-radius: 999px;
  overflow: visible;
  flex: 0 0 auto;
}

/* Input + Select in Pill 1 */
.plz-radius-search__form .pill-fields__input,
.plz-radius-search__form .pill-fields__select{
  height: 100%;
  border: 0;
  outline: none;
  background: transparent;
  font-family: inherit;     /* Aquavit kommt vom body */
  color: #86a6ff;
  padding: 0 18px;
}

.plz-radius-search__form .pill-fields__input::placeholder{
  color: #86a6ff;
  opacity: 1;
}

/* PLZ Input nimmt den restlichen Platz in Pill 1 */
.plz-radius-search__form .pill-fields__input{
  flex: 1 1 auto;
  min-width: 160px;
  padding-right: 10px;
}

/* Radius Select: nur so breit wie nötig (größte Option "100 km") */
.plz-radius-search__form .pill-fields__select{
  flex: 0 0 auto;
  width: calc(6ch + 54px);   /* 6ch ~ "100 km" */
  text-align: right;
  padding-left: 8px;
  padding-right: 44px;
  cursor: pointer;

  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;

  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='9' viewBox='0 0 14 9'%3E%3Cpath d='M1 1l6 6 6-6' fill='none' stroke='%2386a6ff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 16px center;
  background-size: 14px 9px;
}

/* Pill 2: Beruf-Select (ohne extra Wrapper) */
/* Wenn du die Klasse ergänzt hast, nimm .pill-select--beruf statt dem Selector hier */
.plz-radius-search__form select[name="beruf"]{
  height: 55px;
  flex: 1 1 auto;            /* soll breit werden */
  min-width: 260px;

  background: #fff;
  border-radius: 999px;
  border: 0;
  outline: none;

  font-family: inherit;
  color: #86a6ff;
  padding: 0 54px 0 22px;    /* Platz rechts für Pfeil */
  cursor: pointer;

  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;

  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='10' viewBox='0 0 16 10'%3E%3Cpath d='M1 1l7 7 7-7' fill='none' stroke='%2386a6ff' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 18px center;
  background-size: 16px 10px;
}

/* Submit Button rund + Lupe */
.plz-radius-search__form button[type="submit"] {
    width: 66px;
    height: 66px;
    border-radius: 999px;
    border: 0;
    cursor: pointer;
    background: var(--lightgreen);
    /* display: inline-grid; */
    place-items: center;
    padding: 0;
    font-size: 0;
    line-height: 0;
    display: flex;
    justify-content: center;
}

/* Lupe Icon */
.plz-radius-search__form button[type="submit"]::before{
  content: "";
  width: 30px;
  height: 30px;
  display: block;
  background: no-repeat center/contain url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='64' height='64' viewBox='0 0 64 64'%3E%3Cg fill='none' stroke='%230D3BFF' stroke-width='6' stroke-linecap='round'%3E%3Ccircle cx='28' cy='28' r='16'/%3E%3Cpath d='M40 40l14 14'/%3E%3C/g%3E%3C/svg%3E");
}

/* Optional: dezenter Fokus */
.plz-radius-search__form .pill-fields:focus-within,
.plz-radius-search__form select[name="beruf"]:focus{
  box-shadow: 0 0 0 2px rgba(134,166,255,0.25);
}
.plz-radius-search__form button[type="submit"]:focus-visible{
  outline: 3px solid rgba(13,59,255,0.35);
  outline-offset: 4px;
}

.jobs-bg{
    position: absolute;
    left: 50%;
    transform: translate(-50%, 0px);
    z-index: -1;
	
	fill: none;
	stroke: var(--darkblue);
	stroke-width: 2px;
}

.plz-radius-search{
	margin-top: 40px;
}

.no-result {
	text-align: center;
    font-size: 2vw;
    line-height: 1.25;
}

.pill-fields {
  display: flex;
  gap: 12px;
  align-items: flex-start;
}

.pill-fields__autocomplete-wrap {
  flex: 1 1 auto;
}

.pill-fields__input {
  width: 100%;
}

.plz-autocomplete {
  position: absolute;
  top: calc(100% + 6px);
  left: 0;
  right: 0;
  z-index: 100;
  background: #fff;
  border-radius: 20px;
  box-shadow: 0 10px 30px rgba(0,0,0,.08);
  overflow: visible;
  color: #86a6ff;
}

.plz-autocomplete__item {
  padding: 12px 14px;
  cursor: pointer;
  line-height: 1.3;
}

.plz-autocomplete__item:hover,
.plz-autocomplete__item.is-active {
}

.plz-autocomplete__main {
  font-weight: 200;
}











/* ----------------- ELEMENTS ----------------- */

.ds-im h1 {
    margin-bottom: 50px;
}

.ds-im h2 {
    margin-top: 50px;
    text-align: left;
    font-weight: 700;
    font-size: 22px;
    margin-bottom: 10px;
    font-family: "aquavit", sans-serif;
}

.ds-im h3 {
    margin-bottom: 10px;
    margin-top: 40px;
    text-align: left;
    font-weight: 700;
    font-size: 18px;
	line-height: 1.5;
    font-family: "aquavit", sans-serif;
}

.ds-im h4 {
    font-size: 16px;
    font-weight: 700;
    margin-bottom: 10px;
    margin-top: 30px;
    font-family: "aquavit", sans-serif;
}

.ds-im ul {
    padding-left: 15px;
}

.ds-im a {
	word-break: break-all;
	text-decoration: underline;
}

.ds-im .green-link {
	text-decoration: none;
}


#lay-teaser{
	padding: 0px 40px;
    position: relative;
    width: 100%;
    height: 100vh;
	overflow-x: hidden;
	color: black;
}

#lay-intro{
	padding: 150px 0;
	position: relative;
}

#lay-jobdescription{
	padding: 50px 0 50px 0;
	position: relative;
}

#lay-jobsearch{
	padding: 250px 0;
	position: relative;
}

#lay-news{
	padding: 100px 0 0 0;
}

#lay-cta{
	padding: 300px 0 150px 0;
	color: var(--lightblue);
	position: relative;
	z-index: 0;
	overflow: hidden;
	margin-bottom: -2px;
}

#lay-dsim{
	padding: 75px 0;
}

.divider {
    width: 105px;
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translate(-50%, 50%);
}

.job-description-wrap {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
	/* margin-right: calc( ( 100vw - var(--container-size) ) / 2 ); */
	margin-right: 150px;
}

#lay-teaser .hero-bg {
  position: absolute;
  height: 100%;
  z-index: 0;
  left: 50%;

  transform: translateX(-50%) translateY(var(--heroLift, 0px));
  will-change: transform;
  pointer-events: none;
  display: block;
}


#lay-teaser .container{
	position: relative;
	z-index: 1;
}

#lay-teaser .hero-content{
  height: 100vh;
  display: flex;
  flex-direction: column;
}

#lay-teaser .hero-headlines{
  flex: 1 1 auto;              /* nimmt den restlichen Platz */
  display: flex;
  flex-direction: column;
  justify-content: center;     /* vertikal zentriert */
  align-items: center;         /* horizontal zentriert */
  text-align: center;
}

.icon-cup{
	height: 100px;
	margin: 0 50px;
}

/* -------------------------------------------------
   DECK
------------------------------------------------- */
.deck{
  position: relative;
  display: grid;           /* dynamische Höhe */
  width: calc( 100% - 245px );
  overflow: visible;

  --peek: 84px;
  --stack: 88px;
  --overlap: 6px;
  --eps: 2px; 
  --radius: 22px;
  --underlap: calc(var(--radius) + 6px); /* muss >= Radius sein */
}

/* Radio-States unsichtbar */
.state{
  position:absolute;
  opacity:0;
  pointer-events:none;
}

/* -------------------------------------------------
   CARD
------------------------------------------------- */
.card{
  grid-area: 1 / 1;
  position: relative;

  /* links eckig, rechts rund */
  border-top-left-radius: 0;
  border-bottom-left-radius: 0;
  border-top-right-radius: var(--radius);
  border-bottom-right-radius: var(--radius);
	border: 0;

  /* Stapel-Logik */
  --step: calc(var(--stack) - var(--overlap));
  --stackOffset: calc(var(--i) * var(--step));

  transform: translate3d(var(--stackOffset), 0, 0);
  transition: transform .55s cubic-bezier(.2,.8,.2,1);

  z-index: var(--z);
}

/* Inhalt */
.card .content{
	padding: 15px;
	min-height: 100%;
	display: flex;
	margin-right: 80px;
}

.card .content img{
    width: 350px;
    border-radius: 15px;
    margin-right: 80px;
    object-fit: cover;
    height: 100%;
}

.card .content h2{
	margin-top: 70px;
	transform: translatex( -160px );
	margin-bottom: 70px;
}

.pill-list{
	padding-left: 0px;
	margin-bottom: 35px;
}

.pill-list li{
	background-color: white;
	display: inline-block;
	list-style: none;
	font-size: 20px;
	color: red;
	padding: 10px 30px;
	border-radius: 100px;
	margin-right: 15px;
	margin-bottom: 15px;
}

.c0 .pill-list li{ color: #6E4BC2!important; }
.c1 .pill-list li{ color: #0B53FF!important; }
.c2 .pill-list li{ color: #33D27B!important; }
.c3 .pill-list li{ color: #12D5D5!important; }

.check-item:before { 
  content: "✓";
  margin-right: 6px;
 } 


.green-link{
	background-color: var(--lightgreen);
	color: black;
	display: inline-block;
	margin-top: 40px;
	margin-bottom: 30px;
	font-size: 20px;
	padding: 10px 30px;
	border-radius: 100px;
	font-weight: 500;
}

.green-link:hover{
	text-decoration: none;
	color: black !important;
	padding: 10px 35px;
}

.green-link:after{
	content: '>';
	margin-left: 20px;
}

.back-link{
	background-color: white;
	color: black;
	display: inline-block;
	margin-top: 40px;
	margin-bottom: 30px;
	font-size: 20px;
	padding: 10px 30px;
	border-radius: 100px;
	font-weight: 500;
	opacity: 0.5;
	text-decoration: none!important;
}

.back-link:hover{
	text-decoration: none;
	color: black !important;
	padding: 10px 35px;
	opacity: 1;
}

.back-link:before{
	content: '<';
	margin-right: 20px;
}


/* Rechter Tab */
.card .tab{
	position:absolute;
	top:0;
	right:0;
	width: var(--peek);
	height:100%;

  display:flex;
  align-items:center;
    padding: 50px 10px 14px 10px;
  cursor:pointer;
  user-select:none;

	writing-mode: vertical-rl;
	text-orientation: mixed;
	color: white;
	font-family: "aquavit", sans-serif;
	font-weight: 400;
	font-style: normal;	
	font-size: 20px;
}

/* Unterliegende Karten füllen unter transparente Rundungen (links "weiterziehen") */
.c1::before,
.c2::before,
.c3::before{
  content:"";
  position:absolute;
  top:0;
  left: calc(-1 * var(--underlap));
  width: var(--underlap);
  height: 100%;
  background: inherit;     /* nimmt die Kartenfarbe (background) */
  pointer-events:none;
}

/* Farben (Demo) */
.c0{ background:#6E4BC2; }
.c1{ background:#0B53FF; }
.c2{ background:#33D27B; }
.c3{ background:#12D5D5; }

/* -------------------------------------------------
   SLIDE-LOGIK
------------------------------------------------- */

/* lvl1 → Karte 0 */
#lvl1:checked ~ .c0,
#lvl2:checked ~ .c0,
#lvl3:checked ~ .c0{
  transform: translate3d(
    calc(-100% + var(--peek) + (0 * var(--step)) - var(--eps)),
    0, 0
  );
}

/* lvl2 → Karte 0 + 1 */
#lvl2:checked ~ .c1,
#lvl3:checked ~ .c1{
  transform: translate3d(
    calc(-100% + var(--peek) + (1 * var(--step)) - var(--eps)),
    0, 0
  );
}

/* lvl3 → Karte 0 + 1 + 2 */
#lvl3:checked ~ .c2{
  transform: translate3d(
    calc(-100% + var(--peek) + (2 * var(--step)) - var(--eps)),
    0, 0
  );
}

/* Basis-Karte: NIE sliden */
.base{
  transform: translate3d(calc(3 * var(--step)), 0, 0);
}

#lay-cta p{
	font-family: "felt-tip-woman", sans-serif;
	font-weight: 700;
	font-style: normal;
	font-size: 58px;
	color: var(--lightblue);
    line-height: 1;
}

#lay-cta .text-svg{
    position: absolute;
    bottom: -10px;
	z-index: -1;
}

.text-svg{
	height: 400px;
}

#lay-news .text-svg{
    left: 18px;
	z-index: 5;
	position: relative;
}

.logo-teeverband{
	width: 150px;
}

#lay-cta a{
	display: block;
	transform: scale(1.) rotate(0deg);
}

#lay-cta a:hover{
	text-decoration: none;
	transform: scale(1.05) rotate(-3deg);
}

#lay-intro h1{
	margin-bottom: 75px;
	margin-top: 75px;
}

.col-5-like {
    width: calc(100% * 5 / 6); /* = 66.666% */
}

.col-4-like {
  width: calc(100% * 4 / 6); /* = 66.666% */
}

.rounded{
	border-radius: 20px !important;
}

.pull-up{
    margin-top: -25px;
    margin-bottom: 50px;
    position: relative;
    z-index: 5;
}

.intro-img-1-wrap{
	position: relative;
}

.intro-img-1-icon{
	display: none;
}

.intro-img-2 {
    margin-left: auto;
    display: block;
	margin-bottom: 150px;
}

.intro-img-2-wrap{
	position: relative;
}

.intro-img-2-quote {
    position: absolute;
    width: 335px;
    z-index: 1;
    right: 45px;
    top: -25px;
}

.intro-img-3-wrap{
	position: relative;
}

.intro-img-3-quote{
	position: absolute;
	width: 275px;
	z-index: 1;
    right: 130px;
    top: -40px;
}

.container-news{
	width: 100%;
	padding: 0 18px;
}

.masonry {
	position: relative;
	margin-top: -100px;
}

.masonry .m-item {
	position: absolute;
	width: var(--m-col-w);
}

.m-item{
	padding: 0 18px; 
}

.news-tile{
	background-color: white;
	color: black;
	margin-bottom: 36px;
	border-radius: 18px;
	overflow: hidden;
}

.m-item:first-child{
	margin-top: 70px;
}

.news-tile img{
    width: 100%;
}

.news-tile-content{
	padding: 40px;
	padding-top: 55px;
}

.news-tile span{
	color: var(--lightblue);
}

.news-tile-headline{
	color: var(--lightblue);
	background-color: var(--lightgreen);
	border-top-right-radius: 100px;
	border-bottom-right-radius: 100px;
	padding: 10px 40px;
	display: inline-block;
	margin-top: -25px;
	margin-right: 40px;
	z-index: 500;
    position: absolute;
}

.scroll-marquee {
    overflow: hidden;
    width: 100%;
    padding: 100px 0;
}

.scroll-marquee__track {
  display: flex;
  flex-wrap: nowrap;
  align-items: baseline;
  white-space: nowrap;
  will-change: transform;
  gap: 0;
}

.scroll-marquee__item {
    font-size: 97px;
    font-weight: 700;
    line-height: 0.8;
	font-family: "afronaut", sans-serif;
	font-weight: 400;
	font-style: normal;
	color: var(--lightblue);
    margin-right: 80px;
    flex: 0 0 auto;
}

#lay-intro h1{
	position: relative;
	z-index: 10;
}

#word-job {
    position: absolute;
    top: 115px;
    left: -15px;
    height: 400px;
    z-index: 1;
    fill: none;
    stroke: var(--lightgreen);
    stroke-width: 2px;
	opacity: 0.5;
}

.intro-word{
	position: absolute;
	bottom: 150px;
	right: 0;
	z-index: 0;
	height: 400px;	
	opacity: 0.5;
	fill: none;          /* keine Füllung */
	stroke: var(--lightgreen);         /* Konturfarbe */
	stroke-width: 2px;   /* Dicke der Kontur */
}

#word-hi{
	fill: none;          /* keine Füllung */
	stroke: var(--lightgreen);         /* Konturfarbe */
	stroke-width: 2px;   /* Dicke der Kontur */	
	opacity: 0.5;
}

.no-edit {
    width: 50%;
    min-height: 93px;
    pointer-events: none;
    opacity: 0.5;
}

.plz-result-title{
	font-family: "felt-tip-woman", sans-serif;
	font-weight: 400;
	font-style: normal;
	font-size: 58px;
	color: white;
	line-height: 0.8;
	margin-top: 0px;
	
  /* Silbentrennung */
  -webkit-hyphens: auto; /* Safari / iOS Safari */
  -ms-hyphens: auto;     /* altes Edge/IE (falls relevant) */
  hyphens: auto;         /* moderne Browser */

  /* Fallbacks gegen Overflow */
  overflow-wrap: break-word; /* Standard-Fallback */
  word-wrap: break-word;     /* legacy Alias */	
}

.plz-result-meta{
	font-weight: 700;
	margin-bottom: 50px;
	margin-top: 10px;
}

.plz-result .pill-list li {
	color: var(--lightblue);
}

.plz-result .pill-list {
	text-align: left;
	margin-top: -80px;
	padding-left: 20px;
}

.plz-result{
    margin-bottom: 100px;
    padding-bottom: 70px;
    border-bottom: 1px solid white;
}

.plz-result:last-child {
    border-bottom: 1px solid transparent;
    margin-bottom: 0px;
    padding-bottom: 0px;
}

.card-img-wrap{
	position: relative;
}

.color-overlay{
	mix-blend-mode: multiply;
	position: absolute;
	inset: 0;
	height: 100%;
	width: calc(100% - 80px);
	border-radius: 15px;
	opacity: 0.8;
}

.purple-overlay{ background-color: #6E4BC2; }
.green-overlay{ background-color: #33D27B; }
.blue-overlay{ background-color: #0B53FF; }
.lightblue-overlay{ background-color: #12D5D5; }


#word-tea-white{
	fill: none;
	stroke: white; 
	stroke-width: 2px;
	opacity: 0.5;
}

.scroll-float{
  will-change: transform;
}

svg{
	overflow: visible;
}



















/* ------------------------------------------------ MOBILE ------------------------------------------------ */

@media screen and (max-width: 767.98px) { 
	
	:root {
		--container-size: 100%;
	}
	
	.container{
		padding-left: 40px;
		padding-right: 40px;
	}
	
	.job-description-wrap {
		/* margin-right: 40px; */
		margin-right: 0;
	}
	
	
	h1, h2 {
		 font-size: 40px
	}
	
	#lay-teaser h2 {
		font-size: 60px;
	}
	
	#lay-teaser h3 {
		font-size: 36px;
	}
	
	#lay-teaser .hero-content nav {
		height: auto;
		flex-wrap: wrap;
		margin-bottom: 40px;
	}

	nav ul {
		text-align: center;
	}
	
	nav ul li {
		margin: 0 9px 0 0;
		margin-top: 20px;
	}
	
	#lay-teaser h2:after {
		width: 160px;
		height: 40px;
		transform: rotate(-5deg) translateY(-47px) translateX(69px)
	}
	
	#lay-intro h1 img, .intro-word, .text-svg {
		height: 165px;
	}
	
	.col-5-like {
    width: 100%;
}

	.footer-wrap {
		display: block;
		text-align: center;
	}
	
	.footer-left {
		justify-self: center;
		margin-bottom: 40px;
	}
	
	.footer-right {
		text-align: center;
		margin-top: 40px;
	}
	
	.plz-result .pill-list {
	padding-left: 0px;
}
	
	.m-item:first-child .news-tile {
		margin-bottom: calc(70px + 40px);
	}
	
	.plz-radius-search__form {
		flex-wrap: wrap;
	}
	
	.card .content img {
		width: 100%;
	}
	
	.plz-radius-search__form .pill-fields {
		flex: 0 0 100%;
	}
	
	#word-job {
		height: auto;
		/* width: calc(100% + 30px); */
		max-height: 200px;
		stroke-width: 3px;
	}
	
	#lay-intro{
		padding-top: 100px;
		padding-bottom: 70px;
	}
	
	#lay-intro h1 {
		margin-top: 0;
	}
	
	.col-4-like {
		width: 100%;
	}
	
	.intro-img-2-wrap {
		margin-top: 50px;
	}
	
	.intro-img-2 {
		margin-bottom: 40px;
		width: 60%!important;
	}
	
	.intro-img-3 {
		width: 60%!important;
	} 
	
	.intro-img-3-wrap {
		margin-bottom: 100px;
		margin-top: -200px;
	}
	
	.intro-img-3-quote {
		top: -25px;
		right: 120px;
        width: 170px;
	}
	
	.color-overlay {
		width: 100%;
	}

	.deck .pill-list li {
		display: block;
	}
	
	.pill-list li {
		font-size: 16px;
	}
	
	.green-link {
		text-align: center;
		line-height: 1.3;
		font-size: 16px;
	}
	
	.plz-autocomplete {
	 top: calc(100% + -145px);
	}
	
	.no-result {
		font-size: 7vw;
	}
	
	.pill-list {
		text-align: center;
	}
	
	.plz-radius-search__form {
		justify-content: center;
		margin-bottom: 40px;
	}
	
	#lay-dsim .icon-cup {
	margin: 0 25px;
}
	
	#lay-jobsearch{
		padding: 200px 0 200px 0;
	}
	
	.jobs-bg {
		transform: translate(-50%, -150px);
		top: 0;
	}
	
	.plz-result .green-link{
		margin-bottom: 30px;
	}
	
	#lay-cta{
		padding: 150px 0 150px 0;
	}
	
	#lay-cta .text-svg {
		bottom: -2px;
		margin-left: 80px;
	}
	
	.ds-im h2 {
		line-height: 1.5;
	}
	
	#lay-dsim {
		padding: 40px 0;
		padding-bottom: 100px;
	}
	
	#lay-cta h2 {
		font-size: 50px;
	}
	
	#lay-cta p {
		font-size: 40px;
	}
	
	svg{
		stroke-width: 5px !important;
	}
	
	.intro-img-2-quote {
		right: 5px;
		top: -25px;
		width: 175px;
	}
	
	.plz-result-title{
	font-size: 40px;
	}
	
	.news-tile-content, .news-tile-headline {
		font-size: 16px;
	}
	
}
/* ------------------------------------------------ Extra small devices ------------------------------------------------ */

@media screen and (max-width: 575.98px) { 
	

	
}





/* ------------------------------------------------ TABLET ------------------------------------------------ */

@media (min-width: 768px) and (max-width: 991.98px) { 
	
	:root {
		--container-size: 720px;
	}
	
	nav ul li a {
		display: inline-block;
		margin-bottom: 15px;
	}
	
	nav ul li {
		margin: 0 10px 0 0;
	}
	
	.text-svg, .intro-word, #word-job {
		height: 250px;
	}
	
	.col-4-like {
		width: 100%;
	}
	
	.job-description-wrap {
		margin-right: 80px;
	}
	
	.card .content {
		flex-wrap: wrap;
		padding: 40px;
	}
	
	.card .content h2 {
		transform: translatex(0px);
		margin-bottom: 70px;
		margin-top: -30px;
	}
	
	.card .content img {
		width: calc(100% + 35px);
	}
	
	.color-overlay {
		width: calc(100% + 35px);
	}
	
	.plz-radius-search__form .pill-fields {
		flex: 0 0 300px;
	}
	
	.pill-list li {
		font-size: 17px;
	}
	
	.intro-img-2 {
		margin-bottom: 100px;
	}
	
	.intro-img-3-quote {
		right: 20px;
		top: -40px;
	}
	
}






/* ------------------------------------------------ Small Computers ------------------------------------------------ */

@media (min-width: 992px) and (max-width: 1199.98px) { 
	
	:root {
		--container-size: 960px;
	}
	
	nav ul li a {
		display: inline-block;
		margin-bottom: 15px;
	}
	
	nav ul li {
		margin: 0 10px 0 0;
	}
	
	nav ul {
		text-align: center;
	}
	
	.col-4-like {
		width: 90%;
	}
	
	.job-description-wrap {
		margin-right: 100px;
	}
	
	.card .content {
		flex-wrap: wrap;
		padding: 40px;
	}
	
	.card .content h2 {
		transform: translatex(0px);
		margin-bottom: 70px;
		margin-top: -30px;
	}
	
	.text-svg, .intro-word, #word-job {
		height: 350px;
	}
	
	.intro-img-2-quote {
		right: 5px;
		top: -55px;
	}
	
	.intro-img-3-quote {
		right: 70px;
		top: -40px;
	}
	
}






@media screen and (max-width: 767.98px) { 

  .deck{
    width: 100%;
    position: relative;
    overflow: hidden;

    --tabW: 60px;
    --tabH: 250px;
    --tabGap: 0px;
    --tabTop: 0px;
    --radius: 28px;
  }

  .card{
    transform: none !important;
    transition: none !important;
  }

  .c1::before,
  .c2::before,
  .c3::before{
    display: none;
  }

  /* =========================
     Cards: default absolut + offscreen
     ========================= */
  .deck .card{
    position: absolute;
    top: 0;
    height: auto;

    left: -110%;
    right: var(--tabW); /* reserviert Platz für Tabs (funktioniert bei absolute) */

    transition: left .45s cubic-bezier(.2,.8,.2,1);

    border-top-left-radius: 0;
    border-bottom-left-radius: 0;
    border-top-right-radius: 0;
    border-bottom-right-radius: var(--radius);

    z-index: 1;
  }

  /* =========================
     Active Card: im Bild + im Flow
     => bestimmt automatisch die Höhe der .deck
     ABER: Tab-Platz muss per Breite reserviert werden!
     ========================= */
  #lvl0:checked ~ .c0,
  #lvl1:checked ~ .c1,
  #lvl2:checked ~ .c2,
  #lvl3:checked ~ .c3{
    position: relative;
    left: 0;

    /* WICHTIG: Platz für Tabs schaffen, sonst werden sie wegen overflow:hidden abgeschnitten */
    width: calc(100% - var(--tabW));
    margin-right: var(--tabW);

    z-index: 5;
  }

  /* Content nur in aktiver Card */
  .deck .card .content{
    display: none;
    margin-right: 0;
  }

  #lvl0:checked ~ .c0 .content,
  #lvl1:checked ~ .c1 .content,
  #lvl2:checked ~ .c2 .content,
  #lvl3:checked ~ .c3 .content{
    display: flex;
    flex-direction: column;
    padding: 30px;

    min-height: 0;
    height: auto;
  }

  .deck .card .content img{
    width: 100%;
    height: auto;
    margin-right: 0;
    border-radius: 18px;
  }

  .deck .card .content h2 {
    transform: none;
    margin-bottom: 40px;
    font-size: 40px;
    margin-top: -15px;
    z-index: 1;
    position: relative;
  }

  /* =========================
     Tabs
     ========================= */
  .deck .card .tab{
    position: absolute;

    /* sitzt im reservierten Bereich */
    right: calc(-1 * var(--tabW));

    width: var(--tabW);
    height: var(--tabH);
    top: calc(var(--tabTop) + (var(--i) * (var(--tabH) + var(--tabGap))));

    display: flex;
    align-items: center;
    justify-content: center;

    padding: 12px 8px;
    text-align: center;
    font-size: 14px;
    line-height: 1.1;

    color: #fff;
    background: inherit;

    border-top-left-radius: 0;
    border-bottom-left-radius: 0;
    border-top-right-radius: 28px;
    border-bottom-right-radius: 28px;

    cursor: pointer;
    z-index: 50;
    pointer-events: auto;
  }

  #lvl0:checked ~ .c0 .tab,
  #lvl1:checked ~ .c1 .tab,
  #lvl2:checked ~ .c2 .tab,
  #lvl3:checked ~ .c3 .tab{
    z-index: 80;
  }

}







