.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 ;
}

.pf-c-tile {
  transition: none;
}

#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: 7px solid #0092f5;
}

input[type="radio"] ~ label {
  cursor: pointer;
}

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

.login-pf-page .credential-option {
  display:flex;
  gap: 5px;
  margin-bottom: 5px;
  align-items: center;
}

.login-pf-page .credential-label {
  display:flex;
  align-items: center;
  gap: 5px;
  line-height: 24px;
  font-size: 14px;
}

.login-pf-page .credential-label .pf-c-tile__icon {
  font-size: 24px;
}

.login-pf-page .reset-login {
  display: flex;
  justify-content: end;
  font-size: 16px;
  margin-right: -16px;
}

#kc-attempted-username {
  text-overflow: ellipsis;
  overflow: hidden;
}

#kc-otp-login-form {
  margin-top: 16px;
}

/* ************************************************************************************
 * 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%;
  }

  .login-pf-page .reset-login {
    margin-right: unset;
  }
} /** Mobile end. */
