@font-face {
	font-family: 'Font Awesome';
	src: url("../fonts/fa-solid-900.ttf");
}

* {
	margin: 0;
	padding: 0;
	box-sizing: border-box;
	vertical-align: baseline;
}

*, ::after, ::before {
	box-sizing: inherit;
}

html {
	-webkit-text-size-adjust: 100%;
	-ms-text-size-adjust: 100%;
	-ms-overflow-style: scrollbar;
	-webkit-tap-highlight-color: transparent;
}

html, body {
	height: 100%;
	font-family: 'Raleway', sans-serif;
	box-sizing: border-box;
	vertical-align: baseline;
}

body {
	font-size: 1rem;
	font-weight: 400;
	line-height: 1.5;
	color: #000;
	background-color: #d8005b;
}

#bg {
	width: 100%;
	background-repeat: repeat;
	background-position: center center;
	background-image: url('../images/bg.png');
}

.container {
	width: 100%;
	min-height: 100vh;
	display: -webkit-box;
	display: -webkit-flex;
	display: -moz-box;
	display: -ms-flexbox;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	padding: 15px;
	background: rgba(216,0,91,0.6);
	background: -webkit-linear-gradient(45deg, rgba(143,23,57,0.6), rgba(216,0,91,0.6));
	background: -o-linear-gradient(45deg, rgba(143,23,57,0.6), rgba(216,0,91,0.6));
	background: -moz-linear-gradient(45deg, rgba(143,23,57,0.6), rgba(216,0,91,0.6));
	background: linear-gradient(45deg, rgba(143,23,57,0.6), rgba(216,0,91,0.6));
}

.wrap {
	width: 790px;
	background: #fff;
	border-radius: 7px;
	overflow: hidden;
	padding: 70px 55px 90px 55px;
	color: #1a1a1a;
	text-align: center;
}

@media (max-width: 576px) {
	.wrap {
		padding: 70px 15px 90px 15px;
	}
}

.exprota-form {
	width: 100%;
}

.left {
	text-align: left;
}

.exprota-title {
	display: block;
	font-family: 'Raleway', sans-serif;
	font-weight: 300;
	font-size: 2vw;
	line-height: 1.5;
	text-align: center;
	padding-bottom: 50px;
}

@media (max-width: 1799px) {
	.exprota-title {
		font-size: 2vw;
	}
}

@media (max-width: 1499px) {
	.exprota-title {
		font-size: 2.5vw;
	}
}

@media (max-width: 1299px) {
	.exprota-title {
		font-size: 3vw;
	}
}

@media (max-width: 1099px) {
	.exprota-title {
		font-size: 3.5vw;
	}
}

@media (max-width: 949px) {
	.exprota-title {
		font-size: 4vw;
	}
}

@media (max-width: 799px) {
	.exprota-title {
		font-size: 4.5vw;
	}
}

@media (max-width: 599px) {
	.exprota-title {
		font-size: 5vw;
	}
}

@media (max-width: 514px) {
	.exprota-title {
		font-size: 6vw;
	}
}

a {
	color: #d8005b;
	-webkit-transition: all 700ms;
	-o-transition: all 700ms;
	-moz-transition: all 700ms;
	transition: all 700ms;
}

a, a:hover {
	text-decoration: none;
}

a:hover, a:focus, a:active {
	color: #6c6f70;
}

a:focus {
	outline: thin dotted;
}

a:hover, a:active {
	outline: 0;
}

a.back {
	position: relative;
	top: -35px;
}

.button-container {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
}

a.button-large, .button-large-inactive {
	width: auto;
	min-width: 190px;
	-webkit-box-flex: 1;
	-o-box-flex: 1;
	-ms-box-flex: 1;
	flex: 1;
	flex-grow: 1;
	flex-basis: 0;
	display: inline-block;
	padding: 1em 1.2em;
	border: none;
	margin: 0 0.3em 0.3em 0.3em;
	border-radius: 0.3em;
	box-sizing: border-box;
	background-color: #8f1739;
	text-decoration: none;
	font-family: 'Raleway', sans-serif;
	font-weight: 300;
	font-size: 1rem;
	line-height: 1.2;
	color: #fff;
	text-align: center;
	transition: all 0.2s;
}

.button-large-inactive {
	cursor: not-allowed;
	background-color: #777;
}

a.button-large:hover {
	background-color: #d8005b;
	color: #fff;
}

a.button-large-inactive:hover {
	color: #fff;
}

a.button-large span, .button-large-inactive span {
	font-size: 0.8rem;
	color: #ddd;
}

p {
	text-align: justify;
}

.form-group {
	position: relative;
	margin-top: 2.25rem;
	margin-bottom: 2.25rem;
}

.form-group input, .form-group select {
	height: 1.9rem;
}

.form-group .control-label {
	position: absolute;
	top: .25rem;
	left: 0;
	pointer-events: none;
	padding-left: .125rem;
	z-index: 1;
	color: #686868;
	font-size: 1rem;
	font-weight: 300;
	transition: all .28s ease;
}

.form-group .bar {
	position: relative;
	border-bottom: .0625rem solid #686868;
	display: block;
}

.form-group .bar::before {
	content: '';
	height: .125rem;
	width: 0;
	left: 50%;
	bottom: -.0625rem;
	position: absolute;
	background: rgba(0,43,73,1);
	transition: left .28s ease, width .28s ease;
	z-index: 2;
}

.form-group input, .form-group select {
	display: block;
	background: none;
	padding: .125rem .125rem .0625rem;
	font-size: 1rem;
	border-width: 0;
	border-color: transparent;
	line-height: 1.9;
	width: 100%;
	color: transparent;
	transition: all .28s ease;
	box-shadow: none;
}

.form-group select {
	padding: 0 1.5rem .0625rem .125rem;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' version='1.1' width='32' height='24' viewBox='0 0 32 24'><polygon points='0,0 32,0 16,24' style='fill: %23686868'></polygon></svg>");
	background-origin: content-box;
	background-position: right -1rem center;
	background-repeat: no-repeat;
	background-size: 9px 6px;
}

@media screen and (min-width:0\0) {
	.form-group select {
		background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAYCAYAAACbU/80AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAIpJREFUeNrEkckNgDAMBBfRkEt0ObRBBdsGXUDgmQfK4XhH2m8czQAAy27R3tsw4Qfe2x8uOO6oYLb6GlOor3GF+swURAOmUJ+RwtEJs9WvTGEYxBXqI1MQAZhCfUQKRzDMVj+TwrAIV6jvSUEkYAr1LSkcyTBb/V+KYfX7xAeusq3sLDtGH3kEGACPWIflNZfhRQAAAABJRU5ErkJggg==");
	}
}

.form-group select::-ms-expand {
	display: none;
}

.form-group .input-checkbox, .form-group .input-radio {
	width: auto;
	opacity: 0.00000001;
	position: absolute;
	top: 0;
	left: 0;
}

.form-group input:focus, .form-group input:valid, .form-group select:focus, .form-group select:valid {
	color: #686868;
}

.form-group input:focus ~ .control-label, .form-group input:valid ~ .control-label, .form-group select:focus ~ .control-label, .form-group select:valid ~ .control-label {
	font-size: .8rem;
	color: #686868;
	top: -1rem;
	left: 0;
}

.form-group input:focus, .form-group select:focus {
	outline: none;
}

.form-group input:focus ~ .control-label, .form-group select:focus ~ .control-label {
	color: rgba(0,43,73,1);
}

.form-group input:focus ~ .bar::before, .form-group select:focus ~ .bar::before {
	width: 100%;
	left: 0;
}

.label-checkbox, .label-radio {
	display: inline-block;
	position: relative;
	padding-left: 2rem;
	cursor: pointer;
	margin: 0;
	color: #686868;
	text-align: justify;
}

.label-checkbox::before {
	content: '\f00c';
	font-family: 'Font Awesome', sans-serif;
}

.label-radio::before, .label-radio::after {
	content: '';
	border-radius: 50%;
}

.label-checkbox::before, .label-radio::before, .label-radio::after {
	color: transparent;
	display: -webkit-box;
	display: -webkit-flex;
	display: -moz-box;
	display: -ms-flexbox;
	display: flex;
	justify-content: center;
	align-items: center;
	position: absolute;
	width: 1.375rem;
	height: 1.375rem;
	border: .0625rem solid #686868;
	font-size: 1rem;
	background: #fff;
	left: 0;
	top: 0;
}

.label-radio::after {
	display: none;
	border: .375rem solid transparent;
	background: #57b846;
	-webkit-background-clip: padding-box;
	-moz-background-clip: padding;
	background-clip: padding-box;
}

.input-checkbox:checked + .label-checkbox::before {
	color: #57b846;
}

.input-radio:checked + .label-radio::after {
	display: -webkit-box;
	display: -webkit-flex;
	display: -moz-box;
	display: -ms-flexbox;
	display: flex;
}

.form-select-float {
	width: 6.5rem;
	margin: 0.25rem auto;
	display: inline-block;
}

.form-group#ex .form-select-float {
	width: auto;
	min-width: 10rem;
	padding-right: 1.5rem;
}

.form-select-float input {
	pointer-events: none;
}

.g-recaptcha {
	display: inline-block;
}

.submit-container {
	text-align: center;
}

.submit-button {
	position: relative;
	background: currentColor;
	border: 1px solid currentColor;
	font-size: 1.1rem;
	color: #009fee;
	margin: .75rem 0 3rem;
	padding: .75rem 3rem;
	font-weight: 300;
	cursor: pointer;
	transition: background-color .28s ease, color .28s ease, box-shadow .28s ease;
	overflow: hidden;
	box-shadow: 0 2px 2px 0 rgba(0,0,0,0.14), 0 3px 1px -2px rgba(0,0,0,0.2), 0 1px 5px 0 rgba(0,0,0,0.12);
}

.submit-button[disabled] {
	color: #777;
	box-shadow: none;
	cursor: not-allowed;
}

.submit-button span {
	color: #fff;
	position: relative;
	z-index: 1;
}

.submit-button::before {
	content: '';
	position: absolute;
	background: #000;
	border: 50vh solid rgba(0,43,73,1);
	width: 30vh;
	height: 30vh;
	border-radius: 50%;
	display: block;
	top: 50%;
	left: 50%;
	z-index: 0;
	opacity: 1;
	-webkit-transform: translate(-50%, -50%) scale(0);
	transform: translate(-50%, -50%) scale(0);
}

.submit-button:hover {
	color: #0077b3;
	box-shadow: 0 6px 10px 0 rgba(0,0,0,0.14), 0 1px 18px 0 rgba(0,0,0,0.12), 0 3px 5px -1px rgba(0,0,0,0.2);
}

.submit-button[disabled]:hover {
	color: #777;
	box-shadow: none;
}

.submit-button:active::before, .submit-button:focus::before {
	transition: opacity .28s ease .364s, -webkit-transform 1.12s ease;
	transition: transform 1.12s ease, opacity .28s ease .364s;
	transition: transform 1.12s ease, opacity .28s ease .364s, -webkit-transform 1.12s ease;
	-webkit-transform: translate(-50%, -50%) scale(1);
	transform: translate(-50%, -50%) scale(1);
	opacity: 0;
}

.submit-button[disabled]:active::before, .submit-button[disabled]:focus::before {
	-webkit-transform: translate(-50%, -50%) scale(0);
	transform: translate(-50%, -50%) scale(0);
	opacity: 1;
}

.submit-button:focus {
	outline: none;
}

.green-box, .red-box, .info-box {
	width: 100%;
	margin: 2.25rem auto;
	padding: .625rem;
	-moz-border-radius: 7px;
	-webkit-border-radius: 7px;
	border-radius: 7px;
	text-align: center;
}

.green-box a, .red-box a {
	color: #FC0;
	font-weight: bold;
}

.green-box a:hover, .green-box a:focus, .green-box a:active, .red-box a:hover, .red-box a:focus, .red-box a:active {
	color: #FC7;
}

.info-box a {
	color: #722f37;
}

.info-box a:hover, .info-box a:focus, .info-box a:active {
	color: #a00040;
}

.no-margin {
	margin: 0 auto;
}

.green-box {
	background-color: #379E29;
	color: #FC6;
}

.red-box {
	background-color: #AB2929;
	color: #FC6;
}

.red-box p {
	text-align: center;
}

.info-box {
	background-color: rgb(248, 244, 236);
	color: rgb(192, 152, 83);
}

#ah, #ex, .ex {
	width: 100%;
	display: none;
}

#ah .form-group:first-child {
	margin-top: 0;
}

#ah .form-group:last-child {
	margin-bottom: 0;
}

#impressum {
	width: 100%;
	position: relative;
	bottom: -80px;
	left: 0px;
	text-align: center;
	line-height: 0.9rem;
	font-size: 0.7rem;
}