

@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@600;700&family=Inter:wght@400;500;600&display=swap');


html,
body,
body#keycloak-bg,
.login-pf-page,
.pf-v5-c-login {
  background: #1A2744 !important;
  font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif !important;
}


.pf-v5-c-login {
  width: 100% !important;
}
.pf-v5-c-login__container {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  width: 100% !important;
  max-width: 36rem !important;
  gap: 1.5rem !important;
  margin: 0 auto !important;
}

#kc-form-login,
.pf-v5-c-form,
.pf-v5-c-form__group,
.pf-v5-c-form__group-control,
.pf-v5-c-form-control {
  width: 100% !important;
}
.pf-v5-c-login__header {
  text-align: center !important;
  width: 100% !important;
}
#kc-header-wrapper,
.pf-v5-c-brand {
  display: flex !important;
  justify-content: center !important;
  padding: 0 !important;
}
#kc-header-wrapper img,
#kc-page-title img {
  max-height: 64px !important;
  width: auto !important;
}


.pf-v5-c-login__main {
  background: #F9F7F2 !important;
  color: #1A2744 !important;
  border: none !important;
  border-radius: 16px !important;
  box-shadow: 0 12px 40px rgba(0, 0, 0, 0.35) !important;
  width: 34rem !important;
  max-width: 94vw !important;
  align-self: center !important;
  overflow: hidden !important;
}
.pf-v5-c-login__main-header,
.pf-v5-c-login__main-body,
.card-pf {
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
}
.pf-v5-c-login__main-header {
  padding: 2rem 2rem 0.5rem !important;
}
.pf-v5-c-login__main-body {
  padding: 0.5rem 2rem 2rem !important;
}

.pf-v5-c-login__main-footer {
  padding-bottom: 2rem !important;
}


#kc-page-title,
h1.pf-v5-c-title {
  font-family: 'Montserrat', sans-serif !important;
  font-weight: 700 !important;
  color: #1A2744 !important;
  font-size: 1.5rem !important;
  line-height: 1.25 !important;
}


label,
.pf-v5-c-form__label,
.pf-v5-c-form__label-text {
  font-family: 'Inter', sans-serif !important;
  color: #1A2744 !important;
  font-weight: 600 !important;
}


input[type="text"],
input[type="email"],
input[type="password"],
.pf-v5-c-form-control > input,
.pf-v5-c-form-control > select,
.pf-v5-c-form-control > textarea {
  background-color: #FFFFFF !important;
  color: #1A2744 !important;
  border: 1px solid #C4C7BE !important;
  border-radius: 8px !important;
  box-shadow: none !important;
  
  padding: 6px 8px !important;
}

.pf-v5-c-form-control {
  background: transparent !important;
  border: none !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  padding: 0 !important;
}
input::placeholder {
  color: #74776E !important;
}
input:focus,
.pf-v5-c-form-control > select:focus,
.pf-v5-c-form-control > textarea:focus {
  border-color: #D4AF37 !important;
  outline: 2px solid rgba(212, 175, 55, 0.45) !important;
  outline-offset: 0 !important;
}

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


.pf-v5-c-input-group {
  display: flex !important;
  gap: 0 !important;
  width: 100% !important;
}
.pf-v5-c-input-group__item.pf-m-fill {
  flex: 1 1 auto !important;
  width: auto !important;
}
.pf-v5-c-input-group input[type="password"],
.pf-v5-c-input-group input[type="text"] {
  width: 100% !important;
  border-top-right-radius: 0 !important;
  border-bottom-right-radius: 0 !important;
  border-right: none !important;
}


.pf-v5-c-button.pf-m-control {
  background: #FFFFFF !important;
  border: 1px solid #C4C7BE !important;
  border-left: none !important;
  border-radius: 0 8px 8px 0 !important;
  color: #1A2744 !important;
  flex: 0 0 auto !important;
}
.pf-v5-c-button.pf-m-control:hover {
  background: #EAE8E2 !important;
}


#kc-login,
.pf-v5-c-button.pf-m-primary {
  background-color: #D4AF37 !important;
  color: #1A2744 !important;
  border: none !important;
  border-radius: 9999px !important;
  font-family: 'Inter', sans-serif !important;
  font-weight: 600 !important;
  font-size: 1rem !important;
  padding-top: 0.75rem !important;
  padding-bottom: 0.75rem !important;
  box-shadow: none !important;
}
#kc-login:hover,
.pf-v5-c-button.pf-m-primary:hover {
  background-color: #E2BE46 !important;
}


a,
.pf-v5-c-login__main a,
#kc-info a {
  color: #1A2744 !important;
}
a:hover {
  color: #B8941F !important;
}


#kc-social-providers {
  margin-top: 1.25rem !important;
}
#kc-social-providers hr {
  border: none !important;
  border-top: 1px solid #C4C7BE !important;
  margin: 1rem 0 !important;
}
#kc-social-providers ul {
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 0.5rem !important;
}
#kc-social-providers a,
#kc-social-providers .pf-v5-c-button,
a.kc-social-item {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 0.5rem !important;
  width: 100% !important;
  border: 1px solid #1A2744 !important;
  border-radius: 9999px !important;
  background: #FFFFFF !important;
  color: #1A2744 !important;
  font-family: 'Inter', sans-serif !important;
  font-weight: 600 !important;
  padding: 0.625rem 1rem !important;
  text-decoration: none !important;
}
#kc-social-providers a:hover,
a.kc-social-item:hover {
  background: #EAE8E2 !important;
  color: #1A2744 !important;
  text-decoration: none !important;
}

#kc-social-providers a svg {
  display: none !important;
}

#kc-social-providers a::before {
  content: "" !important;
  display: inline-block !important;
  flex: 0 0 auto !important;
  width: 18px !important;
  height: 18px !important;
  background-repeat: no-repeat !important;
  background-position: center !important;
  background-size: contain !important;
}

#kc-social-providers a::after {
  font-family: 'Inter', sans-serif !important;
  font-weight: 600 !important;
  color: #1A2744 !important;
}


#kc-social-providers a#social-google::before {
  background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2048%2048%22%3E%3Cpath%20fill%3D%22%23EA4335%22%20d%3D%22M24%209.5c3.54%200%206.71%201.22%209.21%203.6l6.85-6.85C35.9%202.38%2030.47%200%2024%200%2014.62%200%206.51%205.38%202.56%2013.22l7.98%206.19C12.43%2013.72%2017.74%209.5%2024%209.5z%22%2F%3E%3Cpath%20fill%3D%22%234285F4%22%20d%3D%22M46.98%2024.55c0-1.57-.15-3.09-.38-4.55H24v9.02h12.94c-.58%202.96-2.26%205.48-4.78%207.18l7.73%206c4.51-4.18%207.09-10.36%207.09-17.65z%22%2F%3E%3Cpath%20fill%3D%22%23FBBC05%22%20d%3D%22M10.53%2028.59c-.48-1.45-.76-2.99-.76-4.59s.27-3.14.76-4.59l-7.98-6.19C.92%2016.46%200%2020.12%200%2024c0%203.88.92%207.54%202.56%2010.78l7.97-6.19z%22%2F%3E%3Cpath%20fill%3D%22%2334A853%22%20d%3D%22M24%2048c6.48%200%2011.93-2.13%2015.89-5.81l-7.73-6c-2.15%201.45-4.92%202.3-8.16%202.3-6.26%200-11.57-4.22-13.47-9.91l-7.98%206.19C6.51%2042.62%2014.62%2048%2024%2048z%22%2F%3E%3C%2Fsvg%3E") !important;
}
#kc-social-providers a#social-google::after {
  content: "Google";
}


#kc-social-providers a#social-facebook::before {
  background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20512%20512%22%3E%3Cpath%20fill%3D%22%231877F2%22%20d%3D%22M504%20256C504%20119%20393%208%20256%208S8%20119%208%20256c0%20123.78%2090.69%20226.38%20209.25%20245V327.69h-63V256h63v-54.64c0-62.15%2037-96.48%2093.67-96.48%2027.14%200%2055.52%204.84%2055.52%204.84v61h-31.28c-30.8%200-40.41%2019.12-40.41%2038.73V256h68.78l-11%2071.69h-57.78V501C413.31%20482.38%20504%20379.78%20504%20256z%22%2F%3E%3C%2Fsvg%3E") !important;
}
#kc-social-providers a#social-facebook::after {
  content: "Facebook";
}


.pf-v5-c-alert {
  border: none !important;
  border-left: 4px solid #C62828 !important;
  border-radius: 8px !important;
  background: #FBE4E4 !important;
  padding: 0.75rem 1rem !important;
  box-shadow: none !important;
  margin-bottom: 1rem !important;
}
.pf-v5-c-alert__title,
.pf-v5-c-alert .kc-feedback-text,
.pf-v5-c-alert__icon {
  font-family: 'Inter', sans-serif !important;
  font-weight: 600 !important;
  font-size: 0.95rem !important;
  color: #7F1D1D !important;
}

.pf-v5-c-alert.pf-m-danger {
  background: #FBE4E4 !important;
  border-left-color: #C62828 !important;
}
.pf-v5-c-alert.pf-m-danger .pf-v5-c-alert__title,
.pf-v5-c-alert.pf-m-danger .kc-feedback-text,
.pf-v5-c-alert.pf-m-danger .pf-v5-c-alert__icon {
  color: #7F1D1D !important;
}

.pf-v5-c-alert.pf-m-warning {
  background: #FEF3C7 !important;
  border-left-color: #A16207 !important;
}
.pf-v5-c-alert.pf-m-warning .pf-v5-c-alert__title,
.pf-v5-c-alert.pf-m-warning .kc-feedback-text,
.pf-v5-c-alert.pf-m-warning .pf-v5-c-alert__icon {
  color: #713F12 !important;
}

.pf-v5-c-alert.pf-m-success {
  background: #E3F3E7 !important;
  border-left-color: #1E7B34 !important;
}
.pf-v5-c-alert.pf-m-success .pf-v5-c-alert__title,
.pf-v5-c-alert.pf-m-success .kc-feedback-text,
.pf-v5-c-alert.pf-m-success .pf-v5-c-alert__icon {
  color: #14532D !important;
}

.pf-v5-c-alert.pf-m-info {
  background: #E1ECF7 !important;
  border-left-color: #1565C0 !important;
}
.pf-v5-c-alert.pf-m-info .pf-v5-c-alert__title,
.pf-v5-c-alert.pf-m-info .kc-feedback-text,
.pf-v5-c-alert.pf-m-info .pf-v5-c-alert__icon {
  color: #0D3B66 !important;
}


.pf-v5-c-helper-text__item.pf-m-error,
.pf-v5-c-helper-text__item.pf-m-error .pf-v5-c-helper-text__item-text {
  color: #C62828 !important;
  font-family: 'Inter', sans-serif !important;
}
input[aria-invalid="true"] {
  border-color: #C62828 !important;
}


@media (min-width: 720px) {
  .pf-v5-c-login__container:has(#kc-social-providers) {
    max-width: 52rem !important;
  }
  .pf-v5-c-login__main:has(#kc-social-providers) {
    width: 50rem !important;
    display: grid !important;
    grid-template-columns: 1.06fr 0.94fr;
    grid-template-areas: "header social" "body social";
    align-items: stretch !important;
  }
  .pf-v5-c-login__main:has(#kc-social-providers) .pf-v5-c-login__main-header {
    grid-area: header;
    padding: 2.25rem 2.25rem 0.25rem !important;
  }
  .pf-v5-c-login__main:has(#kc-social-providers) .pf-v5-c-login__main-body {
    grid-area: body;
    padding: 0.75rem 2.25rem 2.25rem !important;
  }
  .pf-v5-c-login__main:has(#kc-social-providers) .pf-v5-c-login__main-footer {
    grid-area: social;
    padding: 2.25rem !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    align-content: center !important;
    gap: 1.15rem !important;
  }
  .pf-v5-c-login__main:has(#kc-social-providers) .pf-v5-c-login__main-footer > * {
    min-width: 0 !important;
    margin: 0 !important;
  }
}

.pf-v5-c-login__main:has(#kc-social-providers) .pf-v5-c-login__main-footer {
  background: #1A2744 !important;
  color: #F9F7F2 !important;
}

.pf-v5-c-login__main:has(#kc-social-providers) .pf-v5-c-login__main-footer-band {
  text-align: center !important;
  border: none !important;
}
.pf-v5-c-login__main:has(#kc-social-providers) .pf-v5-c-login__main-footer-band::before {
  content: "" !important;
  display: block !important;
  width: 34px !important;
  height: 3px !important;
  background: #D4AF37 !important;
  border-radius: 2px !important;
  margin: 0 auto 0.9rem auto !important;
}
.pf-v5-c-login__main:has(#kc-social-providers) .pf-v5-c-login__main-footer-band-item {
  color: #F9F7F2 !important;
}
.pf-v5-c-login__main:has(#kc-social-providers) #kc-social-providers {
  margin-top: 0 !important;
}
.pf-v5-c-login__main:has(#kc-social-providers) #kc-social-providers hr {
  display: none !important;
}

@media (max-width: 719.98px) {
  .pf-v5-c-login__main:has(#kc-social-providers) .pf-v5-c-login__main-footer {
    padding: 1.6rem 2rem 1.9rem 2rem !important;
    margin-top: 1.5rem !important;
  }
}


@media (min-width: 720px) {
  .pf-v5-c-login__container:has(#kc-totp-settings) {
    max-width: 50rem !important;
  }
  .pf-v5-c-login__main:has(#kc-totp-settings) {
    width: 48rem !important;
  }
  .pf-v5-c-login__main:has(#kc-totp-settings) .pf-v5-c-login__main-body {
    display: grid !important;
    grid-template-columns: 1fr 1fr;
    grid-template-areas: "alert alert" "steps form";
    column-gap: 2rem;
    row-gap: 0.5rem;
    align-items: start;
  }
  .pf-v5-c-login__main:has(#kc-totp-settings) .pf-v5-c-login__main-body > .pf-v5-c-alert {
    grid-area: alert;
  }
  .pf-v5-c-login__main:has(#kc-totp-settings) #kc-totp-settings {
    grid-area: steps;
    margin: 0 !important;
  }
  .pf-v5-c-login__main:has(#kc-totp-settings) #kc-totp-settings-form {
    grid-area: form;
  }
}


#kc-logout-confirm .instruction {
  margin-bottom: 1.5rem !important;
}
div.pf-v5-c-check { display: block !important; min-height: 0 !important; }
label.pf-v5-c-check { display: flex !important; align-items: center !important; gap: 0.625rem; min-height: 44px; }
.pf-v5-c-check__input { width: 18px !important; height: 18px !important; flex: 0 0 18px; margin: 0 !important; transform: none !important; align-self: center !important; accent-color: #1A2744; }
.pf-v5-c-check__input:focus-visible { outline: 3px solid #1A2744; outline-offset: 2px; }
.pf-v5-c-check__label { margin: 0 !important; }
