:root {
  --pf-global--primary-color--100: #1d5443;
  --pf-global--primary-color--200: #23614e;
  --pf-global--link--Color: none;
  --pf-global--link--TextDecoration: none;
}

@font-face {
	font-family: "bundessansweb";
	src: url("../fonts/BundesSchrift-v3/BundesSerifWeb-Regular.woff") format("woff"),
		 url("../fonts/BundesSchrift-v3/BundesSansWeb-Regular.woff2") format("woff2");
}

.login-pf body {
	background: none;
	background-color: #f2f2f2;
    border-top: 10px solid #23614e;
	font-family: bundessansweb, Calibri, "Droid Sans", Arial, "Helvetica Neue", Helvetica, -serif !important;
	font-size: 16px;
}

.logo img {
	border: 0;
	display: inline-block;
    vertical-align: middle;
	// when shrinking the logo for small screens is necessary:
    max-width: 100%;
    height: 110px;
	margin: 20px 0 20px 0;
}

.pf-c-login__main-footer-links.kc-social-links {
	display: flex;
	justify-content: center;
}

.login-pf-page-header {
	margin-bottom: 40px;
}
.kc-logo-text {
	display: none;
}

.pf-c-alert {
	position: absolute;
}

#input-error-Gruendungsdatum{
	padding: 20px;
}
#birthDate-error {
	padding: 20px;
}
#birthDate {
	padding-right: 25px;
	width: 384px;
}
#Gruendungsdatum {
	padding-right: 25px;
	width: 384px;
}

div.login-pf-page div.card-pf {
	box-shadow: 0 0 10px rgb(107 117 129 / 10%);
	-webkit-box-shadow: 0 0 10px rgb(107 117 129 / 10%);
    border-radius: 5px;
	background-size: 100%; 
    background-color: #ffffff;
    width: 100%;
    max-width: 1080px;
	position: absolute;
	left: 50%;
	-webkit-transform: translate(-50%, -50%);
	transform: translate(-50%, 0);
}

@media(min-width: 1080px) {
	div.login-pf-page div.card-pf {
		padding: 20px 100px;
	}
    div.login-pf-page-header > div.logo {
        text-align: left;
        margin-left: 300px;
    }
}

/* prevent overflow over bottom div on small screens*/
#kc-content {
    margin-bottom: 40px;
}
.kc-content-c {
    margin-bottom: 40px;
}

.login-pf {
    background: none;
	background-color: #FFFFFF;
}

div.login-pf-page {
	margin-top: 0;
	background-color: white;
	height: 175px;
}

div.card-pf {
	margin-top: 20px;
}

.login-pf-header {
	display: none !important;	
}

div.login-pf-page p.instruction {
	margin-top: 20px;
}

#kc-form-wrapper h4 {
	font-family: bundessansweb, Calibri, "Droid Sans", Arial, "Helvetica Neue", Helvetica, -serif !important;
	color: #35444c;
	font-size: 32px;
	font-weight: bold;
	text-align: center;
	margin-bottom: 30px;
}

.kc-social-item {
	font-family: bundessansweb, Calibri, "Droid Sans", Arial, "Helvetica Neue", Helvetica, -serif !important;
	color: #fff !important;
	background-color: var( --pf-global--primary-color--100) !important;
	font-size: 18px !important;
	height: 60px !important;
	border: none !important;
    border-radius: 5px !important;
	padding-top: 15px !important;
	padding-left: 30px !important;
	text-align: left !important;
	margin: 10px 0;
	display: block;
	width: 400px;
}

.kc-social-item img {
	margin-right: 14px !important;
	width: 24px !important;
	vertical-align: top;
	margin-top: 3px;
}

form.form-horizontal div.form-group {
	margin-right: 30px;
	vertical-align: top;
}
span.pf-m-error {
	color: #c9190b;
}

input.pf-c-form-control[type=text],
input.pf-c-form-control[type=date],
input.pf-c-form-control[type=textarea] {
	border: 1px solid #808080;
	border-radius: 2px;
	box-sizing: content-box;
	padding-top: 5px;
	padding-bottom: 5px;
	padding-left: 15px;
	padding-right: 15px;
	margin-top: 5px;
	max-width: 450px;
}
input[readonly] {
	border: none;
	padding: 0;
}

div.data-review {
	border: 1px solid #a0a0a0;
	padding: 20px;
	width: 600px;
}
div.data-review > table {
	table-layout: fixed;
}
div.data-review > table tr > td:first-child {
	width: 250px;
	font-style: italic;
}

form.form-horizontal div.form-group.button-group {
	width: auto;
	float: right;
}

span.id-bestaetigungsseite div.form-group {
	width: auto;
	float: right;
}

div.kc-form-buttons {
	margin-top: 20px;
}
div.kc-form-buttons * {
	margin-left: 20px;
}

button.pf-c-button,
input.pf-c-button {
	padding: 20px 48px 16px 40px;
	border-radius: 4px;
	text-transform: uppercase;
	margin-top: 10px;
}

table.bzst-warning {
	margin-top: 30px;
	table-layout: fixed;
	width: 100%;
	border: 1px solid #fac040;
	border-radius: 8px;
	border-collapse: separate;
}
table.bzst-warning td.info {
	background-color: #fac040;
	padding: 20px 5px;
	width: 40px;
	font-weight: bold;
}
table.bzst-warning td.info > div {
	margin: auto;
    width: 20px;
    height: 20px;
    border-radius: 20px;
	background-color: #fff6e0;
	color: #fac040;
    text-align: center;
    line-height: 22px;
}
table.bzst-warning td.text {
	background-color: #fff6e0;
	padding: 20px;
}

a:hover,
a:active,
a:focus,
a:focus-within,
a:focus-visible,
a:active,
a {
	border: none !important;
	text-decoration: none;
}

.kc-social-new-account-header {
	font-family: bundessansweb, Calibri, "Droid Sans", Arial, "Helvetica Neue", Helvetica, sans-serif !important;
	color: #35444c !important;
	font-size: 18px !important;
	font-weight: bold;
	margin-top: 30px;
	text-align: center;
}

.kc-social-new-account-header .hr {
	display: inline-block !important;
	height: 16px !important;
	margin-top: 14px;
	width: 110px;
	border-bottom: 2px solid #e2e2e2 !important;
}


.kc-social-new-account-header .hr:first-child {
	margin-right: 10px;
}

.kc-social-new-account-header .hr:last-child {
	margin-left: 10px;
}

.kc-social-new-account-info {
	font-family: bundessansweb, Calibri, "Droid Sans", Arial, "Helvetica Neue", Helvetica, sans-serif !important;
	color: #35444c !important;
	font-size: 18px !important;
	text-align: center;
	margin-top: 20px;
}

.kc-social-new-account-items {
	font-family: bundessansweb, Calibri, "Droid Sans", Arial, "Helvetica Neue", Helvetica, sans-serif !important;
	font-size: 18px !important;
	text-align: center;
	margin-top: 10px;
}

.kc-social-new-account-items a:hover,
.kc-social-new-account-items a:active,
.kc-social-new-account-items a:focus,
.kc-social-new-account-items a:focus-within,
.kc-social-new-account-items a:focus-visible,
.kc-social-new-account-items a:active,
.kc-social-new-account-items a {
	font-family: bundessansweb, Calibri, "Droid Sans", Arial, "Helvetica Neue", Helvetica, sans-serif !important;
	font-size: 18px !important;
	color: #1d5443 !important;
	text-decoration: underline !important;
}

div.kc-social-new-account-info a {
	color: #1d5443;
	text-decoration: underline;
}

.kc-loading-msg {
	font-family: bundessansweb, Calibri, "Droid Sans", Arial, "Helvetica Neue", Helvetica, sans-serif !important;
	font-size: 24px !important;
	color: #1d5443 !important;
}

.pf-c-alert {
    margin: -182px 0 0 100px !important;
}

.loader,
.loader:before,
.loader:after {
  background: #1d5443;
  -webkit-animation: load1 1s infinite ease-in-out;
  animation: load1 1s infinite ease-in-out;
  width: 1em;
  height: 4em;
}
.loader {
  color: #1d5443;
  text-indent: -9999em;
  margin: 88px auto;
  position: relative;
  font-size: 11px;
  -webkit-transform: translateZ(0);
  -ms-transform: translateZ(0);
  transform: translateZ(0);
  -webkit-animation-delay: -0.16s;
  animation-delay: -0.16s;
}
.loader:before,
.loader:after {
  position: absolute;
  top: 0;
  content: '';
}
.loader:before {
  left: -1.5em;
  -webkit-animation-delay: -0.32s;
  animation-delay: -0.32s;
}
.loader:after {
  left: 1.5em;
}
@-webkit-keyframes load1 {
  0%,
  80%,
  100% {
    box-shadow: 0 0;
    height: 4em;
  }
  40% {
    box-shadow: 0 -2em;
    height: 5em;
  }
}
@keyframes load1 {
  0%,
  80%,
  100% {
    box-shadow: 0 0;
    height: 4em;
  }
  40% {
    box-shadow: 0 -2em;
    height: 5em;
  }
}

h1, h2, h3 {
	font-weight: bold;
}
h1 {
	font-size: 28px;
}
h2 {
	font-size: 22px;
}
h3 {
	font-size: 18px;
}
  

  
  
  .idp-kc-social-item {
	  font-family: bundessansweb, Calibri, "Droid Sans", Arial, "Helvetica Neue", Helvetica, -serif !important;
	  color: #fff !important;
	  background-color: var( --pf-global--primary-color--100) !important;
	  font-size: 18px !important;
	  height: 60px !important;
	  border: none !important;
	  border-radius: 5px !important;
	  text-align: center !important;
	  margin-top: 10px;
	  display: block;
	  margin-left: auto;
	  margin-right: auto;
	  width: 90%;
  }
   .idp-login-info-links {
	position: fixed;
	bottom: 0;
	left: 0;
	right: 0;
	margin: 0px;
	background: white;
   }
  
.idp-login-link, .idp-copyright-claim {
	display: inline-block;
	color: grey;
	margin-left: 2rem;
}
  
  .idp-login-link:hover {
	  text-decoration: underline!important;
	  color: grey;
  }
  
  .idp-login-logo {
	  display: none!important;
  }

  @media screen and (min-width: 1250px) {

	.idp-login-link {
		display: inline;
	}
	.idp-copyright-claim{
		display: inline;
		float: right;
	}
	.idp-login-logo {
		display: block!important;
		margin: auto;
		max-width: 100%;
		height: 2rem;
	}
 
  } 

  
  