::-webkit-input-placeholder {
	color: #666
}

::-moz-placeholder {
	color: #666
}

:-ms-input-placeholder {
	color: #666
}

::-ms-input-placeholder {
	color: #666
}

::-webkit-input-placeholder {
	color: #666
}

:-ms-input-placeholder {
	color: #666
}

::placeholder {
	color: #666
}

::-moz-selection {
	background-color: #00f;
	color: #fff
}

::selection {
	background-color: #00f;
	color: #fff
}

input,
textarea {
	outline: 0
}

input:focus:required:invalid,
textarea:focus:required:invalid {
	border-color: red
}

input:required:valid,
textarea:required:valid {
	border-color: green
}

/* montserrat-100 - latin */
@font-face {
	font-family: 'Montserrat';
	font-style: normal;
	font-weight: 100;
	src: local(''),
		url('../fonts/montserrat-v25-latin-100.woff2') format('woff2'),
		/* Chrome 26+, Opera 23+, Firefox 39+ */
		url('../fonts/montserrat-v25-latin-100.woff') format('woff');
	/* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
}

/* montserrat-200 - latin */
@font-face {
	font-family: 'Montserrat';
	font-style: normal;
	font-weight: 200;
	src: local(''),
		url('../fonts/montserrat-v25-latin-200.woff2') format('woff2'),
		/* Chrome 26+, Opera 23+, Firefox 39+ */
		url('../fonts/montserrat-v25-latin-200.woff') format('woff');
	/* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
}

/* montserrat-300 - latin */
@font-face {
	font-family: 'Montserrat';
	font-style: normal;
	font-weight: 300;
	src: local(''),
		url('../fonts/montserrat-v25-latin-300.woff2') format('woff2'),
		/* Chrome 26+, Opera 23+, Firefox 39+ */
		url('../fonts/montserrat-v25-latin-300.woff') format('woff');
	/* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
}

/* montserrat-regular - latin */
@font-face {
	font-family: 'Montserrat';
	font-style: normal;
	font-weight: 400;
	src: local(''),
		url('../fonts/montserrat-v25-latin-regular.woff2') format('woff2'),
		/* Chrome 26+, Opera 23+, Firefox 39+ */
		url('../fonts/montserrat-v25-latin-regular.woff') format('woff');
	/* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
}

/* montserrat-500 - latin */
@font-face {
	font-family: 'Montserrat';
	font-style: normal;
	font-weight: 500;
	src: local(''),
		url('../fonts/montserrat-v25-latin-500.woff2') format('woff2'),
		/* Chrome 26+, Opera 23+, Firefox 39+ */
		url('../fonts/montserrat-v25-latin-500.woff') format('woff');
	/* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
}

/* montserrat-600 - latin */
@font-face {
	font-family: 'Montserrat';
	font-style: normal;
	font-weight: 600;
	src: local(''),
		url('../fonts/montserrat-v25-latin-600.woff2') format('woff2'),
		/* Chrome 26+, Opera 23+, Firefox 39+ */
		url('../fonts/montserrat-v25-latin-600.woff') format('woff');
	/* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
}

/* montserrat-700 - latin */
@font-face {
	font-family: 'Montserrat';
	font-style: normal;
	font-weight: 700;
	src: local(''),
		url('../fonts/montserrat-v25-latin-700.woff2') format('woff2'),
		/* Chrome 26+, Opera 23+, Firefox 39+ */
		url('../fonts/montserrat-v25-latin-700.woff') format('woff');
	/* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
}

/* montserrat-800 - latin */
@font-face {
	font-family: 'Montserrat';
	font-style: normal;
	font-weight: 800;
	src: local(''),
		url('../fonts/montserrat-v25-latin-800.woff2') format('woff2'),
		/* Chrome 26+, Opera 23+, Firefox 39+ */
		url('../fonts/montserrat-v25-latin-800.woff') format('woff');
	/* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
}

/* montserrat-900 - latin */
@font-face {
	font-family: 'Montserrat';
	font-style: normal;
	font-weight: 900;
	src: local(''),
		url('../fonts/montserrat-v25-latin-900.woff2') format('woff2'),
		/* Chrome 26+, Opera 23+, Firefox 39+ */
		url('../fonts/montserrat-v25-latin-900.woff') format('woff');
	/* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
}

body {
	font-family: Montserrat, sans-serif;
	min-width: 320px;
	position: relative;
	overflow-x: hidden
}

* {
	-webkit-box-sizing: border-box;
	box-sizing: border-box
}

.wrapper {
	width: 100%;
	padding: 0 120px
}

.row {
	width: 100%;
	margin: 40px auto;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
	display: -moz-flex;
	display: -ms-flex;
	display: -o-flex;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex
}

.row-center {
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	display: -moz-flex;
	display: -ms-flex;
	display: -o-flex;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	margin: 40px auto
}

.row-23 {
	width: calc(.66 * (100vw - 240px))
}

.row-end {
	-webkit-box-pack: end;
	-ms-flex-pack: end;
	justify-content: flex-end;
	display: -moz-flex;
	display: -ms-flex;
	display: -o-flex;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	margin: 40px auto
}

.no-margin {
	margin: 0 !important
}

.col-2 {
	width: calc(.5 * (100vw - 240px));
	margin: 0 40px
}

.col-23 {
	width: calc(.66 * (100vw - 240px));
	margin: 0 40px
}

.col-3 {
	width: calc(.33 * (100vw - 240px));
	margin: 0 40px
}

.col-4 {
	width: calc(.25 * (100vw - 240px));
	margin: 0 40px
}

.h1 {
	font-style: normal;
	font-weight: 300;
	line-height: 1.4;
	margin: 0;
	font-size: calc(36px + (64 - 36) * (100vw / 1920))
}

.h2 {
	font-style: normal;
	font-weight: 500;
	line-height: 42px;
	font-size: calc(24px + (36 - 24) * (100vw / 1920))
}

.h3 {
	font-style: normal;
	font-weight: 600;
	line-height: 22px;
	font-size: calc(24px + (28 - 24) * (100vw / 1920))
}

.h4 {
	font-style: normal;
	font-weight: 700;
	line-height: 26px;
	color: #333;
	font-size: calc(18px + (24 - 18) * (100vw / 1920))
}

p {
	font-style: normal;
	font-weight: 400;
	line-height: 1.4;
	color: #666;
	font-size: calc(16px + (18 - 16) * (100vw / 1920))
}

body {
	background: #ebeeff
}

.lang {
	position: absolute;
	top: 24px;
	right: 16px;
	width: 64px;
	height: 64px;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	display: -moz-flex;
	display: -ms-flex;
	display: -o-flex;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	border: 3px solid #3351ff;
	border-radius: 32px;
	color: #3351ff;
	font-weight: 700;
	font-size: 20px;
	-webkit-transition: all .3s;
	transition: all .3s
}

.lang:hover {
	background: #3351ff;
	color: #fff
}

header {
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
	display: -moz-flex;
	display: -ms-flex;
	display: -o-flex;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	padding: 24px 40px
}

.text-center {
	text-align: center
}

.ImageContainer {
	width: 100%;
	height: auto;
	text-align: center;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	display: -moz-flex;
	display: -ms-flex;
	display: -o-flex;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	background: #ebeeff;
	-webkit-box-shadow: -16px -16px 32px #e6eaff, 16px 16px 32px rgba(153, 168, 255, .5);
	box-shadow: -16px -16px 32px #e6eaff, 16px 16px 32px rgba(153, 168, 255, .5);
	border-radius: 24px;
	padding: 48px
}

.ImageContainer img {
	-o-object-fit: fill;
	object-fit: fill;
	max-width: 100%;
	height: auto
}

.ImageContainer4 {
	width: calc((.25 * (100vw - 320px)) - 80px);
	height: calc((.25 * (100vw - 320px)) - 80px);
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	display: -moz-flex;
	display: -ms-flex;
	display: -o-flex;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	background: #ebeeff;
	-webkit-box-shadow: -16px -16px 32px #e6eaff, 16px 16px 32px rgba(153, 168, 255, .5);
	box-shadow: -16px -16px 32px #e6eaff, 16px 16px 32px rgba(153, 168, 255, .5);
	border-radius: 24px;
	padding: 48px;
	margin: 0 0 32px
}

.ImageContainer4 img {
	-o-object-fit: fill;
	object-fit: fill;
	max-width: 100%;
	height: auto
}

.ImageContainer42 {
	width: calc((.25 * (100vw - 320px)) - 80px);
	height: calc(((.25 * (100vw - 320px)) - 80px) * 1.33);
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	display: -moz-flex;
	display: -ms-flex;
	display: -o-flex;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	background: #ebeeff;
	-webkit-box-shadow: -16px -16px 32px #e6eaff, 16px 16px 32px rgba(153, 168, 255, .5);
	box-shadow: -16px -16px 32px #e6eaff, 16px 16px 32px rgba(153, 168, 255, .5);
	border-radius: 24px;
	padding: 16px;
	margin: 0 0 32px
}

.ImageContainer42 img {
	-o-object-fit: fill;
	object-fit: fill;
	max-width: 100%;
	height: auto
}

.ImageContainer31 {
	width: calc((.33 * (100vw - 320px)) - 80px);
	height: calc((.33 * (100vw - 320px)) - 80px);
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	display: -moz-flex;
	display: -ms-flex;
	display: -o-flex;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	background: #ebeeff;
	-webkit-box-shadow: -16px -16px 32px #e6eaff, 16px 16px 32px rgba(153, 168, 255, .5);
	box-shadow: -16px -16px 32px #e6eaff, 16px 16px 32px rgba(153, 168, 255, .5);
	border-radius: 24px;
	padding: 48px
}

.ImageContainer31 img {
	-o-object-fit: fill;
	object-fit: fill;
	max-width: 100%;
	height: auto
}

.ImageContainer2 {
	width: 100%;
	height: calc((.33 * (100vw - 320px)) - 80px);
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	display: -moz-flex;
	display: -ms-flex;
	display: -o-flex;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	background: #ebeeff;
	-webkit-box-shadow: -16px -16px 32px #e6eaff, 16px 16px 32px rgba(153, 168, 255, .5);
	box-shadow: -16px -16px 32px #e6eaff, 16px 16px 32px rgba(153, 168, 255, .5);
	border-radius: 24px;
	padding: 48px
}

.ImageContainer2 img {
	-o-object-fit: scale-down;
	object-fit: scale-down;
	max-height: 100%
}

.Logo img {
	height: 120px;
	width: auto
}

.TopMenu ul li {
	display: inline;
	padding: 8px 16px;
	line-height: 48px
}

.TopMenu ul li:nth-child(4) {
	padding: 8px 0 8px 16px
}

.TopMenu ul li a {
	color: #333;
	text-decoration: none;
	position: relative
}

.TopMenu ul li a:after {
	content: '';
	display: block;
	position: absolute;
	left: 0;
	bottom: -8px;
	height: 2px;
	width: 0;
	background: #3351ff;
	-webkit-transition: all .3s;
	transition: all .3s
}

.TopMenu ul li a:hover:after {
	width: 100%
}

#header h1 {
	color: #3351ff;
	position: relative
}

#header h1:after {
	content: '';
	display: block;
	position: absolute;
	left: 0;
	bottom: -8px;
	height: 2px;
	width: 100%;
	background: #3351ff
}

.title {
	-webkit-box-pack: start;
	-ms-flex-pack: start;
	justify-content: start;
	display: -moz-flex;
	display: -ms-flex;
	display: -o-flex;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	padding: 8px 40px 0 40px;
	color: #3351ff
}

.title h2 {
	padding: 0;
	margin: 0;
	position: relative;
	width: 100%
}

.title h2:after {
	content: '';
	display: block;
	position: absolute;
	left: 0;
	bottom: -8px;
	height: 2px;
	width: 100%;
	background: #3351ff
}

.footer {
	padding: 32px 0 48px 0
}

.contact-email {
	color: #3351ff
}

.impressum {
	padding: 24px 0
}

.impressum a {
	color: #666;
	text-decoration: none;
	position: relative
}

.impressum a:after {
	content: '';
	display: block;
	position: absolute;
	left: 0;
	bottom: -8px;
	height: 2px;
	width: 0;
	background: #3351ff;
	-webkit-transition: all .3s;
	transition: all .3s
}

.impressum a:hover:after {
	width: 100%
}

.impressum-data h1 {
	margin: 0 0 48px
}

.impressum-data p {
	color: #333;
	font-weight: 600
}

.impressum-data .subtitle {
	color: #666;
	font-weight: 4002
}

@media (min-width:1201px) {

	.ImageContainer,
	.ImageContainer2,
	.ImageContainer31,
	.ImageContainer4,
	.ImageContainer42 {
		padding: 48px
	}
}

@media (max-width:1200px) {
	.wrapper {
		padding: 0
	}

	.TopMenu {
		padding: 0 80px 0 0
	}

	.row-23 {
		width: calc(.66 * (100vw - 8px))
	}

	.col-2 {
		width: calc(.5 * (100vw - 80px))
	}

	.col-3 {
		width: calc(.33 * (100vw - 80px))
	}

	.col-23 {
		width: calc(.66 * (100vw - 80px))
	}

	.col-4 {
		width: calc(.25 * (100vw - 80px))
	}

	.ImageContainer4 {
		width: calc(.25 * 100vw - 80px);
		height: calc(.25 * 100vw - 80px)
	}

	.ImageContainer42 {
		width: 100%;
		height: calc((.25 * (100vw - 320px) * 1.33))
	}

	.ImageContainer31 {
		width: calc((.33 * (100vw - 80px)) - 80px);
		height: calc((.33 * (100vw - 80px)) - 80px)
	}

	.ImageContainer2 {
		width: 100%;
		height: calc((.33 * (100vw - 80px)) - 80px)
	}

	.ImageContainer,
	.ImageContainer2,
	.ImageContainer31,
	.ImageContainer4,
	.ImageContainer42 {
		padding: 16px
	}
}

@media (max-width:992px) {
	.row-23 {
		width: calc(.9 * (100vw - 8px))
	}

	.row,
	.row-center,
	.row-end {
		width: 100%
	}

	.col-2,
	.col-23,
	.col-3,
	.col-4 {
		margin: 0 24px
	}

	.ImageContainer,
	.ImageContainer2,
	.ImageContainer31,
	.ImageContainer4,
	.ImageContainer42 {
		padding: 8px
	}

	.ImageContainer4 {
		width: calc(.25 * (100vw - 240px));
		height: calc(.25 * (100vw - 240px))
	}
}

@media (max-width:768px) {

	.row,
	.row-23,
	.row-center,
	.row-end {
		width: 100%;
		-webkit-box-orient: vertical;
		-webkit-box-direction: normal;
		-ms-flex-direction: column;
		flex-direction: column
	}

	header {
		padding: 24px 16px
	}

	.title {
		width: 100%;
		padding: 0 16px
	}

	.col-2,
	.col-23,
	.col-3,
	.col-4 {
		width: 100%;
		margin: 0;
		padding: 0 16px
	}

	.ImageContainer2,
	.ImageContainer31,
	.ImageContainer4,
	.ImageContainer42 {
		max-width: 100%;
		width: auto;
		height: auto;
		padding: 16px
	}

	.ImageContainer2 img {
		-o-object-fit: fill;
		object-fit: fill;
		max-width: 100%;
		height: auto
	}

	.TopMenu {
		display: none
	}

	p {
		margin: 0 0 32px
	}
}

@media (max-width:576px) {
	.Logo img {
		height: 80px;
		width: auto
	}
}
