@charset "utf-8";
/* copyright 2022 webQ GmbH */

/* pt-sans-regular - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'PT Sans';
  font-style: normal;
  font-weight: 400;
  src: url('/fonts/pt-sans-v17-latin-regular.eot'); /* IE9 Compat Modes */
  src: url('/fonts/pt-sans-v17-latin-regular.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
       url('/fonts/pt-sans-v17-latin-regular.woff2') format('woff2'), /* Super Modern Browsers */
       url('/fonts/pt-sans-v17-latin-regular.woff') format('woff'), /* Modern Browsers */
       url('/fonts/pt-sans-v17-latin-regular.ttf') format('truetype'), /* Safari, Android, iOS */
       url('/fonts/pt-sans-v17-latin-regular.svg#PTSans') format('svg'); /* Legacy iOS */
}

/* pt-sans-700 - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'PT Sans';
  font-style: normal;
  font-weight: 700;
  src: url('/fonts/pt-sans-v17-latin-700.eot'); /* IE9 Compat Modes */
  src: url('/fonts/pt-sans-v17-latin-700.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
       url('/fonts/pt-sans-v17-latin-700.woff2') format('woff2'), /* Super Modern Browsers */
       url('/fonts/pt-sans-v17-latin-700.woff') format('woff'), /* Modern Browsers */
       url('/fonts/pt-sans-v17-latin-700.ttf') format('truetype'), /* Safari, Android, iOS */
       url('/fonts/pt-sans-v17-latin-700.svg#PTSans') format('svg'); /* Legacy iOS */
}
/* pt-serif-regular - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'PT Serif';
  font-style: normal;
  font-weight: 400;
  src: url('../fonts/pt-serif-v17-latin-regular.eot'); /* IE9 Compat Modes */
  src: url('../fonts/pt-serif-v17-latin-regular.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
       url('../fonts/pt-serif-v17-latin-regular.woff2') format('woff2'), /* Super Modern Browsers */
       url('../fonts/pt-serif-v17-latin-regular.woff') format('woff'), /* Modern Browsers */
       url('../fonts/pt-serif-v17-latin-regular.ttf') format('truetype'), /* Safari, Android, iOS */
       url('../fonts/pt-serif-v17-latin-regular.svg#PTSerif') format('svg'); /* Legacy iOS */
}

/* pt-serif-700 - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'PT Serif';
  font-style: normal;
  font-weight: 700;
  src: url('../fonts/pt-serif-v17-latin-700.eot'); /* IE9 Compat Modes */
  src: url('../fonts/pt-serif-v17-latin-700.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
       url('../fonts/pt-serif-v17-latin-700.woff2') format('woff2'), /* Super Modern Browsers */
       url('../fonts/pt-serif-v17-latin-700.woff') format('woff'), /* Modern Browsers */
       url('../fonts/pt-serif-v17-latin-700.ttf') format('truetype'), /* Safari, Android, iOS */
       url('../fonts/pt-serif-v17-latin-700.svg#PTSerif') format('svg'); /* Legacy iOS */
}

/* --------------- main styles --------------- */
* {
	margin:0px;
	padding:0px;
	outline:none;
	border:0;
	box-sizing: border-box;
}
html, body {
	height: 100%;
	width: 100%;
	scroll-behavior: smooth;
}
body {
	font-family: 'PT Sans', sans-serif;
	font-size: 18px;
	line-height: 1.5em;
	color: #757575;
	text-align: center;
}
.container {
	position:relative;
	z-index: 900;
}

h1, h2, h3, h4 {
	
	line-height: 120%;
	margin-bottom: 1em;
	color: #e20433;
	text-align: center;
}
h1 {
	font-family: 'PT Serif', serif;
	font-size: 2.5em;
}
h2, h3, h4 {
	font-family: 'PT Sans', sans-serif;
	color: #757575;
}
h2 {
	font-size: 1.25em;
}
h3, h4 {
	font-size: 1em;
}
p {
	margin-bottom:1em;
}
ul, ol {
  padding: 0 0 1em 1.5em;
  color: inherit;
}
a { 
	color: #757575;
	text-decoration:none; 
	font-weight: bold;
}
footer a {
	color: #e20433;
}
section {
	position: relative;
	overflow:hidden;
	min-height: 85vh;
	padding-top: 4em;
}
.content {
	margin:0 auto;
	max-width:1024px;
	padding:2em;
	padding-top: 4em;
}
.button {
	width: 300px;
	height: 300px;
	background:#FFF;
	float:left;
	text-align:center;
	padding: 0 2em;
	border:1px solid #e20433;
	background-size: cover;
	background-position: bottom center;
	background-repeat: no-repeat;
	margin-bottom: 1em;
}
.button p, .button strong {
	position: relative;
	top: 46%;
	font-size:1.4em;
	line-height:1.2em;
	font-weight:bold;
	color: white;
}
.intro {
	background-color: #e20433;
}
.teaser {
	position: relative;
	max-width:1020px;
	width:90vw;
	margin: 0 auto;
	top: 40vh;
	text-align:center;
	font-size:1.6em;
	line-height:2.4em;
	color:#FFF;
	display:none;
}
.is-home .teaser {
	display:block;
}
.teaser h1{
	font-family: 'PT Sans', sans-serif;
	font-size:1.8em;
	line-height: 150%;
	color: #666;
	font-weight: 100;
}
.teaser .button {
	width: 140px;
	height: 140px;
	height: 40px;
	padding: 0;
	text-decoration: none;
	background-color: transparent;
	border:0;
	float: none;
}
.teaser .button p {
	position: relative;
	top: 45%;
	font-size:0.8em;
	line-height:1.0em;
	font-weight:bold;
	margin-bottom:0.4em;
	color:#e25c3f;
}
i {
    display: inline-block;
    padding: 5px;
	border-radius: 10%;
}
.down {
    border: solid #e20433;
    -webkit-transform: rotate(45deg);
	transform: rotate(45deg);
}
.right {
	border: solid #fff;
	-webkit-transform: rotate(-45deg);
	transform: rotate(-45deg);
}
.more {
	width: 150px;
	height: auto;
	background:#FFF;
	float:left;
	padding:0.5em 2em;
	color:#e20433 ;
	text-align:left;
	border:1px solid #e20433 ;
	font-weight:bolder;
	text-decoration:none;
	margin:1em 0;
	border-radius:6px;
	}
.more:hover {
	color: #e25c3f;
}
.more:hover > i {
	border: solid #e25c3f;
    border-width: 0 3px 3px 0;
}
.more i {
    border: solid #e20433 ;
    border-width: 0 3px 3px 0;
	float: right;
	margin-top: 6px;
}
.button i {
    border-width: 0 3px 3px 0;
	margin-top: 12px;
}
figure img {
  max-width: 100%;
  margin-bottom: 1em;
  box-shadow: 0px 2px 18px 0px rgba(0,0,0,0.3);
  vertical-align: bottom;
}
figcaption {
	color:#e20433;
}
.dark figcaption {
	color:#fff;
}
.last {
	margin-bottom: 3em;
}
.totop {
	margin-top: 3em;
}
.scrollToTop {
	text-align: center;
	padding: 1em;
	border-radius: 50%;
	transition: all 0.5s ease 0s;
	width: 3rem;
	height: 3rem;
	text-decoration: none;
	position: fixed;
	bottom: 0.5rem;
	right: 1rem;
	background: url(/layout/top-icon.svg) no-repeat center center;
	background-size: 28px 26px;
	background-color: #e20433;
	opacity: 0;
	font-size: 0;
	cursor: pointer;
	z-index: 999;
}
.homeimage {
	width: 70%;
	height: auto;
}
img {
	width: 100%;
}
/* --------------- layout grid --------------- */
.two_cols {
	column-count: 2;
	column-gap: 1em;
}
.one_col {
	column-count: 1;
}
.one_col p, .two_cols p {
	font-family: 'PT Sans', sans-serif;
	font-size:1.2em;
	line-height: 150%;
}
.flex-box {
	display: flex;
	/*flex-flow: row wrap;*/
	justify-content: center;
	gap: 1em;
}
.flex-box > div {
	flex-basis: 30%;
}
.flex-box img {
	width: 90%;
}
.flex-box > div > p {
	padding: 2em;
	font-size: 1.1em;
}
.fifty {
	display: -ms-grid;
	display: grid;
	-ms-grid-columns: 48% 48%;
	grid-template-columns: 48% 48%;
	-ms-grid-gap: 4%;
	grid-gap: 4%;
	padding: 0 2em;
	text-align: left;
	align-content: flex-start;
	align-items: flex-start;
}

@media only screen and (max-width: 768px){
	.is-home #HeaderImageContainer, #HeaderImageContainer, #HeaderImage {
	    /*height: 40vh;*/
	}
	.teaser {
		top: 33%;
		width: 86%;
	}
	.teaser h1 {
		font-size: 1em;
		margin-bottom:1.5em;
		color: white;
	}
	nav, nav img {
		height: 42px;
	}
	.button {
		margin: 0 1em;
	}
	.fifty {
		display: block;
	}
	.homeimage {
		width: 100%;
	}
}

header {
  	position: fixed;
  	z-index: 999;
  	width: 100%;
  	transition: all 0.6s ease-in-out;
}
header.scrolled {
	height:95px;
	background: #fff;
	border-bottom: 5px solid #e20433;
	box-shadow: 0px 7px 17px -9px rgba(0,0,0,0.5);
}
header > .content {
	padding: 0;
	max-width: 1024px;
}
header nav {
	display: flex;
	align-items: center;
	justify-content: flex-start;
    margin: 0;
	position: relative;
	border-bottom: 5px solid #e20433;
}
header nav .nav {
  	display: flex;
  	justify-content: flex-start;
	flex-direction: row;
  	padding: 0;
  	list-style: none;
  	margin-top:2em;
}
header nav.scrolled .nav {
  	margin-top:2em;
}
header nav .nav li {
	display: flex;
	justify-content: center;
	align-content: center;
	align-items: center;
  	list-style:none;
	width: 150px;
	height:3em;
	text-align: center;
}
header nav .nav li.active > a ,header nav .nav li.active li.active {
	color:#fff;
}
header nav .nav li.active {
	background-color: #e20433;
}

header nav .nav li a {
  	text-decoration: none;
  	font-size: 1.1em;
  	font-weight: normal;
}
header nav .nav li a:hover {
	font-weight: bold;
}
header nav .slogan {
	flex: 0 1 auto;
	font-size: .9em;
}
header nav:not(.scrolled) .slogan  {
	flex: 0 1 auto;
	font-size: 1.9em;
	color:#e20433;
}
header  nav > ul > li {
  	list-style: none;
  	display: inline-block;
 	position: relative;
  	height: 44px;
  	line-height: 40px;
  	margin-right: 1em;
}
header nav > ul > li.has-sub {
	padding-right: 20px;
	background-image: url(/images/nav-sub-arrow-red.svg);
	background-size: 14px;
	background-position: right center;
	background-repeat: no-repeat;
}
header nav.scrolled > ul > li.has-sub {
	background-image: url(/images/nav-sub-arrow.svg);
}
header nav.scrolled > ul > li.has-sub:hover {
	background-image: url(/images/nav-sub-arrow-red.svg);
}
header nav > ul > li ul {
	display: none;
	position: absolute;
	top: 100%;
	left: -1em;
	width: 18em;
	background: white;
	color: #14171a;
	z-index: 5;
	padding: 1em 1.5em;
	box-shadow: 0 2px 10px rgba(0, 0, 0, 0.15);
}
header nav > ul > li.has-sub:hover ul {
  	display: block;
}

@media only screen and (max-width: 860px){
	header nav .nav {
		flex: 1 1 auto;
	}
	header nav .nav li a {
	  	color: #000;
	  	text-decoration: none;
	  	font-size: 1em;
	  	font-weight: normal;
	}
}
main {
  display: block;
  position: relative;
  width: 100%;
}
footer {
  	display: block;
  	position: relative;
  	width: 100%;
  	background: white;
  	color:#e20433;
}
footer > .content {
	padding: 1.5em;
  	display: flex;
	flex-direction: column;
	justify-content: center;
	align-content: center;
	text-align: center;
	border-top: 1px solid #757575;
}
footer > .content > div {
  	font-size: .85em;
  	padding-top: 69px;
}
footer > .content > div:first-child  {
	padding-top: 0px;
}
footer > .content > div:first-child img {
	max-height:120px;
	color: #e20433;
}
footer > .content > div.slogan {
  	text-align: right;
}
section.subpage h1 {
  	font-size: 1.5em;
  	font-style: normal;
}
section.subpage h2 {
  	font-size: 1.2em;
  	margin-bottom: .5em;
}
section.subpage h3 {
  	font-size: 1em;
  	margin-bottom: .4em;
}
.mobile_nav_btn { 
	display: none; 
}

@media only screen and (max-width: 1024px) {
	/*.content { 
		padding: 2em 1.5em; 
	}*/
	body.mobile-nav-open { 
		overflow-y: hidden; 
	}
	header nav { 
		justify-content: flex-end !important; 
		height: 77px;
		background-color: #fff;
	}
	header nav:not(.scrolled) .logo { 
		height: 75px; 
		max-height: auto;
		margin-top: 15px; }
	body.mobile-nav-open header nav .nav { 
		display: block; 
	}
	.teaser .button, header nav .slogan, body:not(.mobile-nav-open) header nav .nav { 
		display: none; 
	}
	.teaser .button {
	  	display: contents;
	}
	.two_cols { 
		column-count: 1; 
	}
	#HeaderImage { 
		background-position: center; 
	}
	.mobile_nav_btn {
		display: block;
		width: 4em;
		height: 2em;
		background-image: url(/images/nav-closed.svg);
		background-size: 2.4em;
		background-position: center;
		background-repeat: no-repeat;
	}
	body.mobile-nav-open .mobile_nav_btn { 
		background-image: url(/images/nav-open.svg); 
		background-size: 2em; 
	}
	footer > .content > div.slogan {
		text-align: center;
		line-height: 1.5em;
		margin-top: 1.5em;
	}
	
	header > .content { 
		padding: 1em; 
	}
	header nav .nav {
		position: fixed;
		background-color: rgba(255, 255, 255, 1);
		padding-top: calc(2em + 90px);
		top: -60px;
		left: 0;
		width: 100vw;
		height: 104vh;
		display: block;
		z-index: -1;
		/*padding-left: 3.5em;*/
	}
	header nav > ul { 
		color:#14171a !important;
	}
	section::after { 
		opacity: 0.15; 
		left: 0; 
		right: 0; 
	}
	header nav .nav li {
		width: 100%;
		margin-top: 0.5em;
	}
	header nav > ul > li.has-sub, header nav.scrolled > ul > li.has-sub {
		background-image: none;
	}
	header nav > ul > li.has-sub ul {
	  	display: block;
	  	position:relative;
	  	top:0;
	  	left: 0.5em;
	  	background: transparent;
	  	box-shadow: 0 2px 10px rgba(0, 0, 0, 0.0);
	  	margin:0;
	  	padding: 0em 1.5em;
	}
	header nav > ul > li {
		height: auto;
		line-height: 25px;
	}
	header nav > ul > li.has-sub ul li {
		margin:0.5em 0 0 0;	
	}
}
@media only screen and (max-width: 810px) { 
	footer > .content {
		grid-template-columns: 32% 32% 32%;
		grid-gap: 2%;
	}
	footer > .content > div {
	  padding-top: 20px;
		padding-left: 2em;
	}
	footer .footerlogo {
		grid-column: 1 / span 3;
		grid-row: 1;
		display:flex;
		justify-content: center;
	}
}
@media only screen and (max-width: 600px) {
	footer > .content {
		grid-template-columns: 48% 48%;
		grid-gap: 2%;
	}
	footer .footerlogo {
		grid-column: 1 / span 1;
		grid-row: 1;
	}
	footer .thirditem {
		grid-column: 1;
		grid-row: 2;
	}
	footer .seconditem {
		grid-column: 2;
		grid-row: 2;
	}
}
@media only screen and (max-width: 420px) {
	footer > .content {
		grid-template-columns: 100%;
		grid-gap: 0%;
	}
	footer .firstitem, footer .seconditem, footer .thirditem {
		display: flex;
		justify-content: center;
		align-content: center;
		align-items: center;
		flex-direction: column;
		text-align: center;
	}
	footer .footerlogo {
		grid-column: 1;
		grid-row: 1;
	}
	footer .firstitem {
		grid-column: 1;
		grid-row: 2;
	}
	footer .thirditem {
		grid-column: 1;
		grid-row: 4;
	}
	footer .seconditem {
		grid-column: 1;
		grid-row: 3;
	}
}