@font-face {
  font-family: 'regular';
  src:  url('../Fonts/Montserrat-Regular.woff2');
  font-weight: 400;
  font-style: normal;
  font-display: block;
}

@font-face {
  font-family: 'regular';
  src:  url('../Fonts/Montserrat-Bold.woff2');
  font-weight: 600;
  font-style: normal;
  font-display: block;
}

@font-face {
  font-family: 'headline';
  src:  url('../Fonts/Montserrat-Bold.woff2');
  font-weight: 600;
  font-style: normal;
  font-display: block;
}

@font-face {
  font-family: 'icon';
  src:  url('../Fonts/icon.woff');
  font-weight: 400;
  font-style: normal;
  font-display: block;
}

* {
	box-sizing: border-box;
}

:root {
	
	--regular: 'regular', Arial, Helvetica, sans-serif;
	--headline: 'headline', Arial, Helvetica, sans-serif; 
	
	--pos:	#FFF;
	--neg:	#000;
	--c1: #004793; /*blue*/
	--c2: #FDCC00; /*yellow */
	--c3: #EC3708; /*red*/
	--c4: rgba(0,19,39,.7);
	
	--base: 20px;
	--small: 15px;
	--medium: 25px;
	--large: 35px;
	
	--Hlarge: 60px;
	--Hmedium: 30px;
	--Hsmall: 20px;	
}


@media only screen and (min-width: 1400px) and (orientation:landscape) {
	:root {
	--base: 20px;
	--small: 15px;
	--medium: 30px;
	--large: 60px;		
		
	--Hlarge: 100px;
	--Hmedium: 50px;
	--Hsmall: 30px;			
	}
}

/*------------------------------
BODY
------------------------------ */

html {
  scroll-behavior: smooth !important;
}

body {
    font-family: var(--regular); 
    font-size: var(--base);
    line-height: 1.7;
    margin: 0;
    padding: 0;
    background: var(--c1);
    text-shadow: none !important;
}

img {
	width:100%;
	height: auto;
}

figure {
	margin: 0;
}

sub {
	line-height: 0;
	transform: scale(.8);
	display: inline-block;
}

sup {
	line-height: 0;
	display: inline-block;
	transform: scale(.9);
	position: relative;
	top: .1rem;
}

.ce-bullets {
  margin: 2rem 0 2.5rem 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(1, auto);	
  gap: 0 4rem; 
  width: 100%; 
}

li {
	list-style-type: none;
	position: relative;
	padding-left: 2rem;
	margin: 0 0 .5rem 0;
}

li::before {
	content: '\e900';
	display: block;
	color: var(--c2);
	top: 0;
	left: 0;
	position: absolute;
	font-family: 'icon';
}

/*------------------------------
HEADLINES
------------------------------ */

p.headline {
	font-size: var(--large);
	font-family: var(--headline);
	text-transform: uppercase;
	margin: 0;
	line-height: 1.2;	
}

p.headline span {
  display: block;
}

.frame p.headline {
	font-size: var(--medium);
	margin: 1rem 0 0 0;
}

@media only screen and (min-width: 1400px) and (orientation:landscape) {
	.frame p.headline {
		margin: 3rem 0 0 0;
	}	
}

.button,
.box {
	-webkit-border-bottom-left-radius: 1.2rem;
	border-bottom-left-radius: 1.2rem;
}


.button {
	background: var(--c2);
	color: var(--c1);
	padding: 1rem 1rem 1rem 3.5rem;
	position: relative;
}

@media only screen and (min-width: 1400px) and (orientation:landscape) {
	a.button {
	padding: 1rem 3.5rem;
	}
}

.button::before {
	content: '\ea3c';
	position: absolute;
	top: 1rem;
	left: 1rem;
	font-family: 'icon';
	font-weight: 300;
}

a.button.desc {
	padding: .5rem 1rem .5rem 3.5rem;
	line-height: 1.2;
	color: var(--neg);
	font-weight: 600;
	text-transform: uppercase;
}

a.button.desc::before {
	top: 1.4rem;
}


a.button.desc span {
	display:block;
	font-size: var(--small);
	
	line-height: 1;
	padding-left: -2.5rem;
}

.note {
  font-size: var(--small);
}

/*------------------------------
------------------------------ */


header {
	width:100%;
	background: rgba(0,19,39,1);
	z-index: 2;
	position: fixed;
	min-height: 3.5rem;
}

@media only screen and (min-width: 1400px) and (orientation:landscape) {
	header {
		background: rgba(0,0,0,.6);
		position:absolute;	
	}
}

header .container {
  position: relative;
}

/* Contact */

@media only screen and (min-width: 600px) and (orientation:landscape) {
	.p4x header .container::before {
		content: '\e901';
		position: absolute;
		right: 0;
		color: #c00;
		bottom: 0;
		font-size: 80px;
		color: var(--c1);
		line-height: 1;
		font-family: icon;
	}
}

header #logo a {
  line-height: 1;
  display: block;
  max-width: 384px;
}

.p1x header #logo {
	display: none;		
}

@media only screen and (max-width: 600px) and (orientation:portrait) {
	
	.p1x header #logo {
		display: block;		
	}

	.p1x main {
	  z-index: 2;
	  		min-height: auto !important;
	}

	section#sectionHome .logo {
		display:none;
	}
	
	section#sectionHome .teaser {
  margin-top: 3rem;
	}		
		
	header #logo a {
	max-width: 250px;
	margin-left: -.5rem;		
	}
	header .lang {
	  position: absolute;
	  right: 1rem;
	  top: .5rem;
	}
	
	section#sectionHome .claim {
		margin: 2rem 0 2rem 0 !important;
	}
}

@media only screen and (min-width: 1400px) and (orientation:landscape) {
	header .lang {
		margin-top: 4rem;
	}
}

header .lang span {
	display: block;
	color: var(--pos);
	font-weight: 600;
}

@media only screen and (max-width: 1399px) and (orientation:landscape) {
	header .lang span {
		position: absolute;
		right: 0;
		top: 1rem;	
	}
}

header .lang span::before {
	display: inline-block;
	color: var(--c2);
	content: '\e9c9';
	margin-right: .5rem;
	font-weight: 300;
	font-family: 'icon';
}

#contact {
	position:fixed;
	bottom:0;
	right:0;
	display: inline-block;
	background: var(--neg);
	text-transform: uppercase;
	line-height: 1;
	font-family: var(--headline);
	-webkit-border-top-left-radius: 1.2rem;
	border-top-left-radius: 1.2rem;
	padding: 1rem 5.3rem 1rem 1rem;
	z-index: 5;
}

@media only screen and (min-width: 1400px) and (orientation:landscape) {
	#contact {
	-webkit-border-top-left-radius: 0;
	border-top-left-radius: 0;	
	
	-webkit-border-bottom-left-radius: 1.2rem;
	border-bottom-left-radius: 1.2rem;	
	bottom: auto;
	top:0;
	}
}

#contact a {
	color: var(--pos);
	text-decoration: none;
	display: block;
}

#contact span a::before {
	content: '\e900';
	color: var(--c2);
	margin-right:.5rem;
	display:inline-block;
	font-family: 'icon';
}


#contact-form {
	display: none;
}

.p4x #contact,
.p4x .lang {
	display: none;
}

-webkit-keyframes rotating /* Safari and Chrome */ {
  from {
    -webkit-transform: rotate(0deg);
    -o-transform: rotate(0deg);
    transform: rotate(0deg);
  }
  to {
    -webkit-transform: rotate(360deg);
    -o-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}
@keyframes rotating {
  from {
    -ms-transform: rotate(0deg);
    -moz-transform: rotate(0deg);
    -webkit-transform: rotate(0deg);
    -o-transform: rotate(0deg);
    transform: rotate(0deg);
  }
  to {
    -ms-transform: rotate(360deg);
    -moz-transform: rotate(360deg);
    -webkit-transform: rotate(360deg);
    -o-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}

section#section1 .col-xxl-4 .button::before {
	display: inline-block;
}

#contact span a:hover::before,
section#section1 .col-xxl-4 .button:hover::before {
  -webkit-animation: rotating 2s linear infinite;
  -moz-animation: rotating 2s linear infinite;
  -ms-animation: rotating 2s linear infinite;
  -o-animation: rotating 2s linear infinite;
  animation: rotating 2s linear infinite;
}


/* =============================================================== */

footer {
	background: var(--c4);
	padding: 0 0 4rem 0;
	color: var(--pos);
	font-size: 12px;
	position: relative;
	z-index: 1;
	text-align: center;
}



@media only screen and (min-width: 1400px) and (orientation:landscape) {
	footer {
	text-align: left;
	padding: 0;
	}
	footer .right {
		text-align: right;
	}	
}

footer .right a {
	text-decoration: none;
	color: var(--pos);
	text-transform: uppercase;
}

footer .right a::after {
	content: '|';
	margin:0 .5rem;
}

footer .right a:last-of-type::after {
	content: '';
	margin: 0;
}

footer nav {
  padding: .8rem 0;
}

/* --------------------------- */

main {
  position: relative;
  z-index: 1;
}

@media only screen and (max-width: 1920px) {
	main {
	min-height: 100vh;
	}
}

@media only screen and (min-width: 3000px) {
	main,
	header,
	#contact {
	transform: scale(2);
	transform-origin: top;
	}

	footer {
	transform: scale(2);
	transform-origin: bottom;
	position: fixed;
	bottom: 0;
	width: 100%;
	}
}

#video1 {
	width:100vw;
	height:100vh;
	position:fixed;
	z-index:0;
	top:0;
	left:0;
	overflow:hidden;
}

	.p1x #video1 {
		display:none;
	}

@media only screen and (min-width: 1400px) and (orientation:landscape) {
	.p1x #video1 {
		display:block;
	}
}

#video1 .outer {
	position: relative;
}

#video1 .overlay {
	position: absolute;
	width:100vw;
	height:200vh;
	z-index:1;
background: rgb(0,71,147);
background: linear-gradient(180deg, rgba(0,71,147,0.9) 0%, rgba(0,71,147,0.8) 30%, rgba(0,71,147,0.1) 100%);
	
}

#video1 video {
height: 100vh;
width: auto;
}

@media only screen and (min-width: 1400px) and (orientation:landscape) {
	#video1 video {
	height: auto;
	width: 100vw;
	}	
}

/* --------------------------- */


@media only screen and (min-width: 1400px) and (orientation:landscape) {
	.p1x header {
		background: rgba(0,0,0,0);
		display: block;
	}
	.p1x header .offset-xxl-8 {
		text-align:right;
		position: relative;
		height: 7rem;
	}
}

@media only screen and (min-width: 1400px) and (orientation:landscape) {
	.p1x header .lang {
	  position: absolute;
	  bottom: 0;
	  margin:0;
	}
}

.p1x #contact {
	display: none;
}

@media only screen and (min-width: 600px) and (orientation:landscape) {
	.p1x .teaser {
	position: fixed;
	width: 25%;
	right: -2rem;
	top: 40%;
	transform: translateY(-40%);
    z-index: 1;
	}
}

@media only screen and (min-width: 3000px) {
	.p1x .teaser {
	top: 42%;
	transform: scale(1.2);
	right: 12%;
	}
	
	.p1x .teaser p {
	width: 50%;	
	}
	
	.p1x footer {
	bottom: 0;
	position: fixed;
	width: 100%;		
	}
}

.p1x .teaser div {
	background: var(--c3);
	-webkit-border-bottom-left-radius: 1.2rem;
	border-bottom-left-radius: 1.2rem;
	transform: rotate(-10deg);
	padding: 0 5rem 0 1rem;
}

@media only screen and (min-width: 600px) and (orientation:landscape) {
	.p1x .teaser div {
		padding: 1rem 0;
	}
}

.p1x .teaser p,
.p1x .teaser h4 {
	color: var(--pos);
	font-weight: 600;
	text-transform: uppercase;
	line-height: 1.2;
	font-size: 25px;
	padding: 1rem 2rem;
	margin: 0;
}


@media only screen and (max-width: 1399px) {
    .p1x .teaser h4,
	.p1x .teaser p {
		/* width: 90vw; */
		font-size: var(--Hsmall);
	}
}

/*------------------------------
SECTIONS
------------------------------ */

section {
  padding: 10rem 0;
  position: relative;
}

section .container.deco {
	position: absolute;	
	height: 10rem;
	transform: translateX(-50%);
	left: 50%;  
	pointer-events: none;
	top: 0;
}

section.container.deco div {
	width: 100%;
	position: relative;
}

section.container.deco span {
	position: absolute;
	display: block;
}

section .container.deco span::after {
	display: block;
	content: '\e901';
	font-family: icon;
	font-size: var(--Hlarge);	
	color: var(--c2);
	position: absolute;
	left: .8rem;
	line-height: 1;
	top: 0;
}

/* ------------------------------ */

section#sectionHome {
  padding: 4rem 0 1rem 0;
}

@media only screen and (min-width: 600px) and (orientation:landscape) {
	
	section .container.deco span::after {
	left: 0;
	font-size: 80px;
	}
	
	section#sectionHome {
	  padding: 5rem 0;
	}
	section#sectionHome .col-md-8 {
	  padding-left: 4rem;
	  position: relative;
	}
}

section#sectionHome .logo {
	background: rgba(0,0,0,.6)
}

section#sectionHome .claim {
	color: var(--pos);
	font-size: var(--Hmedium);
	font-weight: 600;
	text-transform: uppercase;	
	margin: 4rem 0 2rem 0;	
}

@media only screen and (min-width: 600px) and (orientation:landscape) {
	section#sectionHome .claim {
	margin: 0 0 4rem 0;			
	}
}

@media only screen and (min-width: 1400px) and (orientation:landscape) {
	section#sectionHome .claim {
	margin-bottom: 0;
	margin-top: 6.5rem;		
	}
}

section#sectionHome .claim b {
	font-size: var(--Hlarge);
}

section#sectionHome .claim span {
	display: block;
	line-height: 1.2;
}
section#sectionHome .claim span span {
	display: inline;
	font-size: var(--Hsmall);
	margin: .5rem;
}

@media only screen and (min-width: 600px) and (orientation:landscape) {
	section#sectionHome .claim span span {
		margin: 1.5rem;
	}
}

section#sectionHome .pages {
	font-weight: 600;
	text-transform: uppercase;
	font-size: var(--medium);
}

@media only screen and (max-width: 1399px) {
	section#sectionHome .pages a {
		margin: 0 0 2rem 0;
	}
}


@media only screen and (min-width: 600px) and (orientation:landscape) {
	
}

@media only screen and (min-width: 1400px) and (orientation:landscape) {
	
	section#sectionHome .claim span.indent {
		margin-left: 4rem;
		line-height: 1.4;
	}	
	
	section#sectionHome .pages {
		position: absolute;
		bottom: 0;
	}

	section#sectionHome .pages a.button + a.button {
        margin: 1rem 0 0;
	}
}

@media only screen and (min-width: 1652px) and (orientation:landscape) {
	section#sectionHome .pages a.button + a.button {
        margin: 0 0 0 3rem;
	}    
}

/* --------------------------- */

section#section0 {
	color: var(--pos);
	padding: 14rem 0 4rem 0;
}

@media only screen and (max-width: 1920px) {
	section#section0 {
		min-height: 100vh;
	}	
}

@media only screen and (max-width: 600px) and (orientation:portrait) {
	section#section0 {
	padding: 8rem 0 4rem 0;
	}
}

@media only screen and (min-width: 1400px) and (orientation:landscape) {
	section#section0 {
	padding: 14rem 0;
	}
}

section#section0 .container.deco {
	display: none;
	top: auto;
	bottom: 0;
}

@media only screen and (min-width: 1400px) and (orientation:landscape) {
	section#section0 .container.deco {
		display: block;
	}
}


section#section0 .container.deco span::after {
	left: auto;
	right: 0;
	top: auto;
	bottom: 0;
}

section#section0 p.headline {
	margin: 0 0 1.5rem 0;
}

section#section0 a.button,
section#section2-1 a.button {
	margin: 2rem 0 0 0;	
}

section#section0 .box {
	background: var(--c4);
	padding: 1rem 2rem;
	margin: 2rem 0 0 0;
	font-size: var(--small);
	line-height: 2;
hyphens: auto;
text-align: justify;	
}

section#section2-1,
section#section5 {
  background: var(--c1);
}

section#section2-1 p,
section#section5 p {
	color: var(--pos);
}

section#section2-1 .container:nth-of-type(4) .row,
section#section2-1 .container:nth-of-type(6) .row {
		font-size: var(--small);
	}
	
#section3 #c109 figure {
  background: var(--c2);
}

#section3 #c109 figure img {
	mix-blend-mode: multiply;
}


#section3 #c25 figure.image {
  background: var(--pos);
  padding: 1.5rem 0 1rem;
}

@media only screen and (min-width: 1400px) and (orientation:landscape) {
	section#section0 .box {
		padding: 2rem 3.5rem;
		margin: 2rem 0 0 -5rem;	
		hyphens: none;
		text-align: left;		
	}

	section#section2-1 .frame-wide,
	section#section5 .frame-wide {
		margin: 4rem 0;
	}
	
	section#section5 .frame-wide:last-of-type {
		margin: 4rem 0 -4rem 0;
	}	

	section#section2-1 .frame-wide p,
	section#section5 .frame-wide p {
		max-width: 75%;
	}	

	section#section2-1 .container:nth-of-type(4) .row figure {
		background: rgba(255,255,255,.3);
		padding: 2rem;
	}	


	section#section2-1 .container:nth-of-type(5) .row .frame-wide,
	section#section2-1 .container:nth-of-type(5) .row .frame p.headline	{
		margin: 0;
	}
	
	section#section2-1 .container:nth-of-type(6) .offset-xxl-1 {
		margin-left: 2.5rem;
	}	

	section#section2-1 .container:nth-of-type(6) .row {
		background: var(--c4);
		color: var(--pos);
		line-height: 2;
		padding: 2rem 0rem;
		border-bottom-left-radius: 1.2rem;	
		max-width: 76%;
		margin: 1rem 0 1rem 8.33333333%;
	}
	
	section#section2-1 .container:nth-of-type(7) .row .frame-wide {
		margin: 4rem 0 -4rem 0;
	}

	section#section2-1 .container:nth-of-type(5) .frame-wide {
		margin-bottom: 0;
	}

}

/* --------------------------- */

section#section1 {
	background: var(--neg);
	color: var(--pos);
	padding: 6rem 0 4rem 0;
}

@media only screen and (max-width: 1920px) {
	section#section1 {
	min-height: 100vh;		
	}
}

@media only screen and (min-width: 600px) and (orientation:landscape) {
	section#section1 {
		padding: 8rem 0 4rem 0;
	}	
}

section#section1 .col-xxl-6 .button {
	background: var(--transparent);
	color: var(--pos);
	padding: 0;
	padding-left:3.5rem;
	font-weight: 600;
	line-height: 1.2;
	margin-left: -1.5rem;
	hyphens: auto;

}

@media only screen and (min-width: 1400px) and (orientation:landscape) {
	section#section1 .col-xxl-6 .button {
	font-size: var(--medium);	
	hyphens: none;	
	}
}

section#section1 .col-xxl-6 .button b {
	color: var(--c2);
}

section#section1 .col-xxl-6 .button::before {
	top:0;
}

section#section1 .col-xxl-4 .button {
	background: var(--transparent);
	color: var(--pos);
	padding: .5rem 1rem .5rem 1rem;
	font-weight: 600;
	line-height: 1.2;
	border: .16rem solid var(--c2);
	text-transform: uppercase;
	margin: 3rem 0 0 0;
	width: 100%;
}

@media only screen and (min-width: 1400px) and (orientation:landscape) {
	section#section1 .col-xxl-4 .button {
		margin:0;
		width: auto;
	}
}

section#section1 .col-xxl-4 .button::before {
	content: '\e900';
	position: static;
	margin-right: .5rem;
	color: var(--c2);
	font-weight: 300;
}

/* --------------------------- */

section#section2 .container.deco span::after {
	color: var(--neg);
}

section#section2 .frame p.headline {
	font-size: var(--large);
	margin:0;
	color: var(--neg);	
}

section#section2,
section#section2x2,
section#section2x4 {
	background: var(--c2);
	color: var(--neg);
	padding: 2rem 0 4rem 0;
}

section#section2x4 {
	
}

section#section2 {
	padding: 6rem 0 0 0;
}



@media only screen and (min-width: 600px) and (orientation:landscape) {
	section#section2 {
	padding: 10rem 0 4rem 0;
	}
	section#section2 .container.deco span::after {
		color: var(--pos);
	}	
	section#section2 .frame p.headline {
		color: var(--pos);
	}	
}

section#section2x2, 
section#section2x4,
section#section2x1,
section#section2x3 {
	background: var(--c2);
	color: var(--neg);	
	padding: 2rem 0 0 0;
}

section#section2x4 {
	padding-bottom: 4rem;
}

@media only screen and (min-width: 600px) and (orientation:landscape) {
	 
	section#section2x2, 
	section#section2x4 {
		padding: 2rem 0 4rem 0;
	}	
		
	section#section2x1,
	section#section2x3 {
		background: var(--pos);	
		padding: 2rem 0 4rem 0;
	}	
		
	section#section2x1 .ce-image,
	section#section2x2 .ce-image,
	section#section2x3 .ce-image,
	section#section2x4 .ce-image {
		margin-top: 3.5rem;
	}
}

section#section2x1 img,
section#section2x2 img,
section#section2x3 img,
section#section2x4 img {
	-webkit-border-bottom-left-radius: 1.2rem;
	border-bottom-left-radius: 1.2rem;
}

section#section2x1 .col-xxl-2 img,
section#section2x2 .col-xxl-2 img, 
section#section2x3 .col-xxl-2 img, 
section#section2x4 .col-xxl-2 img {
	display:none;
	max-height: 200px;
	border: 0;	
}

@media only screen and (min-width: 1400px) and (orientation:landscape) {
	section#section2x1 .col-xxl-2 img,
	section#section2x2 .col-xxl-2 img, 
	section#section2x3 .col-xxl-2 img, 
	section#section2x4 .col-xxl-2 img  {
		display: block;
	}	
}

section#section2x1 figcaption,
section#section2x2 figcaption,
section#section2x3 figcaption,
section#section2x4 figcaption {
	font-size: var(--small);
	text-align:right;
	line-height: 1.2;
}

/* Service Seal */
#c50 {
	position: absolute;
	width: 10%;
	min-width: 200px;
	bottom: -5%;
	left: 2rem;
}

#c50 img {
	border: .14rem solid #fff;
	border-radius: 100% !important;
	line-height: 1;	
}

@media only screen and (max-width: 600px) and (orientation:portrait) {
	#c50 img {
		max-width: 30vw;
	}
}

section#section2x4 .col-xxl-5 {
	position: relative;
}


/* --------------------------- */

section#section3 {
	background: rgba(255,255,255,.9);
	color: var(--neg);
	padding: 3rem 0 0 0;
	overflow: hidden;
}

@media only screen and (min-width: 1400px) and (orientation:landscape) {
	section#section3 {
		padding: 6rem 0 4rem 0;
	}
}

section#section3 .frame {
	margin: 0 0 3rem 0;
}

@media only screen and (max-width: 600px) and (orientation:portrait) {
	section#section3 .ce-image.ce-center.ce-above {
	  width: 275vw;
	  margin-left: -87vw;
	}
	
	/* Text Tabelle */
	section#section3 #c109 .ce-image.ce-center.ce-above {
		width: 100%;
		margin:0;
	}
}

/* --------------------------- */

section#section4 .container.deco span::after {
	left: auto;
	right: 0;
}

section#section4 {
	color: var(--pos);
	padding: 6rem 0 6rem 0;	
}

section#section4 p.headline {
	margin: 0 0 2rem 0;
}

section#section4 a.button {
	font-weight: 600;	
	padding: .5rem 0 .5rem 3.5rem;
	line-height: 1.2;
	margin-top: 2rem;
	width: 100%;
}

@media only screen and (min-width: 1400px) and (orientation:landscape) {
	
	section#section4 {
		padding: 10rem 0 6rem 0;	
	}	
	
	section#section4 a.button {
	width: auto;width: 35%;
	}
}

section#section4 a.button::before {
	top: .5rem;
}

section#section4 .right {
	text-align:right;
}
section#section4 .col-xxl-3 {
	position: relative;
	margin: 8rem 0 0;
}

@media only screen and (min-width: 1400px) and (orientation:landscape) {
	section#section4 .col-xxl-3 {
	margin: 0;
	}
}


@media only screen and (min-width: 1400px) and (orientation:landscape) {
	section#section4 .col-xxl-3 figure {
		position: absolute;
	}
}

section#section4 .col-xxl-3 figure {
	left: 25%;
	width: 50%;
	z-index: 2;
	border: .15rem solid var(--pos);
	border-radius: 100%;
	line-height: 1;
	background: var(--neg);
}

section#section4 .col-xxl-3 figure + figure {
	position: absolute;
	z-index: 1;
	top: -4rem;
	left: 50%;
	width: 30%;
}

/* --------------------------- */

section#sectionContact .frame p.headline {
	font-size: var(--large);
}

section#sectionContact .button.desc {
	font-size: var(--base);
	background: transparent;
	margin: 2rem 0 -1.5rem 0;
	display: block;
}

section#sectionContact .button.desc span {
	font-size: var(--small);	
}

@media only screen and (min-width: 1400px) and (orientation:landscape) {
	section#sectionContact::before {
		content: '\e902';
		font-family: 'icon';
		font-weight: 300;
		font-size: 60vh;
		color: var(--c2);
		position: absolute;
		top:55%;
		line-height:1;
		left: -25vh;
		transform: translateY(-50%);
	}
}

section#sectionContact {
	color: var(--pos);
}

@media only screen and (max-width: 1920px) {
	section#sectionContact {
	min-height: 100vh;
	}
}

@media only screen and (max-width: 600px) and (orientation:portrait) {
	section#sectionContact {
		padding: 6rem 0 2rem 0;
	}
}

section#sectionContact form {
	margin: 3rem 0 0 0;
}

section#sectionContact form .clearfix {
	float: right;
	font-size: var(--small);
	line-height: 1;
}

section#sectionContact form h2 {display: none;}

section#sectionContact .form-group {
	display: grid;
	grid-template-columns: 1fr; 	
	gap: 0 1rem;
	margin: 0 0 1rem 0;
}

@media only screen and (min-width: 1400px) and (orientation:landscape) {
	section#sectionContact .form-group {
	grid-template-columns: 1fr 3.5fr; 	
	}
}

section#sectionContact label {
	color: var(--c2);	
	font-weight: 600;
	text-transform: uppercase;
	display: block;
	line-height: 55px;
	font-size: var(--base);
}

section#sectionContact form button,
section#sectionContact textarea,
section#sectionContact input {
	border: .15rem solid var(--c2);
	-webkit-border-bottom-left-radius: 1.2rem;
	border-bottom-left-radius: 1.2rem;
	width: 100%;
	background: transparent;
	min-height: 55px;
	color: var(--pos);
	font-family: regular;
	font-size: var(--base);
	padding: 0 0 0 1rem;
	font-weight: 600;
}

section#sectionContact form button {
	background: var(--c2);
	color: var(--neg);
	text-transform: uppercase;
	width: 100%;
	padding-right: 1rem;
}

@media only screen and (min-width: 1400px) and (orientation:landscape) {
	section#sectionContact form button {
	margin-left: 24%;
	width: auto;
	}
}

section#sectionContact form button::before {
	content: '\ea3c';
	font-family: 'icon';
	font-weight: 300;
	vertical-align: top;
}

section#sectionContact textarea {
	min-height: 5rem;
}

section#sectionContact #c42 {
	margin: 2rem 0 0 0;
	font-size: var(--small);
}

section#sectionContact a {
	color: var(--pos);
}

#contact_en-43 {
  margin: 3rem 0 0 0;
  font-size: var(--medium);
}

@media only screen and (min-width: 1400px) and (orientation:landscape) {
	section#sectionContact #c42 {
	margin: 2rem 0 0 24%;
	}
	#contact_en-43 {
	  margin: 3rem 0 0 24%;
	}
}

/* --------------------------- */


/*------------------------------
BUTTONS
------------------------------ */

a.button {
	background: var(--c2);
	color: var(--neg);
	display: inline-block;
	text-decoration: none;
}


div.box {
	background: var(--c4);
}