@charset "utf-8";

html { font-family: Calibri, Helvetica, sans-serif; }
body { display: flex; justify-content: center; margin: 0px; }
.content { width: 800px; min-height: 400px; border: 1px solid black; position: relative; margin-bottom: 10px; }
header .header {
    position: relative;
 width: 100%; margin: 0px; }
.header {
    position: relative;
 margin: 30px 0px; text-align: center; font-size: 42px; font-weight: 700; }
.header p { margin-top: 0px; margin-bottom: 10px; }
.Headerzusatz { font-weight: 400; font-size: 26px; }
h1.titel { font-size: 18px; text-transform: uppercase; font-weight: 700; background-color: rgb(240, 100, 0); color: rgb(255, 255, 255); margin: 0px; padding: 8px 12px; }
.left { margin-right: 15px; }
.right { width: 50%; }
.left { width: 49%; }
.intro, .block, .benefits, .contact { margin: 0px 20px; }
.block { display: flex; justify-content: center; }
.benefits { margin-top: 35px; }
.contact h1.titel { margin-top: 40px; }
ul { padding-left: 30px; margin-right: 20px; padding-top: 0px; list-style: none; line-height: 20px; margin-top: 10px; }
li { margin-top: 10px; position: relative; }
li::before { position: absolute; content: "+"; font-size: 32px; font-weight: 700; vertical-align: top; top: -1px; left: -20px; color: rgb(0, 90, 170); }
a { color: rgb(240, 100, 0); text-decoration: none; }
p { margin-top: 30px; }
.logo { margin-left: auto; margin-right: 20px; margin-bottom: 20px; width: 200px; }
.logo img { width: 100%; }
.logo2 { margin-left: 20px; margin-right: auto; margin-bottom: 20px; }
.icon { float: left; padding-right: 18px; }
.contact p { margin-left: 5px; }
.subintro p { text-align: center; margin-top: 0px; }
.contact .inhalt { overflow: hidden; box-sizing: border-box; }
.contact .inhalt p { margin-top: 10px; }
.contact .inhalt img { float: left; max-width: 100px; height: auto; margin: 10px 20px 0px 0px; }
.spacer { margin-top: 25px; }
.applylink { display: none; }

* { scrollbar-width: thin; }
::-webkit-scrollbar { width: 5px; height: 5px; }
::-webkit-scrollbar-track { margin: 2px 0px 0px; }
::-webkit-scrollbar-thumb { background: rgb(202, 202, 202); }
/* Telefon-Links: Formatierung des umgebenden Textes übernehmen */
a[href^="tel:"] {
    color: inherit;
    text-decoration: none;
    font-weight: inherit;
    font-size: inherit;
}

@media print {
  body { background: #fff !important; display: block; }
  .body { border: none !important; width: 100% !important; max-width: 100% !important; }
  header .banner, header .header { width: 100% !important; }
  a[href^="http"]::after { content: " (" attr(href) ")"; font-size: 0.75em; }
}

@media (max-width: 56rem) {
  .body { width: 100%; border-left: none; border-right: none; }
  header .banner, header .header { width: 100%; }
  header .text { position: static; width: 100%; bottom: auto; left: auto; }
  header .logo { position: static; margin: 10px; }
}

/* Web-Lesbarkeit: ruhigere Zeilenhöhe (SDE-111270). */
.body { line-height: 1.5; }

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

/* Sehr schmaler Viewport (≤480px): langer Positionstitel + <nobr>-Metazeile umbrechen. (SDE-111270) */
.titel { overflow-wrap: break-word; }
@media (max-width: 480px) {
  main .info { display: block; }
  main .info p { float: none; display: inline; }
  main .info nobr { white-space: normal; }
  main .intro .titel { font-size: 20px; }
}


/* Anzeigenspezifische Overrides (aus HTML-inline-style) */
html {
        font-family: "Calibri", Helvetica, sans-serif;;
    }
    
    body {
        display: flex;
        justify-content: center;
        margin: 0px;
    }
    
    .content {
        width: 800px;
        min-height: 400px;
        border: 1px solid black;
        position: relative;
        margin-bottom: 10px;
    }
    
    header .header {
        width: 100%;
        margin: 0px;
    }
    
    .header {
        margin: 30px 0px;
        text-align: center;
        font-size: 32px;
        font-weight: 700;
    }
    .header p {
        margin-top: 0px;
        margin-bottom: 10px;
    }
    .Headerzusatz {
        font-weight: 400;
        font-size: 20px;
    }
    h1.titel {
        font-size: 18px;
        text-transform: uppercase;
        font-weight: 700;
        background-color: #f06400;
        color: #fff;
        margin: 0px;
        padding: 8px 12px;
    }
    
    .left {
        margin-right: 15px;
    }
    
    .right {
        width: 50%;
    }
    
    .left {
        width: 49%;
    }
    
    .intro, .block, .benefits, .contact {
        margin: 0px 20px;
    }
    
    .block {
        display: flex;
        justify-content: center;
    }
    
    .benefits {
        margin-top: 35px;
    }
    
    .contact h1.titel {
        margin-top: 40px;
    }
    
    ul {
        padding-left: 30px;
        margin-right: 20px;
        padding-top: 0px;
        list-style: none;
        line-height: 20px;
        margin-top: 10px;
    }
    
    li {
        margin-top: 10px;
        position: relative;
    }
    
    li::before {
        position: absolute;
        content: "+";
        font-size: 25px;
        font-weight: 700;
        vertical-align: top;
        top: -1px;
        left: -20px;
        color: #005aaa;
    }
    
    a {
        color: #f06400;
        text-decoration: none;
    }
    p {
        margin-top: 30px;
    }
    .logo {
        margin-left: auto; 
        margin-right: 20px;
        margin-bottom: 20px;
        width: 200px;
    }
    .logo img {
        width: 100%;
    }
    
    .logo2 {
        margin-left: 20px; 
        margin-right: auto;
        margin-bottom: 20px;
    }
    
    .icon{
        float: left;
        padding-right: 18px;
    }
    .contact p {
        margin-left: 5px
    }
    .subintro p {
        text-align: center;
        margin-top: 0px;
    }
    .contact .inhalt {
        overflow: hidden;
        box-sizing: border-box;

    }
    .contact .inhalt p {
        margin-top: 10px;

    }
    .contact .inhalt img{
        float: left;
        max-width: 100px;
        height: auto;
        margin: 10px 20px 0 0;
    }
    .spacer {
        margin-top: 25px;
    }
    .applylink {
        display: none;
    }

/* prt-jobtitel-hierarchie */
/* Der Jobtitel ist jetzt das <h1>, die Abschnitts-Banner sind <h2> — beide behalten
   ihre Optik aus der Vorlage (Zwillings-Regeln, keine neuen Werte). */
.header h1.prt-jobtitel { font: inherit; }
.header h1 { margin-top: 0px; margin-bottom: 10px; }
.header h1 {
        margin-top: 0px;
        margin-bottom: 10px;
    }
h2.titel { font-size: 18px; text-transform: uppercase; font-weight: 700; background-color: rgb(240, 100, 0); color: rgb(255, 255, 255); margin: 0px; padding: 8px 12px; }
.contact h2.titel { margin-top: 40px; }
h2.titel {
        font-size: 18px;
        text-transform: uppercase;
        font-weight: 700;
        background-color: #f06400;
        color: #fff;
        margin: 0px;
        padding: 8px 12px;
    }
.contact h2.titel {
        margin-top: 40px;
    }

/* prt-spalten-stapelung */
/* Unter 700px stehen die Spalten untereinander — zweispaltig ist auf dem Handy
   unlesbar (Betreiber-Auftrag 30.07.2026). Container aus dem CSS abgeleitet. */
@media (max-width: 700px) {
  .block { flex-direction: column !important; gap: 0; }
  .block > * { width: 100% !important; margin-right: 0 !important;
    margin-left: 0 !important; }
}

b, strong { font-weight: bold; }

.prt-autolink::before, .prt-autolink::after { content: none !important; }
a.prt-autolink { font-weight: inherit !important; }

[href^="tel:"] { white-space: nowrap; }

#wrapper, .wrapper { padding-bottom: 2.5rem; }

/* prt-hyphenation — Silbentrennung langer Wörter (Proteus, alle Anzeigen) */
@media (max-width: 800px) {
  html {
  overflow-wrap: break-word;
  }
}
@media (max-width: 800px) {
  h1, h2, h3, h4, h5, h6 {
  -webkit-hyphens: auto;
  -moz-hyphens: auto;
  -ms-hyphens: auto;
  hyphens: auto;
  -webkit-hyphenate-limit-chars: 8 4 3;
  hyphenate-limit-chars: 8 4 3;
  }
}
@media (max-width: 700px) {
  html {
  -webkit-hyphens: auto;
  -moz-hyphens: auto;
  -ms-hyphens: auto;
  hyphens: auto;
  -webkit-hyphenate-limit-chars: 8 4 3;
  hyphenate-limit-chars: 8 4 3;
  }
}

/* proteus-randabstand */
/* Die Anzeige steht nie auf der Fensterkante. In der Quelle hält die
   Portalseite diesen Abstand — in der ausgelieferten Datei gibt es sie
   nicht mehr (SDE-113232). Ergänzt wird NUR das Fehlende, je Breite und
   Seite am gerenderten Output gemessen; wo die Vorlage ihren Abstand
   selbst mitbringt, bleibt es bei 0. Am `body`, also außerhalb der
   Anzeige — der Innenabstand der Vorlage bleibt unverändert. */
@media screen and (max-width:1008px){body{padding-left:0px;padding-right:0px}}
@media screen and (max-width:900px){body{padding-left:0px;padding-right:0px}}
@media screen and (max-width:768px){body{padding-left:15px;padding-right:15px}}
@media screen and (max-width:600px){body{padding-left:15px;padding-right:15px}}
@media screen and (max-width:480px){body{padding-left:15px;padding-right:15px}}
@media screen and (max-width:390px){body{padding-left:15px;padding-right:15px}}

/* proteus-schriftgroesse-gemessen */
/* Fließtext mindestens 16px (Betreiber-Vorgabe SDE-113070): nur die Blöcke,
   die in der Vorlage kleiner standen — am Output gemessen, weil die Größe oft vom
   body/Container geerbt wird (SDE-123205). Maßstab ist die SICHTBARE Größe: eine
   Schrift mit kleinen Kleinbuchstaben wird größer gesetzt (YF-51810). Nur Bildschirm. */
@media screen {
  .prt-schrift { font-size: 16px !important; }
  .prt-schrift.prt-schrift-17 { font-size: 17px !important; }
}

/* proteus-breite-mit-schrift */
/* Die Anzeige wächst mit der Schrift (Betreiber 06.10.2026): der Fließtext wurde
   angehoben, die schmale Vorlage wird im selben Verhältnis breiter — höchstens
   1008 px, im schmalen Fenster weiter 100 %. Nur Bildschirm. */
@media screen { .prt-breite { box-sizing: border-box !important; width: min(852px, 100%) !important; max-width: none !important; } }

/* proteus-zeilenabstand */
/* Fließtext mindestens 1.5-zeilig gesetzt (Betreiber 24.09.2026):
   nur die Blöcke, die in der Vorlage enger standen — am Output gemessen.
   Nur Bildschirm: im Druck bleibt die Vorlage. */
@media screen { .prt-zeilen { line-height: 1.5 !important; } }
