/* Infinit — generated from tokens.json. Branch = data-theme on <html>: step (default) | sen | maximus | infinit */

@font-face { font-family: Infinit; font-style: normal; font-weight: 400; font-display: swap; src: url("fonts/Infinit-Regular.woff") format("woff"); }
@font-face { font-family: Soleil; font-style: normal; font-weight: 300; font-display: swap; src: url("fonts/Soleil-Light.woff2") format("woff2"); }
@font-face { font-family: Soleil; font-style: normal; font-weight: 500; font-display: swap; src: url("fonts/Soleil-Book.woff2") format("woff2"); }
@font-face { font-family: Soleil; font-style: normal; font-weight: 700; font-display: swap; src: url("fonts/Soleil-Bold.woff2") format("woff2"); }

:root, [data-theme="step"] {
  --brand: #6085b2;
  --brand-hover: #7097d1;
  --on-brand-hover: #ffffff;
  --btn-hover-border: #ffffff;
  --on-brand: #ffffff;
  --logo-ink: #6e98d3;
  --nav-cta: #88d6d1;
  --surface: #ffffff;
  --surface-muted: #f5f5f5;
  --surface-form: #f0f0f0;
  --input-bg: #fafafa;
  --table-row: #f1f1f3;
  --line: #e4e4e4;
  --line-search: #d6d6d6;
  --ink: #58595b;
  --ink-strong: #4d4d4d;
  --ink-nav: #565658;
  --ink-black: #272727;
  --ink-focus: #2b2723;
  --ink-muted: #7e7e7e;
  --timetable-head: #4a4a48;
  --footer-bg: #323132;
  --footer-heading: #4e4e4e;
  --gold: #96744e;
  --stone: #e7e8e3;
  --sand: #f6efe2;
  --beige: #f3ede2;
  --beige-ink: #6d6b66;
  --btn-primary-bg: var(--stone);
  --btn-primary-ink: var(--gold);
  --btn-primary-hover-bg: var(--gold);
  --btn-primary-hover-ink: var(--stone);
  --overlay-image: rgba(88, 89, 91, 0.26);
  --overlay-card: rgba(88, 89, 91, 0.4);
  --overlay-search: rgba(0, 0, 0, 0.3);
  --highlight-inverse: rgba(255, 255, 255, 0.2);
  --btn-inverse-hover-bg: rgba(255, 255, 255, 0.81);
  --btn-inverse-hover-ink: var(--brand);
  --table-line-tint: rgba(103, 154, 202, 0.3);
  --signal-red: #ff0000;
  --capacity-0: #ffffff;
  --capacity-1: #4e9555;
  --capacity-2: #67a964;
  --capacity-3: #9fc855;
  --capacity-4: #cedd7a;
  --capacity-5: #fbea78;
  --capacity-6: #f7cf72;
  --capacity-7: #f3b46b;
  --capacity-8: #ed7e5b;
  --capacity-9: #ec6655;
  --capacity-10: #e93f49;
  --capacity-11: #e43142;
  --capacity-12: #bc2738;
}

[data-theme="sen"] {
  --brand: #5e768b;
  --brand-hover: #8a9dad;
  --on-brand-hover: #ffffff;
  --btn-hover-border: #ffffff;
  --logo-ink: #5e768b;
  --nav-cta: #8a9dad;
  --surface-form: #f0f0f0;
  --btn-primary-bg: #ffffff;
  --btn-primary-ink: #ffffff;
  --btn-primary-hover-bg: var(--gold);
  --btn-primary-hover-ink: #e7e8e3;
  --btn-inverse-hover-ink: #000000;
}

[data-theme="maximus"] {
  --brand: #379388;
  --brand-hover: #41aaa0;
  --on-brand-hover: #ffffff;
  --btn-hover-border: #ffffff;
  --logo-ink: #3aa99f;
  --nav-cta: #41aaa0;
  --surface-form: #f0f0f0;
  --btn-primary-bg: var(--stone);
  --btn-primary-ink: var(--gold);
  --btn-primary-hover-bg: var(--gold);
  --btn-primary-hover-ink: var(--stone);
  --btn-inverse-hover-ink: var(--ink);
}

[data-theme="infinit"] {
  --brand: #58595b;
  --brand-hover: #f3ede2;
  --on-brand-hover: #58595b;
  --btn-hover-border: #58595b;
  --logo-ink: #59595c;
  --nav-cta: var(--brand);
  --surface-form: #f5f5f5;
  --btn-primary-bg: var(--beige);
  --btn-primary-ink: var(--beige-ink);
  --btn-primary-hover-bg: var(--beige);
  --btn-primary-hover-ink: var(--beige-ink);
  --btn-inverse-hover-ink: var(--ink);
}

:root {
  --space-container-gap: 10px;
  --space-input: 12px;
  --space-block: 14px;
  --space-accordion: 10px;
  --space-gutter: 20px;
  --space-box: 30px;
  --space-section: 50px;
  --space-section-default: 70px;
  --space-button-y: 1em;
  --space-button-x: 3.2em;
  --space-nav-x: 14px;
  --radius-none: 0px;
  --radius-checkbox: 3px;
  --radius-round: 50%;
  --shadow-accordion: 0 3px 6px rgba(0, 0, 0, 0.12);
  --shadow-menu: 0 3px 2px 0 rgba(100, 100, 100, 0.2);
  --shadow-map: 0 0 20px rgba(0, 0, 0, 0.18);
  --shadow-video: 0 0 64px rgba(0, 0, 0, 0.24);
  --page-max-width: 1360px;
  --box-max-width: 1160px;
  --header-height: 89px;
  --border-width: 1px;
  --underline-height: 2px;
  --font-display: "Infinit", sans-serif;
  --font-sans: "Soleil", sans-serif;
}

.type-h1-hero { font-family: var(--font-display); font-size: 163px; line-height: 0.9; font-weight: 400; letter-spacing: 0px; }
.type-h1-large { font-family: var(--font-display); font-size: 125px; line-height: 0.9; font-weight: 400; letter-spacing: 0px; }
.type-h3 { font-family: var(--font-display); font-size: 36px; line-height: 1.1; font-weight: 400; letter-spacing: 0px; }
.type-h3-large { font-family: var(--font-display); font-size: 43px; line-height: 1.1; font-weight: 400; letter-spacing: 0px; }
.type-h2 { font-family: var(--font-sans); font-size: 31px; line-height: 1.5; font-weight: 300; letter-spacing: 0px; }
.type-h2-large { font-family: var(--font-sans); font-size: 37px; line-height: 1.5; font-weight: 300; letter-spacing: 0px; }
.type-lead { font-family: var(--font-sans); font-size: 27px; line-height: 1.6; font-weight: 300; letter-spacing: 0px; }
.type-card-title { font-family: var(--font-sans); font-size: 20.7px; line-height: 1.1; font-weight: 300; letter-spacing: 0px; }
.type-image-caption { font-family: var(--font-sans); font-size: 20px; line-height: 1.4; font-weight: 300; letter-spacing: 0px; }
.type-body { font-family: var(--font-sans); font-size: 18px; line-height: 1.6; font-weight: 300; letter-spacing: 0px; }
.type-body-base { font-family: var(--font-sans); font-size: 16px; line-height: 1.75; font-weight: 300; letter-spacing: 0px; }
.type-nav { font-family: var(--font-sans); font-size: 16px; line-height: 1.4; font-weight: 300; letter-spacing: 0px; }
.type-footer { font-family: var(--font-sans); font-size: 15px; line-height: 1.75; font-weight: 300; letter-spacing: 0px; }
.type-meta { font-family: var(--font-sans); font-size: 14px; line-height: 1.65; font-weight: 300; letter-spacing: 2.8px; }
.type-small-tracked { font-family: var(--font-sans); font-size: 14px; line-height: 1.6; font-weight: 300; letter-spacing: 0.2em; }
.type-fine-print { font-family: var(--font-sans); font-size: 12px; line-height: 1.65; font-weight: 300; letter-spacing: 0px; }
.type-h4-eyebrow { font-family: var(--font-sans); font-size: 14px; line-height: 1.3; font-weight: 700; letter-spacing: 2.8px; text-transform: uppercase; }
.type-button { font-family: var(--font-sans); font-size: 14px; line-height: 1.75; font-weight: 300; letter-spacing: 2.8px; text-transform: uppercase; }
.type-field-label { font-family: var(--font-sans); font-size: 16px; line-height: 1.5; font-weight: 700; letter-spacing: 0.2em; text-transform: uppercase; }
