@font-face {
    font-family: 'Montserrat';
    src: url('/media/fonts/Montserrat-ExtraLight.woff2') format('woff2'),
        url('/media/fonts/Montserrat-ExtraLight.woff') format('woff');
    font-weight: 200;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Montserrat';
    src: url('/media/fonts/Montserrat-Light.woff2') format('woff2'),
        url('/media/fonts/Montserrat-Light.woff') format('woff');
    font-weight: 300;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Montserrat';
    src: url('/media/fonts/Montserrat-Regular.woff2') format('woff2'),
        url('/media/fonts/Montserrat-Regular.woff') format('woff');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Montserrat';
    src: url('/media/fonts/Montserrat-Italic.woff2') format('woff2'),
        url('/media/fonts/Montserrat-Italic.woff') format('woff');
    font-weight: normal;
    font-style: italic;
    font-display: swap;
}

@font-face {
    font-family: 'Montserrat';
    src: url('/media/fonts/Montserrat-SemiBold.woff2') format('woff2'),
        url('/media/fonts/Montserrat-SemiBold.woff') format('woff');
    font-weight: 600;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Montserrat';
    src: url('/media/fonts/Montserrat-Bold.woff2') format('woff2'),
        url('/media/fonts/Montserrat-Bold.woff') format('woff');
    font-weight: bold;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Interstate';
    src: url('/media/fonts/Interstate-ExtraLight.woff2') format('woff2'),
        url('/media/fonts/Interstate-ExtraLight.woff') format('woff');
    font-weight: light;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Interstate';
    src: url('/media/fonts/Interstate-Light.woff2') format('woff2'),
        url('/media/fonts/Interstate-Light.woff') format('woff');
    font-weight: 100;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Interstate';
    src: url('/media/fonts/Interstate-Regular.woff2') format('woff2'),
        url('/media/fonts/Interstate-Regular.woff') format('woff');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Interstate';
    src: url('/media/fonts/Interstate-Bold.woff2') format('woff2'),
        url('/media/fonts/Interstate-Bold.woff') format('woff');
    font-weight: bold;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Interstate';
    src: url('/media/fonts/Interstate-Black.woff2') format('woff2'),
        url('/media/fonts/Interstate-Black.woff') format('woff');
    font-weight: 900;
    font-style: normal;
    font-display: swap;
}
@font-face {
    font-family: 'Abril';
    src: url('/media/fonts/AbrilDisplay-Italic.woff2') format('woff2'),
        url('/media/fonts/AbrilDisplay-Italic.woff') format('woff');
    font-weight: normal;
    font-style: italic;
    font-display: swap;
}
@font-face {
    font-family: 'Helvetica Neue';
    src: url('/media/fonts/Helvetica-Neue-LT-Thin.woff') format('woff');
    font-weight: 100;
    font-style: normal;
    font-display: swap;
}
@font-face {
    font-family: 'Helvetica Neue';
    src: url('/media/fonts/Helvetica-Neue-LT-Roman.woff') format('woff');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}
@font-face {
    font-family: 'Helvetica Neue';
    src: url('/media/fonts/Helvetica-Neue-LT-Bold.woff') format('woff');
    font-weight: bold;
    font-style: normal;
    font-display: swap;
}
@font-face {
    font-family: 'Helvetica Neue 1';
    src: url('/media/fonts/Helvetica-Neue-LT-Bold-1.woff2') format('woff2'),
        url('/media/fonts/Helvetica-Neue-LT-Bold-1.woff') format('woff');
    font-weight: bold;
    font-style: normal;
    font-display: swap;
}

:root {
    --o1: cubic-bezier(.65,1,.9,1);
    --o2: cubic-bezier(.5,1,.89,1);
    --o3: cubic-bezier(.33,1,.68,1);
    --o4: cubic-bezier(.25,1,.5,1);
    --o5: cubic-bezier(.22,1,.36,1);
    --o6: cubic-bezier(.19,1,.22,1);
    --io1: cubic-bezier(.37,0,.63,1);
    --io2: cubic-bezier(.45,0,.55,1);
    --io3: cubic-bezier(.65,0,.35,1);
    --io4: cubic-bezier(.76,0,.24,1);
    --io5: cubic-bezier(.83,0,.17,1);
    --io6: cubic-bezier(.87,0,.13,1);
    --i1: cubic-bezier(.12,0,.39,0);
    --i2: cubic-bezier(.11,0,.5,0);
    --i3: cubic-bezier(.32,0,.67,0);
    --i4: cubic-bezier(.5,0,.75,0);
    --i5: cubic-bezier(.64,0,.78,0);
    --i6: cubic-bezier(.7,0,.84,0);
}

/* Animationen */
.fade, .fade-delay > * {
    opacity: 0;
    transform: translateY(4vw);
    transition: transform 1.2s ease-in-out, opacity 1.2s ease-in-out;
    display: block;
}
.fade.show, .fade-delay.show > * {
	opacity: 1;
	transform: translateY(0);
}
.fade-delay.show > *:nth-child(2){
	transition-delay: .2s;
}
.fade-delay.show > *:nth-child(3){
	transition-delay: .3s;
}
.fade-delay.show > *:nth-child(4){
	transition-delay: .4s;
}
.fade-delay.show > *:nth-child(5){
	transition-delay: .5s;
}
.fade-delay.show > *:nth-child(6){
	transition-delay: .6s;
}
.fade-delay.show > *:nth-child(7){
	transition-delay: .7s;
}
.fade-delay.show > *:nth-child(8){
	transition-delay: .8s;
}
.fade-delay.show > *:nth-child(9){
	transition-delay: .9s;
}
.fade-delay.show > *:nth-child(10){
	transition-delay: 1.0s;
}

.fade-delay.slow.show > *:nth-child(2){
	transition-delay: .4s;
}
.fade-delay.slow.show > *:nth-child(3){
	transition-delay: .6s;
}
.fade-delay.slow.show > *:nth-child(4){
	transition-delay: .8s;
}
.fade-delay.slow.show > *:nth-child(5){
	transition-delay: 1.0s;
}
.fade-delay.slow.show > *:nth-child(6){
	transition-delay: 1.2s;
}
.fade-delay.slow.show > *:nth-child(7){
	transition-delay: 1.4s;
}
.fade-delay.slow.show > *:nth-child(8){
	transition-delay: 1.6s;
}
.fade-delay.slow.show > *:nth-child(9){
	transition-delay: 1.8s;
}

* {cursor: none;}

.headline-1, .headline-2 {
    position: relative;	
    padding-left: 4.7vw;
}
.headline-1:before, .headline-2:before {
    content: "_";
    margin-left: 0vw;
    width: 0vw;
	position: absolute;
	overflow: hidden;
}
.show .headline-1:before, .show .headline-2:before {
    margin-left: -4.7vw;
    width: 4.5vw;
    transition: width 0.9s ease 0.3s, margin-left 0.9s ease 0.3s;
}
.slide-counter.headline-2:before {
    display: none;
}
/* Allgemein */
.mobile {
		display: none;
	}
html {
/*  scroll-behavior: smooth;*/
}
#cursor {
	display: none;
}
@media (hover: hover) {
	#cursor {
		display: initial;
		position: fixed;
		top: -100px;
		left: -100px;
		z-index: 99999999;
		width: 26px;
		height: 26px;
		background-color: transparent;
		border-radius: 50%;
		mix-blend-mode: difference;
		pointer-events: none;
	}
	#cursor:after {
		content: '';
		position: absolute;
		left: 100%;
		top: 100%;
		transform: translate(-50%, -50%);
		width: 26px;
		height: 26px;
		border: 1px solid #fff;
		border-radius: 50%;
		transition: width 0.3s ease, height 0.3s ease;
		font-family: 'Interstate';
		font-weight: lighter;
		color: #fff;
		will-change: width, height;
	}
	#cursor.hover:after, #cursor.link:after, #cursor.back.link:after, #cursor.back.link:after {
		content: '';
		width: 84px;
		height: 84px;
	}
	#cursor.back {
		mix-blend-mode: unset;
	}
	#cursor.back:after {
		content: '';
		width: 100px;
		height: 100px;
		border-color: #000;
	}		
	
	#cursor #back {
		overflow: hidden;
		width: 0px;
		height: 0px;
		font-size: 0px;
		text-align: center;
		transition: width 0.3s ease, height 0.3s ease, font-size 0.3s ease, line-height 0.3s ease;
	}
	#cursor #back span {
		transform: translateY(1px);
		margin-right: 3px;
		font-size: 90%;
		display: inline-block;
	}
	#cursor.hover #back, #cursor.link #back, #cursor.back.link #back, #cursor.back.link #back, #cursor.back.link #back {
		font-size: 0px;
	}
	#cursor.back #back {
		width: 100px;
		height: 100px;
		font-size: 21px;
		line-height: 98px;
		position: absolute;
		left: -24px;
		top: -24px;
	}
}	
body {
    margin: 0;
    padding: 0;
    font-size: 1.8vw;
    line-height: 1.45;
    font-family: 'Interstate';
    font-weight: 100;
}

img {
	max-width: 100%;
	height: auto;	
	border: 0;
	
}
.preload, .preload img {
    opacity: 0;
    width: 0px;
    height: 0px;
    border: 0px;
}
p, ul {
    margin-bottom: 1.5em;
    margin-top: 1.5em;
}
h1 {
    font-size: 8.5vw;
    /* letter-spacing: -0.2vw; */
    font-family: 'Interstate';
    font-weight: 100;
}
h1.seoh1 {
    font-size: 1.5vw;
    position: fixed;
    left: 0;
    top: 0;
}
h2, .headline-2, .page-default .headline-2 {
    font-size: 9.5vw;
    margin-top: 0;
    margin-bottom: 5vw;
    font-family: 'Helvetica Neue';
    font-weight: normal;
    line-height: 1;
    white-space: nowrap;
}
h3 {
    font-size: 2vw;
}
a {
	cursor: none;
	color: #000;
	position: relative;
	text-decoration: none;
	/*
	-moz-transition: all 0.3s;
	-webkit-transition: all 0.3s;
	transition: all 0.3s
	*/
}
a:hover, a:focus, a:active {
    text-decoration: none;
    color: #000;
}
a:active, a:focus {
	outline: none;
}	 

a.underline:after, .underline a:after, .footer-menue a:after {
    content: "";
    position: absolute;
    width: 100%;
    height: 2px;
    left: 0;
    bottom: -0.1vw;
    background-color: #000;
    transition: transform 0.6s ease;
}
a.underline:hover:after, .underline a:hover:after, .footer-menue a:hover:after {
    transform: rotateY(180deg);
}

a.hoverline:after {
    content: "";
    position: absolute;
    width: 100%;
    height: 2px;
    left: 0;
    bottom: -1px;
    background-color: #000;
    transform: rotateY(90deg);
    transition: transform 0.6s ease;
}
a.hoverline:hover:after {
    transform: rotateY(0deg);
}

.flex {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
}

.mt3 {
	margin-top: 3vw!important;
}
.mt4 {
	margin-top: 4vw!important;
}

.mb0 {
	margin-bottom: 0!important;
}
.mb2 {
	margin-bottom: 2vw!important;
}
.mb4 {
	margin-bottom: 4vw!important;
}

strong, b {
    font-weight: 600;
    /* text-shadow: 1px 0 0px black; */
}
span.space-sm {
    letter-spacing: -0.15vw;
}
section {
    width: 100%;
    position: relative;
    float: left;
    clear: both;
    background: #fff;
    padding: 0;
    margin: -1px 0 0 0;
    overflow-x: hidden;
}
.section-content {
    width: 78%;
    position: relative;
    margin: 12vw 11vw;
    display: inline-block;
    padding: 0;
}
.section-content.slim {
    width: 74%;
    margin: 8vh 13%;
}
.section-content.center {
	 text-align: center;
}
.section-content.wide {
    width: 100%;
    margin-left: 0;
    margin-right: 0;
}
.img-left {
    max-width: 51%;
	width: 51%;
	height: auto;
    float: left;
    margin-right: 4%;
}
.img-right {
    max-width: 51%;
	width: 51%;
	height: auto;
    float: left;
    margin-left: 4%;
}
p.text-right {
    float: left;
    margin-top: 9.8vw;
}

p.text-left {
    width: 45%;
    float: left;
    margin-top: 8vw;
    text-align: right;
}
p.text-right.left-line {
    margin-left: 1vw;
}
.col2 {
    width: 50%;
    float: left;
    position: relative;
    height: 100%;
    display: block;
}
.parallax-section {
    position: relative;
    width: 100%;
    height: 100vh;
    overflow: hidden;
}
.parallax-section .bg-img {
    position: absolute;
    left: 0;
    top: 0;
    min-width: 100%;
    object-fit: cover;
    max-width: initial;
    min-height: 100vh;
}
.parallax-section .section-content {
    margin-top: 8vw;
    margin-bottom: 8vw;
    height: calc(100% - 16vw);
}
.parallax-section.white-text, .parallax-section.white-text a {
    color: #fff;
}
.white-text a.underline:after, .white-text .underline a:after {
    background-color: #fff;
}
/* ENDE Allgemein */

/* Menu */

#navigation {
    width: 100%;
    height: 100vh;
    overflow: visible;
    display: block !important;
    position: fixed;
    background: #fff;
    z-index: 999999;
    left: 0;
    top: -101%;
/*  transform: translateY(-101%);*/	
    transition: transform 1.2s var(--io5), top 1.2s var(--io5);
}
#navigation.active, .locations #navigation {
    top: 0;
}

#navigation #logo-c {
    position: fixed;
    top: 2.8vw;
    left: 3vw;
    width: 2.4vw;
    z-index: 99999999;
    display: block;
    transition: none;
    font-size: 2.0vw;
    line-height: 0.8;
    font-family: 'LemonMilk';
    text-align: center;
    height: 1.5vw;
    transition: color 0.3s, opacity 0.3s, transform .3s ease .3s;
}
.black:not(.white) #navigation #logo-c {
	filter: invert(1);
}

.home #navigation #logo-c {
    opacity: 0;
	transform: scale(0);
}
#navigation.active #logo-c, .locations #navigation #logo-c, #logo-c.show {
    opacity: 1 !important;
    transform: scale(1) !important;
    color: #000 !important;
}
.menu {
    position: relative;
    z-index: 9999;
    margin: 18vh auto 0 auto;
    width: 60vh;
    transform: translateX(60vw);
    transition: transform .6s ease-out .2s;
    padding-left: 10vh;
    padding-left: calc(10vh + 5vw);
}
.active .menu {
    transition: width .8s cubic-bezier(.46,.05,.18,.99) .0s;
	transform: translateX(0);
}
.menu a {
    font-size: 8.5vh;
    margin: 1vh 0;
    border-bottom: 0;
    width: 100%;
    display: inline-block;
    opacity: 0;
    line-height: 1;
    font-weight: normal;
    text-transform: uppercase;
    transform: translateX(100vw);
    transition: transform .8s cubic-bezier(.46, .05, .18, .99), opacity .6s .2s;
    font-family: 'Helvetica Neue';
}

.active .menu a {
    transform: translateX(0);
    opacity: 1;
}
.active .menu a:nth-child(2) {
    transition-delay: .05s;
}
.active .menu a:nth-child(3) {
    transition-delay: .15s;
}
.active .menu a:nth-child(4) {
    transition-delay: .2s;
}
.active .menu a:nth-child(5) {
    transition-delay: .25s;
}
.active .menu a:nth-child(6) {
    transition-delay: .3s;
}
.active .menu a:nth-child(7) {
    transition-delay: .35s;
}
.active .menu a:nth-child(8) {
    transition-delay: .4s;
}

.menu A:before {
    content: "";
    background-color: #000;
    position: absolute;
    left: -5vh;
    bottom: 0.4vh;
    width: 5vh;
    height: .6vh;
    transition: width 0.3s, left 0.3s;
}

@media (hover: hover) {
	.menu A:hover:before, .menu A.active:before {
		content: "";
		position: absolute;
		left: -10vh;
		width: 10vh;
	}
}

.hamburger {
    display: flex;
    position: fixed;
    width: 2.8vw;
    height: 2.4vw;
    right: 0px;
    top: 0px;
    padding: 3vw 3vw 3vw 1vw;
    z-index: 9999999;
    min-width: 26px;
    flex-direction: column;
    align-items: flex-end;
}
.hamb_line {
    height: 0;
    width: 100%;
    background: #fff;
    margin-top: 0%;
    margin-bottom: 20%;
    border-radius: 0;
    padding-bottom: 2px;
    transition: all 0.3s;
}
.page-default .hamb_line, .competence .hamb_line, .white .hamb_line {
    background: #000;
}
.hamb_line:last-child {
    width: 60%;
}
.hamburger.active {
	mix-blend-mode: initial;
}
.hamburger.active .hamb_line {
    background: #000!important;
    width: 100%!important;
}
.hamburger.active .hamb_line:first-child {
    transform: rotate(-45deg);
	margin-bottom: -3px;
}
.hamburger.active .hamb_line:last-child {
    transform: rotate(45deg);
	margin-bottom: 0;
}

#lang-nav {
    position: fixed;
    top: 3vw;
    left: 3vw;
    z-index: 9;
    line-height: 1;	
    transition: opacity 0.4s ease-out, transform 0.4s ease-out 0.4s;
    transition: transform 0.8s ease-out 0.9s, opacity 0.4s ease-out 0.9s;
    opacity: 0;
	transform: scale(0);
}
#lang-nav.show {
    opacity: 1;
	transform: scale(1);	
}
#lang-nav a {
    color: #fff;
    letter-spacing: -2px;
    transition: color 0.3s;
}
#lang-nav.white a {
    color: #000;
}
#lang-nav.difference {
    mix-blend-mode: difference;
}
#lang-nav.difference a {
    color: #fff;
}
@media only screen and (min-width:768px) {	
	#lang-nav a .divide {
		transform: translateX(-1px);
		display: inline-block;
	}
}



@media (hover: hover) {	
}
/* ENDE Menu */

@keyframes jump {
   0%   { transform:translateY(0);}
   50%   { transform:translateY(2vh);}
   100%   { transform:translateY(0);}
}
.down-link {
    position: absolute;
    left: 50.5%;
    bottom: 3vw;
    width: 90px;
    margin-left: calc(-96px / 2);
    height: 40px;
    z-index: 1;
    text-align: center;
    background: url(media/images/layout/pfeil-weiss.png) 50% 50% no-repeat;
    background-size: 32px 10px;
    -moz-transition: all ease-out 0.3s;
    -webkit-transition: all 
ease-out 0.3s;
    transition: all 
ease-out 0.3s;
    animation: jump 3s infinite 
ease;
}
/* Home */
@keyframes turner{
    from{  transform: rotateY(0deg)   }
    to  {  transform: rotateY(360deg) }
}

/* Preloader Progress */
#preloader.progress-count {
    width: 100%;
    height: 100vh;
    overflow: hidden;
    background: #fff;
    position: fixed;
    left: 0;
    top: 0;
    z-index: 99999;
    transition: transform 3.7s cubic-bezier(.46,.05,.18,.99) 0s;
    display: flex;
}
#preloader.progress-count.load {
    transform: translateY(-100%);
}
#preloader.progress-count .progress-number {
    position: absolute;
    left: 3vw;
    bottom: 0;
    font-size: 12vw;
    font-family: 'Interstate';
    font-weight: normal;
    line-height: 1;
    opacity: 0;
    transition: opacity .8s ease .5s;
    letter-spacing: -0.5vw;
}
#preloader.progress-count .progress-number.show {
	opacity: 1;
}

@keyframes fade {
   0%   { opacity:0;background-image: url(media/images/layout/wzr-logo.png)}
   70%   { opacity:1;}
   80%   { opacity:1;}
   100%   { opacity:0;background-image: url(media/images/layout/wzr-logo.png)}
}


section#home {
    height: 100vh;
	background: transparent;	
    margin: 0;
	position: relative;
    -moz-transition: top 1.5s;
    -webkit-transition: top 1.5s;
    transition: top 1.5s;
}
.video-wrapper {
    position: relative;
    pointer-events: none;
    overflow: hidden;
    color: #fff;
}
.video-wrapper.hero {
    position: fixed;
    width: 100%;
    height: 100vh;
    top: 0;
    left: 0;
    z-index: -1;
}
.parallax-section .video-wrapper {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100vh;
    object-fit: cover;
}
.video-wrapper video {
    object-fit: cover;
    min-width: 100%;
    min-height: 100%;
    height: 100%;
}
.video-wrapper.hero video {
    width: 100%;
    height: 56.25vw;
    min-height: 100vh;
    min-width: 177.77vh;
    position: absolute;
    top: 0;
    left: 0;
    object-fit: cover;
}

a#btn_form {
    position: fixed;
    right: 3vw;
    bottom: 3vw;
}

/* home */
#home .titel {
    position: absolute;
    left: 7vw;
    bottom: 14vh;
    transform: translateY(5%);
    color: #fff;
    display: inline-block;
    margin: 0;
    opacity: 0;
    -moz-transition: all 0.8s ease-out;
    -webkit-transition: all 0.8s 
ease-out;
    transition: all 0.8s 
ease-out;
}
#home.show .titel {
    transform: translateY(-25%);
    opacity: 1;
}
#home .titel .titel1 {
    width: 100%;
    text-align: left;
    display: flex;
    line-height: 1;
    margin-left: -0.8vw;
    flex-direction: row;
    align-items: baseline;
}
#home .titel .titel2 {
    font-weight: 100;
    font-size: 1.9vw;
    font-size: 1.69vw;
    letter-spacing: 0.03vw;
    display: block;
    line-height: 1;
    width: 100%;
    letter-spacing: 0.1vw;
    margin-top: -0.5vw;
}
#hero_title .fied {
    font-family: 'Helvetica Neue';
    font-weight: normal;
    font-size: 12vw;
    letter-spacing: -0.1vw;
}
#hero_title .law {
    font-family: 'Abril';
    font-size: 12vw;
    overflow: hidden;
    display: inline-block;
    font-style: italic;
    padding-right: 2vw;
    margin-left: -1vw;
}
#hero_title .law > span {
    display: inline-block;
    transform: translateX(-100%);
    transition: transform 1.4s ease-in-out;
    padding-right: 2vw;
    white-space: nowrap;
}
#hero_title .show .law > span {
    transform: translateX(0);
}
span.space-w {
    padding: 0;
    margin-left: -1.5vw;
}
span.space-e {
    padding: 0;
    margin-left: -0.5vw;
}

.titel .contact-buttons {
    text-align: center;
    margin-top: 2vh;
}
.contact-btn {
    color: #000;
    margin: 1vw;
    background: #fff;
    font-weight: 100;
    padding: .8vw 2.5vw;
    border-radius: 3vw;
	transition: all .4s ease;
}

.slidebutton {
    font-weight: 100;
    display: inline-block;
    border-radius: 4vw;
    position: relative;
    overflow: hidden;
    background: transparent;
    margin: 0;
    height: 3vw;
    border: 1px solid #fff;
    letter-spacing: 0.1vw;
    font-family: 'HELVETICA NEUE';
    font-family: 'Interstate';
    font-size: 1.69vw;
}
.slidebutton .slide-inner {
    display: inline-block;
    transition: transform .6s ease-out;
    white-space: nowrap;
	background: transparent;
    width: 100%;
}
.slide-inner span {
    display: inline-block;
    border-radius: 4vw;
    padding: .6vw 2.0vw 1vw 2.0vw;
    height: 1.5vw;
    line-height: 1.1;
    width: 100%;
}
.slide-inner .slide1 {
    background: transparent;
    color: #fff;
}
.slide-inner .slide2 {
    background: #fff;
    outline: 1px solid #fff;
    color: #000;
}

.slidebutton.active .slide-inner {
	transform: translateY(-50%);
}
@media (hover: hover) {
    .login-button .slidebutton:hover {
    }
	.slidebutton:hover .slide-inner {
        transform: translateY(-50%);
    }
}	

#home .titel h1 {
    margin: 0;
}


/* About section */
.img-s {
    width: 14vw;
    position: absolute;
}
img#about1 {
    top: -1.7vw;
    left: 42vw;
}
img#about2 {
    top: 1.3vw;
    left: 54vw;
}

.img-cover-wrapper {
    overflow: hidden;
    position: relative;
}
.img-cover-wrapper img, .img-cover-wrapper video {
    width: 100%;
    margin-left: 0;
    opacity: 0;
    transform: translateY(15%);
    transition: opacity 1s, transform 2s ease-out;
}
.headline-wrapper .img-cover-wrapper {
    margin-bottom: 0;
}
.headline-wrapper .img-cover-wrapper img {
    margin-left: 0;
}
.show .img-cover-wrapper img, .show .img-cover-wrapper video {
    opacity: 1;
    transform: translateY(0);
}
.img-cover {
    position: absolute;
    left: -1%;
    bottom: -2px;
    background: #fff;
    width: 102%;
    height: 102%;
    transform: translateY(0%);
    -moz-transition: transform 0.8s ease-out 0.5s;
    -webkit-transition: transform 0.8s ease-out 0.5s;
    transition: transform 0.8s ease-out 0.5s;
}
.show .img-cover {
    transform: translateY(-102%);
}

/* Kompetenzen section */

#kompetenzen video {
    filter: brightness(0.9) saturate(0.9) contrast(0.9);
    position: absolute;
    left: 0;
    top: 0;
	transition: all .6s;
}
.flexbox.buttons {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 2.8vw;
    width: 30vw;
    margin: auto;
}
#kompetenzen .slidebutton {
    text-align: center;
    text-transform: uppercase;
    font-style: italic;
    background: rgba(0, 0, 0, 0.7);
    color: #fff;
    height: 3.2vw;
    font-size: 1.7vw;
    letter-spacing: 0.1vw;
}
#kompetenzen .slide-inner span {
    padding: .85vw 0 .95vw 0;
}
#kompetenzen .slide-inner .slide2 {
    background: rgba(255,255,255,0.8);
    color: #000;
}


/* Team section */
.section-content.flexbox {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
	gap: 5%;
}
.col-left {
    width: 39%;
}
.col-left p {
    margin-bottom: 1.4em;
    margin-top: 1.4em;
}
.col-right {
    width: 60%;
    padding-top: .6vw;
}
.col-left .headline-2 {
    font-size: 9.5vw;
    margin-top: 0;
    margin-bottom: 3vw;
    font-family: 'Helvetica Neue';
    font-weight: normal;
    line-height: 1;
    white-space: nowrap;
}
.col-left .more-text {
    font-size: 1.45vw;
    text-align: right;
    line-height: 1.4;
}

/* Karriere section */
#karriere video {
    filter: brightness(0.9) saturate(0.7) contrast(0.9);
}

#karriere .more-text {
    font-size: 1.45vw;
    text-align: left;
    line-height: 1.4;
    position: absolute;
    left: 0;
    bottom: 2vh;
}

/* Animation curtain */
@keyframes curtain-up-2 {
   0%   { transform:translateY(116vh)}
   40% { transform:translateY(0)}
   100% { transform:translateY(-116vh)}
}
@keyframes curtain-up-3 {
   0%   { transform:translateY(116vh)}
   40% { transform:translateY(0)}
   100% { transform:translateY(-116vh)}
}
@keyframes curtain-up-4 {
   0%   { transform:translateY(116vh);}
   40% { transform:translateY(0)}
   100% { transform:translateY(-116vh);}
}
@keyframes curtain-down-1 {
   0%   { transform:translateY(-116vh);}
   40% { transform:translateY(0)}
   100% { transform:translateY(116vh);}
}
@keyframes curtain-down-2 {
   0%   { transform:translateY(-116vh);}
   40% { transform:translateY(0)}
   100% { transform:translateY(116vh);}
}
@keyframes curtain-down-3 {
   0%   { transform:translateY(-116vh);}
   60% { transform:translateY(0)}
   100% { transform:translateY(116vh);}
}
#curtain {
    background: #fff;
    width: 100%;
    height: 116vh;
    position: absolute;
    left: 0;
    top: 0;
    transform: translateY(-116vh);
    will-change: transform;
}


/* Team */
#team .img-l {
    height: 57vh;
}
#team .text-bottom {
    bottom: 4.5vw;
}
#namespace {
    display: inline-block;
    white-space: nowrap;
}

/* Kontakt */
#kontakt {
    font-size: 1.9vw;
    line-height: 1.4;
}
#kontakt .section-content {
    margin-top: 10vh;
    margin-bottom: 10vh;
    height: calc(100% - 20vh);
}
#kontakt .headline-2 {
    font-size: 9.8vw;
    letter-spacing: 0.1vw;
    margin-bottom: 6vh;
}
#kontakt p {
    margin-bottom: 4vh;
    margin-top: 4vh;
}
a.linkedin img {
    width: 8vh;
}

#contactform h2 {
    letter-spacing: -0.15vw;
    font-size: 9.3vw;
    margin-bottom: 6vw;
}
#contactform .bigtext {
    font-size: 3.4vw;
    margin-top: 5vw;
    margin-bottom: 12vw;
    line-height: 1.3;
}
#contactform form {
    width: 65%;
    margin-left: 16%;
    display: flex;
    flex-direction: column;
}
input[type="text"], input[type="email"], textarea {
    border: 1px solid #000;
    padding: 1.3vw 1.5vw;
    font-size: 1.4vw;
    margin-bottom: 3vw;
}
input[type="text"]:focus, input[type="email"]:focus, textarea:focus {
    outline: 1px solid #000;
}
input[type="text"], input[type="email"] {
    width: calc(60% - 3vw - 2px);
}
::placeholder {
    font-size: 1.4vw;
    color: #bbb;
	font-weight: 100;
}
input.submit-button {
    width: 40%;
    align-self: flex-end;
    background: #000;
    color: #fff;
    font-size: 1.4vw;
    font-weight: 100;
    padding: 1.3vw 0;
    border: 0;
}
input#ort, input#www {
    display: none;
}
.privacy-accept {
    margin-bottom: 2vw;
    text-align: right;
}
.error, .success {
	margin-top: 2vw;
}
.error {
	color: #ff0000;
}

form.fade-delay > * {
	transform: translateX(-2vw);
	transform: rotateX(90deg);
    opacity: 0;
	transition: transform 1.2s ease-in-out, opacity 1.2s ease-in-out;
}
form.fade-delay.show > * {
	transform: translateX(0);
	transform: rotateX(0);
    opacity: 1;
}

form.fade-delay > *:nth-child(2){
	transition-delay: .2s;
}
form.fade-delay > *:nth-child(3){
	transition-delay: .4s;
}
form.fade-delay > *:nth-child(4){
	transition-delay: .6s;
}
form.fade-delay > *:nth-child(5){
	transition-delay: .8s;
}
form.fade-delay > *:nth-child(6){
	transition-delay: 1.0s;
}
form.fade-delay > *:nth-child(7){
	transition-delay: 1.2s;
}
form.fade-delay > *:nth-child(8){
	transition-delay: 1.4s;
}


/* Footer */	
 
a.linkedin {
    display: inline-block;
}
.footer-menue {
    text-align: left;
}
section#footer {
    padding-top: 2vw;
}
/* END Footer */	


/* Page Team */
/* hover */
/*@media (hover: hover) {*/
@media only screen and (min-width:769px) {		
	.team-boxes > div:hover {
		background-size: 150%;
		-webkit-transition: all 0.35s ease-in-out;
		-moz-transition: all 0.35s ease-in-out;
		transition: all 0.35s ease-in-out;
	}
	.team-boxes > div:hover .text-bg {
		opacity: 1;	
		-webkit-transform: scale(1);
		-moz-transform: scale(1);
		transform: scale(1);
	}
}


/* team Detail */
#team-detail .headline-1 {
    margin-top: 4vw;
    margin-bottom: 1vw;
    margin-left: 13%;
    width: 80%;
    font-size: 7.5vw;
}
#team-detail .beruf, #team-detail .headline-1 .beruf {
    font-size: 1.9vw;
    text-transform: uppercase;
    margin-bottom: 3vw;
    display: block;
    margin-top: 1vw;
    margin-left: -4.4vw;
    width: 85%;
}
#team-detail .section-content {
    margin-top: 0;
    margin-bottom: 0;
    margin-left: 13%;
    width: 57%;
}
#team-kontakt {
    margin-top: 0;
    padding-top: 4vw;
}
#team-kontakt .section-content {
    margin-top: 0;
    margin-bottom: 8vh;
    margin-left: 13%;
    width: 77%;
}
#team-detail .img-cover-wrapper.team-img-2 {
    max-width: 66%;
    width: 100%;
    height: auto;
    /* float: right; */
    /* margin-left: 4%; */
    margin-bottom: 1vw;
}
#team-detail .img-cover-wrapper.team-img-2 img.team-header-img {
    width: 100%;
    /* float: right; */
    margin-left: 0;
}

#team-detail .text {
    clear: both;
    margin: 2vw 0;
    display: inline-block;
    opacity: 0;
    transition: opacity 1.5s ease 1s;
}
#team-detail .text a {
    display: inline-block;
}
@media only screen and (min-width:769px) {	
	.en #team-detail .text, .breuer .text, .klink .text, .shamsaei .text, .mohsenpour .text, .bartels .text, .cakir .text, .duden .text, .yaman .text, .hibydurst .text, .knebel .text, .dagdeviren .text, .ghassemi .text, .feric .text, .dobert .text, .hofmann .text {
		width: 70%;
	}
	.en #team-detail.knopp .text {
		width: 76%;
	}
}
#team-detail.show .text {
    opacity: 1;
}
#team-detail .text p {
    margin-bottom: 1.8vh;
    margin-top: 1.8vh;
}
#team-detail .text ul {
    margin-bottom: 1.8vh;
    margin-top: 0;
    padding-left: 1vw;
}
#team-detail .text ul li {
    position: relative;
    list-style: none;
    padding-left: 0;
    margin-top: 1vw;
}
#team-detail .text ul li:before {
    content: "_";
    color: #000;
    margin-left: -0.7vw;
    width: 0.7vw;
    display: inline-block;
}
#team-kontakt .headline-2 {
    font-size: 7.1vw;
    margin-bottom: 1vw;
    margin-top: 0;
}
#team-kontakt .headline-2:after {
    left: -17px;
    bottom: 0px;
}
.team-contact {
    display: flex;
    gap: 4%;
}
#team-kontakt .team-contact-img {
    max-width: 38vw;
    width: 38vw;
    height: auto;
    /* float: right; */
    margin-right: 4%;
    margin-left: 0;
}
#team-kontakt .team-contact-text {
    /* float: right; */
    transform: translateY(60%);
    padding-right: 1.5vw;
    margin-bottom: 6vw;
}

#team-detail .text h2 {
    font-size: 2vw;
    white-space: normal;
    margin-top: 6vw;
    line-height: 1.1;
    margin-bottom: 2vw;
    height: auto;
    /* letter-spacing: .1vw; */
    text-transform: uppercase;
}
.img-flexbox {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    margin-left: 13%;
}
.box-header {
    background: #000;
    color: #fff;
    padding: .6vw 1.5vw;
}
.box-content {
    padding: .7vw 1.5vw .5vw 1.3vw;
    line-height: 1.5;
}


/* default */
.page-default h1, .page-default .headline-1 {
    font-size: 8.5vw;
    margin-top: 0;
    margin-bottom: 1vw;
}
.button-back {
    background: url(media/images/layout/close-black.png);
    background-repeat: no-repeat;
    background-position: 0% 0%;
    background-size: 100%;
    width: 2vw;
    height: 2vw;
    position: absolute;
    right: 0.7vw;
    top: 0.7vw;
    z-index: 99;
}
.button-back:after {
    display: none;
}
.page-default.longtext .headline-1 {
    /* font-size: 6vw; */
}
.page-default.longtext li {
    margin-bottom: 0.5vw;
}
.page-default h3 {
    font-size: 2vw;
    margin-top: 3vw;
    margin-bottom: 1.5vw;
    font-weight: 400;
    letter-spacing: -1px;
}
.page-default .headline-3 {
    font-size: 2.5vw;
    margin-top: 4vw;
    margin-bottom: 1.5vw;
    height: auto;
    font-weight: 400;
    letter-spacing: -1px;
}
.page-default #kontakt img.img-right {
    max-width: 65%;
    width: 65%;
}
.page-default #kontakt p.text-left {
    width: 31%;
    margin-top: 8vw;
}

.page-default .left-line a {
    position: relative;
}
.page-default .left-line a:after {
    content: "";
    position: absolute;
    width: 0.8vw;
    height: 2px;
    top: 1.4vw;
    left: -0.8vw;
    background-color: #000;
    visibility: visible;
    transition: all 0.3s ease-in-out 0s;
    transform: initial;
}
.page-default .left-line a:hover:after, .page-default .left-line a.active:after {
    width: 1.6vw;
    left: -1.6vw;
}


/* AGB, Datenschutz */
.pagecontent {
    width: 80%;
    margin: 10% auto 10%;	
    font-size: 21px;
    line-height: 1.3;
}
.pagecontent h1 {
}
.pagecontent p {
    font-size: 21px;
}
.clear {
	 clear: both}		
.t-space {
    margin-right: 0.2vw;
    display: initial !important;
}	
.i-space {
    margin-right: -0.2vw;
    margin-left: 0.2vw;
    display: initial !important;
}				
.k-space {
    margin-right: -0.4vw;
    display: initial !important;
}
					
.r-space {
    margin-right: 0.3vw;
    display: initial !important;
}												
.lr-space {
    margin-left: 0.2vw;
    margin-right: 0.3vw;
    display: initial !important;
}			
.l-r-space {
    margin-left: 0.3vw;
    margin-right: -0.3vw;
    display: initial !important;
}						
.-l-r-space {
    margin-left: -0.4vw;
    margin-right: -0.3vw;
    display: initial !important;
}
/* ENDE AGB, Datenschutz */	


