@charset "utf-8";

@font-face {
  font-family: 'ORLENSans-Black';
  src: url('../fonts/11_ORLENSans-Black.woff2') format('woff2'),
       url('../fonts/01_ORLENSans-Black.woff') format('woff');
  font-display: swap;
}
@font-face {
  font-family: 'ORLENSans-Semibold';
  src: url('../fonts/14_ORLENSans-Semibold.woff2') format('woff2'),
       url('../fonts/02_ORLENSans-Semibold.woff') format('woff');
  font-display: swap;
}
@font-face {
  font-family: 'ORLENSans-Regular';
  src: url('../fonts/13_ORLENSans-Regular.woff2') format('woff2'),
       url('../fonts/03_ORLENSans-Regular.woff') format('woff');
  font-display: swap;
}
@font-face {
  font-family: 'ORLENSans-Bold';
  src: url('../fonts/12_ORLENSans-Bold.woff2') format('woff2'),
       url('../fonts/04_ORLENSans-Bold.woff') format('woff');
  font-display: swap;
}
@font-face {
  font-family: 'opensans-bold';
  src: url('../fonts/05_opensans-bold.woff2') format('woff2');
  font-display: swap;
}
@font-face {
  font-family: 'opensans-italic';
  src: url('../fonts/06_opensans-italic.woff2') format('woff2');
  font-display: swap;
}
@font-face {
  font-family: 'opensans-regular';
  src: url('../fonts/07_opensans-regular.woff2') format('woff2');
  font-display: swap;
}
@font-face {
  font-family: 'roboto-bold';
  src: url('../fonts/08_roboto-bold.woff2') format('woff2');
  font-display: swap;
}
@font-face {
  font-family: 'roboto-italic';
  src: url('../fonts/09_roboto-italic.woff2') format('woff2');
  font-display: swap;
}
@font-face {
  font-family: 'roboto-regular';
  src: url('../fonts/10_roboto-regular.woff2') format('woff2');
  font-display: swap;
}

*, *::before, *::after { box-sizing: border-box; }

body {
  margin: 0;
  padding: 0;
  background: #f0f0f0;
}

img { max-width: 100%; height: auto; display: block; }

/* === Portal-Container — Schrift/Größe/Farbe wie im Original === */
.frame_zone, #frame_zone {
  font-family: ORLENSans-Regular, Arial, Helvetica, sans-serif;
  font-size: 18px;
  color: rgb(87, 87, 86);
  line-height: 2;
  width: 100%;
}

/* Überschriften — Schriftschnitte aus den gemessenen Werten */
.frame_zone h1, .frame_zone h2, .frame_zone h3,
.frame_zone h4, .frame_zone h5, .frame_zone h6 {
  padding: 10px 0;
  margin: 0;
  font-family: ORLENSans-Regular, Arial, Helvetica, sans-serif;
  font-weight: normal;
  line-height: 2.2;
  color: inherit;
  text-rendering: optimizelegibility;
}
.frame_zone h1 { font-family: ORLENSans-Bold, Arial, Helvetica, sans-serif; line-height: 40px; font-size: 32.5px; }
.frame_zone h2 { font-family: ORLENSans-Semibold, Arial, Helvetica, sans-serif; font-size: 18px; }
.frame_zone h3 { font-size: 18px; }
.frame_zone p  { margin: 0 0 2em; }
/* section-Tags wie p behandeln – content_text nutzt section statt p */
.frame_zone section { display: block; margin: 0 0 2em; }

/* Links */
.frame_zone a, .frame_zone a:visited,
.frame_zone a:hover, .frame_zone a:active, .frame_zone a:focus {
  text-decoration: none;
  color: #4b575f;
}

/* tel:-Links bleiben optisch Klartext */
.onlyfy-tel { color: inherit; text-decoration: none; }

/* Bewerbungs-Button — Farbe und Schrift aus den gemessenen Tenant-Werten */
.bewerben-wrap {
  text-align: right;
  padding: .75rem 1.5rem 1.5rem;
  background: transparent;
}
.btn-bewerben {
  display: inline-block;
  padding: 10px 20px;
  background: rgb(216, 30, 4);
  color: #fff !important;
  text-decoration: none;
  font-family: 'ORLENSans-Black', ORLENSans-Bold, Arial, Helvetica, sans-serif;
  font-weight: normal;
  font-size: 18px;
  line-height: 22px;
  border-radius: 0;
  cursor: pointer;
}
.btn-bewerben:hover { filter: brightness(0.92); }

/* Wrapper: max-width, transparent (frame_zone-BG scheint durch) */
#wrapper {
  max-width: 834px;
  margin: 0 auto;
  background: transparent;
}

/* Site-Header (Logo-Leiste) */
.site-header {
  background: #fff;
  padding: .75rem 1.5rem;
  border-bottom: 1px solid #e8e8e8;
}
.logo-wrap { display: inline-block; }
.logo { width: 150px; height: auto; max-width: 100%; }

/* Job-Header (Jobtitel + Meta) */
.job-header-bg {
  background: #fff;
  padding: 0;
  border-bottom: 1px solid #e0e0e0;
}

/* Job-Meta (Ort, Beschäftigungsart) – jede UL eine Tabellenzelle */
.job-meta {
  display: table;
  width: 100%;
  margin: 0 0 10px;
  padding: 0;
}
.job-meta .scheme-additional-data {
  display: table-cell;
  min-width: 40%;
  margin: 0;
  padding: 0;
  list-style: none;
  vertical-align: middle;
}
.job-meta li {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 16px;
  font-weight: normal;
  color: #000;
  list-style: none;
  margin: 4px 0;
}
/* Metazeile-Icons (Inline-SVG) in der Tenant-Akzentfarbe */
.job-meta li svg {
  width: 1em;
  height: 1em;
  flex-shrink: 0;
  fill: rgb(216, 30, 4);
}

/* Content-Bereich */
.job-content { padding: 0; background: transparent; }

/* Video responsive */
iframe {
  width: 100%;
  aspect-ratio: 16/9;
  border: 0;
}


#frame_zone, .frame_zone { background: #ffffff; }
.job-header-bg {
    background: #fff;
    padding: 1.25rem 1.5rem 1rem;
    border-bottom: 1px solid #e0e0e0;
}


/* Anzeigenspezifisches CSS aus Portal (scheme-*, content-images etc.) */
#content_zone {
max-width: 834px;
}
#scheme_detail_data {
width:100%;
display:table;
margin-bottom: 10px;
}
.scheme-border {
border: 1px solid rgba(220,223,226,0.8);
}
.scheme-margin {
margin-top: 10px;
}
.scheme-display .scheme-content {
font-size: 16px;
padding: 14px 24px;
background-color: #ffffff;
line-height: 1.6;
}
.scheme-display .scheme-title {
word-break: break-word;
}
.scheme-display .scheme-title h2 {
margin: 0px;
font-size: 28px;
line-height: 2;
padding: 0px;
}
.scheme-display .scheme-title ul {
margin-bottom: 16px;
}
.scheme-display .video {
width: 100%;
height: 400px;
}
.scheme-display h2.scheme-headline {
margin: 0px 0px 18px 0px;
padding: 0px;
}
.scheme-display .content-images {
position: relative;
overflow: hidden;
display: block;
box-sizing: border-box;
padding: 0px;
}
.scheme-display .content-images:not(:has(.content-images-frame)) {
height: 335px;
}
#header_image {
display: none;
}
#jobTplContainer ul.scheme-additional-data  {
margin-bottom: 0px;
min-width: 40%;
}
.scheme-additional-data {
float: left;
margin: 0;
padding: 0;
list-style: none;
}
.scheme-additional-data li {
list-style: none; 
margin: 4px 15px 0px -3px !important;
}
.scheme-additional-data li.left {
float: left;
}
.scheme-display .scheme-display .slide-images {
width: 100%;
position:absolute;
top: 50%;
left: 50%;
-webkit-transform: translate(-50%,-50%);
-ms-transform: translate(-50%,-50%);
}
.scheme-display .content-images-frame {
position: relative;
width: 100%;
height: 335px;
overflow: hidden;
}
.scheme-display .content-images-description {
display: block;
text-align: left;
font-size: 1rem;
line-height: 1.4;
color: #000;
padding: 8px 24px;
border-bottom: 1px solid rgba(220,223,226,0.8);
}
.scheme-content .user-image {
width: 100px;
height: 100px;
border-radius: 50%;
float: left;
line-height: 100px;
background: no-repeat center center;
background-size: cover;
}
.scheme-content .user-data {
height: 100px;
margin-left: 80px;
}
.scheme-content .user-data li {
list-style: none;
}
i.fa-fw {
margin-right: 5px;
margin-left: 5px;
}
@media (max-width: 768px) {
.scheme-additional-data li {
display: block;
float: none;
}
.scheme-display .content-images {
height: 250px;
}
}
@media (max-width: 650px) {
.scheme-display .content-images {
height: 250px;
}
}
@media (max-width: 450px) {
.scheme-display .content-images {
height: 133px;
}
}

@media print {
  body { background: #fff; }
  #wrapper { max-width: 100%; }
  #frame_zone { background: #fff !important; }
  .job-header-bg { background: #fff; }
  iframe, video { display: none; }
}

@media (prefers-reduced-motion: reduce) {
  * { animation: none !important; transition: none !important; }
}

@media (max-width: 600px) {
  .job-header-bg { padding: 1rem; }
  .frame_zone h1 { font-size: 1.5rem; line-height: 1.3; }
}
