.login-pf body {
	background: var(--fill-primary-bg-hi1, #001464);
  font-family: Montserrat, sans-serif;
}

.login-pf-page {
  display: flex;
  align-items: center;
  height: 100%;
  padding: 0;
  margin: 0 ;
}

#kc-header {
  z-index: -1;
  position: absolute;
  width: 100%;
  height: 100%;
  padding: 0;
  margin: 0 ;
}

#kc-header-wrapper {
  width: 548px;
  height: 544px;
  padding: 0;
  position: relative;
  top: 50%;
  left: 50%;
  transform: translate(-50% , -50%);
  -webkit-transform: translate(-50%, -50%);
  margin: 0 -11rem 0 -11rem;
  text-transform: unset;
}

#kc-header-wrapper .header {
  background: linear-gradient(135deg, rgba(255,255,255,0.66), rgba(255,255,255,0)),
    url("../img/header-bckgnd-img.png");
  background-repeat: no-repeat;
  background-size: cover;
  border-radius: 5px;
  display: flex;
  justify-content: space-between;
  height: 100%;
  padding: 5rem 2rem 2rem 2rem;
}

#kc-header .logo {
  align-self: start;
  display: flex;
  align-items: center;
}

#kc-header .logo-text {
  margin-left: 8px;
}

#kc-header .version {
  align-self: end;
  color: var(--primary-fg-hi1, #0A2A86);
  font-size: 12px;
  font-style: normal;
  font-weight: 400;
  line-height: 12px;
  letter-spacing: -0.12px;
}

.login-pf-page .login-pf-header {
  margin-bottom: 0px;
}

.card-pf {
	z-index: 2;
	text-align: left;
	border-radius: 5px;
  border: solid #ff8e92 !important;
  border-width: 6px 0 0 0 !important;
  color: #535353;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  background-color: white;
  width: 456px;
  max-height: 90vh;
  overflow: auto;
  padding: 40px 24px 40px 32px;
}

#kc-page-title {
  color: var(--neutral-fg-hi1, #1F1F1F);
  font-size: 20px;
  font-style: normal;
  font-weight: 700;
  line-height: 28px;
  text-align: left;
  margin: 0 !important;
}

#kc-content-wrapper {
	margin-top: 0px;
}

#kc-content {
	margin-top: 0px;
}

.pf-c-form__label-text {
	box-sizing: border-box;
	color: #0224d2;
	text-align: left;
	font-size: small;
}

#kc-form-login .form-group {
  margin-bottom: 20px;
}

input[type="text"],
input[type="password"] {
  margin: 0;
  display: block;
  width: 100%;
  height: 30px;
  font-size: 14px;
  color: #555;
  background-color: #ffffff;
  border: none;
  border-bottom: 1px solid rgba(83, 83, 83, 0.4) !important;
}

input[type="text"]:focus,
input[type="password"]:focus {
  outline: 0;
  border: none;
  border-bottom: 2px solid #0092f5 !important;
  border-top: 1px solid transparent !important;
}

input[type="text"],
input[type="password"] {
  padding: 6px !important;
  background-image: none !important;
}

#username {
  padding-left: 7.5rem !important;
}

#password {
  padding-left: 7.5rem !important;
  padding-right: 32px !important;
  text-overflow: initial;
}

#kc-form-login .iconAndLabelAndInput {
  display: flex;
  align-items: center;
  position: relative;
}

#kc-form-login label {
  color: var(--neutral-fg, #535353);
  font-size: 13px;
  font-style: normal;
  line-height: 16px;
}

#kc-form-login .iconAndLabelAndInput .iconAndLabel {
  position: absolute;
  display: flex;
  align-items: center;
}

#kc-form-login .iconAndLabelAndInput .iconAndLabel label {
  font-weight: 600;
}

#kc-form-login .iconAndLabelAndInput .iconAndLabel > * {
  margin-left: 0.3rem;
}

#kc-form-login .iconAndLabelAndInput .show-password {
  position: absolute;
  right: 8px;
  display: flex;
}

.pf-c-form-control {
  background-position: 95% !important;
}

.pf-c-button.pf-m-primary {
  min-width: 189px;
  height: 41px;
  margin: 0;
  border-radius: 3px;
  background: var(--fill-secondary-bg, #0092F5);
  color: var(--fill-secondary-fg, #FFF);
  text-align: center;
  font-family: Montserrat, sans-serif;
  font-size: 16px;
  font-style: normal;
  font-weight: 600;
  line-height: 16px;
  text-transform: none;
  width: auto;
  letter-spacing: 0;
}

#kc-form-buttons {
  margin-top: 5px;
}

form input[type="submit"] {
	text-transform: lowercase;
	border: none;
	font-size: 21px;
	margin: 14px auto 5px;
	display: block;
	border-radius: 5px;
	padding: 0 10px;
	letter-spacing: 3px;
	outline: none;
	cursor: pointer;
}

#kc-form-options {
  margin-top: 10px;
	width: 100%;
}

form div.privacy {
  display: flex;
  align-items: center;
  margin-bottom: 10px;
}

form div.privacy label {
  line-height: 25px;
  font-weight: 400 !important;
  margin: 0;
  margin-right: 8px;
}

input[type="radio"] {
  display: none;
}

input[type="radio"]:checked + label {
  border: none;
  background-size: cover;
  background-image: url("data:image/svg+xml,%3Csvg width='14' height='14' viewBox='0 0 14 14' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cg%3E%3Cpath d='M7 14C10.866 14 14 10.866 14 7C14 3.13401 10.866 0 7 0C3.13401 0 0 3.13401 0 7C0 10.866 3.13401 14 7 14ZM10.6145 4.9301L6.6559 10.5852L3.53151 8.08566C3.20806 7.8269 3.15562 7.35493 3.41438 7.03148C3.67313 6.70804 4.1451 6.65559 4.46855 6.91435L6.34415 8.41483L9.3856 4.06991C9.62314 3.73057 10.0908 3.64804 10.4301 3.88558C10.7695 4.12312 10.852 4.59076 10.6145 4.9301Z' fill='%230092F5'/%3E%3C/g%3E%3C/svg%3E");
}

/* the decoded SVG for input[type="radio"]:checked + label { background-image }
<svg width="14" height="14" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M7 14C10.866 14 14 10.866 14 7C14 3.13401 10.866 0 7 0C3.13401 0 0 3.13401 0 7C0 10.866 3.13401 14 7 14ZM10.6145 4.9301L6.6559 10.5852L3.53151 8.08566C3.20806 7.8269 3.15562 7.35493 3.41438 7.03148C3.67313 6.70804 4.1451 6.65559 4.46855 6.91435L6.34415 8.41483L9.3856 4.06991C9.62314 3.73057 10.0908 3.64804 10.4301 3.88558C10.7695 4.12312 10.852 4.59076 10.6145 4.9301Z" fill="#0092F5"/>
</svg>
*/

input[type="radio"] + label {
  display: inline-block;
  width: 14px;
  height: 14px;
  border-radius: 1em;
  cursor: pointer;
  z-index: 1;
  background: #fff;
  border: 2px solid #ff8e92;
  vertical-align: middle;
  margin-right: 4px;
}

/**
 * Mobile starts here.
 */

@media (max-width: 991px) {
  .login-pf-page {
    display: block;
    margin: auto;
  }

  #kc-header-wrapper {
    width: 100%;
    height: 100%;
    padding: 0;
    position: relative;
    top: 0;
    left: 0;
    transform: none;
    -webkit-transform: none;
    margin: 0;
    text-transform: unset;
  }

  #kc-header-wrapper .header {
    background: rgba(0,0,0,0);
    background-repeat: no-repeat;
    background-size: cover;
    border-radius: 0;
    display: flex;
    height: 100%;
    padding: 2.5rem 2rem 2rem 2rem;
    flex-direction: column;
    align-items: center;
  }

  #kc-header {
    position: static;
    height: auto;
  }

  #kc-header .header {
    margin: auto;
    width: fit-content;
    align-items: end;
  }

  #kc-header .logo,
  #kc-header .version {
    align-self: unset;
  }

  #kc-header .logo .logo-icon {
    height: 45px;
  }

  #kc-header .logo .logo-text {
    height: 23px;
  }

  #kc-header .logo .logo-text path {
    fill: white;
  }

  #kc-header .version {
    color: white;
  }

  #kc-page-title {
    align-self: center;
  }

  .login-pf-page .login-pf-settings {
    display: flex !important;
    justify-content: center !important;
  }

  #kc-form-options {
    width: auto;
  }

  #kc-form-buttons {
    display: flex;
    justify-content: center;
  }

  .login-pf-page .card-pf {
    border-radius: 0;
    padding: 40px 20px 40px 20px;
    margin: 0 auto;
    height: auto;
    max-height: none;
    width: 100%;
  }
}
