/* allgemein */
body {
	padding: 0;
	margin: 0;
}

.button {
	cursor: pointer;
}

.flow-right {
	display: flex;
	flex-direction: row-reverse;
	align-items: flex-end;
	gap: 12px;
	border: 0;
	width: 100%;
}

input[type=text], input[type=email], input[type=password] {
	border: none;
	border-bottom: 1px solid #CED1D3;
	border-radius: 8px;
	/* Button */
	font-family: 'Roboto';
	font-style: normal;
	font-weight: 400;
	font-size: 13px;
	line-height: 16px;
	/* identical to box height, or 150% */
	/* Grau Copy */
	color: #697074;
	padding: 6px 12px;
	text-align: left;
}

input[type=text]:focus, input[type=password]:focus, select:focus {
    outline: none;
}

.form-label {
	font-family: 'Roboto';
	font-style: normal;
	font-weight: 400;
	color: #697074;
}

::-webkit-input-placeholder { /* Edge */
  color: #ced4da;
}

:-ms-input-placeholder { /* Internet Explorer 10-11 */
  color: #ced4da;
}

::placeholder {
  color: #ced4da;
}

select {
	border: none;
	border-bottom: 1px solid #CED1D3;
	border-radius: 8px;
	/* Button */
	font-family: 'Roboto';
	font-style: normal;
	font-weight: 400;
	font-size: 13px;
	line-height: 16px;
	/* identical to box height, or 150% */
	/* Grau Copy */
	color: #697074;
	padding: 6px 12px;
	text-align: center;
	/*    display: block;
    width: 100%;
/*    font-size: 1em;
    padding: 0.8rem 0.5rem;
    border: 1px solid #333;
    font-family: inherit;*/
	/** for the dropdown indicator */
	appearance: none;
	background-image:
		url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cpolyline points='6 9 12 15 18 9'%3e%3c/polyline%3e%3c/svg%3e");
	background-repeat: no-repeat;
	background-position: right .5rem center;
	background-size: 1.2em;
}

.button.flow, button {
	box-sizing: border-box;
	/* Auto layout */
	display: flex;
	flex-direction: row;
	justify-content: center;
	align-items: center;
	padding: 17px 31px;
	gap: 10px;
	/* Fraport-Blau 100 */
	background: #000091;
	/* Fraport-Blau 100 */
	border: 2px solid #000091;
	border-radius: 4px;
	font-family: 'Roboto';
	font-style: normal;
	font-weight: 400;
	font-size: 16px;
	line-height: 24px;
	color: #FFFFFF;
}

.button.secondary {
	color: #000091;
	background-color: #FFFFFF;
}

.alert {
	font-family: 'Roboto';
	font-style: normal;
	font-weight: 400;
	font-size: 16px;
	line-height: 24px;
	display: block;
	margin-block-start: 1em;
	margin-block-end: 1em;
	margin-inline-start: 0px;
	margin-inline-end: 0px;
	padding: 12px;
	border: 2px solid #000091;
	border-radius: 4px;
}

.alert-danger {
	color: #FF0000;
	background-color: #FFCCCC;
	border-color: #FF0000;
}

form {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 12px;
	border: 0
}

/* header */
.header {
	height: 160px;
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	border-bottom: solid 1px #CED1D3;
	background-color: #FFFFFF;
	z-index: 100;
}

.header .logo {
	position: absolute;
	top: 68px;
	left: 124px;
	width: 160px;
	height: 68px;
}

.header .navigation {
	position: absolute;
	top: 87.16px;
	right: 144px;
	height: 72px;
	text-align: right;
	display: flex;
	flex-direction: row;
	justify-content: center;
	align-items: center;
	padding: 0px;
	gap: 48px;
}

.header .navigation .button {
	height: 30px;
	font-family: 'Roboto';
	font-style: normal;
	font-weight: 500;
	font-size: 20px;
	line-height: 30px;
	color: #000091;
	flex: none;
	order: 0;
	flex-grow: 0;
}

body.boarded .button.boarding {
	display: none;
}

body:not(.boarded) .button.passport {
	display: none;
}

.footer {
	position: fixed;
	height: 61.43px;
	left: 0;
	bottom: 0;
	right: 0;
	background: linear-gradient(89.28deg, #000091 1.29%, #6F166F 100%);
	color: #FFFFFF;
}

.footer .links {
	padding-left: 96px;
	padding-top: 21px;
	display: flex;
	flex-direction: row;
	align-items: flex-start;
	gap: 48px;
}

.footer .links a {
	color: #FFFFFF;
	font-family: 'Roboto';
	font-style: normal;
	font-weight: 300;
	font-size: 16px;
	line-height: 24px;
	text-decoration: none;
}

.footer .copyright {
	position: absolute;
	right: 80px;
	top: 22px;
	font-family: 'Roboto';
	font-style: normal;
	font-weight: 300;
	font-size: 12px;
	line-height: 18px;
	color: #FFFFFF;
}

.footer .leada {
	position: absolute;
	left: 50%;
	top: 22px;
	-webkit-transform: translate(-50%, 0);
    transform: translate(-50%, 0);
}

.footer .leada a {
	font-family: 'Roboto';
	font-style: normal;
	font-weight: 300;
	font-size: 12px;
	line-height: 18px;
	color: #FFFFFF;
	text-decoration: none;
}

@media (max-width: 1350px) {
	.footer .leada {
		display: none;
	}
}
div.content {
	padding-top: 170px;
	padding-bottom: 65px;
}

.red { 
	color: #D71B3A;
}
.welcome-text {
	position: absolute;
	top: 224px;
	left: 256px;
	width: 568px;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	padding: 0px;
	margin: 0;
	gap: 64px;
	border: 0;
    overflow: hidden;
	padding-bottom: 65px;
}

.welcome-bar {
	display: flex;
	flex-direction: row;
	align-items: flex-start;
	padding: 8px 24px;
	gap: 10px;
	/* Verlauf Blau-Aubergine */
	background: linear-gradient(89.28deg, #000091 1.29%, #6F166F 100%);
	/* Weiß */
	/* Inside auto layout */
	flex: none;
	order: 0;
	flex-grow: 0;
	font-family: 'Arial';
	font-style: normal;
	font-weight: 400;
	font-size: 40px;
	line-height: 56px;
	/* identical to box height, or 140% */
	/* Weiß */
	color: #FFFFFF;
	-webkit-animation: headline-line-before .8s cubic-bezier(.215,.61,.355,1) forwards;
    animation: headline-line-before .8s cubic-bezier(.215,.61,.355,1) forwards;
}
	
@-webkit-keyframes headline-line-before {
	0%{transform:translateX(-101%)}
	62%{transform:translateX(0); color:rgba(255, 255, 255, 0)}
	to{color:rgba(255, 255, 255, 1)}
}
@keyframes headline-line-before {
	0%{transform:translateX(-101%); color:rgba(255, 255, 255, 0)}
	62%{transform:translateX(0); color:rgba(255, 255, 255, 0)}
	to{color:rgba(255, 255, 255, 1)}
}
	
.welcome-text p {
	font-family: 'Roboto';
	font-style: normal;
	font-weight: 300;
	font-size: 16px;
	line-height: 24px;
	/* or 150% */
	/* Grau Copy */
	color: #697074;
	/* Inside auto layout */
	flex: none;
	order: 0;
	flex-grow: 0;
}
	
.welcome-text p.info {
	font-family: 'Roboto';
	font-style: normal;
	font-weight: 500;
	font-size: 12px;
	line-height: 18px;
	/* or 150% */
	/* Grau Copy */
	color: #697074;
	/* Inside auto layout */
	flex: none;
	order: 0;
	flex-grow: 0;
}

.welcome-right-buttons {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	padding: 0px;
	gap: 24px;
	position: absolute;
	width: 360px;
	height: 166px;
	right: 104px;
	top: 429px;
	text-align: right;
	padding-bottom: 65px;
}

.welcome-right-buttons .button {
	box-sizing: border-box;
	/* Auto layout */
	display: flex;
	flex-direction: row;
	justify-content: flex-end;
	align-items: center;
	padding: 17px 31px;
	gap: 10px;
	width: 360px;
	height: 71px;
	border: 2px solid #000091;
	border-radius: 4px;
	/* Inside auto layout */
	flex: none;
	order: 0;
	flex-grow: 0;
	font-family: 'Roboto';
	font-style: normal;
	font-weight: 500;
	font-size: 20px;
	line-height: 24px;
	/* identical to box height, or 120% */
}

.welcome-right-buttons .button.boarding {
	background: #000091;
	color: #FFFFFF;
}

h2 {
	display: flex;
	flex-direction: row;
	align-items: flex-start;
	padding: 0;
	margin: 0;
	gap: 10px;
	font-family: 'Arial';
	font-style: normal;
	font-weight: 400;
	font-size: 40px;
	line-height: 56px;
	/* identical to box height, or 140% */
	color: #697074;
	flex: none;
	order: 0;
	flex-grow: 0;
}

button {
	cursor: pointer;
}

/* einblendung */

.hint-backdrop {
	z-index: 300;
	position: absolute;
	left: 0;
	top:0;
	bottom:0;
	right:0;
	background-color: rgba(0,0,91, 0.3);
	display: none;
	filter: blur(4px);
}

.hint .hint-backdrop {
	display: unset;
}

.hint-popup {
	z-index: 400;
	position: absolute;
	left: 50%;
	top: 50%;
	-webkit-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
	width: 572px;
	background: #FFFFFF;
	box-shadow: 2px 4px 12px rgba(0, 0, 0, 0.25);
	border-radius: 4px;
	padding: 30px;
	display: none;
}

.hint .hint-popup {
	display: inherit;
}

.hint-popup .close {
	display: flex;
	flex-direction: row;
	justify-content: flex-end;
	align-items: flex-start;
	padding: 6px 8px;
	gap: 10px;
	position: absolute;
	width: 25px;
	height: 32px;
	right: 8px;
	top: 8px;
	border-radius: 8px;
	cursor: pointer;
	color: #848C91;
}

.hint-popup .close:hover i {
	color: #000091;
}

.hint-popup .body {
	font-family: 'Roboto';
	font-style: normal;
	font-weight: 300;
	font-size: 16px;
	line-height: 24px;
	/* or 150% */
	/* Grau Copy */
	color: #697074;
	padding: 10px;
}

.hint-popup .buttons {
	display: flex;
	flex-direction: row;
	justify-content: center;
	align-items: flex-start;
	gap: 40px;
	height: 58px;
	padding: 10px;
}

.hint-popup .buttons button {
	box-sizing: border-box;
	/* Auto layout */
	display: flex;
	flex-direction: row;
	justify-content: center;
	align-items: center;
	padding: 8px 20px;
	gap: 10px;
	height: 58px;
	/* Weiß */
	background: #FFFFFF;
	/* Fraport-Blau 100 */
	border: 2px solid #000091;
	border-radius: 4px;
	/* Inside auto layout */
	flex: none;
	order: 0;
	flex-grow: 0;
	/* Button */
	font-family: 'Roboto';
	font-style: normal;
	font-weight: 400;
	font-size: 16px;
	line-height: 24px;
	/* identical to box height, or 150% */
	/* Fraport-Blau 100 */
	color: #000091;
}

.content-asset {
	padding-left: 256px;
	padding-right: 256px;
}

/* doch ein bisschen response ... */

body, .content, .header, .footer {
	min-width: 980px;
}

/*@media  (max-width: 880px) {
	.footer, .header {
		position: absolute;
	}
}*/

@media (max-width: 1288px) {
	.welcome-right-buttons {
		top: 600px;
	}
} 

input.is-invalid {
	border-color: #FBB;
}