@import url('../../keycloak/lib/zocial/zocial.css');

body {
	background: #fff;
	color: #414141;
	font-size: 100%;
	font-family: "Open Sans", Verdana, sans-serif;
	line-height: 1.4;
	font-style: normal;
	/**    text-shadow: 0px 0px 10px #000; **/
}

a {
	color: #fff;
}

.bra-container-fullwidth--ci {
	height: 45px;
}

div#kc-container {
	/* background-color: #FFFFFF; */
	/* background-image: url('../img/stage-registrierung.jpg'); */
	/* background-size: cover;
    background-repeat: no-repeat; */
}

div#kc-content {
	/*    position: absolute;
    top: 20%;
    left: 50%;
    width: 550px;
    margin-left: -225px; */
}

div#kc-header,
div#kc-locale {
	display: none;
}

/** div#kc-form {
    float: left;
    width: 350px;
} 

div#kc-form label {
    display: block;
    font-size: 16px;
} **/

div#info-area {
	position: fixed;
	bottom: 0;
	left: 0;
	margin-top: 40px;
	background-color: rgba(0, 0, 0, 0.4);
	padding: 20px;
	width: 100%;
}

div#info-area p {
	margin-right: 30px;
	display: inline;
	text-shadow: none;
}


div#kc-form-options div {
	display: inline-block;
	margin-right: 20px;
	font-size: 12px;
}

div#kc-form-options div label {
	font-size: 12px;
}

div#kc-feedback {
	box-shadow: 0px 0px 6px rgba(0, 0, 0, 0.5);
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	text-align: center;
}

div#kc-feedback-wrapper {
	padding: 1em;
}

div.feedback-success {
	background-color: rgba(155, 155, 255, 0.1);
}

div.feedback-warning {
	background-color: rgba(255, 175, 0, 0.1);
}

div.feedback-error {
	background-color: rgba(255, 0, 0, 0.1);
}

div#kc-header {
	/*    display: none; */
}

div#kc-registration {
	margin-bottom: 20px;
}

div#social-login {
	border-left: 1px solid rgba(255, 255, 255, 0.2);
	float: right;
	width: 150px;
	padding: 20px 0 200px 40px;
}

div.social-login span {
	display: none;
}

div#kc-social-providers ul {
	list-style: none;
	margin: 0;
	padding: 0;
}

div#kc-social-providers ul li {
	margin-bottom: 20px;
}

div#kc-social-providers ul li span {
	display: inline;
	width: 100px;
}

div.pwd-forget-link {
	padding-top: 10px;
	padding-bottom: 50px;
}

div.pwd-forget-link--first {
	padding-top: 10px;
	padding-bottom: 20px;
}

div.pwd-forget-link--second {
	padding-top: 10px;
	padding-bottom: 50px;
}

div.pwd-forget-link a {
	color: #0a3377;
	font-size: 18px;
}

@media screen and (min-width: 48em) {
  
  div.pwd-forget-link {
	padding-bottom: 20px;
  }
  
  div.pwd-forget-link a {
  	font-size: 12px;
  }
  
}
/****************************************************/
/** --- Ursprüngliche Angaben für die Input-Felder **/
/****************************************************/


a.zocial {
	border: none;
	background: -webkit-linear-gradient(top, rgba(255, 255, 255, 0.8), rgba(255, 255, 255, 0.1)) !important;
	background: -moz-linear-gradient(top, rgba(255, 255, 255, 0.8), rgba(255, 255, 255, 0.1)) !important;
	background: -ms-linear-gradient(top, rgba(255, 255, 255, 0.8), rgba(255, 255, 255, 0.1)) !important;
	background: -o-linear-gradient(top, rgba(255, 255, 255, 0.8), rgba(255, 255, 255, 0.1)) !important;
	box-shadow: 0px 0px 6px rgba(0, 0, 0, 0.5);
	color: rgba(0, 0, 0, 0.6);
	width: 130px;
	text-shadow: none;
	-webkit-border-radius: 0;
	-moz-border-radius: 0;
	border-radius: 0;
	padding-top: 0.2em;
	padding-bottom: 0.2em;
}

/*****************************/
/** - Neue Style - Klassen  **/
/*****************************/
.bra-container {
	margin-right: auto;
	margin-left: auto;
	padding-left: 10px;
	padding-right: 10px;
}

.bra-container:after {
	display: block;
	content: ".";
	clear: both;
	font-size: 0;
	line-height: 0;
	height: 0;
	overflow: hidden;
}

.bra-container {
	min-width: 20em;
	max-width: 80em;
}

@media screen and (min-width: 48em) {
	.bra-container {
		padding: 0 20px;
	}
}

.util-bg--grey-lightest {
	margin: 0 10px;
}

.stage {
	position: relative;
	margin-top: -50px;
	margin-bottom: 30px;
}

.stage:after {
	display: block;
	content: ".";
	clear: both;
	font-size: 0;
	line-height: 0;
	height: 0;
	overflow: hidden;
}

.stage__media img {
	width: 100%;
}

@media screen and (min-width: 62em) {
	.stage__content {
		position: absolute;
	}
}

.stage--register .stage__media {
	background-position: center center;
	background-repeat: no-repeat;
	background-size: cover;
	min-height: 294px;
}

@media screen and (min-width: 62em) {
	.stage--register .stage__media {
		min-height: 650px;
	}
}

.stage--register .stage__content {
	width: calc(100% + 20px);
}

@media screen and (min-width: 62em) {
	.stage--register .stage__content {
		top: 25px;
		left: 25px;
		width: 100%;
	}
}


.stage--register .stage__media {
	background-image: url('../img/stage-registrierung.jpg');
	background-size: cover;
	background-repeat: no-repeat;
}

@media only screen and (max-width: 991px) {
	.stage--register .stage__media {
		background-image: url('../img/stage-registrierung.jpg');
		background-size: cover;
		background-repeat: no-repeat;
	}
}

@media only screen and (max-width: 767px) {
	.stage--register .stage__media {
		background-image: url('../img/stage-registrierung-mobile.jpg');
		background-size: cover;
		background-repeat: no-repeat;
	}
}

/***************************************/
/**  Formular - Elemente : Tooltip    **/
/***************************************/
.tooltip {
	display: inline-block;
	position: relative;
	opacity: 1;
}

.tooltip--right {
	position: absolute;
	z-index: 2;
	right: 0;
}

@media screen and (min-width: 48em) {
	.tooltip--right {
		right: 30px;
	}
}

.tooltip--left {
	position: absolute;
	left: 0;
}

@media screen and (min-width: 48em) {
	.tooltip--left {
		left: 30px;
	}
}

.tooltip__trigger {
	display: block;
	height: 20px;
	width: 20px;
	cursor: pointer;
	text-decoration: none;
	overflow: hidden;
	background: none;
	border: none;
	text-indent: -99999px;
}

.tooltip__trigger:focus {
	outline: 3px solid #b9d8f9;
}

.tooltip__trigger:focus:not(:focus-visible) {
	outline: none;
	border: none;
}

.is-visible > .tooltip__trigger:focus {
	outline: none;
	border: none;
}

.tooltip__trigger:hover {
	cursor: pointer;
}

.tooltip__trigger:after {
	font-size: 20px;
	font-size: 1.25rem;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	display: block;
	visibility: visible;
	font-weight: bold;
	text-align: center;
	line-height: 1;
	border-radius: 50%;
	color: #0a3377;
	font-family: iconfont;
	content: "\e905";
	text-indent: 0;
}

.tooltip__flyout {
	font-size: 14px;
	font-size: 0.875rem;
	position: relative;
	display: none;
	width: 100%;
	padding: 10px 15px;
	margin: 15px 0;
	background: #e4e9f1;
	border: 1px solid #b2bdc6;
	border-radius: 5px;
	color: #0a3377;
}

@media screen and (min-width: 62em) {
	.tooltip__flyout {
		border: none;
		position: absolute;
		z-index: 100;
		top: -23px;
		left: 70px;
		display: none;
		width: 277px;
		margin: 0;
	}
}

.tooltip__flyout.is-visible {
	display: block;
}

.tooltip__flyout:after,
.tooltip__flyout:before {
	content: '';
	position: absolute;
	border-style: solid;
	border-width: 0 15px 15px 15px;
	display: block;
	width: 0;
}

@media screen and (min-width: 62em) {

	.tooltip__flyout:after,
	.tooltip__flyout:before {
		border-width: 15px 15px 15px 0;
	}
}

.tooltip__flyout:after {
	border-color: #e4e9f1 transparent;
	z-index: 1;
	top: -14px;
	left: 50%;
	transform: translateX(-50%);
}

@media screen and (min-width: 62em) {
	.tooltip__flyout:after {
		border-color: transparent #e4e9f1;
		left: -15px;
		top: 18px;
		transform: translateX(0);
	}
}

.tooltip__flyout:before {
	border-color: #b2bdc6 transparent;
	z-index: 0;
	top: -15px;
	left: 50%;
	transform: translateX(-50%);
}

@media screen and (min-width: 62em) {
	.tooltip__flyout:before {
		border-color: transparent #fff;
		left: -16px;
		top: 18px;
		transform: translateX(0);
	}
}

.tooltip__flyout ul {
	padding: 0 0 0 16px;
	margin: 0 0 15px 0;
}

.tooltip__flyout p {
	margin: 0 0 15px 0;
}

.tooltip__flyout>*:last-child {
	margin: 0;
}

@media screen and (min-width: 62em) {
	.tooltip__flyout.tooltip__flyout--two-cols {
		position: relative;
		width: 100%;
		margin: 15px 0;
		background: #e4e9f1;
		border: 1px solid #b2bdc6;
		border-radius: 5px;
		left: 0;
		top: 0;
	}
}

@media screen and (min-width: 62em) {

	.tooltip__flyout.tooltip__flyout--two-cols:after,
	.tooltip__flyout.tooltip__flyout--two-cols:before {
		border-width: 0 15px 15px 15px;
	}
}

@media screen and (min-width: 62em) {
	.tooltip__flyout.tooltip__flyout--two-cols:after {
		border-color: #e4e9f1 transparent;
		top: -14px;
		left: 50%;
		transform: translateX(-50%);
	}
}

@media screen and (min-width: 62em) {
	.tooltip__flyout.tooltip__flyout--two-cols:before {
		border-color: #b2bdc6 transparent;
		top: -15px;
		left: 50%;
		transform: translateX(-50%);
	}
}

.tooltip__flyout-button {
	position: absolute;
	top: 8px;
	right: 8px;
	display: block;
	height: 20px;
	width: 20px;
	border-radius: 100%;
	text-align: center;
	background: #0a3377;
	color: #fff;
	border: none;
}

.tooltip__flyout-button:before {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	font-size: 12px;
	font-size: 0.75rem;
}

.tooltip__flyout-button:focus {
	outline: none;
}

.tooltip__heading {
	font-size: 16px;
	font-size: 1rem;
	line-height: 22px;
	margin: 0 0 12px 0;
	padding-right: 20px;
}

.form__headline--tooltip {
	padding-right: 50px;
}

.form__headline--tooltip .tooltip {
	position: absolute;
	right: 0;
	top: 50%;
	transform: translateY(-50%);
	z-index: 11;
}

.form--personal-data .tooltip {
	position: absolute;
	right: 0;
	top: 50%;
	transform: translateY(-50%);
}

@media screen and (min-width: 48em) {
	.form--personal-data .tooltip {
		right: -30px;
	}
}

@media screen and (min-width: 62em) {
	.form--personal-data .tooltip .tooltip__flyout {
		width: 500px;
		margin: 0;
	}
}

.form__section--inner .tooltip {
	position: absolute;
	right: 0;
	top: 50%;
	transform: translateY(-50%);
}

@media screen and (min-width: 48em) {
	.form__section--inner .tooltip {
		right: -54.25%;
	}
}

@media screen and (min-width: 62em) {
	.form__section--inner .tooltip .tooltip__flyout {
		margin: 0;
	}
}


/***************************************/
/** - Formular - Elemente : Buttons   **/
/***************************************/

.btn {
	display: block;
	width: 100%;
	position: relative;
	margin: 0;
	padding: 15px 20px 16px;
	background: #0a3377;
	color: #fff;
	border: none;
	border-radius: 45px;
	vertical-align: bottom;
	cursor: pointer;
	z-index: 0;
	text-decoration: none;
	font-weight: normal;
	font-size: 16px;
	line-height: 19px;
	transition: all .2s ease-out;
	text-align: center;
}

@media screen and (min-width: 30em) {
	.btn {
		display: inline-block;
		width: auto;
	}
}

.continentale .btn {
	padding: 13px 20px;
	border-radius: 4px;
}

.btn:hover {
	background: #bbc9db;
}

.btn:focus {
	outline: 3px solid #b9d8f9;
}

.btn--small {
	font-size: 14px;
	font-size: 0.875rem;
	padding: 5px 10px;
	margin: 1.1em 0;
}

.continentale .btn--small {
	padding: 6px 10px;
}

.btn--disabled:hover {
	background: #8a9bbb;
	cursor: default;
}

.btn--cancel {
	background: #e4e9f1;
	color: #0a3377;
}

.btn--cancel:hover {
	background: #b2bdc6;
}

.btn--light {
	background: #bbc9db;
}

.btn--light:hover {
	background: #0a3377;
}

.btn--pink {
	background: #e63995;
}

.continentale .btn--pink {
	background: #c01953;
}

.btn--pink:hover {
	background: #f084be;
}

.continentale .btn--pink:hover {
	background: #c01953;
}

.btn--block {
	width: 100%;
	display: block;
	padding-left: 10%;
	padding-right: 10%;
	overflow: hidden;
}

@media screen and (max-width: 30em) {
	.btn--margin-mobile {
		margin: 10px 0 !important;
	}
}

.btn.util-icon--after:after,
.btn.util-icon--after:before,
.btn.util-icon--before:after,
.btn.util-icon--before:before {
	color: white;
	vertical-align: baseline;
}

.btn.util-icon--before:before {
	padding-right: 5px;
}

.btn.util-icon--after:after {
	padding-left: 5px;
}

.continentale .input__button-password:active:before {
	color: #c01953;
}

.input-box {
	position: relative;
	margin-bottom: 10px;
}

.input-box--separation {
	position: relative;
	padding-right: 6%;
}

.input-box--separation:after {
	content: '—';
	display: block;
	position: absolute;
	left: 95%;
	margin-left: -6px;
	top: 13px;
	color: grey;
	font-weight: bold;
}

.input-box--hidden {
	display: none;
}