/* open-sans-regular - latin */
@font-face {
  font-family: 'Open Sans';
  font-style: normal;
  font-weight: 400;
  font-display:swap;
  src: url('Fonts/open-sans-v17-latin-regular.eot');
  src: local('Open Sans Regular'), local('OpenSans-Regular'),
       url('Fonts/open-sans-v17-latin-regular.eot?#iefix') format('embedded-opentype'),
       url('Fonts/open-sans-v17-latin-regular.woff2') format('woff2'),
       url('Fonts/open-sans-v17-latin-regular.woff') format('woff'),
       url('Fonts/open-sans-v17-latin-regular.ttf') format('truetype'),
       url('Fonts/open-sans-v17-latin-regular.svg#OpenSans') format('svg');
}
/* open-sans-600 - latin */
@font-face {
  font-family: 'Open Sans';
  font-style: normal;
  font-weight: 600;
  font-display:swap;
  src: url('Fonts/open-sans-v17-latin-600.eot');
  src: local('Open Sans SemiBold'), local('OpenSans-SemiBold'),
       url('Fonts/open-sans-v17-latin-600.eot?#iefix') format('embedded-opentype'),
       url('Fonts/open-sans-v17-latin-600.woff2') format('woff2'),
       url('Fonts/open-sans-v17-latin-600.woff') format('woff'),
       url('Fonts/open-sans-v17-latin-600.ttf') format('truetype'),
       url('Fonts/open-sans-v17-latin-600.svg#OpenSans') format('svg');
}

/* bootstrap overrides */
.page-link { border-radius:0!important; border:0; color:#a1a1a1; }
.page-link:hover { color:#488CAA; }
.page-item.active .page-link { background-color:#488CAA; }
.table { border-spacing:4px; border-collapse:separate; margin-left:-4px; }
.table th,
.table td { background-color:#ebebeb; border-top:0; }
.table thead th { border-bottom:solid 4px #488caa }
.form-control { background-color:#ebebeb; font-size:14px; border:0; border-radius:0; padding:0 35px 0 30px; height:54px; -moz-appearance:none; -webkit-appearance:none; appearance:none; outline:none; }
select.form-control { background:#ebebeb no-repeat url(../Images/chevron-down.svg) center right / 40px auto; cursor:pointer; }
input, button, select, optgroup, textarea { font-family: 'Open Sans', sans-serif; }
.form-check { padding-left:0; }
input[type="radio"], input[type="checkbox"] { margin-right:10px; }
textarea#kontakt-236-text { height:258px; } /* Kontaktformular Anfrage Feld */
form .actions { padding-top:20px; }
.btn { padding:10px 30px; border:0; border-radius:0; color:#000; background-color:#B7E132; text-transform:uppercase; font-weight:600; letter-spacing:2px; }
.btn:hover { color:#fff; background-color:#488CAA; }

/* TYPO3 Markup Responsify */

@media (max-width:767px) {
    .ce-right .ce-gallery,
    .ce-left .ce-gallery,
    .ce-column { float:none; }
    .ce-intext.ce-left .ce-gallery { margin-right:0; }
    .ce-intext.ce-right .ce-gallery { margin-left:0; }
    .ce-center .ce-inner,
    .ce-center .ce-outer  { float:none; right:unset; }
    .ce-gallery figure { display:block; }
    .ce-gallery iframe { width:100%; max-width:500px; }
    .video-embed iframe { width:100%; max-width:100%; height:52vw; }
    .ce-gallery img { width:100%; }
    .ce-gallery figcaption { margin-bottom:20px; }
}
.ce-gallery figcaption { font-size:12px; background-color:#eee; padding:5px 10px; display:block; }

/*
Blau #488CAA rgba(72,140,170,1)
GrÃ¼n #B7E132 rgba(183,225,50,1)
Content Background Desktop: #FAFAFA
footer background #242424
*/

body { background:#f6f6f6; /* color:#A0A0A0; */ color: #424242; padding:0; margin:0; font-size:16px; font-family:'Open Sans'; font-style:normal; font-weight:400; }

a img { border:0 none; }
a,
a:visited,
a:hover { color:#488CAA; text-decoration:none; }
.linkArrow,
.linkArrowLeft,
main a { font-weight:bold; }
.linkArrow:after { content:'\f30b'; font-family:'Font Awesome 5 Free'; line-height:18px; font-weight:900; margin-left:5px; transition:all 0.4s; }
a:hover .linkArrow:after,
.linkArrow:hover:after { font-size:125%; margin-left:10px; transition:all 0.4s; }
.linkArrowLeft:before { content:'\f30a'; font-family:'Font Awesome 5 Free'; line-height:18px; font-weight:900; margin-right:5px; transition:all 0.4s; }
a:hover .linkArrowLeft:before,
.linkArrowLeft:hover:before { font-size:125%; margin-left:-9px; margin-right:10px; transition:all 0.4s; }
.clientTeaser .linkArrow:after,
a.external:after { content:'\f35d'; font-family:'Font Awesome 5 Free'; line-height:18px; font-weight:900; margin-left:5px; font-size:13px; position:relative; top:-2px; }

h1 { font-size:32px; font-weight:600; color:#424242; margin:0 0 32px 0; padding:0; }
h2 { font-size:32px; font-weight:600; color:#424242; margin:0 0 22px 0; padding:0; }
h3 { font-size:22px; font-weight:600; color:#424242; margin:0 0 12px 0; padding:0; }
h4,h5,h6 { font-size:16px; font-weight:600; color:#424242; line-height:19px; margin:0 0 12px 0; padding:0; }
p + h1,
p + h2 { margin-top:60px; }
p + h3 { margin-top:50px; }
p { margin:0 0 15px 0; }
p:last-child { margin-bottom:0; }
img { max-width:100%; height:auto; vertical-align:bottom; }
main b,strong { color:#424242; }
main p,
main li,
main td,
main th { line-height:180%; }
.fontBlack { color:#000; }
.fontBlue { color:#488CAA; }
.backgroundWhite { background-color:#fff; }
.accordeonItem ul,
.frame-type-text ul { list-style-type:none; padding:0; }
.accordeonItem ul li,
.frame-type-text ul li { margin:20px 0; padding:0 0 0 40px; position:relative; }
.accordeonItem ul li::before,
.frame-type-text ul li::before { content:''; background-color:#488CAA; position:absolute; top:10px; left:18px; display:block; width:10px; height:10px; }
.frame-type-text ul ul li::before { height:3px; top:13px; }
.frame-type-text.frame-textbox li { margin:10px 0; }
.frame-type-text.frame-textbox li::before { top:11px; }
.frame-type-text.frame-textbox ul ul li::before { top:14px; }
.frame-type-text nav li { padding-left:0; }
.frame-type-text nav li::before { display:none; }
ol { list-style: none; padding-left: 40px; counter-reset: my-awesome-counter; }
ol li { margin: 0 0 0.5rem 0; position: relative; counter-increment: my-awesome-counter; }
ol li::before { content: counter(my-awesome-counter) ". "; color: #424242; font-weight: bold; position:absolute; left:-40px; text-align:right; width:32px; }
#breadcrumb li::before { display:none; }
.accordeonItem ol li::before { color:#000; }
.grayscale { opacity:0.8; filter:grayscale(100%); }

a[data-fancybox] { display:block; position:relative; }
a[data-fancybox]::after { content:'\f00e'; color:rgba(72,140,170,0.8); font-family:'Font Awesome 5 Free'; font-size:20px; font-weight:900; position:absolute; bottom:0; right:0; transition:all 0.4s; }
a[data-fancybox]:hover::after { font-size:36px; text-shadow:0 0 6px rgba(0,0,0,0.2); transition:all 0.4s; }

#header { position:relative; }
@media (max-width:767px) {
    body:not(.mm-wrapper_opened) { padding-top:72px; }
    #header { position:fixed; top:0; left:0; width:100%; background-color:#f6f6f6; z-index:10000; box-shadow:0 -3px 10px rgb(0 0 0 / 15%); }
    .smallStickyMobileHeader #logo { padding:12px 0 12px 5vw; transition:all 0.4s; }
}
#logo { width:150px; padding:24px 0 24px 5vw; transition:all 0.4s; }
#logo img { width:100%; }

#mobileOpener { position:absolute; top:calc(50% - 25px); right:0; }
#mobileOpener a { display:block; width:50px; height:50px; }
#mobileOpener span,
#mobileOpener span::after,
#mobileOpener span::before { display:block; width:22px; height:3px; background-color:#488CAA; position:absolute; transition:0.5s ease; }
#mobileOpener span { top:24px; left:14px; }
#mobileOpener span::after { content:''; top:-7px; left:0; }
#mobileOpener span::before { content:''; top:7px; left:0; }
.mm-wrapper_opened #mobileOpener { transition:0.5s ease; }
.mm-wrapper_opened #mobileOpener span { transform:rotate(-45deg); transition:0.5s ease; }
.mm-wrapper_opened #mobileOpener span::after { transform:rotate(-90deg); top:0; }
.mm-wrapper_opened #mobileOpener span::before { opacity:0; }
.mm-navbar img { height:24px; position:absolute; left:calc(50% - 68px); }
.mm-panel,
.mm-navbar { background-color:#fff; }
#mobileLangNavi ul { list-style-type:none; margin:0; padding:0; text-align:center; }
#mobileLangNavi li { display:inline-block; margin:0 20px; }
#mobileLangNavi a { display:inline-block; }
.mm-listitem { border-color:#fff; }
.mm-btn_prev::before,
.mm-btn::after { border-color:#488CAA; }
.mm-menu a,
.mm-menu a:active,
.mm-menu a:hover,
.mm-menu a:link,
.mm-menu a:visited { color:#488CAA; }
#header #mainNavi,
#langNavi { display:none; }
#mobileContactButtons { position:absolute; top:calc(50% - 25px); right:65px; }
#mobileContactButtons a { color:#488CAA; font-size:24px; line-height:50px; }
#mobileContactButtons .fa-phone-alt { font-size:18px; margin-right:26px; position:relative; top:-3px; }

.headerImage { background-color:#FAFAFA; }
.desktopContactBox { display:none; }

.contentHeader { position:relative; }
.contentHeader .right .image { position:relative; }
.contentHeader .right .image::after { content:''; display:block; width:100%; height:100%; background-color:rgba(72,140,170,0.8); position:absolute; top:0; left:0; }
.contentHeader .text { color:#fff; position:absolute; top:10vw; left:5%; width:95%; padding-right:5%; z-index:100; }
.contentHeader .text h1 { color:#fff; font-size:28px; line-height: 1.1; }
.contentHeader .text p:not(.longText) { margin-bottom:0; font-size:12px; letter-spacing:2px; line-height:20px; padding:10px 0; }
.contentHeader .text p.supline { font-size:16px; font-weight:bold; text-transform:uppercase; letter-spacing:2px; }
.contentHeader .text p + h1 { margin:0 0 20px -2px; }
.contentHeader .text p.longText { font-size:14px; }
.contentHeader .text p a.linkArrow { font-size:16px; }
@media (max-width:350px) {
    .contentHeader .text { top:8vw; }
    .contentHeader .text p + h1 { margin-bottom:12px; }
}
@media (max-width:1180px), (max-height:540px) {
    .contentHeader .quoteTextBox,
    .contentHeader .text p.longText { display:none; }
}
@media (max-width:767px) {
    .contentHeader:not(.startSlider) .right .image { position:absolute; height:100%; width:100%; }
    .contentHeader:not(.startSlider) .right img { height:100%; width:100%; object-fit:cover; }
    .contentHeader:not(.startSlider) .text { position:relative; top:0; left:0; width:100%; padding: 14vw 5% 20px 5%; }
    .contentHeader .text p + h1 { font-size: 26px; }
}
.startSliderNavi { color:#B7E132; text-align:center; line-height:28px; padding:15px 0 20px; font-size:23px; }
.startSliderNavi > div { display:flex; justify-content:space-evenly; }
.startSliderNavi svg { height:24px; fill:#B7E132; transition:all 0.4s; }
.startSliderNavi span { display:none; }
.startSliderNavi > div div { padding:0 20px; cursor:pointer; }
.startSliderNavi > div div:hover { color:#488CAA; transition:all 0.4s; }
.startSliderNavi > div div:hover svg { fill:#488CAA; transition:all 0.4s; }
.startSliderNavi div.active { position:relative; color:#488CAA; }
.startSliderNavi div.active svg { fill:#488CAA; }
.startSliderNavi div.active::after { bottom:-20px; left:50%; border:solid transparent; content:''; height:0; width:0; position:absolute; pointer-events:none; border-color:rgba(72, 140, 170, 0); border-bottom-color:#488CAA; border-width:12px; margin-left:-13px; }

.initTeaserSlider:not(.slick-initialized) > .sliderItem:not(.slick-active),
.initClientSlider:not(.slick-initialized) > .sliderItem:not(.slick-active),
.initStartSlider:not(.slick-initialized) > .sliderItem:not(.slick-active) { display:none; }
@media (max-width:767px) {
    .initStartSlider { height:510px; overflow:hidden; }
}
.startSlider .sliderItem { position:relative; }
.startSlider .sliderItem > .image > picture > img { width:100%; height:510px; object-fit:cover; }
.teaserList.startSubSlider { margin:0; z-index:1000; }
.startSubSlider { position:absolute; bottom:0; left:0; width:100%; }
.startSubSliderText .inner { overflow-y:hidden; }
.teaserList.startSubSlider article { height:275px; background-color:rgba(255,255,255,0.15);; }
.teaserList.startSubSlider article a { padding:0 0 50px 0; background-color:transparent; }
.teaserList.startSubSlider article a > div { width:50%; }
@media (max-width:460px) {
    .startSubSliderText .inner { max-width:100%; max-height:100%; }
    .teaserList.startSubSlider article { height:230px; }
    .teaserList.startSubSlider article a p { white-space:nowrap; text-overflow:ellipsis; overflow:hidden; }
}
.startSubSliderBox { display:flex; width:100%!important; height:100%; }
.teaserList b,
.teaserList strong { color:inherit; }
.startSubSliderText { width:50%; padding:2% 5%; display:flex; align-items:center; }
.startSubSliderText h3 { line-height:140%; }
.startSubSliderText p { line-height:150%; }
.subSliderImage { width:50%; display:flex; align-items:center; padding:0 5% 0 10%; }
.subSliderImage img { width:100%; }
.subSliderImage.full { padding:0; }
.subSliderImage.full img { height:100%; object-fit:cover; transition:all 0.4s; }
a:hover .subSliderImage.full img { opacity:0.5; transition:all 0.4s; }
.startSubSlider .slick-arrow,
.startSubSlider.slick-initialized .sliderCountBox { bottom:0; }

#main .contentWidth { width:90%; max-width:1640px; margin:0 auto; }
.no-gutters > .col-sm-8,
.no-gutters > .order-first,
.no-gutters > .order-xl-1 { margin-bottom:6vw; }
.no-gutters > .order-sm-1 .frame-default,
.no-gutters > .order-xl-1 .frame-default,
.no-gutters > .col-12.col-md-6:first-child .frame-type-text { width:calc(100% - 30px); }

#breadcrumb { font-size:14px; line-height:20px; margin:2vw 0 4vw 0; }
#breadcrumb ol { list-style-type:none; margin:0; padding:0; }
#breadcrumb li { margin:0; padding:0; display:inline; }
#breadcrumb li:not(:last-child):after { content:'>'; color:#424242; margin:0 10px; }
#breadcrumb a { color:#424242; text-decoration:none; font-weight:normal; }
#breadcrumb a:hover { color:#488CAA; }

.catNavi:not(.rightCol) { margin-bottom:4vw; text-align:center; }
.catNavi ul { list-style-type:none; margin:0; padding:0; }
.catNavi li { margin:0; padding:0; line-height:38px; display:inline-block; margin:0 10px 10px 0; }
.catNavi a { font-weight:normal; display:inline-block; background-color:#fff; padding:0 10px; transition:all 0.4s; }
.catNavi a,
.catNavi a:visited { color:#A0A0A0; }
.catNavi a:hover { color:#000; background-color:#B7E132; transition:all 0.4s; }
.catNavi.rightCol { padding:10px 5% 20px; font-size:12px; text-transform:uppercase; letter-spacing:2px; }
.catNavi.rightCol a { background-color:transparent; padding:0; }
.catNavi.rightCol h4 { font-size:12px; margin-bottom:5px; display:inline-block; margin-right:15px; }
.catNavi.rightCol ul { display:inline-block; }
.catNavi.rightCol li { line-height:24px; display:inline-block; margin-bottom:0; }
.blogDetailView .catNavi.rightCol { padding-left:0; }
.blogDetailView .catNavi.rightCol a { margin-right: 15px; }

.blogListView { margin:0 -5.555%; }
.blogListView > article:not(:last-child) { margin-bottom:6vw; }
.blogListView .image { height:100%; position:relative; }
.blogListView .image::after { content:''; display:block; width:100%; height:100%; background-color:rgba(72,140,170,0.8); position:absolute; top:0; left:0; }
.blogListView .image img { height:100%; object-fit:cover; }
.blogListView .no-gutters > .order-xl-1 { margin-bottom:0; }
.blogListView .no-gutters > .col-xl-6 { margin-bottom:4vw; }
.blogListView .date { font-weight:600; }
.blogListView p + h2 { margin-top:0; }
.blogListView h2 { font-size:26px; }
.blogListView .textBox { padding:10px 5%; }

.paginationBox { margin:40px 0; }
.pagination { margin-bottom:0; }
.pagination .fas { font-size:14px; }

.teaserList { margin:0 -5.555%; }
.teaserList article { height:300px; background:#488CAA no-repeat center center / cover; position:relative; }
.teaserList article.slick-slide a { margin:0 -15px; }
.teaserList article a { display:flex; height:100%; align-items:center; color:#fff; padding:5%; font-weight:normal; background-color:rgba(72,140,170,0.8); transition:all 0.4s; }
.teaserList:not(.projectTeaser) article a:hover { color:#000; background-color:rgba(183,225,50,0.8); transition:all 0.4s; }
.teaserList:not(.projectTeaser) article a h2,
.teaserList:not(.projectTeaser) article a h3 { font-size:32px; color:inherit; font-size:16px; }
.teaserList.projectTeaser article a > div { width:100%; }
.teaserList.projectTeaser article a h2,
.teaserList.projectTeaser article a h3 { font-size:32px; margin:20px 0 0 0; color:inherit; text-align:center; }
.teaserList.projectTeaser article a:hover div { text-shadow:0 0 4px #000; }
/*.teaserList.projectTeaser article a:hover h3 { text-shadow:1px 1px 1px #488CAA, 1px -1px 1px #488CAA, -1px 1px 1px #488CAA, -1px -1px 1px #488CAA; }*/
.teaserList.projectTeaser article a:hover { background-color:rgba(0,0,0,0); transition:all 0.4s; }
.teaserList article a p { font-size:12px; }
.teaserList.projectTeaser a { position:relative; }
.teaserList.projectTeaser .sector,
.teaserList.projectTeaser .date { position:absolute; top:5%; left:5%; font-size:12px; }
.teaserList.projectTeaser .date { right:5%; left:unset; }
.teaserList.projectTeaser .award a::before { content:'\f5a2'; font-family:'Font Awesome 5 Free'; font-weight:900; font-size:100px; color:rgba(183,225,50,0.5); position:absolute; top:8%; right:6%; transition:all 0.4s; }
.teaserList.projectTeaser .award a:hover::before { color:rgba(183,225,50,1); font-size:120px; top:6%; transition:all 0.4s; }

.textImageTeaserList  { margin:0 -5.555%; }
.textImageTeaserList a { font-weight:normal; color:#A0A0A0; display:block; margin:1px; background-color:#f0f0f0; height:100%; position:relative; }
.textImageTeaserList a:hover { background-color:rgba(183,225,50,0.6); transition:all 0.4s; }
.textImageTeaserList .image { position:relative; padding-bottom:3px; background-color:#fff; border-bottom:solid 4px #488CAA; }
.textImageTeaserList:not(.clientTeaser) .image::after { content:''; display:block; width:100%; height:calc(100% - 3px); background-color:rgba(72,140,170,0.8); position:absolute; top:0; left:0; transition:all 0.4s; }
.textImageTeaserList.clientTeaser .image { min-height:40vw; display:flex; align-items:center; text-align:center; }
.textImageTeaserList.clientTeaser a .image::after { content:''; display:block; width:100%; height:calc(100% - 3px); background-color:transparent; position:absolute; top:0; left:0; transition:all 0.4s; }
.textImageTeaserList.clientTeaser a:hover .image::after { background-color:rgba(183,225,50,0.4); transition:all 0.4s; }
.textImageTeaserList.clientTeaser .sector { position:absolute; top:5%; left:5%; line-height:20px; font-size:12px; }
.textImageTeaserList.clientTeaser .category { position:absolute; top:5%; right:5%; line-height:20px; font-size:12px; }

.clientTeaser .clientLogo { padding:10% 15%; width:100%; }
.clientTeaser article { margin-bottom:2px; }

.textImageTeaserList .image img { width:100%; }
.textImageTeaserList:not(.clientTeaser) a:hover .image::after { background-color:rgba(183,225,50,0.8); transition:all 0.4s; }
.textImageTeaserList .text { padding:30px 5% 70px; border-top:solid 3px #fff; transition:all 0.4s; }
.textImageTeaserList header { margin-bottom:24px; }
.textImageTeaserList .moreBox { position:absolute; bottom:40px; left:5%; }
.textImageTeaserList a .linkArrow { color:#488CAA; }

.slick-arrow { position:absolute; bottom:5px; z-index:10000; font-size:22px; padding:10px; width:50px; line-height:30px; text-align:center; color:#fff; cursor:pointer; }
.slick-arrow.fa-chevron-left { left:calc(50% - 80px); }
.slick-arrow.fa-chevron-right { left:calc(50% + 30px); }
.sliderCountBox { display:none; }
.slick-initialized .sliderCountBox { display:block; font-weight:bold; color:#fff; font-size:16px; letter-spacing:3px; line-height:50px; position:absolute; bottom:5px; left:calc(50% - 35px); width:70px; text-align:center; z-index:9000; }

.frame-textbox { background-color:#f0f0f0; position:relative; padding:2vw 2vw 4vw 2vw; }
.frame-textbox::before { content:''; display:block; height:4px; width:100%; position:absolute; top:-6px; left:0; background-color:#488caa; }
.frame-textbox.award::after { content:'\f5a2'; font-family:'Font Awesome 5 Free'; font-weight:900; font-size:100px; color:rgba(183,225,50,0.5); position:absolute; top:-26px; right:4%; }

.clientSliderBox { text-align:center; padding-bottom:105px; background-color:#fff; border-top:solid 2px #c4c4c4; padding-top:50px; margin-top:4vw; }
.clientSliderBox h3,
.clientSliderBox h4 { color:#a1a1a1;font-size:32px; font-weight:600; line-height:inherit; margin:0 0 12px 0; }
.clientSlider { margin-top:35px; }
.clientSlider a { display:block; line-height:70px; }
.clientSlider a img { display:inline; vertical-align:middle; padding:0 14%; }
.clientSlider .slick-arrow { bottom:-70px; color:#a1a1a1; }
.clientSlider.slick-initialized .sliderCountBox { bottom:-70px; color:#a1a1a1; white-space:nowrap; }

.projectFilterBox { margin-bottom:40px; }
.projectFilterBox > .col-12:first-child p { line-height:54px; text-align:center; }
.projectFilterBox > .col-12:not(:first-child) { padding-bottom:16px; }

.accordeonItem { margin:15px 0; background-color:#f0f0f0; color:#424242; }
.accordeonItem .accordeonToggle { cursor:pointer; }
.accordeonItem .headline { transition:all 0.5s; position:relative; }  
.accordeonItem .headline:after { content:''; width:30px; height:30px; line-height:30px; content: "\f078"; color:#488CAA; font-size:24px; font-family:'Font Awesome 5 Free'; text-align:center; position:absolute; top:calc(50% - 15px); right:25px; transition:all 0.5s; }
.accordeonItem.open .headline:after { transform:rotate(180deg); transition:all 0.5s; }
.accordeonItem.open .headline { opacity:1; transition:all 0.5s; } 
.accordeonItem .headline > * { font-size:18px; font-weight:normal; line-height:21px; padding:20px 58px 20px 20px; margin:0; color:#424242; }
.accordeonItem .accordeonContent { padding:25px 20px 50px 20px; display:none; margin-top:5px; }
.accordeonItem.open .accordeonContent { display:block; }

#footer { background-color:#242424; color:#A2A2A2; padding:60px 0; font-size:14px; }
#footer .contentWidth { width:90%; max-width:1640px; margin:0 auto; }
.footerLogoBox img { width:170px; opacity:0.8; filter:grayscale(100%); margin-right:-4px; }
.footerLogoBox .text { font-size:12px; line-height:30px; }
.footerTypo3Member { margin-top:30px; }
.footerTypo3Member img { opacity:0.3; }
#footer a { color:#A2A2A2; transition:all 0.4s; }
#footer a:hover { color:#B7E132; transition:all 0.4s; }
#footer ul { list-style-type:none; margin:0; padding:0; }
#footer li { display:block; padding:0; }
.footerSocialButtonBox { padding:60px 5px 10px; margin:0 auto; }
.footerMetaNavi { padding:10px 0; font-size:12px; line-height:35px; }
.footerSocialButtonBox { display:flex; justify-content:space-between; width:60%; max-width:320px; }
.footerSocialButtonBox svg { height:24px; fill:#a1a2a1; transition:all 0.4s; }
.footerSocialButtonBox svg:hover { fill:#B7E132; transition:all 0.4s; }
@media (min-width:480px) {
    .clientSlider a img { padding:0; }
    #footer .footerMetaNavi li { display:inline-block; }
    #footer .footerMetaNavi li:not(:first-child)::before { content:'|'; }
    #footer .footerMetaNavi a { padding:0 6px 0 7px; }
}
@media (min-width:576px) {
    .startSliderNavi { line-height:37px; font-size:28px; }
    .startSliderNavi svg { height:30px; }
    .no-gutters > .col-sm-8,
    .no-gutters > .order-xl-1 { margin-bottom:0; }
    .col-xl-6 > .ce-gallery,
    .col-xl-6 > .frame-default { width:calc(100% - 30px); }
    .ce-gallery .row .col-md-3 figure,
    .ce-gallery .row .col-md-3 img { width:100%; }
    .teaserList.projectTeaser article { height:calc(350px + 10vw); }
    .teaserList article a { padding:10%; }
    .teaserList.projectTeaser article a h2,
    .teaserList.projectTeaser article a h3 { text-align:left; position:absolute; bottom:3vw; left:10%; padding-right:5%; }
    .teaserList.projectTeaser article a::after { opacity:0; transition:opacity 0.4s; content:'\f067'; font-family:'Font Awesome 5 Free'; font-weight:900; display:block; width:90px; height:90px; line-height:70px; font-size:32px; border:solid 10px #B7E132; border-radius:50%; text-align:center; position:absolute; left:calc(50% - 45px); top:calc(50% - 45px); }
    .teaserList.projectTeaser article a:hover::after { opacity:1; background-color:rgba(72,140,170,0.5); -webkit-box-shadow:0 0 0 10px rgba(72,140,170,0.5); box-shadow:0 0 0 10px rgba(72,140,170,0.5); transition:opacity 0.4s; }
    .teaserList.slick-slider { padding-bottom:70px; }
    .teaserList.startSubSlider.slick-slider { padding-bottom:0; }
    .teaserList.startSubSlider .sliderCountBox { display:none; }
    .teaserList.startSubSlider article { height:210px; }
    .teaserList.startSubSlider article:not(:first-child) { border-left:solid 1px #749eb0; }
    .teaserList.startSubSlider article a { padding-bottom:0; }
    .startSubSliderText .inner { max-width:100%; max-height:100%; overflow-y:auto; }
    .teaserList.startSubSlider article a p { white-space:nowrap; text-overflow:ellipsis; overflow:hidden; }
    .textImageTeaserList.clientTeaser .image { min-height:30vw; }
    .teaserList.projectTeaser .sector { left:10%; }
    .teaserList.projectTeaser .date { right:10%; }
    .teaserList.projectTeaser article a h3 { margin:0 0 10px 0; }
    .slick-initialized .sliderCountBox,
    .teaserList .slick-arrow { color:#488CAA; }
    .slick-arrow { font-size:22px; }
    .slick-initialized .sliderCountBox { font-size:18px; }
    .blogListView .textBox { padding:10px 5% 20px 8.5555%; }
    .catNavi.rightCol { padding:15px 5%; }
    .col-sm-6.order-xl-1 .frame-textbox { margin-right:30px; }
}
@media (min-width:768px) {
    #mobileOpener,
    #mobileContactButtons { display:none; }
    
    #header { position:absolute; top:0; left:0; width:100%; z-index:1000; }
    #logo { width:20%; padding:4vw 0 0; line-height:70px; text-align:center; position:relative; z-index:1000; }
    #logo img { width:80%; max-width:224px; vertical-align:middle; position:relative; top:-2px; }

    #header #mainNavi { display:block; position:absolute; top:4vw; right:3vw; }
    #naviBox ul { list-style-type:none; margin:0; padding:0; text-align:right; }
    #naviBox li { display:inline-block; margin:0; position:relative; }
    #naviBox a { display:inline-block; padding:0 1vw; color:#fff; text-transform:uppercase; font-size:15px; font-weight:bold; line-height:70px; transition:all 0.4s; }
    #naviBox a:hover { color:#B7E132; background-color:rgba(75,125,145,0.9); transition:all 0.4s; }
    #naviBox a.active { color:#B7E132; }
    #mainNavi ul ul { display:none; text-align:left; }
    #mainNavi > ul > li > ul { position:absolute; top:70px; left:0; background-color:rgba(75,125,145,0.9); padding-bottom:15px; }
    #mainNavi > ul > li:hover ul { display:block; }
    #mainNavi ul ul li { display:block; }
    #mainNavi ul ul a { display:block; line-height:28px; padding:6px 1vw; text-transform:none; }
    #naviBox ul ul a:hover { background-color:rgba(0,0,0,0.4); }
    #mainNavi ul ul ul { padding-bottom:12px; }
    #mainNavi ul ul ul a { font-size:13px; font-weight:normal; padding:5px 1vw 5px 2vw; }
    
    #langNavi { display:block; position:absolute; top:1.8vw; right:3vw; }
    #langNavi a { line-height:30px; }
    #breadcrumb { font-size:15px; line-height:24px; }
    
    .startSliderNavi { font-size:18px; position:absolute; left:0; top:12vw; text-align:left; line-height:36px; width:20%; padding-bottom:0; }
    .startSliderNavi > div { display:block; }
    .startSliderNavi svg { height:18px; }
    .startSliderNavi span { display:inline; font-size:14px; text-transform:uppercase; }
    .startSliderNavi .fas { margin-right:8px; }
    .startSliderNavi div.active::after { bottom:50%; left:unset; right:0; border-bottom-color:transparent; border-right-color:#488CAA; border-width:12px; margin-left:0; margin-bottom:-13px; }
    .startSubSlider { width:100%; }
    .startSubSliderText { width:60%; }
    .subSliderImage { width:40%; padding:0 5% 0 0; }
    .startSlider .sliderItem > .image > picture > img { height:auto; }
    
    .teaserList.startSubSlider article { height:180px; }
    .teaserList.startSubSlider article a h3 { font-size:14px; }
    .teaserList.startSubSlider article p { font-size:12px; }

    .contentHeader { display:flex; max-height:100vh; overflow:hidden; }
    .contentHeader .left { width:20%; position:relative; }
    .contentHeader .right { width:80%; position:relative; }
    /*.contentHeader .right .image { min-height:41vw; }*/
    .contentHeader .right img { width:100%; max-height:100vh; object-fit:cover; }
    .contentHeader .text { left:10%; width:80%; }
    .contentHeader .text.quoteTextBoxMargin { width:58%; }
    .contentHeader .text h1 { font-size:3vw; }
    .contentHeader .text p { font-size:18px; }
    .contentHeader .text p.longText { font-size:13px; }
    .contentHeader .quoteTextBox { color:#000; position:absolute; bottom:0; right:6.3%; padding:20px 30px; width:28.1%; background-color:rgba(183,225,50,0.7); }
    .contentHeader .quoteTextBox::before { content:'\f10e'; font-family:'Font Awesome 5 Free'; font-weight:900; font-size:180px; color:rgba(183,225,50,0.4); position:absolute; top:-44px; left:4%; }
    .contentHeader .quotetext { z-index:100; position:relative; }
    .contentHeader .quotespeaker { font-weight:bold; text-transform:uppercase; letter-spacing:2px; z-index:100; position:relative; }

    .desktopContactBox { display:block; position:absolute; bottom:2vw; left:2vw; width:90%; max-width:200px; }
    .desktopContactBox .fas { width:24px; }
    .desktopContactBox a { color:#B7E132; font-size:1.6vw; font-weight:bold; line-height:3.5vw; transition:all 0.4s; }
    .desktopContactBox p:nth-child(2) a { letter-spacing: 0.6px; }
    .desktopContactBox a:hover { color:#488CAA; transition:all 0.4s; }
    .desktopContactBox .socialIcons { display:flex; justify-content:space-between; width:88%; max-width:162px; }
    .desktopContactBox .socialIcons svg { height:18px; fill:#488CAA; transition:all 0.4s; }
    .desktopContactBox .socialIcons svg:hover { fill:#B7E132; transition:all 0.4s; }

    .teaserList:not(.projectTeaser) article a h2,
    .teaserList:not(.projectTeaser) article a h3 { font-size:14px; }
    .teaserList article a p { font-size:16px; }
    .teaserList.projectTeaser .sector,
    .teaserList.projectTeaser .date { font-size:14px; }
    
    .projectFilterBox > .col-12 { padding-right:16px; padding-bottom:0; text-align:left; }
    .projectFilterBox > .col-12:first-child p { text-align:left; }

    #footer { font-size:16px; }
    .footerSocialButtonBox { width:218px; }
    .footerSocialButtonBox svg { height:17px; }
    .footerLogoBox .text,
    .footerMetaNavi { line-height:20px; padding:25px 0; }
}
@media (min-width:992px) {
    #naviBox a { font-size:16px; }
    #mainNavi ul ul ul a { font-size:14px; }
    .contentHeader .text p.longText { font-size:14px; }
    .blogListView .image { min-height: 22.2vw; }
    .blogListView .textBox { padding:2vw 20px 2vw 30px; }
    .blogListView .catNavi.rightCol { padding:2.5vw 30px 2vw 0; text-align:right; }
    .blogListView .catNavi.rightCol h4,
    .blogListView .catNavi.rightCol ul,
    .blogListView .catNavi.rightCol li { display:block; margin-right:0; text-align:right; }
    
    .textImageTeaserList .text { padding:30px 10% 70px; }
    .textImageTeaserList .moreBox { left:10%; }
    .textImageTeaserList .text p { font-size:14px; }
    .textImageTeaserList.clientTeaser .image { min-height:18vw; }
    .textImageTeaserList.clientTeaser .sector { left:10%; }
    .textImageTeaserList.clientTeaser .category { right:10%; }

    #footer { padding:2vw 0; }
    .footerLogoBox { margin-right:10vw; }
    #footer .footerNavi { margin-left:10vw; line-height:35px; }
    .footerLogo,
    .footerSocialButtonBox { height:5.5vw; padding-top:3.5vw; }
    .footerMetaNavi { padding-bottom:2.5vw; }
    #footer .col-lg-4:not(:first-child) { border-left:solid 1px #3d3d3d; }
    #footer .col-lg-4:last-child { align-items:center; display:flex !important; }
}
@media (min-width:1024px) {
    #naviBox a { font-size:17px; }
    #mainNavi ul ul ul a { font-size:15px; }
    #mainNavi { right:2.5vw; }
    #mainNavi a { padding:0 1.5vw; }
    #mainNavi ul ul a { padding:12px 1.5vw; }
    #mainNavi ul ul ul a { padding:6px 1vw 6px 3vw; }
    .desktopContactBox .fas { width:28px; }
    .desktopContactBox a { font-size:17px; }
    .col-md-6:not(:last-child) > .frame-type-text,
    .col-xl-6 > .frame-type-text { width:calc(100% - 50px); }
    .startSliderNavi { line-height:56px; font-size:28px; }
    .startSliderNavi svg { height:30px; }
    .startSliderNavi .fas { margin-right:14px; }
    .teaserList.startSubSlider article a { padding:0; }
    .startSubSliderBox { height:100%; }
    .startSubSliderText { width:50%; padding:2% 5%; border-right:solid 1px #749eb0; }
    .subSliderImage { width:50%; padding:0 10%; background-color:rgba(0,0,0,0.1) }
}
@media (min-width:1200px) {
    #naviBox a { font-size:18px; }
    #mainNavi ul ul ul a { font-size:16px; }
    .desktopContactBox { left:calc(50% - 100px); }
    .desktopContactBox a { line-height:42px; }
    .catNavi:not(.rightCol) { text-align:left; }
    .startSliderNavi > div div { padding:0 calc(50% - 100px); }
    .catNavi li { display:block; margin-bottom:10px; }
    .catNavi.rightCol { padding:30px 30px 25px 0; }
    .blogListView .no-gutters > .col-xl-6 { margin-bottom:0; }
    .blogListView { margin:0; }
    .blogListView .textBox { padding:25px 20px 25px 30px; }
    .teaserList { margin:0; }
    .teaserList.projectTeaser article { height:35vw; }
    .teaserList:not(.projectTeaser) article a h2,
    .teaserList:not(.projectTeaser) article a h3 { font-size:16px; }
    .teaserList article a p { font-size:12px; }
    .textImageTeaserList { margin:0 -1px; }

    .blogDetailView .catNavi.rightCol { padding:2.5vw 30px 2vw 0; text-align:right; }
    .blogDetailView .catNavi.rightCol h4,
    .blogDetailView .catNavi.rightCol ul,
    .blogDetailView .catNavi.rightCol li { display:block; margin-right:0; text-align:right; }
    .blogDetailView .catNavi.rightCol a { margin-right:0; }
}
@media (min-width:1280px) {
    #langNavi { display:block; position:absolute; top:4vw; right:unset; left:calc(27.5% - 1vw); }
    #langNavi ul { text-align:left; }
    #langNavi a { line-height:70px; } 
    .no-gutters > .col-sm-8,
    .no-gutters > .order-first,
    .no-gutters > .order-xl-1,
    .contentHeader .text p.longText { font-size:16px; }
    .contentHeader .text { left:7.5vw; }
    .contentHeader .text h1 { font-size:48px; }
    .paginationBox { margin:4vw 0; }
    .teaserList.startSubSlider article { height:17vw; }
    .teaserList.startSubSlider article a p { white-space:normal; overflow:unset; }
}
@media (min-width:1480px) {
    #naviBox a { font-size:20px; }
    #mainNavi ul ul ul a { font-size:17px; }
    .textImageTeaserList .text { padding:45px 10% 80px; }
    .textImageTeaserList .moreBox { bottom:45px; }
}
@media (min-width:1600px) {
    .blogListView .textBox { padding:25px 30px 25px 60px; }
    .catNavi.rightCol { padding:30px 60px 25px 0; }
    .teaserList:not(.projectTeaser) article a h2,
    .teaserList:not(.projectTeaser) article a h3 { font-size:18px; }
    .teaserList article a p { font-size:16px; }
    .teaserList.startSubSlider article { height:15vw; }
}
@media (min-width:1824px) {
    #naviBox a { font-size:22px; }
    #mainNavi ul ul ul a { font-size:18px; }
    #langNavi { left:26.5vw; }
    .contentHeader .text { left:9.5%; }
    .teaserList article { min-height:364px; }
    .teaserList.startSubSlider article { min-height:272px; }
    .teaserList.projectTeaser article { min-height:638px; height:638px; }
    .blogListView .image { min-height: 400px; }
}
@media (min-width:1920px) {
    #logo img { max-width:290px; }
    .startSliderNavi span { font-size:20px; }
    .startSliderNavi { line-height:80px; font-size:42px; }
    .startSliderNavi .fas { margin-right:12px; }
    .startSliderNavi svg { height:40px; }
    .startSliderNavi > div div { padding:0 calc(50% - 142px) 0 calc(50% - 58px); }
    /*.contentHeader:not(.startSlider) .right .image { height:39vw; min-height:39vw; }*/
    .desktopContactBox { left:calc(50% - 62px); transform:scale(1.3); }
    .contentHeader .text h1 { font-size:60px; }
    .contentHeader .text p:not(.longText) { font-size:16px; }
    .contentHeader .text p.longText { font-size:20px; }

    .teaserList:not(.projectTeaser) article a h2,
    .teaserList:not(.projectTeaser) article a h3 { font-size:22px; }
    .teaserList.startSubSlider article p { font-size:16px; }
}

/*
@media (min-width:2500px) and (max-height:1400px) {
    .contentHeader { max-height:unset; height:1600px; }
    .contentHeader .right .image { min-height:unset; height:1600px; }
    .contentHeader .right img { max-height:1600px; }
}
@media (min-aspect-ratio: 2) {
    .contentHeader,
    .contentHeader .right img { max-height:unset; }
}*/

@media (min-width:768px) {
    .startSubSliderText { align-items: start; }
    .startSubSliderText .inner { padding-top:10px; }
    .teaserList.startSubSlider article { max-height:200px; }
    .contentHeader .text { max-width:1000px; }
    .contentHeader,
    .contentHeader .right .image > picture > img { min-height:560px; }
}
@media (min-width:1180px) {
    .contentHeader,
    .contentHeader .right .image > picture > img { min-height:590px; }
    .teaserList.startSubSlider article { max-height:220px; }
    .sliderItem .scroll-down { bottom:240px!important; }
}
@media (min-width:1280px) {
    .contentHeader,
    .contentHeader .right .image > picture > img { min-height:700px; }
}
@media (min-width:1824px) {
    .contentHeader,
    .contentHeader .right .image > picture > img { min-height:812px; }
    .startSubSliderText .inner { padding-top:25px; }
    .sliderItem .scroll-down { bottom:302px!important; }
}
@media (min-width:1920px) {
    .contentHeader,
    .contentHeader .right .image > picture > img { min-height:900px; }
}
@media (min-width:2200px) {
    .contentHeader,
    .contentHeader .right .image > picture > img { min-height:980px; }
}
@media (min-width:2700px) {
    .contentHeader,
    .contentHeader .right .image > picture > img { min-height:1040px; }
    .contentHeader .text { max-width:1200px; }
    .contentHeader .text p:not(.longText) { font-size:20px; line-height:32px; }
    .contentHeader .text h1 { font-size:70px; line-height:1.2; }
    .contentHeader .text p.longText { font-size:23px; }
}
@media (min-width:3300px) {
    .contentHeader,
    .contentHeader .right .image > picture > img { min-height:1100px; }
}

.counterupList { background-color:#488caa; padding:min(7vw,40px); }
.counterupList .inner { display:flex; flex-wrap:wrap; gap:50px; justify-content:space-around; }
.counterupItem { width:100%; text-align:center; }
.counterupItem .icon { display:block; background-color:#fff; color:#488caa; font-size:40px; width:100px; line-height:100px; border-radius:50%; margin:0 auto; }
.counterupItem .counterBox { color:#fff; padding:8px 0 0; display:block; background-color:#488caa; margin:-18px auto 0; }
.counterupItem .counter { font-size:52px; line-height:52px; padding-bottom:4px; font-weight:600; color:#B7E132; }
.counterupItem .textTop,
.counterupItem .textBottom { font-size:14px; line-height:20px; }
@media (min-width:768px) {
    .counterupItem { width:calc((100% - 50px) / 2); }
}
@media (min-width:1024px) {
    .counterupItem { width:calc((100% - 150px) / 4); }
}

#stickyContactButtonBox { opacity:0; position:fixed; top:100px; right:-250px; z-index:10000; transition:all 0.4s ease; }
#stickyContactButtonBox.showBox:hover { right:-18px; transition:all 0.4s ease; }
#stickyContactButtonBox.showBox { right:-206px; opacity:1; transition:all 0.6s ease; }
@media (max-width:1023px) {
    #stickyContactButtonBox { display:none!important; }
}
#stickyContactButtonBox > div { display:flex; align-items:center; margin-bottom:10px; }
#stickyContactButtonBox .icon { background-color:#B7E132; color:#fff; font-size:22px; width:50px; line-height:50px; border-radius:50%; text-align:center; position:relative; }
#stickyContactButtonBox .link { line-height:38px; font-size:20px; margin-left:-20px; transition:all 0.4s; }
#stickyContactButtonBox:hover .link { background-color:#488caa; transition:all 0.4s; }
#stickyContactButtonBox .link a { color:#fff; width:220px; text-align:center; display:block; }
#stickyContactButtonBox .link a:hover { color:#B7E132; }

@media (max-width:767px) {
    .ce-column { margin:0 0 10px 0; }
}
@media (min-width:768px) {
    .ce-gallery[data-ce-columns="2"] .ce-column { width:calc((100% - 10px) / 2); }
    .ce-gallery[data-ce-columns="3"] .ce-column { width:calc((100% - 20px) / 3); }
}

