@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-hover: #000000;
	
	--font-main: 'Artex','Arial',sans-serif;
	
	--fontsize-small: 15px;
	--fontsize-base: 18px;
	--fontsize-medium:30px;
	--fontsize-large:42px;
	
	--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;

	interpolate-size: allow-keywords;
	
}

.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-kompetenzen video{
	opacity:0;
	transition:opacity 1.2s ease;
}
.b-kompetenzen video.has-loaded{
	opacity:1;
	/*opacity:.99;*/
}

.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-projekte main,
body.b-news main{
	padding-top:var(--topbar-height);	
}



header{
	background-color:white;
	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:var(--color-hover);
	border-color:var(--color-hover);
}
.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);
}
section section{
	padding-left:0px;
	padding-right:0px;
	border-bottom:0px;
}
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,
.logo-zusatz,
.logo-abdecker,
.logo-border,
nav{
	transition: transform .2s ease;
	transform:translateY(0%);
}
.logo.hidden,
.logo-zusatz.hidden,
.logo-abdecker.hidden,
.logo-border.hidden,
nav.hidden{
	transform:translateY(-101%);
}
.is-mobile .logo-zusatz{
	opacity: 1;
	transition: transform .2s ease,opacity .2s ease;
}
.is-mobile .logo-zusatz.hidden{
	opacity:0;
}

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

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

.logo-abdecker{
	display: block;
	content: '';
	position: absolute;
	top: 0px;
	left: 187px;
	width: 15px;
	height: var(--topbar-height);
	z-index: 8;
	background-color: white;
}


nav{
	width:85px;
	height:var(--topbar-height);
	height:calc(var(--topbar-height) + 2px);
	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, transform .2s ease;
}
.nav--inner{
	width:600px;
	position:absolute;
	right:0;
	top:0;
}
nav.open{
	width:600px;	
}

nav.open,
.nav--inner{
	height:262px;
}

/* HAMBURGER ICON */
nav button.hamburger{
	display:block;
	position:absolute;
	z-index:12;
	right:0;
	top:0;
	width:83px;
	height:calc(var(--topbar-height) - 2px);
	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:48px;

}

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-hover);
}
nav.open ul li a{
	opacity:1;
}




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


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

.swiper{
	position:relative;
	width: 100%;
	height: 100%;
}

.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{
    cursor: url('/assets/bilder/bildnavigation-links-mobile.svg'), auto;
}
.swiper-button-next{
	left:50%;
	cursor: url('/assets/bilder/bildnavigation-rechts-mobile.svg'), auto;
}
.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-next:after, .swiper-rtl .swiper-button-prev:after,
.swiper-button-prev:after, .swiper-rtl .swiper-button-next:after{
	display:none;
}

.swiper-slide{
	position:relative;
}
.swiper-slide img{
	position:relative;
	z-index:1;
}
.swiper-slide span{
	position:absolute;
	bottom:var(--abstand);
	left:var(--abstand);
	z-index:2;
	background-color: white;
}

/* ---------------------------------
	
	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;
}



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


.b-home header img{
	object-fit: cover;
}






.b-home header,
.b-kompetenzen header{
	height:100vh;
	height:100svh;
	overflow:hidden;
}

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

.s-home-teasers{
	padding-top:0px;
}
.s-home-teasers img{
	border-bottom-left-radius: 0px;
	border-bottom-right-radius: 0px;
}
.s-home-teasers .teaserbox{
	grid-column: span 4 !important;
}
@media screen and (max-width:1435px){
	.s-home-teasers .teaserbox,
	.s-home-teasers .s-projekte-overview--item,
	.s-home-teasers .teaserbox{
		grid-column: span 6 !important;
	}
	.s-home-teasers .teaserbox:last-child,
	.s-home-teasers .s-projekte-overview--item:last-child,
	.s-home-teasers .teaserbox:last-child{
		display:none;
	}
}
@media screen and (max-width:1250px){
	.s-home-teasers .teaserbox,
	.s-home-teasers .s-projekte-overview--item,
	.s-home-teasers .teaserbox{
		grid-column: span 4 !important;
	}
	.s-home-teasers .teaserbox:last-child,
	.s-home-teasers .s-projekte-overview--item:last-child,
	.s-home-teasers .teaserbox:last-child{
		display:flex;
	}
	.s-home-teasers .teaserbox:last-child{
		display:block;
	}
}
@media screen and (max-width:950px){
	.s-home-teasers .teaserbox,
	.s-home-teasers .s-projekte-overview--item,
	.s-home-teasers .teaserbox{
		grid-column: span 6 !important;
	}
	.s-home-teasers .teaserbox:last-child,
	.s-home-teasers .s-projekte-overview--item:last-child,
	.s-home-teasers .teaserbox:last-child{
		display:none;
	}
}

.home-profil img{
	margin-bottom:var(--abstand);
	border-radius: var(--border-radius);
	aspect-ratio: 5/3;
	object-fit:cover;
}

section.s-contentblock.home-kontakt p{
	font-size: var(--fontsize-large);
}
.home-kontakt img{
	border-radius: var(--border-radius);
	aspect-ratio: 5/3;
	object-fit:cover;
	border:1px solid var(--color-main);
}






/* ---------------------------------
	
	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);
}




/* TEASERBOX KOMPETENZEN */
.teaserbox-kompetenzen{
	--title-height:50px;

	aspect-ratio:5/4;
	overflow:hidden;

	position:relative;

	padding-bottom:var(--title-height);
	box-sizing: content-box;
	background-color:var(--color-main);
	
}
.teaserbox-kompetenzen figure{
	position:relative;
	z-index:1;
}
.teaserbox-kompetenzen .teaserbox--text{
	background:white;
	position:absolute;
	bottom:0;
	left:0;
	right:0;
	z-index:2;
	height:var(--title-height);
	transition:all .5s ease;
}
.teaserbox-kompetenzen:hover .teaserbox--text h2{
	background-image:none;
}

.teaserbox-kompetenzen .teaserbox--text h2{
	display:flex;
	flex-direction: row;
	padding-top:0;
	padding-bottom:0;
	align-items: center;
	justify-content: space-between;
	padding-right:10px;
	height:var(--title-height);
	border-top:0px;
}
.teaserbox-kompetenzen .teaserbox--text h2 i{
	display:block;
	position:relative;
	width:32px;
	height:32px;
	right:0;
	top:0;
	opacity:0;
}
.teaserbox-kompetenzen .teaserbox--text h2 i::after,
.teaserbox-kompetenzen .teaserbox--text h2 i::before{
	content:'';
	display:block;
	position:absolute;
	background-color: var(--color-main);
	height:1px;
	width:32px;
	left:0;
	top:50%;
}
.teaserbox-kompetenzen .teaserbox--text h2 i::before{
	transform: rotate(90deg);
	transition: transform .2s ease;
}





.teaserbox-kompetenzen .teaserbox--text-details{
	opacity:0;
	transition:opacity .2s ease;
	padding: 10px var(--grid-gap);	
	font-size:var(--fontsize-medium);
	/*transform:translateX(-30px);*/
}
.teaserbox-kompetenzen .teaserbox--text-details ul{
	margin-top:var(--abstand);
}
.teaserbox-kompetenzen .teaserbox--text-details li{
	font-size:var(--fontsize-base);
}

.teaserbox-kompetenzen.open figure{
	opacity:1;
	transition:opacity .2s ease;
}


/* HOVER */

.teaserbox-kompetenzen:hover .teaserbox--text h2 i,
.teaserbox-kompetenzen.open .teaserbox--text h2 i{
	opacity:1;
}
.teaserbox-kompetenzen:hover .teaserbox--text h2{
	padding-right:10px;
}

/* OPEN */
.teaserbox-kompetenzen.open figure{
	opacity:0;
}
.teaserbox-kompetenzen.open .teaserbox--text{
	height:100%;
}
.teaserbox-kompetenzen.open .teaserbox--text-details{
	opacity:1;
	/*transform:translateX(0px);*/
}
.teaserbox-kompetenzen.open .teaserbox--text h2{
	border-bottom:1px solid var(--color-main);
}
.teaserbox-kompetenzen.open .teaserbox--text h2 i::before{
	transform: rotate(0deg);
}
.teaserbox-kompetenzen.open .teaserbox--text h2 i::before{
	transform: rotate(0deg);
}



/* ---------------------------------
	
	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--intro a{
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 3px;
}
.projekt-detail--intro p:last-child{
	padding-bottom:0px;
}
.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,
.teaserbox--text-details ul{
	list-style-type: disc;
	list-style-position: outside;
}
.projekt-detail--details ul li,
.teaserbox--text-details 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;
}
.s-projekt-detail-footer .text-mobile{
	display:none;
}

/* ---------------------------------
	
	SITE: NEWS
	
-----------------------------------*/

.b-news-detail .projekt-detail--intro{
	padding-bottom:0px;
}

/* ---------------------------------
	
	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);
	font-size:54px;
}

.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-hover);
}
.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-size:cover;
	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-hover);
}
.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:var(--color-hover);
}
.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-insta{
	background-image:url(/assets/bilder/icon-insta.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) {
	:root{
		--fontsize-large:48px;
	}
	.s-projekte-overview--item.grid-4{
		grid-column: span 6;
	}
	
	
}

@media screen and (max-width: 975px) {
	.teaserbox h2,
	.teaserbox:hover h2{
		background-image:url("/assets/bilder/arrow-mobile.svg");
		background-repeat: no-repeat;
		background-position: center right 14px;
		padding:var(--grid-gap);
	}
	.teaserbox-kompetenzen h2,
	.teaserbox-kompetenzen:hover h2{
		background-image:none;
	}

	.teaserbox-kompetenzen .teaserbox--text h2 i,
	.teaserbox-kompetenzen .teaserbox--text h2 i{
		opacity:1;
	}

	
	.teaserbox video.hidden-mobile{
		display:none;
	}
	.teaserbox video.hidden-desktop{
		display:block;
	}
}
@media screen and (max-width: 950px) {

	.b-kompetenzen header video.homevideo-desktop,
	.b-kompetenzen 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{
		--fontsize-large:24px;
		--fontsize-medium:24px;
		
		--abstand: 20px;

		--topbar-height: 70px;
		--header-height: 260px;
		
		--grid: 4;		
	}	
	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;
	}

	.s-projekt-detail-footer .text-mobile{
		display:inline-block;
	}
	.s-projekt-detail-footer .text-desktop{
		display:none;
	}

	
	
	.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{
		height:100%;
		width:50%;
		background-image: none;
	}
	
	.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:179px;
		left:0px;
		top:52px;
		z-index:7;
		border-bottom-right-radius:7px;
		opacity:1;
		transition:opacity .1s ease;
	}
	.logo-zusatz.hidden-mobile{
		opacity:0;
		pointer-events: none;
	}
	
	.logo-border{
		display:block;
		position: fixed;
		z-index: 7;
		top: -1px;
		left: -1px;
		width: auto;
		height: var(--topbar-height);
	}
	.logo-abdecker{
		display:none;
	}


	.projekt-detail--intro a{
		text-underline-offset: 2px;
	}
	
	
	/* NAV */
	nav{
		z-index:6;
	}
	nav.open{
		width:calc(100vw + 2px);
		height:calc(100vh + 2px);
		height: calc( (var(--vh, 1vh) * 100) + 2px  );
		height:350px;
		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;
	}
	.footer-mobilenav{
		padding:14px;
	}
	nav ul{
		height:100%;
		display:block;
		padding-top:10px;
		padding-bottom:0px;
		padding-top:calc(var(--topbar-height) + 10px);
	}
	
	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 footer{
		border-top:1px solid var(--color-main)
	}
	
	/* HAMBURGER */
	.hamburger::before,
	.hamburger::after{
		top:25px;
	}
	.hamburger::after{
		top:auto;
		bottom:25px;
	}
	
	
	
	
	/* SITE: HOME */

	.b-kompetenzen header,
	.b-kompetenzen-detail header{
		overflow:hidden;
	}
	.b-kompetenzen header img{
		transform:translateY(7%);
	}

	header img{
		object-fit: contain;
	}
	
	.b-kompetenzen header a{
		overflow:hidden;
		align-items: center;
	}
	.b-kompetenzen 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-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;
	}

	.teaserbox h2, .teaserbox:hover h2{
		font-size: var(--fontsize-large);
	}

	
	
	/* SEITE: KONTAKT */
	.b-kontakt{
		overflow:hidden;
	}

	.b-kontakt main{
		flex-direction: column;
	}
	.s-kontakt-map a{
		background-size: 1200px;
	}
	.s-kontakt-text--main{
		font-size:30px;
	}
	.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{
		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-kompetenzen 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;
	}

	.teaserbox--text-details p{
		font-size:var(--fontsize-base);
	}
	
}



@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{
		padding-left:4.2vw;
		padding-right:4.2vw;
	}
	nav ul li a{
		/*font-size:40px;*/
	}
	nav ul li a{
		font-size:12.6vw;
	}
	.logo-zusatz {
		width: 47.8vw;
		font-size: 4.8vw;
	}
	nav, nav button.hamburger{
		width:22vw;
	}
	.hamburger::before{
		top:36%;
	}
	.hamburger::after{
		bottom:36%;	
	}
	
	.b-kompetenzen header video.homevideo-mobile{
		transform:scale(1.8) translateY(10px);
	}
	
	.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;
	}
}


