:root {
  --keycloak-logo-url: url("");
  --keycloak-bg-logo-url: url("");

  --pf-v5-global--primary-color--100: #041e42;
  --pf-v5-c-button--m-primary--hover--BackgroundColor: #e5e1e6;
  --pf-v5-global--primary-color--200: #052756;
  --pf-v5-global--link--Color: #052756;

  --pf-v5-global--link--Color--hover: #041e42;

  --pf-v5-global--FontFamily--heading: Oswald, Helvetica, Verdana, Arial, Lucida, sans-serif;
  --pf-v5-global--FontFamily--text: Lato, Helvetica, Verdana, Arial, Lucida, sans-serif;
}

.pf-v5-c-login__container {
  grid-template-columns: 34rem;
  grid-template-areas:
    "header"
    "main";
}

.login-pf body {
  background: var(--keycloak-bg-logo-url) no-repeat center center fixed;
  background-size: cover;
  height: 100%;
}

div.kc-logo-text {
  background-image: var(--keycloak-logo-url);
  height: var(--keycloak-logo-height);
  width: var(--keycloak-logo-width);
  background-repeat: no-repeat;
  background-size: contain;
  margin: 0 auto;
}

div.kc-logo-text span {
  display: none;
}

.kc-login-tooltip {
  position: relative;
  display: inline-block;
}

.kc-login-tooltip .kc-tooltip-text {
  top: -3px;
  left: 160%;
  background-color: black;
  visibility: hidden;
  color: #fff;

  min-width: 130px;
  text-align: center;
  border-radius: 2px;
  box-shadow: 0 1px 8px rgba(0, 0, 0, 0.6);
  padding: 5px;

  position: absolute;
  opacity: 0;
  transition: opacity 0.5s;
}

/* Show tooltip */
.kc-login-tooltip:hover .kc-tooltip-text {
  visibility: visible;
  opacity: 0.7;
}

/* Arrow for tooltip */
.kc-login-tooltip .kc-tooltip-text::after {
  content: " ";
  position: absolute;
  top: 15px;
  right: 100%;
  margin-top: -5px;
  border-width: 5px;
  border-style: solid;
  border-color: transparent black transparent transparent;
}

#kc-recovery-codes-list {
  columns: 2;
}

#certificate_subjectDN {
  overflow-wrap: break-word;
}

#kc-verify-email-form {
  margin-top: 24px;
  margin-bottom: 24px;
}

#kc-header-wrapper {
  font-size: 29px;
  text-transform: uppercase;
  letter-spacing: 3px;
  line-height: 1.2em;
  white-space: normal;
  color: var(--pf-v5-global--Color--light-100) !important;
  text-align: center;
}

hr {
  margin-top: var(--pf-v5-global--spacer--sm);
  margin-bottom: var(--pf-v5-global--spacer--md);
}

@media (min-width: 768px) {
  div.pf-v5-c-login__main-header {
    grid-template-columns: 70% 30%;
  }
}

/*************************/

.psdimain {
  display: flex;
  width: 68rem;
  justify-self: center;
  height: 100%;
}

.psdimain:not(:has(> .psdileft)) {
  width: 34rem;
}

.psdileft {
  flex: 1;
  padding: 30px;
  padding-top: 48px !important;
  width: 34rem;
}

.psdiright {
  flex: 1;
  padding: 30px;
  padding-top: 48px !important;
}

.psdidivider {
  height: 300px;
  width: 1px;
  background: #ccc;
  align-self: center;
}

.pf-v5-c-helper-text__item-text:has(.pf-v5-c-form__label-required) {
  text-align: right;
  width: 100%;
  display: block;
}

.psdiinstitutiontext {
  margin-top: 30px;
  margin-bottom: 30px;
}

.psdileft .psdihelp {
  margin-top: auto;
  text-align: center;
  margin-top: 130px;
}

.psdiheading {
  text-align: center;
  font-size: 2em;
}

.psdilogo {
  background-image: url("../img/psdilogo.svg");
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  width: 260px;
  height: 100px;
  justify-self: center;
  margin-bottom: 30px;
}

@media (max-width: 1024px) {
  .psdimain {
    flex-direction: column;
    align-items: center;
  }
  .psdileft {
    width: 25rem;
  }
  .psdidivider {
    width: 300px;
    height: 1px;
    background: #ccc;
  }
}
