:root{--color-primary: #455465;--color-secondary: #007ab8;--color-tertiary: #1ea4a9;--color-state: #0074be;--color-state-hover: #006ab4;--color-state-focus: #006ab4;--color-state-active: #0059a3;--color-state-highlight: #f6f9d7;--color-state-highlight-neutral: var(--color-neutral-3);--color-state-disabled: var(--color-neutral-5);--color-neutral-1: #fff;--color-neutral-2: #fafafa;--color-neutral-3: #f7f7f7;--color-neutral-4: #e6e4e4;--color-neutral-5: #c7c7c7;--color-neutral-6: #767676;--color-neutral-7: #262626;--color-background: var(--color-neutral-1);--color-border: var(--color-neutral-5);--color-text: var(--color-neutral-7);--color-text-disabled: var(--color-neutral-5);--color-text-hint: var(--color-neutral-6);--link-color: var(--color-state);--link-color-hover: var(--color-state-hover);--nav-bg-color: #fafafa;--nav-text-color: var(--color-text);--nav-selected-color: var(--color-state);--nav-border-colour: rgba(128, 128, 128, 0.2);--nav-width: 15rem;--nav-collapsed-width: 5rem;--nav-button-size: 1.25rem;--nav-logo-width: 7.5rem;--nav-logo-height: 7.5rem;--nav-logomark-width: 2.5rem;--nav-logomark-height: 2.5rem;--footer-bg-color: #fff;--footer-text-color: var(--color-text);--footer-text-color-hover: var(--footer-text-color);--btn-accent-color: var(--color-state);--btn-accent-color-active: var(--color-state-active);--btn-accent-color-hover: var(--color-state-hover);--btn-accent-color-disabled: var(--color-state-disabled);--page-content-padding-desktop: calc(var(--gap-base) * 8)}.tui-theme_inspire-navItem{--tui-theme_inspire-navItem-height: 2.75rem;--tui-theme_inspire-navItem-indicator-height: 2rem;--tui-theme_inspire-navItem-top-level-nav-item-padding: 10px;--tui-theme_inspire-navItem-nav-item-padding: 6px;display:flex;flex-grow:1;flex-wrap:wrap;height:var(--tui-theme_inspire-navItem-height);padding-top:calc(var(--gap-base) * 1);color:var(--nav-tab-text-color)}.tui-theme_inspire-navItem--navExpanded{height:100%}.tui-theme_inspire-navItem__icon{width:1.2em;height:1.2em;margin:auto}.tui-theme_inspire-navItem__icon--navExpanded{margin:calc(var(--gap-base) * 3) auto auto calc(var(--gap-base) * 3)}.tui-theme_inspire-navItem .tui-theme_inspire-navItem{padding-top:0}.tui-theme_inspire-navItem--selected{color:var(--nav-selected-color)}.tui-theme_inspire-navItem--selected:before{height:var(--tui-theme_inspire-navItem-indicator-height);margin-top:calc(var(--gap-base) * 1);border-right:calc(var(--gap-base) * 1) solid var(--nav-selected-color);border-top-right-radius:calc(var(--gap-base) * 1);border-bottom-right-radius:calc(var(--gap-base) * 1);content:""}.tui-theme_inspire-navItem .tui-theme_inspire-navItem--selected:before{margin-top:0}.tui-theme_inspire-navItem--link{flex-wrap:nowrap}.tui-theme_inspire-navItem__heading{display:flex;flex-grow:1;align-items:flex-start;padding:0;background-color:inherit;border:none;border-radius:var(--btn-radius)}.tui-theme_inspire-navItem__heading--childSelected{color:var(--nav-selected-color)}.tui-theme_inspire-navItem__heading--depth-0{margin-left:calc(var(--gap-base) * 5);font-weight:600}.tui-theme_inspire-navItem__heading--depth-0.tui-theme_inspire-navItem__heading--navExpanded{margin-left:calc(var(--gap-base) * 3)}.tui-theme_inspire-navItem__heading--depth-0.tui-theme_inspire-navItem__heading--selected{margin-left:calc(var(--gap-base) * 4)}.tui-theme_inspire-navItem__heading--depth-0.tui-theme_inspire-navItem__heading--selected.tui-theme_inspire-navItem__heading--navExpanded{margin-left:calc(var(--gap-base) * 2)}.tui-theme_inspire-navItem__heading--depth-0 .tui-theme_inspire-navItem__headingAction{margin:calc(var(--gap-base) * 2)}.tui-theme_inspire-navItem__heading--depth-1{margin-left:calc(var(--gap-base) * 10);font-weight:400}.tui-theme_inspire-navItem__heading--depth-1.tui-theme_inspire-navItem__heading--selected{margin-left:calc(var(--gap-base) * 9)}.tui-theme_inspire-navItem__heading--depth-2{margin-left:calc(var(--gap-base) * 13)}.tui-theme_inspire-navItem__heading--depth-2.tui-theme_inspire-navItem__heading--selected{margin-left:calc(var(--gap-base) * 12)}.tui-theme_inspire-navItem__heading--link{color:var(--nav-tab-text-color)}.tui-theme_inspire-navItem__heading--link:hover,.tui-theme_inspire-navItem__heading--link:focus{color:var(--nav-tab-text-color);text-decoration:none}.tui-theme_inspire-navItem__heading--link.tui-theme_inspire-navItem__heading--selected{color:var(--nav-selected-color)}@media (hover:hover){.tui-theme_inspire-navItem__heading:hover{background-color:color-mix(in srgb, var(--nav-tab-text-color) 10%, transparent)}}.tui-theme_inspire-navItem__heading:focus-visible{outline:2px solid var(--nav-tab-text-color)}.tui-theme_inspire-navItem__headingText{flex-grow:1;margin:auto;padding:var(--tui-theme_inspire-navItem-nav-item-padding) calc(var(--gap-base) * 1) var(--tui-theme_inspire-navItem-nav-item-padding) calc(var(--gap-base) * 3);text-align:left;overflow-wrap:anywhere;-webkit-hyphens:auto;hyphens:auto}.tui-theme_inspire-navItem__headingText--depth-0{padding:var(--tui-theme_inspire-navItem-top-level-nav-item-padding) calc(var(--gap-base) * 1) var(--tui-theme_inspire-navItem-top-level-nav-item-padding) calc(var(--gap-base) * 3)}.tui-theme_inspire-navItem__headingAction{flex-basis:1.5rem;flex-shrink:0;height:1.5rem;margin:calc(var(--gap-base) * 1) calc(var(--gap-base) * 2);padding:var(--tui-theme_inspire-navItem-nav-item-padding);color:var(--nav-tab-text-color)}.tui-theme_inspire-navItem__children{flex-basis:100%;margin-bottom:calc(var(--gap-base) * 2);margin-left:0;list-style:none}.tui-theme_inspire-navigation__toggle{position:absolute;z-index:1;width:var(--nav-button-size);height:var(--nav-button-size);margin:calc(var(--gap-base) * 4);color:var(--color-text)}.tui-theme_inspire-navigation__toggle--overlay{display:block}.tui-theme_inspire-navigation__toggle--expand{display:none}@media (min-width:992px){.tui-theme_inspire-navigation__toggle{left:var(--nav-collapsed-width);margin-left:calc(var(--gap-base) * 5)}.tui-theme_inspire-navigation__toggle--overlay{display:none}.tui-theme_inspire-navigation__toggle--expand{display:block}.tui-theme_inspire-navigation__toggle--navExpanded{left:var(--nav-width)}}.tui-theme_inspire-navigation__toggle--navHidden{left:0}.tui-theme_inspire-navigation{position:relative;z-index:var(--zindex-navbar);display:none;flex-direction:column;overflow:visible}@media (min-width:992px){.tui-theme_inspire-navigation{display:flex;width:var(--nav-collapsed-width)}}.tui-theme_inspire-navigation .tui-theme_inspire-navigation__nav{position:fixed;display:flex;flex-direction:column;width:var(--nav-collapsed-width);height:100%;background-color:var(--nav-bg-color);border-right:1px inset var(--nav-border-colour)}.tui-theme_inspire-navigation .tui-theme_inspire-navigation__heading{margin:auto;border-bottom:1px inset var(--nav-border-colour)}.tui-theme_inspire-navigation .tui-theme_inspire-navigation__headingLogo{max-width:var(--nav-logomark-width);max-height:var(--nav-logomark-height);margin:calc(var(--gap-base) * 8) 0}.tui-theme_inspire-navigation .tui-theme_inspire-navigation__collapse{float:right;width:var(--nav-button-size);height:var(--nav-button-size);margin-top:calc(var(--gap-base) * 4);margin-right:calc(var(--gap-base) * -3);color:var(--nav-tab-text-color)}.tui-theme_inspire-navigation .tui-theme_inspire-navigation__collapse:focus-visible{outline:2px solid var(--nav-tab-text-color)}.tui-theme_inspire-navigation .tui-theme_inspire-navigation__items{display:flex;flex-direction:column;gap:calc(var(--gap-base) * 1);height:100%;margin:0;padding:calc(var(--gap-base) * 5) calc(var(--gap-base) * 5) calc(var(--gap-base) * 5) 0;overflow-y:auto;list-style:none}.tui-theme_inspire-navigation--overlaid{position:fixed;z-index:var(--zindex-nav-overlay);display:flex;width:var(--nav-width)}@media (min-width:992px){.tui-theme_inspire-navigation--overlaid{position:relative;width:var(--nav-collapsed-width)}}.tui-theme_inspire-navigation--overlaid .tui-theme_inspire-navigation__nav{width:var(--nav-width)}.tui-theme_inspire-navigation--overlaid .tui-theme_inspire-navigation__heading{margin:0 calc(var(--gap-base) * 6)}.tui-theme_inspire-navigation--overlaid .tui-theme_inspire-navigation__headingLogo{max-width:var(--nav-logo-width);max-height:var(--nav-logo-height)}.tui-theme_inspire-navigation--overlaid .tui-theme_inspire-navigation__items{padding:calc(var(--gap-base) * 5) calc(var(--gap-base) * 3) calc(var(--gap-base) * 5) 0}.tui-theme_inspire-navigation--desktopExpanded{display:none}@media (min-width:992px){.tui-theme_inspire-navigation--desktopExpanded{display:flex;width:var(--nav-width)}.tui-theme_inspire-navigation--desktopExpanded .tui-theme_inspire-navigation__nav{width:var(--nav-width)}.tui-theme_inspire-navigation--desktopExpanded .tui-theme_inspire-navigation__heading{margin:0 calc(var(--gap-base) * 6)}.tui-theme_inspire-navigation--desktopExpanded .tui-theme_inspire-navigation__headingLogo{max-width:var(--nav-logo-width);max-height:var(--nav-logo-height)}.tui-theme_inspire-navigation--desktopExpanded .tui-theme_inspire-navigation__items{padding:calc(var(--gap-base) * 5) calc(var(--gap-base) * 3) calc(var(--gap-base) * 5) 0}}.tui-theme_inspire-navigation--hidden{display:none}.tui-settingsFormBrand__testEmailInfoButton{align-self:center}.tui-themeSettings__content{margin-top:var(--gap-8)}.tui-themeSettings__forms>*+*{margin-top:var(--gap-8)}:root{--nav-bg-color: #007ae5;--nav-text-color: #F4F4E0;--nav-selected-color: #F4F4E0;--color-primary: #393d47;--btn-accent-color: #007ae5;--link-color: #007ae5;--color-state: #007ae5;--color-text: #62687a;--footer-bg-color: #ffffff;--footer-text-color: #393d47;--btn-accent-color-hover: #0070db;--btn-accent-color-active: #005fca;--link-color-hover: #0070db;--color-state-hover: #0070db;--color-state-focus: #0070db;--color-state-active: #005fca;--footer-text-color-hover: #2f333d;}
/* ============================================================
   Lift — Custom Totara Styling
   Sections:
     1. Design Tokens (CSS variables)
     2. Base & Typography
     3. Layout (page, body, scrollbar)
     4. Navigation
     5. Login Page
     6. Dashboard Tiles
     7. Report Builder Tables (sticky headers/columns)
     8. Footer (3-layer banded design)
     9. Custom Lift Components (button, cards, hero)
   ============================================================ */


/* ============================================================
   1. DESIGN TOKENS
   ============================================================ */
:root {
    --brand-blue: #007ae5;
    --brand-dark-blue: #083E6F;
    --brand-orange: #EB6110;
    --lift-grey: #AFB2B3;
}


/* ============================================================
   2. BASE & TYPOGRAPHY
   Inter is the primary brand font; !important is required to
   override Totara's theme defaults.
   ============================================================ */
body,
p,
h1,
h2,
h3,
h4,
h5,
h6 {
    font-family: "Inter", Arial, sans-serif !important;
    font-weight: 300;
}

h1,
h2,
h3,
h4,
h5,
h6,
.tui-theme_inspire-navItem__headingText {
    text-transform: capitalize;
    font-size: 1.05rem;
    font-weight: 300;
}

.tui-pageHeading__title {
    font-weight: 300;
}

/* Hide the "last modified" timestamp shown on activity views */
.tui-format_pathway-activityView__activityContent .modified,
.modified {
    display: none;
}

/* Hide the page heading text */
.page-heading h1 {
    display: none;
}


/* ============================================================
   3. LAYOUT
   ============================================================ */

/* Force scrollbar always-visible so page width doesn't jump
   when content changes height */
body {
    overflow-y: scroll;
}

#page {
    padding-bottom: 30px;
}


/* ============================================================
   4. NAVIGATION
   ============================================================ */

/* Constrain the desktop nav logo size */
.tui-theme_inspire-navigation--desktopExpanded .tui-theme_inspire-navigation__headingLogo {
    max-width: 10rem;
}

/* Divider beneath the nav heading area */
.tui-theme_inspire-navigation .tui-theme_inspire-navigation__heading {
    border-bottom: 1px solid rgba(255, 255, 255, 0.3);
}

/* User toolbar — match footer styling so it reads as a footer band */
.userToolbar {
    border-bottom: 1px solid var(--color-neutral-4);
    background: var(--footer-bg-color);
}


/* ============================================================
   5. LOGIN PAGE
   ============================================================ */

/* Resize the login screen logo */
.tui-core_auth-loginNav__image {
    height: 2.2rem;
}

/* Hide redundant login labels (login panel headings, IDP heading,
   signup heading) — the layout reads cleaner without them */
.loginpanel,
.potentialidps h6,
.signuppanel h2 {
    display: none;
}

#page-login-index .page-layout {
    background: #fafafa;
}


/* ============================================================
   6. DASHBOARD TILES
   Subtle hover/focus state on the "Current Learning" tiles.
   ============================================================ */
.block_current_learning-tile,
.tui-theme_inspire-menuOption__heading {
    transition: background 0.3s;
}

.block_current_learning-tile:hover,
.block_current_learning-tile:focus-within {
    box-shadow: none;
    background: #eeeeee;
}


/* ============================================================
   7. REPORT BUILDER TABLES
   Sticky-header + sticky-first-column pattern for the module &
   program completion reports. Z-index stacking matters here:
     - Body cells in column 0: z-index 2
     - Header row (thead th): z-index 10
     - Top-left corner (thead th.c0): z-index 11 (must sit above both)
   ============================================================ */

/* Allow the report container to grow up to the viewport height
   so the sticky header/column work within a scrollable area */
div.box.nobox.rb-display-table-container.no-overflow,
div.box.nobox.rb-display-table-container.no-overflow.embeddedshortname_module_completion_advanced,
div.box.nobox.rb-display-table-container.no-overflow.embeddedshortname_program_completion_advanced {
    max-height: 100vh;
}

/* Sticky top header row */
table[data-source="rb_source_module_completion_advanced"] thead th,
table[data-source="rb_source_program_completion_advanced"] thead th {
    position: sticky;
    top: 0;
    background-color: #f9f9f9;
    z-index: 10;
}

/* Sticky first column (applies to both th and td via .c0) */
table[data-source="rb_source_module_completion_advanced"] .c0,
table[data-source="rb_source_program_completion_advanced"] .c0 {
    position: sticky;
    left: 0;
    background-color: #f9f9f9;
    z-index: 2;
    border-right: 1px solid #ddd;
}

/* Top-left corner cell must sit above both the sticky header
   and the sticky column when scrolling diagonally */
thead th.c0 {
    z-index: 11 !important;
}

.reportbuilder-table .header {
    min-width: 5em;
}

.box.nobox.rb-display-table-container.no-overflow .totara-table-container {
    width: fit-content;
}

/* Keep the table toolbar aligned to the left edge while scrolling */
.totara-table-container .toolbar-right-table {
    float: left;
    position: sticky;
    left: 0;
}


/* ============================================================
   8. FOOTER
   Three visual layers stacked at the page bottom:
     Layer 1 (back): dark blue   — #page-footer
     Layer 2 (mid):  light blue  — .page-footer-main-content
     Layer 3 (front): orange stripe — #page-footer::after
   The dark-blue layer shows through via the margin-bottom on
   the light-blue content block.
   ============================================================ */

/* Layer 1: outer wrapper */
#page-footer {
    padding: 0;
    margin: 0;
    background-color: var(--brand-dark-blue);
    position: relative;
    z-index: 2;
}

#page-footer .container-fluid {
    padding: 0;
    margin: 0;
    max-width: 100%;
}

/* Layer 2: main content block (light blue band) */
.page-footer-main-content {
    background-color: var(--brand-blue);
    padding: 16px 24px;
    margin: 0 0 24px 0;
    /* bottom gap reveals dark-blue layer 1 */
}

.page-footer-main-content .footnote {
    color: #ffffff;
    font-size: 0.85rem;
    opacity: 0.85;
}

/* Layer 3: orange accent stripe pinned to bottom */
#page-footer::after {
    content: '';
    display: block;
    width: 100%;
    height: 8px;
    background-color: var(--brand-orange);
}

/* Hide "Powered by Totara" branding */
.page-footer-poweredby,
.tui-core_auth-footer__poweredBy {
    display: none;
}


/* ============================================================
   9. CUSTOM LIFT COMPONENTS
   ============================================================ */

/* ---- Lift Button ----
   White pill button with a thin orange edge on the left. On
   hover the orange wipes across the button (::before scaleX)
   while the text turns white. */
.lift-btn {
    background: #ffffff;
    color: var(--brand-blue) !important;
    text-decoration: none !important;
    font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
    font-size: clamp(12px, 1.5vw, 14px);
    font-weight: 600;
    padding: 10px 20px;
    border-radius: 50px;
    border: 2px solid var(--brand-blue);
    display: inline-block;
    position: relative;
    overflow: hidden;
    isolation: isolate;
    transition: transform 0.1s ease, color 0.15s ease;
    min-width: clamp(100px, 15vw, 160px);
    text-align: center;
}

/* Icon sitting before the button label — inherits the button's
   current text color via stroke="currentColor", so it flips to
   white on hover along with the text */
.lift-btn .lift-icon {
    width: 16px;
    height: 16px;
    margin-right: 8px;
    vertical-align: -0.18em;
}

/* Static orange edge sitting behind the button at the left */
.lift-btn::after {
    content: '';
    position: absolute;
    left: 0;
    top: 0;
    width: 6px;
    height: 100%;
    background: var(--brand-blue);
    z-index: -1;
}

/* Hover-wipe layer — scales from 0 to full width on hover */
.lift-btn::before {
    content: '';
    position: absolute;
    inset: 0;
    background: var(--brand-blue);
    transform: scaleX(0);
    transform-origin: left;
    transition: transform 0.25s ease;
    z-index: -1;
}

.lift-btn:hover::before {
    transform: scaleX(1);
}

.lift-btn:hover {
    transform: translateY(-2px);
    text-decoration: none !important;
    color: #ffffff !important;
}

/* ---- Lift Button (Fade variant) ----
   Same pill shape and orange edge as .lift-btn, but instead of the
   ::before swipe it fades its whole background from white to blue on
   hover. The swipe layer is disabled and the base background itself
   is transitioned. */
.lift-btn--fade {
    background: #ffffff;
    transition: transform 0.1s ease, color 0.25s ease, background-color 0.25s ease;
}

/* Neutralise the swipe layer inherited from .lift-btn */
.lift-btn--fade::before {
    display: none;
}

/* Drop the static left edge — only on the fade variant */
.lift-btn--fade::after {
    display: none;
}

.lift-btn--fade:hover {
    background-color: var(--brand-blue);
}


/* ---- Card Row ---- */
.lift-card-row {
    display: flex;
    justify-content: center;
    gap: 80px;
    flex-wrap: wrap;
    margin-bottom: 40px;
}

/* ---- Card ----
   Horizontal card: dark-blue accent bar on the left, title +
   blurb + button on the right. */
.lift-card {
    background: #ffffff;
    border: 2px solid var(--brand-blue);
    border-radius: 12px;
    display: flex;
    flex-direction: row;
    overflow: hidden;
    width: clamp(200px, 28%, 280px);
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06);
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.lift-card:hover {
    transform: translateY(-3px);
    box-shadow: 0 6px 16px rgba(0, 0, 0, 0.12);
}

.lift-card-accent {
    width: 6px;
    background-color: var(--brand-dark-blue);
    flex-shrink: 0;
}

.lift-card-body {
    padding: 16px 20px;
    display: flex;
    flex-direction: column;
    gap: 8px;
    flex: 1;
}

.lift-card-title {
    font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
    font-size: 15px;
    font-weight: 700;
    color: var(--brand-blue);
}

.lift-card-blurb {
    font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
    font-size: 13px;
    color: #555555;
    flex: 1;
}

/* Buttons inside cards are smaller than nav-level lift buttons */
.lift-card .lift-btn {
    min-width: 80px;
    font-size: 13px;
    padding: 8px 16px;
    align-self: flex-start;
}

/* ---- Long Card Pill ----
   Full-width variant of .lift-card. The body switches to a row
   layout so title/blurb sit on the left and the button sits
   vertically centered on the right. */
.lift-card--long {
    width: 100%;
    max-width: none;
}

.lift-card--long .lift-card-body {
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
}

.lift-card--long .lift-card-text {
    display: flex;
    flex-direction: column;
    gap: 8px;
    flex: 1;
    min-width: 0;
}

.lift-card--long .lift-btn {
    align-self: center;
    flex-shrink: 0;
}


/* ---- Hero Banner ----
   Full-width rounded blue bar that hosts a centered logo link. */
.lift-hero {
    background: var(--brand-blue);
    border-radius: 75px;
    width: 100%;
    box-sizing: border-box;
    height: 100px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 5%;
}

.lift-hero-link {
    height: 65%;
    display: flex;
    align-items: center;
}

.lift-hero-logo {
    height: 100%;
    display: inline-block;
}


/* ============================================================
   10. JOBY HERO BANNER ("Tim style")
   White card with a brand-colored accent band across the top,
   a welcome/greeting block, and a row of action buttons.
   Markup lives in TimStyle.html.
   ============================================================ */

/* Outer white card */
.joby-banner-wrapper {
    box-sizing: border-box;
    font-family: 'Inter', sans-serif;
    background-color: #ffffff;
    border: 2px solid var(--lift-grey);
    border-radius: 8px;
    padding: 32px;
    position: relative;
    overflow: hidden;
    margin-bottom: 16px;
}

/* Accent band pinned across the top edge */
.joby-banner-accent {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 4px;
    display: flex;
}

/* Equal-width color stripes; colors map to brand order */
.joby-banner-accent__stripe {
    flex: 1;
}

.joby-banner-accent__stripe:nth-child(1) {
    background-color: var(--brand-blue);
}

.joby-banner-accent__stripe:nth-child(2) {
    background-color: var(--brand-dark-blue);
}

.joby-banner-accent__stripe:nth-child(3) {
    background-color: var(--brand-orange);
}

/* Vertical layout for the banner contents */
.joby-banner-flex {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    align-items: flex-start;
    gap: 24px;
}

.joby-banner-welcome {
    flex: 1;
}

/* Row holding the pill badge + time-based greeting */
.joby-banner-badge-row {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 12px;
    flex-wrap: wrap;
}

/* Orange uppercase pill badge */
.joby-banner-badge {
    background-color: var(--brand-orange);
    color: #ffffff;
    padding: 3px 10px;
    border-radius: 9999px;
    font-size: 12px;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: 0.15em;
}

/* "Good morning, <name>" greeting (text set by inline script) */
#joby-time-greeting,
.joby-banner-greeting {
    color: var(--lift-grey);
    font-weight: 800;
    font-size: 20px;
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

.joby-banner-title {
    color: var(--brand-dark-blue);
    /* !important needed: this file's base h1 rules and Totara's theme
       both force a lighter weight/size that a single class can't beat */
    font-size: 52px !important;
    font-weight: 900 !important;
    margin: 0 0 8px 0;
    letter-spacing: -0.05em;
    line-height: 0.95;
}

.joby-banner-tagline {
    color: var(--lift-grey);
    font-size: 14px;
    font-weight: 500;
    margin: 0;
    line-height: 1.5;
}

/* Reserved button container (currently empty in markup) */
.button-deck {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    align-self: stretch;
    justify-content: flex-start;
}

/* Row of Guide / Contact action buttons */
.joby-banner-actions .lift-btn {
    margin-right: 50px;
}
