@font-face {
    font-family: 'Interstate Mono';
    src: url("/static/fonts/Interstate Mono_0.ttf");
}

@font-face {
    font-family: 'Interstate Mono';
    src: url("/static/fonts/Interstate Mono Bold_0.ttf");
    font-weight: bold;
}

@font-face {
    font-family: 'Interstate Mono';
    src: url("/static/fonts/Interstate Mono - Lgt.ttf") format('truetype');
    src: url("/static/fonts/Interstate Mono - Lgt.woff") format('woff');
    font-weight: 200;
}

@font-face {
    font-family: 'Interstate Cond Mono';
    src: url("/static/fonts/Interstate Cond Mono Bold.ttf") format('truetype');
    src: url("/static/fonts/Interstate Cond Mono Bold.woff") format('woff');
    font-weight: bold;
}

@font-face {
    font-family: 'Interstate Cond Mono';
    src: url("/static/fonts/Interstate Cond Mono - Lgt.ttf") format('truetype');
    src: url("/static/fonts/Interstate Cond Mono - Lgt.woff") format('woff');
    font-weight: 200;
}

@font-face {
    font-family: 'Pontiac Inline Regular';
    src: url("/static/fonts/PontiacInlineRegular.otf") format('opentype');
    src: url("/static/fonts/PontiacInlineRegular.woff") format('woff');
}

.cms-toolbar-expanded .menu-wrapper {
    top:45px;
}

a[data-lightbox] {
    position:relative;    
}

a[data-lightbox]::before {
    position:absolute;    
    content:'';
    left:0;
    right:0;
    top:0;
    bottom:0;
    background: rgba(0,0,0,.5);
    opacity:0;
    transition:.2s all;
}

a[data-lightbox]::after {
    content: "\f002";
    font-family: 'Font Awesome\ 5 Free';
    font-weight: 900;
    position: absolute;
    top: 50%;
    left: 50%;
    font-size: 46px;
    color: #F2F5F7;
    transform: translate(-50%,-50%);
    opacity:0;
    transition:.2s all;
}

a[data-lightbox]:hover::before,
a[data-lightbox]:hover::after {
    opacity:1;
}


html {
    scroll-behavior: smooth;
}

html, body {
    height: 100%;
}

body {
    color: #585858;
    font-family: 'Interstate Mono', Helvetica, Arial, sans-serif;
    display: flex;
    flex-direction: column;
}

body > .row {
    margin-left: 0;
    margin-right: 0;
}

p,
.base-content li {
    font-size:16px;
}

.text-bold,
.title,
.ansprechpartner .name p {
    font-size: 17px;
}

.base-content .container {
    padding-bottom: 20px;
}

.base-content > .row {
    margin-left: 0;
    margin-right: 0;
}

.navbar {
    border: none;
}

.navbar-brand img {
    height: 60px;
}

.meta-menu {
    white-space: nowrap;
}

.meta-menu li a:after {
    content: "|";
    margin-left: 15px;
    margin-right: -15px;
}

.meta-menu li:last-child a:after,
.meta-menu li.no-separator a:after {
    content: "";
}

.main-menu .nav > li > a {
    text-transform: uppercase;
    font-weight: bold;
    padding: 5px 15px;
}

.carousel-caption {
    top: 0;
    text-transform: uppercase;
    text-align: left;
    font-weight: lighter;
}

.carousel-caption h1 {
    color: white;
    font-size: 5.5em;
    margin-left: -1em;    
    margin-bottom: 0;
    margin-top: 8vw;
}

.industries .carousel-style-startseite.new .carousel-caption h1 {
    margin-left: 0;
}

.industries .carousel-style-startseite .carousel-caption h2 {
    color: white;
    font-size: 5em;
    margin-bottom: 0;
    margin-top: 8vw;
}

.industries .carousel-style-startseite.new .carousel-caption h1 {
    margin-left: 0;
}

.carousel-caption p {
    font-size: 2.5em;
}

.btn {
    border-radius: 0;
}

h1, h2 {
    font-family: 'Pontiac Inline Regular', Helvetica, Arial, sans-serif;
}

h1 {
    margin-top: 1.5em;
    margin-bottom: 1em;
}

h2 {
    font-size: 3em;
    margin-top: 1.5em;
    margin-bottom: 1em;
}

h3 {
    font-size: 1.3em;
}

.industries h2 {
    font-size:2.7em;
    margin-top:1.3em;
}

.industries h3,
.industries h4 {
    margin-top: 1.4em;
}

.industries h3 {
    font-size: 1.45em;    
}

.industries h4 {
    font-size: 1.2em;    
    margin-bottom: 10px;
    color: #5d9cd0;
}

.text-bold,
h3,
.ansprechpartner .name,
.standorte .title {
    text-transform: uppercase;
    color: #585858;    
}

.text-bold,
.ansprechpartner .name,
.standorte .title {
    font-weight: bold;
}

body.industries .ansprechpartner img {
    border-radius:50%;
}

h4 {
    text-transform: uppercase;
    margin-bottom: 40px;
}

.light-bg {
    background-color: #F2F5F7;
}

.icons img {
    max-height:40px;
}

.slope-top-left,
.slope-top-right,
.slope-bottom-left,
.slope-bottom-right {
    overflow: hidden;
    max-width: 100vw;
}

.slope-top-left:before,
.slope-top-right:before {
    content: '';
    top: 130px;
    border-top: 5vw solid white; /* <-- Angle */
}

.slope-bottom-left:after,
.slope-bottom-right:after {
    content: '';
    bottom: 0;
    border-bottom: 5vw solid white; /* <-- Angle */
}

.slope-top-right:before,
.slope-bottom-left:after {
    border-left: 100vw solid transparent;
}

.slope-top-left:before,
.slope-bottom-right:after {
    border-right: 100vw solid transparent;
}

.slope-top-left,
.slope-top-right {
    margin-top: 25px;
}

.carousel-style-startseite {
    margin-top: 0;
    position: relative;
    overflow: hidden;
    max-width: 100vw;
}

.carousel-style-startseite .carousel-inner,
.carousel-style-startseite .item {
    height: 100%;
    width: 100%;
}

.carousel-style-startseite .item {
    z-index: 0;
}

.carousel-style-startseite:before,
.header-image:before {
    position: absolute;
    z-index: 1;
}

.carousel-style-startseite .item.dark-bg::after {
    content:'';
    background:rgba(0,0,0,.3);
    position:absolute;
    top:0;
    bottom:0;
    left:0;
    right:0;
}

.header-image {
    position: relative;
    height: 27vw;
    margin-top: 130px;
}

.digital .header-image {
    height:30vw;
}

.digital .header-image.big,
.industries .header-image.big {
    height: calc(65vh - 130px);
    min-height: 500px;
}

.digital .header-image.big img,
.industries .header-image.big img {
    object-fit: cover;
    height: 100%;
}

.header-image:before {
    top: 0;
}

.header-image img {
    width: 100%;
}

.header-image > .row {
    position: absolute;
    bottom: 0;
    width: 100%;  
    margin:0;  
}

.header-image > .row .lead,
.header-image > .row h2 {
    color:#fff;
}

.header-image > .row h2 {
    margin-bottom: 15px;
}

.header-image > .row ol.lead {
    margin-bottom:0;
}

#components_calculator_wrapper {
    background:#fff;
    border-radius:15px;
}

#components_calculator:hover {
    cursor:pointer;
}

#components_calculator_wrapper.active,
#components_calculator_wrapper:hover {
    background:#ccc;
}

#components_calculator_wrapper.active::before {
    font-size:50px;
}

#components_calculator {
    opacity:0;
    padding: 35px 0;
    width: 100%;    
}

#components_calculator_wrapper::before {
    content: "\f382";
    font-family: Font Awesome\ 5 Free;
    font-weight: 900;
    top:50%;
    left:50%;
    transform:translate(-50%,-50%);
    position:absolute;
    font-size: 40px;
    color:#000;
}

.footer {
    margin-top:auto;
    padding-top: 50px;
    font-weight: lighter;    
}

.footer p {
    font-size: 14px;
    margin-bottom: 20px;
}

.footer.dark-bg a:not(.btn-secondary) {
    color: white;
}

.footer a:hover {
    text-decoration: underline;
}

.footer dt {
    text-transform: uppercase;
    margin-bottom: 1em;
    line-height: 2em;
}

.footer dd {
    line-height: 1.7em;
}

.shop a {
    color: #868992;
}

.shop .footer,
.shop .dropdown-menu > li > a:focus, .shop .dropdown-menu > li > a:hover,
.shop .carousel .carousel-indicators li.active,
.shop .btn-primary,
.shop #sidebar a, .shop #sidebar a:hover, .shop #sidebar a:focus,
.shop .nav > li > a.btn-primary:focus, .shop .nav > li > a.btn-primary:hover {
    background:#3ba285;
    text-decoration:none;
}

.shop .btn-primary,
.shop a.btn-primary:hover, .shop a.btn-primary:focus {
    border: none;
    color:#fff;
}

.shop h1,
.shop h2,
.shop h3,
.shop .newsletter-btn a,
.shop a:hover, .shop a:focus,
.shop .open > .dropdown-toggle,
.shop .text-primary {
    color:#3ba285;
}

.logo-footer {
    max-width: 200px;
    margin-bottom: 2em;
}

.digital .teaser-link .text-bold {
    font-size:12px;
}

.digital .teaser-link a:hover {
    background:transparent;
}

.teaser-link {
    display: block;
    background: white;
    box-shadow: 10px 10px 28px 10px rgba(237, 237, 237, 0.75);
    margin-bottom: 25px;
}

.teaser-link img {
    margin-bottom: 6px;
}

.teaser-link p,
.teaser-body a {
    padding: 3px 6px;
}

.teaser-body a:after {
    content: "\f30b";
    float: right;
    font-family: Font Awesome\ 5 Free;
    font-weight: 900;
}

.teaser-link.transparent {
    background: none;
    box-shadow: none;
}

.teaser-link.transparent p,
.teaser-link.transparent a {
    padding-left: 0;
}

.teaser-body a {
    display: block;
    border-bottom: 1px solid #d3d3d354;
    overflow: hidden;
}

.teaser-link:hover p {
    text-decoration: underline;
}

.industries .teaser-link:hover p {
    text-decoration: none;
}

.industries .teaser-body > p {
    color:#868992;
}

.industries .teaser-body ul {
    padding: 0 20px 10px 25px;
}

.industries .teaser-body li {
    font-size: 14px;
}

.industries .teaser-link > a:hover {
    background:#5d9cd0;
    display: block;    
}

.industries .teaser-link > a:hover > p {
    color: #fff;
}

.teaser-link.inactive:hover p {
    text-decoration: none;
}

.news.border-right {
    border-right: 1px solid lightgray;
}

.news .date {
    margin-bottom: 15px;
}

.news .title {
    margin-top: 20px;
    margin-bottom: 10px;
    text-transform: uppercase;
}

.btn-lg {
    min-width: 130px;
    text-transform: capitalize;
}

.carousel-style-section {
    padding-bottom: 70px;
}

.carousel-style-section h3 {
    font-weight: normal;
}

.carousel .carousel-control {
    background: none;
    width: 10%;
}

.carousel .carousel-control.left {
    left:-10%
}

.carousel .carousel-control.right {
    right:-10%
}

.carousel .carousel-indicators {
    bottom: 10px;
}

.carousel .carousel-indicators li {
    width: 20px;
    height: 20px;
    margin: 1px 5px;
}

.carousel-style-startseite .carousel-indicators {
    text-align: center;
    z-index: 0;
}

.carousel-style-startseite .carousel-indicators li {
    background-color: white;
    border: none;
}

.carousel-style-section .carousel-indicators li {
    background-color: #585858;
}

.carousel .carousel-indicators li.active {
    margin: 1px 5px;
}

/* Override bootstrap */
.nav > li > a:hover {
    background-color: inherit;
}

.nav > li > a:focus, .nav > li > a:hover {
    background-color: inherit;
    outline: none;
}

.nav .open > a, .nav .open > a:focus, .nav .open > a:hover {
    background-color: inherit;
    border-color: inherit;
}

.dropdown-menu {
    border-radius: 0;
    border: 0;
    box-shadow: none;
}

.dropdown-menu > li > a {
    font-weight: lighter;
    padding-top: 0.5em;
    padding-bottom: 0.5em;
    border-top: 1px solid lightgray !important;
    display: flex;
    justify-content: space-between;
}

.panel {
    border: none;
    box-shadow: none;
    background: #F2F5F7;
    border-radius: 0;
}

.panel-body {
    padding: 8px 5px 8px 5px;
}

.panel-body p {
    margin-bottom: 0;
    font-size:14px;
}

.light-bg .panel {
    background: white;
}

.panel-body img {
    float: left;
    max-width: 3em;
    margin-right: 1em;
}

.ansprechpartner .row {
    text-align:center;
}

.ansprechpartner .row,
.standorte .row {
    margin-bottom: 40px;
    line-height: 1.7em;
}
.ansprechpartner img,
.standorte img {
    margin-bottom: 1em;
}

.ansprechpartner .name p,
.standorte .title p {
    margin-top: 10px;
    margin-bottom: 3px;
}

.ansprechpartner .role,
.standorte .subtitle {
    text-transform: uppercase;
}

.btn-secondary {
    background: white;
}

.dark-bg,
.dark-bg h2,
.dark-bg h3 {
    color: white;
}

.dark-bg .icons a {
    color:#fff;
}

.dark-bg .icons a:hover {
    text-decoration:underline;
}

.carousel-control .icon-prev,
.carousel-control .icon-next {
    width: 1.5em;
    height: auto;
    transform: translateY(-50%);
    margin-top: 0;
}

.copyright {
    text-align: center;
}

.navbar-collapse {
    border: none;
}

.navbar-header > li {
    display: none;
}

.menu-wrapper {
    position: absolute;
    top: 0;
    width: 100%;
    height: 130px;
    z-index: 2;
}

.carousel-style-startseite {
    min-height: 990px;
    height: 100vh;
    padding-top: 130px;
}

.unsere-unternehmen-icons div[class^='col']{
    text-align:center;
}

.unsere-unternehmen-icons img {
    max-height: 70px;
}

/* Re-map Font Awesome 4 arrow to "long-arrow-alt-right" from FA 5 */
.fa-arrow-right:before {
    content: "\f30b";
    padding-left: 5px;
}

.navbar-toggle.collapsed > i:before {
    content: "\f0c9"  /* fa-bars */
}

.navbar-toggle {
    width: 2em;
    font-size: 1.5em;
    padding: 9px 10px;
}

.footer-line {
    height:50px;
    border-bottom: 1px solid white;
}

.carousel-controls {
    position: absolute;
    bottom: 70px;
    left: 0;
    right: 0;
    top: 0;
}

/* Sticky navbar */

.menu-wrapper {
    position: fixed;
    z-index: 1030;
    background: white;
}

#navbar {
    background: white;
}

blockquote {
    padding: 0;
    margin: 0 0 20px 0;
    font-weight: 300;
    line-height: 1.4;
    font-size: 16px;
    border: 0;
}

.industries .text-primary a {
    color: #5D9CD0;
}

.news:nth-child(3n+1) {
    clear:both;
}

.news {
    margin-bottom:30px;
}

.cc-message a {
    text-decoration:underline !important;
    color:#fff !important;
}

.cc-message {
    margin-bottom:0 !important;
}

.cc-compliance a {
    text-decoration:none !important;
}

.gallery .gallery-image-wrapper {
    margin-bottom: 30px;
}

.gallery .gallery-image-wrapper .gallery-image {
    cursor: pointer;
    padding-bottom: 66.6666666%;
    background-size: cover;
    background-position: center;
}

#gallery-modal .modal-dialog,
#calculator_modal .modal-dialog,
#upload_modal .modal-dialog {
    width:80%;
}

#gallery-modal img {
    max-width:100%;
}

.video-js .vjs-menu-button-inline.vjs-slider-active,.video-js .vjs-menu-button-inline:focus,.video-js .vjs-menu-button-inline:hover,.video-js.vjs-no-flex .vjs-menu-button-inline{width:10em}.video-js .vjs-controls-disabled .vjs-big-play-button{display:none!important}.video-js .vjs-control{width:3em}.video-js .vjs-menu-button-inline:before{width:1.5em}.vjs-menu-button-inline .vjs-menu{left:3em}.video-js .vjs-load-progress div,.vjs-seeking .vjs-big-play-button,.vjs-waiting .vjs-big-play-button{display:none!important}.video-js .vjs-mouse-display:after,.video-js .vjs-play-progress:after{padding:0 .4em .3em}.video-js.vjs-ended .vjs-loading-spinner{display:none}.video-js.vjs-ended .vjs-big-play-button{display:block!important}.video-js.vjs-paused .vjs-big-play-button,.vjs-paused.vjs-has-started.video-js .vjs-big-play-button,video-js.vjs-ended .vjs-big-play-button{display:block}.video-js .vjs-big-play-button{top:50%;left:50%;background-color:rgba(0,0,0,.35);font-size:3.5em;border-radius:50%}.video-js .vjs-big-play-button:active,.video-js .vjs-big-play-button:focus,.video-js:hover .vjs-big-play-button{background-color:rgba(0,0,0,.35)}.video-js .vjs-loading-spinner{border-color:rgba(255,255,255,.7)}.video-js .vjs-control-bar2{background-color:transparent}.video-js .vjs-control-bar{background-color:rgba(0,0,0,0)!important;color:#fff;font-size:18px}.video-js .vjs-play-progress,.video-js .vjs-volume-level{background-color:#2483d5}.video-js .vjs-big-play-button{height:2em!important;width:2em!important;line-height:1.9em!important;margin-top:-1em!important;margin-left:-1em;border-width:3px}.video-js .vjs-big-play-button:before,.video-js .vjs-icon-play:before{font-size:50px}.video-js .vjs-progress-holder{font-size:1.7em;border-radius:10px}.video-js .vjs-progress-holder .vjs-load-progress,.video-js .vjs-progress-holder .vjs-load-progress div,.video-js .vjs-progress-holder .vjs-play-progress,.video-js .vjs-slider,.vjs-volume-level{border-radius:10px}.video-js .vjs-load-progress{background:rgba(255,255,255,.5)}

.spacer.spacer-xs {
    height: 8px;
}
.spacer.spacer-sm {
    height: 16px;
}
.spacer.spacer-md {
    height: 32px;
}
.spacer.spacer-lg {
    height: 64px;
}

#sidebar {    
    transform: rotate(-90deg);
    transform-origin: left;
    width: 200px;
    margin-left: 22px;
    margin-top: 25vh;        
    text-align: center;
}

#sidebar a {
    color: #FFFFFF;
    padding: 10px;
    background: #5D9CD0;
    display: block;
    border-bottom-right-radius: 4px;
    border-bottom-left-radius: 4px;
    font-size: 17px;
}

#sidebar a:hover {
    background:#3884c2;
}    

.faq table tr > td:first-child {
    width:25%;
}

.social .fab {
    font-size: 28px;
}

.social > a {
    float: left;
    margin: 7px;
    width: 31px;
    text-align: center;
}

.social > a:nth-child(4n+1) {
    clear: both;
}

footer .subtitle {
    margin-top:1em;    
}

.digital .dark-bg a.btn-primary {
    color:#fff;
}

.digital .dark-bg a.btn-primary {
    background:#3884c2;
}

.digital .dark-bg a.btn-primary:hover,
.digital .dark-bg a.btn-primary:focus {
    background:#0e4167;
}

.keyvisual .d-flex {
    display:flex;
    align-items: flex-end;
}

.keyvisual .d-flex > div {
    width:100%;    
}

.keyvisual .d-flex.second {
    align-items:flex-start;
    margin-top:15px;    
}

.keyvisual {
    margin-top:0;    
}

.keyvisual h1 {
    font-size: 5.5em;
    margin-top:20px;
    text-align:
    center;    
    color:#002C47;
    margin-bottom: 32px;
}

.keyvisual h2 {
    text-align:center;
    margin-top: 0;
    font-size: 26px;
    margin-bottom: 5px;
}

.keyvisual p {
    text-align:center;
    color:#002C47;
    font-weight:bold;
}

.keyvisual .dark-grid {
    background:#002C47;
    color:#fff;
    padding: 20px;    
    margin:0;
    border-radius:0;
    border:none;
    box-shadow: none;
    display: flex;
    flex-direction: column;
    align-items: center;
    transition:.1s;
}

.keyvisual a:hover > .dark-grid {
    background: #5d9cd0;
}

.keyvisual .dark-grid h3 {    
    color:#fff;
    font-weight:bold;
    margin-bottom:5px;
    margin-top:10px;
    text-align: center;    
}

.keyvisual .dark-grid h3 + p {
    font-weight:bold;
}

.keyvisual .dark-grid p { 
    color:#fff;
    font-weight:
    normal;
    font-size: 14px;
}

.keyvisual .dark-grid img {
    width:75px;
    margin-top: auto;
}

.keyvisual .d-flex.second h2 {        
    margin-top:5px;
    margin-bottom:0;
}

.keyvisual .d-flex.second img {
    margin-bottom:
    auto;
    margin-top: 0;
}

.keyvisual-logo {
    position: absolute;
    z-index:1;
    transform: translate(-50%,-50%);
    left: 50%;    
    width: 200px;
}

.keyvisual-logo:hover {
    transform: translate(-50%,-50%) scale(1.03);
}

.list-group {
    margin: 10px -5px;
    display: flex;
    transition:all .3s ease;
    padding: 0 !important;
}

.list-group .item {
    margin: 0 5px;
    display: flex;
}

.list-group .item a {
    border-radius: 4px;
    background: #5d9cd0;
    color: #fff;
    padding: 12px;
    line-height: 17px;
    display: flex;
    align-items: center;
}

.list-group .item a:hover {
    background:#3884c2;    
}

.affix {
    top: 0;
    z-index: 1;
    transform:translateY(130px);
}

body.affixed {
    margin-top: 50px;
}
    



    
@media (max-width: 400px) {
    .hidden-xxs {
        display: none;
    }
}

@media (max-width: 767px) {  
    p,
    .base-content li,
    footer,
    .dropdown-menu > li > a {
        font-size:16px;
    }
    
    .industries h1 {
        margin-top:20px;
    }
    
    .industries h1,
    .industries h2,
    .industries h3 {        
        hyphens:auto;
    }

    .carousel {
        padding-bottom:0;
    }
    
    .carousel .item img {
        margin:20px 0;
    }
    .cc-message {
        margin: 10px !important;
    }

    .cc-message a {
        padding:0;
        opacity: 1;
    }
    
    .list-group {
        flex-wrap:wrap;
    }
    
    .list-group > .item {
        margin-bottom: 10px;
        flex-basis: 100%;
    }

    .list-group > .item > a {
        width:100%;
        padding: 16px;
        line-height: normal;
    }
    
    .dropdown-menu > li > a {
        white-space:normal;
        padding: 10px 15px 10px 25px !important;
    }
    
    .keyvisual h1 {
        font-size:36px;
    }

    .keyvisual .d-flex {
        flex-direction:column;
    }

    .keyvisual .d-flex > div:nth-child(1) {
        order: 2;
    }

    .keyvisual .d-flex > div:nth-child(2) {
        order: 1;
    }

    .keyvisual .d-flex > div:nth-child(3) {
        order: 3;
    }

    .keyvisual .d-flex > div:nth-child(4) {
        order: 4;
    }

    .keyvisual .d-flex.second > div:nth-child(1) {
        order: 2;
    }

    .keyvisual .d-flex.second > div:nth-child(2) {
        order: 1;
        display: flex;
        flex-direction: column;
    }

    .keyvisual .d-flex.second > div:nth-child(2) > h2 {        
        order: 1;
    }

    .keyvisual .d-flex.second > div:nth-child(2) > a {
        order: 2;
    }    

    .keyvisual .d-flex.second > div:nth-child(3) {
        order: 3;
        display: flex;
        flex-direction: column;
    }

    .keyvisual .d-flex.second > div:nth-child(3) > h2 {
        order: 1;
    }

    .keyvisual .d-flex.second > div:nth-child(3) > a {
        order: 2;
    }

    .keyvisual .d-flex.second > div:nth-child(4) {
        order: 4;
    }

    .keyvisual .d-flex.second {
        margin-top: 0;
    }

    .keyvisual .d-flex.second > div > h2 {
        margin-top:0;
        margin-bottom:5px;
    }

    .keyvisual .d-flex.second > div > a > .dark-grid > img {
        order:1;
    }

    .keyvisual-logo {
        display:none;
    }

    .keyvisual .d-flex > div > img {
        margin-bottom: 40px !important;
    }

    .industries .carousel-style-startseite.new {
        height: 100vw;
        min-height: auto;
        padding-top: 0;
    }

    .industries .carousel-style-startseite.new.slope-top-right:before {
        top:0;
        border-top: 5vw solid #F2F5F7;
    }
    
    #sidebar {
        transform:none;
        bottom:0;
        position:fixed;
        width:100%;
        margin:0;
    }
    
    #sidebar a {
        border-radius:0;
    }        
    
    .ansprechpartner .role p {
        margin-bottom: 5px;
    }
    
    .ansprechpartner a {
        margin: 8px 0;
        font-size: 1.2em;
        display: inline-block;
        padding: 2px 0;
    }

    h2 {
        font-size: 2.2em;
    }

    .navbar {
        margin-bottom: 0;
    }

    body.navbar-shown .carousel-style-startseite:before {
        border-top: 5vw solid #F2F5F7;
    }

    .newsletter-btn {
        text-align: center;
        margin-top: 40px;
    }

    .main-main-menu > li > a {
        text-align: center;
        font-size: 1.5em;
        padding: 8px 15px !important;
    }

    .main-menu .meta-menu > li {
        float: left;
    }

    .main-menu .meta-menu > li > a {
        font-size: 0.9em;
        text-transform: none;
    }

    #navbar {
       background-color: #F2F5F7;
        overflow-x: hidden;
        width: 100%;
        position: absolute;
        top: 48px;
        overflow-y: scroll;
        height: calc(100vh - 100px);
    }

    #navbar:before {
        border-left: 100vw solid transparent;
        content: '';
        top: 0;
        border-top: 5vw solid white;
    }

    .navbar-header {
        margin-top: -20px;
    }

    .navbar-header > li {
        display: block;
        float: right;
        padding: 9px 7px;
        margin-top: 8px;
        margin-right: 10px;
        margin-bottom: 8px;
    }

    .navbar-brand img {
        margin-top: -27px;
        max-height: 14vw;
        position: absolute;
    }

    .carousel-caption {
        font-size: 1.3vw;
    }

    .carousel-caption h1 {
        font-size: 6.5em;
        margin-bottom: 0.5em;
    }

    .industries .carousel-style-startseite .carousel-caption h2 {
        font-size: 6.5em;
    }

    .carousel-caption p,
    .digital .mobile-extended .carousel-caption h3 {
        font-size: 3.5em;
    }

    .digital .mobile-extended .carousel-caption span:not(.fa) {
        font-size: 3em;
    }

    .digital .mobile-extended .carousel-caption .btn {
        margin-bottom:20px;
    }

    .header-image {
        margin-top: 0;
    }
    .header-image img {
        display: none;
    }

    .slope-top-left:before,
    .slope-top-right:before {
        top: 99px;
    }

    .menu-wrapper {
        height: 100px;
    }    

    .carousel-style-startseite,
    .keyvisual {
        padding-top: 100px;
    }

    .digital .carousel-style-startseite.mobile-extended .carousel-caption {
        position:relative;
        left: auto;
        right: auto;
        padding: 50px 30px 20px;
    }

    .digital .carousel-style-startseite.mobile-extended .carousel-caption h1 {
        margin:auto;
    }

    .digital .carousel-style-startseite.mobile-extended {
        min-height:auto;
        height:auto;
    }

    .row.icons > div,
    .news {
        padding-bottom: 40px;
    }

    .news {
        margin-bottom:0;
    }

    .teaser-link {
        margin-bottom: 40px;
    }

    .footer-line {
        width: 90vw;
        margin: 0 auto;
    }
    
    .carousel .carousel-control.left,
    .carousel .carousel-control.right {
        display:none;
    }        
}

@media (min-width: 768px) {   
    .industries .carousel-style-startseite,
    .shop .carousel-style-startseite {
        min-height: 800px;
        height: 80vh;                
        padding-top: 130px;
    }        

    .industries .carousel-style-startseite.new {
        background:#F2F5F7;
        padding-top: 30px;
        min-height: 450px;
        height: 55vh;
    }

    .industries .carousel-style-startseite.new.slope-top-right:before {
        border-top: 5vw solid #F2F5F7;
        top: 30px;
    }

    .keyvisual {
        padding-top:130px;
    }
    
    blockquote {
        font-size: 21px;
    }
    
    .navbar-header {
        height: 0;
    }
    .carousel-caption {
        font-size: 10px;
    }

    .menu-wrapper {
        font-size: 0.8em;
    }

    .main-menu .nav {
        text-align: right;
        padding-left: 250px;
    }

    .main-menu .nav > li {
        display: inline-block;
        float: none;
    }

    .copyright {
        text-align: right;
        padding-right: 50px;
    }

    .newsletter-btn a {
        width: 100%;
    }

    .carousel-style-startseite .carousel-indicators {
        text-align: right;
        right: 150px;
        left: auto;
    }

    h1 {
        font-size: 3.3em;
    }

    .navbar-brand {
        margin-top: -90px;
    }

    .keyvisual .container,
    .keyvisual div[class^='col-'] {
        padding-left:7.5px;
        padding-right:7.5px;
    }

    .keyvisual .dark-grid {        
        aspect-ratio: 1 / 1;        
    }
}

/* Medium devices (desktops, 992px and up) */
@media (min-width: 992px) {
    .carousel-caption {
        font-size: 12px;
    }

    .menu-wrapper {
        font-size: inherit;
    }
}

/* Large devices (large desktops, 1200px and up) */
@media (min-width: 1200px) {                
    .carousel-caption {
        font-size: 14px;
        right: 15%;
        left: 15%;        
    }
    
    .industries .carousel-style-startseite.new .carousel-caption {
        text-align: center;
    }

    .navbar-brand {
        position: absolute;
        top: 25px;
    }

    .navbar-brand img {
        height: 90px;
    }
}

.mouse-icon {
    width: 40px;
    height: 70px;
    border: 1.5px solid white;
    border-radius: 30px;
    cursor: pointer;
    text-align: center;
    position: absolute;
    bottom: 30px;
    left: 50%;
    right: 50%;
    z-index: 1;
}

.mouse-wheel {
    height: 18px;
    margin: 10px auto;
    display: block;
    width: 10px;
    background-color: white;
    border-radius: 7px;
    animation: 2s ease infinite wheel-up-down;
}

@keyframes wheel-up-down {
    0% {
        margin-top: 5px;
        opacity: 0;
    }
    30% {
        opacity: 1;
    }
    100% {
        margin-top: 30px;
        opacity: 0;
    }
}

