/* ===== Headline-Akzentlinie ===== */
.ths-hbar h1, .ths-hbar h2, .ths-hbar h3, .ths-hbar h4,
h1.ths-hbar, h2.ths-hbar, h3.ths-hbar, h4.ths-hbar {
	position: relative;
	padding-left: 22px;
}

.ths-hbar h1::before, .ths-hbar h2::before, .ths-hbar h3::before, .ths-hbar h4::before,
h1.ths-hbar::before, h2.ths-hbar::before, h3.ths-hbar::before, h4.ths-hbar::before {
	content: "";
	position: absolute;
	left: 0;
	top: .12em;
	bottom: .12em;
	width: 4px;
	background: #bd144f;
}

hr.separator-break {
	border-top-width: 4px !important;
}

/* ===== FAQ-Accordion „Deine Fragen" — Trennlinien ===== */
.uncode-accordion.w-border .panel {
	border-top-color: #dddddd;
}
.uncode-accordion.w-border .panel:last-child {
	border-bottom-color: #dddddd;
}

/* =============================================================================
 * Silbentrennung (Hyphenation)
 * ============================================================================= */

/* --- 1) Fliesstext, Listen, Karten, FAQ ---------------------------------- */
.uncode_text_column,
.uncode_text_column p,
.uncode_text_column li,
.panel-body,
.panel-collapse,
.uncode-list .list-desc,
.tmb .t-entry-title,
.tmb .t-entry-text {
  -webkit-hyphens: auto;
		  hyphens: auto;
  -webkit-hyphenate-limit-before: 4;
  -webkit-hyphenate-limit-after: 3;
  hyphenate-limit-chars: 9 4 3;
  overflow-wrap: break-word;   
}

/* --- 2) Headlines: nur echte Langkomposita ------------------------------- */
.heading-text h1,
.heading-text h2,
.heading-text h3,
.heading-text h4,
.panel-title a {
  -webkit-hyphens: auto;
		  hyphens: auto;
  -webkit-hyphenate-limit-before: 6;
  -webkit-hyphenate-limit-after: 5;
  hyphenate-limit-chars: 14 6 5;
  overflow-wrap: break-word;
}

/* --- 3) Keine Trennung in Bedienelementen -------------------------------- */
.btn,
.btn *,
.menu-smart,
.menu-smart *,
input,
textarea,
select,
button {
  -webkit-hyphens: manual;
		  hyphens: manual;
}

/* ===== Textlink-Button auf Höhe des Flächenbuttons ===== */
@media (min-width: 570px) {
   .uncont:has(> .btn-container > a.ths-btn-align) > .btn-container.btn-inline {
	vertical-align: middle;
  }
}

/* --- Impressum · Datenschutz · Cookies -------------------- */

#colophon .uncode_text_column > p {
  display: flex;
  flex-wrap: wrap;         
  align-items: center;
  column-gap: 40px;         
  row-gap: 12px;           
  margin: 0;
  font-size: 16px;
  line-height: 27px;        
  color: #9097a3;          
}

#colophon .uncode_text_column a,
#colophon .uncode_text_column a:link,
#colophon .uncode_text_column a:visited {
  font-size: 16px;
  font-weight: 500;
  line-height: normal;
  letter-spacing: normal;
  color: #9097a3;
  text-decoration: none;
  border-bottom: 0;
  transition: color .15s ease-in-out;
}

#colophon .uncode_text_column a:hover,
#colophon .uncode_text_column a:active,
#colophon .uncode_text_column a:focus-visible {
  color: #fff;
}


/* --- 2) Social-Icons: Instagram, LinkedIn --------------------------------- */

#colophon .uncode-vc-social {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  gap: 40px;                
  min-height: 27px;         
}

#colophon .uncode-vc-social .social-icon {
  display: flex;
  align-items: center;
  height: 20px;
  margin: 0;
  padding: 0;               
}

#colophon .uncode-vc-social .social-icon a {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 20px;
  color: #fff;
  opacity: .5;              
  transition: opacity .15s ease-in-out;
}

#colophon .uncode-vc-social .social-icon a:hover,
#colophon .uncode-vc-social .social-icon a:active,
#colophon .uncode-vc-social .social-icon a:focus-visible {
  opacity: 1;
}

#colophon .uncode-vc-social .social-icon i {
  display: block;
  line-height: 1;
  color: #fff;
}

/* Zeichenhoehe angeglichen */
#colophon .uncode-vc-social .fa-instagram { font-size: 22px; }   /* Ink 18,86 px */
#colophon .uncode-vc-social .fa-linkedin  { font-size: 24px; }   /* Ink 19,64 px */


/* --- 3) Mobil: Icons zentriert wie auf der Hauptseite ---------------------- */

@media (max-width: 767px) {
  #colophon .uncode-vc-social { justify-content: center; }
}

/* =============================================================================
 * THS Karriereseite — Vakanzunterseite
 * ============================================================================= */


/* --- 1) Tokens ------------------------------------------------------------ */

body.single-awsm_job_openings{
  --ths-navy:   #1d3863;
  --ths-accent: #bd144f;
  --ths-ink:    #1d3863; 
  --ths-grey:   #9097a3;
  --ths-line:   #c1c8d1;
  --ths-bg-2:   #f7f7f7;
  --ths-gap:    clamp(30px, 4vw, 64px);
  --ths-block:  clamp(28px, 4vw, 44px);
  --ths-sticky-top: 24px;
}

body.single-awsm_job_openings.admin-bar{
  --ths-sticky-top: 56px;
}


/* --- 2) Container und Raster ---------------------------------------------- */

body.single-awsm_job_openings .post-content > .row-container > .row-parent{
  max-width: none;
  margin-inline: 0;
  padding-inline: 108px;

  display: grid;
  grid-template-columns: 55fr 45fr;
  column-gap: var(--ths-gap);
  align-items: start;
}

body.single-awsm_job_openings .post-title-wrapper{
  grid-column: 1;
  grid-row: 1;
  margin-bottom: 0;
}

body.single-awsm_job_openings .awsm-job-single-wrap{
  display: contents;
}

body.single-awsm_job_openings .awsm-job-single-wrap.awsm-col-2 > .awsm-job-content{
  grid-column: 1;
  grid-row: 2;
  float: none;
  width: auto;
  min-width: 0;
  padding: 0;
}

body.single-awsm_job_openings .awsm-job-single-wrap.awsm-col-2 > .awsm-job-form{
  grid-column: 2;
  grid-row: 1 / span 2;
  float: none;
  width: auto;
  min-width: 0;
  padding: 0;
}


/* --- 3) Akzentbalken ------------------------------------------------------ */

body.single-awsm_job_openings h1.post-title{
  position: relative;
  padding-left: 22px;
  text-transform: uppercase;
  font-size: clamp(24px, 3vw, 36px);
  line-height: 1.22;
  hyphens: manual;                 
}
body.single-awsm_job_openings h1.post-title::before{
  content: "";
  position: absolute;
  left: 0; top: .12em; bottom: .12em;
  width: 4px;
  background: var(--ths-accent);
}

.ths-hbar-right h1, .ths-hbar-right h2, .ths-hbar-right h3, .ths-hbar-right h4,
h1.ths-hbar-right, h2.ths-hbar-right, h3.ths-hbar-right, h4.ths-hbar-right{
  position: relative;
  padding-left: 0;
  padding-right: 22px;
}
.ths-hbar-right h1::before, .ths-hbar-right h2::before,
.ths-hbar-right h3::before, .ths-hbar-right h4::before,
h1.ths-hbar-right::before, h2.ths-hbar-right::before,
h3.ths-hbar-right::before, h4.ths-hbar-right::before{
  content: "";
  position: absolute;
  left: auto; right: 0;
  top: .12em; bottom: .12em;
  width: 4px;
  background: var(--ths-accent);
}


/* --- 4) Stellenbeschreibung: Trenner, Koepfe, Text ------------------------ */

body.single-awsm_job_openings .awsm-job-entry-content hr{
  border: 0;
  border-top: 1px solid var(--ths-line);
  height: 0;
  margin: var(--ths-block) 0;
}

body.single-awsm_job_openings .awsm-job-entry-content > hr:last-child{
  display: none;
}

body.single-awsm_job_openings .awsm-job-entry-content h3{
  font-family: 'FuturaPT', -apple-system, 'system-ui', 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
  font-size: 14px;
  font-weight: 500;
  line-height: 1.35;
  letter-spacing: 1.4px;
  text-transform: uppercase;
  color: var(--ths-accent);
  margin: 0 0 26px;              
  hyphens: manual;
  overflow-wrap: break-word;
}

body.single-awsm_job_openings .awsm-job-entry-content h3:has(+ p.lead-strong){
  margin-bottom: 18px;
}


body.single-awsm_job_openings .awsm-job-entry-content p{
  font-size: 16px;
  line-height: 1.65;
  color: var(--ths-ink);
  margin: 0 0 18px;
}
body.single-awsm_job_openings .awsm-job-entry-content > *:last-child{
  margin-bottom: 0;
}


body.single-awsm_job_openings .awsm-job-entry-content p.lead-strong{
  font-size: clamp(16px, 1.6vw, 19px);
  line-height: 1.6;
  font-weight: 500;
  max-width: none;
  margin-bottom: 26px;
}
body.single-awsm_job_openings .awsm-job-entry-content a{
  color: var(--ths-navy);
  text-decoration: underline;
  text-underline-offset: 3px;
}


/* --- 5) Listen und Wertetabellen ------------------------------------------ */

body.single-awsm_job_openings .awsm-job-entry-content ol.vorteil-liste-schmal{
  list-style: none;
  counter-reset: ths-vorteil;
  padding-left: 0;
  margin: 0;
}
body.single-awsm_job_openings .awsm-job-entry-content ol.vorteil-liste-schmal > li{
  counter-increment: ths-vorteil;
  position: relative;
  padding-left: 38px;
  margin: 0 0 18px;
  font-size: 15px;
  line-height: 1.55;
  color: var(--ths-ink);
}
body.single-awsm_job_openings .awsm-job-entry-content ol.vorteil-liste-schmal > li:last-child{
  margin-bottom: 0;
}
body.single-awsm_job_openings .awsm-job-entry-content ol.vorteil-liste-schmal > li::before{
  content: counter(ths-vorteil, decimal-leading-zero);
  position: absolute;
  left: 0; top: .25em;
  font-size: 12px;
  letter-spacing: .14em;
  line-height: 1.55;
  color: var(--ths-grey);
  font-variant-numeric: tabular-nums;
}

body.single-awsm_job_openings .awsm-job-entry-content ul,
body.single-awsm_job_openings .awsm-job-entry-content ul.punkt-liste{
  list-style: none;
  padding-left: 0;
  margin: 0;
}
body.single-awsm_job_openings .awsm-job-entry-content ul > li{
  list-style: none;              
  position: relative;
  padding-left: 34px;
  margin: 0 0 14px;
  font-size: 16px;
  line-height: 1.6;
  color: var(--ths-ink);
}
body.single-awsm_job_openings .awsm-job-entry-content ul > li:last-child{
  margin-bottom: 0;
}
body.single-awsm_job_openings .awsm-job-entry-content ul > li::before{
  content: "";
  position: absolute;
  left: 0; top: .62em;
  width: 18px; height: 2px;
  background: var(--ths-accent);
}

body.single-awsm_job_openings .awsm-job-entry-content dl.info-kv{
  display: grid;
  grid-template-columns: minmax(150px, 210px) 1fr;
  margin: 0;
}
body.single-awsm_job_openings .awsm-job-entry-content dl.info-kv > dt,
body.single-awsm_job_openings .awsm-job-entry-content dl.info-kv > dd{
  margin: 0;
  padding: 16px 0;
  border-bottom: 1px solid var(--ths-line);
  font-size: 16px;
  line-height: 1.6;
}
body.single-awsm_job_openings .awsm-job-entry-content dl.info-kv > dt{
  padding-right: 24px;
  font-weight: 500;
  color: var(--ths-navy);
}
body.single-awsm_job_openings .awsm-job-entry-content dl.info-kv > dd{
  color: var(--ths-ink);
}
body.single-awsm_job_openings .awsm-job-entry-content dl.info-kv > *:nth-last-child(-n+2){
  border-bottom: 0;
}

body.single-awsm_job_openings .awsm-job-entry-content dl.kontakt-kv{
  display: grid;
  grid-template-columns: auto 1fr;
  align-items: start;
  gap: 6px 28px;
  margin: 26px 0 0;
}
body.single-awsm_job_openings .awsm-job-entry-content dl.kontakt-kv > dt,
body.single-awsm_job_openings .awsm-job-entry-content dl.kontakt-kv > dd{
  margin: 0;
  font-size: 16px;
  line-height: 1.6;
}
body.single-awsm_job_openings .awsm-job-entry-content dl.kontakt-kv > dt{
  font-weight: 500;
  color: var(--ths-navy);
}
body.single-awsm_job_openings .awsm-job-entry-content dl.kontakt-kv > dd{
  color: var(--ths-ink);
}

body.single-awsm_job_openings .awsm-job-specifications-container{
  display: none;
}


/* --- 6) Bewerbungsformular als Card --------------------------------------- */

body.single-awsm_job_openings .awsm-job-form-inner{
  background: var(--ths-bg-2);
  border: 0;
  border-radius: 8px;
  padding: clamp(24px, 3vw, 35px);
}

body.single-awsm_job_openings .awsm-job-form-inner > h2{
  position: relative;
  padding-left: 22px;
  text-transform: uppercase;
  font-size: clamp(20px, 1.8vw, 26px);
  line-height: 1.22;
  color: var(--ths-navy);
  margin: 0 0 14px;
  hyphens: manual;
}
body.single-awsm_job_openings .awsm-job-form-inner > h2::before{
  content: "";
  position: absolute;
  left: 0; top: .12em; bottom: .12em;
  width: 4px;
  background: var(--ths-accent);
}

body.single-awsm_job_openings .awsm-job-form-description p{
  font-size: 15px;
  line-height: 1.6;
  color: var(--ths-ink);
  margin: 0 0 26px;
}

body.single-awsm_job_openings .awsm-job-form-group{
  margin-bottom: 22px;
}
body.single-awsm_job_openings .awsm-job-form-group label{
  font-weight: 500;
  font-size: 15px;
  color: var(--ths-navy);
  margin-bottom: 8px;
}
body.single-awsm_job_openings .awsm-job-form-error{
  color: var(--ths-accent);
}

body.single-awsm_job_openings .awsm-job-form-control{
  width: 100%;
  font-size: 16px;
  color: var(--ths-ink);
  background: #fff;
  border: 1px solid var(--ths-line);
  border-radius: 2px;
  padding: 13px 16px;
  min-height: 52px;
}
body.single-awsm_job_openings textarea.awsm-job-form-control{
  min-height: 160px;
  resize: vertical;
}
body.single-awsm_job_openings .awsm-job-form-control:hover{
  border-color: var(--ths-navy);
}
body.single-awsm_job_openings .awsm-job-form-control::placeholder{
  color: var(--ths-grey);
  opacity: 1;
}

/* Datei-Ablage */
body.single-awsm_job_openings .awsm-form-drag-and-drop-file-control{
  border: 1px dashed var(--ths-line);
  border-radius: 2px;
  background: #fff;
}
body.single-awsm_job_openings .awsm-form-drag-and-drop-file-title{
  font-weight: 500;
  font-size: 15px;
  color: var(--ths-navy);
}
body.single-awsm_job_openings .awsm-form-drag-and-drop-file-description,
body.single-awsm_job_openings .awsm-job-form-file-group small{
  color: var(--ths-grey);
  font-size: 14px;
}

body.single-awsm_job_openings .awsm-job-inline-group label{
  font-weight: 500;
  font-size: 15px;
  line-height: 1.55;
  color: var(--ths-ink);
}
body.single-awsm_job_openings .awsm-job-inline-group input[type="checkbox"]{
  accent-color: var(--ths-accent);
}

body.single-awsm_job_openings .awsm-application-submit-btn{
  background: var(--ths-accent);
  color: #fff;
  border: 0;
  border-radius: 2px;
  padding: 16px 30px;
  min-height: 52px;
  font-weight: 500;
  font-size: 16px;
  line-height: 1.2;
  text-transform: none;
  letter-spacing: normal;
  width: auto;
  transition: background .2s ease;
}
body.single-awsm_job_openings .awsm-application-submit-btn:hover,
body.single-awsm_job_openings .awsm-application-submit-btn:focus-visible{
  background: #a01043;
  color: #fff;
}


/* --- 7) Responsiv --------------------------------------------------------- */

@media (max-width: 1499px){
  body.single-awsm_job_openings .post-content > .row-container > .row-parent{
	padding-inline: 72px;
  }
}

@media (max-width: 992px){
  body.single-awsm_job_openings .post-content > .row-container > .row-parent{
	grid-template-columns: 1fr;
	row-gap: clamp(36px, 6vw, 56px);
  }
  body.single-awsm_job_openings .post-title-wrapper,
  body.single-awsm_job_openings .awsm-job-single-wrap.awsm-col-2 > .awsm-job-content,
  body.single-awsm_job_openings .awsm-job-single-wrap.awsm-col-2 > .awsm-job-form{
	grid-column: 1;
	grid-row: auto;
  }
  body.single-awsm_job_openings .post-title-wrapper{
	margin-bottom: 0;
  }
}

@media (max-width: 959px){
  body.single-awsm_job_openings .post-content > .row-container > .row-parent{
	padding-inline: 36px;
  }


  .align_left_tablet .ths-hbar-right h1, .align_left_tablet .ths-hbar-right h2,
  .align_left_tablet .ths-hbar-right h3, .align_left_tablet .ths-hbar-right h4,
  .align_left_mobile .ths-hbar-right h1, .align_left_mobile .ths-hbar-right h2,
  .align_left_mobile .ths-hbar-right h3, .align_left_mobile .ths-hbar-right h4{
	padding-right: 0;
	padding-left: 22px;
  }
  .align_left_tablet .ths-hbar-right h1::before, .align_left_tablet .ths-hbar-right h2::before,
  .align_left_tablet .ths-hbar-right h3::before, .align_left_tablet .ths-hbar-right h4::before,
  .align_left_mobile .ths-hbar-right h1::before, .align_left_mobile .ths-hbar-right h2::before,
  .align_left_mobile .ths-hbar-right h3::before, .align_left_mobile .ths-hbar-right h4::before{
	right: auto;
	left: 0;
  }
}

@media (max-width: 600px){
  body.single-awsm_job_openings .awsm-job-entry-content dl.info-kv{
	grid-template-columns: 1fr;
  }
  body.single-awsm_job_openings .awsm-job-entry-content dl.info-kv > dt{
	padding: 14px 0 0;
	border-bottom: 0;
  }
  body.single-awsm_job_openings .awsm-job-entry-content dl.info-kv > dd{
	padding: 4px 0 14px;
  }
  body.single-awsm_job_openings .awsm-job-entry-content dl.kontakt-kv{
	grid-template-columns: 1fr;
	gap: 2px 0;
  }
  body.single-awsm_job_openings .awsm-job-entry-content dl.kontakt-kv > dd{
	margin-bottom: 10px;
  }
  body.single-awsm_job_openings .awsm-application-submit-btn{
	width: 100%;
  }
}


/* --- 8) Formular-Card laeuft mit (Desktop, Vorgabe Oskar) ----------------- */

@media (min-width: 993px){

  body.single-awsm_job_openings .box-wrapper{
	overflow-x: clip;
	overflow-y: visible;
  }

  body.single-awsm_job_openings .awsm-job-single-wrap.awsm-col-2 > .awsm-job-form{
	align-self: stretch;
  }

  body.single-awsm_job_openings .awsm-job-form-inner{
	position: sticky;
	top: var(--ths-sticky-top);
	max-height: calc(100vh - var(--ths-sticky-top) - 24px);
	overflow-y: auto;
	scrollbar-width: thin;
  }
}

/* =============================================================================
 * THS Karriereseite — Stellenanzeigen-Liste
 * ============================================================================= */


/* --- 1) Tokens ------------------------------------------------------------ */

.awsm-job-wrap{
  --ths-navy:   #1d3863;
  --ths-accent: #bd144f;
  --ths-grey:   #9097a3;
  --ths-line:   #c1c8d1;
  --ths-white:  #ffffff;

  --ths-gap:    24px;
}


/* --- 2) Filterzeile ------------------------------------------------------- */

.awsm-job-wrap .awsm-filter-wrap{
  margin: 32px 0;
}

.awsm-job-wrap .awsm-filter-wrap form{
  display: flex;
  justify-content: center;
}

.awsm-job-wrap .awsm-filter-items{
  display: flex;           
  flex-wrap: wrap;
  justify-content: center;
  gap: 16px;
  width: 100%;
}

.awsm-job-wrap .awsm-filter-item{
  padding: 0;               
  margin: 0;
  width: auto;
  min-width: 210px;         
  flex: 0 0 auto;
}

.awsm-job-wrap .awsm-filter-toggle{
  display: none;
}


/* --- 3) Filterbox (Selectric) --------------------------------------------- */

.awsm-job-wrap .awsm-selectric-wrapper{
  width: 100%;
}

.awsm-job-wrap .awsm-selectric{
  background: var(--ths-white);
  border: 1px solid var(--ths-line);   
  border-radius: 4px;                  
  box-shadow: none;                    
}

.awsm-job-wrap .awsm-selectric .label{
  height: 46px;                        
  line-height: 46px;
  margin: 0 46px 0 16px;               
  font-size: 15px;                     
  color: var(--ths-navy);              
}

.awsm-job-wrap .awsm-selectric-arrow-drop{
  color: var(--ths-grey);
}

.awsm-job-wrap .awsm-selectric-items{
  border-color: var(--ths-line);
  border-radius: 4px;
  font-size: 15px;
  color: var(--ths-navy);
}

.awsm-job-wrap .awsm-selectric-items li{
  font-size: 15px;
  color: var(--ths-navy);
}


/* --- 4) Liste und Zeile --------------------------------------------------- */

.awsm-job-wrap .awsm-job-listings{
  border: 0;                           
  border-top: 1px solid var(--ths-line);
  margin: 0;
}

.awsm-job-wrap .awsm-job-listing-item{
  border-bottom: 1px solid var(--ths-line);
}

.awsm-job-wrap .awsm-job-item{
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: var(--ths-gap);
  padding: 28px 32px;                 
  background: none;                    
  border: 0;                           
  font-size: 15px;                    
}


.awsm-job-wrap .awsm-job-item::after{
  content: none;
}

.awsm-job-wrap .awsm-list-left-col,
.awsm-job-wrap .awsm-list-right-col{
  float: none;
  width: auto;
  padding: 0;
}


/* --- 5) Stellentitel ------------------------------------------------------ */

.awsm-job-wrap .awsm-job-item h2.awsm-job-post-title{
  margin: 0;
  font-size: clamp(17px, 1.8vw, 22px); 
  font-weight: 500;
  line-height: 1.3;
  text-transform: uppercase;           
  letter-spacing: normal;
  color: var(--ths-navy);
}

.awsm-job-wrap .awsm-job-item h2.awsm-job-post-title a{
  color: inherit;
  font-size: inherit;
  text-decoration: none;
}


/* --- 6) Meta-Angaben und Icons -------------------------------------------- */

.awsm-job-wrap .awsm-list-right-col{
  display: flex;
  align-items: center;
  justify-content: flex-end;
  flex-wrap: wrap;
  gap: var(--ths-gap);
  text-align: right;
}

.awsm-job-wrap .awsm-job-specification-wrapper{
  display: contents;
}

.awsm-job-wrap .awsm-job-specification-item{
  display: inline-flex;
  align-items: center;
  gap: 0;
  margin: 0;                           
  font-size: 15px;                     
  color: var(--ths-navy);
  white-space: nowrap;
}

.awsm-job-wrap .awsm-job-specification-item i{
  margin: 0 8px 0 0;                   
  flex: none;
  color: var(--ths-grey);              
}

.awsm-job-wrap .awsm-job-specification-term::after{
  content: "\00a0/\00a0";
}

.awsm-job-wrap .awsm-job-specification-term:last-child::after{
  content: none;
}


/* --- 7) „Mehr erfahren" ------------------------------------------------- */

.awsm-job-wrap .awsm-job-more-container{
  display: inline-flex;
}

.awsm-job-wrap a.awsm-job-more{
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-height: 44px;                    
  font-size: 15px;                     
  font-weight: 500;                    
  color: var(--ths-accent);            
  white-space: nowrap;
  text-decoration: none;
}

.awsm-job-wrap a.awsm-job-more:hover,
.awsm-job-wrap a.awsm-job-more:focus-visible{
  color: var(--ths-accent);
  text-decoration: underline;
  text-underline-offset: 3px;
}

.awsm-job-wrap a.awsm-job-more span{
  flex: none;
  transition: transform .2s ease;      
}

.awsm-job-wrap a.awsm-job-more:hover span,
.awsm-job-wrap a.awsm-job-more:focus-visible span{
  transform: translateX(4px);
}

@media (prefers-reduced-motion: reduce){
  .awsm-job-wrap a.awsm-job-more span{ transition: none; }
}


/* --- 8) Responsiv --------------------------------------------------------- */

@media (max-width: 767px){

  .awsm-job-wrap .awsm-filter-items{
	display: flex;
	flex-direction: column;
	gap: 16px;
  }

  .awsm-job-wrap .awsm-filter-item{
	width: 100%;
	min-width: 0;
  }

  .awsm-job-wrap .awsm-job-item{
	grid-template-columns: 1fr;
	gap: 12px;
	padding: 22px 4px;
  }

  .awsm-job-wrap .awsm-list-right-col{
	justify-content: flex-start;
	row-gap: 8px;
	text-align: left;
  }

  .awsm-job-wrap .awsm-job-more-container{
	margin-left: auto;
  }
}

/* =============================================================================
 * THS Karriereseite — Overlay-Menue */


/* --- 1) Tokens ------------------------------------------------------------ */

.overlay-menu{
  --ths-navy:    #1d3863;
  --ths-accent:  #bd144f;
  --ths-line:    rgba(144, 151, 163, .5);   
  --ths-dim:     rgba(29, 56, 99, .5);      
  --ths-u: 18px;
  --ths-menu-w:  25vw;
  --ths-pad-y:   calc(var(--ths-u) * 6.6667);
  --ths-band-h:  104px;                     
  --ths-menu-fs:   calc(var(--ths-u) * 1.2222);   
  --ths-menu-fs-2: var(--ths-u);                  
  --ths-label-fs:  calc(var(--ths-u) * 0.8889);   
  --ths-indent:  calc(var(--ths-u) * 2.2222);     
  --ths-gap-x:   calc(var(--ths-u) * 1.1111);     
  --ths-gap-sub: calc(var(--ths-u) * 0.6667);     
  --ths-sep:     calc(var(--ths-u) * 4.4444);     
  --ths-indent2: 65px;                    

  --ths-chevron: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='8' height='15' viewBox='0 0 8 15' fill='none'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M6.77307 0.828125L7.625 1.67324L1.84418 7.40068L7.625 13.3281L6.77307 14.1732L0.153898 7.40068L6.77307 0.828125Z' fill='%231d3863'/%3E%3C/svg%3E");
}


/* --- 2) Hintergrund des Overlays ------------------------------------------ */

.overlay-menu .overlay-bg,
.overlay-menu .overlay-bg.style-light-bg{
  background-color: var(--ths-navy);
  opacity: .6;
}


/* --- 3) Das Panel --------------------------------------------------------- */

.overlay-menu .vmenu-container.menu-container.menu-light{
  background: none;
}

.overlay-menu .vmenu-container.menu-container.menu-light .menu-sidebar{
  vertical-align: top;
}

.overlay-menu .vmenu-container.menu-container.menu-light .navbar-main{
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  z-index: 2;
  box-sizing: border-box;
  width: min(25%, calc(var(--ths-u) * 22.92));
  padding: var(--ths-pad-y) 0;
  background: #fff;
  border-left: 1px solid var(--ths-line);
  overflow-x: hidden;
  overflow-y: auto;
  overscroll-behavior: contain;
}

.overlay-menu .vmenu-container.menu-container.menu-light .menu-sidebar-inner{
  max-width: none;
  padding: 0 !important;
}


@media (min-width: 768px)  and (max-width: 1023px){ .overlay-menu{ --ths-u: 1.7578vw; } }
@media (min-width: 1280px) and (max-width: 1439px){ .overlay-menu{ --ths-u: 1.25vw;   } }
@media (min-width: 1920px) and (max-width: 2559px){ .overlay-menu{ --ths-u: 0.9375vw; } }
@media (min-width: 2560px){                         .overlay-menu{ --ths-u: 24px;     } }


@media (max-width: 1199px){
  .overlay-menu{ --ths-menu-w: 33.33vw; }

  .overlay-menu .vmenu-container.menu-container.menu-light .navbar-main{
	width: min(33.33%, calc(var(--ths-u) * 22.92));
  }
}

@media (max-width: 991px){
  .overlay-menu{ --ths-menu-w: 40vw; }

  .overlay-menu .vmenu-container.menu-container.menu-light .navbar-main{
	width: min(40%, calc(var(--ths-u) * 22.92));
  }
}


/* --- 4) Hauptmenue -------------------------------------------------------- */

.overlay-menu .vmenu-container.menu-container.menu-light ul.menu-primary-inner{
  margin: 0;
  padding: 0;
  list-style: none;
}

.overlay-menu .vmenu-container.menu-container.menu-light ul.menu-primary-inner > li{
  margin: var(--ths-gap-x) 0 0;
  padding: 0 var(--ths-gap-x) 0 var(--ths-indent);
  border: 0;
}

.overlay-menu .vmenu-container.menu-container.menu-light ul.menu-primary-inner > li:first-child{
  margin-top: 0;
}

.overlay-menu .vmenu-container.menu-container.menu-light ul.menu-primary-inner > li > a{
  position: relative;
  display: block;
  padding: 0 0 0 var(--ths-indent2);
  border: 0;
  background: none;
  font-weight: 500;
  letter-spacing: normal;              
  text-transform: none;                
  color: var(--ths-dim);
  transition: color .15s ease-in-out;
}

.overlay-menu .vmenu-container.menu-container.menu-light ul.menu-primary-inner > li > a:hover,
.overlay-menu .vmenu-container.menu-container.menu-light ul.menu-primary-inner > li > a:focus-visible,
.overlay-menu .vmenu-container.menu-container.menu-light ul.menu-primary-inner > li.current-menu-item > a,
.overlay-menu .vmenu-container.menu-container.menu-light ul.menu-primary-inner > li.ths-sub-open > a{
  color: var(--ths-navy);
}


/* --- 4b) Schriftgroessen -------------------------------------------------- */

.overlay-menu .vmenu-container.menu-container.menu-light .menu-sidebar-inner .menu-accordion.menu-accordion-primary ul.menu-primary-inner.menu-smart > li > a{
  font-size: var(--ths-menu-fs);
  line-height: 1.4;                   
}

.overlay-menu .vmenu-container.menu-container.menu-light .menu-sidebar-inner .menu-accordion.menu-accordion-primary ul.menu-primary-inner.menu-smart > li:nth-last-child(-n+3) > a{
  font-size: var(--ths-menu-fs-2);
  line-height: 1.5;                    
}


/* --- 5) Rechtsblock ------------------------------------------------------- */

.overlay-menu .vmenu-container.menu-container.menu-light ul.menu-primary-inner > li:nth-last-child(3){
  margin-top: var(--ths-sep);
  padding-top: var(--ths-sep);
  border-top: 1px solid var(--ths-line);
}


/* --- 6) Untermenue-Pfeil -------------------------------------------------- */

.overlay-menu .vmenu-container.menu-container.menu-light ul.menu-primary-inner i.fa-dropdown{
  display: none;
}

.overlay-menu .vmenu-container.menu-container.menu-light ul.menu-primary-inner > li.menu-item-has-children > a::before{
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  width: 8px;
  height: 13px;
  transform: translateY(-50%);
  background: var(--ths-chevron) 0 0 / contain no-repeat;
}


/* --- 7) Untermenue als zweites Panel --------------------------------------  */

.overlay-menu .vmenu-container > ul.ths-subpanel{
  position: fixed;
  top: 0;
  bottom: 0;
  right: calc(var(--ths-menu-w) - 1px);
  z-index: 101;
  box-sizing: border-box;
  width: calc(var(--ths-menu-w) - 1px);
  max-width: 100%;
  margin: 0;
  padding: var(--ths-pad-y) 0;
  list-style: none;
  background: #fff;
  border-right: 1px solid var(--ths-line);
  overflow-x: hidden;
  overflow-y: auto;
  overscroll-behavior: contain;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity .3s ease-in-out, visibility .3s ease-in-out;
}

.overlay-menu .vmenu-container > ul.ths-subpanel.ths-open{
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}

.overlay-menu .vmenu-container > ul.ths-subpanel > li{
  margin: var(--ths-gap-sub) 0 0;
  padding: 0 var(--ths-gap-x) 0 var(--ths-indent);
  border: 0;
  list-style: none;
}

.overlay-menu .vmenu-container > ul.ths-subpanel > li:first-child,
.overlay-menu .vmenu-container > ul.ths-subpanel > li.ths-back + li{
  margin-top: 0;
}

.overlay-menu .vmenu-container > ul.ths-subpanel > li > a{
  display: block;
  padding: 0 0 0 var(--ths-indent2);
  border: 0;
  background: none;
  font-size: var(--ths-menu-fs-2);
  font-weight: 500;
  line-height: 1.5;                    
  letter-spacing: normal;
  text-transform: none;
  color: var(--ths-dim);
  text-decoration: none;
  transition: color .15s ease-in-out;
}

.overlay-menu .vmenu-container > ul.ths-subpanel > li > a:hover,
.overlay-menu .vmenu-container > ul.ths-subpanel > li > a:focus-visible,
.overlay-menu .vmenu-container > ul.ths-subpanel > li.current-menu-item > a{
  color: var(--ths-navy);
}

.overlay-menu .vmenu-container > ul.ths-subpanel i.fa-dropdown{
  display: none;
}

.overlay-menu .vmenu-container > ul.ths-subpanel > li.ths-back{
  display: none;
}


/* --- 7b) Auffangnetz, falls das JavaScript fehlt -------------------------- */

.overlay-menu .vmenu-container.menu-container.menu-light .menu-sidebar-inner .menu-accordion.menu-accordion-primary ul.menu-primary-inner.menu-smart ul.drop-menu{
  margin: var(--ths-gap-sub) 0 0;
  padding: 0;
  list-style: none;
}

.overlay-menu .vmenu-container.menu-container.menu-light .menu-sidebar-inner .menu-accordion.menu-accordion-primary ul.menu-primary-inner.menu-smart ul.drop-menu > li{
  margin: var(--ths-gap-sub) 0 0;
  padding: 0;
  border: 0;
}

.overlay-menu .vmenu-container.menu-container.menu-light .menu-sidebar-inner .menu-accordion.menu-accordion-primary ul.menu-primary-inner.menu-smart ul.drop-menu > li > a{
  display: block;
  padding: 0 0 0 var(--ths-indent2);
  border: 0;
  background: none;
  font-size: var(--ths-menu-fs-2) !important;   
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: normal;
  text-transform: none;
  color: var(--ths-dim);
  text-decoration: none;
}

.overlay-menu .vmenu-container.menu-container.menu-light .menu-sidebar-inner .menu-accordion.menu-accordion-primary ul.menu-primary-inner.menu-smart ul.drop-menu > li > a:hover,
.overlay-menu .vmenu-container.menu-container.menu-light .menu-sidebar-inner .menu-accordion.menu-accordion-primary ul.menu-primary-inner.menu-smart ul.drop-menu > li.current-menu-item > a{
  color: var(--ths-navy);
}


/* --- 8) Schliessen-Steuerung ---------------------------------------------- */
.mobile-menu-button::before{
  margin-right: calc(var(--ths-u, 18px) * 1.1111);
  font-size: var(--ths-label-fs, 16px);
  font-weight: 500;
  line-height: 1;
  white-space: nowrap;
  pointer-events: none;
}

.mobile-menu-button:not(.close)::before{
  content: "Menü";
  color: rgba(255, 255, 255, .6);
}

.mobile-menu-button.close::before{
  content: "Schließen";
  color: var(--ths-accent, #bd144f);
}

.mobile-menu-button{
  align-items: center;
  justify-content: flex-end;
}


/* --- 10) Responsiv -------------------------------------------------------- */

@media (max-width: 767px){

  .overlay-menu .vmenu-container.menu-container.menu-light .navbar-main{
	position: fixed;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	width: auto;
	max-width: none;
	padding: var(--ths-band-h) 0 var(--ths-pad-y);
	border-left: 0;
  }

  .overlay-menu .vmenu-container.menu-container.menu-light ul.menu-primary-inner > li{
	padding: 0 60px;
  }

  .overlay-menu .vmenu-container.menu-container.menu-light ul.menu-primary-inner > li:first-child{
	margin-top: 1px;
	padding: 80px 60px 0;
	border-top: 1px solid var(--ths-line);
  }

  .overlay-menu .vmenu-container.menu-container.menu-light ul.menu-primary-inner > li:nth-last-child(3){
	margin-top: 60px;
	padding: 60px 60px 0;
  }

  .overlay-menu .vmenu-container.menu-container.menu-light ul.menu-primary-inner > li > a,
  .overlay-menu .vmenu-container > ul.ths-subpanel > li > a{
	padding-left: 10px;
  }

.overlay-menu .vmenu-container.menu-container.menu-light .menu-sidebar-inner .menu-accordion.menu-accordion-primary ul.menu-primary-inner.menu-smart > li > a{
	font-size: var(--ths-menu-fs) !important;
  }

.overlay-menu .vmenu-container.menu-container.menu-light .menu-sidebar-inner .menu-accordion.menu-accordion-primary ul.menu-primary-inner.menu-smart > li:nth-last-child(-n+3) > a{
	font-size: var(--ths-menu-fs-2) !important;
  }

  body.ths-menu-open .menu-wrapper{
	z-index: 10002;
  }

  body.ths-menu-open #masthead,
  body.ths-menu-open #masthead .menu-container,
  body.ths-menu-open #masthead .row-menu-inner{
	background-color: #fff !important;
	background-image: none !important;
  }

  body.admin-bar .overlay-menu .vmenu-container.menu-container.menu-light .navbar-main,
  body.admin-bar .overlay-menu .vmenu-container > ul.ths-subpanel{
	top: 46px;
  }

  .mobile-menu-button:not(.close)::before,
  .mobile-menu-button.close::before{
	content: none;
  }

  body.ths-menu-open #logo-container-mobile{
	visibility: hidden;
  }

  body.ths-menu-open .mobile-menu-button span.lines{
	background-color: transparent !important;
  }

  body.ths-menu-open .mobile-menu-button span.lines::before,
  body.ths-menu-open .mobile-menu-button span.lines::after{
	background-color: var(--ths-navy, #1d3863) !important;
  }

  .overlay-menu .vmenu-container.menu-container.menu-light ul.menu-primary-inner > li.menu-item-has-children > a::before{
	left: auto;
	right: 0;
	transform: translateY(-50%) rotate(180deg);
  }

  .overlay-menu .vmenu-container > ul.ths-subpanel{
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	width: auto;
	max-width: none;
	padding: 0 0 var(--ths-pad-y);
	border-right: 0;
  }

  .overlay-menu .vmenu-container > ul.ths-subpanel > li{
	padding: 0 60px;
  }

.overlay-menu .vmenu-container > ul.ths-subpanel > li.ths-back{
	display: block;
	margin: 0 0 80px;
	padding: 20px 30px 20px 0;
	border-bottom: 1px solid var(--ths-line);
  }

.overlay-menu .vmenu-container > ul.ths-subpanel{
	padding-top: var(--ths-band-h);
  }

.overlay-menu .vmenu-container > ul.ths-subpanel > li.ths-back > a{
	position: relative;
	padding-left: 60px;
  }

  .overlay-menu .vmenu-container > ul.ths-subpanel > li.ths-back > a::before{
	content: "";
	position: absolute;
	left: 30px;
	top: 50%;
	width: 8px;
	height: 13px;
	transform: translateY(-50%);
	background: var(--ths-chevron) 0 0 / contain no-repeat;
  }
}

/* =============================================================================
 * THS Karriereseite — Kontakt-Panel
 * ============================================================================= */


:root{
  --ths-navy:   #1d3863;
  --ths-accent: #bd144f;
  --ths-grey:   #9097a3;
  --ths-dim:    rgba(29, 56, 99, .5);
  --ths-u: 18px;
  --ths-tel: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6.5 3h3l1.5 4-2 1.5a12 12 0 0 0 5.5 5.5L16 12l4 1.5v3a2 2 0 0 1-2.2 2A16.5 16.5 0 0 1 4 6.2 2 2 0 0 1 6 4z'/%3E%3C/svg%3E");
}

@media (min-width: 768px)  and (max-width: 1023px){ :root{ --ths-u: 1.7578vw; } }
@media (min-width: 1280px) and (max-width: 1439px){ :root{ --ths-u: 1.25vw;   } }
@media (min-width: 1920px) and (max-width: 2559px){ :root{ --ths-u: 0.9375vw; } }
@media (min-width: 2560px){                         :root{ --ths-u: 24px;     } }


.ths-kontakt{
  pointer-events: auto;
  position: absolute;
  left: calc(var(--ths-u) * 2.2222);   
  top: 50%;
  transform: translateY(-50%);
  z-index: 5;
  display: flex;
  align-items: center;
  gap: calc(var(--ths-u) * 0.6667);    
  padding: 0;
  border: 0;
  background: none;
  font-family: inherit;
  font-size: var(--ths-label-fs, 16px);
  font-weight: 500;
  line-height: 1;
  letter-spacing: normal;
  text-transform: none;
  color: rgba(255, 255, 255, .6);
  white-space: nowrap;
  cursor: pointer;
  text-decoration: none;
  transition: color .15s ease-in-out;
}

.ths-kontakt:hover,
.ths-kontakt:focus-visible{
  color: #fff;
}

.ths-kontakt-icon{
  width: var(--ths-u);                       
  height: calc(var(--ths-u) * 1.0556);       
  flex: none;
  background-color: #fff;
  -webkit-mask: var(--ths-tel) center / contain no-repeat;
		  mask: var(--ths-tel) center / contain no-repeat;
}


/* --- 3) Panel — Grundgeruest ---------------------------------------------- */

.ths-kontakt-panel{
  position: fixed;
  inset: 0;
  z-index: 10050;
  display: flex;
  justify-content: flex-end;
  background: rgba(29, 56, 99, .6);
  opacity: 0;
  visibility: hidden;
  transition: opacity .3s ease-in-out, visibility .3s ease-in-out;
}

body.ths-kontakt-open .ths-kontakt-panel{
  opacity: 1;
  visibility: visible;
}

.ths-kontakt-flaeche{
  position: relative;
  width: 100%;
  max-width: 0;
  height: 100%;
  background: #fff;
  overflow-x: hidden;
  overflow-y: auto;
  overscroll-behavior: contain;
  transition: max-width .5s ease-in-out .2s;
}

body.ths-kontakt-open .ths-kontakt-flaeche{ max-width: 26%; }

@media (max-width: 1279px){
  body.ths-kontakt-open .ths-kontakt-flaeche{ max-width: 33.33%; }
}

@media (min-width: 2560px){
  body.ths-kontakt-open .ths-kontakt-flaeche{ max-width: 25%; }
}

.ths-kontakt-inner{
  width: 26vw;
}

@media (max-width: 1279px){ .ths-kontakt-inner{ width: 33.33vw; } }
@media (min-width: 2560px){ .ths-kontakt-inner{ width: 25vw;    } }


/* --- 4) Kopfleiste des Panels --------------------------------------------- */
.ths-kontakt-kopf{
  position: absolute;
  top: var(--ths-kopf-top, 0px);
  right: 0;
  z-index: 2;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: calc(var(--ths-u) * 1.1111);     
  height: var(--ths-kopf-h, 124px);
  padding: 0 var(--ths-kopf-right, 34px);
  border: 0;
  background: none;
  font-family: inherit;
  font-size: var(--ths-label-fs, 16px);
  font-weight: 500;
  line-height: 1;
  color: var(--ths-accent);
  cursor: pointer;
}

.ths-kontakt-kreuz{
  position: relative;
  width: 20px;
  height: 20px;
  flex: none;
}

.ths-kontakt-kreuz::before,
.ths-kontakt-kreuz::after{
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  width: 100%;
  height: 2px;
  margin-top: -1px;
  background: var(--ths-navy);
}

.ths-kontakt-kreuz::before{ transform: rotate(45deg); }
.ths-kontakt-kreuz::after{  transform: rotate(-45deg); }


/* --- 5) Bloecke, Ueberschriften, Text ------------------------------------- */

.ths-kontakt-block{
  padding: calc(var(--ths-u) * 3.3333) calc(var(--ths-u) * 2.2222);
}

.ths-kontakt-block:first-child{
  padding-top: calc(var(--ths-u) * 6.6667);
}

.ths-kontakt-block + .ths-kontakt-block{
  border-top: 1px solid var(--ths-grey);
}

@media (min-width: 2560px){
  .ths-kontakt-block{ padding: calc(var(--ths-u) * 5) calc(var(--ths-u) * 5); }
  .ths-kontakt-block:first-child{ padding-top: calc(var(--ths-u) * 6.6667); }
}

.ths-kontakt-headline{
  display: flex;
  align-items: center;
  gap: calc(var(--ths-u) * 1.1111);
}

.ths-kontakt-headline .ths-kontakt-label{
  font-size: calc(var(--ths-u) * 0.7778);
  font-weight: 500;
  line-height: 1.3;
  letter-spacing: calc(var(--ths-u) * 0.1444);
  text-transform: uppercase;
  color: var(--ths-dim);
}

.ths-kontakt-content{
  margin-top: calc(var(--ths-u) * 1.6667);       
  font-size: var(--ths-u);                       
  line-height: 1.5;                              
  color: var(--ths-navy);
}

.ths-kontakt-content p{
  margin: 0;
  font-size: inherit;
  line-height: inherit;
  color: inherit;
}

.ths-kontakt-content a{
  color: inherit;
  text-decoration: none;
}

.ths-kontakt-content a.ths-strich{
  text-decoration: underline;
}

.ths-kontakt-content a:hover,
.ths-kontakt-content a:focus-visible{
  color: var(--ths-accent);
}


/* --- 6) Schluessel-Wert-Raster -------------------------------------------- */

.ths-kontakt-grid{
  display: grid;
  column-gap: calc(var(--ths-u) * 1.3889);   
  margin-top: calc(var(--ths-u) * 1.5);      
}

.ths-kontakt-grid--kontakt{ grid-template-columns: auto 1fr; }
.ths-kontakt-grid--zeiten{  grid-template-columns: 1fr auto; }

.ths-kontakt-grid > *{
  font-size: var(--ths-u);
  line-height: 1.5;
  color: var(--ths-navy);
}


/* --- 7) Status-Anzeige der Geschaeftszeiten ------------------------------- */

.ths-kontakt-status{
  display: flex;
  align-items: center;
  gap: calc(var(--ths-u) * 0.5556);              
  font-size: calc(var(--ths-u) * 0.7778);
  letter-spacing: calc(var(--ths-u) * 0.1444);
  text-transform: uppercase;
  color: var(--ths-accent);
}

.ths-kontakt-status.ths-offen{
  color: #1a7f4b;
}

.ths-kontakt-punkt{
  width: calc(var(--ths-u) * 0.5);               
  height: calc(var(--ths-u) * 0.5);
  flex: none;
  border-radius: 50%;
  background: currentColor;
}


/* --- 8) Responsiv --------------------------------------------------------- */

@media (max-width: 767px){

  .ths-kontakt{
	display: none;
  }

  body.ths-kontakt-open .ths-kontakt-flaeche{
	max-width: 100%;
	padding-bottom: 100px;
  }

  .ths-kontakt-inner{
	width: 100vw;
  }

  .ths-kontakt-block{
	padding: 60px 25px;
  }

  .ths-kontakt-block:first-child{
	padding-top: 100px;
  }
}

@media (prefers-reduced-motion: reduce){
  .ths-kontakt-panel,
  .ths-kontakt-flaeche{
	transition: none;
  }
}

/* =============================================================================
 * THS Karriereseite — KI-Badge auf Single-Media-Bildern
 * ============================================================================= */


/* --- 1) Stellschrauben ---------------------------------------------------- */

.uncode-single-media[class*="ths-ki-"]{
  --ths-ki-breite:  90px;
  --ths-ki-abstand: 20px;
  --ths-ki-datei:   url("/wp-content/uploads/2026/08/KI-generiertes-Bild.svg");
}


/* --- 2) Das Badge --------------------------------------------------------- */

.uncode-single-media[class*="ths-ki-"] .t-entry-visual{
  position: relative;
}

.uncode-single-media[class*="ths-ki-"] .t-entry-visual::after{
  content: "";
  position: absolute;
  z-index: 2;
  width: var(--ths-ki-breite);
  height: calc(var(--ths-ki-breite) * 67.1 / 382.9);
  background: var(--ths-ki-datei) center / contain no-repeat;
  pointer-events: none;
}


/* --- 3) Die vier Ausrichtungen -------------------------------------------- */

.uncode-single-media.ths-ki-oben-links .t-entry-visual::after{
  top:  var(--ths-ki-abstand);
  left: var(--ths-ki-abstand);
}

.uncode-single-media.ths-ki-oben-rechts .t-entry-visual::after{
  top:   var(--ths-ki-abstand);
  right: var(--ths-ki-abstand);
}

.uncode-single-media.ths-ki-unten-links .t-entry-visual::after{
  bottom: var(--ths-ki-abstand);
  left:   var(--ths-ki-abstand);
}

.uncode-single-media.ths-ki-unten-rechts .t-entry-visual::after{
  bottom: var(--ths-ki-abstand);
  right:  var(--ths-ki-abstand);
}


/* --- 4) Optionale Zusatzklassen ------------------------------------------- *
 * Zusaetzlich zur Ausrichtungsklasse eintragen, mit Leerzeichen getrennt,
 * zum Beispiel:  ths-ki-unten-rechts ths-ki-eng                              */

.uncode-single-media.ths-ki-eng{  --ths-ki-abstand: 12px; }
.uncode-single-media.ths-ki-weit{ --ths-ki-abstand: 32px; }

/* --- 5) Stellschrauben der Row-Variante ----------------------------------- */

[class*="ths-ki-row-"]{
  --ths-ki-breite:    90px;
  --ths-ki-abstand:   20px;
  --ths-ki-ueberhang: 4px;
  --ths-ki-datei:     url("/wp-content/uploads/2026/08/KI-generiertes-Bild.svg");
  --ths-ki-seite:     calc(var(--ths-ki-abstand) + var(--ths-ki-ueberhang));
}


/* --- 6) Das Badge auf der Row --------------------------------------------- */

[class*="ths-ki-row-"]{
  position: relative;
}

[class*="ths-ki-row-"]::after{
  content: "";
  position: absolute;
  z-index: 3;
  width: var(--ths-ki-breite);
  height: calc(var(--ths-ki-breite) * 67.1 / 382.9);
  background: var(--ths-ki-datei) center / contain no-repeat;
  pointer-events: none;
}


/* --- 7) Die vier Ausrichtungen -------------------------------------------- */

.ths-ki-row-oben-links::after{
  top:  var(--ths-ki-abstand);
  left: var(--ths-ki-seite);
}

.ths-ki-row-oben-rechts::after{
  top:   var(--ths-ki-abstand);
  right: var(--ths-ki-seite);
}

.ths-ki-row-unten-links::after{
  bottom: var(--ths-ki-abstand);
  left:   var(--ths-ki-seite);
}

.ths-ki-row-unten-rechts::after{
  bottom: var(--ths-ki-abstand);
  right:  var(--ths-ki-seite);
}


/* --- 8) Optionale Zusatzklassen der Row-Variante -------------------------- */

[class*="ths-ki-row-"].ths-ki-eng{  --ths-ki-abstand: 12px; }
[class*="ths-ki-row-"].ths-ki-weit{ --ths-ki-abstand: 32px; }


/* --- 9) Bild im Quiz-Hero ------------------------------------------------- *
 * Fuer eine andere Ecke die beiden Angaben in der zweiten Regel tauschen:
 * bottom gegen top, right gegen left.                                        */

.thsq-s0-media{
  position: relative;
  --ths-ki-breite:  90px;
  --ths-ki-abstand: 20px;
  --ths-ki-datei:   url("/wp-content/uploads/2026/08/KI-generiertes-Bild.svg");
}

.thsq-s0-media::after{
  content: "";
  position: absolute;
  z-index: 2;
  bottom: var(--ths-ki-abstand);
  right:  var(--ths-ki-abstand);
  width: var(--ths-ki-breite);
  height: calc(var(--ths-ki-breite) * 67.1 / 382.9);
  background: var(--ths-ki-datei) center / contain no-repeat;
  pointer-events: none;
}

/* 9.1 Titel die Mindestbreite nehmen */
body.single-awsm_job_openings .post-title-wrapper{
  min-width: 0;
}

/* 9.2 — Headline passt sich der Fensterbreite an; Trennung nur als Notbremse */
@media (max-width: 479px){
  body.single-awsm_job_openings h1.post-title{
	font-size: clamp(18px, calc((100vw - 96px) / 14), 24px);

	-webkit-hyphens: auto;
			hyphens: auto;
	-webkit-hyphenate-limit-before: 6;
	-webkit-hyphenate-limit-after: 5;
	hyphenate-limit-chars: 14 6 5;
	overflow-wrap: break-word;
  }
}

@media (max-width: 767px){
  .overlay-menu .vmenu-container.menu-container.menu-light ul.menu-primary-inner > li:first-child{
	margin-top: 0;
	border-top: 0;
  }
}

/* KI-Badge mobil kleiner */
@media (max-width: 767px){

  .uncode-single-media[class*="ths-ki-"],
  [class*="ths-ki-row-"],
  .thsq-s0-media{
    --ths-ki-breite: 80px;
    --ths-ki-abstand: 12px;
  }

}

/* --- 10) Datei-Ablage: Vorschau nach dem Ablegen (Nachtrag 16.09.2026) ----- *
 * ------------------------------------------------------------------------- */
body.single-awsm_job_openings .awsm-form-drag-and-drop-file-control .dz-preview{
  background: #fff;
  border: 1px solid var(--ths-line);
  border-radius: 2px;
  align-items: center;
  padding: 14px 48px 14px 16px;
  margin-top: 12px;
}
body.single-awsm_job_openings .awsm-form-drag-and-drop-file-control .dz-preview .dz-details .dz-filename{
  color: var(--ths-navy);
  font-size: 15px;
  font-weight: 700;
  line-height: 1.3;
}
body.single-awsm_job_openings .awsm-form-drag-and-drop-file-control .dz-preview .dz-details .dz-size{
  color: var(--ths-grey);
  font-size: 14px;
  line-height: 1.3;
}
body.single-awsm_job_openings .awsm-form-drag-and-drop-file-control .dz-preview .dz-remove{
  top: 50%;
  right: 16px;
  width: 14px;
  height: 14px;
  margin-top: -7px;
  opacity: 1;
}
body.single-awsm_job_openings .awsm-form-drag-and-drop-file-control .dz-preview .dz-remove::before,
body.single-awsm_job_openings .awsm-form-drag-and-drop-file-control .dz-preview .dz-remove::after{
  background-color: var(--ths-navy);
  height: 16px;
  width: 2px;
  right: 6px;
  top: -1px;
}
body.single-awsm_job_openings .awsm-form-drag-and-drop-file-control .dz-preview .dz-remove:hover::before,
body.single-awsm_job_openings .awsm-form-drag-and-drop-file-control .dz-preview .dz-remove:hover::after{
  background-color: var(--ths-accent);
}
body.single-awsm_job_openings .awsm-form-drag-and-drop-file-control .dz-preview .dz-error-message{
  color: var(--ths-accent);
  font-size: 14px;
}