
/* ========================================== BASIS ========================================== */
 html {
     font-size: 16px;
     scroll-behavior: smooth;
}
 body {
     font-family: var(--font-body) !important;
     font-size: 1rem;
     line-height: 1.75;
     color: var(--text);
     background: var(--white);
     -webkit-font-smoothing: antialiased;
     -moz-osx-font-smoothing: grayscale;
}
 #offcanvas-toggler{
     display: none !important;
}
/* ========================================== TYPOGRAFIE ========================================== */
 body h1, body h2, body h3, body h4, body h5, body h6 {
     font-family: var(--font-heading) !important;
     color: var(--dark);
}
 h1, .h1 {
     font-size: clamp(1.9rem, 2.5vw, 3rem) !important;
     line-height: 1.1 !important;
     font-weight: 800 !important;
     letter-spacing: -0.03em;
     margin-bottom: 1.25rem;
}
 h2, .h2 {
     font-size: clamp(2rem, 3vw, 3rem) !important;
     line-height: 1.1 !important;
     font-weight: 800 !important;
     letter-spacing: -0.03em;
     margin-bottom: 1.25rem;
}
 h3, .h3 {
     font-size: clamp(1.4rem, 2vw, 1.9rem) !important;
     line-height: 1.25 !important;
     font-weight: 700 !important;
     margin-bottom: 1rem;
}
 h4, .h4 {
     font-size: 1.25rem !important;
     line-height: 1.35 !important;
     font-weight: 700 !important;
     margin-bottom: .875rem;
}
 h5, .h5 {
     font-size: 1.125rem !important;
     line-height: 1.4 !important;
     font-weight: 700 !important;
     margin-bottom: .75rem;
}
 h6, .h6 {
     font-weight: 700 !important;
     line-height: 1.4 !important;
     letter-spacing: 0.08em !important;
     text-transform: uppercase !important;
     color: var(--accent) !important;
     margin-bottom: 0.75rem !important;
}
 p {
     margin-bottom: 1.5rem;
}
 .sppb-addon-header h6.sppb-addon-title{
     display:inline-flex;
     align-items:center;
     gap:.6rem;
     padding:.7rem 1.25rem;
     background: rgba(var(--accent-rgb), .12);
     border-radius:999px;
     color:var(--accent);
     font-weight:700;
     letter-spacing:.15em;
     text-transform:uppercase;
}
 .sppb-addon-header h6.sppb-addon-title::before{
     content:"";
     width:.5rem;
     height:.5rem;
     background:var(--accent);
     border-radius:50%;
}
/* ========================================== Offcanvas ========================================== */
 .offcanvas-menu .offcanvas-inner ul.menu > li a:hover, .offcanvas-menu .offcanvas-inner ul.menu > li a:focus, .offcanvas-menu .offcanvas-inner ul.menu > li span:hover, .offcanvas-menu .offcanvas-inner ul.menu > li span:focus{
     color: var(--accent);
}
 .offcanvas-menu .offcanvas-inner .sp-contact-info > li:not(:last-child){
     margin-bottom: 0px;
}
 .offcanvas-menu .offcanvas-inner a:hover, .offcanvas-menu .offcanvas-inner a:focus, .offcanvas-menu .offcanvas-inner a:active{
     color: var(--accent);
}
 .offcanvas-menu .sp-contact-info{
     display: block;
}
/* ========================================== LINKS ========================================== */
 a {
     color: var(--primary);
     text-decoration: none;
     transition: var(--transition);
}
 a:hover {
     color: var(--primary-dark);
     text-decoration: none;
}
/* ========================================== BUTTONS ========================================== */
/* ================================================== STANDARD BUTTON ================================================== */
 .btn-primary {
     display: inline-flex !important;
     align-items: center !important;
     justify-content: center !important;
     padding: 0.95rem 1.75rem !important;
     border: none !important;
     border-radius: 0.875rem !important;
     background: var(--primary) !important;
     color: var(--white) !important;
     font-weight: 600 !important;
     line-height: 1 !important;
     text-decoration: none !important;
     transition: all .3s ease !important;
     box-shadow: 0 10px 30px rgba(15, 23, 42, .15) !important;
}
 .btn-primary:hover {
     background: var(--accent) !important;
     color: var(--white) !important;
     text-decoration: none !important;
     transform: translateY(-2px) !important;
     box-shadow: 0 15px 40px rgba(15, 23, 42, .20) !important;
}
/* ================================================== BEWERBUNGS BUTTON ================================================== */
/* ================================================== BEWERBUNGS BUTTONS ================================================== */
 .sppb-btn-bewerben, .sppb-btn-whatsapp, .initiativ-btn {
     text-align: left;
     padding: 0.95rem 1.75rem !important;
     border: none !important;
     border-radius: 0.875rem !important;
     background: var(--accent) !important;
     color: var(--white) !important;
     font-weight: 700 !important;
     line-height: 1 !important;
     text-decoration: none !important;
     transition: all .3s ease !important;
     box-shadow: 0 10px 30px rgba(var(--accent-rgb),.25) !important;
}
 .sppb-btn-bewerben i, .initiativ-btn i {
     font-size: 1.5rem !important;
     display: block;
     position: relative;
     top: 3px;
     float: left;
     margin-right: 8px !important;
     border-right: 1px solid #eee;
     padding-right: 8px;
}
 .sppb-btn-bewerben span, .initiativ-btn span{
     font-style: italic !important;
     font-weight: normal;
     font-size: 0.9rem;
     text-transform: none;
     text-align: left !important;
}
 .sppb-btn-bewerben:hover, .sppb-btn-whatsapp:hover, .initiativ-btn:hover {
     color: var(--white) !important;
     text-decoration: none !important;
     transform: translateY(-2px) !important;
     box-shadow: 0 15px 40px rgba(var(--accent-rgb),.35) !important;
}
 .sppb-btn-bewerben:hover, .initiativ-btn:hover {
     color: var(--white) !important;
     text-decoration: none !important;
     transform: translateY(-2px) !important;
     box-shadow: 0 15px 40px rgba(var(--accent-rgb),.35) !important;
}
/* ========================================== HERO STELLEN BUTTON ========================================== */
 .sppb-btn-dark{
     text-align:left;
     padding:0.95rem 1.75rem !important;
     border:none !important;
     border-radius:0.875rem !important;
     background:var(--secondary) !important;
     color:var(--white) !important;
     font-weight:700 !important;
     line-height:1 !important;
     text-decoration:none !important;
     transition:all .3s ease !important;
     box-shadow: 0 10px 30px rgba(var(--secondary-rgb), .25) !important;
}
 .sppb-btn-dark i{
     font-size:1.5rem !important;
     display:block;
     position:relative;
     top:3px;
     float:left;
     margin-right:8px !important;
     border-right:1px solid rgba(255,255,255,.25);
     padding-right:8px;
}
 .sppb-btn-dark span{
     font-style:italic !important;
     font-weight:400;
     font-size:0.9rem;
     text-transform:none;
     text-align:left !important;
     opacity:.9;
}
 .sppb-btn-dark:hover{
     background:var(--third) !important;
     color:var(--white) !important;
     text-decoration:none !important;
     transform:translateY(-2px) !important;
     box-shadow: 0 15px 40px rgba(var(--secondary-rgb), .35) !important;
}
/* ========================================== HELFERKLASSEN ========================================== */
 .text-center {
     text-align: center;
}
 .text-muted {
     color: var(--text-light) !important;
}
 .shadow-card {
     background: var(--white);
     border-radius: var(--radius);
     box-shadow: var(--shadow);
}
/* ========================================== JOB-STYLES ========================================== */
 .job-vorteile ul {
     padding-left: 0;
     margin-bottom: 0;
}
 .job-vorteile li {
     display: inline-block;
     margin-right: 15px;
     margin-bottom: 8px;
     font-size: .95rem;
}
/* ========================================== SECTION STANDARD ========================================== */
 .section-padding {
     padding-top: 7rem;
     padding-bottom: 7rem;
}
/* ========================================== BILDER ========================================== */
 img {
     max-width: 100%;
     height: auto;
}
/* ========================================== HOME ========================================== */
/* ========================================== VIDEO HERO ========================================== */
 #home.video-bg {
     position: relative;
     overflow: hidden;
}
 #home.video-bg .sppb-row {
     justify-content: center !important;
}
 #home.video-bg .sppb-column {
     width: 100% !important;
}
 #home.video-bg .sppb-column-addons {
     display: flex;
     flex-direction: column;
     align-items: center;
     text-align: center;
}
/* Headline */
 #home.video-bg h1 {
     max-width: 1000px;
     margin: 0 auto 1.5rem auto;
     text-align: center;
}
/* Text */
 #home.video-bg .sppb-addon-content p {
     max-width: 900px;
     margin-left: auto;
     margin-right: auto;
     text-align: center;
}
/* Vorteile */
 #home.video-bg ul {
     list-style: none;
     padding: 0;
     margin: 2rem auto;
     display: inline-flex;
     flex-direction: column;
     gap: 0.5rem;
     align-items: center;
}
 #home.video-bg ul li {
     text-align: center;
}
/* Buttons */
 #home.video-bg #sppb-addon-618e3e2e-43a4-42c1-905a-4d4b894453a9 {
     display: flex !important;
     justify-content: center !important;
     align-items: center !important;
     gap: 15px !important;
     flex-wrap: wrap !important;
}
/* Mobile */
 @media (max-width: 768px) {
     #home.video-bg h1 {
         font-size: clamp(2rem, 8vw, 3.5rem);
    }
     #home.video-bg ul {
         width: 100%;
    }
     #home.video-bg #sppb-addon-618e3e2e-43a4-42c1-905a-4d4b894453a9 {
         flex-direction: column;
    }
     #home.video-bg .sppb-btn-bewerben, #home.video-bg .sppb-btn-dark {
         width: 100%;
         max-width: 320px;
    }
}
/* ================================================== HERO IMAGE HOVER ================================================== */
 #home img {
     transition: filter .4s ease, opacity .4s ease !important;
}
 #home img:hover {
     filter: brightness(1.08) contrast(1.03) !important;
}
/* Liste zurücksetzen */
 #home .sppb-addon-content ul {
     list-style: none;
     padding: 0;
     margin: 25px 0;
}
/* Einzelne Punkte */
 #home .sppb-addon-content ul li {
     position: relative;
     padding-left: 32px;
     font-size: 1.1rem;
     color: var(--white);
}
/* Font Awesome Haken */
 #home .sppb-addon-content ul li::before {
     content: "\f00c";
     font-family: "Font Awesome 6 Free";
     font-weight: 900;
     position: absolute;
     left: 0;
     top: 2px;
     color: var(--accent);
     font-size: 16px;
}
/* ================================================== VIDEO SECTION ================================================== */
 #video {
     position: relative !important;
     background: #fff !important;
}
 #video .sppb-addon-video {
     overflow: hidden !important;
     background: #fff !important;
     border: 1px solid var(--border) !important;
     border-radius: 1.5rem !important;
     box-shadow: 0 2rem 5rem rgba(15, 23, 42, .12) !important;
}
 #video .sppb-video-block {
     overflow: hidden !important;
     border-radius: 1.5rem !important;
}
 #video iframe {
     display: block !important;
     width: 100% !important;
     border: 0 !important;
}
/* ======================================== WARUM MITARBEITER BLEIBEN ======================================== */
 #warum .sppb-addon-feature{
     background: var(--white) !important;
     padding: 2.5rem 2rem !important;
     border-radius: 1.5rem !important;
     border: 1px solid rgba(var(--primary-rgb),.06) !important;
     box-shadow: 0 10px 30px rgba(var(--primary-rgb),.05) !important;
     transition: all .35s ease !important;
     height: 100% !important;
     position: relative !important;
     overflow: hidden !important;
}
/* Akzentlinie oben */
 #warum .sppb-addon-feature::before{
     content: "";
     position: absolute;
     top: 0;
     left: 0;
     width: 100%;
     height: 4px;
     background: var(--accent) !important;
     opacity: 0;
     transition: all .35s ease !important;
}
/* Hover */
 #warum .sppb-addon-feature:hover{
     transform: translateY(-10px) !important;
     box-shadow: 0 20px 50px rgba(var(--primary-rgb),.12) !important;
}
 #warum .sppb-addon-feature:hover::before{
     opacity: 1 !important;
}
/* Icon-Kreis */
 #warum .sppb-icon{
     width: 6rem !important;
     height: 6rem !important;
     display: flex !important;
     align-items: center !important;
     justify-content: center !important;
     margin: 0 auto 1.5rem auto !important;
     background: rgba(var(--accent-rgb),.08) !important;
     border-radius: 50% !important;
     transition: all .35s ease !important;
}
/* Icon leicht hervorheben */
 #warum .sppb-addon-feature:hover .sppb-icon{
     background: rgba(var(--accent-rgb),.15) !important;
     transform: scale(1.05) !important;
}
/* Bild/Icon */
 #warum .sppb-icon img{
     max-width: 3.5rem !important;
     height: auto !important;
}
/* Titel */
 #warum h3{
     margin-bottom: 1rem !important;
}
/* Text */
 #warum p{
     margin-bottom: 0 !important;
}
/* ======================================== ÜBER UNS ======================================== */
 .ueber-uns-wrap {
     background: var(--primary);
     color: var(--white);
     border-radius: var(--radius-lg);
     padding: var(--space-xxl);
     margin-top: -6rem;
     position: relative;
     z-index: 5;
}
 .ueber-uns-wrap li {
     display: inline-flex;
     align-items: center;
     padding: .6rem 1rem;
     border-radius: 999rem;
     background: rgba(255,255,255,.08);
     margin: .4rem;
}
 .arbeitsplatz-wrap {
     position: relative;
     z-index: 10;
}
 .ueber-uns-wrap {
     position: relative;
     z-index: 1;
     margin-top: -6rem;
     padding-top: 7rem;
}
 .ueber-uns-wrap li {
     display: inline-flex;
     align-items: center;
     padding: .6rem 1rem;
     border-radius: 999rem;
     background: rgba(255,255,255,.08);
     margin: .4rem;
}
 .ueber-uns-wrap h2{
     color: var(--white) !important;
}
 .ueber-uns-wrap ul{
     padding-left: 0px;
}
 .unternehmensfoto img{
     -webkit-border-top-left-radius: 30px !important;
     -webkit-border-bottom-left-radius: 30px !important;
     -moz-border-radius-topleft: 30px !important;
     -moz-border-radius-bottomleft: 30px !important;
     border-top-left-radius: 30px !important;
     border-bottom-left-radius: 30px !important;
     box-shadow: 0 1.5rem 4rem rgba(0,0,0,.25);
     transform: translateY(-1rem);
}
/* ================================== FACTS ================================== */
 .facts {
     position: relative !important;
     margin-top: -3rem !important;
     z-index: 20 !important;
     margin-left: 1rem !important;
     margin-right: 1rem !important;
}
 .facts i {
     color: var(--accent);
}
 .facts .sppb-row {
     display: flex !important;
     flex-direction: row !important;
     justify-content: center !important;
     align-items: stretch !important;
     gap: 0.8rem !important;
     flex-wrap: wrap !important;
}
 .facts .sppb-row-column {
     flex: 1 1 18rem !important;
     max-width: 22rem !important;
}
 .facts .sppb-addon-feature {
     height: 100% !important;
     background: rgba(var(--primary-rgb), .95) !important;
     border: .0625rem solid rgba(var(--white-rgb), .08) !important;
     -webkit-border-radius: 30px;
     -moz-border-radius: 30px;
     border-radius: 30px;
     padding: 0.7rem 1.5rem !important;
     box-shadow: 0 1rem 2.5rem rgba(var(--black-rgb), .25) !important;
     transition: var(--transition);
}
 .facts .sppb-addon-feature:hover {
     transform: translateY(-.25rem);
     box-shadow: 0 1.5rem 3rem rgba(var(--black-rgb), .35);
}
 .facts .sppb-media {
     display: flex !important;
     align-items: center !important;
     gap: 0.5rem;
}
 .facts .pull-left {
     margin: 0 !important;
}
 .facts .sppb-icon {
     color: var(--accent) !important;
     font-size: 2rem;
     margin-right: 5px !important;
     line-height: 1;
}
 .facts .sppb-icon i{
     font-size: 1.7rem !important;
}
 .facts .sppb-feature-box-title {
     color: var(--white);
     font-size: 1rem;
     font-weight: 500;
     margin: 0;
}
 .facts .sppb-feature-box-title span {
     font-size: 1.5rem;
     font-weight: 800;
     color: var(--white);
     line-height: 1;
     margin-right: .35rem;
}
 .facts .sppb-addon-text {
     display: none;
}
/* ======================================== STELLEN / JOB CARDS ======================================== */
 #stellen .sppb-row-container{
     max-width: 1500px !important;
}
 #stellen .jobwrap{
     background: var(--white) !important;
     border: 1px solid var(--border) !important;
     border-radius: 1.5rem !important;
     padding: 1.75rem !important;
     height: 100% !important;
     position: relative !important;
     overflow: hidden !important;
     box-shadow: 0 0.5rem 2rem rgba(var(--primary-rgb),.05) !important;
     transition: var(--transition) !important;
}
 #stellen .jobwrap:hover{
     transform: translateY(-0.5rem) !important;
     box-shadow: 0 1.5rem 3rem rgba(var(--primary-rgb),.10) !important;
}
 #stellen .jobwrap::before{
     content:"";
     position:absolute;
     top:0;
     left:0;
     width:100%;
     height:.3rem;
     background:var(--accent) !important;
     opacity:0;
     transition:var(--transition) !important;
}
 #stellen .jobwrap:hover::before{
     opacity:1 !important;
}
 #stellen .job-titel h3{
     color:var(--primary) !important;
     margin-bottom:0.5rem !important;
}
 #stellen .job-bild{
     overflow:hidden !important;
     border-radius:1rem !important;
     margin-bottom:0.5rem !important;
}
 #stellen .job-bild img{
     width:100% !important;
     display:block !important;
     border-radius:1rem !important;
     transition: transform .6s ease !important;
}
 #stellen .jobwrap:hover .job-bild img{
     transform:scale(1.05) !important;
}
 #stellen .zeit, #stellen .standort{
     background: var(--bg-light) !important;
     border: 1px solid var(--border) !important;
     border-radius: 999px !important;
}
 #stellen .zeit p, #stellen .standort p{
     font-size: 0.8rem !important;
     padding: .25rem 1rem !important;
     text-align: center !important;
     font-weight: 600 !important;
     color: var(--primary) !important;
}
 #stellen .zeit{
     margin-right: .75rem !important;
}
 #stellen .zeit p, #stellen .standort p{
     margin:0 !important;
     color:var(--primary) !important;
     font-weight:600 !important;
}
 #stellen .job-kurzbeschreibung p{
     color:var(--secondary) !important;
     margin-bottom:0.5rem !important;
}
 #stellen .job-vorteile ul{
     padding:0 !important;
     margin:0 0 1.5rem 0 !important;
}
 #stellen .job-vorteile li{
     display:inline-flex !important;
     padding:.4rem .8rem !important;
     font-size: 0.8rem !important;
     margin: 0 .5rem .5rem 0 !important;
     border-radius:999px !important;
     background: rgba(var(--primary-rgb),.04) !important;
     color:var(--primary) !important;
     list-style:none !important;
}
 #stellen .job-gehalt ul{
     padding:0 !important;
     margin:0 0 1.5rem 0 !important;
}
 #stellen .job-gehalt li{
     list-style:none !important;
     color:var(--primary) !important;
     font-weight:700 !important;
}
 #stellen .job-gehalt li::before{
     content:"€";
     margin-right:.5rem;
     color:var(--accent) !important;
     font-weight:800 !important;
}
 .job-det{
     display:grid !important;
     grid-template-columns: 1fr 1fr;
     gap:10px;
}
 .job-det .zeit{
     justify-self:start;
}
 .job-det .standort{
     justify-self:end;
}
 #stellen .sppb-btn-bewerben{
     margin-top:auto !important;
}
 .zeit p:before{
     font-family: 'Font Awesome 6 Free';
     font-weight: bold;
     content: '\f017';
     margin-right: 0.5rem;
     color: var(--accent);
}
 .standort p:before{
     font-family: 'Font Awesome 6 Free';
     font-weight: bold;
     content: '\f3c5';
     margin-right: 0.5rem;
     color: var(--accent);
}
 .job-vorteile li:before{
     font-family: 'Font Awesome 6 Free';
     font-weight: bold;
     content: '\f00c';
     margin-right: 0.5rem;
     color: var(--accent);
}
 #stellen .job-vorteile ul{
     margin:0;
     padding:0;
     list-style:none;
}
 #stellen .job-vorteile li{
     position:relative;
     padding:4px 0 4px 18px;
     margin:0 0 6px 0;
     background:none !important;
     border:none !important;
     border-radius:0 !important;
     color:var(--text-color);
     font-size:.9rem;
     line-height:1.4;
}
 #stellen .job-vorteile li:before{
     content:"✓";
     color:var(--accent);
     font-weight:700;
}
 #stellen .job-beschreibung .sppb-btn {
     background: transparent !important;
     border: none !important;
     padding: 0 !important;
     color: var(--secondary) !important;
     box-shadow: none !important;
     display: inline-flex !important;
     align-items: center !important;
     gap: .5rem !important;
     font-weight: 600 !important;
}
 #stellen .job-beschreibung .sppb-btn:hover {
     color: var(--accent) !important;
}
 #stellen .jobwrap:hover {
     transform: translateY(-.5rem) !important;
     border-color: var(--accent) !important;
}
 .white-popup-block {
     background: #fff !important;
     max-width: 900px !important;
     width: calc(100% - 2rem) !important;
     margin: 3rem auto !important;
     border-radius: 1.5rem !important;
     overflow: hidden !important;
     box-shadow: 0 2rem 5rem rgba(15,23,42,.18) !important;
}
 #stellen .initiativ{
     background: var(--primary) !important;
     border-radius: 1.5rem !important;
     padding: 3rem 0.5rem !important;
     min-height: 550px !important;
     display: flex !important;
     align-items: center !important;
     justify-content: center !important;
     position: relative !important;
     overflow: hidden !important;
     box-shadow: 0 1rem 3rem rgba(var(--primary-rgb),.12) !important;
     transition: var(--transition) !important;
}
 #stellen .initiativ:hover{
     transform: translateY(-0.5rem) !important;
}
 #stellen .initiativ::before{
     content:"";
     position:absolute;
     top:0;
     left:0;
     width:100%;
     height:.3rem;
     background:var(--accent) !important;
}
/* Inhalt mittig */
 #stellen .sppb-row{
     row-gap:30px;
}
 #stellen .initiativ .sppb-container-inner, #stellen .initiativ .sppb-row, #stellen .initiativ .sppb-column{
     height:100% !important;
}
 #stellen .initiativ .sppb-column-addons{
     display:flex !important;
     flex-direction:column !important;
     align-items:center !important;
     justify-content:center !important;
     text-align:center !important;
     height:100% !important;
}
/* Lupe */
 #stellen .initiativ .sppb-icon i{
     font-size:4rem !important;
     color:var(--accent) !important;
     margin-bottom:1.5rem !important;
}
/* Überschrift */
 #stellen .initiativ .job-titel h3{
     color:var(--white) !important;
     margin-bottom:1rem !important;
     font-size:2rem !important;
}
/* Text */
 #stellen .initiativ .job-kurzbeschreibung p{
     color:rgba(var(--white-rgb),.75) !important;
     max-width:280px !important;
     margin:0 auto 2rem auto !important;
}
/* Button */
 #stellen .initiativ .sppb-btn-bewerben{
     margin-top:0 !important;
}
 #stellen .initiativ .sppb-addon-header{
     text-align:center !important;
}
 #stellen .initiativ .job-titel h3{
     text-align:center !important;
     width:100% !important;
}
/* ======================================== BEWERBUNGSPROZESS ======================================== */
 #weg{
     position:relative !important;
}
 #weg .sppb-row:last-child{
     position:relative !important;
}
 #weg .sppb-row:last-child::before{
     content:"";
     position:absolute;
     left:8%;
     right:8%;
     top:4.5rem;
     height:4rem;
     background:url('https://www.kares-webdesign.de/entwicklung/pakete/templates/shaper_helixultimate/images/timeline.svg') center center no-repeat;
     background-size:contain;
     opacity:.45;
     z-index:1;
     pointer-events:none;
}
 #weg .progress-wrap{
     position:relative !important;
     text-align:center !important;
     background:#fff !important;
     border:1px solid var(--border) !important;
     border-radius:1.5rem !important;
     padding:2rem 2rem 2.5rem !important;
     box-shadow:0 .75rem 2rem rgba(var(--primary-rgb),.05) !important;
     transition:all .3s ease !important;
     z-index:2 !important;
     overflow:hidden !important;
}
/* Akzentlinie */
 #weg .progress-wrap::before{
     content:"";
     position:absolute;
     top:0;
     left:0;
     width:100%;
     height:4px;
     background:var(--accent);
     border-radius:1.5rem 1.5rem 0 0;
}
 #weg .progress-wrap:hover{
     transform:translateY(-10px) !important;
     border-color:var(--accent) !important;
     box-shadow: 0 1.5rem 3rem rgba(var(--primary-rgb),.10), 0 0 0 1px var(--accent) !important;
}
 #weg .progress-wrap h3{
     display:flex !important;
     flex-direction:column !important;
     align-items:center !important;
     gap:1rem !important;
     margin-bottom:1.5rem !important;
     color:var(--primary) !important;
     position:relative !important;
     z-index:3 !important;
}
 #weg .progress-wrap h3 span{
     width:4rem !important;
     height:4rem !important;
     display:flex !important;
     align-items:center !important;
     justify-content:center !important;
     border-radius:50% !important;
     background:var(--accent) !important;
     color:var(--white) !important;
     font-size:1.8rem !important;
     font-weight:700 !important;
     box-shadow: 0 0 0 8px rgba(var(--white-rgb),.9), 0 1rem 2rem rgba(var(--primary-rgb),.12) !important;
}
 #weg .progress-wrap p{
     color:var(--secondary) !important;
     margin:0 auto !important;
     line-height:1.9 !important;
}
 @media (max-width:991px){
     #weg .sppb-row:last-child::before{
         display:none !important;
    }
     #weg .progress-wrap{
         margin-bottom:2rem !important;
    }
     #weg .progress-wrap h3 span{
         width:3.5rem !important;
         height:3.5rem !important;
         font-size:1.4rem !important;
    }
}
 .sppb-progress-bar {
     background-color: var(--accent);
}
/* ======================================== MITARBEITERSTIMMEN ======================================== */
/* Gesamter Slider */
 #stimmen .sppb-carousel-extended-item{
     background:transparent !important;
     border:none !important;
     box-shadow:none !important;
     text-align:center !important;
     padding:1rem 2rem !important;
     transition:all .3s ease;
}
 #stimmen .sppb-carousel-extended-item:hover{
     transform:translateY(-5px);
}
/* Zitatzeichen */
 #stimmen .sppb-testimonial-carousel-icon{
     font-size:4rem !important;
     color:var(--accent) !important;
     opacity:.15 !important;
     margin-bottom:1rem !important;
}
/* Zitat */
 #stimmen .sppb-testimonial-carousel-message{
     font-size:1.15rem !important;
     line-height:1.9 !important;
     color:var(--secondary) !important;
     max-width:30rem !important;
     margin:0 auto 2rem auto !important;
}
/* Sterne */
 #stimmen .sppb-testimonial-carousel-client-rating{
     color:var(--accent) !important;
     font-size:1.2rem !important;
     margin-bottom:2rem !important;
}
/* Bildcontainer */
 #stimmen .sppb-testimonial-carousel-img-wrap{
     width:130px !important;
     height:130px !important;
     margin:0 auto 1.5rem auto !important;
     border-radius:50% !important;
     overflow:hidden !important;
     border:5px solid #fff !important;
     box-shadow: 0 1rem 2rem rgba(var(--primary-rgb),.10);
}
/* Normales IMG */
 #stimmen .sppb-testimonial-carousel-img-wrap img{
     width:100% !important;
     height:100% !important;
     display:block !important;
     object-fit:cover !important;
     border-radius:50% !important;
}
/* Falls SP Page Builder Hintergrundbilder nutzt */
 #stimmen .sppb-testimonial-carousel-img{
     width:100% !important;
     height:100% !important;
     border-radius:50% !important;
     background-size:cover !important;
     background-position:center center !important;
}
/* Name */
 #stimmen .sppb-testimonial-carousel-name{
     font-size:1.6rem !important;
     font-weight:700 !important;
     color:var(--primary) !important;
     margin-bottom:.4rem !important;
}
/* Position */
 #stimmen .sppb-testimonial-carousel-designation{
     color:var(--secondary) !important;
     font-size:1rem !important;
     letter-spacing:.02em !important;
}
/* Pfeile */
 #stimmen .nav-control{
     width:3.5rem !important;
     height:3.5rem !important;
     border-radius:50% !important;
     background:#fff !important;
     border:1px solid var(--border) !important;
     color:var(--primary) !important;
     box-shadow: 0 .5rem 1rem rgba(var(--primary-rgb),.08);
     display:flex !important;
     align-items:center !important;
     justify-content:center !important;
     transition:.3s ease;
}
 #stimmen .nav-control:hover{
     background:var(--accent) !important;
     color:var(--white) !important;
     transform:translateY(-3px);
}
/* Dots */
 #stimmen .owl-dots{
     margin-top:2rem !important;
}
 #stimmen .owl-dot span{
     width:10px !important;
     height:10px !important;
     background:var(--dot-color) !important;
     transition:.3s ease;
}
 #stimmen .owl-dot.active span{
     background:var(--accent) !important;
}
/* Mobile */
 @media (max-width:991px){
     #stimmen .sppb-carousel-extended-item{
         padding:1rem !important;
    }
     #stimmen .sppb-testimonial-carousel-img-wrap{
         width:100px !important;
         height:100px !important;
    }
     #stimmen .sppb-testimonial-carousel-message{
         font-size:1rem !important;
         line-height:1.8 !important;
    }
     #stimmen .nav-control{
         display:none !important;
    }
}
/* ======================================== FAQ ======================================== */
/* FAQ Panel */
 #faq .sppb-panel{
     margin-bottom:1rem !important;
     border:none !important;
     background:none !important;
}
/* Frage */
 #faq .sppb-panel-heading{
     display:flex !important;
     align-items:center !important;
     background:#fff !important;
     border:1px solid var(--border) !important;
     border-radius:1rem !important;
     padding:1.5rem !important;
     box-shadow:0 .5rem 1rem rgba(var(--primary-rgb),.04) !important;
     transition:all .3s ease !important;
     position:relative !important;
}
 #faq .sppb-panel-heading:hover{
     transform:translateY(-2px);
     box-shadow:0 1rem 2rem rgba(var(--primary-rgb),.08) !important;
}
/* Aktiv */
 #faq .sppb-panel-heading.active{
     background:var(--accent) !important;
     border-color:var(--accent) !important;
}
/* Fragezeichen */
 #faq .sppb-accordion-icon-wrap{
     margin-right:1rem !important;
     width:2.25rem !important;
     height:2.25rem !important;
     display:flex !important;
     align-items:center !important;
     justify-content:center !important;
     border-radius:50% !important;
     background:rgba(var(--accent-rgb),.08) !important;
     flex-shrink:0 !important;
}
 #faq .sppb-accordion-icon-wrap i{
     color:var(--accent) !important;
     font-size:.9rem !important;
}
/* Aktiv Icon */
 #faq .sppb-panel-heading.active .sppb-accordion-icon-wrap{
     background:rgba(var(--white-rgb),.15) !important;
}
 #faq .sppb-panel-heading.active .sppb-accordion-icon-wrap i{
     color:var(--white) !important;
}
/* Titel */
 #faq .sppb-panel-title{
     flex:1 !important;
     font-size:1.1rem !important;
     font-weight:700 !important;
     color:var(--primary) !important;
}
 #faq .sppb-panel-heading.active .sppb-panel-title{
     color:var(--white) !important;
}
/* Plus / Minus */
 #faq .sppb-panel-heading::after{
     content:"+";
     width:2rem;
     height:2rem;
     display:flex;
     align-items:center;
     justify-content:center;
     border-radius:50%;
     background:rgba(var(--accent-rgb),.08);
     color:var(--accent);
     font-size:1.25rem;
     font-weight:700;
     margin-left:auto;
     transition:.3s ease;
}
 #faq .sppb-panel-heading.active::after{
     content:"−";
     background:rgba(var(--white-rgb),.15);
     color:var(--white);
}
/* Antwort */
 #faq .sppb-panel-body{
     background:#fff !important;
     border:1px solid var(--border) !important;
     border-top:none !important;
     border-radius:0 0 1rem 1rem !important;
     padding:1.75rem !important;
     box-shadow:0 1rem 2rem rgba(var(--primary-rgb),.05) !important;
}
/* Antworttext */
 #faq .sppb-panel-body, #faq .sppb-panel-body p, #faq .sppb-panel-body div{
     color:var(--secondary) !important;
     line-height:1.9 !important;
}
/* Mobile */
 @media (max-width:991px){
     #faq .sppb-panel-heading{
         padding:1.25rem !important;
    }
     #faq .sppb-panel-title{
         font-size:1rem !important;
    }
     #faq .sppb-panel-body{
         padding:1.25rem !important;
    }
}
/* ======================================== CARDS LINKS + RECHTS ======================================== */
 #kontakt .kontakt-wrap, #kontakt .qr-code{
     background:var(--white);
     border:1px solid rgba(var(--primary-rgb),.08);
     border-radius:32px;
     padding:3rem;
     box-shadow: 0 10px 30px rgba(var(--primary-rgb),.04);
     height:100%;
}
 #kontakt .qr-code{
     background:var(--bg-soft);
}
/* QR Bereich */
 #kontakt .qr-code{
     text-align:center;
}
 #kontakt .qr-code img{
     max-width:280px;
     width:100%;
     height: auto;
}
 #kontakt .kontakt-wrap .sppb-nested-row .sppb-row-column:first-child .sppb-addon-single-image-container{
     width: 120px;
     height: 120px;
     border-radius:50%;
     overflow:hidden;
}
 #kontakt .kontakt-wrap .sppb-nested-row .sppb-row-column:first-child img{
     width:100%;
     height:100%;
     object-fit:cover;
}
 #kontakt .kontakt-wrap li.phone::before{
     content:"\f095";
     font-family:"Font Awesome 6 Free";
     font-weight:900;
     color:var(--accent);
     margin-right:.5rem;
}
 #kontakt .kontakt-wrap ul{
     padding-left: 0px;
}
 #kontakt .kontakt-wrap li{
     list-style:none;
}
 #kontakt .kontakt-wrap li.email::before{
     content:"\f0e0";
     font-family:"Font Awesome 6 Free";
     font-weight:900;
     color:var(--accent);
     margin-right:.5rem;
}
 #kontakt .kontakt-wrap ul{
     display:flex !important;
     gap:2rem !important;
     flex-wrap:wrap !important;
}
 #kontakt h4 + .sppb-addon-content::before{
     content:"Persönlicher Ansprechpartner";
     display:block;
     margin-top:.25rem;
     color:var(--secondary);
}
/* ======================================== CTA SECTION ======================================== */
 #cta{
     background: var(--primary);
     position: relative;
     overflow: hidden;
     padding: 7rem 0;
}
/* leichter Verlauf im Hintergrund */
 #cta::before{
     content:"";
     position:absolute;
     inset:0;
     background: radial-gradient( circle at top left, rgba(var(--accent-rgb), .08), transparent 40% );
     pointer-events:none;
}
/* Container */
 #cta .sppb-container-inner{
     position:relative;
     z-index:2;
}
/* Überschrift */
 #cta h2{
     color: var(--white);
     font-size: clamp(2.8rem, 5vw, 4.8rem);
     line-height: 1.05;
     font-weight: 800;
     margin-bottom: 2rem;
     max-width: 650px;
}
/* Text */
 #cta p{
     color: rgba(var(--white-rgb), .75);
     font-size: 1.1rem;
     line-height: 1.9;
     margin-bottom: 0;
}
 #cta p + p{
     margin-top: .75rem;
}
/* Button */
 #cta .sppb-btn-bewerben{
     margin-top: 2.5rem;
     transform: none;
     transition: var(--transition);
}
 #cta .sppb-btn-bewerben:hover{
     transform: translateY(-4px);
     box-shadow: 0 20px 40px rgba(var(--accent-rgb), .30);
}
/* Bild */
 #cta img{
     width:100%;
     border-radius: 1.5rem;
     box-shadow: 0 30px 60px rgba(var(--black-rgb), .25);
     transition: var(--transition);
}
 #cta img:hover{
     transform: scale(1.02);
}
/* Bildspalte leicht versetzt */
 #cta #column-wrap-id-4fec5592-de80-4fe3-901f-0dd2189c8049{
     padding-left: 4rem;
}
/* Mobile */
 @media (max-width: 991px){
     #cta{
         padding: 5rem 0;
         text-align:center;
    }
     #cta h2{
         margin-left:auto;
         margin-right:auto;
    }
     #cta #column-wrap-id-4fec5592-de80-4fe3-901f-0dd2189c8049{
         padding-left:0;
         margin-top:3rem;
    }
}
/* ======================================== FOOTER ======================================== */
 #sp-bottom, #sp-footer{
     display: none;
}
 #footer .sppb-btn-secondary {
     background: transparent !important;
     border: none !important;
     color: rgba(var(--white-rgb),.7) !important;
     padding: 0 20px !important;
     border-radius: 0 !important;
     box-shadow: none !important;
     font-size: 15px;
     font-weight: 500;
     position: relative;
}
 #footer .sppb-btn-secondary:first-child::after {
     content: "";
     position: absolute;
     right: -3px;
     top: 50%;
     width: 1px;
     height: 14px;
     background: rgba(var(--white-rgb),.25);
     transform: translateY(-50%);
}
 #footer .sppb-btn-secondary:hover {
     color: var(--accent) !important;
}
/* ================================================== TOP BAR ================================================== */
 #sp-top-bar{
     background: var(--primary);
     border-bottom: 1px solid rgba(255,255,255,.08);
}
 #sp-top-bar .container{
     max-width: 1400px;
}
 #sp-top-bar a, #sp-top-bar span{
     color: rgba(var(--white-rgb),.75);
     transition: var(--transition);
}
 #sp-top-bar a:hover{
     color: var(--accent);
}
 .social-icons{
     display:flex;
     gap:18px;
     align-items:center;
}
 .social-icons a{
     color: rgba(var(--white-rgb),.7);
     font-size:.95rem;
}
 .social-icons a:hover{
     color: var(--accent);
}
 .sp-contact-info{
     display:flex;
     justify-content:flex-end;
     gap:20px;
}
 .sp-contact-info li{
     display:flex;
     align-items:center;
     gap:6px;
}
 .sp-contact-info span{
     color: var(--accent);
}
/* ================================================== HEADER ================================================== */
 #sp-header{
     background: rgba(255,255,255,.96);
     backdrop-filter: blur(10px);
     box-shadow: 0 4px 20px rgba(var(--primary-rgb),.05);
     transition: all .3s ease;
}
 #sp-header .container{
     max-width:1400px;
}
 #sp-logo img{
     max-height:52px;
     width:auto;
}
 #offcanvas-toggler{
     margin-right:20px;
}
 #offcanvas-toggler .burger-icon span{
     background: var(--primary);
     transition: var(--transition);
}
 #offcanvas-toggler:hover .burger-icon span{
     background: var(--accent);
}
 .sp-megamenu-parent{
     display:flex;
     align-items:center;
}
 .sp-megamenu-parent > li > a{
     font-family: var(--font-heading) !important;
     font-size:1rem !important;
     font-weight:700 !important;
     color: var(--primary) !important;
     letter-spacing:.01em;
     position:relative;
     transition: var(--transition);
}
/* Hover */
 .sp-megamenu-parent > li > a:hover{
     color: var(--accent) !important;
}
/* Aktiv */
 .sp-megamenu-parent > li.active > a, .sp-megamenu-parent > li.current-item > a{
     color: var(--accent) !important;
}
/* Unterstreichung */
 .sp-megamenu-parent > li > a::after{
     content:"";
     position:absolute;
     left:14px;
     right:14px;
     bottom:18px;
     height:2px;
     background: var(--accent);
     transform:scaleX(0);
     transform-origin:center;
     transition:.3s ease;
}
 .sp-megamenu-parent > li:hover > a::after, .sp-megamenu-parent > li.active > a::after, .sp-megamenu-parent > li.current-item > a::after{
     transform:scaleX(1);
}
 .sticky-wrapper.is-sticky #sp-header{
     background: rgba(255,255,255,.98);
     box-shadow: 0 10px 30px rgba(var(--primary-rgb),.08);
}
 @media (max-width:991px){
     #sp-top-bar{
         display:none;
    }
     #sp-logo img{
         max-height:46px;
    }
}
/* ========================================= ENGAGEBOX / BEWERBUNGSFORMULAR ========================================= */
 .eb-dialog{
     border: none !important;
     width: calc(100% - 2rem) !important;
     max-width: 1100px !important;
     margin: auto !important;
     background: transparent !important;
     overflow: hidden !important;
}
 #userForm{
     max-width: 1000px !important;
}
 .eb-container{
     background: var(--white) !important;
     border-radius: 24px !important;
     overflow: hidden !important;
}
 .eb-dialog{
     border:none !important;
     border-radius:32px !important;
     background:#fff !important;
     max-width:1100px !important;
     width:95vw !important;
     box-shadow: 0 30px 80px rgba(var(--black-rgb),.18) !important;
     position:relative !important;
}
/* Hier sitzt der eigentliche Scrollbereich */
 .eb-content{
     max-height:85vh !important;
     overflow-y:auto !important;
     overflow-x:hidden !important;
     padding:60px !important;
     border-radius:32px !important;
}
/* Optional Scrollbar schöner */
 .eb-content::-webkit-scrollbar{
     width:8px;
}
 .eb-content::-webkit-scrollbar-thumb{
     background:#d1d5db;
     border-radius:20px;
}
 .eb-content{
     background: var(--white) !important;
     border-radius: 24px !important;
     padding: 1rem 3rem !important;
     overflow-x: hidden !important;
}
 .eb-dialog, .eb-container, .eb-content, #userForm{
     overflow-x: hidden !important;
}
 #userForm .row{
     margin-left: 0 !important;
     margin-right: 0 !important;
}
 .rsformProgress{
     margin-bottom: 2.5rem !important;
}
 .rsformProgress p{
     text-align: center !important;
     color: var(--secondary) !important;
     margin-bottom: 1rem !important;
     font-style: italic !important;
}
 .rsformProgressContainer{
     height: 10px !important;
     background: var(--bg-light) !important;
     border-radius: 999px !important;
     overflow: hidden !important;
}
 .rsformProgressBar{
     background: var(--accent) !important;
     border-radius: 999px !important;
}
 .rsform-block-header{
     text-align: center !important;
     margin-bottom: 3rem !important;
}
 .rsform-block-header p{
     font-size: 1.25rem !important;
     line-height: 1.7 !important;
     color: var(--primary) !important;
}
 .formControlLabel{
     color: var(--primary) !important;
     font-weight: 700 !important;
}
 .form-control, .form-select{
     height: 60px !important;
     border: 1px solid var(--border) !important;
     border-radius: 14px !important;
     background: var(--white) !important;
     transition: var(--transition) !important;
}
 .form-control:focus, .form-select:focus{
     border-color: var(--accent) !important;
     box-shadow: 0 0 0 4px rgba(255,170,0,.15) !important;
}
 .rsform-button, .rsform-submit-button{
     height: 58px !important;
     border: none !important;
     border-radius: 14px !important;
     font-weight: 700 !important;
     transition: var(--transition) !important;
}
 .btn-success, .btn-primary{
     background: var(--accent) !important;
     color: var(--white) !important;
}
 .btn-success:hover, .btn-primary:hover{
     transform: translateY(-2px);
}
 .btn-warning{
     background: var(--bg-light) !important;
     color: var(--primary) !important;
}
 .btn-group{
     width: 100% !important;
     display: flex !important;
     justify-content: space-between !important;
     gap: 1rem !important;
}
 .eb-close{
     width: 54px !important;
     height: 54px !important;
     border-radius: 50% !important;
     background: var(--white) !important;
     border: 1px solid var(--border) !important;
     color: var(--secondary) !important;
     transition: var(--transition) !important;
}
 .eb-close:hover{
     background: var(--accent) !important;
     color: var(--white) !important;
}
 @media (max-width: 991px){
     .eb-content{
         padding: 1rem !important;
    }
     .btn-group{
         flex-direction: column !important;
    }
     .rsform-button, .rsform-submit-button{
         width: 100% !important;
    }
}
/* ========================================= SCHRITT 2 - ERWARTUNGEN ========================================= */
 .rsform-block-erwartungen .formControlLabel{
     display:block !important;
     width:100% !important;
     max-width:none !important;
     text-align:center !important;
     font-size:1.2rem !important;
     font-weight:800 !important;
     color:var(--primary) !important;
     margin-bottom:3rem !important;
}
/* Optionen nebeneinander */
 .rsform-block-erwartungen fieldset{
     display:flex !important;
     justify-content:center !important;
     flex-wrap:wrap !important;
     gap:2rem !important;
     border:none !important;
     padding:0 !important;
     margin:0 auto !important;
}
/* Einzelne Auswahl */
 .rsform-block-erwartungen .form-check{
     width:180px !important;
     text-align:center !important;
     display:flex !important;
     flex-direction:column !important;
     align-items:center !important;
}
/* Die vier Antwortmöglichkeiten */
 .rsform-block-erwartungen fieldset{
     display:grid !important;
     grid-template-columns:repeat(4, 1fr) !important;
     gap:2rem !important;
     border:none !important;
     padding:0 !important;
     margin:0 auto !important;
     max-width:900px !important;
}
/* Einzelne Option */
 .rsform-block-erwartungen .form-check{
     width:auto !important;
     margin:0 !important;
     display:flex !important;
     flex-direction:column !important;
     align-items:center !important;
     text-align:center !important;
}
/* Labels */
 .rsform-block-erwartungen .form-check-label{
     color:var(--primary) !important;
     font-weight:700 !important;
     font-size:1.1rem !important;
     line-height: 130%;
     margin-top:.75rem !important;
}
/* Radio */
 .rsform-block-erwartungen input[type="radio"]{
     margin-top:.75rem !important;
}
/* Hover auf die Iconbox */
 .rsform-block-erwartungen .sppb-icon, .rsform-block-erwartungen .fa-rocket, .rsform-block-erwartungen .fa-face-smile, .rsform-block-erwartungen .fa-anchor, .rsform-block-erwartungen .fa-user-xmark{
     transition:var(--transition) !important;
}
 .rsform-block-erwartungen .form-check:hover{
     transform:translateY(-5px);
}
/* Mobile */
 @media (max-width:768px){
     .rsform-block-erwartungen fieldset{
         flex-direction:column !important;
         align-items:center !important;
    }
     .rsform-block-erwartungen .form-check{
         width:100% !important;
         max-width:300px !important;
    }
}
/* ========================================= SCHRITT 4 - BERUFSERFAHRUNG ========================================= */
/* Überschrift */
 .rsform-block-auswahl-berufserfahrung .formControlLabel{
     display:block !important;
     width:100% !important;
     max-width:none !important;
     text-align:center !important;
     font-size:1.2rem !important;
     font-weight:800 !important;
     color:var(--primary) !important;
     margin-bottom:2.5rem !important;
}
/* Radio-Optionen */
 .rsform-block-auswahl-berufserfahrung fieldset{
     display:flex !important;
     justify-content:center !important;
     gap:4rem !important;
     border:none !important;
     padding:0 !important;
     margin:0 auto 2rem auto !important;
}
 .rsform-block-auswahl-berufserfahrung .form-check{
     display:flex !important;
     flex-direction:column !important;
     align-items:center !important;
     text-align:center !important;
     width:220px !important;
}
/* Labels */
 .rsform-block-auswahl-berufserfahrung .form-check-label{
     color:var(--primary) !important;
     line-height: 140% !important;
     font-size:1rem !important;
     font-weight:700 !important;
     margin-top:.75rem !important;
}
/* Radio */
 .rsform-block-auswahl-berufserfahrung input[type="radio"]{
     margin-top:.75rem !important;
}
/* Hinweistext */
 .rsform-block-url-note{
     max-width:800px !important;
     margin:0 auto 2rem auto !important;
     text-align:center !important;
}
 .rsform-block-url-note p{
     color:var(--secondary) !important;
     font-size:1.1rem !important;
     line-height:1.8 !important;
}
/* Textfeld-Bereich */
 .rsform-block-erfahrung{
     max-width:900px !important;
     margin:0 auto !important;
}
 .rsform-block-erfahrung .formControlLabel{
     font-size:1.2rem !important;
     font-weight:700 !important;
     color:var(--primary) !important;
}
/* Textarea */
 .rsform-block-erfahrung textarea{
     min-height:140px !important;
     border:1px solid var(--border) !important;
     border-radius:18px !important;
     padding:1rem 1.25rem !important;
     background:var(--bg-light) !important;
     transition:var(--transition) !important;
}
 .rsform-block-erfahrung textarea:focus{
     border-color:var(--accent) !important;
     box-shadow: 0 0 0 .25rem rgba(255,170,0,.15) !important;
}
/* Mobile */
 @media (max-width:768px){
     .rsform-block-auswahl-berufserfahrung fieldset{
         flex-direction:column !important;
         gap:2rem !important;
    }
     .rsform-block-auswahl-berufserfahrung .form-check{
         width:100% !important;
    }
}
/* Kalender insgesamt größer */
/* Monatsnavigation */
 .rsform-block-kalender .xdsoft_label{
     font-size:20px;
     font-weight:700;
}
/* Wochentage */
 .rsform-block-kalender .xdsoft_week{
     height:auto;
}
/* Tagesfelder */
 .rsform-block-kalender .xdsoft_date div{
     width:42px;
     height:42px;
     line-height:42px;
     border-radius:12px;
     transition:.2s;
     font-size:15px;
}
/* Hover */
 .rsform-block-kalender .xdsoft_date:hover div{
     background:var(--bg-light);
}
/* Aktiver Tag */
 .rsform-block-kalender .xdsoft_current div{
     background:var(--primary) !important;
     color:var(--white) !important;
     border-radius:12px;
}
/* Heute */
 .rsform-block-kalender .xdsoft_today{
     color:var(--primary) !important;
}
/* Pfeile */
 .rsform-block-kalender .xdsoft_prev, .rsform-block-kalender .xdsoft_next{
     transform:scale(1.2);
}
 .rsform-block-kalender .xdsoft_calendar{
     box-shadow:0 15px 40px rgba(var(--black-rgb),.08);
}
 .xdsoft_datetimepicker{
     border: 0px;
}
 .xdsoft_datetimepicker .xdsoft_datepicker{
     width: auto;
}
 .rsform-block-kalender .xdsoft_calendar td{
     text-align:center;
     vertical-align:middle;
}
 .xdsoft_datetimepicker .xdsoft_calendar td:hover, .xdsoft_datetimepicker .xdsoft_timepicker .xdsoft_time_box > div > div:hover{
     color: var(--primary) !important;
}
 .xdsoft_datetimepicker .xdsoft_calendar td > div{
     padding-right: 0px;
}
 .rsform-block-kalender .xdsoft_current{
     background: var(--primary) !important;
}
 .rsform-block-kalender .xdsoft_current div{
     color: var(--white) !important;
}
 .xdsoft_today div{
     color: var(--accent);
}
/* ========================================= LETZTER SCHRITT - KONTAKTDATEN ========================================= */
/* Vorname, Nachname, Telefon, Mail */
 .rsform-block-vorname .row, .rsform-block-nachname .row, .rsform-block-telefon .row, .rsform-block-email .row{
     display:block;
}
 .rsform-block-vorname .col-sm-3, .rsform-block-nachname .col-sm-3, .rsform-block-telefon .col-sm-3, .rsform-block-email .col-sm-3{
     width:100%;
     max-width:none;
     margin-bottom:10px;
     font-weight:700;
     font-size:18px;
}
 .rsform-block-vorname .formControls, .rsform-block-nachname .formControls, .rsform-block-telefon .formControls, .rsform-block-email .formControls{
     width:100%;
     max-width:none;
}
 .rsform-block-vorname input, .rsform-block-nachname input, .rsform-block-telefon input, .rsform-block-email input{
     height:60px;
     border-radius:14px !important;
     border:1px solid var(--border);
     font-size:18px;
}
 .rsform-block-upload{
     margin-top:30px;
}
 .rsform-block-upload .col-sm-3{
     display:none;
}
 .rsform-block-upload .formControls{
     width:100% !important;
     max-width:900px;
     margin:auto;
     flex:0 0 100%;
}
 .rsform-block-upload::before{
     content:"Unterlagen (Anschreiben, Lebenslauf, Zeugnisse)";
     display:block;
     text-align:center;
     font-size:1.2rem;
     font-weight:700;
     margin-bottom:30px;
     color:var(--primary);
}
 .rsform-block-upload input[type="file"]{
     height:60px;
     border-radius:14px !important;
}
 .rsfp-field-multiple-plus-button{
     background:var(--primary) !important;
     color:var(--white) !important;
     border:none !important;
     border-radius:12px !important;
     padding:12px 22px !important;
     margin-top:15px !important;
     box-shadow:none !important;
}
 .rsform-block-weiteres{
     margin-top:35px;
}
 .rsform-block-weiteres textarea{
     min-height:140px;
     border-radius:14px !important;
     padding:18px;
     font-size:17px;
}
 .rsform-block-weiteres .col-sm-3{
     font-weight:700;
     font-size:18px;
}
 .rsform-block-kontaktzeit{
     margin-top:35px;
}
 .rsform-block-kontaktzeit .formControls{
     width:100% !important;
     max-width:none;
     flex:0 0 100%;
}
 .rsform-block-kontaktzeit .rsfp-fieldset{
     display:flex;
     justify-content:center;
     gap:20px;
     flex-wrap:wrap;
}
 .rsform-block-kontaktzeit .form-check{
     padding:18px 25px;
     border:1px solid var(--border);
     border-radius:16px;
     text-align:center;
     transition:.2s;
}
 .rsform-block-kontaktzeit .form-check:hover{
     border-color:var(--primary);
}
 .rsform-block-kontaktzeit .form-check-input{
     margin-right:8px;
}
 .rsform-block-kontaktzeit .form-check-label{
     font-size:18px;
     font-weight:600;
}
 .rsform-block-datenschutz{
     background:#f8fafc;
     border-radius:16px;
     padding:25px;
     margin-top:40px;
}
 .rsform-block-datenschutz .col-sm-3{
     display:none;
}
 .rsform-block-datenschutz .formControls{
     width:100% !important;
     max-width:none;
     flex:0 0 100%;
}
 .rsform-block-datenschutz .form-check{
     display:flex;
     align-items:flex-start;
     gap:12px;
}
 .rsform-block-datenschutz .form-check-label{
     line-height:1.7;
}
 .rsform-block-datenschutz a{
     color:var(--primary);
     font-weight:600;
     text-decoration:none;
}
 .eb-inst .eb-content input[type=checkbox] {
     margin:0;
     position:relative;
     top:7px !important;
}
 .rsform-block-submit{
     margin-top:35px;
}
 .rsform-block-submit .btn-primary{
     background:var(--accent) !important;
     border:none !important;
     height:64px;
     border-radius:16px !important;
     font-size:20px;
     font-weight:700;
     min-width:320px;
}
 .rsform-block-submit .btn-warning{
     height:64px;
     border-radius:16px !important;
}
 .rsform-submit-button {
     float: right;
     width: 80% !important;
}
 .form-check .form-check-input{
     margin-left: 0 !important;
}
 .rsform-block-auswahl-berufserfahrung .form-check-inline:before, .rsform-block-erwartungen .form-check-inline:before{
     right: 0px !important;
}
 .rsform-block-aufstockung input{
     margin-right: 5px;
}
 @media (max-width:768px){
     .rsform-block-upload::before{
         font-size:28px;
    }
     .rsform-block-kontaktzeit .form-check{
         width:100%;
         min-width:100%;
    }
     .rsform-block-submit .btn-primary, .rsform-block-submit .btn-warning{
         width:100%;
         min-width:100%;
         margin-bottom:15px;
    }
}
/* ========================================= PATTERNS ========================================= */
/* Pattern Sektionen */
 .pattern{
     position:relative;
     overflow:hidden;
     background:var(--section-bg) !important;
}
/* rechter oberer Bogen */
 .pattern::before{
     content:"";
     position:absolute;
     top:-180px;
     right:-180px;
     width:500px;
     height:500px;
     border:2px solid var(--primary);
     border-radius:50%;
     opacity:.12;
     pointer-events:none;
}
/* linker unterer Bogen */
 .pattern::after{
     content:"";
     position:absolute;
     bottom:-250px;
     left:-250px;
     width:650px;
     height:650px;
     border:2px solid var(--secondary);
     border-radius:50%;
     opacity:.08;
     pointer-events:none;
}
/* zweite Linie oben */
 .pattern .sppb-row-container{
     position:relative;
     z-index:2;
}
 .pattern .sppb-row-container::before{
     content:"";
     position:absolute;
     top:-120px;
     right:-120px;
     width:420px;
     height:420px;
     border:2px solid var(--secondary);
     border-radius:50%;
     opacity:.08;
     pointer-events:none;
}
/* zweite Linie unten */
 .pattern .sppb-row-container::after{
     content:"";
     position:absolute;
     bottom:-180px;
     left:-180px;
     width:500px;
     height:500px;
     border:2px solid var(--primary);
     border-radius:50%;
     opacity:.08;
     pointer-events:none;
}
 .pattern-var{
     position:relative;
     overflow:hidden;
     background:var(--section-bg-alt) !important;
}
 .pattern-var::before{
     content:"";
     position:absolute;
     top:-120px;
     right:-120px;
     width:300px;
     height:300px;
     background:var(--primary);
     opacity:.04;
     border-radius:50%;
}
 .pattern-var::after{
     content:"";
     position:absolute;
     bottom:-150px;
     left:-150px;
     width:400px;
     height:400px;
     background:var(--secondary);
     opacity:.03;
     border-radius:50%;
}
 @media screen and (max-width: 1400px) {
     .ueber-uns-wrap .home-left {
         padding-left:3rem !important;
         padding-right: 3rem !important;
    }
     #home .home-left, #cta .home-left{
         padding: 4rem 4rem 4rem 4rem;
    }
     #cta .home-left{
         padding: 4rem 0rem 4rem 4rem;
    }
     .ueber-uns-wrap {
         margin-top: -5rem;
    }
}
 @media screen and (max-width: 1300px) {
     .sppb-btn-bewerben, .sppb-btn-whatsapp, .initiativ-btn {
         padding: 0.85rem 1.15rem !important;
    }
}
 @media screen and (max-width: 1200px) {
     .ueber-uns-wrap {
         margin-top: -1.6rem;
         padding-top: 2rem;
    }
     #kontakt .kontakt-wrap .sppb-nested-row .sppb-row-column:first-child .sppb-addon-single-image-container{
         width: 100px;
         height: 100px;
    }
}
 @media screen and (max-width: 991px) {
     #offcanvas-toggler{
         display: inherit !important;
    }
     .ueber-uns-wrap {
         margin-top: -7.6rem;
         padding-top: 9rem;
    }
     #kontakt .kontakt-wrap ul{
         gap:0.5rem !important;
    }
     #home .home-left{
         padding: 0rem 4rem 4.5rem 4rem;
    }
     #cta .home-left{
         padding: 2rem 4rem 6rem 4rem;
    }
}
 @media (max-width: 768px) {
     .rsform-block-kontaktzeit .form-check-label, .rsform-block-upload::before, .rsform-block-vorname .col-sm-3, .rsform-block-nachname .col-sm-3, .rsform-block-telefon .col-sm-3, .rsform-block-email .col-sm-3 {
         font-size: 1rem;
    }
     .rsform-block-upload::before{
         text-align: left;
    }
     .rsform-block-datenschutz{
         padding: 1rem 
    }
     .rsform-block-datenschutz{
         padding-left: 0px !important;
    }
}
 @media screen and (max-width: 767px) {
     .ueber-uns-wrap {
         padding-top: 7rem;
    }
     #ueber-uns .ba-gallery {
         padding-left: 0px !important;
    }
     #cta .home-left{
         padding: 0rem 2rem 3rem 2rem;
    }
     .rsform-block-erwartungen .rsfp-fieldset{
         display:grid !important;
         grid-template-columns:repeat(2, minmax(0, 1fr)) !important;
         gap:2rem 1.5rem !important;
         max-width:100% !important;
         width:100% !important;
    }
     .rsform-block-erwartungen .form-check{
         width:100% !important;
         max-width:none !important;
         margin:0 !important;
    }
     #warum .adv-ico img{
         max-width: 100px;
    }
     #kontakt .kontakt-wrap .sppb-addon-header{
         text-align:center;
         margin: 0 auto;
         display: flex;
         align-items: center;
         justify-content: center;
    }
     #kontakt .kontakt-wrap .sppb-addon-header .sppb-addon-title{
         display:inline-flex;
         align-items:center;
         justify-content:center;
         margin:0 auto;
    }
     #kontakt .kontakt-wrap .sppb-addon-header .sppb-addon-title::before{
         margin-right:8px;
         flex-shrink:0;
    }
}
 @media (max-width: 767px){
     #kontakt .kontakt-wrap{
         text-align:center;
    }
     #kontakt .kontakt-wrap .sppb-addon-single-image-container{
         margin:0 auto !important;
    }
     #kontakt .kontakt-wrap h2, #kontakt .kontakt-wrap h4, #kontakt .kontakt-wrap p {
         text-align:center !important;
    }
     #kontakt .kontakt-wrap h2.sppb-addon-title{
         display: block;
    }
     #kontakt .kontakt-wrap ul{
         justify-content:center !important;
         gap:1rem !important;
    }
     #kontakt .sppb-addon-single-image-container{
         display: flex;
         align-items: center;
         justify-content: center;
    }
}
 @media screen and (max-width: 575px) {
     #cta{
         padding: 5rem 0;
         text-align:left;
    }
     #home .home-left{
         padding: 0rem 2rem 4rem 2rem;
    }
     .eb-content{
         padding: 0rem !important;
    }
     #kontakt .kontakt-wrap, #kontakt .qr-code{
         padding:2rem;
    }
     .eb-dialog{
         padding: 1rem !important;
    }
}
 @media screen and (max-width: 575px) {
     .arbeitsplatz-wrap{
         padding-left: 1rem !important;
    }
     .sppb-carousel-extended-item{
         margin-right: 0px !important;
    }
     #home.video-bg .sppb-addon-content ul li::before{
         display: none;
    }
     #home.video-bg .sppb-addon-content ul li{
         padding-left: 0px;
    }
     #cta .sppb-btn-bewerben{
         margin-top: 0.5rem;
    }
     .ueber-uns-wrap .home-left {
         padding-left:2rem !important;
         padding-right: 2rem !important;
    }
}
 @media screen and (max-width: 400px) {
     .rsform-block-erwartungen .rsfp-fieldset{
         grid-template-columns:1fr !important;
         gap:1.5rem !important;
    }
     .rsform-block-kalender .xdsoft_date div{
         width:32px;
         height:32px;
         line-height: 32px;
    }
}
 @media (max-width: 575px) {
     #sp-header {
         height: 50px;
    }
}
