/* all */
.padding_96 {padding:96px 0;}
.contao-cookiebar, .contao-cookiebar p {color:#000 !important;}
.contao-cookiebar .cc-info {text-align:left; margin-bottom:24px;}
.contao-cookiebar .cc-info > p { font-size: 1.25rem; }
.contao-cookiebar .cc-inner {border-radius:0; max-width:660px;}
.contao-cookiebar .cc-head {font:2rem/1.1'font_regular';} 
.contao-cookiebar .cc-btn {height:64px; line-height:64px; border:none; border-radius:32px; font:1.25rem/1'font_regular'; padding:0 24px; color:#000; background:var(--lightgrey); margin:0 5px;}
.contao-cookiebar .cc-btn:hover {background:var(--green);}
.contao-cookiebar .highlight .cc-btn.success { background:var(--green); border-color:var(--green); color:#000;}
.contao-cookiebar .highlight .cc-btn.success:hover { background:#000; border-color:#000; color:#fff;}
.contao-cookiebar .cc-groups .cc-group {border:none; border-top:1px solid var(--grey); margin-top:24px; padding-top:24px;}
.contao-cookiebar .cc-cookies > p, .contao-cookiebar .cc-cookies > .cc-cookie { border-top: none;}
.contao-cookiebar .cc-cookies { background:none; border-radius: 0;}
.contao-cookiebar input + label:before { background:var(--lightgrey); border: 2px solid var(--lightgrey); }
.contao-cookiebar input:disabled + label:before, .contao-cookiebar input:checked + label:before {background:var(--green); border-color:var(--green); }
.contao-cookiebar input:disabled + label:after, .contao-cookiebar input:checked + label:after { background: #fff; }

/* home */
body.index main {background:#fff; transition: all .5s ease-in .1s; }
body.index.black main {background:#000; transition: all .5s ease-in .1s; }
body.black header {background:none;}
body.black .navigation {color:#fff;}
body.black .logo {color:#000 !important;}
XXXbody.black .logo {color:#fff !important;}
body.black .menu a { color:#fff;}
.intro_logo {position:absolute; z-index:11; top:220px;}
/* NEW */
/* body.black header .logo, body.black header .hamburger, body.black header .navigation {display:none;} */
body.black header { transform: translate3d(0, -120px, 0) !important; background: #fff;}

body.index.black .work a.more_link:after {background-color:#000; }
body.black .hamburger .line {background: #fff;}
body.black.up .hamburger .line {background: #fff;}

.nav_fix {position:absolute; z-index:110; top:20px; width:100%; font-family: "font_regular"; font-size:1.5rem; line-height:1.1; color:#fff; text-align:right;}
.nav_fix .mod_navigation {display:inline-block;}
.nav_fix .hamburger {display:none; }

.index_logo {  position:absolute; z-index:11; top: 0px; left:80px; webkit-transition: all .25s ease-in .1s; transition: all .25s ease-in .1s;}
.XXXindex_logo.start { margin-left:-98px; margin-top:-35px; transform: scale(0.35); }
.index header .logo {display:none;}
.index.up header .logo {display:block;}
.index.up.black header .logo {display:none;}

.fix_top_black {position:absolute; top:0; width:100%; height:300px; background:#000;}
.index .intro {padding:96px 0 64px; background:#000; }
.index .intro .intro_text {float:right; width:715px; color:#fff; font: var(--font-subtitle); }

.hero-box {position:relative; height:calc(100vw * 0.5625); width:100%;}
.video-box {position:absolute; height:100%; width:100%; overflow:hidden; background:#fff;}
.video-box video { position: absolute; width: 100vw; height: auto;  }
.video-borders {position:absolute; height:100%; width:100%; top:0; left:0;}
.video-border {position:absolute;background:#000; transition: width 0.4s ease-out, height 0.4s ease-out, transform 0.2s ease-out;}
.border-top {top:0; left:0; width:100%; height:80px; transform-origin: center top;}
.border-bottom {position:absolute; bottom:0; left:0; width:100%; height:80px; transform-origin: center bottom; background:#000; transition: width 0.4s ease-out, height 0.4s ease-out, transform 0.2s ease-out;}
.border-right {right:0; top:0; height:calc(100% - 176px); width:80px; transform-origin: right center;}
.border-left {left:0; top:0; height:calc(100% - 176px); width:80px; transform-origin: left center;}
.border-white {position:absolute;background:#000; transition: width 0.4s ease-out, height 0.4s ease-out, transform 0.2s ease-out; height:176px; width:80px; bottom:0;}
.border-white.white-left {left:0; transform-origin: left center;}
.border-white.white-right {right:0; transform-origin: right center;}

.work {position:relative; }
.work_header {position:relative; margin-bottom:32px; margin-top:0px;}
.index .right_link {position:absolute; right:0; top:30px;}
.work .grid {width:calc(100% + 24px); margin-left:-12px;}
.work .project_link {padding:12px; position:relative; float:left; width:42%; margin-bottom:64px;}
.work .project_link:nth-of-type(4n + 1), .work .project_link:nth-of-type(4n) {width:58%;}
.work .project_link:nth-child(2n+1){ clear:left; }
.work .project_link .project_image {position:relative; width:100%; aspect-ratio: 16 / 9; overflow:hidden; }
.work .project_link picture img { position:absolute; width:100%; height:100%; object-fit: cover; transition:all .25s ease-out;}
.work .project_link:hover img {-webkit-transform:scale(1.03); transform: scale(1.03);} 
.work .project_link:hover .video img {-webkit-transform:scale(1); transform: scale(1);} 
.work .project_link h3 {font-size: 1.25rem; line-height: 1.3; text-transform:uppercase; margin:24px 0 4px; max-width:500px;}
.work .project_link p {max-width:500px;}

.work .project_link .project_image .project_video {position:absolute; width:100%; height:100%; }
.work .project_link .project_image .project_video video {position:absolute; width:100%; height:100%; object-fit: cover;}

.awards {margin-bottom:64px;}
.marquee { --gap: 1rem; position: relative; display: flex;  overflow: hidden;  user-select: none;  gap: var(--gap); }
.marquee__content { flex-shrink: 0; display: flex; justify-content: space-around; gap: var(--gap); min-width: 100%; animation: scroll 20s linear infinite;	}
@keyframes scroll { from {transform: translateX(0); } to { transform: translateX(calc(-100% - var(--gap))); }}
/* .marquee--hover-pause:hover .marquee__content { animation-play-state: paused; } */
.marquee__content li { display:flex;  margin: 2px; padding: 1rem 2rem;  justify-content: center;
align-items: center;}

.competences_left {width:calc(100% - 713px); padding-right:96px;}
.competences_right {width:713px;}
.competences_left h2 {margin-bottom:50px;}
.competence h3 {position:relative; padding-right:80px; cursor:pointer;}
.competence h3:after { font-family:'font_light'; content: "+"; font-size:2.5rem; width:80px; height:80px; line-height:80px; text-align:center; border-radius:50%; background:var(--lightgrey); position:absolute; right:0; top:-18px; transition:all .25s ease-out;}
.competence h3:hover:after {background:var(--green);}
.competence h3.on:after {content: "-"; }
.competence {border-bottom:1px solid var(--grey); padding-bottom:48px; margin-bottom:48px;}
.competence:last-child {border-bottom:none;}
.competence_text {margin-top:48px;}

.home_news_list {display:grid; grid-template-columns: repeat(3, 1fr); gap:24px; align-items:stretch;}
.home_news_list .news_link .project_image {position:relative; width:100%; padding-bottom:56.25%; overflow:hidden; }
.home_news_list .news_link picture img { position:absolute; width:100%; height:100%; object-fit: cover; transition:all .25s ease-out;}
.home_news_list .news_link:hover img {-webkit-transform:scale(1.03); transform: scale(1.03);} 
.home_news_list .news_link .category {text-transform:uppercase; margin:24px 0 4px; font-family: "font_regular";}
.home_news_list .news_link h3 {font-family: "font_light"; font-size: 1.25rem; line-height: 1.3; text-transform:none; margin:5px 0 0; max-width:415px;}
.home_news_list .news_link:nth-child(4) {display:none;}

.get_in_touch {padding:var(--96) 0 192px; }
.get_in_touch.touch_grey {background:var(--lightgrey); padding:192px 0; }
.get_in_touch h2 {margin-bottom:50px; max-width:1000px;}

/* work */
.show_filter {background:transparent; font-size: 1.125rem; font-family: "font_regular"; margin:24px 0 24px; display:none;}
.filter-button-group {margin:80px 0 40px; position:relative;}
.filter-button-group button {background:none; color:var(--grey); font-family:'font_regular'; font-size: 1.25rem; line-height:1.1; margin-right:64px; letter-spacing:1px; position:relative; transition:all 0.3s ease-out;}
.filter-button-group button:last-child {margin-right:0;}
.no-touchevents .filter-button-group button:hover, .filter-button-group button.checked { color:#000; }
.project_link.opacity {opacity:0;}
.project_link.inview.opacity {opacity:1;}

/* project */
.project .ce_image {padding:0 80px; max-width:1920px; margin:var(--96) auto 0;}
.project .ce_vimeo, .project .ce_video, .project .ce_youtube, .project .ce_player {padding:0 80px; max-width:1920px; margin:var(--96) auto 0;}
.project .ce_image.hero, .project .ce_vimeo.hero, .project .ce_video.hero, .project .ce_youtube.hero, .project .ce_player.hero {padding:0; max-width:100%;}
.project .hero_video, .project .full_video , .project .video_75, .project .video_50 {margin-top:var(--96); }
.project .video_75 { position:relative; width:75%; }
.project .video_50 { position:relative; width:50%; float:right; }
.project .ce_player.video_left_75 .video_container { width:75%; padding-bottom:42.2%;}

.ce_image.fullwidth img {width:100%; height:auto;}
.project .ce_gallery {margin:192px auto 0; max-width:1920px; padding:0 80px 48px;}
.project .ce_gallery .drag_container {padding:0;}
.projectheader {position:relative; }
.projectheader h1 {opacity:1; transform: translateX(0px);}
.projectheader .subheadline, .nextheader .subheadline {margin-top:24px;}
.projectheader .subheadline h2, .nextheader .subheadline h2 {font:2rem/1.1'font_light';}
.project-data {padding:var(--96) 80px 0; max-width:1920px; margin:auto;}
.project-data .data_left {float:left; width:50%;}
.project-data .data_right {float:right; width:30%;}
.client_year, .discipline_sector {float:left; width:50%;}
.client {padding-right:40px;}
.project-data h4 {text-transform:uppercase; margin-bottom:16px;}
.year, .discipline {margin-top:36px;}
.project .ce_text {margin:var(--96) auto 0; padding:0 35% 0 80px; max-width:1920px; }
.project .ce_text h3 { font-size: 2rem; line-height: 1.1; margin-bottom:24px; }
.image-right-50 {text-align:right;}
.project .ce_image img {width:100%; height:auto;}
.project .ce_image.image-right-50 img {width:50%; height:auto;}
.project .ce_image.image-left-75 img {width:75%; height:auto;}
.project p.back, .mod_news_related p.related_info {display:none;} 
.next_project {background:var(--lightgrey); padding:var(--96) 0 0; position:relative; height:50vw; overflow:hidden; transition:all .25s ease-out;}
.next_project.active {height:100vh; background:#fff;}
.next_project a {display:block;}
.next_project .next_p {margin-bottom:30px; margin-left:3px; transition:all .25s ease-out;}
.next_project .next_p p {position:relative; z-index:1; display:inline-block;}
p.more_link {position:relative; font:1.5rem/1.1'font_regular';}
p.more_link:before { content: ""; position: absolute; z-index:-1; width:0; height:10px; bottom:0px; left: 0; background-color:var(--green); transition: all 0.5s ease-in-out 0s; }
.next_project a:hover p.more_link:before { width:100%; }
.next_project.active .next_p {color:transparent; margin-bottom:0; line-height:0;}
.next_project.active .next_p p.more_link:before { width:0; }
.nextheader {position:relative; transition:all .25s ease-out;}
.next_project.active .nextheader {}
.nextheader .subheadline {transition:all .25s ease-out; opacity:0; margin-top:0; height:0;}
.next_project.active .nextheader .subheadline {opacity:1; margin-top:24px; height:auto;}
.next_project .ce_image.hero {padding:0 80px; transition:all .25s ease-out;}
.next_project.active .ce_image.hero {padding:0;}

/* services */
.services .pageheader h1, .service-sub .pageheader h1 {padding-bottom:var(--96);}
.service_nav {text-transform:uppercase; font-size:1.375rem; line-height:1.5;}
.service_nav li {display:inline; margin-right:50px;}
.service_nav li:last-child {margin-right:0;}
.service_nav li a, .service_all a {color:#989898;}
.service_nav li a:hover, .service_all a:hover {color:#000;}
.services .service_nav li:first-child a {color:#000;}
.service {margin-top:48px; }
.service_header {position:relative; padding-bottom:48px; padding-right:100px; cursor:pointer;}
.service_header:before { content: ""; position: absolute; width:0; height:1px; top: 0px; left: 0; background-color:var(--grey); visibility: hidden; transition: all 0.5s ease-in-out 0s; }
.service_header.show:before {width:100%; visibility: visible;}
.service_header:after { font-family:'font_light'; font-size:2.5rem; content: "+"; width:80px; height:80px; line-height:80px; text-align:center; border-radius:50%; background:var(--lightgrey); position:absolute; right:0; top:80px; transition:all .25s ease-out;}
.service_header:hover:after {background:var(--green);}
.service.on .service_header:after {content: "-"; }
.service_header .ce_text {position:relative; padding-top:var(--96); max-width:868px;}
.service_header .ce_text h3 {margin-bottom:24px; font-family: "font_light"; font-size: 3rem; }
.service_content {margin-top:36px;}
.service_content ul { max-width:1000px; columns: 2; }
.service_content .ce_gallery {margin:var(--96) 0 96px; }
.service_content .cols { display:grid; grid-template-columns: repeat(3, 422px); gap:24px; }
.service_content .column h4 { font-size: 1.25rem; line-height: 1.25; font-family: "font_light"; text-transform:uppercase; margin-bottom:20px;}

/* service-sub */
.service-intro { position:relative; display:grid; grid-template-columns:38% 55%; gap:0 7%; margin-top:48px; padding:144px 0;}
.service-intro:before { content: ""; position: absolute; width:0; height:1px; top: 0px; left: 0; background-color:var(--grey); visibility: hidden; transition: all 0.5s ease-in-out 0s; }
.service-intro.show:before {width:100%; visibility: visible;}
.service-intro h2 {font-size:3rem; font-family: "font_light"; font-weight: 300; margin-bottom:48px;}
.service-faq .ce_accordion { position:relative; display:grid; grid-template-columns:40% 55%; gap:0 5%; margin-top:48px; padding:48px 0;}
.service-faq .ce_accordion h3 { font-family: "font_light"; font-weight: 300; }
.check-more {padding:48px 0;}
.check-more a {float:right;}
.discover-more {padding:var(--96) 0;}
.discover {position:relative; font:1.5rem/1.1'font_regular'; display:inline-block;}
.discover:before { content: ""; position: absolute; z-index:-1; width:0; height:10px; bottom:0px; left: 0; background-color:var(--green); transition: all 0.5s ease-in-out 0s; }
.discover-more a:hover .discover:before { width:100%; }
.discover-more h4 { margin:24px 0 48px; font-family:'font_regular'; font-weight: 400; }
.discover-more .next-images { display:grid; grid-template-columns:1fr 1fr 1fr; gap:24px; }

/* about */
.about h1 {max-width:1500px; margin-bottom:var(--96);}
.about_locations h3 {max-width:1300px;}
.numbers {display:grid; grid-template-columns: repeat(4, 1fr); gap:24px; align-items:stretch; margin-bottom:var(--96);}
.numbers h5 {}
.number { font-family: "font_light"; font-size: 7.3rem; line-height: 1.3;}
.innovation {padding:120px 80px 60px; display:grid; grid-template-columns: repeat(2, 1fr); gap:96px;}
.lottie {position:relative; top:-5vw;}
.innovation_text p {margin:24px 0 48px;}
.clients {padding:var(--96) 0;}
.all_team h2 {max-width:1000px; margin-bottom:64px;}
.team_list {display:grid; grid-template-columns: repeat(4, 1fr); gap:64px 24px; align-items:stretch;}
.team_image {position:relative; width:100%; aspect-ratio: 5.5 / 4.13; overflow:hidden; background:var(--lightgrey);}
.team_image img { position:absolute; width:100%; height:100%; object-fit: cover; transition:all .25s ease-out;}
.team_text h4 {text-transform:uppercase; margin:20px 0 5px;}
.history {background:var(--lightgrey);}
.history h2 {max-width:1000px; margin-bottom:64px;}

/* news */
.news .work .project_link .category {text-transform:uppercase; margin:24px 0 4px; font-family: "font_regular";}
.news .work .project_link h3 {font-family: "font_light"; font-size: 1.25rem; line-height: 1.3; text-transform:none; margin:5px 0 0; max-width:500px;}

/* news detail */
.article .pageheader h1 {max-width:1000px; }
.article .ce_text, .article .ce_image, .article .ce_vimeo, .article .ce_video { max-width:1920px; margin:0 auto; position:relative; padding:0 80px;}
.article .ce_text, .article .ce_image, .article .ce_vimeo, .article .hero_video, .article .full_video , .article .video_75, .article .video_50 {margin-top:var(--96); }
.article .ce_text.author {max-width:1920px; margin-top:48px; }
.article .ce_image.hero {padding:0; width:100%; max-width:100%;}
.article .ce_image img {width:100%; height:auto;}
.article .video_75 { position:relative; width:75%; }
.article .video_50 { position:relative; width:50%; float:right; }
.article .ce_image.image-right-50 img {width:50%; height:auto;}
.article .ce_image.image-left-75 img {width:75%; height:auto;}
.article .by_date {font-size: 2rem; margin-top:24px;}
.article .ce_text {margin:var(--96) auto 0; padding:0 35% 0 80px; max-width:1920px; }
.article .article_content h2, .article .article_content h3 { font-size: 2rem; line-height: 1.1; margin-bottom:24px; }
.article .share_links {margin:20px 0 48px;}
.article .share_links li {display:inline; margin-right:20px;}
.article .share_links a:hover {color:var(--green);}
.article p.back {display:none;}
.mod_newsreader .ce_text a {text-decoration:underline;}
.article .ce_text a:hover {color:var(--green);}
.ce_vimeo .video_container, .ce_player .video_container, .ce_youtube .video_container iframe { position: relative; padding-bottom: 56.25%; width: 100%; height: auto;} 
.ce_vimeo .video_container iframe, .ce_player .video_container video, .ce_youtube .video_container iframe { position: absolute; top: 0; left: 0; right: 0; bottom: 0; width: 100% !important; height: 100% !important;}
a.go_back { width:80px;  height: 80px; background-color:var(--lightgrey);  border-radius: 100vw;  position: relative; margin-top:96px; transition:all 0.15s ease-out;}
a.go_back span.icon {position:absolute; top:28px; left:30px; transition:all 0.3s ease-out; }
.no-touchevents a.go_back:hover {background-color:var(--green); width:auto;}
.no-touchevents a.go_back .see {position:absolute; line-height:80px; left:65px; transition:all 0.3s ease-out; width:0;  height: 80px; opacity:0; overflow:hidden;}
.touchevents a.go_back .see {display:none;}
.no-touchevents a.go_back:hover {width:215px; opacity:1;}
.no-touchevents a.go_back:hover .see { transition:all .05s ease-out .05s; width:150px; opacity:1;} 

/* contact */
.contact .pageheader {padding-bottom:var(--96);}
.locations {padding-top:var(--96);}
.location {margin-bottom:80px; display:grid; grid-template-columns:33.3333% 66.6666%;}
.location .address {}
.location .address h2 {font-family: "font_regular"; font-size: 1.25rem; line-height: 1.1; text-transform:uppercase; margin-bottom:15px;}
.location .address a.tel {display:block; margin-top:24px;}
.location .address a.email {display:block; margin-top:8px;}
.location .address a.tel:hover, .location .address a.email:hover {color:var(--green);}
a.circle { width:80px;  height: 80px; background-color:var(--lightgrey);  border-radius: 100vw;  transition:all 0.15s ease-out; position: relative; margin-top:20px;}
a.circle span.icon {position:absolute; top:28px; right:30px;  transform: rotate(180deg);}
.no-touchevents a.circle:hover {background-color:var(--green); width:auto;}
.no-touchevents a.circle .see {position:absolute; line-height:80px; left:30px; width:0;  height: 80px; opacity:0; overflow:hidden;}
.touchevents a.circle .see {display:none;}
.no-touchevents a.circle:hover {width:210px; opacity:1;}
.no-touchevents a.circle:hover .see { transition:all .05s ease-out .05s; width:150px; opacity:1;} 
.no-touchevents .career a.circle:hover {width:230px; opacity:1;}

.more-contact-links {display:grid; grid-template-columns: repeat(4, 1fr); border-top:1px solid var(--grey); border-bottom:1px solid var(--grey); padding:80px 0;}
.more-contact-links h3 {font-family: "font_regular"; font-size: 1.25rem; line-height: 1.1; text-transform:uppercase; margin-bottom:15px;}
.more-contact-links a:hover {color:var(--green);}

/* careers */
.positions {padding:96px 0;}
.careers .content {padding-top:var(--96);}
.careers .hero {margin-top:var(--96);}
.pageheader_link {margin-top:48px;}
#positions .open {margin-top:64px; border-top:1px solid var(--grey); font:2rem/1.1'font_regular';}
#positions .open a {display:block; position:relative; line-height:80px; border-bottom:1px solid var(--grey); padding:32px 90px 32px 0;}
#positions .open a span {position:absolute; right:300px; font-size:1.25rem; margin-top:3px;}
#positions .open a:before {position:absolute; right:0; content: ''; width:80px;  height: 80px; background-color:var(--lightgrey);  border-radius: 100vw; transition:all 0.3s ease-out;}
#positions .open a:after {position:absolute; right:28px; top:30px; font-family: 'icons'; content: "\e906";  font-size:1.5rem; transform: rotate(180deg);}
#positions .open a:hover:before {  background-color:var(--green); }
.office {padding-top:var(--96);}

/* legal_content */
.legal .legal_content {margin-bottom:48px; max-width:1000px;}
.data_privacy.legal .legal_content {max-width:1300px; word-wrap: break-word;}
.legal .pageheader {margin-bottom:var(--96);}
.legal h1 {margin-bottom:24px;}
.legal h2 {font:2rem/1.1'font_regular'; margin-bottom:10px;}
.legal h3 {font:2rem/1.1'font_light';}
.legal .ce_text {margin-top:48px;}
.data_privacy strong {font-family: "font_light"; font-weight:300; display:block;}
.data_privacy h2, .data_privacy h3 {font:1.25rem/1.5'font_light';}

.project .ce_gallery {margin:192px auto 0; max-width:1920px; padding:0 80px 48px;}
.project .ce_gallery .drag_container {padding:0;}

@media (max-width: 1920px) { 
	.project .ce_gallery {margin:192px auto 0; max-width:1920px; padding:0 0 48px 0;}
	.project .ce_gallery .drag_container {padding:0 80px;}
}
@media (max-width: 1500px) { 
	.innovation {padding:64px 0;}
	.lottie {top:0;}
	.competences_left h2 {font-size: 4.5rem;}
}
@media (max-width: 1400px) { 
	.numbers {grid-template-columns: repeat(2, 1fr); gap:64px 24px; }
	.number { font-family: "font_regular"; font-size: 5.75rem; line-height: 1.1;}
	.competences_left h2 {font-size: 3.25rem;}
	.service_content .cols { display:grid; grid-template-columns: repeat(3, 1fr); gap:24px; }
}
@media (max-width: 1250px) { 
	.index_logo, .intro_logo img {  width:250px; height:auto; }
	.index_logo.start { margin-left:-50px; margin-top:-15px; transform: scale(0.6); }
	/* work */
	.project-data .data_right {float:right; width:35%;}
	.project .ce_text, .article .ce_text {padding:0 30% 0 80px;}
	.competences_left h2 {font-size: 3rem;}
}
@media (max-width: 1200px) { 
	.video-borders {display:none;}
	.competences_left {width:45%;padding-right:0;}
	.competences_right {width:50%;}
	/* about */
	.about h1 br {display:none;}
	.number { font-size: 4rem; line-height: 1.1;}
	.team_list {grid-template-columns: repeat(3, 1fr);}
	/* contact */
	.location {grid-template-columns:50% 50%;}
	#positions .open a span {position:absolute; right:200px;}
	.service_header .ce_text h3 {font-size: 2.5rem; }
	.service-intro { position:relative; display:block; margin-top:48px; padding:144px 0;}
	.service-intro-left {margin-bottom:48px;}
	.service-faq .ce_accordion { display:block; }
	.service-faq .ce_accordion h3 {margin-bottom:36px;}
}
@media (max-width: 1150px) {
	.index_logo, .intro_logo img {  width:150px; height:auto; }
	.index_logo.start { margin-left:-0; margin-top:0; transform: scale(1); }
}
@media (max-width: 1100px) { 
	.index_logo { display:none; }
	.intro_logo { top:38px; }
	.intro_logo img { width:120px; height:auto; }
	.index header .logo {display:block;}
	.index .intro {padding:80px 0 64px; }
	.index .intro .intro_text {float:none; width:100%; }
	body.black .logo {color:#fff !important;}
}
@media (max-width: 1024px) { 
	.innovation {gap:24px;}
	.lottie {left:-5%;}
	/* work */
	.project-data .data_left {float:none; width:100%; margin-bottom:48px;}
	.project-data .data_right {float:none; width:100%;}
	/* contact */
	.more-contact-links {display:grid; grid-template-columns: repeat(2, 1fr); gap:48px; border-top:1px solid var(--grey); border-bottom:1px solid var(--grey); padding:80px 0;}
	.service_header .ce_text h3 {font-size: 2rem; }
	.service_content .cols { display:grid; grid-template-columns: repeat(2, 1fr); gap:24px; }
	.service_content .cols .column:nth-child(3) {margin-top:24px;}
	.service-intro { padding:72px 0;}
	.service-intro h2 {font-size:2.5rem; }
	.service-faq .ce_accordion { margin-top:0; }
	.get_in_touch.touch_grey {padding:144px 0; }
}
@media (max-width: 961px) { 
	.padding_96 {padding:64px 0;}
	.nav_fix .mod_navigation {display:none;}
	.nav_fix .hamburger {display:block; top:14px;}
	.intro_logo { top:32px; }
	.intro_logo img { width:100px; height:auto; }
	body.black header .navigation {display:block; margin-top:120px;}
	
	.index .right_link {top:20px;}
	.work .grid {width:calc(100% + 12px); margin-left:-6px;}
	.work .project_link {padding:6px; margin-bottom:48px;}
	.work .project_link h3 {font-size: 1.125rem; line-height: 1.3; margin:12px 0 5px;}
	.competences_left h2 {font-size: 2.625rem;}
	.competences_left, .competences_right {width:100%;}
	.competences_right {margin-top:64px;}
	.home_news .work_header {margin-top:0px;}
	.home_news_list {grid-template-columns: repeat(2, 1fr); gap:12px;}
	.home_news_list .news_link {margin-bottom:24px;}
	.home_news_list .news_link:nth-child(4) {display:block;}
	.home_news_list .news_link h3 {font-size: 1.125rem; }
	.get_in_touch { padding: var(--96) 0 128px; }
	/* work */
	.marquee img {transform: scale(0.75);}
	.filter-button-group {margin:48px 0 24px;}
	.filter-button-group button { font-size: 1.125rem; margin-right:48px;}
	.project .ce_text, .project .ce_image,  .next_project .ce_image.hero, .article .ce_text {padding:0 64px;}
	.project .ce_gallery {margin-top:var(--96); padding-bottom:0;}
	.projectheader .subheadline h2, .nextheader .subheadline h2 {font:1.5rem/1.1'font_light';}
	.project-data {padding:var(--96) 64px 0; }
	.project .content .ce_text h3 { font-size: 1.5rem; line-height: 1.1; }
	.project .ce_text, .article .ce_text {width:100%;}
	.project .ce_image.image-right-50 img {width:75%; height:auto;}
	.project .ce_gallery .drag_container {padding:0 64px;}
	p.more_link {position:relative; font:1.125rem/1.3'font_regular';}
	p.more_link:after { height:6px; bottom:3px; }
	/* services */
	.service {margin-top:24px;}
	.service.spatial {margin-top:48px;}
	.service_header:after { top:48px; width:64px; height:64px; line-height:64px;}
	.services h1 br {display:none;}
	.service_content {margin-top:24px;}
	.service_content ul { columns: 1; }
	/* about */
	.innovation {padding:64px 0; }
	.team_list {grid-template-columns: repeat(2, 1fr); gap:64px 12px;}
	/* careers */
	.positions {padding:94px 0 64px;}
	#positions .open {font:1.5rem/1.25'font_regular';}
	#positions .open a {line-height:1.3; padding:48px 60px 48px 0;}
	#positions .open a span {position:absolute; right:auto; left:350px;}
	#positions .open a:before {width:50px;  height: 50px; top:36px;}
	#positions .open a:after {right:16px; top:48px; font-size:1.125rem; }
	/* contact */
	a.circle { width:64px;  height: 64px; margin-top:40px;}
	a.go_back { width:64px;  height: 64px; }
	a.circle span.icon { position:absolute; font-size:1.125rem; top:22px; right:22px; transition:all 0.3s ease-out;  transform: rotate(180deg);}
	a.go_back span.icon { position:absolute; font-size:1.125rem; top:22px; left:22px; }
	.no-touchevents a.circle .see, .no-touchevents a.go_back .see { line-height:64px; height: 64px; }
	.touchevents a.circle .see, .touchevents a.go_back .see {display:none;}
	.location .address h2 {font-size: 1rem; line-height: 1.25; }
	/* news */
	.news .work .project_link h3 {font-size: 1.25rem; line-height: 1.3; }
	.article .ce_text, .article .ce_image, .article .ce_vimeo, .article .ce_video {padding:0 64px;}
	.article .article_content h2, .article .article_content h3 { font-size: 1.5rem; }
	.article .by_date {font-size:1.5rem; }
	.article .ce_image.image-right-50 img {width:75%; height:auto;}
}
@media (max-width: 770px) {
	.contao-cookiebar .cc-btn {margin:10px 0px;}
	.service_content {margin-top:0;}
	.service_content .cols { display:grid; grid-template-columns: repeat(1, 1fr); gap:36px; }
	.service_content .cols .column:nth-child(3) {margin-top:0;}
}
@media (max-width: 600px) {
	.contao-cookiebar .cc-btn {height:50px; line-height:50px; border:none; border-radius:25px; font:1.25rem/1'font_regular'; margin:10px 0px;}
	.padding_96 {padding:48px 0;}
	.hero {padding:0 24px;}
	.project .hero {padding:0;}
	.index .intro {padding:80px 0 180px; }
	.index .right_link {position:relative; right:auto; top:20px; margin-bottom:36px;}
	.work .project_link {float:none; width:100%; margin-bottom:48px;}
	.work .project_link:nth-of-type(4n + 1), .work .project_link:nth-of-type(4n) { width:100%; }
	.awards {margin-bottom:0; padding:0 0 48px 0;}
	.competences_left, .competences_right {width:100%;}
	.competences_right {margin-top:64px;}
	.competences_left h2 { margin-bottom: 24px; }
	.competence h3:after { width:50px; height:50px; line-height:50px; top:-12px; }
	.home_news .work_header {margin-top:-36px;}
	.home_news_list {grid-template-columns: repeat(1, 1fr); gap:0;}
	.home_news_list .news_link {margin-bottom:48px;}
	.home_news_list .news_link:nth-child(4) {display:none;}
	.get_in_touch { padding: var(--96) 0 96px; }
	.get_in_touch h2 {margin-bottom:24px;}
	/* work */
	.show_filter {display:block;}
	.filter-button-group {border-top:1px solid var(--grey); padding-top:20px; margin:0 0 24px; display:none;}
	.filter-button-group button { position:relative; width:100%; margin-right:0; margin-bottom:10px; text-align:left;}
	.work_list {margin-top:48px;}
	.projectheader .subheadline h2, .nextheader .subheadline h2 {font:1rem/1.3'font_light';}
	.project-data { display:block; padding:94px 24px 0; }
	.project-data h4 {margin-bottom:10px;}
	.client_year, .discipline_sector {float:none; width:100%;}
	.sector {margin-top:36px;}
	.project .ce_text, .project .ce_image, .next_project .ce_image.hero {padding:0 24px;}
	.project .ce_vimeo, .project .ce_video, .project .ce_youtube, .project .ce_player {padding:0 24px;}
	.project .ce_image.image-right-50 img, .project .ce_image.image-left-75 img {width:100%; height:auto;}
	.project .ce_gallery .drag_container {padding:0 24px;}
	.next_project {height:80vw; }
	/* services */
	.service {margin-top:0;}
	.service_nav li {display:block; margin-right:0;}
	.service_header {padding-right:70px;}
	.service_header:after {width:50px; height:50px; line-height:50px; top:35px;}
	.service_content {margin-top:0;}
	.service_header .ce_text h3 {font-size: 1.5rem; }
	.service-intro h2 {font-size:2rem; }
	.service-faq .ce_accordion { padding:24px 0;}
	.service-faq .ce_accordion h3 {margin-bottom:24px;}
	.check-more {padding:0 0 48px;}
	/* about */
	.about_locations {padding:94px 0 48px;}
	.numbers {grid-template-columns: repeat(1, 1fr); gap:48px 24px; }
	.number { font-family: "font_light"; font-size: 7.3rem; line-height: 1.3;}
	.numbers h5 {max-width:100%;}
	.innovation {grid-template-columns: repeat(1, 1fr); gap:48px; }
	.lottie {left:0;}
	.all_team {padding:48px 0 94px;}
	.team_list {gap:48px 12px;}
	.team_text, .team_text h4 {font-size: .875rem;}
	/* contact */
	.location {display:block; margin-bottom: 94px;}
	.location .office_image {}
	.more-contact-links {grid-template-columns: repeat(1, 1fr); }	
	a.circle, a.go_back { width:50px;  height: 50px; top: -25px;}
	.no-touchevents a.circle, .no-touchevents a.go_back {width:50px;}
	a.circle span.icon {top:15px; right:17px; }
	a.go_back span.icon {top:15px; left:17px; }
	a.circle .see, a.go_back .see {display:none; }	
	/* news */
	.news .work .project_link h3 {font-size: 1rem; line-height: 1.3; }
	.article .ce_text, .article .ce_image, .article .ce_vimeo, .article .ce_video {padding:0 24px;}
	.article .ce_image.image-right-50 img, .article .ce_image.image-left-75 img {width:100%; height:auto;}
	/* career */
	.positions {padding:94px 0 48px;}
	#positions .open a span {position:relative; right:auto; left:auto; font-size:1rem; display:block; margin-top:10px;}
	#positions .open a:before {top:50px;}
	#positions .open a:after {top:62px; }
	/* legal */
	.data_privacy h1 {font-size:2rem;}
	.get_in_touch.touch_grey {padding:96px 0; }
}