@import "fonts.css";
@import "variables.css";

/* Start */
*:focus {
    outline: none;
}

::placeholder { /* Chrome, Firefox, Opera, Safari 10.1+ */
    color: var(--ksm-form-placeholder-color);
    opacity: 1; /* Firefox */
}
  
:-ms-input-placeholder { /* Internet Explorer 10-11 */
    color: var(--ksm-form-placeholder-color);
}
  
::-ms-input-placeholder { /* Microsoft Edge */
    color: var(--ksm-form-placeholder-color);
}

h1 {
    font-size: 3.125rem;
    line-height: 4.25rem;
    font-weight: 300;
    margin-bottom: 40px;
    letter-spacing: -1px;
}

h1 strong {
    font-weight: bold;
    display: block;    
}

h2 {
    font-size: 2.5rem;
    line-height: 3.5625rem;
    font-weight: 700;
    margin-bottom: 30px;
}

p {
    margin-bottom: 15px;
}

ul {
    padding-left: 0px;
    list-style: none;
}

ul li::before {
    content: "";
    background-color: var(--ksm-color-green);
    font-weight: bold;
    display: inline-block;
    width: 3px;
    margin-right: 10px;
    height: 3px;
    top: -4px;
    position: relative;
}

body {
    font-size: 1.125rem;
    line-height: 1.875rem;
    color: var(--ksm-color-blue);
    background: url("../images/bg.svg") repeat-y;
    background-size: cover;
}

body.nav-open {
    overflow: hidden;
}

#page-container {
    overflow: hidden;
}

.first-content-anchor {
    height: 1px;
}

#content {
    color: var(--ksm-color-blue);
    padding-bottom: 200px;
}

a.button-link {
    font-size: 1.25rem;
    color: white;
    padding: 14px 20px 13px 20px;
    background-color: var(--ksm-color-green);
    text-decoration: none;
    margin-top: 30px;
    display: inline-block;
}
/*********/

/* Text links, Bilder/Icons rechts */
.text-links-icons-bild-rechts {
    margin-bottom: 200px;
}

.text-links-icons-bild-rechts.icons {
    margin-bottom: 120px;
}

.text-links-icons-bild-rechts .show-desktop {
    display: inline-block;
}

.text-links-icons-bild-rechts .show-mobile {
    display: none;
}

.text-links-icons-bild-rechts .item {
    text-align: center;
    margin-bottom: 80px;
}

.text-links-icons-bild-rechts .item .icon {
    height: 110px;
    margin-bottom: 20px;
}

.text-links-icons-bild-rechts .item span {
    font-size: 1.25rem;
    line-height: 1.875rem;
    font-weight: 700;
    letter-spacing: -0.62px;
    display: block;
}

.text-links-icons-bild-rechts .bild {
    text-align: center;
}

.text-links-icons-bild-rechts .bild img {
    width: auto;
    max-width: 100%;
}

.text-links-icons-bild-rechts .bild {
    margin-bottom: 30px;
}

.text-links-icons-bild-rechts {
    margin-bottom: 120px;
}
/***********************************/

/* Anwendungsfall */
#content .anwendungsfall {
    margin-bottom: 150px;
}

#content .anwendungsfall ul {
    margin-top: 40px;
}

#content .anwendungsfall ul li {
    margin-bottom: 10px;
}

#content .anwendungsfall .info-box-item {
    height: auto;
    border: 1px solid var(--ksm-info-boxen-border);
    margin-bottom: 30px;
    position: relative;
    top: 0px;
    left: 0px;
    background-position: center !important;
    background-size: cover !important;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    color: var(--ksm-color-blue);
    text-decoration: none;
}

#content .anwendungsfall .info-box-item .inner {
    position: relative;
    z-index: 5;
    padding: 40px 110px 40px 40px;
}

#content .anwendungsfall .info-box-item .inner h3 {
    font-size: 2.1875rem;
    line-height: 2.5625rem;
    margin-bottom: 20px;
}

#content .anwendungsfall .info-box-item .inner .text {
    position: relative;
}

#content .anwendungsfall .info-box-item .inner .text:after {
    content: "";
    background: url("../images/corner.svg") no-repeat;
    background-position: center;
    background-size: contain;
    width: 20px;
    height: 20px;
    position: absolute;
    bottom: 10px;
    right: -60px;
    transform: rotateZ(135deg);
}

#content .anwendungsfall .info-box-item .border-top-left {
    background: url("../images/corner.svg") no-repeat;
    background-position: center;
    background-size: contain;
    width: 20px;
    height: 20px;
    position: absolute;
    top: -2px;
    left: -2px;
    opacity: 1;
    -webkit-transition: opacity 0.5s ease-in-out;
    -moz-transition: opacity 0.5s ease-in-out;
    -ms-transition: opacity 0.5s ease-in-out;
    -o-transition: opacity 0.5s ease-in-out;
    transition: opacity 0.5s ease-in-out;
    z-index: 3;
}

#content .anwendungsfall .info-box-item .border-bottom-right {
    background: url("../images/corner.svg") no-repeat;
    background-position: center;
    background-size: contain;
    width: 20px;
    height: 20px;
    position: absolute;
    bottom: -2px;
    right: -2px;
    opacity: 1;
    -webkit-transition: opacity 0.5s ease-in-out;
    -moz-transition: opacity 0.5s ease-in-out;
    -ms-transition: opacity 0.5s ease-in-out;
    -o-transition: opacity 0.5s ease-in-out;
    transition: opacity 0.5s ease-in-out;
    z-index: 3;
    transform: rotateZ(180deg);
}
/******************/

/* Text Bubble */
#content .text-bubble {
    height: 700px;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
}

#content .text-bubble .bubble {
    padding: 60px 80px;
    border: 3px solid var(--ksm-color-green);
    max-width: 97%;
    position: relative;
    background-color: white;
}

#content .text-bubble .bubble img {
    max-width: 500px;
    position: absolute;
    right: -45px;
    bottom: -180px;
}

#content .text-bubble .bubble .text {
    max-width: 750px;
}

#content .text-bubble .bubble .text p {
    font-size: 2.5rem;
    line-height: 3.75rem;
    font-weight: 300;
}   

#content .text-bubble .bubble .text p strong {
    font-weight: 300;
    color: var(--ksm-color-green);
}

#content .text-bubble .bubble .text p:last-child {
    margin-bottom: 0px;
}

#content .text-bubble .infos {
    margin: 85px 0px;
}

#content .text-bubble .infos .inner {
    padding-left: 37%;
}

#content .text-bubble .infos .inner .name {
    font-weight: 700;
    font-size: 1.25rem;
    line-height: 1.875rem;
}

#content .text-bubble .infos .inner .firma {
    font-size: 1.25rem;
    line-height: 1.875rem;
}

#content .text-bubble .bubble-corner {
    width: 70px;
    height: 70px;
    background: url("../images/speechbubble-corner-bg.svg") no-repeat;
    background-size: contain;
    position: absolute;
    bottom: -67px;
    left: 31%;
    border-top: 3px solid white;
}
/***************/

/* Text info Boxen */
#content .text-info-boxen .text-item {
    margin-bottom: 200px;
}

#content .text-info-boxen .text-item:last-child {
    margin-bottom: 0px;
}

#content .text-info-boxen .text-parts {
    display: flex;
}

#content .text-info-boxen .part-right,
#content .text-info-boxen .part-left {
    max-width: 50%;
    width: 100%;
}

#content .text-info-boxen .part-right {
    padding-left: 15px;
}

#content .text-info-boxen .part-left {
    padding-right: 15px;
}


#content .text-info-boxen .bild {
    margin-top: 120px;
}

#content .text-info-boxen .bild img {
    max-width: 100%;
}

#content .text-info-boxen .bild .subtitle {
    font-size: 0.875rem;
    line-height: 1rem;
    margin-top: 10px;
    position: relative;
    padding-left: 95px;
}

#content .text-info-boxen .bild .subtitle .border-caption {
    content: "";
    width: 80px;
    height: 1px;
    background-color: var(--ksm-color-green);
    display: inline-block;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    left: 0px;
}

#content .text-item .box {
    background-color: var(--ksm-team-bg-color);
    padding-top: 19px;
    padding-bottom: 22px;   
    margin-bottom: 30px;
}

#content .text-item .box .title {
    font-size: 3.125rem;
    line-height: 3.5625rem;
    color: var(--ksm-color-green);
    margin-bottom: 10px;
    padding-left: 30px;
    padding-right: 30px;
    font-weight: 300;
}

#content .text-item .box .text {
    padding-left: 30px;
    padding-right: 30px;
}

#content .text-item .box .text-no-title {
    color: var(--ksm-color-green);
    font-size: 1.875rem;
    line-height: 2.8125rem;
    padding: 18px 30px 21px 30px;
    font-weight: 300;
}
/*******************/

/* Maschinen Bild links/Text/Infos */
.bild-text-infos {
    margin-bottom: 220px;
}

.bild-text-infos h2 {
    margin-bottom: 80px;
}

.bild-text-infos .image-left {
    position: relative;
}

.bild-text-infos .image-left img {
    position: absolute;
    right: 0px;
}

.bild-text-infos .infos .item {
    background-color: var(--ksm-team-bg-color);
    padding: 20px;
    margin-bottom: 30px;
}

.bild-text-infos .infos .item .title {
    margin-bottom: 10px;
    color: var(--ksm-color-green);
    font-weight: 300;
    font-size: 2.2rem;
    line-height: 3.5625rem;
}
/***********************************/

/* Maschinen Info Tabs */
.maschinen-info-tabs {
    margin-bottom: 80px;
}

.info-boxen-maschinen .maschinen-infos-title,
.info-boxen-maschinen .tab-text-container .tab-text-title {
    display: none;
}

.maschinen-info-tabs #maschinen-info-tabs {
    border: 0px;
    padding: 0px;
    margin: 0px;
}

.maschinen-info-tabs #maschinen-info-tabs ul {
    display: table;
    padding: 0px;
    border-collapse: collapse;
    width: 100%;
    table-layout: fixed;
    border-top: 1px solid var(--ksm-color-light-green) !important;
    border-bottom: 0px;
    border-left: 1px solid var(--ksm-color-light-green) !important;
    border-right: 1px solid var(--ksm-color-light-green) !important;
    background: transparent;
}

.maschinen-info-tabs #maschinen-info-tabs ul li {
    display: table-cell;
    float: none;
    margin: 0;
    padding: 0;
    width: inherit;
    border-left: 1px solid var(--ksm-color-light-green);
    border-top: 0px;
    border-right: 0px;
    border-bottom: 0px;
    background: transparent;
}

.maschinen-info-tabs #maschinen-info-tabs ul li:before {
    display: none;
}

.maschinen-info-tabs #maschinen-info-tabs ul li:first-child {
    border: 0px;
}

.maschinen-info-tabs #maschinen-info-tabs ul li.ui-state-active {
    background-color: var(--ksm-color-light-green);
    border-radius: 0px;
}

.maschinen-info-tabs #maschinen-info-tabs a.tab-item,
.maschinen-info-tabs #maschinen-info-tabs .title,
.maschinen-info-tabs #maschinen-info-tabs .subtitle {
    display: block;
    text-align: center;
    width: 100%;
    line-height: 1.5rem;
}

.maschinen-info-tabs #maschinen-info-tabs .title {
    font-weight: 700;
}

.maschinen-info-tabs #maschinen-info-tabs .text {
    padding: 60px 65px;
    background-color: var(--ksm-color-light-green);
    color: white;
}
/***********************/

/* Nummernboxen */
#content .number-boxes h2 {
    margin-bottom: 155px;
}

#content .number-boxes .items .item {
    margin-bottom: 95px;
}

#content .number-boxes .items .item .inner {
    position: relative;
    padding: 95px 50px 35px 50px;
    background-color: var(--ksm-team-bg-color);
}

#content .number-boxes .items .item .inner .number {
    position: absolute;
    top: -74px;
    font-size: 8rem;
    line-height: 9.1875rem;
    font-weight: bold;
    color: var(--ksm-color-green);
    letter-spacing: -3.2px;
}

#content .number-boxes .items .item .inner .title {
    margin-bottom: 30px;
}
/****************/

/* Referenzen */
#referenzen {
    max-width: 1920px;
    margin-left: auto;
    margin-right: auto;
}

#referenzen .button {
    text-align: center;
}

#referenzen a.button-link {
    margin-top: 60px;
}

#referenzen .slides .slick-list {
    padding: 0px;
}

#referenzen .slides .slick-list .slick-track .slide {
    width: 200px;
    height: 150px;
    background-color: var(--ksm-slide-bg);
    display: flex;
    flex-direction: column;
    justify-content: center;
    margin-left: 15px;
    margin-right: 15px;
}

#referenzen .slides .slick-list .slick-track .slide a {
    height: 150px;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

#referenzen .slides .slick-list .slick-track .slick-slide img {
    margin-left: auto;
    margin-right: auto;
}
/**************/

/* Referenzen mit Filter */
#content #referenzen-filter .filter .inner {
    background-color: white;
    margin-bottom: 80px;
    padding: 50px;
}

#content #referenzen-filter .filter .inner h4 {
    font-size: 1.75rem;
    line-height: 2rem;
    font-weight: 700;
    margin-bottom: 30px;
}

#content #referenzen-filter .filter .inner .filter-items {
    display: flex;
}

#content #referenzen-filter .filter .inner .filter-items .item {
    margin-left: 40px;
    cursor: pointer;
    position: relative;
}

#content #referenzen-filter .filter .inner .filter-items .item:first-child {
    margin-left: 0px;
}

#content #referenzen-filter .filter .inner .filter-items .item label {
    margin-left: 50px;
    cursor: pointer;
}

#content #referenzen-filter .filter .inner .filter-items .item label:before {
    content: "";
    width: 30px;
    height: 30px;
    border: 3px solid  var(--ksm-color-blue);
    display: inline-block;
    position: absolute;
    left: 0;
    top: 50%;
    transform: translate3d(0, -50%, 0);
}

#content #referenzen-filter .filter .inner .filter-items .item .checkbox-filter {
    -webkit-appearance: none;
    appearance: none;
    background-color: #fff;
    margin: 0;
}

#content #referenzen-filter .filter .inner .filter-items .item .checkbox-filter:checked + label:before {
    background: url("../images/checkmark.svg") no-repeat;
    background-size: 20px 20px;
    background-position: center;
}

#content #referenzen-filter .filter-item {
    margin-bottom: 30px;
}

#content #referenzen-filter .info-box-item {
    height: 100%;
    border: 1px solid var(--ksm-info-boxen-border);
    position: relative;
    top: 0px;
    left: 0px;
    background-position: center !important;
    background-size: cover !important;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    color: var(--ksm-color-blue);
    text-decoration: none;
}

#content #referenzen-filter .info-box-item .filter {
    color: var(--ksm-color-green);
    margin-bottom: 20px;
}

#content #referenzen-filter .info-box-item .border {
    background-color: var(--ksm-color-green);
    height: 3px;
    margin-bottom: 30px;
}

#content #referenzen-filter .info-box-item:hover .filter,
#content #referenzen-filter .info-box-item:hover {
    color: white;
}

#content #referenzen-filter .info-box-item .inner {
    position: relative;
    z-index: 5;
    padding: 40px;
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: top;
}

#content #referenzen-filter .info-box-item .inner h3 {
    font-size: 2.1875rem;
    line-height: 2.5625rem;
    margin-bottom: 30px;
}

#content #referenzen-filter .info-box-item .inner .text {
    padding-right: 40px;
    position: relative;
}

#content #referenzen-filter .info-box-item .inner .text:after {
    content: "";
    background: url("../images/corner.svg") no-repeat;
    background-position: center;
    background-size: contain;
    width: 20px;
    height: 20px;
    position: absolute;
    bottom: 10px;
    right: 0px;
    transform: rotateZ(135deg);
}

#content #referenzen-filter .info-box-item:hover .inner .text:after {
    -webkit-mask: url("../images/corner.svg") no-repeat;
    mask: url("../images/corner.svg") no-repeat;
    background: white;
}

#content #referenzen-filter .info-box-item .border-top-left {
    background: url("../images/corner.svg") no-repeat;
    background-position: center;
    background-size: contain;
    width: 20px;
    height: 20px;
    position: absolute;
    top: -2px;
    left: -2px;
    opacity: 1;
    -webkit-transition: opacity 0.5s ease-in-out;
    -moz-transition: opacity 0.5s ease-in-out;
    -ms-transition: opacity 0.5s ease-in-out;
    -o-transition: opacity 0.5s ease-in-out;
    transition: opacity 0.5s ease-in-out;
    z-index: 3;    
}

#content #referenzen-filter .info-box-item .border-bottom-right {
    background: url("../images/corner.svg") no-repeat;
    background-position: center;
    background-size: contain;
    width: 20px;
    height: 20px;
    position: absolute;
    bottom: -2px;
    right: -2px;
    opacity: 1;
    -webkit-transition: opacity 0.5s ease-in-out;
    -moz-transition: opacity 0.5s ease-in-out;
    -ms-transition: opacity 0.5s ease-in-out;
    -o-transition: opacity 0.5s ease-in-out;
    transition: opacity 0.5s ease-in-out;
    z-index: 3;
    transform: rotateZ(180deg);
}

#content #referenzen-filter .info-box-item:hover .border-top-left {
    opacity: 0;
}

#content #referenzen-filter .info-box-item:hover .border-bottom-right {
    opacity: 0;
}

#content #referenzen-filter .info-box-item .bg-first {
    position: absolute;
    background:white;
    opacity: 1;
    -webkit-transition: opacity 0.5s ease-in-out;
    -moz-transition: opacity 0.5s ease-in-out;
    -ms-transition: opacity 0.5s ease-in-out;
    -o-transition: opacity 0.5s ease-in-out;
    transition: opacity 0.5s ease-in-out;
    z-index: 1;
    width: 100%;
    height: 100%;
}

#content #referenzen-filter .info-box-item:hover .bg-first {
    opacity: 0;
}

#content #referenzen-filter .info-box-item .bg-last {
    position: absolute;
    background-color: var(--ksm-color-green);
    opacity: 0;
    -webkit-transition: opacity 0.5s ease-in-out;
    -moz-transition: opacity 0.5s ease-in-out;
    -ms-transition: opacity 0.5s ease-in-out;
    -o-transition: opacity 0.5s ease-in-out;
    transition: opacity 0.5s ease-in-out;
    z-index: 1;
    width: 100%;
    height: 100%;
    mix-blend-mode: multiply;
}

#content #referenzen-filter .info-box-item:hover .bg-last {
    opacity: 1;
}
/*************************/

/* Referenzen Details */
#content .referenzen-details .pics-slider {
    margin-top: 45px;
    width: 200%;
}

#content .referenzen-details .pics-slider .item .inner {
    padding-right: 30px;
}

#content .referenzen-details .galerie-margin .slider-navigation .prev-slick,
#content .referenzen-details .galerie-margin .slider-navigation .next-slick {
    background: url(../images/arrow-white.svg) no-repeat;
    cursor: pointer;
    display: inline-block;
    width: 50px;
    height: 50px;
    background-color: var(--ksm-color-green);
    background-size: 23px 21px !important;
    background-position: center !important;  
    color: transparent;  
}

#content .referenzen-details .galerie-margin .slider-navigation {
    margin-top: 85px;
}

#content .referenzen-details .galerie-margin .slider-navigation .prev-slick {
    transform: rotateZ(-180deg);
}

#content .referenzen-details .galerie-margin .slider-navigation .next-slick {
    transform: rotateZ(0deg);
    margin-left: 20px;
}

#content .referenzen-details .pics-slider .item .subtitle {
    font-size: 0.875rem;
    line-height: 1rem;
    display: flex;
    align-items: center;
    margin-top: 7px;
}

#content .referenzen-details .pics-slider .item .subtitle:before {
    margin-right: 15px;
    content: "";
    width: 80px;
    height: 1px;
    background-color: var(--ksm-color-green);
    display: inline-block;
}

#content .referenzen-details .pics-slider .item .subtitle .nr {
    margin-right: 15px;
    display: inline-block;
    font-weight: 700;
}

#content .referenzen-details .galerie-margin {
    margin-bottom: 200px;
}

#content .referenzen-details .indicator .name {
    padding: 0 5px;
    background-color: var(--ksm-color-blue);
    color: white;
    display: inline-block;
    margin-bottom: 10px;
    margin-top: 15px;
}

#content .referenzen-details .indicator .name {
    padding-left: 5px;
}

#content .referenzen-details .indicator .company {
    margin-bottom: 10px;
}

#content .referenzen-details .indicator .rating img {
    margin-right: 3px;
}

#content .referenzen-details .part-1-text .zitat {
    font-size: 2.5rem;
    font-weight: 300;
    line-height: 3.75rem;
    margin-bottom: 100px;
}

#content .referenzen-details .part-2-infos .zitat {
    font-size: 1.875rem;
    line-height: 2.8125rem;
    margin-bottom: 30px;
    margin-top: 10px;
}

#content .referenzen-details .part-2-infos .name {
    margin-bottom: 5px;
    font-weight: 700;
    display: flex;
    align-items: center;
}

#content .referenzen-details .part-2-infos .name:before {
    content: "";
    display: inline-block;
    width: 20px;
    margin-right: 10px;
    height: 1px;
    background-color: var(--ksm-color-blue);
}

#content .referenzen-details .part-2-infos .company {
    padding-left: 30px;
}
/**********************/

/* Info Boxen */
#content .info-boxen {
    margin-bottom: 170px;
}

#content .info-boxen h2 {
    text-align: center;
    margin-bottom: 40px;
}

#content .info-boxen .info-box-item {
    height: 520px;
    border: 1px solid var(--ksm-info-boxen-border);
    margin-bottom: 30px;
    position: relative;
    top: 0px;
    left: 0px;
    background-position: center !important;
    background-size: cover !important;
}

#content .info-boxen .info-box-item .border-top-left {
    background: url("../images/corner.svg") no-repeat;
    background-position: center;
    background-size: contain;
    width: 20px;
    height: 20px;
    position: absolute;
    top: -2px;
    left: -2px;
    opacity: 1;
    -webkit-transition: opacity 0.5s ease-in-out;
    -moz-transition: opacity 0.5s ease-in-out;
    -ms-transition: opacity 0.5s ease-in-out;
    -o-transition: opacity 0.5s ease-in-out;
    transition: opacity 0.5s ease-in-out;
}

#content .info-boxen .info-box-item .border-bottom-right {
    background: url("../images/corner.svg") no-repeat;
    background-position: center;
    background-size: contain;
    width: 20px;
    height: 20px;
    position: absolute;
    bottom: -2px;
    right: -2px;
    opacity: 1;
    -webkit-transition: opacity 0.5s ease-in-out;
    -moz-transition: opacity 0.5s ease-in-out;
    -ms-transition: opacity 0.5s ease-in-out;
    -o-transition: opacity 0.5s ease-in-out;
    transition: opacity 0.5s ease-in-out;
    transform: rotateZ(180deg);
}

#content .info-boxen .info-box-item:hover .border-top-left {
    opacity: 0;
}

#content .info-boxen .info-box-item:hover .border-bottom-right {
    opacity: 0;
}

#content .info-boxen .info-box-item .first-visible {
    opacity: 1;
    /*
    -webkit-transition: opacity 0.5s ease-in-out;
    -moz-transition: opacity 0.5s ease-in-out;
    -ms-transition: opacity 0.5s ease-in-out;
    -o-transition: opacity 0.5s ease-in-out;
    transition: opacity 0.5s ease-in-out;*/
    position: absolute;
    z-index: 2;
    padding: 60px;
    width: 100%;
    height: 100%;
    -webkit-transform-style: preserve-3d;
    -webkit-backface-visibility: hidden;
}

#content .info-boxen .info-box-item .last-visible {
    opacity: 0;
    /*
    -webkit-transition: opacity 0.5s ease-in-out;
    -moz-transition: opacity 0.5s ease-in-out;
    -ms-transition: opacity 0.5s ease-in-out;
    -o-transition: opacity 0.5s ease-in-out;
    transition: opacity 0.5s ease-in-out;*/
    position: absolute;
    z-index: 2;
    padding: 60px;
    width: 100%;
    height: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    -webkit-transform-style: preserve-3d;
    -webkit-backface-visibility: hidden;
}

#content .info-boxen .info-box-item:hover .first-visible {
    opacity: 0;
    /*
    -webkit-transition: opacity 0.5s linear;
    -moz-transition: opacity 0.5s linear;
    -ms-transition: opacity 0.5s linear;
    -o-transition: opacity 0.5s linear;
    transition: opacity 0.5s linear;*/
}

#content .info-boxen .info-box-item:hover .last-visible {
    opacity: 1;
    /*
    -webkit-transition: opacity 0.5s linear;
    -moz-transition: opacity 0.5s linear;
    -ms-transition: opacity 0.5s linear;
    -o-transition: opacity 0.5s linear;
    transition: opacity 0.5s linear;*/
}

#content .info-boxen .info-box-item h3,
#content .info-boxen .info-box-item .h3-like {
    font-size: 2.1875rem;
    line-height: 2.5625rem;
    font-weight: 700;
}


#content .info-boxen .info-box-item .h3-like,
#content .info-boxen .info-box-item .text {
    color: white;
    text-align: center;
}

#content .info-boxen .info-box-item .text {
    margin-top: 30px;
}

#content .info-boxen .info-box-item .first-visible h3 {
    text-align: center;
}

#content .info-boxen .info-box-item .bg-first {
    position: absolute;
    background: linear-gradient(180deg, rgba(255,255,255,0.8) 0%, rgba(255,255,255,0) 100%);
    opacity: 1;
    -webkit-transition: opacity 0.2s linear;
    -moz-transition: opacity 0.2s linear;
    -ms-transition: opacity 0.2s linear;
    -o-transition: opacity 0.2s linear;
    transition: opacity 0.2s linear;
    z-index: 1;
    width: 100%;
    height: 100%;
}

#content .info-boxen .info-box-item:hover .bg-first {
    opacity: 0;
}

#content .info-boxen .info-box-item .bg-last {
    position: absolute;
    background-color: var(--ksm-color-green);
    mix-blend-mode: multiply;
    opacity: 0;
    -webkit-transition: opacity 0.7s linear;
    -moz-transition: opacity 0.7s linear;
    -ms-transition: opacity 0.7s linear;
    -o-transition: opacity 0.7s linear;
    transition: opacity 0.7s linear;
    z-index: 1;
    width: 100%;
    height: 100%;
}

#content .info-boxen .info-box-item:hover .bg-last {
    opacity: 1;
}

#content .info-boxen .info-box-item .button-link {
    line-height: 1.5rem;
    padding: 13px 20px 13px 20px;
    background-color: white;
    color: var(--ksm-color-green);
}
/**************/

/* Allgemeine Kontakt Boxen */
#content .contact-box {
    overflow: hidden;
    position: relative;   
    margin-top: 170px;
}

#content .contact-box .outer {
    height: 100%;
}

#content .contact-box .inner {
    padding: 50px 80px;
    height: 100%;
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

/*
#content .contact-box .inner:after {
    content: "";
    width: 100%;
    height: 100%;
    right: -100%;
    background-color: var(--ksm-color-light-green);
    position: absolute;
}*/

#content .contact-box .image-container {
    position: relative;
    height: 100%;
}

#content .contact-box .bg {
    width: calc(100% - 39px);
    height: 100%;
    position: absolute;
    background-color: var(--ksm-color-light-green);
    left: 18px;
}

#content .contact-box .image-container img.contact-corner {
    max-height: 100%;
    position: absolute;
    top: 0px;
    left: -1px;
    z-index: 3;
    height: 100%;
}

#content .contact-box .image-container img.contact-corner.mobile {
    display: none;
}

#content .contact-box .inner .title,
#content .contact-box .inner .subtitle {
    font-size: 2.6875rem;
    line-height: 3.5625rem;
    color: white;
}

#content .contact-box .inner .title {
    font-weight: 700;
}

#content .contact-box .inner .subtitle {
    font-weight: 300;
    margin-bottom: 40px;
}

#content .contact-box .inner .text {
    color: white;
}

#content .contact-box .inner .button {
    margin-top: 25px;
}

#content .contact-box .inner .button .button-link {
    border: 3px solid white;
    margin-top: 0px;
}

#content .contact-box .bild {
    position: absolute;
    right: 0;
    width: 100%;
    height: 100%;
    z-index: 1;
    background-position: center !important;
    background-size: cover !important;
}
/****************************/

/* Info Boxen Maschinen */
#content .info-boxen-maschinen .tab-text {
    display: none;
}

#content .info-boxen-maschinen .info-box-item-container {
    margin-bottom: 30px;
}

#content .info-boxen-maschinen .info-box-item {
    height: 310px;
    border: 1px solid var(--ksm-info-boxen-border);
    margin-bottom: 0px;
    position: relative;
    top: 0px;
    left: 0px;
    background-position: center !important;
    background-size: cover !important;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    color: var(--ksm-color-blue);
    text-decoration: none;
}

#content .info-boxen-maschinen .info-box-item:hover {
    color: white;
}

#content .info-boxen-maschinen .info-box-item .inner {
    position: relative;
    z-index: 5;
    padding: 40px;
}

#content .info-boxen-maschinen .info-box-item .inner .icon {
    /*content: "";
    display: inline-block;
    width: 75px;
    height: 50px;
    background: url("../images/machine-box-icon.jpg") no-repeat;
    background-size: contain;*/
    margin-bottom: 20px;
    max-height: 75px;
}

/*
#content .info-boxen-maschinen .info-box-item:hover .inner:before {
    -webkit-mask: url("../images/machine-box-icon.jpg") no-repeat;
    mask: url("../images/machine-box-icon.jpg") no-repeat;
    background: white;    
}*/

#content .info-boxen-maschinen .info-box-item .inner h3 {
    font-size: 2rem;
    line-height: 2.5625rem;
    margin-bottom: 20px;
}

#content .info-boxen-maschinen .info-box-item .inner .text {
    padding-right: 25px;
    position: relative;
}

#content .info-boxen-maschinen .info-box-item .inner .text:after {
    content: "";
    background: url("../images/corner.svg") no-repeat;
    background-position: center;
    background-size: contain;
    width: 20px;
    height: 20px;
    position: absolute;
    bottom: 10px;
    right: 0px;
    transform: rotateZ(135deg);
}

#content .info-boxen-maschinen .info-box-item:hover .inner .text:after {
    -webkit-mask: url("../images/corner.svg") no-repeat;
    mask: url("../images/corner.svg") no-repeat;
    background: white;
}

#content .info-boxen-maschinen .info-box-item .border-top-left {
    background: url("../images/corner.svg") no-repeat;
    background-position: center;
    background-size: contain;
    width: 20px;
    height: 20px;
    position: absolute;
    top: -2px;
    left: -2px;
    opacity: 1;
    -webkit-transition: opacity 0.5s ease-in-out;
    -moz-transition: opacity 0.5s ease-in-out;
    -ms-transition: opacity 0.5s ease-in-out;
    -o-transition: opacity 0.5s ease-in-out;
    transition: opacity 0.5s ease-in-out;
    z-index: 3;
}

#content .info-boxen-maschinen .info-box-item .border-bottom-right {
    background: url("../images/corner.svg") no-repeat;
    background-position: center;
    background-size: contain;
    width: 20px;
    height: 20px;
    position: absolute;
    bottom: -2px;
    right: -2px;
    opacity: 1;
    -webkit-transition: opacity 0.5s ease-in-out;
    -moz-transition: opacity 0.5s ease-in-out;
    -ms-transition: opacity 0.5s ease-in-out;
    -o-transition: opacity 0.5s ease-in-out;
    transition: opacity 0.5s ease-in-out;
    z-index: 3;
    transform: rotateZ(180deg);
}

#content .info-boxen-maschinen .info-box-item:hover .border-top-left {
    opacity: 0;
}

#content .info-boxen-maschinen .info-box-item:hover .border-bottom-right {
    opacity: 0;
}

#content .info-boxen-maschinen .info-box-item .bg-first {
    position: absolute;
    background:white;
    opacity: 1;
    -webkit-transition: opacity 0.5s ease-in-out;
    -moz-transition: opacity 0.5s ease-in-out;
    -ms-transition: opacity 0.5s ease-in-out;
    -o-transition: opacity 0.5s ease-in-out;
    transition: opacity 0.5s ease-in-out;
    z-index: 1;
    width: 100%;
    height: 100%;
}

#content .info-boxen-maschinen .info-box-item:hover .bg-first {
    opacity: 0;
}

#content .info-boxen-maschinen .info-box-item .bg-last {
    position: absolute;
    background-color: var(--ksm-color-green);
    opacity: 0;
    -webkit-transition: opacity 0.5s ease-in-out;
    -moz-transition: opacity 0.5s ease-in-out;
    -ms-transition: opacity 0.5s ease-in-out;
    -o-transition: opacity 0.5s ease-in-out;
    transition: opacity 0.5s ease-in-out;
    z-index: 1;
    width: 100%;
    height: 100%;
    mix-blend-mode: multiply;
}

#content .info-boxen-maschinen .info-box-item:hover .bg-last {
    opacity: 1;
}
/************************/

/* Bewerbung */
#bewerbung .button a {
    margin-top: 15px;
}

#bewerbung .left .text p,
#bewerbung .left .subtitle {
    font-size: 2.5rem;
    line-height: 3.75rem;
    font-weight: 300;
}

#bewerbung .left .text p:last-child {
    margin-bottom: 0px;
}

#bewerbung .left .subtitle {
    color: var(--ksm-color-green);
}
/*************/

/* Vorteile */
#content .vorteile {
    margin-bottom: 170px;
}

#content .vorteile .item {
    margin-bottom: 30px;
    display: flex;
    align-items: center;
}

#content .vorteile .item .image {
    margin: 0px 30px;
}

#content .vorteile .item .title {
    font-size: 1.5rem;
    margin-bottom: 10px;
    color: var(--ksm-color-green);
    font-weight: 700;
}
/************/

/* Kundenstimmen */
#content #kundenstimmen {
    margin-bottom: 80px;
}

#content #kundenstimmen h2 {
    text-align: center;
    margin-bottom: 80px;
}

#content #kundenstimmen .slides {
    border: 1px solid var(--ksm-color-green);
    position: relative;    
}

#content #kundenstimmen .slides .slick-list {
    overflow: hidden;
}

#content #kundenstimmen .slides .slick-prev,
#content #kundenstimmen .slides .slick-next {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    z-index: 2;
    width: 50px;
    height: 50px;
    color: transparent;
    background-color: transparent;
    border: 0px;
}

#content #kundenstimmen .slides .slick-prev {
    left: -25px;
    background: url("../images/arrow-white.svg") no-repeat;
    background-size: 23px 21px;
    background-color: var(--ksm-color-green);
    background-position: center;
    top: 50%;
    transform: translateY(-50%) rotateZ(180deg);
}

#content #kundenstimmen .slides .slick-next {
    right: -25px;
    background: url("../images/arrow-white.svg") no-repeat;
    background-size: 23px 21px;
    background-color: var(--ksm-color-green);
    background-position: center;
    top: 50%;
    transform: translateY(-50%);
}

#content #kundenstimmen .slides .slide {
    height: 450px;
    width: 100%;   
    background-position: bottom right !important;
    position: relative;
}

#content #kundenstimmen .slides .slide .text-box {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    left: 100px;
    z-index: 3;
    padding: 20px 0px 0px 40px;
    max-width: 800px;
}

#content #kundenstimmen .slides .slide .text-box .text p {
    margin-bottom: 40px;
    font-size: 2.5rem;
    line-height: 3.75rem;
    font-weight: 300;
}

#content #kundenstimmen .slides .slide .text-box .person p {
    margin-bottom: 0px;
    font-size: 1.25rem;
    line-height: 1.875rem;
}
/*****************/

/* Google Maps */
#content #googleMap iframe {
    width: 100%;
    height: 600px;
}
/***************/

/* Contact Form */
#content #contactForm {
    margin-bottom: 180px;
}

#content #contactForm label {
    width: 100%;    
    cursor: pointer;
}

#content #contactForm p a {
    text-decoration: none;
    color: var(--ksm-form-color-blue);
}

#content #contactForm .text input,
#content #contactForm .select select,
#content #contactForm .select .selectize-input,
#content #contactForm .textarea textarea {
    width: 100%;
    height: 50px;
    border: 3px solid var(--ksm-form-color-blue);
    padding: 0 22px;
    cursor: pointer;
    margin-top: 10px;
    margin-bottom: 30px;
    -webkit-border-radius:0px;
    border-radius: 0px !important;
}

#content #contactForm .select .selectize-input {
    margin-bottom: 0px;
    background: transparent;
}

#content #contactForm .select .selectize-input .item,
#content #contactForm .select .selectize-input input {
    font-size: 1.125rem;
    line-height: 44px !important;
}

#content #contactForm .select .selectize-dropdown .active {
    background-color: var(--ksm-form-placeholder-color);
}

#content #contactForm .select .selectize-dropdown-content .option {
    font-size: 1.125rem;
    line-height: 44px !important;
    padding: 0 22px;
}

#content #contactForm .text input:focus,
#content #contactForm .select select:focus,
#content #contactForm .select .selectize-input.focus,
#content #contactForm .textarea textarea:focus {
    border: 3px solid var(--ksm-form-color-green);
}

#content #contactForm .text .wpcf7-not-valid-tip,
#content #contactForm .select .wpcf7-not-valid-tip,
#content #contactForm .textarea .wpcf7-not-valid-tip {
    top: -30px;
    position: relative
}

#content #contactForm .select .wpcf7-not-valid-tip {
    top: -8px;
}

#content #contactForm .textarea  textarea {
    padding: 10px 22px;
    min-height: 160px;
}

#content #contactForm .acceptance {
    display: flex;
    margin-bottom: 40px;
} 

#content #contactForm .acceptance .wpcf7-not-valid-tip {
    top: 10px;
    position: relative
}

#content #contactForm .acceptance .wpcf7-list-item {
    display: inline-block;
    margin: 0 0 0 50px;
}

#content #contactForm .acceptance input[type=checkbox] {
    position: absolute;
    visibility: hidden;
    top: 0;
    left: 0;
}

#content #contactForm .acceptance input[type=checkbox] + span:before {
    display: block;
    position: absolute;
    content: '';
    border: 1px solid var(--ksm-form-color-blue);
    outline: 3px solid var(--ksm-form-color-blue);
    height: 26px;
    width: 26px;
    left: 3px;
    top: 3px;
    background-color: white;
    cursor: pointer;
}

#content #contactForm .acceptance input[type=checkbox]:checked + span:before {
    border: 1px solid white;
    outline: 3px solid var(--ksm-form-color-blue);
    height: 26px;
    width: 26px;
    left: 3px;
    top: 3px;
    background-color: var(--ksm-form-color-blue);
}

#content #contactForm .submit input {
    font-size: 1.25rem;
    line-height: 50px;
    padding: 0 20px;
    background-color: var(--ksm-form-color-green);
    border: 0px;
    color: white;
    cursor: pointer;
    -webkit-border-radius:0px;
    border-radius: 0px !important;
}

#content #contactForm .selectize-control.single .selectize-input:after {
    border: 0px;
    background: url("../images/chevron-dark.svg") no-repeat;
    width: 20px;
    height: 21px;
    margin-top: -5px;
}

#content #contactForm .selectize-control.single .selectize-input.focus:after {
    background: url("../images/chevron-green.svg") no-repeat;
}
/****************/

/* Contact Button */
#contact-button {
    position: fixed;
    right: 0px;
    bottom: 0px;
    width: 100px;
    height: 100px;    
    background: url("../images/contact-button.svg") no-repeat;
    background-color: var(--ksm-color-green);
    background-position: center;
    display: block;
    z-index: 2;
}
/******************/

/* Header */
#page-container header {
    margin-bottom: 150px;
}

#page-container header .info-text {
    padding-right: 70px;
}

#page-container header.home {
    height: 830px;
    max-width: 3500px;
    margin-left: auto;
    margin-right: auto;
}

#page-container header.home #header {
    position: relative;
    z-index: 2;
}
/*
#page-container header.home .home-image {
    height: 100%;
    width: 100%;
    position: absolute;
    top: 0px;
    left: 0px;    
    background-size: cover !important;
    background-position: bottom center !important;
}

#page-container header.home .home-image-mask {
    background: url("../images/header_maske.svg") no-repeat;
    z-index: 1;
    position: absolute;
    mix-blend-mode: multiply;
    opacity: 1;
    width: 60%;
    height: 100%;
    top: 0;
    left: 0;
    background-size: cover;
    background-position: bottom right;
}*/ 

#page-container header.home .home-image {
    height: 100%;
    width: 100%;
    position: absolute;
    top: 0px;
    right: -13%;
    background-size: cover !important;
    background-position: bottom center !important;
}

#page-container header.home .home-image-mask {
    background: url(../images/header_maske.svg) no-repeat;
    z-index: 1;
    position: absolute;
    mix-blend-mode: multiply;
    opacity: 1;
    width: 65%;
    height: 100%;
    top: 0;
    left: 0;
    background-size: cover;
    background-position: bottom right;
}

#page-container header.home #header-logo-home-widget {
    margin-top: 20px;
    margin-bottom: 100px;
}

#page-container header.home h1 {
    color: white;
    margin-bottom: 40px;
}

#page-container header.home .subtitle {
    color: white;
    font-size: 1.625rem;
    line-height: 2.4375rem;
    margin-bottom: 40px;
}

#page-container header.home #anchor-group .button {
    color: var(--ksm-color-green);
    font-size: 1.25rem;
    line-height: 1.5rem;
    background-color: white;
    padding: 13px 20px 13px 20px;
    text-decoration: none;
}

#page-container header.home #anchor-group {
    display: flex;
}

#page-container header.home #anchor-group .anchor-button {
    background: url(../images/arrow-white.svg) no-repeat;
    cursor: pointer;
    display: inline-block;
    width: 50px;
    height: 50px;
    background-size: 23px 21px !important;
    background-position: center !important;
    border: 3px solid white;
    transform: rotateZ(90deg);
    margin-left: 20px;
}

#page-container header #header-logo-widget {
    margin-top: 20px;
    margin-bottom: 60px;
}

#page-container header #header-logo-widget img {
    width: 152px;
    height: auto;
}

#page-container header #header-logo-widget img {
    width: 100%;
    max-width: 150px;
}

#page-container header #header-sub {
    min-height: 890px;
    height: auto;
}

#page-container header #header-sub .term {
    color: var(--ksm-color-green);
    margin-bottom: 15px;
    font-weight: 300;
}

#page-container header #header-sub .subtitle p:last-child {
    margin-bottom: 0px;
}

#page-container header #header-sub .subtitle p strong {
    font-weight: 300;
    color: var(--ksm-color-green);
    display: inline-block;
}

#page-container header #header-sub .text {
    font-size: 1.625rem;
    line-height: 2.4375rem;
    padding-right: 20px;
}

#page-container header #header-sub #anchor-group {   
    margin-top: 40px;
    display: flex;
    flex-direction: row;
}


#page-container header #header-sub #anchor-group .anchor-button {
    background: url("../images/arrow-white.svg") no-repeat;
    cursor: pointer;
    display: inline-block;
    width: 50px;
    height: 49px;
    background-color: var(--ksm-color-green);
    background-size: 23px 21px !important;
    background-position: center !important;
    border-right: 1px solid var(--ksm-color-green);
    transform: rotateZ(90deg);
}

#page-container header #header-sub #anchor-group .anchor-button:hover {
    background: url("../images/arrow-green.svg") no-repeat;
    background-color: transparent;
}

#page-container header #header-sub #anchor-group .anchor-button-indicator {
    font-size: 1.25rem;
    line-height: 1.5rem;
    font-weight: 500;
    color: var(--ksm-color-green);
    border: 3px solid var(--ksm-color-green);
    padding: 10px 20px 11px 20px;
    margin-left: 20px;
    display: inline-block;
    text-decoration: none;
}

#page-container header #breadcrumb {
    margin-bottom: 150px;
}

#page-container header #breadcrumb span.active,
#page-container header #breadcrumb a {
    font-size: 1.125rem;
    line-height: 31px;
    text-decoration: none;
    color: var(--ksm-color-blue);
    padding: 0 10px;
    display: inline-block;
    position: relative;
}

#page-container header #breadcrumb a {
    background-color: var(--ksm-breadcrumb-bg-color);
    margin-left: 14px;
}

#page-container header #breadcrumb a:first-child {
    margin-left: 0px;
}

#page-container header #breadcrumb a:before {
    content: "";
    display: block;
    background: url("../images/gray-breadcrumb-arrow-in.svg") no-repeat;
    width: 21px;
    height: 31px;
    position: absolute;
    top: 0px;
    left: -12px; 
}

#page-container header #breadcrumb a:first-child:before {
    display: none;
}

#page-container header #breadcrumb a:after {
    content: "";
    display: block;
    background: url("../images/gray-breadcrumb-arrow-out.svg") no-repeat;
    width: 21px;
    height: 31px;
    position: absolute;
    top: 0px;
    right: -21px;   
}

#page-container header #breadcrumb span.active {
    background-color: var(--ksm-color-light-green);
    color: white;
    margin-left: 14px;
}

#page-container header #breadcrumb span.active:before {
    content: "";
    display: block;
    background: url("../images/green-breadcrumb-arrow-in.svg") no-repeat;
    width: 18px;
    height: 31px;
    position: absolute;
    top: 0px;
    left: -12px;
}

#page-container header #breadcrumb span.active:after {
    content: "";
    display: block;
    background: url("../images/green-breadcrumb-arrow-out.svg") no-repeat;
    width: 18px;
    height: 31px;
    position: absolute;
    top: 0px;
    right: -18px;
}
/**********/

/* Header Image Unterseiten */
header {
    position: relative;
}

header .sub-image {
    position: absolute;
    top: 0px;
    right: 0px;
    width: 40%;
    max-width: 761px;
    height: 100%;
    background-size: cover !important;
    background-position: center bottom !important;
}

header .sub-image .mask {
    display: none;
}

/****************************/

/* Footer */
#page-container footer {
    background-color: var(--ksm-color-green);
    padding-top: 100px;
    padding-bottom: 30px;
    color: white;
    position: relative;
}

#page-container footer ul li:before {
    display: none;
}

#page-container footer a {
    color: white;
    text-decoration: none;
}

#page-container footer #footer-logo-widget img {
    width: 100%;
    max-width: 192px;
}

#page-container footer .row.first {
    margin-bottom: 80px;
}

#page-container footer #webdesign-footer {
    text-align: right;
}

#page-container footer #footer-address-widget {
    margin-bottom: 30px;
}

#page-container footer #footer-socialicon-widget {
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
}

#page-container footer .footer-navigation {
    display: flex; 
    justify-content: space-between;
}

#page-container footer ul#menu-footer-menu-1,
#page-container footer ul#menu-footer-menu-2 {
    padding: 0px;
    margin: 0px;
    list-style-type: none;
}

#page-container footer .menu-footer-menu-1-container,
#page-container footer .menu-footer-menu-2-container {
    width: 100%;
    max-width: 210px;
}

#page-container footer ul#menu-footer-menu-1 li,
#page-container footer ul#menu-footer-menu-2 li {
    margin-bottom: 15px;
}

.footer-bg-blue {
    display: none;
}
/**********/

/* Statistics */
#content #statistics {
    margin-bottom: 200px;
}

#content #statistics .box-container {
    height: 355px;
}

#content #statistics .box-container .box {
    background-color: var(--ksm-statistics-bg-color);
    margin-bottom: 30px;
    padding: 19px 30px 30px 30px;
    position: relative;
}

#content #statistics .box-container .box.full {
    height: calc(100% - 30px);    
}

#content #statistics .box-container .box.half {
    height: calc(50% - 30px);    
}

#content #statistics .box-container .box .number {
    color: var(--ksm-color-green);
    font-weight: 300;
    font-size: 3.125rem;
    line-height: 3.5625rem;
    margin-bottom: 10px;
}

#content #statistics .box-container .box .button-link {
    padding: 11px 20px 9px 20px;
    position: absolute;
    bottom: 30px;
    left: 30px;
}

#content #statistics .box-container .box.img {
    background-size: cover !important;
    background-position: center !important;
    position: relative;
}

#content #statistics .box-container .box.img:after {
    content: "";
    position: absolute;
    background-color: var(--ksm-color-green);
    opacity: 1;
    -webkit-transition: opacity 0.5s ease-in-out;
    -moz-transition: opacity 0.5s ease-in-out;
    -ms-transition: opacity 0.5s ease-in-out;
    -o-transition: opacity 0.5s ease-in-out;
    transition: opacity 0.5s ease-in-out;
    z-index: 0;
    width: 100%;
    height: 100%;
    mix-blend-mode: multiply;
    top: 0;
    left: 0;
}

#content #statistics .box-container .box.img .button-link {
    color: white;
    background-color: transparent;
    border: 3px solid white;
    padding: 8px 20px 6px 20px;
    z-index: 1;
}


#content #statistics .box-container .box.img .number,
#content #statistics .box-container .box.img .text {
    color: white;
    z-index: 1;
    position: relative;
}

/**************/

/* Scroll Indidicator Content */
#content .scroll-indicator-content .part-1 {
    margin-bottom: 85px;
}

#content .scroll-indicator-content .part-1 .indicator .title {
    padding: 0 5px;
    background-color: var(--ksm-color-green);
    color: white;
    display: inline-block;
    margin-bottom: 10px;
    margin-top: 15px;
}

#content .scroll-indicator-content .part-1 .indicator .subtitle {
    padding-left: 5px;
}

#content .scroll-indicator-content .part-1 .infos .text-top {
    margin-bottom: 40px;
}

#content .scroll-indicator-content .part-1 .infos .text-right h4 {
    font-size: 1.75rem;
    line-height: 2rem;
    margin-bottom: 30px;
    font-weight: 700;
}

#content .scroll-indicator-content .part-1 .infos .text-right ul li {
    margin-bottom: 10px;
}

#content .scroll-indicator-content .part-2 .bild {
    text-align: center;
    position: relative;
    width: 100%;
}

#content .scroll-indicator-content .part-2 .bild img {
    max-width: 850px;
    height: auto;
    width: 100%;
}

#content .scroll-indicator-content .part-2 .bild .item-mobile,
#content .scroll-indicator-content .part-2 .bild .item {
    text-align: left;
    position: absolute;    
}

#content .scroll-indicator-content .part-2 .bild .item-mobile {
    display: none;
}

#content .scroll-indicator-content .part-2 .bild .item .title {
    color: white;
    display: inline-block;
    font-weight: 700;
    background-color: var(--ksm-color-green);
    padding: 5px 15px;
    margin-bottom: 10px;
    box-shadow: 0px 0px 0px 5px rgba(0,162,145,0.5);
    margin-left: 5px;
    cursor: pointer;
}

#content .scroll-indicator-content .part-2 .bild .item .title:before {
    content: "";
    background:  url("../images/icon-plus.svg") no-repeat;
    width: 16px;
    height: 16px;
    margin-right: 10px;
    position: relative;
    display: inline-block;
    top: 1px;
    -webkit-transition-duration: 0.5s;
    -moz-transition-duration: 0.5s;
    -o-transition-duration: 0.5s;
    transition-duration: 0.5s;
    -webkit-transition-property: -webkit-transform;
    -moz-transition-property: -moz-transform;
    -o-transition-property: -o-transform;
     transition-property: transform;
}

#content .scroll-indicator-content .part-2 .bild .item.open .title:before {
    -webkit-transform:rotate(45deg);
    -moz-transform:rotate(45deg); 
    -o-transform:rotate(45deg);
}

#content .scroll-indicator-content .part-2 .bild .item .text {
    width: 315px;
    padding: 22px 45px 15px 20px;
    box-shadow: 0 2px 10px 0 rgba(6,86,94,0.06);
    background-color: white;
    opacity: 0;
    -webkit-transition: opacity 0.5s ease-in-out;
    -moz-transition: opacity 0.5s ease-in-out;
    -ms-transition: opacity 0.5s ease-in-out;
    -o-transition: opacity 0.5s ease-in-out;
    transition: opacity 0.5s ease-in-out;
}

#content .scroll-indicator-content .part-2 .bild .item .text.open {
    opacity: 1;
}

#content .scroll-indicator-content .part-2 .bild .item .text a {
    color: var(--ksm-color-green);
    text-decoration: none;
    font-size: 1.25rem;
    line-height: 1.5rem;
    font-weight: 500;
    position: relative;
}

#content .scroll-indicator-content .part-2 .bild .item .text a:after {
    content: "";
    display: inline-block;
    background: url(../images/corner.svg) no-repeat;
    background-position: center;
    background-size: contain;
    width: 14px;
    height: 14px;
    position: relative;
    top: 0px;
    left: 0px;
    transform: rotateZ(135deg);
    margin-left: 10px;
}

#content .scroll-indicator-content .part-2 {
    margin-bottom: 100px;
}

#content .scroll-indicator-content .part-3 .box {
    background-color: var(--ksm-team-bg-color);
    padding: 20px;
    margin-bottom: 30px;
}

#content .scroll-indicator-content .part-3 .box .title {
    margin-bottom: 10px;
    color: var(--ksm-color-green);
    font-weight: 300;
    font-size: 3.125rem;
    line-height: 3.5625rem;
}

#content .scroll-indicator-content .part-3 {
    margin-bottom: 70px;
}

#content .scroll-indicator-content .part-3 .video iframe,
#content .scroll-indicator-content .part-3 .video video {
    width: 100%;
    height: 540px;
}

#content .scroll-indicator-content .part-3 .video video {
    object-fit: fill;
}

/******************************/

/* Custom Content */
#content .custom-content .part {
    margin-bottom: 185px;
}

#content .custom-content .part.galerie-part {
    margin-bottom: 0px;
}

#content .custom-content .galerie-margin {
    margin-bottom: 200px;
}

#content .custom-content .part:last-child {
    margin-bottom: 100px;
}

#content .custom-content .indicator .title {
    padding: 0 5px;
    background-color: var(--ksm-color-green);
    color: white;
    display: inline-block;
    margin-bottom: 10px;
    margin-top: 15px;
}

#content .custom-content .indicator .title {
    padding-left: 5px;
}

#content .custom-content .infos .text-top {
    margin-bottom: 40px;
}

#content .custom-content .infos .text-right h4 {
    font-size: 1.75rem;
    line-height: 2rem;
    margin-bottom: 30px;
    font-weight: 700;
}

#content .custom-content .infos .text-right ul li {
    margin-bottom: 10px;
}

#content .custom-content .text-box .item {
    border: 1px solid var(--ksm-info-boxen-border);
    margin-bottom: 30px;
    position: relative;
    top: 0px;
    left: 0px;
    padding: 30px;
}

#content .custom-content .text-box .item .title {
    font-size: 1.75rem;
    line-height: 2rem;
    font-weight: 700;
    margin-bottom: 10px;
}

#content .custom-content .text-box .item .border-top-left {
    background: url(../images/corner.svg) no-repeat;
    background-position: center;
    background-size: contain;
    width: 20px;
    height: 20px;
    position: absolute;
    top: -2px;
    left: -2px;
    opacity: 1;
    -webkit-transition: opacity 0.5s ease-in-out;
    -moz-transition: opacity 0.5s ease-in-out;
    -ms-transition: opacity 0.5s ease-in-out;
    -o-transition: opacity 0.5s ease-in-out;
    transition: opacity 0.5s ease-in-out;
}

#content .custom-content .text-box .item .border-bottom-right {
    background: url(../images/corner.svg) no-repeat;
    background-position: center;
    background-size: contain;
    width: 20px;
    height: 20px;
    position: absolute;
    bottom: -2px;
    right: -2px;
    opacity: 1;
    -webkit-transition: opacity 0.5s ease-in-out;
    -moz-transition: opacity 0.5s ease-in-out;
    -ms-transition: opacity 0.5s ease-in-out;
    -o-transition: opacity 0.5s ease-in-out;
    transition: opacity 0.5s ease-in-out;
    transform: rotateZ(180deg);
}

#content .custom-content .table-table .table-row {
    padding: 10px 0px;
    border-top: 1px solid var(--ksm-table-border);
    display: flex;
}

#content .custom-content .table-table .label {
    font-weight: 700;
    width: 40%;
}

#content .custom-content .table-table .value {
    width: 60%;
    padding-left: 10px;
}

#content .custom-content .text-ref .zitat {
    font-size: 1.875rem;
    font-weight: 300;
    line-height: 2.8125rem;
    margin-bottom: 30px;
}

#content .custom-content .text-ref .zitat:before {
    content: "";
    width: 50px;
    height: 50px;
    display: block;
    margin-bottom: 30px;
    background: url("../images/icon-blockquote.svg") no-repeat;
    background-size: cover;
}

#content .custom-content .text-ref .name {
    font-weight: 700;
    margin-bottom: 5px;
    display: flex;
    align-items: center;
}

#content .custom-content .text-ref .name:before {
    content: "";
    width: 20px;
    height: 1px;
    background-color: black;
    display: inline-block;
    margin-right: 10px;
}

#content .custom-content .text-ref .company {
    font-weight: 300;
    padding-left: 30px;
}

#content .custom-content .more-infos {
    margin-top: 85px;
}

#content .custom-content .more-infos .video iframe,
#content .custom-content .more-infos .video video {
    width: 100%;
    height: 540px;
}

#content .custom-content .more-infos .video video {
    object-fit: fill;
}

#content .custom-content .pics-slider {
    margin-top: 45px;
    width: 200%;
}

#content .custom-content .pics-slider .item .inner {
    padding-right: 30px;
}

#content .custom-content .pics-slider .item .inner .image {
    height: 100%;
    width: 540px;
    height: 320px;
}

#content .custom-content .pics-slider .item .inner .image img {
    width: 540px;
    height: 320px;
    object-fit: cover;
    object-position: center;
}

#content .custom-content .galerie-margin .slider-navigation .prev-slick,
#content .custom-content .galerie-margin .slider-navigation .next-slick {
    background: url(../images/arrow-white.svg) no-repeat;
    cursor: pointer;
    display: inline-block;
    width: 50px;
    height: 50px;
    background-color: var(--ksm-color-green);
    background-size: 23px 21px !important;
    background-position: center !important;  
    color: transparent;  
}

#content .custom-content .galerie-margin .slider-navigation {
    margin-top: 85px;
}

#content .custom-content .galerie-margin .slider-navigation .prev-slick {
    transform: rotateZ(-180deg);
}

#content .custom-content .galerie-margin .slider-navigation .next-slick {
    transform: rotateZ(0deg);
    margin-left: 20px;
}

#content .custom-content .pics-slider .item .subtitle {
    font-size: 0.875rem;
    line-height: 1rem;
    display: flex;
    align-items: flex-start;
    margin-top: 7px;
    width: calc(100% - 55px);
}

#content .custom-content .pics-slider .item .subtitle:before {
    margin-right: 15px;
    content: "";
    width: 40px;
    height: 1px;
    background-color: var(--ksm-color-green);
    display: inline-block;
    position: relative;
    top: 8px;
}

#content .custom-content .pics-slider .item .subtitle .nr {
    margin-right: 15px;
    display: inline-block;
    font-weight: 700;
}
/******************/

/* Team */
#team h2 {
    margin-bottom: 40px; 
}

#team img {
    margin-top: 45px;
    max-width: 100%;
}

#team .box-container .row,
#team .box-container .row .box {
    height: calc(100% - 15px);
}

#team .box-container .row .box {
    background-color: var(--ksm-team-bg-color);
    padding: 19px 30px;
}

#team .box-container .row .box .title {
    margin-bottom: 10px;
    font-size: 3.125rem;
    line-height: 3.5625rem;
    font-weight: 300;
    color: var(--ksm-color-green);
}
/********/

/* TImeline */
#content .timeline-container {
    margin-bottom: 200px;
}

#content .timeline-container h2 {
    margin-bottom: 60px;
}

#content .timeline .timeline-divider {
    height: 3px;
    background-color: var(--ksm-color-green);
}

#content .timeline  .timeline__item:after {
    width: 16px;
    height: 16px;
    box-shadow: 0px 0px 0px 5px rgb(0 162 145 / 50%);
    border-radius: 20px;
    background-color: var(--ksm-color-green);
    border: 0px;
}

#content .timeline .timeline-nav-button--prev,
#content .timeline .timeline-nav-button--next {
    background: url(../images/arrow-white.svg) no-repeat;
    cursor: pointer;
    display: inline-block;
    width: 50px;
    height: 50px;
    background-color: var(--ksm-color-green);
    background-size: 23px 21px !important;
    background-position: center !important;  
    color: transparent;  
    border: 0px;
}

#content .timeline .timeline-nav-button--prev:before,
#content .timeline .timeline-nav-button--next:before {
    display: none;
}

#content .timeline .timeline-nav-button:disabled {
    display: none;
}

#content .timeline .timeline-nav-button--prev {
    -webkit-transform: translateY(-50%) rotateZ(-180deg);
    -ms-transform: translateY(-50%) rotateZ(-180deg);
    transform: translateY(-50%) rotateZ(-180deg);
}

#content .timeline .timeline-nav-button--next {
    -webkit-transform: translateY(-50%) rotateZ(0deg);
    -ms-transform: translateY(-50%) rotateZ(0deg);
    transform: translateY(-50%) rotateZ(0deg);
    margin-left: 20px;
}

#content .timeline .timeline__content {
    font-size: 1.125rem;
    line-height: 1.875rem;
    background-color: transparent;
    border: 0px;
    border-radius: 0;
    padding: 0;
}

#content .timeline .timeline__content:before,
#content .timeline .timeline__content:after {
    display: none;
}

#content .timeline .timeline__content {
    font-size: 1.125rem;
    line-height: 1.875rem;
    background-color: transparent;
    border: 0px;
    border-radius: 0;
    padding: 0 0 0 10px;
    text-align: left;
}

#content .timeline .timeline__content strong {
    color: var(--ksm-color-green);
    font-weight: 300;
    font-size: 1.625rem;
    line-height: 2.4375rem;
}

#content .timeline .timeline__content .line {
    height: 45px;
    width: 1px;
    border: 2px dashed var(--ksm-color-blue);
    margin-left: 5px
}

#content .timeline .timeline__item--top {
    padding: 0 0 30px 0;
}

#content .timeline .timeline__item--bottom {
    padding: 30px 0 0 0;
}

#content .timeline .timeline__item--top .timeline__content .line {
    padding-bottom: 45px;
}

#content .timeline .timeline__item--bottom .timeline__content .line {
    padding-top: 45px;
}

#content .timeline.timeline--horizontal .timeline__item:after {
    left: 4%;
}
/************/

/* Navigation Main */
#main-navigation-button-open,
#main-navigation-button-close {
    background-color: var(--ksm-color-green);
    width: 100px;
    height: 100px;
    position: fixed;
    z-index: 4;
    top: 0;
    right: 0;
    cursor: pointer;
}

#main-navigation-button-open {
    background: url("../images/menu-open.svg") no-repeat;
    background-color: var(--ksm-color-green);
    background-size: 42px 33px;
    background-position: center;
}

#main-navigation-button-close {
    background: url("../images/menu-close.svg") no-repeat;
    background-color: var(--ksm-color-green);
    background-size: 32px 32px;
    background-position: center;
}

#main-navigation-button-close {
    position: absolute;
}

#main-navigation {
    background-color: var(--ksm-color-green);
    position: fixed;
    overflow: hidden;
    top: -100%;
    width: 100%;
    height: 100%;
    z-index: 99999;
    -webkit-transition:all 0.4s ease;
       -moz-transition:all 0.4s ease;
        -ms-transition:all 0.4s ease;
         -o-transition:all 0.4s ease;
            transition:all 0.4s ease;
}

#main-navigation.open {
    top: 0px;
}

#main-navigation .callout-image-widget {
    position: absolute;
    left: 0;
    bottom: -20px;
    z-index: 15;
    max-width: 550px;
    height: auto;
}

#main-navigation .container {
    display: flex;
    flex-direction: column;
}

#main-navigation .container,
#main-navigation .container .row {
    height: 100%;
}

#main-navigation .container .row.logo-language-row {
    max-height: 160px;
}

#main-navigation .logo-language-row .logo img {
    margin-top: 20px;
}

#main-navigation .logo-language-row .logo #header-logo-home-mobile-widget {
    display: none;
}

#main-navigation .container .main-menu-footer-container-row .footer-row-empty,
#main-navigation .logo-language-row .logo,
#main-navigation .callout {
    /*background-color: var(--ksm-color-green);*/
    position: relative;
}   

#main-navigation .callout {
    padding-top: 60px;
    z-index: 16;
}

#main-navigation .container .main-menu-footer-container-row .main-menu-footer-container,
#main-navigation .logo-language-row .language,
#main-navigation .container .main-menu-container {
    background-color: var(--ksm-nav-bg-color);
    position: relative;
}

#main-navigation .container .main-menu-container .mm-wrapper {
    height: 100%;
}

#main-navigation .container .main-menu-container #main-menu {
    height: calc(100% - 90px);
}

#main-navigation .container .main-menu-footer-container-row {
    height: 90px;
    position: absolute;
    bottom: 0px;
}

#main-navigation .container .main-menu-footer-container-row .main-menu-footer-container {
    padding-top: 30px;
    padding-bottom: 30px;
    position: relative;
    height: 90px;
}

#main-navigation .container .main-menu-footer-container-row .main-menu-footer-container:after,
#main-navigation .logo-language-row .language:after,
#main-navigation .container .main-menu-container:after {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    right: -999em;
    width: 999em;
    display: block;
    background-color: var(--ksm-nav-bg-color);
}

#main-navigation .container .empty-right  {
    background-color: var(--ksm-nav-bg-color);
    width: 7%;
}

#main-navigation .container .main-menu-footer-container-row .footer-row-empty:before,
#main-navigation .logo-language-row .logo:before,
#main-navigation .callout:before {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    left: -100%;
    width: 100%;
    display: block;
    /*background-color: var(--ksm-color-green);*/
}

#main-navigation .container .main-menu-container.mm-wrapper {
    overflow-x: visible;
}

#main-navigation .callout h1 {
    color: white;
    font-weight: 700;
    margin-bottom: 30px;
}

#main-navigation .callout a {
    color: white;
    text-decoration: none;
    font-size: 1.25rem;
    line-height: 1.5rem;
    border: 3px solid #FFFFFF;
    padding-top: 10px;
    padding-bottom: 11px;
    padding-left: 20px;
    padding-right: 20px;
    display: inline-block;
}

#main-navigation .container .main-menu-footer-container-row #main-menu-footer {
    list-style: none;
}

#main-navigation .container .main-menu-footer-container-row #main-menu-footer li {
    display: inline-block;
}

#main-navigation .container .main-menu-footer-container-row #main-menu-footer li a {
    color: var(--ksm-color-blue);
    text-decoration: none;
}

#main-navigation .container .main-menu-footer-container-row #main-menu-footer li:after {
    content: "|";
    display: inline-block;
    margin: 0px 5px;
}

#main-navigation .container .main-menu-footer-container-row #main-menu-footer li:last-child:after {
    display: none;
}

#main-navigation .container .main-menu-footer-container-row #main-menu-footer li:before {
    display: none;
}

#main-navigation .logo-language-row .language {
    padding-top: 50px;
    padding-left: 40px;
    text-transform: uppercase;
}

#main-navigation .logo-language-row .language a {
    display: inline-block;
    text-decoration: none;
    width: 50px;
    height: 50px;
    font-size: 1.625rem;
    line-height: 50px;
    font-weight: 300;
    color: var(--ksm-color-blue);
    margin-left: 5px;
    text-align: center;
    background-color: white;
}

#main-navigation .logo-language-row .language a:first-child {
    margin-left: 0px;
}

#main-navigation .logo-language-row .language a.active {
    font-weight: 700;
    color: var(--ksm-color-green);
}

#main-navigation .mm-menu .mm-navbar__title{
    color: transparent;
}

#main-navigation .mm-menu .mm-listitem {
    border: 0px;
}

#main-navigation .mm-menu .mm-listitem:before,
#main-navigation .mm-menu .mm-listitem:after {
    display: none;
}

#main-navigation .mm-menu .mm-listitem__text {
    padding: 0px 0px 0px 20px;
    font-size: 2.5rem;
    line-height: 4.875rem;
    color: var(--ksm-color-blue);
    position: relative;
}

#main-navigation .mm-menu .mm-listitem__text:hover {
    color: var(--ksm-color-green);
}

#main-navigation .mm-menu .current-menu-parent .mm-listitem__text:before,
#main-navigation .mm-menu .current-menu-item .mm-listitem__text:before {
    content: "";
    display: inline-block;
    width: 3px;
    height: 42px;
    background: var(--ksm-color-green);
    position: absolute;
    left: 0px;
    top: 50%;
    transform: translate3d(0, -50%, 0);
}

#main-navigation .mm-menu .current-menu-parent .mm-listitem__text:before li a {
    display: none;
}

#main-navigation .mm-menu,
#main-navigation .mm-menu .mm-panels,
#main-navigation .mm-menu .mm-panel,
#main-navigation .mm-menu .mm-navbar {
    background: var(--ksm-nav-bg-color);
    border: 0px;
}

#main-navigation .mm-menu a {
    border: 0px;
}

#main-navigation .mm-menu .mm-btn--next:after, .mm-btn--prev:before {
    width: 26px;
    height: 26px;
    border: 3px solid var(--ksm-color-blue);
    border-bottom: none;
    border-right: none;
}

#main-navigation .mm-menu .mm-btn--next:after {
    inset-inline-end: 26px;
}
/*******************/


/* Sonstiges */
body.page-template-anlagenbau #content .contact-box {
    margin-top: 150px;
}

.progress-container {
    width: 100%;
    height: 3px;
    background: #f5f5f5;
    position: fixed;
    z-index: 20;
    bottom: 0;
}
  
.progress-bar {
    height: 3px;
    background: var(--ksm-color-green);
    width: 0%;
}

.progress-container .name {
    position: absolute;
    color: var(--ksm-color-blue);
    font-size: 0.875rem;
    line-height: 1rem;
    top: -20px;
    left: 20px;
}

@media(min-width: 1930px) {
    header .sub-image {
        right: inherit;
        left: 57%;
    }

    #content .referenzen-details .pics-slider,
    #content .custom-content .pics-slider {
        width: 100%;
    }
}

@media(min-width: 2000px) {
    header .sub-image {
        right: inherit;
        left: 54%;
    }
}

@media(min-width: 4000px) {
    header .sub-image {
        right: inherit;
        left: 52%;
    }
}

@media(max-width: 1400px) {
    #content .text-bubble .bubble img {
        max-width: 300px;
        position: absolute;
        right: -45px;
        bottom: -140px;
    }

    #content .info-boxen-maschinen .info-box-item {
        height: 100%;
    }

    #content .info-boxen-maschinen .info-box-item .inner h3 {
        font-size: 1.625rem;
    }

    #page-container header.home .home-image-mask {
        width: 70%;
    }
}

@media(max-width: 1199px) {
    #content .timeline.timeline--horizontal .timeline__item:after {
        left: 6%;
    }

    #content #referenzen-filter .info-box-item .inner h3 {
        font-size: 1.5625rem;
        line-height: 1.8125rem;
    }

    #content #referenzen-filter .info-box-item .inner .text {
        font-size: 1rem;
        line-height: 1.625rem;
    }

    #content #referenzen-filter .info-box-item .inner {
        padding: 20px;
    }

    #content #referenzen-filter .filter .inner {
        margin-bottom: 40px;
    }

    #content .contact-box .inner .title, #content .contact-box .inner .subtitle {
        font-size: 1.75rem;
        line-height: 2rem;
    }

    .bild-text-infos .image-left img {
        position: relative;
        right: inherit;
        left: 0;
        width: 100%;
    }

    .bild-text-infos .infos {
        display: flex;
        justify-content: space-between;
        margin-top: 30px;
    }

    .bild-text-infos .infos .item {
        width: 32%;
    }

    #main-navigation .mm-menu .mm-listitem__text {
        font-size: 1.875rem;
        line-height: 3.75rem;
    }

    #main-navigation .callout h1 {
        font-size: 2.5rem;
        line-height: 3.5625rem;
    }

    #main-navigation .callout-image-widget {
        max-width: 300px;
    }

    #content .number-boxes .items .item .inner {
        padding: 70px 20px 20px 20px;
    }

    #content .text-bubble .bubble img {
        max-width: 200px;
        position: absolute;
        bottom: -140px;
    }

    #content .text-bubble .bubble {
        padding: 30px 40px;
    }

    #content .text-bubble {
        height: auto;
    }

    #content .number-boxes {
        margin-bottom: 25px;
    }

    #content .text-bubble .infos {
        margin-bottom: 0;
    }

    #content .text-bubble .bubble .text p {
        font-size: 1.625rem;
    }

    #content .text-bubble .bubble img {
        display: none;
    }

    .maschinen-info-tabs #maschinen-info-tabs .title, .maschinen-info-tabs #maschinen-info-tabs .subtitle {
        font-size: 1rem;
    }

    #page-container header.home .home-image-mask {
        width: 90%;
    }

    .text-links-icons-bild-rechts .item span {
        font-size: 1rem;
        line-height: 1.5rem;
    }

    #content .info-boxen .info-box-item {
        height: 400px;
    }

    #content .info-boxen .info-box-item .last-visible,
    #content .info-boxen .info-box-item .first-visible {
        padding: 40px;
    }

    #page-container header .info-text {
        padding-right: 35px;
    }

    #page-container header.home .home-image {
        right: 0px;
    }

    #page-container header #breadcrumb a {
        margin-bottom: 10px;
    }
}

@media(max-width: 991px) {
    body {
        font-size: 1rem;
        line-height: 1.625rem;
    }

    #main-navigation-button-close {
        background-size: 27px;
        width: 50px;
        height: 50px;
        top: 30px;
        right: 20px;
    }

    #main-navigation-button-open {
        background-color: var(--ksm-color-green);
        background-size: 30px 25px;
        background-position: center;
        width: 50px;
        height: 50px;
        top: 25px;
        right: 20px;
    }

    #page-container header #header-logo-widget img {
        width: 100%;
        max-width: 100px;
    }

    #page-container header #breadcrumb {
        margin-bottom: 40px;
    }

    h1 {
        font-size: 2rem;
        line-height: 2.3125rem;
    }

    #page-container header #breadcrumb span.active, #page-container header #breadcrumb a {
        font-size: 0.875rem;
        line-height: 1rem;
        padding: 6px 10px;
    }

    #page-container header #breadcrumb span.active:after,
    #page-container header #breadcrumb span.active:before,
    #page-container header #breadcrumb a:after {
        height: 28px;
    }

    #page-container header #header-sub .text {
        font-size: 1.25rem;
        line-height: 1.875rem;
    }

    header .sub-image {
        height: 70%;
        background-position: left bottom !important;
    }

    #page-container header #header-sub {
        height: auto;
        min-height: inherit;
    }

    #page-container header {
        margin-bottom: 70px;
    }

    #content #statistics .box-container .box .text {
        font-size: 1rem;
        line-height: 1.625rem;
    }

    #content #statistics .box-container .box .button-link {
        padding: 11px 20px 9px 20px;
        position: relative;
        bottom: 0;
        left: 0;
    }

    #content #statistics .box-container .box {
        padding: 20px;
    }

    #content #statistics .box-container .box.half,
    #content #statistics .box-container,
    #content #statistics .box-container .box.full {
        height: auto;
    }

    #page-container header #header-logo-widget {
        margin-top: 25px;
        margin-bottom: 45px;
    }

    #content #statistics {
        margin-bottom: 90px;
    }

    h2 {
        font-size: 1.75rem;
        line-height: 2rem;
    }

    #content .timeline-container h2 {
        margin-bottom: 30px;
    }

    #content .timeline.timeline--horizontal .timeline__item:after {
        left: 9%;
    }

    #content .timeline-container {
        margin-bottom: 120px;
    }
    #content {
        padding-bottom: 120px;
    }    

    #page-container footer .row.first {
        margin-bottom: 40px;
    }

    #page-container footer .footer-navigation {
        margin-top: 20px;
    }
    
    #content #contactForm {
        margin-bottom: 120px;
    }

    #content #contactForm .address {
        margin-bottom: 30px;
    }

    #contact-button {
        width: 50px;
        height: 50px;
        background-size: 30px;
    }

    .text-links-icons-bild-rechts .bild-text-container {
        flex-direction: column-reverse;
    }

    #content .referenzen-details .part-1-text .zitat,
    #bewerbung .left .text p, #bewerbung .left .subtitle {
        font-size: 1.75rem;
        line-height: 2.5rem;
    }

    #content #referenzen-filter .filter .inner {
        padding: 20px;
    }

    #content .contact-box {
        margin-top: 105px;
    }

    #content .contact-box .col-lg-5 {
        padding-right: 16px;
        padding-left: 14px;
    } 

    #content .referenzen-details .galerie-margin {
        margin-bottom: 120px;
    }

    #content .referenzen-details .part-1-text .zitat {
        margin-bottom: 50px;
    }

    #content .contact-box {
        height: auto;
        max-height: inherit;
    }

    #content .contact-box .inner {
        padding: 30px 20px;
    }

    #content .contact-box .inner .subtitle {
        margin-bottom: 30px;
    }

    #content .contact-box .image-container {
        height: 400px;
    }

    #content .contact-box .outer {
        flex-direction: column-reverse;
    }

    #content .contact-box .image-container img.contact-corner.desktop {
        display: none;
    }

    #content .contact-box .image-container img.contact-corner.mobile {
        display: block;
        width: 100%;
        height: auto;
        top: inherit;
        bottom: -1px;
        left: 0px;
    }
    
    #content .vorteile {
        margin-bottom: 90px;
    }

    #content .custom-content .galerie-margin {
        margin-bottom: 120px;
    }

    #content .custom-content .part {
        margin-bottom: 105px;
    }

    #content .contact-box .bild {
        background-position: center top !important;
        right: inherit;
        left: 0px;
    }

    #content .anwendungsfall,
    .bild-text-infos {
        margin-bottom: 90px;
    }

    .bild-text-infos h2 {
        margin-bottom: 40px;
    }

    .bild-text-infos .image-left img {
        margin-bottom: 20px;
    }

    .bild-text-infos .infos .item {
        width: 100%;
    }

    .bild-text-infos .infos {
        flex-direction: column;
    }

    #content .custom-content .infos .text-top {
        margin-bottom: 15px;
    }

    #content .custom-content .infos .text-right h4 {
        margin-top: 30px;
    }

    #content .custom-content .text-ref  {
        margin-top: 30px;
    }

    #content .custom-content .text-box {
        margin-top: 30px;
    }

    #content .custom-content .galerie-margin .slider-navigation,
    #content .custom-content .more-infos {
        margin-top: 30px;
    }

    #content .custom-content .more-infos .video iframe, #content .custom-content .more-infos .video video {
        height: 250px;
    }

    #content .anwendungsfall .info-box-items {
        margin-top: 40px;
    }

    #main-navigation .container .empty-right {
        display: none;
    }

    #main-navigation .mm-menu .mm-listitem__text {
        font-size: 26px;
        line-height: 50px;
    }

    #main-navigation .mm-menu .mm-btn--next:after {
        inset-inline-end: 20px;
    }

    #main-navigation .mm-menu .mm-btn--next:after, .mm-btn--prev:before {
        width: 20px;
        height: 20px;
        border: 2px solid var(--ksm-color-blue);
        border-bottom: none;
        border-right: none;
    }

    #main-navigation .logo-language-row .language {
        padding-top: 30px;
    }

    #content .text-info-boxen .text-item .box-to-bottom {
        flex-direction: column-reverse;
    }   

    #content .text-info-boxen .no-margin-mobile {
        margin-top: 60px !important;
    }

    #content .text-info-boxen .bild {
        margin-top: 60px;
    }

    #content .text-info-boxen .text-item {
        margin-bottom: 120px;
    }


    .text-links-icons-bild-rechts .items .show-mobile {
        display: block;
        text-align: center;
    }

    .text-links-icons-bild-rechts .show-desktop {
        display: none;
    }

    .text-links-icons-bild-rechts .items {
        margin-top: 35px;
    }

    .text-links-icons-bild-rechts .item {
        margin-bottom: 50px;
    }

    .text-links-icons-bild-rechts .item span {
        font-size: 1.0625rem;
        line-height: 1.375rem;
    }

    .text-links-icons-bild-rechts .items .show-mobile a.button-link {
        margin-top: 0px;
    }

    #content .info-boxen .info-box-item {
        height: 350px;
    }

    #content .info-boxen .info-box-item .last-visible, #content .info-boxen .info-box-item .first-visible {
        padding: 40px 20px;
    }

    #content .info-boxen .info-box-item .h3-like,
    #content .info-boxen .info-box-item .first-visible h3 {
        font-size: 1.5625rem;
        line-height: 1.625rem;
    }

    #content .info-boxen {
        margin-bottom: 90px;
    }

    #content .scroll-indicator-content .part-1 .infos .text-right h4 {
        margin-top: 10px;
    }

    #content .scroll-indicator-content .part-3 .video, #content .scroll-indicator-content .part-3 .video {
        margin-bottom: 30px;
    }

    #content .scroll-indicator-content .part-1 .indicator .title {
        margin-top: 5px;
    }

    #page-container header #header-sub #anchor-group .anchor-button-indicator {
        margin-left: 5px;
    }

    #content .scroll-indicator-content .part-1 .indicator .subtitle {
        padding-left: 0px;
        margin-bottom: 40px;
    }

    #content .scroll-indicator-content .part-1 .infos .text-top {
        margin-bottom: 20px;
    }

    #content .scroll-indicator-content .row .row {
        margin-left: -15px;
        margin-right: -15px;
    }

    #content .scroll-indicator-content .part-2 .bild .item .title {
        padding: 0px;
        width: 50px;
        height: 50px;
        margin-left: 0px;
        margin-bottom: 35px;
    }

    #content .scroll-indicator-content .part-2 .bild .item .title span {
        display: none;
    }

    #content .scroll-indicator-content .part-2 .bild .item .title:before {
        margin-right: 0px;
        width: 50px;
        height: 50px;
        background-size: 22px !important;
        background-position: center !important;
    }

    
    .info-boxen-maschinen .maschinen-infos-title,
    .info-boxen-maschinen .tab-text-container .tab-text-title,
    .info-boxen-maschinen .tab-text-container .text {
        display: block;
    }


    .maschinen-info-tabs {
        display: none;
    }

    #content .info-boxen-maschinen .tab-text,
    #content .info-boxen-maschinen .info-box-item-container {
        display: block !important;
    }

    #content .info-boxen-maschinen .tab-text-container .inner-container {
        border: 2px solid var(--ksm-color-green);
        padding: 15px 20px;
        margin-bottom: 15px;
    }

    #content .info-boxen-maschinen .tab-text-container .inner-container .tab-text-title {
        margin-bottom:15px;
        font-size: 1.25rem;
        line-height: 1.875rem;
    }

    #content .info-boxen-maschinen .tab-text-container .inner-container .text {
        margin-bottom: 30px;
    }

    #content .info-boxen-maschinen .tab-text-container .inner-container .tab-text-row .bg-first,
    #content .info-boxen-maschinen .tab-text-container .inner-container .tab-text-row .bg-last,
    #content .info-boxen-maschinen .tab-text-container .inner-container .tab-text-row .border-top-left,
    #content .info-boxen-maschinen .tab-text-container .inner-container .tab-text-row .border-bottom-right,
    #content .info-boxen-maschinen .tab-text-container .inner-container .tab-text-row .inner .icon {
        display: none;
    }

    #content .info-boxen-maschinen .tab-text-container .inner-container .tab-text-row .info-box-item {
        border: 0px;
        background: none !important;
        margin-bottom: 0px;
    }

    #content .info-boxen-maschinen .tab-text-container .inner-container .tab-text-row .inner {
        padding: 15px 0px;
        border-top: 1px solid #D8D8D8;
    }

    #content .info-boxen-maschinen .info-box-item-container:last-child .inner {
        border-bottom: 1px solid #D8D8D8;
    }

    #content .info-boxen-maschinen .tab-text-container .inner-container .tab-text-row .inner h3 {
        font-size: 1rem;
        line-height: 1.625rem;
        margin-bottom: 10px;
    }

    #content .info-boxen-maschinen .tab-text-container .inner-container .tab-text-row .inner .text {
        font-size: 1rem;
        line-height: 1.625rem;
        margin-bottom: 0px;
    }

    #content .info-boxen-maschinen .info-box-item-container {
        padding-left: 10px;
        padding-right: 30px;
        margin-bottom: 0px;
    }

    #content .info-boxen-maschinen .info-box-item:hover {
        color: var(--ksm-color-blue);
    }

    #content .info-boxen-maschinen .info-box-item .inner .text:after,
    #content .info-boxen-maschinen .info-box-item:hover .inner .text:after {
        background: url("../images/arrow-green.svg") no-repeat;
        background-color: transparent;
        cursor: pointer;
        display: inline-block;   
        background-size: 23px 21px !important;
        background-position: center !important;
        transform: rotateZ(0deg);
        position: absolute;
        width: 20px;
        height: 20px;
        -webkit-mask: none;
        mask: none;
    }

    #content .info-boxen-maschinen .tab-text-container .inner-container .tab-text-title {
        position: relative;
        margin-bottom: 0px;
    }

    #content .info-boxen-maschinen .tab-text-container .inner-container .open-close {
        height: 0px;
        overflow: hidden;
    }

    #content .info-boxen-maschinen .tab-text-container .inner-container.open .tab-text-title { 
        margin-bottom: 15px;
    }

    #content .info-boxen-maschinen .tab-text-container .inner-container.open .open-close { 
        height: auto;
    }

    #content .info-boxen-maschinen .tab-text-container .inner-container .tab-text-title:after {
        content: "";
        display: inline-block;
        width: 16px;
        height: 16px;
        background: url("../images/icon-plus-green.svg") no-repeat;
        background-size: contain;
        background-position: center;
        position: absolute;
        top: 50%;
        transform: translate3d(0, -50%, 0);
        right: 0px;
    }

    #content .info-boxen-maschinen .tab-text-container .inner-container.open .tab-text-title:after {
        transform: translate3d(0, -50%, 0) rotateZ(45deg);
    }

    #content .text-bubble .bubble .text p {
        line-height: 2.5rem;
    }
}

@media(max-width: 767px) {

    #content .custom-content .indicator .subtitle {
        margin-bottom: 30px;
    }

    #content .custom-content .row .col-md-8 .infos > div {
        padding-left: 7.5px;
        padding-right: 7.5px;
    }

    #content .custom-content .pics-slider .item .inner .image img {
        width: 100%;
        height: 320px;
        object-fit: cover;
        object-position: center;
        min-width: 100%;
    }

    header .sub-image {
        min-height: 720px;
        width: 100%;
        z-index: -1;
        overflow: hidden;
        height: 100%;
    }

    #page-container header #header-sub {
        min-height: 720px;
        padding-bottom: 40px;
    }

    header .sub-image .mask {
        display: block;
        position: absolute;
        top: 0px;
        left: 0px;
        width: 100%;
        height: 200%;
        background: linear-gradient(180deg, #FFFFFF 0%, rgba(255,255,255,0) 100%);
    }

    #page-container header #header-sub #anchor-group {
        margin-top: 30px;
    }

    #content .timeline .timeline__content .line,
    #content .timeline .timeline__item--bottom .timeline__content .line,
    #content .timeline .timeline__item--top .timeline__content .line {
        display: none;
    }

    #content .timeline .timeline__content br {
        display: none;
    }

    #content .timeline .timeline__content strong {
        display: block;
    }

    #content .timeline .timeline__item:after {
        left: 5px;
    }

    #page-container footer #footer-logo-widget img {
        width: 100%;
        max-width: 95px;
    }

    #page-container footer {
        padding-top: 50px;
    }

    #page-container footer a,
    #page-container footer #footer-address-widget {
        font-size: 1rem;
        line-height: 1.625rem;
    }

    #page-container footer #copyright-footer,
    #page-container footer #webdesign-footer {
        font-size: 0.875rem;
        line-height: 1rem;
    }

    #page-container footer .menu-footer-menu-1-container {
        display: none;
    }

    #page-container footer .menu-footer-menu-2-container .no-mobile {
        display: none;
    }

    #page-container footer #copyright-footer {
        margin-bottom: 10px;
    }

    #page-container footer .row.first,
    #page-container footer #copyright-footer, #page-container footer #webdesign-footer {
        text-align: center;
    }

    #page-container footer .row.first {
        margin-bottom: 10px;
    }

    #page-container footer .footer-navigation {
        margin-top: 50px;
    }

    #page-container footer .footer-navigation {
        justify-content: center;
    }

    #page-container footer .footer-bg-blue {
        position: absolute;
        bottom: 0px;
        left: 0px;
        width: 100%;
        height: 47%;
        background-color: rgba(22, 56, 75, 0.15);
        display: block;
        z-index: 1;
    }

    #page-container footer  .row.first,
    #page-container footer  .row.second {
        position: relative;
        z-index: 2;
    }

    #page-container footer ul li::before {
        display: none;
    }

    #content .timeline .timeline__item--bottom,
    #content .timeline .timeline__item--top {
        padding-left: 40px;
        padding-right: 0;
        padding-top: 10px;
        padding-bottom: 10px;
    }

    #content .vorteile .item .image {
        margin-left: 0px;
        margin-right: 50px;
    }


    #bewerbung .left .text,
    #bewerbung .left {
        margin-bottom: 20px;
    }

    #content #referenzen-filter .filter .inner .filter-items {
        display: flex;
        flex-direction: column;
    }

    #content #referenzen-filter .filter .inner .filter-items .item {
        margin-bottom: 20px;
        margin-left: 0px;
    }

    #content .contact-box .image-container {
        height: 250px;
    }

    #content .referenzen-details .indicator,
    #content .referenzen-details .part-2-infos .company {
        margin-bottom: 30px;
    }

    #page-container header #breadcrumb span.active, #page-container header #breadcrumb a {
        margin-bottom: 10px;
    }

    #content .custom-content .pics-slider,
    #content .referenzen-details .pics-slider {
        width: 100%;
    }

    #content .custom-content .pics-slider img,
    #content .referenzen-details .pics-slider  img {
        max-width: 400px;
    }

    #content .anwendungsfall .info-box-item .inner h3 {
        font-size: 1.75rem;
        line-height: 2rem;
    }

    #content .anwendungsfall .info-box-item .inner {
        padding: 40px;
    }

    #content .anwendungsfall .info-box-item .inner .text:after {
        right: -25px;
    }

    #main-navigation .callout-image-widget {
        display: none;
    }

    #main-navigation .container .row.main-row-mobile {
        flex-direction: column-reverse;
        height: 100%;
    }

    #main-navigation .callout {
        padding: 40px 15px;
        background-color: var(--ksm-color-green);
    }

    #main-navigation {
        background-color: var(--ksm-nav-bg-color);
    }

    #main-navigation .container .main-menu-footer-container-row .footer-row-empty, 
    #main-navigation .logo-language-row .language {
        background-color: transparent;
    }

    #main-navigation .callout h1 {
        font-size: 1.75rem;
        line-height: 2rem;
        margin-bottom: 20px;
    }

    #main-navigation .callout p {
        margin-bottom: 0px;
    }

    #main-navigation .logo-language-row .logo #header-logo-home-widget {
        display: none;
    }

    #main-navigation .logo-language-row .logo #header-logo-home-mobile-widget {
        display: block;
    }

    #main-navigation .container {
        height: 100%;
    }

    #main-navigation .container .row {
        height: auto;
    }

    #main-navigation .container .row.logo-language-row {
        max-height: inherit;
        display: flex;
    }

    #main-navigation .logo-language-row .logo {
        width: 40%;
    }

    #main-navigation .logo-language-row .language {
        width: 60%;
        padding-left: 0px;
        display: flex;
        justify-content: flex-end;
        padding-right: 95px;
        margin-top: 10px;
    
    }

    #main-navigation .logo-language-row .language a {
        width: 30px;
        height: 30px;
        font-size: 1.125rem;
        line-height: 30px;
    }

    #main-navigation .logo-language-row .logo #header-logo-home-mobile-widget img {
        margin-top: 30px;
        height: 50px;
        width: auto;
    }

    #main-navigation .container .main-menu-container {
        flex: 1;
    }

    #main-navigation .mm-menu .mm-listitem__text {
        padding: 0px;
    }

    #main-navigation .container .main-menu-footer-container-row #main-menu-footer {
        padding: 0px;
    }

    #main-navigation .container .main-menu-container #main-menu {
        height: calc(100% - 139px);
        padding-bottom: 28px;

    }

    #main-navigation .container .main-menu-footer-container-row {
        height: 139px;
    }

    #main-navigation .container .main-menu-footer-container-row .main-menu-footer-container {
        padding-top: 0;
        padding-bottom: 39px;
        height: 139px;
    }

    #main-navigation .container .main-menu-footer-container-row #main-menu-footer li {
        display: block;
    }

    #main-navigation .mm-menu a:before {
        left: 5px;
    }

    #main-navigation .mm-menu .mm-listitem.no-mobile {
        display: none;
    }

    #header-logo-home-mobile-widget .wp-block-image {
        margin-bottom: 0px;
    }

    #main-navigation .container .main-menu-footer-container-row #main-menu-footer li a {
        font-size: 1rem;
        line-height: 2.125rem;
    }

    #main-navigation .container .main-menu-footer-container-row #main-menu-footer li:after {
        display: none;
    }

    #main-navigation .callout:before {
        content: "";
        position: absolute;
        top: 0;
        bottom: 0;
        left: -100%;
        width: 100%;
        display: block;
        background-color: var(--ksm-color-green);
    }

    #main-navigation .callout:after {
        content: "";
        position: absolute;
        top: 0;
        bottom: 0;
        right: -100%;
        width: 100%;
        display: block;
        background-color: var(--ksm-color-green);
    }

    #content .text-info-boxen .text-parts {
        display: block;
    }

    #content .text-info-boxen .part-right, #content .text-info-boxen .part-left {
        width: 100%;
        max-width: inherit;
    }

    #content .text-info-boxen .part-left {
        padding-right: 0px;
    }

    #content .text-info-boxen .part-right {
        padding-left: 0px;
    }

    #referenzen a.button-link {
        margin-top: 50px;
        display: block;
    }

    .text-links-icons-bild-rechts .bild-text-container a.button-link {
        margin-top: 15px;
        display: block;
        text-align: center;
    }

    #content .info-boxen .info-box-item {
        height: auto;
        min-height: 300px;
    }

    #content .info-boxen .info-box-item:hover .last-visible {
        position: relative;
    }

    .text-links-icons-bild-rechts .item {
        width: 50%;
    }

    .text-links-icons-bild-rechts .items .show-mobile a.button-link {
        display: block;
    }

    #page-container header.home .home-image-mask {
        width: 110%;
        height: 570px;
    }

    #page-container header.home #header-logo-home-widget {
        margin-top: 30px;
        margin-bottom: 60px;
    }

    #page-container header.home #header-logo-home-widget img {
        height: 50px;
        width: auto;
    }

    #page-container header.home .subtitle {
        font-size: 1.25rem;
        line-height: 1.875rem;
        margin-bottom: 30px;
    }

    #page-container header.home h1 {
        margin-bottom: 30px;
    }

    #page-container header.home {
        height: 690px;
    }

    #page-container header.home .home-image {
        background-position: 55% !important;
    }

    #content .scroll-indicator-content .part-2 .bild .item .text.show-desktop {
        display: none;
    }

    #content .scroll-indicator-content .part-2 .bild .item-mobile {
        width: 315px;
        padding: 22px 45px 15px 20px;
        box-shadow: 0 2px 10px 0 rgb(6 86 94 / 6%);
        background-color: white;
        display: none;
    }

    #content .scroll-indicator-content .part-2 .bild .item-mobile.open {
        display: block;
        width: 100%;
    }

    #content .scroll-indicator-content .part-2 .bild .item-mobile a {
        color: var(--ksm-color-green);
        text-decoration: none;
        font-size: 1.25rem;
        line-height: 1.5rem;
        font-weight: 500;
        position: relative;        
    }

    #content .scroll-indicator-content .part-2 .bild .item-mobile a:after {
        content: "";
        display: inline-block;
        background: url(../images/corner.svg) no-repeat;
        background-position: center;
        background-size: contain;
        width: 14px;
        height: 14px;
        position: relative;
        top: 0px;
        left: 0px;
        transform: rotateZ(135deg);
        margin-left: 10px;
    }

    #content .scroll-indicator-content .part-3 .video iframe, #content .scroll-indicator-content .part-3 .video video {
        height: 250px;
    }

    #main-navigation .mm-menu .current-menu-parent .mm-listitem__text, #main-navigation .mm-menu .current-menu-item .mm-listitem__text {
        padding-left: 20px;
    }

    .bild-text-infos .infos .item {
        margin-bottom: 15px;
    }

    .bild-text-infos .infos .item .title {
        font-size: 1.75rem;
        line-height: 2rem;
    }
}

@media(max-width: 575px) {
    #content .contact-box .bild {
        left: -2px;
    }

    #page-container header.home .home-image-mask {
        background-position: 70% !important; 
    }

    #page-container header #header-sub #anchor-group {
        display: flex;
        flex-direction: column;
    }

    #page-container header #header-sub #anchor-group .anchor-button-indicator,
    #page-container header #header-sub #anchor-group .anchor-button {
        display: inline-block;
        margin-bottom: 10px;
        margin-left: 0px;
    }

    #page-container header #header-sub #anchor-group .anchor-button-indicator {
        display: inline-block;
        margin-bottom: 10px;
        margin-left: 0px;
        width: 120px;
        margin-right: 10px;
        text-align: center;
    }

    #content .custom-content .pics-slider .item .subtitle {
        display: none;
    }
}




