/*
 * Absorb LMS -- Ashby Job Board Injected Stylesheet
 * Branded override for the embedded Ashby job board iframe.
 */

/* Font Imports: Nunito (body) and Montserrat (headings), variable-weight WOFF2 from the Absorb CDN */

@font-face {
  font-family: 'nunito';
  src: url("https://cdn.prod.website-files.com/67e5b0da600dc9b00112eac4/6893738dd2140f6228677b6e_7309757df749b7b5f437061721a1bada_nunito-latin-variable-wghtOnly-normal.woff2")
    format("woff2");
  font-weight: 200 1000;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'nunito';
  src: url("https://cdn.prod.website-files.com/67e5b0da600dc9b00112eac4/68f7fb9bc31665564f20752b_nunito-italic-latin.woff2")
    format("woff2");
  font-weight: 200 1000;
  font-style: italic;
  font-display: swap;
}

@font-face {
  font-family: 'montserrat';
  src: url("https://cdn.prod.website-files.com/67e5b0da600dc9b00112eac4/6893738dd2140f6228677b6f_e0ff79fad64a61b371cd44f2d872cee7_montserrat-latin-variable-wghtOnly-normal.woff2")
    format("woff2");
  font-weight: 100 900;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'montserrat';
  src: url("https://cdn.prod.website-files.com/67e5b0da600dc9b00112eac4/68f7fbc528478e374e0599f3_montserrat-italic-latin.woff2")
    format("woff2");
  font-weight: 100 900;
  font-style: italic;
  font-display: swap;
}

:root {
  /* Absorb custom variables */
  --page--inner-page-max-width: 1180px;
  --page--outer-page-max-width: 1440px;
  --typography--font-family--font-family-body: nunito, Arial, sans-serif;
  --typography--font-family--font-family-headers: montserrat, Arial, sans-serif;
  --typography--font-family--font-family-system: system-ui;
  --typography--font-family--font-family-input: var(--typography--font-family--font-family-body), var(--typography--font-family--font-family-system);
  --typography--font-family--font-family-monospace: Menlo, Consolas, monospace;
  --padding--none: 0px;
  --padding--padding-xxs: 4px;
  --padding--padding-xs: 8px;
  --padding--padding-default: 16px;
  --padding--padding-md: 20px;
  --padding--padding-lg: 24px;
  --padding--padding-xl: 32px;
  --padding--padding-2xl: 40px;
  --padding--padding-3xl: 64px;
  --padding--padding-4xl: 80px;
  --padding--padding-5xl: 128px;
  --_form-control-sizes---input-padding-horizontal-default: 14px;
  --_component-sizes---header--header-height: 72px;
  --_form-control-sizes---input-padding-left: var(--_form-control-sizes---input-padding-horizontal-default);
  --_component-sizes---header--header-max-width: 1440px;
  --_form-control-sizes---input-padding-right: var(--_form-control-sizes---input-padding-horizontal-default);
  --_component-sizes---header--header-primary-nav-link-height: 100%;
  --_form-control-sizes---min-label-padding-left: var(--_form-control-sizes---input-padding-left);
  --_component-sizes---error-bubble--tip-width: 16px;
  --_component-sizes---error-bubble--tip-height: 9px;
  --_component-sizes---error-bubble--tip-inset: 45px;
  --_component-sizes---error-bubble--border-width: 1px;
  --_component-sizes---error-bubble--padding-h: var(--padding--padding-default);
  --_component-sizes---error-bubble--padding-v: var(--padding--padding-xxs);
  --_component-sizes---error-bubble--border-radius: var(--borders--border-radius-lg);
  --_component-sizes---error-bubble--error-font-size: var(--typography--font-size--font-size-default);
  --_component-sizes---error-bubble--error-font-weight: var(--typography--font-weight--font-weight-regular);
  --_component-sizes---error-bubble--error-line-height: var(--typography--line-height--line-height-xl);
  --_component-sizes---forms--form-well-inset-padding: 40px;
  --_form-control-sizes---min-label-padding-right: var(--_form-control-sizes---input-padding-right);
  --_component-sizes---articles--article-body-max-width: 780px;
  --_form-control-sizes---max-label-padding-left: var(--_form-control-sizes---input-padding-left);
  --_component-sizes---articles--resource-hero-max-width: 980px;
  --_form-control-sizes---max-label-padding-right: var(--_form-control-sizes---input-padding-right);
  --_component-sizes---articles--resource-hero-copy-max-width: 580px;
  --_colors---colors-semantic-tokens--text-primary: var(--_colors---colors-core--neutral--neutral-400);
  --_colors---colors-semantic-tokens--text-secondary: var(--_colors---colors-core--blue--blue-700);
  --_colors---colors-semantic-tokens--text-highlight: var(--_colors---colors-core--pink--pink-200);
  --_colors---colors-semantic-tokens--button: var(--_colors---colors-core--blue--blue-700);
  --_colors---colors-semantic-tokens--button-hover: var(--_colors---colors-core--blue--blue-600);
  --_colors---colors-semantic-tokens--button-pressed: var(--_colors---colors-core--blue--blue-800);
  --_colors---colors-semantic-tokens--button-text: var(--_colors---colors-core--white--white-100);
  --_colors---colors-semantic-tokens--button-prominent: var(--_colors---colors-support--yellow--yellow-200);
  --_colors---colors-semantic-tokens--button-prominent-hover: hsla(46.39175257731958, 100.00%, 71.00%, 1.00);
  --_colors---colors-semantic-tokens--button-prominent-pressed: var(--_colors---colors-core--neutral--neutral-100);
  --_colors---colors-semantic-tokens--button-prominent-text: var(--_colors---colors-core--blue--blue-700);
  --_colors---colors-semantic-tokens--button-recessed: white;
  --_colors---colors-semantic-tokens--button-recessed-hover: var(--_colors---colors-core--neutral--neutral-100);
  --_colors---colors-semantic-tokens--button-recessed-pressed: var(--_colors---colors-core--neutral--neutral-200);
  --_colors---colors-semantic-tokens--button-recessed-text: var(--_colors---colors-core--blue--blue-700);
  --_colors---colors-semantic-tokens--button-recessed-border: var(--_colors---colors-core--neutral--neutral-400);
  --_colors---colors-semantic-tokens--background-primary: var(--_colors---colors-core--white--white-100);
  --_colors---colors-semantic-tokens--background-secondary: var(--_colors---colors-core--neutral--neutral-100);
  --_colors---colors-semantic-tokens--separator-line: var(--_colors---colors-support--gray--gray-100);
  --_colors---colors-semantic-tokens--author-warning-color: hsla(40, 100.00%, 31.33%, 1.00);
  --_colors---forms--input-border: var(--_colors---colors-core--neutral--neutral-400);
  --_colors---forms--input-border-empty: #d1d5db;
  --_colors---forms--input-border-disabled: var(--_colors---colors-core--neutral--neutral-100);
  --_colors---forms--input-border-hover: var(--_colors---colors-core--blue--blue-500);
  --_colors---forms--input-border-focused: var(--_colors---colors-core--blue--blue-700);
  --_colors---forms--input-border-invalid: var(--_colors---colors-core--pink--pink-200);
  --_colors---forms--input-outline-focused: rgba(66, 139, 255, 0.37);
  --_colors---forms--input-text: var(--_colors---colors-core--blue--blue-700);
  --_colors---forms--input-text-placeholder: #6b7280;
  --_colors---forms--input-text-placeholder-unfocused: transparent;
  --_colors---forms--input-text-disabled: var(--_colors---colors-core--neutral--neutral-400);
  --_colors---forms--input-text-focused: var(--_colors---forms--input-text);
  --_colors---forms--input-text-autofill: var(--_colors---colors-core--blue--blue-700);
  --_colors---forms--input-background: var(--_colors---colors-semantic-tokens--background-primary);
  --_colors---forms--input-max-label-text: var(--_colors---forms--input-text-placeholder);
  --_colors---forms--input-min-label-text: var(--_colors---colors-core--neutral--neutral-400);
  --_colors---forms--form-well-border: var(--_colors---colors-support--gray--gray-100);
  --_colors---forms--textarea-label-background: rgba(255, 255, 255, 0.9);
  --_colors---forms--field-error-text: var(--_colors---colors-core--pink--pink-200);
  --_colors---forms--field-error-text-pressed: white;
  --_colors---forms--field-error-background-hover: rgba(233, 43, 140, 0.16);
  --_colors---forms--field-error-background-pressed: var(--_colors---colors-core--pink--pink-200);
  --_colors---forms--error-bubble-background: rgba(255, 240, 248, 0.6);
  --_colors---forms--error-bubble-border: hsla(328, 100.00%, 84.11%, 0.60);
  --_colors---forms--error-bubble-text: var(--_colors---colors-core--pink--pink-200);
  --_colors---forms--error-bubble-tip-fill: hsla(328.92857142857144, 100.00%, 98.22%, 1.00);
  --_colors---forms--error-bubble-shadow: hsla(328.92857142857144, 53.70%, 78.40%, 0.60);
  --_colors---forms--error-bubble-tip-stroke: hsla(328, 100.00%, 74.67%, 0.60);
  --_colors---forms--input-tile-background: var(--_colors---colors-semantic-tokens--background-primary);
  --_colors---forms--input-tile-background-hover: var(--_colors---colors-semantic-tokens--background-primary);
  --_colors---forms--input-tile-background-pressed: var(--_colors---colors-semantic-tokens--background-secondary);
  --_colors---article-embeds--embed-card-background: #f3f4f6;
  --_colors---article-embeds--embed-card-foreground: var(--_colors---colors-semantic-tokens--text-primary);
  --_colors---article-embeds--embed-card-border: var(--_colors---colors-support--gray--gray-100);
  --_colors---colors-core--white--white-100: rgba(255, 255, 255, 1);
  --_colors---colors-core--blue--blue-100: rgba(191, 235, 251, 1);
  --_colors---colors-core--blue--blue-200: rgba(64, 194, 243, 1);
  --_colors---colors-core--blue--blue-300: rgba(0, 174, 239, 1);
  --_colors---colors-core--blue--blue-400: #3986ff;
  --_colors---colors-core--blue--blue-500: #1369aa;
  --_colors---colors-core--blue--blue-600: rgba(27, 54, 124, 1);
  --_colors---colors-core--blue--blue-700: #0c1b54;
  --_colors---colors-core--blue--blue-800: rgb(13, 18, 36);
  --_colors---colors-core--neutral--neutral-100: #f3f4f6;
  --_colors---colors-core--neutral--neutral-200: rgba(194, 198, 212, 1);
  --_colors---colors-core--neutral--neutral-300: rgba(152, 156, 176, 1);
  --_colors---colors-core--neutral--neutral-400: #414b6c;
  --_colors---colors-core--pink--pink-100: rgba(250, 202, 226, 1);
  --_colors---colors-core--pink--pink-200: rgba(233, 43, 140, 1);
  --_colors---colors-support--yellow--yellow-100: rgba(255, 244, 206, 1);
  --_colors---colors-support--yellow--yellow-200: rgba(255, 211, 61, 1);
  --_colors---colors-support--purple--purple-100: rgba(225, 223, 255, 1);
  --_colors---colors-support--purple--purple-200: rgba(119, 68, 191, 1);
  --_colors---colors-support--gray--gray-100: rgba(224, 224, 224, 1);
  --_colors---colors-support--gray--gray-200: rgba(163, 162, 162, 1);
  --_colors---colors-support--gray--gray-300: rgba(133, 131, 131, 0.4);
  --_colors---colors-support--green--green-100: rgba(19, 139, 0, 1);
  --_colors---colors-support--orange--orange-100: rgba(250, 85, 6, 1);
  --_colors---colors-deprecated--background-dark-secondary: var(--_colors---colors-core--blue--blue-700);
  --_colors---colors-deprecated--text-secondary-inverse: var(--_colors---colors-core--neutral--neutral-200);
  --_colors---hacks--0-size-in-dark-background: auto;
  --_colors---hacks--0-in-dark-background: 100%;
  --_colors---hacks--0-size-in-light-background: 0px;
  --_colors---hacks--0-in-light-background: 0%;
  --typography-semantic-tokens--h1: var(--typography--font-size--font-size-4xl);
  --typography-semantic-tokens--h2: var(--typography--font-size--font-size-3xl);
  --typography-semantic-tokens--h3: var(--typography--font-size--font-size-xl);
  --typography-semantic-tokens--h4: var(--typography--font-size--font-size-lg);
  --typography-semantic-tokens--body: var(--typography--font-size--font-size-default);
  --typography-semantic-tokens--button: var(--typography--font-size--font-size-default);
  --typography--font-size--font-size-xxs: 9px;
  --typography--font-size--font-size-xs: 12px;
  --typography--font-size--font-size-sm: 14px;
  --typography--font-size--font-size-default: 16px;
  --typography--font-size--font-size-lg: 18px;
  --typography--font-size--font-size-xl: 24px;
  --typography--font-size--font-size-2xl: 27px;
  --typography--font-size--font-size-3xl: 39px;
  --typography--font-size--font-size-4xl: 49px;
  --typography--font-weight--font-weight-light: 300;
  --typography--font-weight--font-weight-regular: 400;
  --typography--font-weight--font-weight-medium: 500;
  --typography--font-weight--font-weight-semibold: 600;
  --typography--font-weight--font-weight-bold: 700;
  --typography--font-weight--font-weight-extrabold: 800;
  --typography--letter-spacing--letter-spacing-tighter: -0.4px;
  --typography--letter-spacing--letter-spacing-tight: -0.2px;
  --typography--letter-spacing--letter-spacing-default: 0px;
  --typography--letter-spacing--letter-spacing-loose: 0.2px;
  --typography--letter-spacing--letter-spacing-looser: 0.4px;
  --typography--line-height--line-height-xxs: 95%;
  --typography--line-height--line-height-xs: 100%;
  --typography--line-height--line-height-default: 110%;
  --typography--line-height--line-height-md: 120%;
  --typography--line-height--line-height-lg: 130%;
  --typography--line-height--line-height-xl: 140%;
  --typography--line-height--line-height-2xl: 150%;
  --typography--line-height--line-height-3xl: 160%;
  --typography--line-height--line-height-4xl: 170%;
  --input-fields--input-padding-top: calc(var(--input-fields--min-label-padding-top) + var(--input-fields--min-label-line-height) + var(--input-fields--min-label-padding-bottom));
  --input-fields--input-padding-bottom: 8px;
  --input-fields--input-margin-bottom: 20px;
  --input-fields--input-height: 56px;
  --input-fields--input-border-radius: var(--borders--border-radius-m);
  --input-fields--input-border-width: 1px;
  --input-fields--input-font-size: 16px;
  --input-fields--input-line-height: 22px;
  --input-fields--textarea-line-height: var(--input-fields--input-line-height);
  --input-fields--input-font-weight: var(--typography--font-weight--font-weight-regular);
  --input-fields--min-label-padding-top: 8px;
  --input-fields--min-label-padding-bottom: 4px;
  --input-fields--min-label-font-size: 12px;
  --input-fields--min-label-line-height: 14px;
  --input-fields--min-label-font-weight: var(--typography--font-weight--font-weight-regular);
  --input-fields--max-label-font-size: var(--input-fields--input-font-size);
  --input-fields--max-label-line-height: var(--input-fields--input-line-height);
  --input-fields--max-label-font-weight: var(--input-fields--input-font-weight);
  --input-fields--min-label-position-left: var(--input-fields--input-border-width);
  --input-fields--min-label-position-right: var(--input-fields--input-border-width);
  --input-fields--min-label-position-top: var(--input-fields--input-border-width);
  --input-fields--max-label-position-left: var(--input-fields--min-label-position-left);
  --input-fields--max-label-position-right: var(--input-fields--min-label-position-right);
  --input-fields--max-label-position-top: var(--input-fields--input-border-width);
  --input-fields--max-label-padding-top: calc(var(--input-fields--expected-input-height) / 2 - var(--input-fields--max-label-line-height) / 2 - var(--input-fields--max-label-position-top));
  --input-fields--max-label-padding-bottom: var(--input-fields--max-label-padding-top);
  --input-fields--expected-input-height: calc(var(--input-fields--input-border-width) * 2 + var(--input-fields--input-padding-top) + var(--input-fields--input-padding-bottom) + var(--input-fields--input-line-height));
  --icons--icon-height-xxs: 16px;
  --icons--icon-height-xs: 24px;
  --icons--icon-height-default: 28px;
  --icons--icon-height-md: 32px;
  --icons--icon-height-lg: 40px;
  --icons--icon-height-xl: 48px;
  --icons--icon-height-2xl: 56px;
  --icons--icon-height-3xl: 64px;
  --icons--icon-height-4xl: 72px;
  --icons--icon-height-5xl: 96px;
  --icons--icon-height-6xl: 104px;
  --borders--border-radius-xxs: 2px;
  --borders--border-radius-xs: 4px;
  --borders--border-radius-m: 8px;
  --borders--border-radius-default: 10px;
  --borders--border-radius-lg: 20px;
  --borders--border-radius-xl: 999px;
  --borders--border-width-default: 1px;
  --borders--border-width-medium: 1.5px;
  --borders--border-width-bold: 2px;
  --breakpoints--screen-width-xxs: 404px;
  --breakpoints--screen-width-xs: 768px;
  --breakpoints--screen-width-default: 1024px;
  --breakpoints--screen-width-md: 1224px;
  --breakpoints--screen-width-lg: 1440px;
  --breakpoints--screen-width-xl: 1920px;
  --breakpoints--screen-width-2xl: 3840px;
  --breakpoints--screen-width-3xl: 5120px;
}


:root {
  /* Ashby CSS Custom Property Overrides
     These map Absorb brand tokens onto the variables that Ashby's internal
     stylesheet already consumes, giving us broad coverage with minimal code. */

  /* Typography */
  --fontFamily: var(--typography--font-family--font-family-body);

  /* Shape */
  --borderRadiusContainer: var(--borders--border-radius-default);
  --borderRadiusControl: var(--borders--border-radius-m);
  --borderRadiusButton: var(--borders--border-radius-m);
  --borderWidthBold: var(--borders--border-width-medium);

  /* Colour: Primary (Absorb deep navy) */
  --colorPrimary900: var(--_colors---colors-core--blue--blue-800) !important;
  --colorPrimary600: var(--_colors---colors-core--blue--blue-700) !important;

  /* Colour: App background */
  --colorAppBackground: var(--_colors---colors-core--white--white-100);

  /* Colour: Neutrals (slightly warmer to match brand) */
  --colorNeutral800: var(--_colors---colors-core--neutral--neutral-500);
  --colorNeutral700: var(--_colors---colors-core--neutral--neutral-400);
  --colorNeutral600: var(--_colors---colors-core--neutral--neutral-400);
  --colorNeutral300: var(--_colors---colors-core--neutral--neutral-200);
  --colorNeutral200: var(--_colors---colors-support--gray--gray-100);
  --colorNeutral100: var(--_colors---colors-core--neutral--neutral-100);

  /* Colour: Feedback */
  --colorNegative600: var(--_colors---colors-core--pink--pink-200);
  --colorNegative200: var(--_colors---colors-core--pink--pink-100);
  --colorPositive600: var(--_colors---colors-support--green--green-100);
  --colorPositive200: #eafcec;
  --colorWarning600: var(--_colors---colors-support--yellow--yellow-200);
  --colorWarning800: #8c6d1f;
  --colorWarning900: #5c4813;

  /* other */
  --colorPrimaryShadow: transparent;
  --colorNeutralShadow: transparent;
  --colorShadowPrimaryXLight: transparent;
  --colorShadowPrimaryLight: transparent;
  --widthMaxContent: var(--page--inner-page-max-width);
  --widthMaxJobBoard: var(--page--inner-page-max-width);
  --borderRadiusButton: var(--borders--border-radius-xl);
  --letterSpacingWide: 0px;

}

/* Global body & typography */

body {
  font-family: var(--fontFamily);
  color: var(--_colors---colors-semantic-tokens--text-primary);
  line-height: var(--typography--line-height--line-height-2xl);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

b, strong {
  font-weight: bold;
}

p {
  line-height: var(--typography--line-height--line-height-2xl);
}

ul {
  margin-top: var(--padding--padding-md);
  margin-bottom: var(--padding--padding-md);
  padding-left: var(--padding--padding-xl);
  list-style-type: square;
}

ol {
  margin-top: var(--padding--padding-md);
  margin-bottom: var(--padding--padding-md);
  padding-left: var(--padding--padding-xl);
}

li {
  margin-top: var(--padding--padding-xs);
  margin-bottom: var(--padding--padding-xs);
  line-height: var(--typography--line-height--line-height-2xl);
}

li > p {
  margin: 0;
}

h1, .ashby-job-board-heading, .ashby-job-posting-heading {
  font-family: var(--typography--font-family--font-family-headers);
  color: var(--_colors---colors-semantic-tokens--text-secondary);
  font-size: var(--typography-semantic-tokens--h2);
  line-height: var(--typography--line-height--line-height-md);
  font-weight: var(--typography--font-weight--font-weight-bold);
  text-wrap: balance;
}

@media screen and (max-width: 767px) {
  h1, .ashby-job-board-heading, .ashby-job-posting-heading {
    font-size: var(--typography--font-size--font-size-2xl);
  }
  h2 {
    font-size: var(--typography--font-size--font-size-xl);
  }
}

h2 {
  font-family: var(--typography--font-family--font-family-headers);
  color: var(--_colors---colors-semantic-tokens--text-secondary);
  font-size: var(--typography-semantic-tokens--h3);
  line-height: var(--typography--line-height--line-height-default);
  font-weight: var(--typography--font-weight--font-weight-bold);

  text-wrap: balance;
}

h3 {
  margin-top: var(--padding--padding-xs);
  margin-right: auto;
  margin-bottom: var(--padding--padding-xs);
  margin-left: auto;

  font-family: var(--typography--font-family--font-family-headers);
  color: var(--_colors---colors-semantic-tokens--text-secondary);
  font-size: var(--typography-semantic-tokens--h4);
  line-height: var(--typography--line-height--line-height-md);
  font-weight: var(--typography--font-weight--font-weight-bold);

  text-wrap: balance;
}

h4 {
  font-family: var(--typography--font-family--font-family-headers);
  color: var(--_colors---colors-semantic-tokens--text-secondary);
  font-size: var(--typography--font-size--font-size-default);
  line-height: var(--typography--line-height--line-height-md);
  font-weight: var(--typography--font-weight--font-weight-bold);

  text-wrap: balance;
}

h5 {
  font-family: var(--typography--font-family--font-family-body);
  color: var(--_colors---colors-semantic-tokens--text-secondary);
  font-size: var(--typography--font-size--font-size-default);
  line-height: var(--typography--line-height--line-height-md);
  font-weight: var(--typography--font-weight--font-weight-bold);

  text-wrap: balance;
}

a:not(:has(div, p, h1, h2, h3, h4, h5, h6)) {
  color: var(--_colors---colors-semantic-tokens--text-secondary);
  font-weight: var(--typography--font-weight--font-weight-bold);
  text-decoration: underline;
  text-underline-offset: 2px;
  &:hover {
    text-decoration: none;
  }
}

/* Long form text */


#overview {
  color: var(--_colors---colors-semantic-tokens--text-secondary);

  p {
    margin-bottom: var(--padding--padding-md);
  }

  h1 {
    margin-top: var(--padding--padding-default);
    margin-bottom: var(--padding--padding-default);
  }

  h2, h3, h4, h5, h6 {
    margin-top: var(--padding--padding-xs);
    margin-bottom: var(--padding--padding-xs);
  }
}




/* Job board list view */

/* Main "Open Positions" heading */
.ashby-job-board-heading {
  /* font-family: var(--typography--font-family--font-family-headers);
  font-weight: var(--typography--font-weight--font-weight-bold);
  font-size: var(--typography-semantic-tokens--h2);
  color: var(--_colors---colors-semantic-tokens--text-secondary);
  letter-spacing: var(--typography--letter-spacing--letter-spacing-tight);
  line-height: var(--typography--line-height--line-height-md); */
  text-align: center;
}

/* "(6)" count badge */
.ashby-job-board-heading-count {
  font-weight: var(--typography--font-weight--font-weight-regular);
  color: var(--_colors---colors-core--neutral--neutral-300);
}

/* Filter dropdowns */
.ashby-job-board-filter {
  font-family: var(--fontFamily);
  border: var(--borders--border-width-medium) solid var(--_colors---colors-core--neutral--neutral-200);
  border-radius: var(--borders--border-radius-m);
  color: var(--_colors---colors-semantic-tokens--text-primary);
  background-color: var(--_colors---colors-core--white--white-100);
  transition: border-color 0.2s ease;
}

.ashby-job-board-filter:hover,
.ashby-job-board-filter:focus {
  border-color: var(--_colors---colors-core--blue--blue-700);
}

/* Department group heading (e.g. "Client Success") */
.ashby-department-heading {
  font-family: var(--typography--font-family--font-family-headers);
  font-weight: var(--typography--font-weight--font-weight-bold);
  color: var(--_colors---colors-semantic-tokens--text-secondary);
}

.ashby-department-heading-level {
  font-family: var(--typography--font-family--font-family-headers);
  font-size: var(--typography-semantic-tokens--h3);
  font-weight: var(--typography--font-weight--font-weight-bold);
}

/* Individual job posting card */
.ashby-job-posting-brief {
  border-radius: var(--borders--border-radius-default);
  transition: box-shadow 0.2s ease, background-color 0.2s ease;
}

.ashby-job-posting-brief:hover,
.ashby-job-posting-brief:active {
  background-color: var(--_colors---colors-core--neutral--neutral-100);
  box-shadow: 0 4px 12px var(--colorPrimaryShadow);
}

/* Job title inside the card */
.ashby-job-posting-brief-title {
  font-family: var(--typography--font-family--font-family-body);
  font-weight: var(--typography--font-weight--font-weight-bold);
  color: var(--_colors---colors-semantic-tokens--text-primary);
  font-size: var(--typography--font-size--font-size-lg);
}

/* Job metadata (department / location / type) */
.ashby-job-posting-brief-details {
  color: var(--_colors---colors-core--neutral--neutral-400);
  font-size: var(--typography--font-size--font-size-default);
}

/* Job posting detail view */

/* Job title on the detail page */
.ashby-job-posting-heading {
  text-align: center;
  margin-bottom: 0.5em;
}

/* Left sidebar section headings (Location, Department, etc.) */
.ashby-job-posting-left-pane h2 {
  font-family: var(--typography--font-family--font-family-headers);
  text-transform: uppercase;
  font-size: var(--typography--font-size--font-size-xs);
  letter-spacing: var(--typography--letter-spacing--letter-spacing-looser);
  color: var(--_colors---colors-core--neutral--neutral-400);
}

/* Left pane card */
.ashby-job-posting-left-pane {
  border-radius: var(--borders--border-radius-default);
}

/* Right pane -- tabs */
.ashby-job-posting-right-pane-overview-tab,
.ashby-job-posting-right-pane-application-tab {
  font-family: var(--typography--font-family--font-family-headers);
  font-weight: var(--typography--font-weight--font-weight-semibold);
}

/* Tab slider accent */
.ashby-job-posting-right-pane-tab-slider {
  background-color: var(--_colors---colors-core--blue--blue-700);
}

/* "Back to All Jobs" button */
.ashby-job-board-back-to-all-jobs-button {
  font-family: var(--fontFamily);
  font-weight: var(--typography--font-weight--font-weight-semibold);
  color: var(--_colors---colors-semantic-tokens--text-secondary);
}

/* Application form */

/* Form container card */
.ashby-application-form-container {
  background-color: var(--_colors---colors-semantic-tokens--background-primary);
  border-radius: var(--borders--border-radius-default);
  box-shadow: 0 2px 8px var(--colorPrimaryShadow);
}

/* Section titles inside the form */
.ashby-application-form-section-header-title {
  font-family: var(--typography--font-family--font-family-headers);
  font-weight: var(--typography--font-weight--font-weight-bold);
  color: var(--_colors---colors-semantic-tokens--text-secondary);
}

/* Section descriptions */
.ashby-application-form-section-header-description {
  color: var(--_colors---colors-semantic-tokens--text-primary);
}

/* Question labels */
.ashby-application-form-question-title {
  font-family: var(--fontFamily);
  font-weight: var(--typography--font-weight--font-weight-semibold);
  color: var(--_colors---colors-semantic-tokens--text-secondary);
}

/* Required asterisk */
.ashby-application-form-question-title::after {
  color: var(--_colors---colors-core--pink--pink-200);
}

/* Question descriptions */
.ashby-application-form-question-description {
  color: var(--_colors---colors-core--neutral--neutral-400);
  font-size: var(--typography--font-size--font-size-sm);
}

/* Submit button */
.ashby-application-form-submit-button {
  font-family: var(--typography--font-family--font-family-body);
  font-weight: var(--typography--font-weight--font-weight-bold);
  letter-spacing: 0px;
  background-color: var(--_colors---colors-semantic-tokens--button);
  border-color: var(--_colors---colors-semantic-tokens--button);
  border-radius: var(--borders--border-radius-xl);
  color: var(--_colors---colors-semantic-tokens--button-text);
  transition: background-color 0.2s ease, box-shadow 0.2s ease;
}

.ashby-application-form-submit-button:hover {
  background-color: var(--_colors---colors-semantic-tokens--button-hover);
  border-color: var(--_colors---colors-semantic-tokens--button-hover);
  box-shadow: 0 4px 12px var(--colorPrimaryShadow);
}

.ashby-application-form-submit-button:active {
  background-color: var(--_colors---colors-semantic-tokens--button-pressed);
  border-color: var(--_colors---colors-semantic-tokens--button-pressed);
}

/* Success message */
.ashby-application-form-success-container {
  border-radius: var(--borders--border-radius-default);
  background-color: var(--colorPositive200);
  color: var(--_colors---colors-support--green--green-100);
}

/* Failure message */
.ashby-application-form-failure-container {
  border-radius: var(--borders--border-radius-default);
  background-color: color-mix(in srgb, var(--_colors---colors-core--pink--pink-100) 25%, transparent);
  color: var(--_colors---colors-core--pink--pink-200);
}

/* Survey form */

.ashby-survey-form-container {
  border-radius: var(--borders--border-radius-default);
}


/* Filters UI */

.ashby-job-board-filters-label {
  font-family: var(--typography--font-family--font-family-body);
  font-weight: var(--typography--font-weight--font-weight-bold);
  color: var(--_colors---colors-semantic-tokens--text-primary);
}

.ashby-job-board-reset-filters-label {
  font-family: var(--typography--font-family--font-family-body);
  color: var(--_colors---colors-semantic-tokens--text-primary);
}

/* Hacks */

/* remove horizontal padding from Ashby's internal content wrapper to give us more control over spacing */
div[class^="_content_"], div[class^="_titles_"] {
  padding-left: 0;
  padding-right: 0;
  margin-left: 0;
  margin-right: 0;
}

button[class^="_button_"] {
  font-weight: var(--typography--font-weight--font-weight-extrabold);
}

footer a[href="https://www.ashbyhq.com"] {
  display: none;
}
