.btnlp > .nf-field .field-wrap .nf-field-element, .btnlp > .nf-field {
    text-align: center;
}
.bg-dark {
    background-color: --wp--preset--color--custom-oms-dunkel-2;
}
.omslist .icon-list-icon {
    fill: #50aa3c!important;
}
.omslist .icon-list-wrapper {
    background-color: #E6FFD180!important;
    min-width: 33px;
}
@media (max-width: 768px) {
    body #omsag-hs-1.omsag-heroshot.hero2026 {
        padding-top: 6px !important;
    }
}
.overflowhidden {
    overflow: hidden;
}
.cursor-pointer {
    cursor: pointer;
}

.bg-blurred {
    backdrop-filter: blur(3px);
    -webkit-backdrop-filter: blur(3px);
}

.bg-blurred-hard {
    backdrop-filter: blur(40px);
    -webkit-backdrop-filter: blur(40px);
}

.relative {
    display: relative;
}

.d-block {
    display: block;
}
.d-inline {
    display: inline;
}
.d-inline-block {
    display: inline-block;
}
.d-flex {
    display: flex;
}

.t-left {
    text-align: left;
}

.t-center {
    text-align: center;
}

.t-right {
    text-align: right;
}

.flex-reverse {
    flex-direction: column-reverse;
}

@media screen and (max-width: 991.98px) {
    .tablet-reverse {
        flex-direction: column-reverse;
    }

    .tablet-overflow-hidden {
        overflow: hidden;
    }

    body {
        overflow-x: hidden;
    }
}

footer {
    margin: 0;
}

input, textarea, select {
    font-family: var(--wp--preset--font-family--outfit);
}
.gw-mm-item__dropdown {
    padding: 0;
    display: block;
    border-radius: 0 0 30px 30px;
    overflow: hidden;
    box-shadow: 0px 6px 9px -4px rgba(0,0,0,0.6);
}
body .nf-fu-progress {
    height: 3px;
    margin-bottom: 20px;
    overflow: hidden;
    background-color: #393E45;
    border-radius: 4px;
    -webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, .1);
    box-shadow: inset 0 1px 2px rgba(0, 0, 0, .1);
    margin: 0 12px 3px 12px;
}

body .files_uploaded p {
    margin-bottom: 5px;
}

body .nf-form-content button, body .nf-form-content input[type=button], body .nf-form-content input[type=submit] {
    background: rgba(255, 255, 255, 0.1);
    border: 0;
    color: #f7f7f7;
    transition: all .5s;
    border-radius: 8px;
}

body #ninja_forms_required_items, body .nf-field-container {
    margin-bottom: 15px;
}

body .bewerbung_form_wrap .nf-form-content input:not([type=button]), .bewerbung_form_wrap .nf-form-content textarea {
    background: rgba(255, 255, 255, 0.1);
    border: 0;
    border-radius: 7px;
}

body .bewerbung_form_wrap .nf-form-content .ninja-forms-field[type="submit"] {
    color: #232730 !important;
    border: none;
    background-color: #fff;
    background-image: none;
    background-image: none;
    -webkit-transition: all .2s ease-in-out;
    transition: all 0.5s ease;
    background-size: 200% 100%;
    padding: 15px;
    border-radius: 50px;
    width: 100%;
    cursor: pointer;
    font-weight: 600;
}

body .bewerbung_form_wrap .nf-form-content textarea.ninja-forms-field {
    height: 120px;
}

body .beweis-row .vc_column-inner, .beweis-row .vc_column-inner * {
    height: 100%;
}

.nf-form-fields-required {
    display: none;
}
.nf-field-container.hiddenfield {
    display: none !important;
}
.bewerbung_form_wrap .file_upload-wrap {
    border: 2px dashed #c5c5c5;
    border-radius: 5px;
}
.bewerbung_form_wrap .file_upload-wrap .nf-field-element {
    padding: 20px;
    text-align: center;
}
.ds {
    font-size: 12px;
    text-align: center;
    /* margin-top: -10px; */
}

#nf-form-3-cont .nf-form-content input:not([type=button]) {
    border-radius: 45px;
}
#nf-form-3-cont textarea {
    border-radius: 16px;
}

#nf-form-3-cont input[type="submit"] {
    border-radius: 32px;
}
#nf-form-3-cont .nf-error.field-wrap .nf-field-element:after {
    border-radius: 0 45px 45px 0;
}
#nf-form-3-cont .nf-error.textarea-wrap .nf-field-element::after {
    border-radius: 0 16px 0 0;
    top: 0px;
    right: 0px;
}
#nf-form-3-cont .nf-cell {
    padding-left: 0 !important;
    padding-right: 25px;
}

#nf-form-3-cont textarea.ninja-forms-field {
    height: 125px;
}

#nf-form-3-cont input.ninja-forms-field, #nf-form-3-cont textarea.ninja-forms-field {
    font-size: 14px;
    padding: 16px;
    border-color: #C1C1C1;
}

#nf-form-3-cont .nf-form-content {
    padding: 0;
}

#nf-form-3-cont input.ninja-forms-field[type="submit"] {
    background: url(/wp-data/uploads/2024/04/paperplane.svg), #50aa3c !important;
    background-repeat: no-repeat !important;
    padding: 16px 60px 16px 30px !important;
    background-position: right 28px center !important;
    cursor: pointer;
    transition: 0.2s all ease;
}

#nf-form-3-cont input.ninja-forms-field[type="submit"]:hover {
    color: white;
    background-position: right 26px center !important;
}

#nf-form-3-cont .ds, #nf-form-3-cont .ds a {
    color: #7C8287 !important;
}

#nf-form-4-cont ul, #nf-form-6-cont ul {
    display: flex;
    flex-wrap: wrap;
}

#nf-form-4-cont ul input, #nf-form-4-cont ul label::before, #nf-form-4-cont ul label::after, #nf-form-6-cont ul input, #nf-form-6-cont ul label::before, #nf-form-6-cont ul label::after {
    display: none;
}

#nf-form-4-cont ul label, #nf-form-6-cont ul label {
    padding: 8px 16px;
    background: #f3f5f9; 
    border-radius: 6px;

    font-weight: 600;
    font-size: 14px;
    line-height: 18px;
    text-align: left;
     
    color: #000000;
    cursor: pointer;
    transition: 0.2s all ease;
    margin-left: 0 !important;
    margin-right: 10px;
}

#nf-form-4-cont ul input.nf-checked + label, #nf-form-6-cont ul input.nf-checked + label {
    background: linear-gradient(154.95deg, #50aa3c 4.33%, #a1d337 100%);
    color: white;
}

.nf-form-cont .val-label-animation label {
    position: absolute;
    top: 15px;
    left: 0;
    width: 100%;
    /* color: #d3d3d3; */
    transition: 0.2s all;
    cursor: text;
    z-index: 1;

    font-size: 18px;
    font-weight: 400;
  }
  .nf-form-cont input {
    outline: 0;
  }
  
  
  .nf-form-cont label.labelanimation{
    font-size: 10px !important;
    top: -10px;
  }


.nf-error .nf-error-msg {
    display: none;
}
.testimonial_slider .swiper-3d .swiper-slide-shadow {
    background: rgb(255 255 255 / 10%);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
}

#nf-form-4-cont .ninja-forms-field, #nf-form-6-cont .ninja-forms-field {
    border: 0;
    border-bottom: 2px solid #000000 !important;
    background: none;
    padding-left: 0;
}

#nf-form-4-cont .ninja-forms-field:focus, #nf-form-6-cont .ninja-forms-field:focus {
    border-bottom: 2px solid #50AA3C !important;
}

#nf-form-4-cont textarea.ninja-forms-field, #nf-form-6-cont textarea.ninja-forms-field {
    height: 100px !important;
}

#nf-form-4-cont input[type="submit"].ninja-forms-field, #nf-form-6-cont input[type="submit"].ninja-forms-field {
    cursor: pointer;
    background-color: #000000 !important;
    border-radius: 39px;
    font-weight: 700;
    font-size: 16px;
    line-height: 24px;
    text-align: left;    
    color: #ffffff;     
    background-position: right 27px center !important;
    padding: 0 60px 0 30px !important
}

.nf-field > input.ninja-forms-field + .field-wrap input[type="submit"] {
    display: none !important;
}

.casestudytags {
    position: absolute;
    margin-top: -40px;
    right: 14px;
}

.casestudytags a {
    text-decoration: none;
    padding: 6.513086795806885px 10.855144500732422px;
    background: rgba(255, 255, 255, 0.4000000059604645);
    background: #00000075;
    border-radius: 7.236762523651123px;
    backdrop-filter: blur(14.473525047302246px);
    -webkit-backdrop-filter: blur(14.473525047302246px);

    font-weight: 600;
    font-size: 13px;
    line-height: 11.57882022857666px;
    text-align: center;     
    color: #ffffff;

    pointer-events: none;
}

.gspb_filter_panel {
    /* box-shadow: 0 2px 0 #E4E4E4 !important; */
    box-shadow: none !important;
}

.gspb_filter_panel ul.gspb_filter_ul {
    position: relative;
    top: 3px;
    column-gap: 10px;
    border-bottom: 2px solid #efefef;
}

.gspb_filter_panel ul.gspb_filter_ul li {
    /* margin-bottom: 2px !important; */
}

.gspb_filter_panel ul.gspb_filter_ul li span {
    padding: 0 0 10px 0 !important;
    position: relative;
}

.gspb_filter_panel ul.gspb_filter_ul li span::before {
    content: "";
    width: 0%;
    height: 2px;
    bottom: -2px;
    position: absolute;
    background: transparent;
    transition: 0.2s all ease;
    left: 0;
}

.gspb_filter_panel ul.gspb_filter_ul li span.active::before {
    width: 100%;
    background: black;
}

.gs-gsap-scrollx {
    margin-top: 0;
}

.gspb-bodyfront .gspb_id-gsbp-9794372.dotlottie-loaded img {
    transition: none !important;
}

@media screen and (max-width: 1024px){
    .casestudytags {
        padding: 5px;
        margin-top: -65px;
    }
    .casestudytags a {
        display: inline-block;
        margin: 1px;
    }

    
}

/* .masonry-container {
    -moz-column-count: 3;
  -webkit-column-count: 3;
  column-count: 3;
  -moz-column-gap: 30px;
  -webkit-column-gap: 30px;
  column-gap: 30px;
  }
  .masonry-item {
    break-inside:avoid;
  } */
  #gspbgrid_id-gsbp-c7a73e2 .wp-block-post-template, .kundengrid .wp-block-post-template, #kundengrid .wp-block-post-template {
    display: block !important;
    column-count: 3 !important;
  }
@media screen and (max-width: 999px) {
    #gspbgrid_id-gsbp-c7a73e2 .wp-block-post-template, #kundengrid .wp-block-post-template, .kundengrid .wp-block-post-template {
       column-count: 2 !important;
      }  
}
@media screen and (max-width: 767px) {
    #gspbgrid_id-gsbp-c7a73e2 .wp-block-post-template, #kundengrid .wp-block-post-template, .kundengrid .wp-block-post-template {
       column-count: 1 !important;
      }  
}


/* Job Übersichtsseite 2026 */
.bewerbung_form_wrap .nf-field-element input::placeholder,
.bewerbung_form_wrap .nf-field-element textarea::placeholder {
  color: rgba(255,255,255,0.55);
}
.bewerbung_form_wrap .nf-field-element input,
.bewerbung_form_wrap .nf-field-element textarea {
  color: #ffffff !important;
}
.bewerbung_form_wrap .nf-field-element input:focus,
.bewerbung_form_wrap .nf-field-element textarea:focus {
  color: #ffffff !important;
  outline: 2px solid #50aa3c !important;
  outline-offset: 0 !important;
}

.bewerbung_form_wrap .html-container,
.bewerbung_form_wrap .html-container p,
.bewerbung_form_wrap .nf-field-description,
.bewerbung_form_wrap .nf-field-description p {
  color: #ffffff;
}
.bewerbung_form_wrap .html-container a {
  color: #ffffff;
  text-decoration: underline;
}
.bewerbung_form_wrap .html-container a:hover {
  color: #50aa3c;
}

/* Upload-Feld als Drag-and-Drop-Box */
.bewerbung_form_wrap .upload-dropzone .file_upload-wrap {
  border: 2px dashed rgba(80,170,60,0.55);
  border-radius: 12px;
  background: rgba(255,255,255,0.04);
  padding: 36px 28px 30px;
  transition: border-color .2s ease, background-color .2s ease;
}
.bewerbung_form_wrap .upload-dropzone .file_upload-wrap:hover {
  border-color: #50aa3c;
  background: rgba(80,170,60,0.1);
}
.upload-dropzone .nf-field-label {
  display: flex !important;
  visibility: visible !important;
  align-items: center;
  justify-content: center;
  gap: 12px;
  margin: 0 0 18px 0 !important;
}
.upload-dropzone .nf-field-label::before {
  content: "";
  display: inline-block;
  width: 36px;
  height: 36px;
  flex-shrink: 0;
  background-image: url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNTUiIGhlaWdodD0iNTUiIHZpZXdCb3g9IjAgMCA1NSA1NSIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiBhcmlhLWhpZGRlbj0idHJ1ZSI+PHBhdGggZD0iTTcuNDQ1NDkgNDQuMTcxOUw0LjYzODIgMjMuNzE4OEM0LjQ0NzIzIDIyLjQ5NjUgNC43NDMyMyAyMS4zODg5IDUuNTI2MjIgMjAuMzk1OEM2LjMwOTIxIDE5LjQwMjggNy4zMTE4MSAxOC44MTA4IDguNTM0MDMgMTguNjE5OEwxMi4wMjg4IDQzLjU0MTdMMjguMjQyNCA0MS4yNUg0My41MzkyQzQzLjIzMzcgNDIuMDUyMSA0Mi43NjU4IDQyLjczIDQyLjEzNTYgNDMuMjgzOUM0MS41MDU0IDQzLjgzNzcgNDAuNzMyIDQ0LjE3MTkgMzkuODE1MyA0NC4yODY1TDEyLjQ4NzIgNDguMDY3N0MxMS4yMjY3IDQ4LjI1ODcgMTAuMTE5MSA0Ny45NzIyIDkuMTY0MjQgNDcuMjA4M0M4LjIwOTM4IDQ2LjQ0NDQgNy42MzY0NiA0NS40MzIzIDcuNDQ1NDkgNDQuMTcxOVpNMTguMzMwOSAzNi44OTU4QzE3LjA3MDUgMzYuODk1OCAxNS45OTE1IDM2LjQ0NzEgMTUuMDkzOSAzNS41NDk1QzE0LjE5NjQgMzQuNjUxOSAxMy43NDc2IDMzLjU3MjkgMTMuNzQ3NiAzMi4zMTI1VjExLjQ1ODNDMTMuNzQ3NiAxMC4xOTc5IDE0LjE5NjQgOS4xMTg5MiAxNS4wOTM5IDguMjIxMzVDMTUuOTkxNSA3LjMyMzc4IDE3LjA3MDUgNi44NzUgMTguMzMwOSA2Ljg3NUg0NS44MzA5QzQ3LjA5MTMgNi44NzUgNDguMTcwMyA3LjMyMzc4IDQ5LjA2NzkgOC4yMjEzNUM0OS45NjU1IDkuMTE4OTIgNTAuNDE0MiAxMC4xOTc5IDUwLjQxNDIgMTEuNDU4M1YzMi4zMTI1QzUwLjQxNDIgMzMuNTcyOSA0OS45NjU1IDM0LjY1MTkgNDkuMDY3OSAzNS41NDk1QzQ4LjE3MDMgMzYuNDQ3MSA0Ny4wOTEzIDM2Ljg5NTggNDUuODMwOSAzNi44OTU4SDE4LjMzMDlaTTE4LjMzMDkgMzIuMzEyNUg0NS44MzA5VjExLjQ1ODNIMTguMzMwOVYzMi4zMTI1Wk0yMi45MTQyIDIwLjYyNUg0MS4yNDc2VjE2LjA0MTdIMjIuOTE0MlYyMC42MjVaTTIyLjkxNDIgMjcuNUgzNC4zNzI2VjIyLjkxNjdIMjIuOTE0MlYyNy41WiIgZmlsbD0iIzUwYWEzYyI+PC9wYXRoPjwvc3ZnPg==");
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
}
.upload-dropzone .nf-field-label label {
  color: #ffffff;
  font-weight: 700;
  font-size: 16px;
}
.bewerbung_form_wrap .upload-dropzone .nf-field-element {
  padding: 0 !important;
}
.bewerbung_form_wrap .upload-dropzone .nf-fu-fileinput-button {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  background: transparent !important;
  border: none !important;
  border-radius: 0 !important;
  overflow: visible !important;
  box-shadow: none !important;
  padding: 0 !important;
  margin: 0 !important;
  font-size: 14px;
  font-weight: 500;
  color: rgba(255,255,255,0.85);
}
.bewerbung_form_wrap .upload-dropzone .nf-fu-fileinput-button:focus,
.bewerbung_form_wrap .upload-dropzone .nf-fu-fileinput-button:active,
.bewerbung_form_wrap .upload-dropzone .nf-fu-fileinput-button:hover {
  background: transparent !important;
  border: none !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  outline: none !important;
  color: rgba(255,255,255,0.85) !important;
}
.bewerbung_form_wrap .upload-dropzone .nf-fu-fileinput-button::before {
  content: "Dateien einfach hierher ziehen oder\00a0";
}
.bewerbung_form_wrap .upload-dropzone .nf-fu-fileinput-button span {
  color: #6fcf52;
  text-decoration: underline;
  font-weight: 700;
}
.bewerbung_form_wrap .upload-dropzone .nf-fu-progress-bar {
  background-color: #50aa3c;
}
.bewerbung_form_wrap .upload-dropzone .nf-fu-progress {
  display: none;
}
.bewerbung_form_wrap .upload-dropzone .nf-field-description {
  margin-top: 18px !important;
  font-size: 12.5px;
  color: rgba(255,255,255,0.32);
  text-align: center !important;
  width: 100%;
}
.bewerbung_form_wrap .upload-dropzone .nf-fu-button-cancel {
  color: rgba(255,255,255,0.7);
}

@media only screen and (max-width: 800px) {
  .bewerbung_form_wrap .nf-field-container {
    margin-bottom: 15px !important;
  }
}

.personio-job-detail__section-content ul {
    list-style-type: none;
    padding-left: 20px;
    color: #8594a1;
}
.personio-job-detail__section-content ul strong {
    color: #232730;
}
.personio-job-detail__section-content ul li {
    padding-bottom:15px;
}
.personio-job-detail__title, .personio-job-detail__section-title {
    font-weight: 700;
}
.personio-job-detail {
    max-width: 1010px;
    margin: 0 auto;
}

.job-list {
    display: grid;
    grid-template-columns:
        minmax(0, 2.6fr)
        minmax(0, 1fr)
        minmax(0, 1.4fr)
        minmax(0, 1fr)
        minmax(0, 1fr);
    font-family: "Outfit", sans-serif;
    color: #232730;
    background: #fff;
    border-radius: 18px;
    box-shadow: 0 15px 25px rgba(0, 0, 0, 0.1);
    margin: 40px 0;
    padding: 0 20px;
    overflow: hidden;
}

.job-list .job-item {
    padding: 15px 20px;
    font-size: 16px;
    line-height: 1.55;
    display: flex;
    align-items: center;
    min-width: 0;
}

.job-list > .job-item:nth-child(-n+5) {
    color: #848E9A;
    font-weight: 400;
    padding: 22px 20px;
    border-bottom: 1px solid #EAECF0;
}

.job-list > .job-item:nth-child(n+6) {
    border-top: 1px solid #EAECF0;
}
.job-list > .job-item:nth-child(n+6):nth-child(-n+10) {
    border-top: 0;
}

.job-list .job-title {
    font-size: 19px;
    font-weight: 600;
    color: #232730;
    line-height: 1.35;
}
.job-list .job-title a {
    color: inherit;
    text-decoration: none;
    transition: color .2s ease;
}
.job-list .job-title a:hover {
    color: #5BB91A;
}

.job-list .job-type {
    color: #353D42;
}

.job-list .job-place {
    gap: 8px;
    flex-wrap: wrap;
}
.job-list .job-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 8px 16px;
    border-radius: 18px;
    font-size: 14px;
    font-weight: 500;
    line-height: 1;
    color: #232730;
    white-space: nowrap;
}
.job-list .job-badge::before {
    content: "";
    display: inline-block;
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
    flex-shrink: 0;
}
.job-list .job-badge.office-badge {
    background-color: #EBFEDC;
}
.job-list .job-badge.office-badge::before {
    width: 14px;
    height: 14px;
    background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 17 16' fill='%23232730'><path fill-rule='evenodd' clip-rule='evenodd' d='M16.5 8.24258C16.7761 8.24258 17 8.45965 17 8.72742V15.5152C17 15.7829 16.7761 16 16.5 16H6V0.485156C6 0.160381 6.32287 -0.0725581 6.64368 0.0207654L11.6437 1.47528C11.8552 1.53681 12 1.72556 12 1.93967V8.24258H16.5ZM8 2.90935C7.72386 2.90935 7.5 3.12642 7.5 3.39419V7.33355C7.5 7.60131 7.72386 7.81838 8 7.81838H10C10.2761 7.81838 10.5 7.60131 10.5 7.33355V3.39419C10.5 3.12642 10.2761 2.90935 10 2.90935H8ZM12.5 14.7879V12.3622C12.5 11.8282 12.9486 11.394 13.5 11.394C14.0513 11.394 14.5 11.8293 14.5 12.3622V14.7879C14.5 14.9218 14.6119 15.0303 14.75 15.0303H15.25C15.3881 15.0303 15.5 14.9218 15.5 14.7879V12.3622C15.5 11.2938 14.6036 10.4244 13.5 10.4244C12.3967 10.4244 11.5 11.2923 11.5 12.3622V14.7879C11.5 14.9218 11.6119 15.0303 11.75 15.0303H12.25C12.3881 15.0303 12.5 14.9218 12.5 14.7879ZM8.5 3.87903H9.5V6.84871H8.5V3.87903ZM5.25 5.38955V16H0.5C0.223858 16 0 15.7829 0 15.5152V7.51532C0 7.30929 0.13428 7.12577 0.334824 7.05771L5.25 5.38955Z'/></svg>");
}
.job-list .job-badge.remote-badge {
    background-color: #DDF0FB;
    color: #232730;
}
.job-list .job-badge.remote-badge::before {
    width: 16px;
    height: 13px;
    background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 19 15' fill='%23232730'><path d='M18.9147 12.0688H11.7692C11.7291 12.0688 11.6891 12.1089 11.6891 12.1489V12.4091C11.6891 12.5692 11.549 12.7093 11.3889 12.7093H7.66597C7.48583 12.7093 7.36574 12.5692 7.36574 12.4091V12.1289C7.36574 12.0889 7.32571 12.0488 7.28567 12.0488H0.100078C0.0400312 12.0488 0 12.0889 0 12.1489V13.2498C0 13.7902 0.440343 14.2105 0.960748 14.2105H18.034C18.5745 14.2105 18.9948 13.7702 18.9948 13.2498V12.1489C19.0148 12.1089 18.9748 12.0688 18.9147 12.0688Z'/><path d='M2.18196 11.2484H16.8134C17.2737 11.2484 17.654 10.8681 17.654 10.4077V2.26135C17.654 1.24056 16.8134 0.399902 15.7926 0.399902H3.18274C2.16194 0.399902 1.32129 1.24056 1.32129 2.26135V10.4077C1.3413 10.8681 1.7216 11.2484 2.18196 11.2484ZM3.04263 2.26135C3.04263 2.16127 3.12269 2.10123 3.20275 2.10123H15.8126C15.9127 2.10123 15.9727 2.18129 15.9727 2.26135V9.54702H3.04263V2.26135Z'/></svg>");
}

.job-list .job-time {
    color: #353D42;
}
.job-list .job-time b {
    font-weight: 600;
}

.job-list .job-cta {
    justify-content: flex-end;
}
.job-list .cta-link {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    color: #353D42;
    font-weight: 500;
    text-decoration: none;
    border-bottom: 1px solid currentColor;
    padding-bottom: 2px;
    transition: color .2s ease;
}
.job-list .cta-link::after {
    content: "→";
    transition: transform .2s ease;
}
.job-list .cta-link:hover {
    color: #5BB91A;
}
.job-list .cta-link:hover::after {
    transform: translateX(3px);
}

@media (max-width: 1024px) {
    .job-list {
        grid-template-columns:
            minmax(0, 2.2fr)
            minmax(0, 1fr)
            minmax(0, 1.4fr)
            minmax(0, 1fr)
            minmax(0, .9fr);
    }
    .job-list .job-item { padding: 12px 14px; font-size: 15px; }
    .job-list > .job-item:nth-child(-n+5) { padding: 18px 14px; }
}

@media (max-width: 768px) {
    .job-list {
        display: flex;
        flex-direction: column;
        gap: 0;
        padding: 6px 20px;
    }
    .job-list > .job-item:nth-child(-n+5) { display: none; }
    .job-list > .job-item:nth-child(5n+1) {
        border-top: 1px solid #EAECF0;
        padding-top: 18px;
        margin-top: 4px;
    }
    .job-list > .job-item:nth-child(n+6) { border-top: 0; }
    .job-list > .job-item:nth-child(6) { border-top: 0; margin-top: 0; }

    .job-list .job-item {
        padding: 4px 0;
        font-size: 15px;
    }
    .job-list .job-title {
        font-size: 18px;
        font-weight: 600;
        padding-top: 14px;
        padding-bottom: 6px;
    }
    .job-list .job-type::before,
    .job-list .job-place::before,
    .job-list .job-time::before {
        color: #848E9A;
        font-size: 13px;
        font-weight: 500;
        min-width: 90px;
        display: inline-block;
    }
    .job-list .job-type::before   { content: "Bereich"; }
    .job-list .job-place::before  { content: "New Work"; }
    .job-list .job-time::before   { content: "Umfang"; }

    .job-list .job-type,
    .job-list .job-place,
    .job-list .job-time {
        gap: 12px;
    }
    .job-list .job-cta {
        justify-content: flex-start;
        padding-top: 8px;
        padding-bottom: 14px;
    }
}

@media (max-width: 420px) {
    .job-list .job-type::before,
    .job-list .job-place::before,
    .job-list .job-time::before { min-width: 80px; font-size: 12px; }
    .job-list .job-title        { font-size: 17px; }
}





/* Heroshot Job Übersichtsseite 2026 */
/* Personio Job Header */
table.personio-job-header {
  width: 100%;
  border-collapse: collapse;
  border: none;
  background: transparent;
  margin: 0 auto;
  max-width: 1010px;
}
table.personio-job-header tr,
table.personio-job-header th,
table.personio-job-header td {
  border: none;
  background: transparent;
  text-align: left;
  vertical-align: top;
  padding: 0;
}
table.personio-job-header th {
  text-decoration: underline;
  font-weight: 600;
  font-size: 14px;
  padding-right: 48px;
  padding-bottom: 8px;
  white-space: nowrap;
  color: inherit;
}
table.personio-job-header td {
  font-size: 14px;
  font-weight: 400;
  padding-right: 48px;
  white-space: nowrap;
  color: inherit;
}

.herojobs {
    overflow: hidden;
    position: relative;
}
.bewerbung_form_wrap .files_uploaded p {
    color:#fff;
}
.bewerbung_form_wrap .files_uploaded a {
    color: #50aa3c;
}
.bewerbung_form_wrap .nf-response-msg, .bewerbung_form_wrap .nf-response-msg h3 {
    color:#fff!important;
}
@media (max-width: 1440px) {
    .herojobs .gspb_row__content {
        max-width: 100% !important;
        width: 100% !important;
        margin: 0 !important;
        padding-left: 24px;
        padding-right: 24px;
        box-sizing: border-box;
    }
    .herojobs > .gspb_row__content > .wp-block-greenshift-blocks-row-column {
        width: 100% !important;
        max-width: 100% !important;
        box-sizing: border-box;
    }
}

@media (max-width: 1024px) {
    .herojobs {
        height: auto !important;
        min-height: 0 !important;
        padding: 56px 0 64px !important;
    }
    .herojobs .gspb_row__content {
        flex-direction: column !important;
    }

    .herojobs .gspb_row__col--12 {
        display: grid !important;
        grid-template-columns: 1fr 1fr;
        column-gap: 14px;
        row-gap: 16px;
        align-items: start;
    }
    .herojobs .gspb_row__col--12 > * {
        grid-column: 1 / -1;
        width: 100% !important;
        max-width: 100% !important;
    }

    .herojobs .wp-block-greenshift-blocks-image {
        display: none !important;
    }
    .herojobs .gspb_image-id-gsbp-f22972e,
    .herojobs .gspb_image-id-gsbp-2c8ad2b {
        display: block !important;
        position: relative !important;
        top: auto !important;
        left: auto !important;
        right: auto !important;
        bottom: auto !important;
        transform: none !important;
        width: 100% !important;
        height: auto !important;
        margin: 0 !important;
        order: -1;
    }
    .herojobs .gspb_image-id-gsbp-f22972e { grid-column: 1; }
    .herojobs .gspb_image-id-gsbp-2c8ad2b { grid-column: 2; }
    .herojobs .gspb_image-id-gsbp-f22972e img,
    .herojobs .gspb_image-id-gsbp-2c8ad2b img {
        width: 100% !important;
        height: auto !important;
        max-width: 100% !important;
        object-fit: contain;
    }

    .herojobs .gspb_heading-id-gsbp-7488abd {
        font-size: 12px !important;
        font-weight: 600 !important;
        letter-spacing: .14em !important;
        text-transform: uppercase !important;
        opacity: .85;
        margin: 4px 0 0 !important;
    }
    .herojobs .gspb_heading-id-gsbp-aa9fd28 {
        font-size: 52px !important;
        line-height: 1.05 !important;
        font-weight: 700 !important;
        margin: 6px 0 14px !important;
    }

    .herojobs .gspb_text {
        font-size: 17px !important;
        line-height: 1.5 !important;
    }
    .herojobs .gspb_text-id-gsbp-e4064be {
        font-size: 22px !important;
    }
    .herojobs .gspb_text-id-gsbp-581febc {
        font-size: 16px !important;
        width: 100% !important;
    }

    .herojobs .gspb_text-id-gsbp-74c8901 {
        margin-bottom: -4px !important;
    }

    .herojobs .gspb_button_wrapper {
        width: auto !important;
        max-width: max-content !important;
        justify-self: center !important;
        margin-top: 0 !important;
    }
    .herojobs .gspb_button_wrapper a.gspb-buttonbox {
        display: inline-flex !important;
        align-items: center !important;
        padding: 16px 28px !important;
        font-size: 14px !important;
        white-space: nowrap !important;
        line-height: 1.2 !important;
        gap: 0 !important;
        width: auto !important;
    }
    .herojobs .gspb_button_wrapper a.gspb-buttonbox .gspb-buttonbox-textwrap {
        display: inline-flex !important;
        align-items: center !important;
        white-space: nowrap !important;
        width: auto !important;
    }
    .herojobs .gspb_button_wrapper a.gspb-buttonbox .gspb-buttonbox-icon,
    .herojobs .gspb_button_wrapper a.gspb-buttonbox svg {
        display: none !important;
    }

    .herojobs .gspb_text-id-gsbp-ee6c581 {
        margin-bottom: 18px !important;
    }

    .herojobs .gspb_row-id-gsbp-053889c {
        padding: 0 !important;
        margin: 0 !important;
    }
    .herojobs .gspb_row-id-gsbp-053889c .gspb_row__content {
        flex-direction: column !important;
        gap: 10px !important;
    }
    .herojobs .gspb_row-id-gsbp-053889c .wp-block-greenshift-blocks-row-column {
        padding: 4px 0 4px 14px !important;
        width: 100% !important;
        max-width: 100% !important;
    }
    .herojobs .gspb_row-id-gsbp-053889c .gspb_col-id-gsbp-29c5a2f {
        padding-left: 0 !important;
    }
}

@media (max-width: 768px) {
    .herojobs {
        padding: 40px 0 48px !important;
    }
    .herojobs .gspb_row__content {
        padding-left: 20px;
        padding-right: 20px;
    }
    .herojobs .gspb_row__col--12 {
        column-gap: 10px;
        row-gap: 14px;
    }
    .herojobs .gspb_heading-id-gsbp-7488abd {
        font-size: 11px !important;
        letter-spacing: .12em !important;
    }
    .herojobs .gspb_heading-id-gsbp-aa9fd28 {
        font-size: 38px !important;
    }
    .herojobs .gspb_text {
        font-size: 16px !important;
    }
    .herojobs .gspb_text-id-gsbp-e4064be {
        font-size: 20px !important;
    }
    .herojobs .gspb_button_wrapper a.gspb-buttonbox {
        padding: 11px 18px !important;
        font-size: 13.5px !important;
    }
}

@media (max-width: 480px) {
    .herojobs {
        padding: 32px 0 40px !important;
    }
    .herojobs .gspb_row__col--12 {
        column-gap: 8px;
    }
    .herojobs .gspb_heading-id-gsbp-aa9fd28 {
        font-size: 32px !important;
    }
    .herojobs .gspb_text-id-gsbp-e4064be {
        font-size: 18px !important;
    }
    .herojobs .gspb_button_wrapper a.gspb-buttonbox {
        padding: 10px 16px !important;
        font-size: 13px !important;
    }
}

  

/* ==========================================================================
   Fokus- und Klickrahmen — global
   Kein Browser-Standardrahmen und kein Tap-Highlight mehr. Als Ersatz
   markieren Formularfelder den Fokus ueber die Rahmenfarbe in OMS-Gruen,
   damit Tastaturbedienung erkennbar bleibt.
   Gilt fuer alle Seiten; einzelne Sektionen muessen das nicht mehr regeln.
   ========================================================================== */
a, button, input, textarea, select, summary, label,
[tabindex], [role="button"], .gspb-containerlink {
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}

/* Auffangregel: Chrome macht auch scrollbare Bereiche fokussierbar (ohne dass
   sie ein tabindex-Attribut tragen muessen). Eine Liste von Elementtypen greift
   dort nicht — deshalb hier bewusst der Universalselektor. */
*:focus, *:focus-visible {
  outline: 0 !important;
  outline-offset: 0 !important;
}

a:focus, a:focus-visible, a:active,
button:focus, button:focus-visible, button:active,
input:focus, input:focus-visible, input:active,
textarea:focus, textarea:focus-visible, textarea:active,
select:focus, select:focus-visible, select:active,
summary:focus, summary:focus-visible,
[tabindex]:focus, [tabindex]:focus-visible,
[role="button"]:focus, [role="button"]:focus-visible,
.gspb-containerlink:focus, .gspb-containerlink:focus-visible, .gspb-containerlink:active {
  outline: 0 !important;
  outline-offset: 0 !important;
}

/* Formularfelder: kein Kasten, sondern gruene Rahmenfarbe als Fokus-Signal */
input:focus, input:focus-visible,
textarea:focus, textarea:focus-visible,
select:focus, select:focus-visible {
  box-shadow: none !important;
  border-color: #50aa3c !important;
}

/* Ninja Forms zeichnet den Fokus teils ueber ein eigenes Element */
.nf-form-content .nf-field-element input:focus,
.nf-form-content .nf-field-element textarea:focus,
.nf-form-content .nf-field-element select:focus,
.nf-form-content .ninja-forms-field:focus {
  outline: 0 !important;
  box-shadow: none !important;
  border-color: #50aa3c !important;
}

/* ═══ Sprungmarken ════════════════════════════════════════════════════════
   Sanftes Scrollen zu Ankern plus Versatz, damit die feste Kopfzeile das
   Ziel nicht verdeckt. Denselben Wert liest auch das Plugin omsag-elements —
   er steht hier, weil er von der Kopfzeilenhöhe abhängt. Maßgeblich ist die
   KOMPAKTE Kopfzeile (65px), denn beim Springen ist sie immer eingeklappt —
   plus 4px Luft. */
/* Ausgangswerte. Zur Laufzeit misst custom.js die Kopfzeile und ueberschreibt
   sie — diese Zahlen greifen nur, solange das Skript nicht laeuft. Die
   Kopfzeile ist derzeit durchgehend 91px hoch; sie klappt nicht ein. */
:root          { --omsag-anchor-offset: 95px; }   /* 91 Kopfzeile + 4 */
body.admin-bar { --omsag-anchor-offset: 127px; }  /* + 32 Adminleiste */
@media only screen and (max-width: 1024px) {
  :root, body.admin-bar { --omsag-anchor-offset: 89px; }  /* mobile Kopfzeile 85 + 4 */
}

:where([id]) { scroll-margin-top: var(--omsag-anchor-offset, 95px); }
html { scroll-behavior: smooth; }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }

/* Chrome gleicht Layoutsprünge oberhalb des Sichtfensters automatisch aus
   (scroll anchoring). Beim Ein- und Ausklappen der Kopfzeile schaukelt sich
   das zu einem Pendeln auf: schrumpfen → Scrollstand -27px → wieder
   ausklappen → +27px → … Deshalb hier abschalten. */
html, body { overflow-anchor: none; }


/* ═══ Kopfzeile: bleibt oben stehen und schrumpft ═════════════════════════
   Nur ab 1025px — mobil hat die Kopfzeile ihre eigene feste Position.
   position:sticky statt fixed: die Zeile behält ihren Platz im Fluss, es
   gibt also weder einen Layout-Sprung noch einen Platzhalter.
   Die Klasse .oms-nav-fixed setzt custom.js auf <html>. */
@media only screen and (min-width: 1025px) {
  :root { --oms-nav-ease: cubic-bezier(.22,.61,.36,1); --oms-nav-dur: .3s; }

  header.wp-block-template-part {
    position: sticky;
    top: 0;
    z-index: 9999;
    background: transparent;
    border-bottom: 1px solid transparent;
    transition: background var(--oms-nav-dur) var(--oms-nav-ease),
                border-color var(--oms-nav-dur) var(--oms-nav-ease),
                box-shadow var(--oms-nav-dur) var(--oms-nav-ease);
  }
  body.admin-bar header.wp-block-template-part { top: 32px; }

  /* Gescrollt: milchige Fläche mit Haarlinie, kein harter Schatten */
  html.oms-nav-fixed header.wp-block-template-part {
    background: rgba(255, 255, 255, .92);
    -webkit-backdrop-filter: saturate(180%) blur(20px);
    backdrop-filter: saturate(180%) blur(20px);
    border-bottom-color: rgba(20, 24, 22, .07);
    box-shadow: 0 8px 24px -18px rgba(20, 24, 22, .28);
  }
  /* Offenes Mega-Menü: exakt dasselbe Weiß wie das Panel, sonst sieht man die Kante */
  body.oms-mega-open header.wp-block-template-part {
    background: #fff;
    -webkit-backdrop-filter: none;
    backdrop-filter: none;
  }

  /* Die Höhe kommt AUSSCHLIESSLICH aus der Spalten-Polsterung der
     Greenshift-Zeile (15px → 2px). Das Innenleben der Navigation bleibt
     unangetastet: die Menüpunkte stecken in unterschiedlich tief
     verschachtelten Containern (Home und Kunden liegen nicht einmal in einem
     .nav-item-wrapper). Schrumpft man die einzeln, laufen sie beim
     Übergang unterschiedlich weit und kommen versetzt an. So bewegt eine
     einzige Eigenschaft alles gemeinsam — gemessen: alle fünf Labels
     wandern exakt 13px nach oben, waagerecht 0px. */
  .oms-header .gspb_row__content > .wp-block-greenshift-blocks-row-column {
    transition: padding-top var(--oms-nav-dur) var(--oms-nav-ease),
                padding-bottom var(--oms-nav-dur) var(--oms-nav-ease);
  }
  html.oms-nav-fixed .oms-header .gspb_row__content > .wp-block-greenshift-blocks-row-column {
    padding-top: 2px !important;
    padding-bottom: 2px !important;
  }

  /* Logo */
  .oms-header .gspb_image { transition: width var(--oms-nav-dur) var(--oms-nav-ease); }
  html.oms-nav-fixed .oms-header .gspb_image.lightmode { width: 176px !important; }

  /* Button oben rechts */
  .btn-start-projekt {
    transition: padding var(--oms-nav-dur) var(--oms-nav-ease),
                font-size var(--oms-nav-dur) var(--oms-nav-ease);
  }
  html.oms-nav-fixed .btn-start-projekt {
    padding: 11px 21px !important;
    font-size: 14px !important;
  }

  @media (prefers-reduced-motion: reduce) {
    header.wp-block-template-part,
    .oms-header .gspb_row__content > .wp-block-greenshift-blocks-row-column,
    .oms-header .gspb_image,
    .btn-start-projekt { transition: none !important; }
  }
}


/* ─────────────────────────────────────────────────────────────────────────
   Kontakt-LP · zweites Formular "Scope-Einschätzung per Mail" (Form 7)
   Gleiche Formsprache wie Formular 6: Unterstrich-Felder, Tag-Auswahl,
   Pillen-Button.
   ───────────────────────────────────────────────────────────────────────── */

/* Auswahl als aneinandergereihte Tags: jeder Tag ist so breit wie sein Text.
   gap steuert Abstand in beide Richtungen, damit die Zeilen eng sitzen. */
#nf-form-7-cont ul {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    list-style: none;
    margin: 0;
    padding: 0;
}

#nf-form-7-cont ul li {
    flex: 0 0 auto;
    max-width: 100%;
    margin: 0 !important;
    padding: 0 !important;
}

#nf-form-7-cont ul input,
#nf-form-7-cont ul label::before,
#nf-form-7-cont ul label::after {
    display: none;
}

#nf-form-7-cont ul label {
    display: block;
    padding: 8px 16px;
    background: #f3f5f9;
    border-radius: 6px;

    font-weight: 600;
    font-size: 14px;
    line-height: 18px;
    text-align: left;
    white-space: nowrap;

    color: #000000;
    cursor: pointer;
    transition: 0.2s all ease;
    margin: 0 !important;
}

#nf-form-7-cont ul label:hover {
    background: #e7ebf3;
}

#nf-form-7-cont ul input.nf-checked + label,
#nf-form-7-cont ul input.nf-checked + label:hover {
    background: linear-gradient(154.95deg, #50aa3c 4.33%, #a1d337 100%);
    color: #ffffff;
}

/* Die Frage über der Auswahl braucht sichtbar zu bleiben: das Formular
   blendet Feldbeschriftungen aus, hier gibt es aber keinen Platzhalter. */
#nf-form-7-cont .list-container .nf-field-label {
    visibility: visible;
    height: auto;
    margin: 0 0 12px;
}

#nf-form-7-cont .list-container .nf-field-label .nf-label-span {
    font-size: 18px;
    font-weight: 400;
    color: #232730;
}

/* Der Häkchen-Badge von Ninja Forms sitzt am rechten Feldrand und würde
   dort auf einem Tag liegen. Die Auswahl zeigt ihren Zustand ohnehin farbig. */
#nf-form-7-cont .list-container .nf-field-element::after {
    display: none;
}

#nf-form-7-cont .ninja-forms-field:not([type="submit"]):not([type="button"]) {
    border: 0;
    border-bottom: 2px solid #000000 !important;
    background: none;
    padding-left: 0;
}

#nf-form-7-cont .ninja-forms-field:not([type="submit"]):not([type="button"]):focus {
    border-bottom: 2px solid #50AA3C !important;
}

#nf-form-7-cont textarea.ninja-forms-field {
    height: 100px !important;
}

#nf-form-7-cont input[type="submit"].ninja-forms-field {
    cursor: pointer;
    background-color: #000000 !important;
    border-radius: 39px;
    font-weight: 700;
    font-size: 16px;
    line-height: 24px;
    text-align: left;
    color: #ffffff;
    background-position: right 27px center !important;
    padding: 0 60px 0 30px !important;
}

#hs-eu-cookie-confirmation, #hs-web-interactives-top-push-anchor {
  display: none !important;
}