/* ============================================================
   1. BASICS & TYPOGRAFIE (Gilt ab Mobile)
   ============================================================ */
h1, h2, h3, h4, h5 {
    color: #009cc4;
    line-height: 125%;
}
h1 { margin-bottom: 30px; }

.slide-title, .slide-subtitle {
    font-family: "PT Sans Narrow", sans-serif, Arial;
    font-weight: bold;
}

.sppb-addon-content a {
    text-decoration: underline;
    color: #009cc4;
}

.sppb-addon-content a:hover {
    color: #b7d164;
}

.thanks {
    text-align: center;
    border-bottom: 2px solid #009cc4;
    margin: 20px 0 !important;
    padding: 15px 0;
    font-weight: bold;
    color: #1d892f;
}

/* Bubble Basis (Mobile Portrait & Landscape) */
.bubble {
    position: absolute;
    width: 120px;
    height: 120px;
    background-color: #009cc4;
    color: white;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: bold;
    text-align: center;
    bottom: 0;
    padding: 20px;
    transform: rotate(-10deg);
    top: 100px;
    left: 60px;
    z-index: 10;
}

.bubble p {
    margin: 0 !important;
}

/* NEU: Download Buttons Basis (Mobile: Kein Padding-Left) */
.btn-downloads {
    letter-spacing: 0;
    text-transform: none;
}

.btn-downloads .fas {
    position: relative;
    top: 0px;
    font-size: 30px;
    color: #c31018;
    margin-right: 10px;
}

.btn-downloads:hover .fas {
    color: #fff;
}

/*a.btn-downloads {
    padding-left: 20px !important;
    text-align: left;
}*/

a.btn-downloads {
    display: flex !important;
    align-items: center;  
    /*justify-content: center;*/
	justify-content: flex-start; 
    text-align: left;
    padding-left: 3% !important;
}

/* ============================================================
   2. KOMPONENTEN (Standard: Mobile Ansicht)
   ============================================================ */

/* Header & Nav */
#sp-header {
    background: rgba(255, 255, 255, 1.0) !important;
    border-bottom: 4px solid #009cc4;
}
#sp-header .logo { align-items: start !important; margin-top:5px;}
.sp-megamenu-parent>li.active>a,
.sp-megamenu-parent>li>a:hover {
    color: #009cc4 !important;
}
.sp-dropdown-inner { border-bottom: 5px solid #e2001a; }
.sp-copyright { opacity: 0.5; }

/* Carreer Slider Mobile */
.carreer-slider {
    background: url('../images/background_ma_blue_mobile.png') center 160px no-repeat;
}
.carreer-slider .slider-content-vercally-center { align-items: flex-start !important; }
.carreer-slider .sppb-sp-slider-icon { display: none; }
.carreer-slider .image-align-left { margin-bottom: 30px; }
.carreer-slider img { height: auto !important; }
.carreer-slider .sp-dots { top: -750px; }
.carreer-slider .sp-dots ul { text-align: right !important; }

/* Buttons */
.btn_std {
    color: #fff !important;
    background-color: #009cc4 !important;
    padding: 20px !important;
    border-radius: 0 !important;
}
.btn_std:hover {
    color: #fff !important;
    background-color: #b7d164 !important;
    border: 1px solid #009cc4 !important;
    text-decoration: none !important;
    cursor: pointer !important;
}

/* Produkte & Team Detail */
.product-header .sppb-img-responsive { object-fit: cover; }
.product-facts { margin: 30px 0 0; padding-bottom: 40px; }
.product-facts .facts-list {
    border-bottom-right-radius: 50px 50px;
    background: #009cc4;
    padding: 25px;
    margin-top: 50px;
}
.product-facts .facts-list h2 {
    display: inline-block;
    background: #FFF;
    position: relative;
    top: -30px;
    left: -25px;
    padding: 0 20px 5px 25px;
    border-bottom-right-radius: 10px 10px;
}
.product-facts .facts-list ul {
    list-style-type: none !important;
    padding-left: 5px;
    margin: -15px 0 0;
}
.product-facts .facts-list ul li {
    color: #FFF;
    padding: 5px 0 5px 30px;
    position: relative;
}
.product-facts .facts-list ul li:before {
    position: absolute;
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    content: "\f00c";
    margin-right: 10px;
    color: #FFF;
    font-size: 1.3em;
    top: 1px;
    left: 0;
}

.product-images .sppb-addon-single-image-container { margin-bottom: 30px; width: 100%; }
.product-images .sppb-addon-single-image-container .sppb-img-responsive {
    height: 300px;
    min-width: 100%;
    object-fit: cover;
}

.product-slider { background-color: #cfd4d8; margin-top: 50px; padding: 40px 0; }
.product-slider .bx-controls { display: none; }
.product-slider .sppb-articles-carousel-content { margin-bottom: 0; }

.product-numbers {
    background-color: #b7d164;
    padding: 15px 0 25px;
    margin-bottom: 30px;
    position: relative;
}
.product-numbers:after {
    content: '';
    position: absolute;
    top: 100%;
    left: 50%;
    margin-left: -40px;
    width: 0;
    height: 0;
    border-top: solid 40px #b7d164;
    border-left: solid 40px transparent;
    border-right: solid 40px transparent;
}

.product-employee { padding-top: 50px; }
.product-employee .sppb-addon-person {
    margin: 20px 50px;
    background-color: #f2f3f7;
    border-bottom-right-radius: 30px 30px;
}
.product-employee .sppb-person-image { border-bottom: 3px solid #b7d164; margin: 0 !important; }
.product-employee .sppb-person-information { padding: 15px; }
.product-employee .sppb-person-name { font-size: 20px !important; font-weight: 700; color: #009cc4; }
.product-employee .sppb-person-skills { color: #8f98a1; margin-top: 5px; }
.product-employee .sppb-person-designation { font-size: 16px !important; color: inherit !important; letter-spacing: 0px; }
.product-employee .sppb-person-email {
    font-size: 16px !important;
    text-decoration: underline;
    margin-top: 20px !important;
    color: #000 !important;
}
.product-employee .sppb-person-email:hover { color: #b7d164 !important; }

.team { background-color: #f2f3f7; }
.team .team-person .sppb-person-image { margin-bottom: 0 !important; }
.team .team-person .sppb-person-image img { border: none; width: 100%; }
.team .team-person .sppb-person-information { padding: 15px; }
.team .team-person .sppb-person-name { color: #009cc4; font-weight: 700; }
.team .team-person .sppb-person-skills { color: #8f98a1; margin-top: 5px; }
.team .team-person .sppb-person-designation,
.team .team-person .sppb-person-email { font-size: inherit !important; color: inherit !important; }
.team .team-person .sppb-person-email { text-decoration: underline; }
.team .team-person .sppb-person-email:hover { color: #b7d164 !important; }

/* Formular / Request Mobile */
.form-request { line-height: 100%; padding: 3px 0; }
.form-request .formRed { width: 100%; color: #b7d164; margin: 12px 0 0; font-weight: normal; text-align: center; }
.form-request .has-error .form-control { border-color: #b7d164 !important; }
.form-request .form-group { margin: 12px 0; text-align: center; }
.form-request .form-group .formControls { position: relative; float: none; margin: 0 auto; padding: 0; }
.form-request .form-group .formControls input,
.form-request .form-group .formControls select,
.form-request .form-group .formControls textarea {
    border-color: #009cc4;
    padding: 7px 12px 8px;
    line-height: 1em;
    font-size: inherit;
    height: 50px;
}
.form-request .form-group .formControls textarea { height: auto; }
.form-request .form-group .formControls .dsgvo {
    position: relative;
    top: -5px;
    width: 20px;
    height: 20px;
    padding: 0;
    margin-right: 5px;
}
.form-request .form-group .formControls .rsform-captcha-box { width: 50%; }
.form-request .form-group .control-label { display: none; }
.form-request .form-group.rsform-block-submit { text-align: left; }
.form-request .form-group.rsform-block-submit .rsform-submit-button {
    background: #009cc4;
    color: #FFF;
    padding: 10px 50px;
}
.form-request .form-group.rsform-block-datenschutz-text,
.form-request .form-group.rsform-block-datenschutz { text-align: left; }
.form-request .rsform-block-security { text-align: left; margin-bottom: 15px; }
.form-request .form-group.rsform-block-datenschutz-text { font-size: 0.9em; line-height: 140%; }
.form-request .form-group.rsform-block-datenschutz-text a { color: inherit !important; text-decoration: underline !important; }
.form-request .form-group.rsform-block-datenschutz-text a:hover { color: #b7d164 !important; }
.form-request .form-wrapper { margin-bottom: -10px; }
.form-request .pflicht { text-align: left; }

#abschluss { color: #7B838A; }
#abschluss option:not(:first-child) { color: #000; }

.rsform-select-box {
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' fill='%23333' viewBox='0 0 16 16'><path d='M1.5 5.5l6 6 6-6'/></svg>");
    background-repeat: no-repeat;
    background-position: right 12px center;
    background-size: 14px;
    padding-right: 30px;
}

/* Job Icons Mobile */
.job-icons {
    position: fixed;
    bottom: 0;
    height: 50px;
    width: 100%;
    background: #009cc4;
    text-align: center;
    z-index: 99;
}
.job-icons .job-icons-wrapper { position: relative; overflow: hidden; background: #009cc4; display: inline-block; }
.job-icons .job-icons-wrapper .job { float: left; height: 50px; padding: 0 20px; }
.job-icons .job-icons-wrapper .job:nth-of-type(2) { border-left: 2px solid #FFF; }
.job-icons .job-icons-wrapper .job a,
.job-icons .job-icons-wrapper .job a:hover { color: #FFF; text-decoration: none; height: 100%; display: block; z-index: 999; }
.job-icons .job-icons-wrapper .job i { text-align: center; font-size: 30px; position: relative; top: 10px; margin-right: 10px; }
.job-icons .job-icons-wrapper .job span { position: relative; top: 4px; color: #FFF; display: inline-block; font-size: 0.9em; text-transform: uppercase; }

/* Footer / Bottom Mobile */
#sp-bottom { margin-top: 75px; color: #FFF !important; }
#sp-bottom a, #sp-bottom a:hover { color: #FFF !important; }
#sp-bottom .fa-instagram:before { zoom: 2; }
#sp-bottom h4 { color: #FFF !important; margin-bottom: 10px !important; }
#sp-bottom a:hover { text-decoration: underline; }

/* Clip-Path Header Mobile */
.header-image .sppb-addon-single-image-container { position: relative; width: 100%; overflow: hidden; }
.header-image .sppb-addon-single-image-container img {
    width: 100%; height: auto; display: block;
    clip-path: polygon(0 0, 100% 0, 100% calc(100% - 15px), 0 100%);
}
.header-image .sppb-addon-single-image-container::after {
    content: ""; position: absolute; bottom: 0; left: 0; width: 100%; height: 100%;
    clip-path: polygon(0 calc(100% - 3px), 100% calc(100% - 18px), 100% calc(100% - 15px), 0 100%);
    background-color: #B7D164;
}

/* Misc Detail */
.bx-wrapper { margin-bottom: 0; }
.feature-box-home .sppb-feature-box-title { text-align: left !important; margin: 0; padding-left: 2px; }
.feature-box-home .sppb-feature-box-title a { color: #FFF; }
.sppb-articles-carousel-introtext ul { padding-left: 20px; }
.karriere-stellen .sppb-panel-heading { background: #009cc4; color: #FFF; }
.karriere-stellen .sppb-panel-heading .sppb-panel-title { font-size: 16px !important; }
.karriere-stellen .sppb-panel-modern,
.karriere-stellen .sppb-panel-body { border: none !important; }
#column-id-1616496320818 { border-radius: 0 !important; }

/* Slider Detail */
.slider h3.sppb-addon-title { margin-bottom: 0px; font-weight: 700; color: inherit; }
.slider .sppb-addon-content h4 { font-size: 28px; font-weight: 400; color: inherit; }


/* ============================================================
   3. PROGRESSIVE ENHANCEMENT (min-width Queries)
   ============================================================ */

/* SM / Mobile Landscape (Sonderregel) */
@media (max-width: 767px) and (orientation: landscape) {
    .carreer-slider .sp-slider-outer-stage { height: 900px !important; }
    .carreer-slider .sp-dots { top: -430px; }
}

/* SM / Tablets (ab 576px) */
@media (min-width: 576px) {
    .header-image .sppb-addon-single-image-container img {
        clip-path: polygon(0 0, 100% 0, 100% calc(100% - 25px), 0 100%);
    }
    .header-image .sppb-addon-single-image-container::after {
        clip-path: polygon(0 calc(100% - 4px), 100% calc(100% - 29px), 100% calc(100% - 25px), 0 100%);
    }
}

/* MD / Tablets (ab 768px) */
@media (min-width: 768px) {
    .product-employee .sppb-addon-person { margin: 20px 70px; }
    .product-employee .sppb-person-image { border-right: 3px solid #b7d164; border-bottom: none; }
    .carreer-slider { background-position: center 230px; }
    .carreer-slider .sp-dots { top: -430px; }
    .carreer-slider .sp-dots ul { padding-right: 20px; }
}

/* LG / Desktop (ab 992px) */
@media (min-width: 992px) {
	#sp-header .logo { align-items: center !important; margin-top:0;}
    /* Bubble Desktop */
    .bubble {
        width: 200px;
        height: 200px;
        top: 110px;
        left: 100px;
    }

    /* NEU: Download Button Desktop Padding */
    /*a.btn-downloads {
        padding-left: 20% !important;
    }*/
	
	a.btn-downloads {
        justify-content: flex-start; 
        padding-left: 23% !important; /* Ein kleinerer Basiswert */
    }	

    .menu-parent.active .nav-header { display: block !important; }
    .product-employee .sppb-addon-person { margin: 0; }
    
    .job-icons { bottom: auto; top: 200px; right: 0; width: auto; background: none; }
    .job-icons .job-icons-wrapper { background: none; }
    .job-icons .job-icons-wrapper .job { position: relative; clear: both; height: auto; width: 100%; border: none !important; margin-bottom: 5px; background: #009cc4; z-index: 100; padding: 15px; }
    .job-icons .job-icons-wrapper .job:hover { background: #b7d164; }
    .job-icons .job-icons-wrapper .job i { width: auto; top: auto; margin: 0; }
    .job-icons .job-icons-wrapper .job span { display: block; }
    
    .carreer-slider { background: url('../images/background_blue.png') -200px center no-repeat; }
    .carreer-slider .slider-content-vercally-center { align-items: center !important; }
    .carreer-slider .sp-dots { top: auto; left: 150px !important; }
    .carreer-slider .sp-dots ul { text-align: left !important; padding-right: 0; }
    .carreer-slider .sppb-sp-slider-icon { display: block; }
    .carreer-slider .image-align-left { margin-bottom: 0; }

    /* Header Image Edge Desktop */
    .header-image .sppb-addon-single-image-container img {
        clip-path: polygon(0 0, 100% 0, 100% calc(100% - 40px), 0 100%);
    }
    .header-image .sppb-addon-single-image-container::after {
        clip-path: polygon(0 calc(100% - 6px), 100% calc(100% - 46px), 100% calc(100% - 40px), 0 100%);
    }

    /* Equal Height Flex Features */
    .equal-height-features .sppb-row { display: flex; flex-wrap: wrap; align-items: stretch; }
    .equal-height-features .sppb-row > [class*="sppb-col"],
    .equal-height-features .sppb-row > [class*="sppb-col"] > .sppb-column,
    .equal-height-features .sppb-column-addons,
    .equal-height-features .sppb-addon-wrapper,
    .equal-height-features .clearfix,
    .equal-height-features .sppb-addon-image-layouts,
    .equal-height-features .sppb-addon-content,
    .equal-height-features .sppb-addon-image-layout-wrap {
        display: flex; flex-direction: column; width: 100%; height: 100%;
    }
    .equal-height-features .sppb-addon-image-layout-content { flex: 1 1 auto; }
    .equal-height-features .sppb-addon-wrapper { margin-bottom: 0; }
}

/* LG Landscape (ab 992px + orientation) */
@media (min-width: 992px) and (orientation: landscape) {
    .carreer-slider { background-position: -260px center; }
    .carreer-slider .sp-slider-content-wrap { width: 90% !important; }
    .carreer-slider .sp-slider-outer-stage { height: 850px !important; }
    .carreer-slider .sp-dots { top: auto; left: 150px !important; }
    .carreer-slider .sp-dots ul { text-align: left !important; padding-right: 0; }
}

/* XL Desktop (ab 1200px) */
@media (min-width: 1200px) {
    .menu-item-icon .linktext { display: none; }
    .menu-item-icon .fa { font-size: 20px; }
    .fb-icon { height: 97px; }
    .page-73 .page-content, .page-1 .page-content, .page-95 .page-content, .page-96 .page-content, .page-98 .page-content { background: none; }
    .page-71 .page-content { background-position: center 500px; }
    .product-facts { margin-top: 50px; }
    .product-images .sppb-addon-single-image-container { margin-bottom: 0; }
    .product-slider { margin-top: 0; }
    .carreer-slider .sp-slider-content-wrap { width: 75% !important; }
    .carreer-slider .sp-slider-outer-stage { height: 850px !important; }
}

/* XXL Ultra Wide (ab 1920px) */
@media (min-width: 1920px) {
    .carreer-slider { background-position: left center; }
    .carreer-slider .sp-dots { left: 375px !important; }
}