@charset "UTF-8";

:root {
	--primary-color:#fff;
	--secondary-color:#cbdcf6;
	--body-background:#fff;
	--section-background:#0854b2;
	--primary-background:#1b5d75;
	--secondary-background:#edf1f6;
	--footer-background:#fff;
	--title-font:'Barlow', sans-serif;
	--flow-font:'Inter', sans-serif;
	--flow-font-color:#fff
}

@font-face {
	font-family:'Inter';
	src:url('../fonts/inter-light-webfont.woff2') format('woff2');
	font-weight:300;
	font-style:normal;
}

@font-face {
	font-family:'Inter';
	src:url('../fonts/inter-regular-webfont.woff2') format('woff2');
	font-weight:400;
	font-style:normal;
}

@font-face {
	font-family:'Inter';
	src:url('../fonts/inter-medium-webfont.woff2') format('woff2');
	font-weight:500;
	font-style:normal;
}

@font-face {
	font-family:'Inter';
	src:url('../fonts/inter-bold-webfont.woff2') format('woff2');
	font-weight:600;
	font-style:normal;
}

@font-face {
	font-family: 'Barlow';
	font-style: normal;
	font-weight: 800;
	src:url('../fonts/barlow-extra-bold.woff2') format('woff2');
}

body {
	background:var(--body-background);
	min-height: 100vh;
	margin:0 auto;
}

body, p {
	font-family:var(--flow-font);
	color:var(--flow-font-color);
	line-height:1.6;
}

.body-wrapper {
	margin:0 auto;
}

section {
	padding-top:40px;
	background:var(--section-background);
}

.contact p {
	font-size:1.2rem
}

p {
	font-size:1.2rem
}

.h1, .h2, h1, h2 {
	margin-bottom:.8rem;
	color:var(--primary-color);
	font-family:var(--title-font);
	line-height:1.1;
	font-weight:800
}

.h1, h1 {
	font-size:3.3rem
}

.h2, h2 {
	font-size:2.5rem;
	color:var(--secondary-color) !important
}

.secondary-color {
	color:var(--secondary-color) !important
}

a {
	color:var(--primary-color) !important;
	text-decoration:none
}

a:hover, a:active, a:focus {
	color:var(--secondary-color) !important;
}

b, strong {
	font-weight:600
}

footer {
	padding:50px 0 10px 0;
	color:var(--flow-font-color);
	margin-top:0;
	margin-bottom:0;
	background:var(--footer-background);
}

footer a:hover {
	color:var(--section-background) !important;
}

footer p {
	margin-bottom:7px
}

#footerMenu {
	text-align:right;
	margin-bottom: 0;
	padding-bottom:20px;
	list-style: none;
}

#footerMenu .nav-item {
	display:inline-block;
	font-size: 1.2rem;
	font-weight:400;
}

#footerMenu .nav-item a {
	color:black !important;
}

/* Trenner vor allen außer dem ersten */
#footerMenu .nav-item:not(:first-child)::before {
	content: "/";
	margin: 0 0.4rem;
	color: black;
	font-size: 1.15rem;
	line-height: 1.2;
}


.gx-custom {
	--bs-gutter-x: 6rem;
}

i {
	display:inline-block;
	padding-inline:9px;
	margin-right:10px;
	width:38px;
	height:38px;
	border-radius:50%;
	line-height:1.7;
	font-size:22px;
	color:#1f45a5;
	background-color:#fff;
	margin-bottom:4px;
}

i:hover {
	background-color:var(--secondary-color);
}

.carousel, footer {
	position: relative;
	overflow: hidden;
}
.carousel:after, footer:after {
	content: "";
	display: block;
	position: absolute;
	bottom: 0;
	right: 0;
	left: 0;
	width: 100%;
	height: 10%;
	background-color: var(--section-background);
	transform: skewY(-2deg);
	transform-origin: bottom right;
	z-index:10
}

footer:after {
	transform: skewY(-2deg);
	transform-origin: top right;
	top:-100px;
	height:100px
}

/* Beseitigt horizontal Scrollfehler (mobil) */
@media screen and (max-width:576px) {
	body {
		overflow-x:hidden !important;
	}
	.container {
		max-width:100% !important;
		overflow-x:hidden !important;
		overflow-y:hidden !important;
		/* Paddings sonst zu schmal */
		padding-left:2.0rem;
		padding-right:2.0rem
	}
	
	.h1, h1 {
		font-size:2.2rem
	}
	
	.h2, h2 {
		font-size:2.0rem
	}
}
