@font-face {
  font-family: 'Artex';
  src: url('/assets/fonts/Artex-Regular.eot');
  src: url('/assets/fonts/Artex-Regular.eot?#iefix') format('embedded-opentype'),
	   url('/assets/fonts/Artex-Regular.woff2') format('woff2'),
	   url('/assets/fonts/Artex-Regular.woff') format('woff');
  font-weight: 400;
  font-style: normal;
}


:root {
	--color-main: #1E2ABD;
	--color-main-architektur: #000000;
	
	--font-main: 'Artex','Arial',sans-serif;
	
	--fontsize-small: 15px;
	--fontsize-base: 18px;
	--fontsize-medium:30px;
	--fontsize-large:54px;
	
	--abstand: 20px;
	--abstand-double: calc(var(--abstand) * 2);
	--abstand-gross: 76px;
	--topbar-height: 76px;
	--header-height: 545px;
	
	--grid: 12;
	--grid-gap: 16px;
	
	--border-radius:8px;
	--border-radius-secondary:5px;
	
}

.b-home header a{
	position:relative;
	z-index:2;
}

.header-video-bg{
	
	  position:absolute;
	  width:100%;
	  height:100%;
	  overflow:Hidden;
	  z-index:1;
}
.header-video-bg video{
	/*-webkit-clip-path: inset(100px 0 0 0);*/
	 /*clip-path: inset(0 86% 86% 0);*/
	 width:8000%;
	 height:8000%;
	 max-width:none;
	 max-height:none;
	 object-fit: cover;
}


html{
	scroll-behavior: smooth;
}

body{
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	
	background-color:white;
	color:var(--color-main);
	font-family:var(--font-main);
	font-feature-settings: 'ss01' 1;
	font-size:var(--fontsize-base);
	line-height:1;
	
	overscroll-behavior: none;
}



h1{
	font-size:var(--fontsize-large);
	padding-bottom:var(--abstand);
}
h2{
	font-size:var(--fontsize-large);
	padding-bottom:var(--abstand);
}


h3{
	
}

a{
	color:var(--color-main);
	text-decoration: none;
	text-decoration-thickness: from-font;
	/*transition:all .2s ease;*/
}
a:hover{
	
}

.image-ratio-1-1{
	aspect-ratio: 1 / 1;
	object-fit: cover;
}

.image-ratio-4-3{
	aspect-ratio: 4 / 3;
	object-fit: cover;
}
.image-ratio-5-4{
	aspect-ratio: 5 / 4;
	object-fit: cover;
}
.image-ratio-8-5{
	aspect-ratio: 8 / 5;
	object-fit: cover;
}


.text-large{
	font-size: var(--fontsize-large) !important;
}

video{
	display:block;
	
	/*opacity:.99;*/
	/*background-color:var(--color-main);*/
}

.b-gebaeudetechnik.b-home video,
.b-gebaeudetechnik.b-kompetenzen-detail video{
	opacity:0;
	transition:opacity 1.2s ease;
}
.b-gebaeudetechnik.b-home video.has-loaded,
.b-gebaeudetechnik.b-kompetenzen-detail video.has-loaded{
	opacity:1;
	/*opacity:.99;*/
}
.b-home.b-gebaeudetechnik video.has-loaded

.hidden-mobile{
	display:block;
}
.hidden-desktop{
	display:none;
}


.video-desktop{
	display:block;
}
.video-tablet{
	display:none;
}
.video-mobile{
	display:none;
}




/* ---------------------------------
	
	GENERAL LAYOUT STUFF
	
-----------------------------------*/

.page-wrapper{
	min-height:100vh;
	display:flex;
	flex-direction: column;
	justify-content: space-between;
}

.container{
	max-width:1920px;
	margin:0 auto;
}
.container-wide{
	max-width:100%;
}
main{
	/*padding-left:var(--grid-gap);
	padding-right:var(--grid-gap);*/
	/*padding-top:var(--topbar-height);*/
}
body.b-kompetenzen main,
body.b-projekte main,
body.b-kompetenzen main{
	padding-top:var(--topbar-height);	
}



header{
	background-color:var(--color-main);
	display:flex;
	justify-content: center;
}
header a{
	display:flex;
	justify-content: center;
	height:100%;
	width:100%;
	
}
header video{
	width:auto;
	height:100%;
	max-width:100%;
}
header img{
	width:100%;
	height:100%;
	object-fit: contain;
}


.btn{
	border:1px solid var(--color-main);
	border-radius: var(--border-radius);
	display:inline-block;
	font-size:var(--fontsize-base);
	padding:9px 12px;
}


.btn:hover,
.btn.act,
.btn-blue{
	background-color:var(--color-main);
	color:white;
}
.btn-small{
	font-size:var(--fontsize-small);
	border-radius: var(--border-radius-secondary);
	padding:5px 7px;
}
h3.btn:hover,
h3.btn-small:hover{
	background-color:transparent;
	color:var(--color-main);
}
.btn-blue:hover{
	background-color:black;
	border-color:black;
}
.btn-arrow{
	background-image:url(/assets/bilder/arrow-desktop.svg);
	background-size:26px 16px;
	background-repeat:no-repeat;
	background-position: center right 8px;
	padding-right:40px;
}
.btn-arrow:hover{
	background-image:url(/assets/bilder/arrow-desktop-white.svg);
}

section{
	padding:var(--abstand);
	border-bottom:1px solid var(--color-main);
}
main section:last-child{
	border-bottom:0px;
}

section.s-contentblock{
	padding:var(--abstand);
}
section.s-contentblock p{
	font-size: var(--fontsize-medium);
	padding-bottom:var(--abstand);
}
section.s-contentblock table{
	font-size: var(--fontsize-medium);
}
section.s-contentblock table tr td:first-child{
	font-feature-settings: "tnum";
	min-width:220px;
}
section.s-contentblock table tr td:last-child{
	width:100%;
}
section.s-contentblock h2 p{
	font-size:inherit;
	padding-bottom:0;
}
section.s-contentblock.contentblock-padding{
	padding:var(--abstand-gross) var(--abstand);
}
section.s-contentblock.contentblock-padding .section-content{
	grid-column: 3 / span 8;
}

.section-content img{
	border-radius: var(--border-radius);
}

/* ---------------------------------
	
	GRID SETUP
	
-----------------------------------*/

.grid-container{
	display:grid;
	grid-template-columns: repeat(var(--grid), 1fr);
	column-gap: var(--grid-gap);
	row-gap: var(--grid-gap);
	/*padding:var(--abstand) 0;*/
}
.grid-1{ grid-column: span 1; }
.grid-2{ grid-column: span 2; }
.grid-3{ grid-column: span 3; }
.grid-4{ grid-column: span 4; }
.grid-5{ grid-column: span 5; }
.grid-6{ grid-column: span 6; }
.grid-7{ grid-column: span 7; }
.grid-8{ grid-column: span 8; }
.grid-9{ grid-column: span 9; }
.grid-10{ grid-column: span 10; }
.grid-11{ grid-column: span 11; }
.grid-12{ grid-column: span 12; }
.grid-13{ grid-column: span 13; }
.grid-14{ grid-column: span 14; }
.grid-15{ grid-column: span 15; }
.grid-16{ grid-column: span 16; }
.grid-all{ grid-column: 1/-1; }


/* ---------------------------------
	
	TOP BAR / NAV
	
-----------------------------------*/

.logo{
	display:block;
	position:fixed;
	z-index:8;
	top:-1px;
	left:-1px;
	width:auto;
	height:var(--topbar-height);
}

.logo-zusatz{
	position:absolute;
	z-index:8;
	top:0px;
	left:185px;
	width:187px;
	height:var(--topbar-height);
	background:white;
	display:flex;
	justify-content: center;
	align-items: center;
	border-bottom-right-radius: var(--border-radius)
}

.logo-abdecker{
	display:none;
}


nav{
	width:85px;
	height:var(--topbar-height);
	background-color:white;
	border-bottom-left-radius:var(--border-radius);
	border:1px solid var(--color-main);
	position:fixed;
	z-index:10;
	top:-1px;
	right:-1px;
	overflow:hidden;
	transition:width .5s ease, height .5s ease;
}
.nav--inner{
	width:600px;
	height:333px;
	position:absolute;
	right:0;
	top:0;
}
nav.open{
	width:600px;
	height:333px;
}

/* HAMBURGER ICON */
nav button.hamburger{
	display:block;
	position:absolute;
	z-index:12;
	right:0;
	top:0;
	width:83px;
	height:calc(var(--topbar-height) - 2px);
	border: 0;
	background-color: transparent;
	padding:0;
	cursor:pointer;
}
.hamburger-line-middle,
.hamburger::before,
.hamburger::after{
	display:block;
	height:1px;
	width:100%;
	background:var(--color-main);
	position:absolute;
	left:50%;
	transform-origin: center;
	transform: translateX(-50%);
	z-index:1;
	width:50%;
	transition:all .2s ease;
}
.hamburger-line-middle{
	top:50%;
	transform: translateX(-50%) translateY(-50%);
	opacity:1;
}
.hamburger::before,
.hamburger::after{
	content:'';
	top:28px;
	
}
.hamburger::after{
	top:auto;
	bottom:28px;
}

nav.open .hamburger-line-middle{
	opacity:0;
	width:1%;
}
nav.open .hamburger::before{
	top:50%;
	transform:rotate(45deg) translateY(-50%) translateX(-50%);
	transform-origin: left top;
}
nav.open .hamburger::after{
	top:50%;
	transform: rotate(-45deg) translateY(-50%) translateX(-50%);
	transform-origin: left top;
}


nav ul{
	padding-top:10px;
	box-sizing: border-box;
	position:relative;
	z-index:11;
}
nav ul li{
	padding-left:var(--abstand);
	padding-right:var(--abstand);
	display:flex;
	align-items: center;
	height:58px;

}

nav ul li a{
	font-size:var(--fontsize-large);
	text-transform: uppercase;
	opacity:0;
	transition: opacity .5s ease;
	width:100%;
}
nav ul li.nav-kontakt a{
	width:100%;
	text-align: right;
	margin-bottom:10px;
}
nav ul li a:hover,
nav ul li a.act{
	color:var(--color-main-architektur);
}
nav.open ul li a{
	opacity:1;
}

/* SITE SWITCH */

.nav-switch{
	padding:0px;
	height:auto;
	border-top:1px solid var(--color-main);
}
nav ul li.nav-switch a{
	width:100%;
	display:flex;
	align-items: center;
	padding:17px var(--abstand);
	color:var(--color-main-architektur);
}
nav ul li.nav-switch a:hover{
	background-color:var(--color-main-architektur);
	color:white;
	background-image:url(/assets/bilder/arrow-desktop-white.svg);
	background-position: right var(--abstand) center;
	background-repeat:no-repeat;
}
nav ul li.nav-switch span:first-child{
	width:315px;
}
nav ul li.nav-switch span:last-child{
	font-size:var(--fontsize-base);
	text-transform: none;
}




#mobile-nav{
	display:none;
}
.footer-mobilenav{
	display:none;
}


/* ---------------------------------
	
	ELEMENT: GALLERY
	
-----------------------------------*/

.swiper{
	position:relative;
	
}
.swiper img{
	border-radius: var(--border-radius);
}

.image-gallery figcaption{
	display:flex;
	justify-content: space-between;
	padding-top:var(--grid-gap);
}

.swiper-button-prev,
.swiper-button-next{
	
	
	display:block;
	position:absolute;
	width:50%;
	left:0px;
	top:0px;
	height:100%;

	margin-top:0px;
	-webkit-tap-highlight-color: transparent;
	-webkit-touch-callout: none;
	-webkit-user-select: none;
	-khtml-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;
	user-select: none;
	background-repeat: no-repeat;
	
}
.swiper-button-prev:focus,
.swiper-button-next:focus,
nav a{
	-webkit-tap-highlight-color: transparent;
	-webkit-touch-callout: none;
	-webkit-user-select: none;
	-khtml-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;
	user-select: none;
	outline:None;
}
.swiper-button-prev{
	/*cursor: url('/assets/bilder/bildnavigation-links-@1x.svg') 24 24, pointer;
	cursor: -webkit-image-set(url('/assets/bilder/bildnavigation-links-@	2x.svg') 2x) 24 24, pointer;*/
	
	background-image:url(/assets/bilder/bildnavigation-links.svg);
	background-position:7px 45%;

}
.swiper-button-next{
	/*cursor: url('/assets/bilder/bildnavigation-rechts-@1x.svg') 24 24, pointer;
	cursor: -webkit-image-set(url('/assets/bilder/bildnavigation-rechts-@2x.svg') 2x) 24 24, pointer;
	*/
	background-image:url(/assets/bilder/bildnavigation-rechts.svg);
	background-position:right 7px top 45%;
	left:50%;
}



.swiper-button-next:after, .swiper-rtl .swiper-button-prev:after,
.swiper-button-prev:after, .swiper-rtl .swiper-button-next:after{
	display:none;
}

/* ---------------------------------
	
	ELEMENT: INFOBOX
	
-----------------------------------*/

.infobox{
	border:1px solid var(--color-main);
	border-radius: var(--border-radius);
	padding:10px;
	width:265px;	
	transition: width 0.3s ease-out;
}
.infobox--content{
	display: grid;
	grid-template-rows: 0fr;
	transition: grid-template-rows 0.3s ease-out;
}

.infobox--content--inner {
  overflow: hidden;
}
.infobox .infobox--header{
	display:block;
	position:relative;
	cursor:pointer;
	-webkit-tap-highlight-color: transparent;
}
.infobox .infobox--header::after{
	content:'';
	display:block;
	width:40px;
	height:40px;
	background-image:url(/assets/bilder/arrow-down.svg);
	background-repeat: no-repeat;
	background-size:20px;
	background-position: center;
	position:absolute;
	right:-11px;
	top:-11px;
	transition:transform .3s ease;
	transition-delay: .3s;
}
.infobox .infobox--content ul{
	padding-top:20px;
	list-style-type: disc;
	display: table;


}
.infobox .infobox--content li{

	opacity:0;
	/*margin-left:16px;*/
	padding-bottom:var(--abstand);
	padding-right:var(--abstand);
	transition:opacity .3s ease;
	transition-delay: .3s;
	padding-left:14px;
	position:relative;
}
.infobox .infobox--content li::before{
	content: "";
	position:absolute;
	left:0px;
	top:6px;
	width:5px;
	height:5px;
	border-radius:40px;
	background-color:var(--color-main);
	margin-right:10px;
}
.infobox .infobox--content li:last-child{
	padding-bottom:5px;
}


/* OPEN */

.infobox.open{
	width:100%;
}
.infobox.open .infobox--content{
	width:100%;
	grid-template-rows: 1fr;
}
.infobox.open .infobox--header::after{
	transform: rotate(180deg);
	transform-origin: center;
}
.infobox.open .infobox--content li{
	opacity:1;
}

/*.infobox.open .infobox--content{
	display:block;
}*/


/* ELEMENT: TEASER VIDEO */

.teaservideo-desktop{
	background-color:var(--color-main);
	aspect-ratio:5 / 4;
}
.teaservideo-mobile{
	background-color:var(--color-main);
	aspect-ratio:1 / 1;
}



/* ---------------------------------
	
	SEITE: INTRO
	
-----------------------------------*/

.b-intro nav,
.b-intro .logo-border,
.b-intro .logo{
	display:none;
}
.b-intro main{
	height:100vh;
	height: calc(var(--vh, 1vh) * 100);
	display:flex;
	flex-direction:row;
}
.link-intro img{
	width:100%;
	height:100%;
	object-fit: contain;
	position:relative;
	z-index:1;
}
.b-intro main a{
	width:50%;
	position:relative;
}

.link-intro--gebaeudetechnik{
	background:var(--color-main);
}
.link-intro--architektur{
	background:white;
}

span.label{
	display:inline-block;
	padding:var(--grid-gap);
	padding-right:calc(var(--grid-gap) + 10px);
	background-color:white;
	font-size:var(--fontsize-medium);
	border-bottom-right-radius: var(--border-radius);
	border-bottom:1px solid var(--color-main);
	border-right:1px solid var(--color-main);
	color:var(--color-main);
	position:absolute;
	z-index:2;
	top:0;
	left:0;
}
.link-intro--architektur span.label{
	border-color:var(--color-main-architektur);
	color:var(--color-main-architektur);
}


.link-intro--icon{
	display:none;
	background-color:white;
	width:85px;
	height:85px;
	position:absolute;
	z-index:2;
	left:0;
	bottom:0;
	border-top-right-radius: var(--border-radius);
	border-right:1px solid var(--color-main);
	border-top:1px solid var(--color-main);
	background-image:url(/assets/bilder/pfeil_blau.svg);
	background-repeat:no-repeat;
	background-position: center;
	background-size:15px;;
}
.link-intro--architektur .link-intro--icon{
	border-color:var(--color-main-architektur);
	background-image:url(/assets/bilder/pfeil_schwarz.svg);
}

.link-intro:hover .link-intro--icon{
	display:block;
}


/* ---------------------------------
	
	SITE: HOME
	
-----------------------------------*/


.b-home header{
	/*height:100vh;
	height: calc(var(--vh, 1vh) * 100);*/
	height:100vh;
	height:100svh;
	overflow:hidden;
}

.b-gebaeudetechnik.b-home header video{
	width:100%;
	height:100%;
	object-fit: cover;
	
}
.homevideo-desktop,
.homevideo-tablet{
	transform: scale(1.5);
}

.b-home header{
	/*background-color:red;*/
}
.b-home header video{
	background-color:transparent;
}



/* ---------------------------------
	
	ELEMENT: TEASER BOX
	
-----------------------------------*/



.teaserbox{
	display: block;
	border:1px solid var(--color-main);
	border-radius: var(--border-radius);
	overflow:hidden;
	transform: translateZ(0);
	transition:none;
	z-index: 0;
}
.teaserbox:hover h2{
	background-image:url("/assets/bilder/arrow-desktop.svg");
	background-repeat: no-repeat;
	background-position: center right var(--grid-gap);
}

.teaserbox figure{
}
.teaserbox--image{
	background-color:var(--color-main);
	width:100%;
	aspect-ratio:5 / 4;
	background-repeat:no-repeat;
	background-size:cover;

 }

.teaserbox--image video{
	width:100%;
	height:100%;
	object-fit: contain;
	/*isolation: isolate;
	-webkit-mask-image: -webkit-radial-gradient(white, black);*/
 }


.teaserbox--text h2{
	font-size: var(--fontsize-medium);
	padding:10px var(--grid-gap);
	border-top:1px solid var(--color-main);
}





/* ---------------------------------
	
	SITE: KOMPETENZEN DETAIL
	
-----------------------------------*/

.b-kompetenzen-detail header{
	height:var(--header-height);
}



.b-gebaeudetechnik.b-kompetenzen-detail header{
	overflow:hidden;
	position:relative;
}
.b-gebaeudetechnik.b-kompetenzen-detail header video{
	width:auto;
	height:100%;
	max-width:none;
	transform: scale(1.4);
}

.b-gebaeudetechnik.b-kompetenzen-detail .video-abdecker{
	position:absolute;
	left:0;
	right:0;
	top:0;
	bottom:0;
	background: linear-gradient(90deg, rgba(30,42,189,1) 25%, rgba(30,42,189,0) 35%, rgba(30,42,189,0) 65%, rgba(30,42,189,1) 75%);
	/*background: linear-gradient(90deg, rgba(255,42,189,1) 25%, rgba(255,42,189,0) 35%, rgba(255,42,189,0) 65%, rgba(255,42,189,1) 75%);*/
	z-index:2;
}
@media screen and (max-width: 1750px) {
	.b-gebaeudetechnik.b-kompetenzen-detail .video-abdecker{
		display:none;
	}
}



/* ---------------------------------
	
	SITE: PROJEKTE
	
-----------------------------------*/


.b-projekte-detail header img{
	object-fit: cover;
}
.s-projekte-overview-filter{
	display:flex;
	justify-content: space-between;	
	border-bottom:0px;
	padding-bottom:0px;
}
.filter-tags a{
	padding:9px 12px;
	margin-right:var(--grid-gap);
}


select {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	background: transparent;
	border: 1px solid var(--color-main);
	border-radius: var(--border-radius);
	padding: 9px 42px 9px 12px;
	font-size: 1em;
	font-weight: normal;
	color:var(--color-main);
	font-family:inherit;
	line-height:inherit;
	width:225px;
}



@supports (font: -apple-system-body) and (-webkit-appearance: none) {
 select:active{
	 font-family:Helvetica, Arial, sans-serif;
 } 
}





select:focus{
	outline:none;
}
.select-container {position:relative; display: inline;}
.select-container:after {content:""; width:0; height:0; position:absolute; pointer-events: none;}
.select-container:after {
	/*border-left: 5px solid transparent;
	border-right: 5px solid transparent;
	top: .3em;
	right: .75em;
	border-top: 8px solid black;
	opacity: 0.5;*/
	
	width:23px;
	height:13px;
	background-image:url(/assets/bilder/arrow-down.svg);
	background-repeat:no-repeat;
	background-size:contain;
	top:50%;
	right: 12px;
	transform: translateY(-50%);
	
}
select::-ms-expand {
	display: none;
}










.s-projekte-overview--item{
	display: block;
	overflow:hidden;
	transition:none;
	display:flex;
	flex-direction: column;
	justify-content: space-between;
}
.s-projekte-overview--item:hover{
	background-image: url(/assets/bilder/arrow-desktop.svg);
	background-repeat:no-repeat;
	background-position:bottom var(--grid-gap) right var(--grid-gap);
}
.s-projekte-overview--item img{
	border-top-left-radius: var(--border-radius);
	border-top-right-radius: var(--border-radius);
}
.s-projekte-overview--item figure{
	position:relative;
}
.s-projekte-overview--item figure::after{
	content:'';
	position:absolute;
	top:0px;
	right:0px;
	bottom:0px;
	left:0px;
	border-top-left-radius: var(--border-radius);
	border-top-right-radius: var(--border-radius);
	border:1px solid var(--color-main);
	opacity:0;
}
.s-projekte-overview--item:hover figure::after{
	opacity:1;
}
.overview--item-text{
	height:100%;
	display:flex;
	flex-direction: column;
	justify-content: space-between;
	border:1px solid var(--color-main);
	border-top:0px;
	border-bottom-left-radius: var(--border-radius);
	border-bottom-right-radius: var(--border-radius);
}

.s-projekte-overview--item h2{
	font-size: var(--fontsize-medium);
	padding:var(--grid-gap);
}
.s-projekte-overview--item--tags{
	padding:var(--grid-gap);
	padding-top:calc(var(--grid-gap) - 5px);
	padding-right:85px;
}
.s-projekte-overview--item--tags span{
	display:inline-block;
	border:1px solid var(--color-main);
	border-radius:var(--border-radius-secondary);
	font-size: var(--fontsize-small);
	padding:5px 7px;
	margin-right:10px;
	margin-top:5px;
}

/* ---------------------------------
	
	SITE: PROJEKTE DETAIL
	
-----------------------------------*/

.b-projekte-detail h1,
.b-projekte-detail .projekt-detail--intro{
	padding-bottom:var(--abstand-double);
}
.b-projekte-detail header{
	height:var(--header-height);
}

.projekt-detail--details{
	width:75%; 
	display:grid;
	grid-template-columns: repeat(2, 1fr);
	column-gap: var(--grid-gap);
	row-gap: var(--grid-gap);
}
section.s-contentblock .projekt-detail--details p{
	font-size: var(--fontsize-base);
	padding-bottom:0px;
}
.projekt-detail--details div{
	/*padding-bottom:var(--abstand);*/
}
.projekt-detail--details h3{
	font-size:var(--fontsize-small);
	margin-bottom:10px;
	padding:5px 8px;
	border-radius: var(--border-radius-secondary);
}
.projekt-detail--details ul{
	list-style-type: disc;
	list-style-position: outside;
}
.projekt-detail--details ul li{
	margin-left:18px;
}
.b-projekte-detail section.s-contentblock{
	border-bottom:0px;
}
.projekt-detail-grid{
	padding:0px;
	border-bottom: 0px;
}

.projekt-bilder-row{
	height:100%;
	/*display:grid;*/
	/*grid-template-columns: repeat(2, 1fr);*/
	/*gap:var(--grid-gap);*/
	display:flex;
	padding-bottom:var(--grid-gap);
	margin:0 -8px;
}
.projekt-bilder-row figure{
	border-radius: var(--border-radius);
	overflow:hidden;
	flex-basis: 1;
	width:100%;
	margin:0 8px;
}
.projekt-bilder-row.projekt-double figure{
	/*height:100%;*/

}
.projekt-bilder-row img{
	object-fit: cover;
	width: 100%;
	height: 100%;
}

/* IMAGE RATIOS */
.projekt-bilder-row figure[data-ratio="1/1"] img{
	aspect-ratio: 1 / 1;
}
.projekt-bilder-row figure[data-ratio="16/9"] img{
	aspect-ratio: 16 / 9;
}
.projekt-bilder-row figure[data-ratio="10/8"] img{
	aspect-ratio: 10 / 8;
}
.projekt-bilder-row figure[data-ratio="21/9"] img{
	aspect-ratio: 21 / 9;
}
.projekt-bilder-row figure[data-ratio="7/5"] img{
	aspect-ratio: 7 / 5;
}
.projekt-bilder-row figure[data-ratio="4/3"] img{
	aspect-ratio: 4 / 3;
}
.projekt-bilder-row figure[data-ratio="5/3"] img{
	aspect-ratio: 5 / 3;
}
.projekt-bilder-row figure[data-ratio="3/2"] img{
	aspect-ratio: 3 / 2;
}
.projekt-bilder-row figure[data-ratio="3/1"] img{
	aspect-ratio: 3 / 1;
}


.s-projekt-detail-footer{
	border:0px;
	padding:0px;
	display:flex;
	justify-content: space-between;
}




/* ---------------------------------
	
	SITE: PROFIL
	
-----------------------------------*/

.b-profil header {
	height: var(--header-height);
}
.b-profil header img{
	object-fit: cover;
}
.b-profil main section:first-child h2{
	padding-top:var(--abstand);
}


/* ---------------------------------
	
	SITE: KONTAKT
	
-----------------------------------*/

.b-kontakt main{
	height:100vh;
	height: calc(var(--vh, 1vh) * 100);
	display:flex;
	flex-direction: row;
}
.b-kontakt section{
	border:0px;
	width:50%;
}
.b-kontakt section.s-kontakt-text{
	padding-top:11px;
	display:flex;
	flex-direction: column;
	justify-content: space-between;
	border-right:1px solid var(--color-main);
}
.s-kontakt-text--main{
	font-size:var(--fontsize-large);
}

.s-kontakt-text--main p{
	padding-bottom:var(--abstand);
}
.s-kontakt-text--main p span{
	opacity:0;
	padding-right:20px;
}
.s-kontakt-text--main a:hover{
	color:var(--color-main-architektur);
}
.s-kontakt-text--footer{
	display:flex;
	flex-direction: row;
	justify-content: space-between;
	align-items: flex-end;
}

.s-kontakt-map{
	background-color:var(--color-main);
	color:white;
	padding:0;
}
.s-kontakt-map a{
	display:block;
	width:100%;
	height:100%;
	background-repeat:no-repeat;
	background-image:url(/assets/bilder/peyto_gebaeudetechnik_karte.gif);
	background-size:1200px;
	background-position: 50% 47%;
}

#map{
	width:100%;
	height:100%;
}

/* ---------------------------------
	
	SITE: IMPRESSUM
	
-----------------------------------*/

.b-impressum section.s-contentblock.contentblock-padding{
	padding-top:var(--abstand);
}
.b-impressum main a:not(.btn):hover{
	color:var(--color-main-architektur);
}
.b-impressum h3{
	margin-bottom:6px;
}
.b-impressum .s-contentblock{
	border-bottom:0px;
}
.b-impressum .grid-2:first-child{
	grid-column: 3 / span 2;
}
.b-impressum .section-content{
	font-size:var(--fontsize-medium);
}
.b-impressum .section-content h2{
	padding-top:var(--abstand-double);
}

/* ---------------------------------
	
	FOOTER
	
-----------------------------------*/


footer{
	border-top:1px solid var(--color-main);
	padding:var(--abstand) var(--abstand);
}

footer .grid-container{
	align-items:end;
}
footer .grid-container .grid-item:Last-child{
	text-align: right;
}
footer .btn{
	margin-right:20px;
}


.footer-address a:hover{
	color:black;
}
.footer-icons a:first-child{
	margin-bottom:5px;
}


.icon-linkedin,
.icon-insta{
	display: inline-block;
	width: 20px;
	height: 20px;
	background-repeat: no-repeat;
	background-size: contain;
	overflow: hidden;
	text-indent: 999px;
}
.icon-linkedin{
	background-image:url(/assets/bilder/icon-linkedin.svg);
}
.icon-linkedin:hover{
	background-image:url(/assets/bilder/icon-linkedin_schwarz.svg);
}
.icon-insta{
	background-image:url(/assets/bilder/icon-insta.svg);
}
.icon-insta:hover{
	background-image:url(/assets/bilder/icon-insta_schwarz.svg);
}




/* ---------------------------------
	
	RESPONSIVE
	
-----------------------------------*/


@media screen and (min-width: 2400px), (min-height: 2400px) {
.s-kontakt-map a{
	background-size:cover;
}
}

@media screen and (max-width: 1435px) {
	.teaserbox{
		grid-column: span 6 !important;
	}
	.s-relatedpages .teaserbox:last-child{
		display:none;
	}
}
@media screen and (max-width: 1250px) {

	section.s-contentblock.contentblock-padding .section-content{
		grid-column: 1/-1;
	}
	.b-impressum .grid-2{
		grid-column: span 3;
	}
	.b-impressum .grid-2:first-child{
		grid-column: 1 / span 3;
	}
	.b-impressum section.s-contentblock.contentblock-padding{
		padding-top:calc(var(--abstand) + var(--topbar-height));
	}
	section.s-contentblock.contentblock-padding{
		padding: var(--abstand);
	}
	
	
}

@media screen and (max-width: 1100px) {
	.s-projekte-overview--item.grid-4{
		grid-column: span 6;
	}
	
	
}

@media screen and (max-width: 975px) {
	.teaserbox h2,
	.teaserbox:hover h2{
		font-size:var(--fontsize-base);
		background-image:url("/assets/bilder/arrow-mobile.svg");
		background-repeat: no-repeat;
		background-position: center right 14px;
		padding:var(--grid-gap);
	}
	
	.teaserbox video.hidden-mobile{
		display:none;
	}
	.teaserbox video.hidden-desktop{
		display:block;
	}
}
@media screen and (max-width: 950px) {

	.b-gebaeudetechnik.b-home header video.homevideo-desktop,
	.b-gebaeudetechnik.b-home header video.homevideo-tablet{
		transform: scale(1);
	}
	
	.video-desktop{
		display:none;
	}
	.video-tablet{
		display:block;
	}
	.video-mobile{
		display:none;
	}

}


@media screen and (max-width: 767px) {
	
	:root{
		/*--color-main: #1E2ABD;
		
		--font-main: 'Artex','Arial',sans-serif;*/
		
		/*--fontsize-small: 15px;*/
		/*--fontsize-base: 18px;*/
		/*--fontsize-medium:30px;*/
		--fontsize-large:30px;
		
		--abstand: 20px;
		/*--abstand-double: calc(var(--abstand) * 2);*/
		/*--abstand-gross: 76px;*/
		--topbar-height: 70px;
		--header-height: 260px;
		
		--grid: 4;
		/*--grid-gap: 16px;*/
		
		
	}	
	body{
		overscroll-behavior: auto;
	}
	
	body.no-scroll{
		overflow-y:hidden;
	}
	
	section.s-contentblock table tr td:first-child{
		min-width:25vw;
	}
	
	.s-projekte-overview--item:hover,
	.teaserbox:hover{
		background-image:none;
	}
	
	
	
	.grid-container{
		row-gap:var(--abstand);
	}
	.hidden-mobile{
		display:none;
	}
	.hidden-desktop{
		display:block;
	}
	
	.video-desktop{
		display:none;
	}
	.video-tablet{
		display:none;
	}
	.video-mobile{
		display:block;
	}

	
	
	.grid-item{
		grid-column: 1/-1;
	}
	section.s-contentblock.contentblock-padding{
		padding:var(--abstand);
	}
	

	
	

	section.s-contentblock p,
	section.s-contentblock table{
		font-size:var(--fontsize-base);
	}
	
	/* SWIPER */
	.swiper-button-prev,
	.swiper-button-next{
		/*top:45%;
		transform: translateY(-50%);*/
		height:100%;
		width:50%;
		background-repeat: no-repeat;
		background-size:30px 30px;
	}
	
	
	.swiper-button-prev{
		background-image:url(/assets/bilder/bildnavigation-links-mobile.svg);
		background-position:7px 45%;
	}
	.swiper-button-next{
		background-image:url(/assets/bilder/bildnavigation-rechts-mobile.svg);
		background-position:right 7px top 45%;
	}
	
	.image-gallery-counter{
		text-align: right;
		min-width:60px;
	}
	
	/* INFOBOX */
	.infobox{
		width:100%;
	}
	.infobox .infobox--content{
		columns: 1;
	}

	
	
	/* HEADER */

	.logo{
		display: block;
	}
	.logo img{
		height:var(--topbar-height);
	}
	.logo-zusatz{
		width:178px;
		left:0px;
		top:52px;
		z-index:7;
		border-bottom-right-radius:7px;
		opacity:1;
		transition:opacity .1s ease;
	}
	.logo-zusatz.hidden{
		opacity:0;
		pointer-events: none;
	}
	
	.logo-border{
		display:block;
		position: fixed;
		z-index: 7;
		top: -1px;
		left: -1px;
		width: auto;
		height: var(--topbar-height);
	}
	.b-architektur .logo-abdecker{
		display:none;
	}
	
	
	/* NAV */
	nav{
		z-index:6;
	}
	nav.open{
		width:calc(100vw + 2px);
		height:calc(100vh + 2px);
		height: calc( (var(--vh, 1vh) * 100) + 2px  );
		border-bottom-left-radius:0px;
		z-index:6;
	}
	.nav--inner{
		width:100vw;
		height:100vh;
		height: calc(var(--vh, 1vh) * 100);
		display:flex;
		flex-direction: column;
		justify-content: space-between;
	}
	nav.open .footer-mobilenav{
		/*display: block;*/
	}
	.footer-mobilenav{
		padding:14px;
	}
	nav ul{
		height:100%;
		display:block;
		padding-top:10px;
		padding-bottom:0px;
		padding-top:calc(var(--topbar-height) + 10px);
		/*display:flex;
		flex-direction: column;*/
	}
	
	nav ul li{
		display:block;
		/*align-items: flex-start*/
		height:auto;
		padding-top:2px;
		padding-bottom:2px;
		padding-left:16px;
	}
	
	nav ul li.nav-kontakt a{
		display:block;
		text-align: right;
	}
	nav ul li:first-child{
		margin-top:0px;
	}

	nav ul li a{
		font-size:48px;
		letter-spacing:-0.01em;
	}
	
	
	.nav-switch{
		position:absolute;
		bottom:0px;
		left:0px;
		width:100%;
		border-top:0px;
	}
	nav ul li.nav-switch a{
		flex-direction: column;
		align-items: flex-start;	
		background-color:var(--color-main-architektur);
		color:white;
		background-image:url(/assets/bilder/arrow-desktop-white.svg);
		background-position: right var(--abstand) bottom var(--abstand);
		background-repeat:no-repeat;
		padding-left:16px;
	}
	nav ul li.nav-switch a:hover{
		background-position: right var(--abstand) bottom var(--abstand);
	}
	nav ul li.nav-switch a span,
	nav ul li.nav-switch span:first-child{
		width:100%;
	}
	
	
	nav footer{
		border-top:1px solid var(--color-main)
	}
	
	/* HAMBURGER */
	.hamburger::before,
	.hamburger::after{
		top:25px;
	}
	.hamburger::after{
		top:auto;
		bottom:25px;
	}
	
	/* SITE: INTRO */
	
	.b-intro main{
		flex-direction:column;
	}
	
	.b-intro main a{
		width:100%;
		height:50%;
	}
	.b-intro main a{
		width:100%;
		height:50%;
	}
	.link-intro{
		overflow:hidden;
	}
	.link-intro img{
		transform:translateY(5%);
	}
	span.label{
		font-size:var(--fontsize-base);
	}
	.link-intro--icon{
		display:block;
		left:auto;
		bottom:20px;
		right:20px;
		border-radius: var(--border-radius);
		border:1px solid var(--color-main);
		width:48px;
		height:48px;
		background-size:11px;
	}
	
	
	
	
	/* SITE: HOME */
	/*.b-home main .s-contentblock:first-child{
		padding-top:calc(var(--abstand) + var(--topbar-height));
	}*/
	.b-home header,
	.b-kompetenzen-detail header{
		overflow:hidden;
	}
	.b-home header img{
		transform:translateY(7%);
	}
	
/*	.b-kompetenzen-detail header video{
		transform:translateY(5%);
	}*/
	
	header img{
		object-fit: contain;
	}
	
	.b-gebaeudetechnik.b-home header a{
		overflow:hidden;
		align-items: center;
	}
	.b-gebaeudetechnik.b-home header video.homevideo-mobile{
		width:100%;
		transform: translateY(40px);
		object-fit:contain;
		transform:scale(1.4);
	}
	

	/* SITE: KOMPETENZEN */
	.b-kompetenzen-detail header{
		height:440px;
	}
	
	.teaserbox video{
		object-fit: cover;
		aspect-ratio:5 / 4;
	}
	.s-relatedpages .teaserbox:last-child{
		display:block;
	}
	
	.b-gebaeudetechnik.b-kompetenzen-detail header video{
		transform: scale(1.2) translateY(20px);
	}
	
	/* SITE: PROJEKTE */
	
	.s-projekte-overview--item figure::after{
		opacity:1;
	}
	.s-projekte-overview-filter{
		flex-direction: column;
	}
	.filter-tags a{
		margin-right:var(--grid-gap);
		margin-bottom:var(--grid-gap);
	}
	.filter-tags a:last-child{
		margin-right:0px;
	}
	select{
		width:100%;
	}
	.b-projekte-detail h1, .b-projekte-detail .projekt-detail--intro{
		padding-bottom:var(--abstand);
	}
	
	section.s-contentblock.contentblock-padding.s-projekt-detail-infos{
		padding-bottom:0px;
	}
	
	/* KONTAKT */
	.b-kontakt{
		/*height:50svh;*/
		overflow:hidden;
	}
	.b-kontakt .page-wrapper,
	.b-kontakt main{
		/*height:100svh;
		overflow: hidden;
		background:green;*/
	}
	.page-wrapper{
		/*background:blue;*/
	}
	.b-kontakt main{
		flex-direction: column;
	}
	.b-kontakt main section{
		width:100%;
	}
	.s-kontakt-map{
		height:100%;
	}
	.b-kontakt section.s-kontakt-text{
		padding-top:var(--topbar-height);
		display:block;
		border-right:0px;
		border-bottom:1px solid var(--color-main);
	}
	.s-kontakt-text--main{
		padding-top:var(--abstand);
	}
	.s-kontakt-text--main p:first-child{
		padding-bottom:0px;
	}
	.s-kontakt-text--main p span{
		opacity:1;
		padding:0;
	}
	.b-kontakt .footer-icons{
		display:none;
	}
	
	/* SEITE: PROJEKTE DETAIL */
	
	/*.projekt-bilder-row.projekt-single div,
	.projekt-bilder-row.projekt-double div{
		grid-column: 1 / -1;
	}*/
	.projekt-bilder-row{
		display:block;
		margin:0;
		padding-bottom:0px;
	}
	.projekt-bilder-row figure{
		margin:0;
		margin-bottom:var(--abstand)
	}
	
	.projekt-detail--details{
		width:100%;
	}
	
	/* SITE: IMRPESSUM */
	
	.b-impressum main{
		padding-top:var(--topbar-height);
	}
	.b-impressum .grid-item{
		grid-column: 1/ -1 !important;
	}
	.b-impressum .section-content{
		font-size:var(--fontsize-base);
	}
	.b-impressum section.s-contentblock.contentblock-padding{
		padding-top:var(--abstand);
	}
	
	
	
	
	/* FOOTER */
	footer h2{
		padding-bottom:var(--abstand-double);
	}
	footer .grid-item.grid-3{
		grid-column: span 3;
	}
	footer .grid-item.grid-1{
		grid-column: span 1;
	}
	
	

}
@media screen and (max-width: 550px) {
	
	h1,h2,.text-large{
		hyphens: auto;
		hyphenate-limit-chars: 15;
		
		-webkit-hyphens: auto;
		-webkit-hyphenate-limit-chars: 15;
		
		-moz-hyphens: auto;
		-moz-hyphenate-limit-chars: 15;
	}
	
	
	.footer-buttons{
		display:flex;
		justify-content: space-between;
	}
	.footer-buttons .btn{
		margin:0;
	}
	.footer-buttons .btn:first-child{
		margin-right:5px;
	}
	
	.projekt-detail--details{
		columns: 1;
	}
	.projekt-detail--details{
		grid-template-columns: repeat(1, 1fr);
	}
	
	.b-gebaeudetechnik.b-home header video.homevideo-mobile{
		transform:scale(1.6);
	}
	
	section.s-contentblock table tr td:first-child{
		min-width:auto;
		padding-right:10px;
	}
	section.s-contentblock table tr td{
		padding-bottom:10px;
	}
	
}



@media screen and (max-width: 390px) {
	/*--fontsize-small: 15px;
	--fontsize-base: 18px;
	--fontsize-medium:30px;
	--fontsize-large:30px;
	*/
	:root{
		--topbar-height: 18.7vw;
	}
	
	
	.logo img{
		width:auto;
	}
	nav ul li,
	nav ul li.nav-switch a{
		padding-left:4.2vw;
		padding-right:4.2vw;
	}
	nav ul li a{
		/*font-size:40px;*/
	}
	nav ul li a,
	nav ul li.nav-switch span:first-child{
		font-size:12.6vw;
	}
	nav ul li.nav-switch span:first-child{
		
	}
	.logo-zusatz {
		width: 47.5vw;
		font-size: 4.8vw;
	}
	nav, nav button.hamburger{
		width:22vw;
	}
	.hamburger::before{
		top:36%;
	}
	.hamburger::after{
		bottom:36%;	
	}
	nav ul li.nav-switch span:last-child{
		font-size: 4.8vw;
	}
	
	.b-gebaeudetechnik.b-home header video.homevideo-mobile{
		transform:scale(1.8) translateY(10px);
	}
	
	
	.s-projekt-detail-footer a span{
		display:none;
	}
	.footer-buttons{
		flex-direction: column;
		align-items: flex-start;
	}
	.footer-buttons a:first-child{
		margin-bottom:10px;
	}
	
	
	.b-impressum .section-content h2{
		padding-top: var(--abstand);
	}
	
	.filter-tags{
		display:flex;
		justify-content: space-between;
	}
	.filter-tags a{
		margin-right:5px;
	}
}


