﻿@import url("https://cdn.jsdelivr.net/npm/bootstrap-icons@1.8.1/font/bootstrap-icons.css");

/* ============================================
   CSS CUSTOM PROPERTIES - Farben & Layout
   ============================================ */

:root {
    /* Brand & Semantic Colors */
    --color-brand: #67b168;
    --color-brand-hover: #5a9c5a;
    --color-text: #333;
    --color-text-light: #555;
    --color-text-muted: #999;
    --color-white: #fff;
    --color-black: #000;
    --color-border-light: #e5e5e5;
    --color-border-muted: #ccc;

    /* Breakpoints */
    --breakpoint-mobile: 576px;
    --breakpoint-tablet: 768px;
    --breakpoint-desktop: 992px;
    --breakpoint-large-desktop: 1200px;
    --breakpoint-xlarge: 1400px;
    /* Container max-widths */
    --max-width-mobile: 100%;
    --max-width-tablet: 540px;
    --max-width-desktop: 720px;
    --max-width-lg-desktop: 960px;
    --max-width-xlarge: 1140px;
    /* Content max-widths */
    --max-width-content: 800px;
    --max-width-section: 760px;

    /* Button & Link Styles */
    --button-radius: 6px;
    --transition-fast: 0.2s cubic-bezier(0.694, 0.0482, 0.335, 1);
}

/* Mobile First Approach (0px - 576px) */
.container {
    max-width: var(--max-width-mobile);
    margin-left: auto;
    margin-right: auto;
    padding-left: 15px;
    padding-right: 15px;
}

/* Tablet (576px) */
@media (min-width: 576px) {
    .container {
        max-width: var(--max-width-tablet);
    }
}

/* Tablet Large (768px) */
@media (min-width: 768px) {
    .container {
        max-width: var(--max-width-desktop);
    }
}

/* Desktop (992px) */
@media (min-width: 992px) {
    .container {
        max-width: var(--max-width-lg-desktop);
    }
}

/* Large Desktop (1200px) */
@media (min-width: 1200px) {
    .container {
        max-width: var(--max-width-xlarge);
    }
}

/* Content-spezifische max-widths */
.section__hero-content,
.blogposts,
.pagination,
article {
    max-width: var(--max-width-content);
    margin-left: auto;
    margin-right: auto;
}

.mw-640 {
    max-width: 640px;
}

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

body, html {
    -webkit-font-smoothing: antialiased;
    font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale
}

html {
    font-family: sans-serif;
    -ms-text-size-adjust: 100%;
    -webkit-text-size-adjust: 100%
}

body {
    margin: 0
}

article, aside, details, figcaption, figure, footer, header, hgroup, main, menu, nav, section, summary {
    display: block
}

.caption {
    margin-top: -10px;
    font-size: 0.8em;
}

audio, canvas, progress, video {
    display: inline-block;
    vertical-align: baseline
}

    audio:not([controls]) {
        display: none;
        height: 0
    }

[hidden], template {
    display: none
}

a {
    background-color: transparent
}

    a:active, a:hover {
        outline: 0
    }

    a:hover {
        color: black;
    }

abbr[title] {
    border-bottom: 1px dotted
}

b, strong, .strong {
    font-weight: 700
}

dfn {
    font-style: italic
}

h1 {
    font-size: 2em;
    margin: .67em 0
}

mark {
    background: #ff0;
    color: #000
}

small {
    font-size: 80%
}

sub, sup {
    font-size: 75%;
    line-height: 0;
    position: relative;
    vertical-align: baseline
}

sup {
    top: -.5em
}

sub {
    bottom: -.25em
}

img {
    border: 0
}

svg:not(:root) {
    overflow: hidden
}

figure {
    margin: 1em 40px
}

hr {
    box-sizing: content-box;
    height: 0
}

pre {
    overflow: auto
}

code, kbd, pre, samp {
    font-family: monospace,monospace;
    font-size: 1em
}

button, input, optgroup, select, textarea {
    color: inherit;
    font: inherit;
    margin: 0
}

button {
    overflow: visible
}

button, select {
    text-transform: none
}

button, html input[type=button], input[type=reset], input[type=submit] {
    -webkit-appearance: button;
    cursor: pointer
}

    button[disabled], html input[disabled] {
        cursor: default
    }

    button::-moz-focus-inner, input::-moz-focus-inner {
        border: 0;
        padding: 0
    }

input {
    line-height: normal
}

    input[type=checkbox], input[type=radio] {
        box-sizing: border-box;
        padding: 0
    }

    input[type=number]::-webkit-inner-spin-button, input[type=number]::-webkit-outer-spin-button {
        height: auto
    }

    input[type=search] {
        -webkit-appearance: textfield;
        box-sizing: content-box
    }

        input[type=search]::-webkit-search-cancel-button, input[type=search]::-webkit-search-decoration {
            -webkit-appearance: none
        }

fieldset {
    border: 1px solid silver;
    margin: 0 2px;
    padding: .35em .625em .75em
}

legend {
    border: 0;
    padding: 0
}

textarea {
    overflow: auto
}

optgroup {
    font-weight: 700
}

table {
    border-collapse: collapse;
    border-spacing: 0
}

td, th {
    padding: 0
}

.container {
    margin-right: auto;
    margin-left: auto;
    padding-left: 15px;
    padding-right: 15px
}

    .container:after, .container:before {
        content: " ";
        display: table
    }

    .container:after {
        clear: both
    }

.container-fluid {
    margin-right: auto;
    margin-left: auto;
    padding-left: 15px;
    padding-right: 15px
}

    .container-fluid:after, .container-fluid:before {
        content: " ";
        display: table
    }

    .container-fluid:after {
        clear: both
    }

.row {
    margin-left: -15px;
    margin-right: -15px
}

    .row:after, .row:before {
        content: " ";
        display: table
    }

    .row:after {
        clear: both
    }

.col-lg-1, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-10, .col-lg-11, .col-lg-12, .col-md-1, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11, .col-md-12, .col-sm-1, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11, .col-sm-12, .col-1, .col-2, .col-3, .col-4, .col-5, .col-6, .col-7, .col-8, .col-9, .col-10, .col-11, .col-12 {
    position: relative;
    float:left;
    min-height: 1px;
    padding-left: 15px;
    padding-right: 15px
}

.col-1, .col-2, .col-3, .col-4, .col-5, .col-6, .col-7, .col-8, .col-9, .col-10, .col-11, .col-12 {
    float: left
}

.col-1 {
    width: 8.333333%
}

.col-2 {
    width: 16.666667%
}

.col-3 {
    width: 25%
}

.col-4 {
    width: 33.333333%
}

.col-5 {
    width: 41.666667%
}

.col-6 {
    width: 50%
}

.col-7 {
    width: 58.333333%
}

.col-8 {
    width: 66.666667%
}

.col-9 {
    width: 75%
}

.col-10 {
    width: 83.333333%
}

.col-11 {
    width: 91.666667%
}

.col-12 {
    width: 100%
}















































































fieldset {
    margin: 0;
    min-width: 0
}

fieldset, legend {
    padding: 0;
    border: 0
}

legend {
    display: block;
    width: 100%;
    margin-bottom: 20px;
    font-size: 21px;
    line-height: inherit;
    color: #333;
    border-bottom: 1px solid #e5e5e5
}

label {
    display: inline-block;
    max-width: 100%;
    margin-bottom: 5px;
    font-weight: 700
}

input[type=search] {
    box-sizing: border-box
}

input[type=checkbox], input[type=radio] {
    margin: 4px 0 0;
    margin-top: 1px\9;
    line-height: normal
}

input[type=file] {
    display: block
}

input[type=range] {
    display: block;
    width: 100%
}

select[multiple], select[size] {
    height: auto
}

input[type=checkbox]:focus, input[type=file]:focus, input[type=radio]:focus {
    outline: thin dotted;
    outline: 5px auto -webkit-focus-ring-color;
    outline-offset: -2px
}

output {
    padding-top: 7px
}

.form-control, output {
    display: block;
    font-size: 14px;
    line-height: 1.428571;
    color: #555
}

.form-control {
    width: 100%;
    height: 34px;
    padding: 6px 12px;
    background-color: #fff;
    background-image: none;
    border: 1px solid #ccc;
    border-radius: 4px;
    box-shadow: inset 0 1px 1px rgba(0,0,0,.075);
    transition: border-color .15s ease-in-out,box-shadow .15s ease-in-out
}

    .form-control:focus {
        border-color: #66afe9;
        outline: 0;
        box-shadow: inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(102,175,233,.6)
    }

    .form-control::-moz-placeholder {
        color: #999;
        opacity: 1
    }

    .form-control:-ms-input-placeholder {
        color: #999
    }

    .form-control::-webkit-input-placeholder {
        color: #999
    }

    .form-control::-ms-expand {
        border: 0;
        background-color: transparent
    }

    .form-control[disabled], .form-control[readonly], fieldset[disabled] .form-control {
        background-color: #eee;
        opacity: 1
    }

    .form-control[disabled], fieldset[disabled] .form-control {
        cursor: not-allowed
    }

textarea.form-control {
    height: auto
}

input[type=search] {
    -webkit-appearance: none
}

.form-group {
    margin-bottom: 15px
}

.checkbox, .radio {
    position: relative;
    display: block;
    margin-top: 10px;
    margin-bottom: 10px
}

    .checkbox label, .radio label {
        min-height: 20px;
        padding-left: 20px;
        margin-bottom: 0;
        font-weight: 400;
        cursor: pointer
    }

    .checkbox-inline input[type=checkbox], .checkbox input[type=checkbox], .radio-inline input[type=radio], .radio input[type=radio] {
        position: absolute;
        margin-left: -20px;
        margin-top: 4px\9
    }

    .checkbox + .checkbox, .radio + .radio {
        margin-top: -5px
    }

.checkbox-inline, 

    .checkbox-inline + .checkbox-inline, .radio-inline + 

    .checkbox-inline.disabled, .checkbox.disabled label, .radio-inline.disabled, .radio.disabled label, fieldset[disabled] .checkbox-inline, fieldset[disabled] .checkbox label, fieldset[disabled] .radio-inline, fieldset[disabled] .radio label, fieldset[disabled] input[type=checkbox], fieldset[disabled] input[type=radio], input[type=checkbox].disabled, input[type=checkbox][disabled], input[type=radio].disabled, input[type=radio][disabled] {
        cursor: not-allowed
    }

.form-control-static {
    padding-top: 7px;
    padding-bottom: 7px;
    margin-bottom: 0;
    min-height: 34px
}

    .form-control-static.input-lg, .form-control-static.input-sm, .input-group-lg > .form-control-static.form-control, .input-group-lg > .form-control-static.input-group-addon, .input-group-lg > .input-group-btn > .form-control-static.btn, .input-group-sm > .form-control-static.form-control, .input-group-sm > .form-control-static.input-group-addon, .input-group-sm > .input-group-btn > .form-control-static.btn {
        padding-left: 0;
        padding-right: 0
    }

.input-group-sm > .form-control, .input-group-sm > .input-group-addon, .input-group-sm > .input-group-btn > .btn, .input-sm {
    height: 30px;
    padding: 5px 10px;
    font-size: 12px;
    line-height: 1.5;
    border-radius: 3px
}

.input-group-sm > .input-group-btn > select.btn, .input-group-sm > select.form-control, .input-group-sm > select.input-group-addon, select.input-sm {
    height: 30px;
    line-height: 30px
}

.input-group-sm > .input-group-btn > select[multiple].btn, .input-group-sm > .input-group-btn > textarea.btn, .input-group-sm > select[multiple].form-control, .input-group-sm > select[multiple].input-group-addon, .input-group-sm > textarea.form-control, .input-group-sm > textarea.input-group-addon, select[multiple].input-sm, textarea.input-sm {
    height: auto
}

.form-group-sm .form-control {
    height: 30px;
    padding: 5px 10px;
    font-size: 12px;
    line-height: 1.5;
    border-radius: 3px
}

.form-group-sm select.form-control {
    height: 30px;
    line-height: 30px
}

.form-group-sm select[multiple].form-control, .form-group-sm textarea.form-control {
    height: auto
}

.form-group-sm .form-control-static {
    height: 30px;
    min-height: 32px;
    padding: 6px 10px;
    font-size: 12px;
    line-height: 1.5
}

.input-group-lg > .form-control, .input-group-lg > .input-group-addon, .input-group-lg > .input-group-btn > .btn, .input-lg {
    height: 46px;
    padding: 10px 16px;
    font-size: 18px;
    line-height: 1.333333;
    border-radius: 6px
}

.input-group-lg > .input-group-btn > select.btn, .input-group-lg > select.form-control, .input-group-lg > select.input-group-addon, select.input-lg {
    height: 46px;
    line-height: 46px
}

.input-group-lg > .input-group-btn > select[multiple].btn, .input-group-lg > .input-group-btn > textarea.btn, .input-group-lg > select[multiple].form-control, .input-group-lg > select[multiple].input-group-addon, .input-group-lg > textarea.form-control, .input-group-lg > textarea.input-group-addon, select[multiple].input-lg, textarea.input-lg {
    height: auto
}

.form-group-lg .form-control {
    height: 46px;
    padding: 10px 16px;
    font-size: 18px;
    line-height: 1.333333;
    border-radius: 6px
}

.form-group-lg select.form-control {
    height: 46px;
    line-height: 46px
}

.form-group-lg select[multiple].form-control, .form-group-lg textarea.form-control {
    height: auto
}

.form-group-lg .form-control-static {
    height: 46px;
    min-height: 38px;
    padding: 11px 16px;
    font-size: 18px;
    line-height: 1.333333
}

.has-feedback {
    position: relative
}

    .has-feedback .form-control {
        padding-right: 42.5px
    }



.form-group-lg .form-control + .form-control-feedback, .input-group-lg + .form-control-feedback, .input-group-lg > .form-control + .form-control-feedback, .input-group-lg > .input-group-addon + .form-control-feedback, .input-group-lg > .input-group-btn > .btn + .form-control-feedback, .input-lg + 

.form-group-sm .form-control + .form-control-feedback, .input-group-sm + .form-control-feedback, .input-group-sm > .form-control + .form-control-feedback, .input-group-sm > .input-group-addon + .form-control-feedback, .input-group-sm > .input-group-btn > .btn + .form-control-feedback, .input-sm + 

.has-success .checkbox, .has-success .checkbox-inline, .has-success.checkbox-inline label, .has-success.checkbox label, .has-success .control-label, .has-success .help-block, .has-success .radio, .has-success .radio-inline, .has-success.radio-inline label, .has-success.radio label {
    color: #3c763d
}

.has-success .form-control {
    border-color: #3c763d;
    box-shadow: inset 0 1px 1px rgba(0,0,0,.075)
}

    .has-success .form-control:focus {
        border-color: #2b542c;
        box-shadow: inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #3c763d
    }

.has-success .input-group-addon {
    color: #3c763d;
    border-color: #3c763d;
    background-color: #dff0d8
}

.has-success 

.has-warning .checkbox, .has-warning .checkbox-inline, .has-warning.checkbox-inline label, .has-warning.checkbox label, .has-warning .control-label, .has-warning .help-block, .has-warning .radio, .has-warning .radio-inline, .has-warning.radio-inline label, .has-warning.radio label {
    color: #8a6d3b
}

.has-warning .form-control {
    border-color: #8a6d3b;
    box-shadow: inset 0 1px 1px rgba(0,0,0,.075)
}

    .has-warning .form-control:focus {
        border-color: #66512c;
        box-shadow: inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #c0a16b
    }

.has-warning .input-group-addon {
    color: #8a6d3b;
    border-color: #8a6d3b;
    background-color: #fcf8e3
}

.has-warning 

.has-error .checkbox, .has-error .checkbox-inline, .has-error.checkbox-inline label, .has-error.checkbox label, .has-error .control-label, .has-error .help-block, .has-error .radio, .has-error .radio-inline, .has-error.radio-inline label, .has-error.radio label {
    color: #a94442
}

.has-error .form-control {
    border-color: #a94442;
    box-shadow: inset 0 1px 1px rgba(0,0,0,.075)
}

    .has-error .form-control:focus {
        border-color: #843534;
        box-shadow: inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #ce8483
    }

.has-error .input-group-addon {
    color: #a94442;
    border-color: #a94442;
    background-color: #f2dede
}

.has-error 

.has-feedback label ~ 

.has-feedback label.sr-only ~ 

.help-block {
    display: block;
    margin-top: 5px;
    margin-bottom: 10px;
    color: #737373
}

.form-horizontal .checkbox, .form-horizontal .checkbox-inline, .form-horizontal .radio, .form-horizontal 

.form-horizontal .checkbox, .form-horizontal .radio {
    min-height: 27px
}

.form-horizontal .form-group {
    margin-left: -15px;
    margin-right: -15px
}

    .form-horizontal .form-group:after, .form-horizontal .form-group:before {
        content: " ";
        display: table
    }

    .form-horizontal .form-group:after {
        clear: both
    }

.form-horizontal .has-feedback 



    .input-group[class*=col-] {
        float: none;
        padding-left: 0;
        padding-right: 0
    }

    .input-group .form-control {
        position: relative;
        z-index: 2;
        float: left;
        width: 100%;
        margin-bottom: 0
    }

        .input-group .form-control:focus {
            z-index: 3
        }

    .input-group-addon, .input-group-btn, .input-group .form-control {
        display: table-cell
    }

        .input-group-addon:not(:first-child):not(:last-child), .input-group-btn:not(:first-child):not(:last-child), .input-group .form-control:not(:first-child):not(:last-child) {
            border-radius: 0
        }

.input-group-addon, .input-group-btn {
    width: 1%;
    white-space: nowrap;
    vertical-align: middle
}

.input-group-addon {
    padding: 6px 12px;
    font-size: 14px;
    font-weight: 400;
    line-height: 1;
    color: #555;
    text-align: center;
    background-color: #eee;
    border: 1px solid #ccc;
    border-radius: 4px
}

    .input-group-addon.input-sm, .input-group-sm > .input-group-addon, .input-group-sm > .input-group-btn > .input-group-addon.btn {
        padding: 5px 10px;
        font-size: 12px;
        border-radius: 3px
    }

    .input-group-addon.input-lg, .input-group-lg > .input-group-addon, .input-group-lg > .input-group-btn > .input-group-addon.btn {
        padding: 10px 16px;
        font-size: 18px;
        border-radius: 6px
    }

    .input-group-addon input[type=checkbox], .input-group-addon input[type=radio] {
        margin-top: 0
    }

    .input-group-addon:first-child, .input-group-btn:first-child > .btn, .input-group-btn:first-child > .btn-group > .btn, .input-group-btn:first-child > .dropdown-toggle, .input-group-btn:last-child > .btn-group:not(:last-child) > .btn, .input-group-btn:last-child > .btn:not(:last-child):not(.dropdown-toggle), .input-group .form-control:first-child {
        border-bottom-right-radius: 0;
        border-top-right-radius: 0
    }

    .input-group-addon:first-child {
        border-right: 0
    }

    .input-group-addon:last-child, .input-group-btn:first-child > .btn-group:not(:first-child) > .btn, .input-group-btn:first-child > .btn:not(:first-child), .input-group-btn:last-child > .btn, .input-group-btn:last-child > .btn-group > .btn, .input-group-btn:last-child > .dropdown-toggle, .input-group .form-control:last-child {
        border-bottom-left-radius: 0;
        border-top-left-radius: 0
    }

    .input-group-addon:last-child {
        border-left: 0
    }

.input-group-btn {
    font-size: 0;
    white-space: nowrap
}

    .input-group-btn, .input-group-btn > .btn {
        position: relative
    }

        .input-group-btn > .btn + .btn {
            margin-left: -1px
        }

        .input-group-btn > .btn:active, .input-group-btn > .btn:focus, .input-group-btn > .btn:hover {
            z-index: 2
        }

        .input-group-btn:first-child > .btn, .input-group-btn:first-child > .btn-group {
            margin-right: -1px
        }

        .input-group-btn:last-child > .btn, .input-group-btn:last-child > .btn-group {
            z-index: 2;
            margin-left: -1px
        }

.label {
    display: inline;
    padding: .2em .6em .3em;
    font-size: 75%;
    font-weight: 700;
    line-height: 1;
    color: #fff;
    text-align: center;
    white-space: nowrap;
    vertical-align: baseline;
    border-radius: .25em
}

    .label:empty {
        display: none
    }

.btn .label {
    position: relative;
    top: -1px
}

a.label:focus, a.label:hover {
    color: #fff;
    text-decoration: none;
    cursor: pointer
}



    .label-default[href]:focus, .label-default[href]:hover {
        background-color: #5e5e5e
    }



    .label-primary[href]:focus, .label-primary[href]:hover {
        background-color: #286090
    }



    .label-success[href]:focus, .label-success[href]:hover {
        background-color: #449d44
    }



    .label-info[href]:focus, .label-info[href]:hover {
        background-color: #31b0d5
    }



    .label-warning[href]:focus, .label-warning[href]:hover {
        background-color: #ec971f
    }



    .label-danger[href]:focus, .label-danger[href]:hover {
        background-color: #c9302c
    }

/* Typografische Hierarchie: responsive mit clamp() */
h1 {
    font-size: clamp(1.75rem, 6vw, 2.5rem);
    line-height: 1.2;
    margin-top: 1.5em;
    margin-bottom: 0.5em;
    font-weight: 700
}

h2 {
    font-size: clamp(1.4rem, 4vw, 1.8rem);
    line-height: 1.3;
    margin-top: 1.25em;
    margin-bottom: 0.5em;
    letter-spacing: 1px;
    text-transform: uppercase;
    font-weight: 700
}

h3 {
    font-size: clamp(1.1rem, 2.5vw, 1.8rem);
    line-height: 1.4;
    margin-top: 1em;
    margin-bottom: 0.5em;
    font-weight: 600
}

h4 {
    font-size: clamp(1rem, 2vw, 1.5rem);
    line-height: 1.4;
    margin-top: 0.75em;
    margin-bottom: 0.25em;
    font-weight: 600
}

h5, h6 {
    font-size: clamp(0.95rem, 1.5vw, 1.2rem);
    line-height: 1.5;
    margin-top: 0.5em;
    margin-bottom: 0.25em;
    font-weight: 600
}

p {
    line-height: 1.6;
    margin-bottom: 1em
}

.nav-link--active {
    border-bottom: 2px solid transparent;
}

.nav-link--disabled, .nav-link--disabled:hover {
    border-color: transparent !important;
    cursor: not-allowed;
}

.montserrat, .nav-link.nav-link--home, h1, h2, h3, h4, h5, h6 {
    font-family: Montserrat,sans-serif
}

.source-sans-pro, body, .nav-link {
    font-family: Source Sans Pro,sans-serif
}

p {
    line-height: 1.6em;
    margin-bottom: 30px
}















    .product-advantage:last-child {
        border-bottom: 1px solid #f2f2f2
    }





    .product-grid__item:hover {
        cursor: pointer
    }





.product-grid__item__name, 

.header {
    padding-top: 25px;
    padding-bottom: 30px;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: center;
    align-items: center;
    position: fixed;
    width: 100%;
    z-index: 4;
    top: 0;
    left: 0;
    /*background:gray;
    border-bottom: 1px solid darkgray;*/
}

.header--fixed {
    padding-top: 20px;
    padding-bottom: 20px;
    transition: padding var(--transition-fast)
}

    .header--fixed .nav-bar {
        position: absolute;
        right: 0px;
        top: 50%;
        transform: translate(-5%,-50%)
    }

    .header--fixed .nav-link {
        color: #fff !important
    }

        .header--fixed .nav-link--active, .header--fixed .nav-link:hover {
            border-bottom-color: #fff !important
        }

    .header--fixed .hamburger span, .header--fixed .hamburger span:after, .header--fixed .hamburger span:before {
        background-color: #fff !important
    }

body.frontpage .header:not(.header--fixed) .nav-link--home__text:after {
    background-color: #fff
}

body.frontpage .header:not(.header--fixed) .nav-link {
    color: #fff
}

    body.frontpage .header:not(.header--fixed) .nav-link--active, body.frontpage .header:not(.header--fixed) .nav-link:hover {
        border-bottom-color: #fff
    }

body.frontpage .header:not(.header--fixed) .hamburger span, body.frontpage .header:not(.header--fixed) .hamburger span:after, body.frontpage .header:not(.header--fixed) .hamburger span:before {
    background-color: #fff
}

/* Inner pages: dunkel header mit weiÃŸer Navigation fÃ¼r Kontrast */
body:not(.frontpage) .header {
    position: fixed;
    top: 0;
    width: 100%;
    z-index: 4
}

body:not(.frontpage) .header .nav-link {
    color: var(--color-white) !important
}

body:not(.frontpage) .header .nav-link--active,
body:not(.frontpage) .header .nav-link:hover {
    border-bottom-color: var(--color-white) !important
}

body:not(.frontpage) .header .hamburger span,
body:not(.frontpage) .header .hamburger span:after,
body:not(.frontpage) .header .hamburger span:before {
    background-color: var(--color-white) !important
}

body:not(.frontpage) .header .nav-link--home {
    color: var(--color-white) !important
}

/* Main-Content: padding-top fÃ¼r fixen Header */

main {
    padding-top: 60px;
}

body.frontpage main {
    padding-top: 0;
}

footer {
    position: relative;
    z-index: 5;
    padding-top: 50px;
    padding-bottom: 50px;
    border-top: 1px solid #e0e0e0;
}

footer .nav-fake {
    display: block;
    font-size: 14px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 1px;
    margin-bottom: 15px;
}

footer .nav-link {
    display: inline-block;
    margin: 10px 15px;
    font-size: 14px;
}

footer .nav-link:hover {
}

/* ============================================
   FORM STYLES - Kontaktformular & Inputs
   ============================================ */
.form-group {
    margin-bottom: 20px
}

.form-control {
    display: block;
    width: 100%;
    padding: 12px 15px;
    font-size: 16px;
    line-height: 1.5;
    color: var(--color-text);
    background-color: var(--color-white);
    border: 1.5px solid #d0d0d0;
    border-radius: var(--button-radius);
    transition: var(--transition-fast);
    font-family: inherit
}

.form-control:focus {
    outline: none;
    box-shadow: 0 0 0 3px rgba(0, 0, 0, 0.05)
}

.form-control::placeholder {
    color: #999
}

textarea.form-control {
    resize: vertical;
    min-height: 120px
}

/* Button in Formularen */
.btn, input[type="submit"] {
    display: inline-flex;
    padding: 12px 40px;
    font-size: 16px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 1px;
    border: none;
    border-radius: var(--button-radius);
    cursor: pointer;
    transition: var(--transition-fast);
    color: var(--color-white);
    align-items: center;
    justify-content: center
}

.btn:hover, input[type="submit"]:hover {
    transform: translateY(-2px);
}

/* Alert Messages */
.alert {
    padding: 15px 20px;
    border-radius: var(--button-radius);
    border: none;
    margin-bottom: 20px
}

.alert-success {
    background-color: #d4edda;
    color: #155724;
    border-left: 4px solid #28a745
}

.alert-danger {
    background-color: #f8d7da;
    color: #721c24;
    border-left: 4px solid #dc3545
}

.invalid-feedback {
    color: #dc3545;
    font-size: 14px;
    margin-top: 5px;
    display: block !important
}

.logo {
    padding-left: 20px;
    height: 100%;
    text-align: center;
}

.logo-image {
    max-width: 180px;
    max-height: 100px;
    height: auto;
    margin-left: 20px;
    display: block
}

.nav-bar {
    display: -ms-inline-flexbox;
    display: inline-flex;
    -ms-flex-align: center;
    align-items: center;
    -ms-flex-direction: row;
    flex-direction: row;
    transform: translate(-5%,-0%);
    
}

.nav-bar *
{
    overflow-wrap: break-word;
    box-sizing:content-box !important;
}

.nav-bar--list {
    -ms-flex-direction: column;
    flex-direction: column;
    -ms-flex-align: start;
    align-items: flex-start;
    position: unset !important;
    margin-bottom: 20px;
}

.nav-bar--center, .nav-bar--list {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: center;
    justify-content: center;
}

.nav-bar--air-bottom {
    margin-bottom: 40px
}

.nav-link, .nav-link:visited {
    text-decoration: none;
    margin: 10px 15px;
    font-size: 14px;
    text-transform: uppercase;
    font-weight: 600;
    letter-spacing: 2px;
    /* border-bottom: 2px solid transparent; */
    transition: var(--transition-fast)
}

.nav-link--air-bottom {
    margin-bottom: 5px
}

a.nav-link.nav-link--black {
    color: #000
}

a.nav-link.nav-link--black:hover {
    border-color: #000
}

.nav-link--black.nav-link--active {
    box-shadow: inset 0 -2px 0 #000;
}

.nav-link--home {
    font-size: 15px;
    font-weight: 900;
    margin-right: 30px;
}

    .nav-link--home:hover {
        box-shadow: none
    }

.nav-link--home__text {
    position: relative
}

    .nav-link--home__text:after {
        position: absolute;
        right: 0;
        display: block;
        /*content: "";*/
        height: 3px;
        width: 200%
    }

.lang-switch {
    display: -ms-inline-flexbox;
    display: inline-flex;
    align-items: center
}

.nav-bar.top-nav {
    position: absolute;
    right: 0px;
}

.nav-bar.top-nav .lang-switch {
    margin-left: 10px;
    padding-left: 15px;
    border-left: 1px solid rgba(255,255,255,.4)
}

.lang-switch .nav-link {
    margin: 10px 5px
}

.mobile-nav .lang-switch {
    border-left: none;
    margin-left: 0;
    padding-left: 0
}

.mobile-nav .nav-bar {
    -ms-flex-direction: column;
    flex-direction: column;
    -ms-flex-align: center;
    align-items: center;
}

.section {
    padding: 40px 20px
}

.section--stroke-bottom {
    border-bottom: 1px solid #f2f2f2
}

.section--full-height {
    min-height: 100vh
}

.section--header {
    min-height: 120px;
    padding-top: 120px;
}

.section--header h1, .section--header h2, .section--header h3, .section--header h4, .section--header h5, .section--header h6 {
    color:var(--color-white) !important;
}

.section--content-center {
    -ms-flex-align: center;
    align-items: center;
    text-align: center
}

.section--content-center, .section--content-center-bottom {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: center;
    justify-content: center
}

.section--content-center-bottom {
    -ms-flex-align: end;
    align-items: flex-end
}

.section--thick-border {
    border: none;
    padding: 40px 20px
}

body.frontpage .section__hero-content {
    color: #fff
}

.section__hero-content {
    max-width: 760px;
    padding: 0 20px
}

.section__description {
    font-size: 18px;
    line-height: 1.5;
    margin-bottom: 60px
}

.background-image-full {
    background-repeat: no-repeat;
    background-size: cover;
    background-position: 50%
}

.overlay {
    position: relative
}

    .overlay:after {
        content: "";
        z-index: 0;
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%
    }

.overlay--dark:after {
    background: linear-gradient(180deg, rgba(37,33,33,0.4) 0%, rgba(37,33,33,0.8) 100%)
}

.overlay--light:after {
    background: hsla(0,0%,88%,.6)
}

.overlay * {
    position: relative;
    z-index: 1
}

/* ============================================
   CARD PATTERN - einheitlich fÃ¼r Blog/News/Galerien
   ============================================ */
.card {
    background: var(--color-white);
    border-radius: var(--button-radius);
    border: 1px solid #e8e8e8;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
    transition: all var(--transition-fast);
}

.card:hover {
    box-shadow: 0 8px 20px rgba(0, 0, 0, 0.12);
    transform: translateY(-3px);
    border-color: #d8d8d8
}

.button, .button--small {
    display: -ms-inline-flexbox;
    display: inline-flex;
    max-width: 100%;
    padding: 10px 40px;
    text-align: center;
    text-decoration: none;
    letter-spacing: 2px;
    text-transform: uppercase;
    color: #fff;
    font-size: 16px;
    font-weight: 700;
    border: 2px solid #000;
    border-radius: var(--button-radius);
    outline: none;
    transition: var(--transition-fast)
}

    .button--small:hover, .button:hover {
        opacity: .7
    }

.button--small {
    padding: 8px 40px;
    font-size: 14px
}

.button--border--light {
    background: none;
    border-color: #fff;
    color: #fff
}

    .button--border--light:hover {
        background: #fff;
        color: #000;
        opacity: 1
    }

.button--border--light_solid {
    background: #fff;
    border-color: #fff;
    color: #000
}

    .button--border--light_solid:hover {
        opacity: .7
    }

.button--border--dark {
    background: none;
    border-color: #000;
    color: #000
}

    .button--border--dark:hover {
        background: #000;
        color: #fff;
        opacity: 1
    }

.button--border--dark_solid {
    background: #000;
    border-color: #000;
    color: #fff
}

    .button--border--dark_solid:hover {
        opacity: .7
    }

.button--border {
    background: none
}

    .button--border:hover {
        opacity: 1
    }

.button--border--solid {
    border-color: transparent
}

    .button--border--solid:hover {
        opacity: .7
    }

.blogposts {
    margin-left: auto;
    margin-right: auto;
    display: grid;
    gap: 25px;
}

.blogpost {
    text-decoration: none;
    color: #000;
    display: block;
    padding: 25px;
    background-color: #fff;
    border-radius: 8px;
    border: 1px solid #f0f0f0;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    margin-bottom: 25px;
}

    .blogpost.blogpost-with-image {
        display: -ms-flexbox;
        display: flex;
        -ms-flex-direction: column;
        flex-direction: column
    }

    .blogpost:last-child {
        margin-bottom: 60px
    }

    .blogpost:hover {
        box-shadow: 0 12px 24px rgba(0, 0, 0, 0.12);
        transform: translateY(-4px);
        border-color: #e0e0e0;
    }

.blogpost-image {
    -ms-flex: 1 0 100%;
    flex: 1 0 100%;
    margin-left: 40px;
    border-radius: 50%
}

.blogpost-info {
    -ms-flex: 1 1 auto;
    flex: 1 1 auto
}

.blogpost-meta {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: center;
    align-items: center;
    -ms-flex-pack: start;
    justify-content: flex-start;
    /* margin-bottom: 15px; */
    gap: 10px;
}

.blogpost-date {
    display: block;
    opacity: 1;
    margin-right: 0;
    font-size: 12px;
    text-transform: uppercase;
    font-weight: 600;
    letter-spacing: 0.5px;
}

.blogpost-cat {
    opacity: 1;
    display: inline-flex;
    gap: 8px;
    flex-wrap: wrap;
}

.blogpost-image {
    height: 160px;
    width: 160px;
    background-size: cover;
    margin-left: auto;
    margin-right: auto;
    margin-top: 15px
}

.blogpost-title {
    font-size: 22px;
    letter-spacing: 1px;
    margin: 0 0 12px;
    font-weight: 700;
    color: #000;
    transition: color 0.3s ease;
}

.blogpost-excerpt {
    font-size: 16px;
    line-height: 1.6;
    opacity: 0.75;
    color: #555;
}

.blogpost-link {
    margin-top: 25px;
    display: -ms-inline-flexbox;
    display: inline-flex;
    padding-bottom: 2px;
    border-bottom: 2px solid rgba(0,0,0,.15);
    color: #000;
    text-decoration: none;
    font-size: 18px
}

    .blogpost-link:hover {
        border-bottom-color: #000
    }

.blogposts-centered {
    text-align: center
}

    .blogposts-centered .blogpost {
        margin: 30px 0;
        padding: 30px 30px 0
    }

        .blogposts-centered .blogpost:hover {
            background: none
        }

        .blogposts-centered .blogpost + .blogpost {
            border-top: 1px solid #e8e8e8
        }

    .blogposts-centered .blogpost-title {
        margin-bottom: 30px
    }

    .blogposts-centered .blogpost-excerpt {
        font-size: 18px
    }

    .blogposts-centered .blogpost-meta {
        -ms-flex-pack: center;
        justify-content: center
    }

    .blogposts-centered .blogpost-title {
        font-size: 30px;
        line-height: 1.3
    }









p



    .testimonial-link:hover {
        color: #000
    }















    .employee-grid__item__contact-item:hover {
        color: #000
    }

label {
    margin-bottom: 10px;
    font-size: 12px;
    text-transform: uppercase
}

.form-group {
    margin-bottom: 25px
}

.form-control {
    border-radius: 0;
    box-shadow: none;
    transition: none;
    padding: 20px 15px
}

    .form-control:focus {
        border-color: #2a7f6f;
        box-shadow: none
    }

.mobile-nav-handler {
    margin-left: auto;
    margin-right: 40px
}

.hamburger {
    position: relative;
    cursor: pointer;
    z-index: 5;
    width: 40px;
    height: 40px;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: center;
    align-items: center
}

    .hamburger span, .hamburger span:after, .hamburger span:before {
        display: block;
        transition-property: all;
        transition-duration: .1s
    }

    .hamburger span {
        margin: 0 auto;
        position: relative
    }

        .hamburger span:after, .hamburger span:before {
            position: absolute;
            content: ''
        }

    .hamburger.lines span, .hamburger.lines span:after, .hamburger.lines span:before {
        width: 20px;
        height: 2px
    }

        .hamburger.lines span:before {
            transform: translateY(-5px)
        }

        .hamburger.lines span:after {
            transform: translateY(5px)
        }

    .hamburger.lines:hover span:before {
        transform: translateY(-7px)
    }

    .hamburger.lines:hover span:after {
        transform: translateY(7px)
    }

    .hamburger.lines:hover.active span:before {
        transform: rotate(45deg)
    }

    .hamburger.lines:hover.active span:after {
        transform: rotate(-45deg)
    }

    .hamburger.lines.active span {
        background-color: transparent !important
    }

        .hamburger.lines.active span:after, .hamburger.lines.active span:before {
            transform: translateY(0)
        }

        .hamburger.lines.active span:before {
            transform: rotate(45deg)
        }

        .hamburger.lines.active span:after {
            transform: rotate(-45deg)
        }

article {
    /*max-width: 700px;*/
    margin: 0 auto
}

    article a, article a:visited {
        text-decoration: none;
    }

        article a:hover, article a:visited:hover {
            text-decoration: none
        }

    article li, article p {
        font-weight: 400;
        font-style: normal;
        font-size: 18px;
        line-height: 1.5
    }

    article li {
        padding: 5px 0
    }

    article ol, article ul {
        margin: 20px;
        padding: 0
    }

    article img {
        max-width: 100%
    }

    article iframe, article img {
        margin: 0 0 20px
    }

.mobile-nav {
    width: 100%;
    z-index: 4;
    left: 0;
    top: 0;
    right: 0;
    bottom: 0;
    display: -ms-flexbox;
    display: flex;
    position: fixed;
    -ms-flex-pack: center;
    justify-content: center;
    -ms-flex-align: center;
    align-items: center;
    -ms-flex-direction: column;
    flex-direction: column;
    opacity: 0;
    height: 0;
    background: var(--color-brand);
}

.mobile-nav--open {
    opacity: 1;
    height: 100vh;
}

.mobile-nav .nav-link {
    transition: transform .6s cubic-bezier(.23,1,.32,1), color var(--transition-fast);
    transform: translateY(999px);
    opacity: 0;
    font-size: 18px;
    margin: 15px;
    text-align: center;
    color: var(--color-white) !important;
}

    .mobile-nav .nav-link:nth-child(1) {
        transition-delay: 60ms
    }

    .mobile-nav .nav-link:nth-child(2) {
        transition-delay: 80ms
    }

    .mobile-nav .nav-link:nth-child(3) {
        transition-delay: .1s
    }

    .mobile-nav .nav-link:nth-child(4) {
        transition-delay: .12s
    }

    .mobile-nav .nav-link:nth-child(5) {
        transition-delay: .14s
    }

    .mobile-nav .nav-link:nth-child(6) {
        transition-delay: .16s
    }

    .mobile-nav .nav-link:nth-child(7) {
        transition-delay: .18s
    }

    .mobile-nav .nav-link:nth-child(8) {
        transition-delay: .2s
    }

    .mobile-nav .nav-link:nth-child(9) {
        transition-delay: .22s
    }

    .mobile-nav .nav-link:nth-child(10) {
        transition-delay: .24s
    }

    .mobile-nav .nav-link:nth-child(11) {
        transition-delay: .26s
    }

.mobile-nav--open .nav-link {
    transform: translate(0);
    opacity: 1;
}

.mobile-nav .nav-link:hover,
.mobile-nav .nav-link:active,
.mobile-nav .nav-link--active {
    color: var(--color-white) !important;
    border-bottom-color: var(--color-white) !important
}

.ta-center {
    text-align: center
}

.mw-640 {
    max-width: 640px
}

.ma-h-auto {
    margin-left: auto;
    margin-right: auto
}

.no-air {
    margin: 0
}

.no-scroll {
    overflow: hidden
}

    .col-sm-1, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11, .col-sm-12 {
        float: left
    }

    .col-sm-1 {
        width: 8.333333%
    }

    .col-sm-2 {
        width: 16.666667%
    }

    .col-sm-3 {
        width: 25%
    }

    .col-sm-4 {
        width: 33.333333%
    }

    .col-sm-5 {
        width: 41.666667%
    }

    .col-sm-6 {
        width: 50%
    }

    .col-sm-7 {
        width: 58.333333%
    }

    .col-sm-8 {
        width: 66.666667%
    }

    .col-sm-9 {
        width: 75%
    }

    .col-sm-10 {
        width: 83.333333%
    }

    .col-sm-11 {
        width: 91.666667%
    }

    .col-sm-12 {
        width: 100%
    }

    

    

    

    

    

    

    

    

    

    

    

    

    

    

    

    

    

    

    

    

    

    

    

    

    

    

    

    

    

    

    

    

    

    

    

    

    

    

    

    .form-inline .form-group {
        display: inline-block;
        margin-bottom: 0;
        vertical-align: middle
    }

    .form-inline .form-control {
        display: inline-block;
        width: auto;
        vertical-align: middle
    }

    .form-inline .form-control-static {
        display: inline-block
    }

    .form-inline 

        .form-inline .input-group .form-control, .form-inline .input-group .input-group-addon, .form-inline .input-group .input-group-btn {
            width: auto
        }

        .form-inline .input-group > .form-control {
            width: 100%
        }

    .form-inline .control-label {
        margin-bottom: 0;
        vertical-align: middle
    }

    .form-inline .checkbox, .form-inline .radio {
        display: inline-block;
        margin-top: 0;
        margin-bottom: 0;
        vertical-align: middle
    }

        .form-inline .checkbox label, .form-inline .radio label {
            padding-left: 0
        }

        .form-inline .checkbox input[type=checkbox], .form-inline .radio input[type=radio] {
            position: relative;
            margin-left: 0
        }

    .form-inline .has-feedback 

    .form-horizontal .control-label {
        text-align: right;
        margin-bottom: 0;
        padding-top: 7px
    }

    .form-horizontal .form-group-lg .control-label {
        padding-top: 11px;
        font-size: 18px
    }

    .form-horizontal .form-group-sm .control-label {
        padding-top: 6px;
        font-size: 12px
    }

    .blogpost {
        padding: 30px;
    }
}

.compat-msg {
    color: #000;
    display: block;
    padding: 30px
}

@media (min-width:992px) {
    .col-md-1, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11, .col-md-12 {
        float: left
    }

    .col-md-1 {
        width: 8.333333%
    }

    .col-md-2 {
        width: 16.666667%
    }

    .col-md-3 {
        width: 25%
    }

    .col-md-4 {
        width: 33.333333%
    }

    .col-md-5 {
        width: 41.666667%
    }

    .col-md-6 {
        width: 50%
    }

    .col-md-7 {
        width: 58.333333%
    }

    .col-md-8 {
        width: 66.666667%
    }

    .col-md-9 {
        width: 75%
    }

    .col-md-10 {
        width: 83.333333%
    }

    .col-md-11 {
        width: 91.666667%
    }

    .col-md-12 {
        width: 100%
    }

    .col-md-pull-0 {
        right: auto
    }

    .col-md-pull-1 {
        right: 8.333333%
    }

    .col-md-pull-2 {
        right: 16.666667%
    }

    .col-md-pull-3 {
        right: 25%
    }

    .col-md-pull-4 {
        right: 33.333333%
    }

    .col-md-pull-5 {
        right: 41.666667%
    }

    .col-md-pull-6 {
        right: 50%
    }

    .col-md-pull-7 {
        right: 58.333333%
    }

    .col-md-pull-8 {
        right: 66.666667%
    }

    .col-md-pull-9 {
        right: 75%
    }

    .col-md-pull-10 {
        right: 83.333333%
    }

    .col-md-pull-11 {
        right: 91.666667%
    }

    .col-md-pull-12 {
        right: 100%
    }

    .col-md-push-0 {
        left: auto
    }

    .col-md-push-1 {
        left: 8.333333%
    }

    .col-md-push-2 {
        left: 16.666667%
    }

    .col-md-push-3 {
        left: 25%
    }

    .col-md-push-4 {
        left: 33.333333%
    }

    .col-md-push-5 {
        left: 41.666667%
    }

    .col-md-push-6 {
        left: 50%
    }

    .col-md-push-7 {
        left: 58.333333%
    }

    .col-md-push-8 {
        left: 66.666667%
    }

    .col-md-push-9 {
        left: 75%
    }

    .col-md-push-10 {
        left: 83.333333%
    }

    .col-md-push-11 {
        left: 91.666667%
    }

    .col-md-push-12 {
        left: 100%
    }

    .col-md-offset-0 {
        margin-left: 0
    }

    .col-md-offset-1 {
        margin-left: 8.333333%
    }

    .col-md-offset-2 {
        margin-left: 16.666667%
    }

    .col-md-offset-3 {
        margin-left: 25%
    }

    .col-md-offset-4 {
        margin-left: 33.333333%
    }

    .col-md-offset-5 {
        margin-left: 41.666667%
    }

    .col-md-offset-6 {
        margin-left: 50%
    }

    .col-md-offset-7 {
        margin-left: 58.333333%
    }

    .col-md-offset-8 {
        margin-left: 66.666667%
    }

    .col-md-offset-9 {
        margin-left: 75%
    }

    .col-md-offset-10 {
        margin-left: 83.333333%
    }

    .col-md-offset-11 {
        margin-left: 91.666667%
    }

    .col-md-offset-12 {
        margin-left: 100%
    }

    .button, .button--small {
        padding: 10px 80px
    }

    .blogposts {
        max-width: 800px
    }

    .blogpost {
        padding: 30px;
        margin: 20px 0
    }

        .blogpost.blogpost-with-image {
            -ms-flex-direction: row;
            flex-direction: row
        }

    .blogpost-image {
        height: 160px;
        max-width: 160px;
        margin-top: 0;
        margin-left: 20px
    }
}

@media (min-width:1200px) {
    .col-lg-1, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-10, .col-lg-11, .col-lg-12 {
        float: left
    }

    .col-lg-1 {
        width: 8.333333%
    }

    .col-lg-2 {
        width: 16.666667%
    }

    .col-lg-3 {
        width: 25%
    }

    .col-lg-4 {
        width: 33.333333%
    }

    .col-lg-5 {
        width: 41.666667%
    }

    .col-lg-6 {
        width: 50%
    }

    .col-lg-7 {
        width: 58.333333%
    }

    .col-lg-8 {
        width: 66.666667%
    }

    .col-lg-9 {
        width: 75%
    }

    .col-lg-10 {
        width: 83.333333%
    }

    .col-lg-11 {
        width: 91.666667%
    }

    .col-lg-12 {
        width: 100%
    }

    .col-lg-pull-0 {
        right: auto
    }

    .col-lg-pull-1 {
        right: 8.333333%
    }

    .col-lg-pull-2 {
        right: 16.666667%
    }

    .col-lg-pull-3 {
        right: 25%
    }

    .col-lg-pull-4 {
        right: 33.333333%
    }

    .col-lg-pull-5 {
        right: 41.666667%
    }

    .col-lg-pull-6 {
        right: 50%
    }

    .col-lg-pull-7 {
        right: 58.333333%
    }

    .col-lg-pull-8 {
        right: 66.666667%
    }

    .col-lg-pull-9 {
        right: 75%
    }

    .col-lg-pull-10 {
        right: 83.333333%
    }

    .col-lg-pull-11 {
        right: 91.666667%
    }

    .col-lg-pull-12 {
        right: 100%
    }

    .col-lg-push-0 {
        left: auto
    }

    .col-lg-push-1 {
        left: 8.333333%
    }

    .col-lg-push-2 {
        left: 16.666667%
    }

    .col-lg-push-3 {
        left: 25%
    }

    .col-lg-push-4 {
        left: 33.333333%
    }

    .col-lg-push-5 {
        left: 41.666667%
    }

    .col-lg-push-6 {
        left: 50%
    }

    .col-lg-push-7 {
        left: 58.333333%
    }

    .col-lg-push-8 {
        left: 66.666667%
    }

    .col-lg-push-9 {
        left: 75%
    }

    .col-lg-push-10 {
        left: 83.333333%
    }

    .col-lg-push-11 {
        left: 91.666667%
    }

    .col-lg-push-12 {
        left: 100%
    }

    .col-lg-offset-0 {
        margin-left: 0
    }

    .col-lg-offset-1 {
        margin-left: 8.333333%
    }

    .col-lg-offset-2 {
        margin-left: 16.666667%
    }

    .col-lg-offset-3 {
        margin-left: 25%
    }

    .col-lg-offset-4 {
        margin-left: 33.333333%
    }

    .col-lg-offset-5 {
        margin-left: 41.666667%
    }

    .col-lg-offset-6 {
        margin-left: 50%
    }

    .col-lg-offset-7 {
        margin-left: 58.333333%
    }

    .col-lg-offset-8 {
        margin-left: 66.666667%
    }

    .col-lg-offset-9 {
        margin-left: 75%
    }

    .col-lg-offset-10 {
        margin-left: 83.333333%
    }

    .col-lg-offset-11 {
        margin-left: 91.666667%
    }

    .col-lg-offset-12 {
        margin-left: 100%
    }

    .employee-grid__item, 

    
}

.pagination .nav-bar {
    flex-direction: initial;
}

@media (max-width:1269px) {
    .header .nav-bar {
        display: none
    }

    .mobile-nav .nav-link {
        display: flex;
    }

    .mobile-nav--open .nav-bar {
        position: absolute;
        left: 50%;
        top: 50%;
        transform: translate(-50%,-50%)
    }
}

@media (min-width: 1270px) {
    .mobile-nav-handler {
        display: none
    }
}

/* Pagination Navigation Styling */
.pagination {
    margin-left: auto;
    margin-right: auto;
    display: block;
    padding: 40px 20px;
    text-align: center;
}

    .pagination .nav-bar {
        position: inherit;
        gap: 8px;
    }

    .pagination .nav-link {
        display: inline-block;
        padding: 10px 14px;
        margin: 5px 4px;
        background-color: #fff;
        border: 1px solid #e0e0e0;
        border-radius: 6px;
        font-size: 13px;
        text-transform: uppercase;
        font-weight: 600;
        letter-spacing: 1px;
        color: #333 !important;
        text-decoration: none;
        transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
        cursor: pointer;
    }

        .pagination .nav-link:hover:not(.nav-link--disabled) {
            transform: translateY(-2px);
        }

    .pagination .nav-link--disabled {
        opacity: 0.5;
        cursor: not-allowed;
        background-color: #f5f5f5;
    }

        .pagination .nav-link--disabled:hover {
            background-color: #f5f5f5;
            color: #999 !important;
            border-color: #e0e0e0;
            transform: none;
            box-shadow: none;
        }

/* Responsive Pagination */
@media (min-width: 576px) {
    .pagination .nav-link {
        padding: 11px 16px;
        font-size: 13px;
    }
}

@media (min-width: 768px) {
    .pagination {
        padding: 50px 20px;
    }

        .pagination .nav-link {
            padding: 12px 18px;
            margin: 6px 5px;
        }
}

@media (min-width: 992px) {
    .pagination {
        padding: 60px 20px;
    }

        .pagination .nav-bar {
            display: flex;
            justify-content: center;
            flex-wrap: wrap;
        }
}

@media (min-width: 1200px) {
    .pagination {
        max-width: var(--max-width-xlarge);
    }

        .pagination .nav-bar {
            position: relative;
            flex-direction: initial;
        }
}

.nav-fake {
    text-decoration: none;
    margin: 10px 15px;
    font-size: 14px;
    text-transform: uppercase;
    font-weight: 600;
    letter-spacing: 2px;
    border-bottom: 2px solid transparent;
}

.video-wrapper {
    position: relative;
    padding-bottom: 56.25%; /* 16:9 */
    height: 0;
    margin: 10px 0px;
}

    .video-wrapper iframe {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
    }

.container img {
}

.fileDownload ul {
    list-style: none;
    margin: 20px 0px 50px 0px;
    padding: 0px;
}

    .fileDownload ul li {
        list-style: none;
        margin: 0px 3px;
        padding: 0px;
        font-size: 1.2em;
    }

        .fileDownload ul li a {
            color: black;
        }

            .fileDownload ul li a:hover {
                color: black;
                text-decoration: none;
            }

.border-line {
    border-top: 1px solid black;
    padding: 10px 0px 5px 0px
}
 
.input-validation-error {
    border: 1px solid red !important;
}

.field-validation-error {
    color: red;
    margin: 0px 0px 0px 0px;
}

.form-control {
    margin: 10px 0px 0px 0px;
}

.btn {
    margin: 10px 0px 0px 0px;
}

/* Blog Category Tags Styling */
.blogpost-cat a {
    display: inline-block;
    padding: 5px 12px;
    border-radius: 20px;
    font-size: 12px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    text-decoration: none;
    transition: all 0.3s ease;
    border: 1px solid transparent;
}

    .blogpost-cat a:hover {
        transform: translateY(-2px);
    }

/* Blogpost Detail Page Styling */
.blogpost-detail {
    max-width: 900px;
    margin: 0 auto;
}

.blogpost-header {
    margin-bottom: 10px;
    padding-bottom: 40px;
    border-bottom: 1px solid #f0f0f0;
}

.blogpost-title-large {
    font-size: 2.8em;
    font-weight: 700;
    line-height: 1.2;
    margin: 20px 0 15px;
    color: #000;
}

@media (max-width: 768px) {
    .blogpost-title-large {
        font-size: 2em;
    }
}

.blogpost-excerpt-large {
    font-size: 1.3em;
    line-height: 1.6;
    color: #666;
    margin-top: 20px;
    font-style: italic;
}

.blogpost-content {
    margin-bottom: 60px;
    line-height: 1.8;
}

    .blogpost-content img {
        max-width: 100%;
        height: auto;
        margin: 30px 0;
        border-radius: 8px;
    }

.blogpost-comments-section {
    margin-top: 80px;
    padding-top: 40px;
    border-top: 2px solid #f0f0f0;
}

.blogpost-comments-title {
    font-size: 1.8em;
    font-weight: 700;
    margin-bottom: 30px;
    color: #000;
}

.divider {
    border: none;
    border-top: 2px solid #f0f0f0;
    margin: 50px 0;
}

/* Collapsible Sub-Navigation */
.sub-navigation-wrapper {
    width: 100%;
}

.sub-navigation-toggle {
    display: none;
    width: 100%;
    padding: 12px 15px;
    border: 1px solid #e0e0e0;
    border-radius: var(--button-radius);
    box-shadow: 0px 2px 8px rgba(0, 0, 0, .08);
    cursor: pointer;
    font-size: 14px;
    text-transform: uppercase;
    font-weight: 600;
    letter-spacing: 2px;
    color: #000;
    align-items: center;
    gap: 8px;
    transition: all 0.3s ease, box-shadow 0.3s ease, transform 0.2s ease;
    margin-bottom: 15px;
    font-family: inherit;
}

    .sub-navigation-toggle:hover {
        background-color: #e8e8e4;
        border-color: #d0d0d0;
        box-shadow: 0px 8px 20px rgba(0, 0, 0, .12);
        transform: translateY(-2px);
    }

    .sub-navigation-toggle:focus {
        outline: 2px solid #333;
        outline-offset: 2px;
    }

    .sub-navigation-toggle:active {
        transform: scale(0.98);
    }

.sub-navigation-toggle__icon {
    display: inline-block;
    width: 16px;
    height: 16px;
    transition: transform 0.3s ease;
    flex-shrink: 0;
}

    .sub-navigation-toggle__icon::before {
        content: 'â–º';
        font-size: 12px;
        line-height: 16px;
    }

.sub-navigation-toggle.is-open .sub-navigation-toggle__icon {
    transform: rotate(90deg);
}

.sub-navigation-content {
    max-height: 1000px;
    overflow: hidden;
    transition: max-height 0.3s ease, opacity 0.3s ease;
    opacity: 1;
}

.sub-navigation-toggle.is-open ~ .sub-navigation-content {
    max-height: 1000px;
}

.sub-navigation-content a.nav-link {
    display: block;
    margin: 8px 0;
    padding: 8px 10px;
    border: none;
    border-left: 3px solid transparent;
    transition: all 0.2s ease;
    color: #333;
}

    .sub-navigation-content a.nav-link:hover {
        background-color: #f9f9f9;
        padding-left: 15px;
    }

.sub-navigation-content a.nav-link--active {
    border-left-color: #333;
    color: #000;
    font-weight: 700;
}

/* Tablet und kleinere Screens */
@media (max-width: 768px) {
    .sub-navigation-toggle {
        display: flex;
        justify-content: center;
    }

    .sub-navigation-content {
        max-height: 0;
        opacity: 0;
        overflow: hidden;
    }

    .sub-navigation-toggle.is-open ~ .sub-navigation-content {
        max-height: 1000px;
        opacity: 1;
    }

    .sub-navigation-content a.nav-link {
        margin: 0;
        padding: 10px 15px;
        text-align: center;
    }

    .sub-navigation-wrapper {
        margin-bottom: 20px;
        max-width: 100%;
        text-align: center;
    }

    .sub-navigation-col,
    .main-content-col {
        width: 100%;
        float: none;
    }
}

/* Mobile Screens */
@media (max-width: 576px) {
    .sub-navigation-wrapper {
        margin-bottom: 25px;
        text-align: center;
    }

    .sub-navigation-toggle {
        font-size: 12px;
        padding: 10px 12px;
        margin-bottom: 8px;
        justify-content: center;
    }

    .sub-navigation-toggle__text {
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    .sub-navigation-content a.nav-link {
        padding: 10px 12px;
        font-size: 13px;
        text-align: center;
    }
}

.umb-block-grid__layout-container {
    margin: 0px 5px;
}

/* ============================================
   NEWS OVERLAY - Kompakte News-Anzeige auf Startseite
   ============================================ */

.news-overlay-container {
    position: relative;
    margin-top: 0px;
    margin-left: auto;
    margin-right: auto;
    max-width: 1140px;
    padding: 0 15px;
    z-index: 10;
    pointer-events: none;
}

.news-overlay {
    /* background: rgba(255, 255, 255, 0.25); */
    /* border: 2px solid rgba(0, 0, 0, 0.1); */
    border-radius: 8px;
    padding: 10px;
    /* box-shadow: 0 10px 40px rgba(0, 0, 0, 0.15); */
    /* backdrop-filter: blur(10px); */
    pointer-events: auto;
}

.news-overlay__title {
    text-align: center;
    font-size: 24px;
    font-weight: 700;
    margin: 0 0 25px 0;
    color: #fff;
    letter-spacing: 1px;
}

.news-overlay h1 {
    color: #fff;
}

.blogposts-compact {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 20px;
    margin: 0;
}

.blogpost-compact {
    text-decoration: none;
    color: #fff;
    display: block;
    padding: 20px;
    background-color: rgba(255, 255, 255, 0.12);
    border: 1px solid rgba(255, 255, 255, 0.2);
    border-radius: var(--button-radius);
    overflow: hidden;
    transition: all var(--transition-fast);
    backdrop-filter: blur(10px)
}

    .blogpost-compact:hover {
        background-color: rgba(255, 255, 255, 0.18);
        border-color: rgba(255, 255, 255, 0.4);
        transform: translateY(-3px);
        box-shadow: 0 8px 20px rgba(0, 0, 0, 0.2)
    }

        .blogpost-compact:hover .blogpost-compact__title {
        }

.blogpost-compact__date {
    display: block;
    font-size: 11px;
    text-transform: uppercase;
    font-weight: 700;
    letter-spacing: 0.5px;
    margin-bottom: 8px;
}

.blogpost-compact__title {
    font-size: 16px;
    font-weight: 700;
    margin: 0 0 10px 0;
    line-height: 1.4;
    color: #fff;
    transition: color 0.3s ease;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.blogpost-compact__excerpt {
    font-size: 13px;
    line-height: 1.5;
    color: #fff;
    margin: 0;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    opacity: 0.8;
}

@media (max-width: 768px) {
    .news-overlay-container {
        margin-top: 0px;
    }

    .news-overlay {
        padding: 20px;
    }

    .news-overlay__title {
        font-size: 20px;
        margin-bottom: 20px;
    }

    .blogposts-compact {
        grid-template-columns: 1fr;
        gap: 15px;
    }

    .blogpost-compact {
        padding: 15px;
    }

    .blogpost-compact__title {
        font-size: 15px;
    }

    .blogpost-compact__excerpt {
        font-size: 12px;
    }
}

@media (max-width: 576px) {
    .news-overlay-container {
        margin-top: 0px;
    }

    .news-overlay {
        padding: 15px;
    }

    .news-overlay__title {
        font-size: 18px;
        margin-bottom: 15px;
    }

    .blogpost-compact {
        padding: 12px;
    }

    .blogpost-compact__title {
        font-size: 14px;
    }
}

