/* stylelint-disable */
@import url("https://fonts.googleapis.com/css2?family=Instrument+Sans:ital,wght@0,400..700;1,400..700&display=swap");

/* Forward Blue brand: navy #0c1c56, blue #0055ff, purple #8f4aff, lavender #ede5ff, cream #f7f5ef */
:root {
  --colorAppBackground: #ffffff;

  /* WARNING - can also be set in the Ashby admin under theme settings. */
  --colorPrimary900: #0c1c56;
  --colorPrimary600: #0055ff;

  --widthMaxContent: 800px;
  --widthMaxJobBoard: 800px;
  --widthMaxSubscriptionPreferences: 600px;

  --borderRadiusContainer: 0;
  --borderRadiusControl: 0;
  --borderRadiusButton: 0;

  --fontFamily: "Instrument Sans", system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;

  /* Extra Forward Blue tokens used below */
  --fbNavy: #0c1c56;
  --fbBlue: #0055ff;
  --fbPurple: #8f4aff;
  --fbLavender: #ede5ff;
  --fbCream: #f7f5ef;
}

body, .ashby-job-board-heading, .ashby-job-posting-brief, .ashby-job-posting-description-container {
  font-family: var(--fontFamily);
  color: var(--fbNavy);
}

/* Headings: heavy, uppercase, navy */
.ashby-job-board-heading,
.ashby-job-posting-heading,
.ashby-job-posting-brief-title,
.ashby-application-form-section-header-title {
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: 0.02em;
  color: var(--fbNavy);
}
.ashby-job-board-heading-count { color: var(--fbPurple); }

.ashby-department-heading,
.ashby-job-posting-brief-department-heading {
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--fbPurple);
}
.ashby-department-heading-level,
.ashby-job-posting-brief-department-heading-level { color: var(--fbNavy); font-weight: 700; }

/* Job cards */
.ashby-job-posting-brief {
  margin-bottom: 10px;
  background: var(--fbCream);
  border-left: 4px solid var(--fbBlue);
  padding: 16px 20px;
  transition: background 0.15s ease, border-color 0.15s ease;
}
.ashby-job-posting-brief:hover { background: var(--fbLavender); border-left-color: var(--fbPurple); }
.ashby-job-posting-brief-details { color: var(--fbNavy); opacity: 0.8; }

/* Filters */
.ashby-job-board-filters-label { font-weight: 800; text-transform: uppercase; letter-spacing: 0.1em; color: var(--fbNavy); }
.ashby-job-board-filter {
  background: var(--fbNavy);
  color: #fff;
  border: 0;
  font-weight: 700;
}
.ashby-job-board-reset-filters-label { color: var(--fbPurple); font-weight: 700; }

/* Buttons: blue, square, black weight, wide tracking */
.ashby-application-form-submit-button,
.ashby-job-board-back-to-all-jobs-button,
.ashby-application-form-input-file-dropzone-upload,
.ashby-application-form-input-education-add {
  background: var(--fbBlue);
  color: #fff;
  border: 0;
  border-radius: 0;
  font-weight: 900;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  box-shadow: none;
  transition: all 0.15s ease-in-out;
}
.ashby-application-form-submit-button:hover,
.ashby-job-board-back-to-all-jobs-button:hover,
.ashby-application-form-input-file-dropzone-upload:hover,
.ashby-application-form-input-education-add:hover { background: var(--fbNavy); color: #fff; }
.ashby-application-form-submit-button:focus-visible { outline: 2px dotted currentColor; outline-offset: -5px; }

/* Back arrow: Ashby fills the icon with the primary color, which is blue on blue here */
.ashby-job-board-back-to-all-jobs-button svg,
.ashby-job-board-back-to-all-jobs-button svg path {
  fill: #fff !important;
  color: #fff !important;
}

/* Posting layout */
.ashby-job-posting-right-pane-tab-slider { background: var(--fbLavender); }
.ashby-job-posting-right-pane-application-tab,
.ashby-job-posting-right-pane-overview-tab { font-weight: 800; text-transform: uppercase; letter-spacing: 0.06em; color: var(--fbNavy); }
.ashby-job-posting-description a { color: var(--fbBlue); font-weight: 700; }
.ashby-job-posting-description a:hover { color: var(--fbPurple); }

/* Application form */
.ashby-application-form-container,
.ashby-survey-form-container { background: #fff; }
.ashby-application-form-question-title { font-weight: 800; color: var(--fbNavy); }
.ashby-application-form-question-description { color: var(--fbNavy); opacity: 0.75; }
.ashby-application-form-section-container { border-top: 3px solid var(--fbNavy); padding-top: 16px; }

.ashby-application-form-input-text,
.ashby-application-form-input-textarea,
.ashby-application-form-input-dropdown-select,
.ashby-application-form-input-date,
.ashby-application-form-input-autocomplete {
  background: var(--fbNavy);
  color: #fff;
  border: 0;
  border-radius: 0;
  font-family: var(--fontFamily);
  font-weight: 700;
}
.ashby-application-form-input-text::placeholder,
.ashby-application-form-input-textarea::placeholder { color: rgba(255, 255, 255, 0.7); }
.ashby-application-form-input-text:focus,
.ashby-application-form-input-textarea:focus,
.ashby-application-form-input-dropdown-select:focus,
.ashby-application-form-input-autocomplete:focus { background: var(--fbBlue); outline: none; }

.ashby-application-form-input-radio-group-option-radio,
.ashby-application-form-input-checkbox-group-option-checkbox { accent-color: var(--fbBlue); }
.ashby-application-form-input-yesno-option { border-radius: 0; font-weight: 800; }
.ashby-application-form-input-yesno-option[aria-pressed="true"] { background: var(--fbBlue); color: #fff; }

.ashby-application-form-input-file-dropzone {
  background: var(--fbLavender);
  border: 0 !important;
  outline: 0;
  border-radius: 0;
  box-shadow: none;
  padding: 28px 20px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 12px;
  text-align: center;
  transition: background 0.15s ease, box-shadow 0.15s ease;
}
.ashby-application-form-input-file-dropzone:hover,
.ashby-application-form-input-file:focus-within .ashby-application-form-input-file-dropzone {
  background: #e0d2ff;
  box-shadow: inset 0 -4px 0 var(--fbPurple);
}
.ashby-application-form-input-file-dropzone-instructions {
  margin: 0;
  color: var(--fbNavy);
  font-weight: 600;
  opacity: 0.7;
}
.ashby-application-form-input-file-dropzone-upload svg,
.ashby-application-form-input-file-dropzone-upload svg path {
  fill: #fff !important;
}

.ashby-application-form-input-autocomplete-popup { background: #fff; border: 2px solid var(--fbNavy); border-radius: 0; }
.ashby-application-form-input-autocomplete-popup-result[aria-selected="true"] { background: var(--fbLavender); }

/* Autofill pane */
.ashby-application-form-autofill-pane { background: var(--fbLavender); border-radius: 0; }
.ashby-application-form-autofill-input-title { font-weight: 800; color: var(--fbNavy); }
.ashby-application-form-autofill-input-icon { color: var(--fbPurple); }

/* Result states */
.ashby-application-form-success-container { border-left: 4px solid var(--fbBlue); background: var(--fbCream); }
.ashby-application-form-failure-container { border-left: 4px solid var(--fbPurple); background: var(--fbCream); }
