/* Generated by tools/keycloak_theme.py from design/branding/bic/college.json. Do not edit. */

/* THE TYPEFACES THE DESIGN NAMES, and a fallback that is not a different design.
   If the webfonts do not load — a blocked network, a first paint — the page falls
   back to a serif for headings and a sans for body, which is the same shape in
   different letters rather than Keycloak's own look. */
@import url("https://fonts.googleapis.com/css2?family=Crimson+Pro:wght@400;600&family=Inter:wght@400;500&display=swap");

:root {
  --college-brand: #184174;
  --college-ink: #342e2e;
  --college-paper: #fbfbfb;
  --college-accent: #cfcdc7;
  --college-rule: #e8e8e8;
  --college-muted: #817a7a;
  --college-heading: "Crimson Pro", Georgia, "Times New Roman", serif;
  --college-body: "Inter", -apple-system, "Segoe UI", Roboto, sans-serif;
}

body,
.pf-v5-c-login,
.pf-v5-c-background-image {
  background: var(--college-paper);
  color: var(--college-ink);
  font-family: var(--college-body);
}

/* THE CREST, ABOVE THE CARD AND NOT INSIDE IT. It is a background rather than an
   <img> because the header's markup belongs to the parent theme: styling it here
   means no template of ours to keep in step when Keycloak's own changes. */
#kc-header,
.pf-v5-c-login__header {
  background: url("../img/mark.png") center top / auto 72px no-repeat;
  padding-top: 88px;
  text-align: center;
}

/* !IMPORTANT, BECAUSE THE PARENT'S IS. keycloak.v2's styles.css sets this colour to
   PatternFly's light-100 (white) with !important, for its own dark backdrop; on the
   college's light page that left the name white on white. Read in Keycloak 26.7,
   25 September 2026. */
#kc-header-wrapper {
  font-family: var(--college-heading);
  font-size: 1.35rem;
  font-weight: 600;
  letter-spacing: 0;
  color: var(--college-brand) !important;
  text-transform: none;
}

h1, h2, h3,
.pf-v5-c-title {
  font-family: var(--college-heading);
  color: var(--college-brand);
  text-transform: none;
}

.pf-v5-c-button.pf-m-primary {
  background: var(--college-brand);
  border-color: var(--college-brand);
  font-family: var(--college-body);
}

.pf-v5-c-button.pf-m-primary:hover,
.pf-v5-c-button.pf-m-primary:focus {
  background: color-mix(in srgb, var(--college-brand) 88%, black);
  border-color: color-mix(in srgb, var(--college-brand) 88%, black);
}

a, .pf-v5-c-button.pf-m-link {
  color: var(--college-brand);
}

.pf-v5-c-form-control {
  border-color: var(--college-rule);
  font-family: var(--college-body);
}

.pf-v5-c-form-control:focus-within {
  border-color: var(--college-brand);
}

/* A WRONG PASSWORD FAILS THE WAY A PRODUCT FAILS: the message keeps the page's own
   type and colour rather than arriving as a coloured system banner. */
.pf-v5-c-alert.pf-m-danger,
.pf-v5-c-alert.pf-m-error {
  font-family: var(--college-body);
  color: var(--college-ink);
}

/* ONE CREDENTIAL FORM AND NOTHING ELSE. Whatever the college signs in against is
   the college's business and not the page's: the block that would name it is removed
   at its source by provision.sh, and this hides one added by hand in the console.
   THE WORDING HERE IS DELIBERATE — a stylesheet is served, and `tests/test_sign_in.py`
   reads this file for the terms UI-14 deletes. It failed on this very comment. */
#kc-social-providers,
.pf-v5-c-login__main-footer-band {
  display: none;
}
