.login-pf {
  background: none;
}

div.kc-logo-text {
  background-image: url(../img/aifind_icon.svg);
  background-size: contain;
  background-position: center;
  height: 80px;
  width: auto;
}

#kc-header-wrapper {
  padding: 0;
}

.login-pf-page {
  display: flex;
  flex-direction: column;
  justify-content: center;
  height: 100%;
  padding-top: 0;
}

.login-pf-page .card-pf {
  margin-bottom: 10px;
  box-shadow: 0 0 100px -25px #0000004a;
  border: none;
  border-radius: 10px;
  padding: 50px 50px;
  width: 450px;
}

.login-pf body {
  background: none;
  background-color: #fff;
  overflow: hidden;
}

:root {
  --pf-global--primary-color--100: #33658a;
  --pf-global--primary-color--200: #14375a;
  --pf-global--primary-color--light-100: #579ad9;
  --pf-global--primary-color--dark-100: #33658a;
}

.password-group {
  position: relative;
}

.password-visibility-button {
  position: absolute;
  top: 50%;
  right: 1px;
  transform: translateY(-50%);
  cursor: pointer;
  border: unset;
  padding: 5px;
  background-color: #ffffff;
}

.pf-c-button {
  font-family: inherit;
  border-radius: 4px;
  padding: 0.6rem 1rem;
}

.pf-c-button::after {
  content: none;
}

/* 
* ========================================================================
* animation
* comment/remove following lines if you want to disable/remove animation 
*/

.card-pf {
  position: relative;
  z-index: 1000;
}

html::before,
html::after,
body::before,
body::after,
.login-pf-page::before,
.login-pf-page::after,
#kc-header::before,
#kc-header::after,
#kc-header-wrapper::before,
#kc-header-wrapper::after {
  pointer-events: none;
  content: '';
  position: absolute;
  display: block;
  list-style: none;
  width: 20px;
  height: 20px;
  background-color: rgba(97, 162, 110, 0.5);
  background-color: rgba(51, 101, 138, 0.25);

  animation: animate 25s linear infinite;
  bottom: -150px;
}

html::before {
  left: 25%;
  width: 80px;
  height: 80px;
  animation-delay: 0s;
}
html::after {
  left: 10%;
  width: 20px;
  height: 20px;
  animation-delay: 2s;
  animation-duration: 12s;
}

body::before {
  left: 70%;
  width: 20px;
  height: 20px;
  animation-delay: 4s;
}
body::after {
  left: 40%;
  width: 60px;
  height: 60px;
  animation-delay: 0s;
  animation-duration: 18s;
}

.login-pf-page::before {
  left: 65%;
  width: 20px;
  height: 20px;
  animation-delay: 0s;
}
.login-pf-page::after {
  left: 75%;
  width: 110px;
  height: 110px;
  animation-delay: 3s;
}

#kc-header::before {
  left: 35%;
  width: 150px;
  height: 150px;
  animation-delay: 7s;
}
#kc-header::after {
  left: 50%;
  width: 25px;
  height: 25px;
  animation-delay: 15s;
  animation-duration: 45s;
}

#kc-header-wrapper::before {
  left: 20%;
  width: 15px;
  height: 15px;
  animation-delay: 2s;
  animation-duration: 35s;
}
#kc-header-wrapper::after {
  left: 85%;
  width: 150px;
  height: 150px;
  animation-delay: 0s;
  animation-duration: 11s;
}

#kc-current-locale-link {
  border: none;
  background-color: unset;
  font-weight: 300;
}

#kc-current-locale-link::after {
  content: '\2c5';
  margin-left: 4px;
}

@keyframes animate {
  0% {
    transform: translateY(0) rotate(0deg);
    opacity: 1;
    border-radius: 0;
  }

  100% {
    transform: translateY(-1000px) rotate(720deg);
    opacity: 0;
    border-radius: 50%;
  }
}
/* 
* animation end
* ========================================================================
*/

@media (max-width: 840px) {
  .login-pf-page .card-pf {
    width: 70%;
    margin: 0 auto;
  }

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