:root {
  --keycloak-logo-url: url("../img/keycloak-logo-text.svg");
  --keycloak-logo-height: 63px;
  --keycloak-logo-width: 300px;
  --keycloak-card-top-color: var(--pf-v5-global--palette--blue-400);
  --pf-v5-c-form__label--sm: 14px;
  --pf-v5-global--FontSize--sm: 12px;
  --pf-v5-global--FontSize--md: 14px;

  --pf-v5-global--FontSize--3xl: 32px;
  --pf-v5-global--FontWeight--3xl: 700;
  --pf-v5-global--primary-color--100: #be37a3;
  --pf-v5-global--link--Color: #be37a3;
  --pf-v5-global--primary-color--200: #be37a3;
  --pf-v5-global--primary-hover-color--200: rgb(133, 38, 114);
  --pf-v5-global--primary-hover-box-shadow: 0px 2px 4px -1px rgba(0, 0, 0, 0.2),
    0px 4px 5px 0px rgba(0, 0, 0, 0.14), 0px 1px 10px 0px rgba(0, 0, 0, 0.12);
  --pf-v5-global--spacer--xl: 32px;
  --pf-v5-global--spacer--2xl: 32px;
  --pf-v5-global--spacer--3xl: 48px;
  --pf-v5-global--spacer--xs: 8px;
  --pf-v5-global--FontFamily--text: "Inter", "Roboto", "Helvetica", "Arial",
    sans-serif;
  --pf-v5-global--FontFamily--heading: "Inter", "Roboto", "Helvetica", "Arial",
    sans-serif;
  --pf-v5-global--BoxShadow--xl: 0 0 8px 0 rgba(0, 0, 0, 0.05);
  --pf-v5-global--spacer--form-element: 12px;
}

.pf-v5-c-alert {
  --pf-v5-c-alert__title--FontWeight: 300;
  --pf-v5-c-alert--PaddingTop: 12px;
  --pf-v5-c-alert--PaddingBottom: 12px;
  --pf-v5-c-alert--PaddingLeft: 12px;
  --pf-v5-c-alert--PaddingRight: 12px;
  border-radius: 4px;
  display: flex;
  align-items: center;
}

.pf-v5-c-button.pf-m-primary:hover {
  background-color: var(--pf-v5-global--primary-hover-color--200);
  box-shadow: var(--pf-v5-global--primary-hover-box-shadow);
}

.pf-v5-c-alert .pf-v5-c-alert__icon {
  margin: 0;
}

.pf-v5-c-alert .pf-v5-c-alert__icon:before {
  content: "";
  background-repeat: no-repeat;
  width: 24px;
  height: 24px;
  display: inline-block;
  margin-right: 8px;
  vertical-align: middle;
}

.pf-v5-c-alert.pf-m-success {
  --pf-v5-c-alert--BorderTopColor: transparent;
  --pf-v5-c-alert--m-inline--m-success--BackgroundColor: #0f8071;
  --pf-v5-c-alert__title--Color: #fff;
  --pf-v5-c-alert--m-success__icon--Color: #fff;
}

.pf-v5-c-alert.pf-m-success .pf-v5-c-alert__icon:before {
  background-image: url("../img/icon-success.svg");
}

.pf-v5-c-alert.pf-m-warning {
  --pf-v5-c-alert--BorderTopColor: transparent;
  --pf-v5-c-alert--m-inline--m-warning--BackgroundColor: #f3c853;
  --pf-v5-c-alert__title--Color: #1e1e1e;
}

.pf-v5-c-alert.pf-m-warning .pf-v5-c-alert__icon:before {
  background-image: url("../img/icon-warning.svg");
}

.pf-v5-c-alert.pf-m-danger {
  --pf-v5-c-alert--BorderTopColor: transparent;
  --pf-v5-c-alert--m-inline--m-danger--BackgroundColor: #dc3645;
  --pf-v5-c-alert__title--Color: #fff;
}

.pf-v5-c-alert.pf-m-danger .pf-v5-c-alert__icon:before {
  background-image: url("../img/icon-error.svg");
}

.login-pf body {
  background: linear-gradient(180deg, #f6ebf8 0%, #fff 100%);
}

.pf-v5-c-login__main {
  border-radius: 4px;
}

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

.pf-v5-c-login__main-header {
  text-align: center;
}

/* Info section - top margin + bottom padding */
.pf-v5-c-login__main-footer-band:first-child {
  margin-block-start: var(--pf-v5-global--spacer--lg);
}

.pf-v5-c-login__main-footer-band:last-child {
  padding-bottom: 0;
}
/* Info section */

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

.pf-v5-c-form {
  --pf-v5-c-form--GridGap: var(--pf-v5-global--gutter--md);
}

.kc-content.kc-form-description {
  color: #585754;
  font-size: var(--pf-v5-global--FontSize--sm);
}

.kc-content {
  display: flex;
  flex-direction: column;
  gap: var(--pf-v5-global--spacer--xs);
}

#kc-header-wrapper {
  font-size: 16px;
  line-height: 150%;
  color: #585754;
  text-align: center;
  margin: 0;
}

#kc-header {
  display: flex;
  justify-content: center;
  align-items: center;
  margin: 0 0 var(--pf-v5-global--spacer--3xl);
}

#kc-code pre code {
  word-break: break-all;
}

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

#kc-social-providers svg:not(.google) {
  filter: invert(47%) sepia(88%) saturate(7486%) hue-rotate(199deg)
    brightness(91%) contrast(101%);
}

#kc-social-providers svg {
  height: var(--pf-v5-global--FontSize--xl);
}

.pf-v5-c-form-control:after,
.pf-v5-c-form-control:before {
  display: none;
}

.pf-v5-c-input-group {
  position: relative;
}

.pf-v5-c-input-group .pf-v5-c-input-group__item:first-child input {
  padding-right: 40px;
}

.pf-v5-c-input-group__item:last-child {
  position: absolute;
  right: 5px;
  top: 50%;
  transform: translateY(-50%);
}

.pf-v5-c-form-control input {
  font: inherit;
  letter-spacing: inherit;
  color: currentcolor;
  border: 0px;
  box-sizing: border-box;
  background: none;
  margin: 0px;
  -webkit-tap-highlight-color: transparent;
  display: block;
  min-width: 0px;
  animation-name: mui-auto-fill-cancel;
  animation-duration: 10ms;
  padding: 8.5px 0px 8.5px 14px;
  outline: rgba(0, 0, 0, 0.27) 1px solid;
  border-radius: 4px;
}

.pf-v5-c-form-control input:focus-within {
  --pf-v5-global--primary-color--100: #be37a3;

  outline: var(--pf-v5-global--primary-color--100) 1px solid;
}

.pf-v5-c-form__label-text {
  font-weight: 300;
  font-size: 14px;
}

.pf-v5-c-button {
  --pf-v5-c-button--LineHeight: var(--pf-v5-global--LineHeight--sm);
}

.pf-v5-c-button.pf-m-control {
  --pf-v5-c-button--after--BorderColor: transparent;

  background: none;
}

.instruction {
  margin-bottom: var(--pf-v5-global--spacer--md);
}

#kc-info-message {
  margin-top: var(--pf-v5-global--spacer--md);
}

.g-recaptcha {
  display: flex;
  justify-content: center;
}

@media (min-width: 576px) {
  .pf-v5-c-login {
    align-items: flex-start;
  }
}

@media (prefers-color-scheme: dark) {
  #kc-social-providers svg:not(.google) {
    filter: invert(54%) sepia(96%) saturate(2028%) hue-rotate(174deg)
      brightness(99%) contrast(97%);
  }
}
