@import url('https://fonts.googleapis.com/css2?family=Rethink+Sans:wght@400;500;600&display=swap');

body {
    background-color: transparent;
    font-size: 16px;
    font-family: Rethink Sans, Arial, sans-serif;
}

button {
    box-shadow: none !important;
}

footer {
    display: none !important;
}

@media (max-width: 767px) {
    * {
        box-shadow: none !important;
    }
}

/* stylelint-disable */

/* These variables can be used to control values throughout the job board. */
:root {

    /*  The max width of the job board container */
    --widthMaxJobBoard: 800px;

    /*  Container border radius */
    --borderRadiusContainer: 10px;

    /*  Border radius of control elements (e.g. input boxes) */
    --borderRadiusControl: 10px;

    /*  Button border radius */
    --borderRadiusButton: .75rem;

    /*  Font families */
    --fontFamily: Rethink Sans, Arial, sans-serif;

    --colorAppBackground: transparent;

    --fontWeightMediumBold: 500;
    --fontWeightHeavyBold: 500;
    --fontSize: 16px;
}

/* Hide empty paragraphs */
p:empty {
    display: none !important;
}


/* ============================================================================
   AUTOFILL COMPONENTS (Ashby-specific, no Recruitee equivalent)
   ============================================================================ */

.ashby-application-form-autofill-input-base-layer,
.ashby-application-form-autofill-pane,
.ashby-application-form-autofill-uploader {
    background-color: transparent !important;
    border-color: transparent !important;
    box-shadow: none !important;
}

.ashby-application-form-autofill-input-description {}

.ashby-application-form-autofill-input-drag-layer {}

.ashby-application-form-autofill-input-form-alert {}

.ashby-application-form-autofill-input-icon {}

/* Application autofill input's pending state overlay element. Can style [data-state] which can be 'active' or 'hidden'.
.ashby-application-form-autofill-input-pending-layer {}

.ashby-application-form-autofill-input-root {}
.ashby-application-form-autofill-input-title {
    margin-top: 0 !important;
}
.ashby-application-form-autofill-pane {}
.ashby-application-form-autofill-uploader {}


/* ============================================================================
   BLOCKED / CUSTOM MESSAGE CONTAINER
   ============================================================================ */

.ashby-application-form-blocked-application-container {}


/* ============================================================================
   APPLICATION FORM CONTAINER
   ← rt-details__content--form
   ============================================================================ */

.ashby-application-form-container {
    background-color: transparent !important;
}


/* ============================================================================
   SUCCESS / FAILURE CONTAINERS
   ← rt-form__success / rt-form__failed
   ============================================================================ */

.ashby-application-form-success-container,
.ashby-application-form-failure-container {
    display: flex !important;
    width: 100% !important;
    flex-direction: column !important;
    justify-content: center !important;
    align-items: center !important;
    gap: 2.5rem !important;
    padding: 8.25rem 1.5rem !important;
    background-color: var(--colorPrimary600) !important;
    border: none !important;
    box-shadow: none !important;
}

@media (min-width: 768px) {
    .ashby-application-form-success-container,
    .ashby-application-form-failure-container {
        margin-left: 1rem !important;
    }
}

@media (max-width: 767px) {

    .ashby-application-form-success-container,
    .ashby-application-form-failure-container {
        padding: 5rem 1.5rem !important;
    }
}

.ashby-application-form-success-container h2 {
    margin: 0 !important;
    letter-spacing: -0.03em !important;
    font-family: Rethink Sans, sans-serif !important;
    font-size: 2.375rem !important;
    font-weight: 600 !important;
    line-height: 1.05 !important;
    text-align: center !important;
    color: #fff !important;
}

.ashby-application-form-success-container p {
    margin: 0 !important;
    letter-spacing: 0.02em !important;
    font-family: Rethink Sans, sans-serif !important;
    font-size: 0.875rem !important;
    font-weight: 400 !important;
    line-height: 1.5 !important;
    text-align: center !important;
    color: rgb(255 255 255 / 70%) !important;
    max-width: 400px !important;
}


/* ============================================================================
   FORM FIELD ENTRY (label + input wrapper)
   ← rt-form__group
   ============================================================================ */

.ashby-application-form-field-entry {
    margin-bottom: 1rem !important;
}

/* Inputs and textareas inside form fields */
.ashby-application-form-field-entry input,
.ashby-application-form-field-entry textarea,
.ashby-application-form-field-entry select {
    background-color: transparent !important;
    border-color: var(--base-color-brand--warm-linen) !important;
    border-radius: 0.75rem !important;
    padding: 1.25rem !important;
    min-height: 58px !important;
    font-size: 14px !important;
    box-shadow: none !important;
}

.ashby-application-form-field-entry textarea {
    min-height: 196px !important;
    resize: vertical !important;
    max-height: 400px !important;
}

/* File input */
.ashby-application-form-field-entry input[type="file"] {
    display: inline-block !important;
    width: 100% !important;
    border: 1px dashed var(--base-color-brand--dark-choco) !important;
    padding: 1rem !important;
    box-sizing: border-box !important;
}

.ashby-application-form-field-entry input[type="file"]::file-selector-button {
    border: none !important;
    background-color: var(--base-color-brand--dark-choco) !important;
    color: var(--base-color-brand--snow) !important;
    border-radius: 0.625rem !important;
    font-size: 0.625rem !important;
    font-weight: 400 !important;
    padding: 0.75rem 1.125rem 0.75rem 2.25rem !important;
    margin-right: 0.75rem !important;
    cursor: pointer !important;
    background-image: url("https://cdn.prod.website-files.com/693993a8d8b66490721d6069/69558d7aa8d235ce11c2c421_00bdf3d20ec011bf2b44d16eb261605c_drive_folder_upload.svg") !important;
    background-repeat: no-repeat !important;
    background-position: 12.5% !important;
    background-size: 1rem !important;
}

/* Required field asterisk */
.ashby-application-form-field-entry abbr {
    color: #F90404 !important;
    vertical-align: top !important;
}

@media (max-width: 767px) {
    .ashby-application-form-field-entry {
        padding: 0 0.5rem !important;
        margin-bottom: 1.5rem !important;
    }

    .ashby-application-form-field-entry input,
    .ashby-application-form-field-entry select {
        min-height: 29px !important;
        padding: 0.625rem 1rem !important;
    }

    .ashby-application-form-container {
        background-color: #fffdfa !important;
        border-radius: 16px !important;
    }

    .ashby-application-form-container:last-child {
        margin-top: 1rem !important;
    }

    /* react-datepicker — prevent overflow off screen on mobile */
    .react-datepicker-popper {
        transform: translate3d(0, 1536px, 0px) !important;
        max-width: 100vw !important;
    }

}


/* ============================================================================
   QUESTION TITLE & DESCRIPTION
   ← rt-form__group > label / rt-form__description
   ============================================================================ */

.ashby-application-form-question-title {
    letter-spacing: 0.02em !important;
    font-family: Rethink Sans, sans-serif !important;
    font-size: 1rem !important;
    font-weight: 400 !important;
    line-height: 1.2 !important;
    margin-bottom: 0.875rem !important;
}

@media (max-width: 767px) {
    .ashby-application-form-question-title {
        margin-bottom: 0.625rem !important;
    }
}

.ashby-application-form-question-description {
    letter-spacing: 0.02em !important;
    text-transform: uppercase !important;
    font-family: Rethink Sans, Impact, sans-serif !important;
    font-size: 0.625rem !important;
    font-weight: 500 !important;
    line-height: 1.2 !important;
}


/* ============================================================================
   FORM SECTIONS
   ← rt-details__content sections / [class*="rt__text-header--"]
   ============================================================================ */


.ashby-application-form-section-header {}

.ashby-application-form-section-header-description {}

.ashby-application-form-section-header-title {
    margin-top: 3rem !important;
    margin-bottom: 1.25rem !important;
    letter-spacing: -0.03em !important;
    font-size: 2rem !important;
    font-weight: 600 !important;
    line-height: 1 !important;
}


/* ============================================================================
   SUBMIT BUTTON
   ← rt__button--action (apply button in footer)
   ============================================================================ */

.ashby-application-form-submit-button {
    cursor: pointer !important;
    display: flex !important;
    font-size: 0.875rem !important;
    font-weight: 400 !important;
    padding: 1.125rem !important;
    border-width: 0 !important;
    border-style: solid !important;
    border-radius: 0.625rem !important;
    letter-spacing: 0.02em !important;
    text-transform: uppercase !important;
    font-family: Rethink Sans, Impact, sans-serif !important;
    line-height: 1.2 !important;
    box-shadow: none !important;
    transition: background-color 0.3s ease !important;
}

.ashby-application-form-submit-button:hover {
    background-color: #473E3E !important;
}


/* ============================================================================
   TEXTING CONSENT
   ← rt-form__optional / description text
   ============================================================================ */

.ashby-application-form-texting-consent-description {
    letter-spacing: 0.02em !important;
    text-transform: uppercase !important;
    font-family: Rethink Sans, Impact, sans-serif !important;
    font-size: 0.625rem !important;
    font-weight: 500 !important;
    line-height: 1.2 !important;
    opacity: 0.5 !important;
}


/* ============================================================================
   DEPARTMENT HEADINGS (job board list grouping)
   ← rt-list__offer-item department / rt-details__heading
   ============================================================================ */

.ashby-department-heading {
    padding-left: 0 !important;
    margin-left: 0 !important;
}

.ashby-department-heading-level {}


/* ============================================================================
   JOB BOARD — BACK BUTTON
   ← rt-icon-arrow-back / rt__button--outline (share/back button)
   ============================================================================ */

.ashby-job-board-back-to-all-jobs-button {
    cursor: pointer !important;
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    gap: 0.5rem !important;
    letter-spacing: 0.02em !important;
    text-transform: uppercase !important;
    font-family: Rethink Sans, Impact, sans-serif !important;
    font-size: 0.625rem !important;
    font-weight: 400 !important;
    line-height: 1.2 !important;
    border-radius: 0.625rem !important;
    border: none !important;
    box-shadow: none !important;
    transition: background-color 0.3s ease !important;
}

.ashby-job-board-back-to-all-jobs-button:hover {
    background-color: var(--colorPrimary600) !important;
    color: #fff !important;
}


/* ============================================================================
   JOB BOARD — FILTERS
   ← .w-select overrides
   ============================================================================ */

.ashby-job-board-filter {
    -webkit-appearance: none !important;
    -moz-appearance: none !important;
    appearance: none !important;
    border: none !important;
}

.ashby-job-board-filters-label {}

.ashby-job-board-heading {
    display: none !important;
}

[class="_topDescription_1cp2r_30"], [class="_bottomDescription_1cp2r_31"] {
    text-align: center !important;
    max-width: 420px !important;
    margin-left: auto !important;
    margin-right: auto !important;
}

.ashby-job-board-heading-count {}

.ashby-job-board-reset-filters-label {}


/* ============================================================================
   JOB POSTING BRIEF (individual list item)
   ← rt-list__offer-item
   ============================================================================ */

.ashby-job-posting-brief {
    display: grid !important;
    grid-template-columns: 1fr minmax(0, max-content) !important;
    column-gap: 3rem !important;
    row-gap: 0.875rem !important;
    margin-bottom: 0 !important;
}

/* Border separator — bottom border on every card */
.ashby-job-posting-brief {
    padding-bottom: 1rem !important;
    border-bottom: 1px solid rgb(32 22 24 / 20%) !important;
}

.ashby-job-posting-brief+.ashby-job-posting-brief {
    padding-top: 1.75rem !important;
    margin-top: 0 !important;
    border-top: none !important;
}

.ashby-job-posting-brief-department-heading {}

.ashby-job-posting-brief-department-heading-level {}

/* Location / meta details
   ← rt-list__offer-location span */
.ashby-job-posting-brief-details {
    grid-column: 1 !important;
    grid-row: 2 !important;
    letter-spacing: 0.02em !important;
    text-transform: uppercase !important;
    font-family: Rethink Sans, Impact, sans-serif !important;
    font-size: 12px !important;
    font-weight: 500 !important;
    line-height: 1.14286 !important;
    opacity: 0.7 !important;
    transition: opacity 0.4s ease !important;
    margin-top: 0 !important;
}

.ashby-job-posting-brief-details * {
    margin-top: 0 !important;
}

/* Salary / compensation line inside details */
.ashby-job-posting-brief-details span,
.ashby-job-posting-brief-details > * {
    font-size: 14px !important;
    font-weight: 500 !important;
}

.ashby-job-posting-brief-list {}

/* Job title in list
   ← rt-list__offer-title */
.ashby-job-posting-brief-title {
    font-size: 1.25rem !important;
    line-height: 1.125 !important;
    transition: opacity 0.4s ease, color 0.3s ease !important;
}

@media (max-width: 478px) {
    .ashby-job-posting-brief-title {
        font-size: 1rem !important;
        line-height: 1.125 !important;
    }
}


/* ============================================================================
   JOB POSTING PAGE — HEADER
   ← rt-details__header
   ============================================================================ */

.ashby-job-posting-header {
    padding-left: 2.5rem !important;
    padding-right: 2.5rem !important;
    padding-top: 4.5rem !important;
    padding-bottom: 2rem !important;
    max-width: 644px !important;
}

@media (max-width: 767px) {
    .ashby-job-posting-header {
        padding-left: 1.5rem !important;
        padding-right: 1rem !important;
        padding-top: 7rem !important;
        padding-bottom: 2rem !important;
    }
}

/* Job title on posting page
   ← rt-details__header-title */
.ashby-job-posting-heading {
    margin-bottom: 0rem !important;
    letter-spacing: -0.02em !important;
    font-size: 2.375rem !important;
    font-weight: 600 !important;
    line-height: 1.05263 !important;
}

.ashby-job-posting-right-pane [id="overview"] {
    background-color: transparent !important;
}


/* ============================================================================
   JOB POSTING PAGE — PANES
   ← rt-details__inner split layout
   ============================================================================ */

.ashby-job-posting-right-pane {
    background-color: transparent !important;
}

.ashby-job-posting-right-pane p:not(li p),
.ashby-job-posting-right-pane ul,
.ashby-job-posting-right-pane ol {
    margin-top: 16px !important;
}

.ashby-job-posting-right-pane h1,
.ashby-job-posting-right-pane h2,
.ashby-job-posting-right-pane h3:not(.ashby-application-form-autofill-input-title) {
    margin-top: 34px !important;
}

/* Exclude application form from margin-top overrides */
[aria-labelledby="job-application-form"] p,
[aria-labelledby="job-application-form"] ul,
[aria-labelledby="job-application-form"] ol,
[aria-labelledby="job-application-form"] h1,
[aria-labelledby="job-application-form"] h2,
[aria-labelledby="job-application-form"] h3 {
    margin-top: revert !important;
}

[aria-labelledby="job-application-form"] h3.ashby-application-form-autofill-input-title {
    margin-top: 0 !important;
}

.ashby-job-posting-right-pane-application-tab {
    background-color: transparent !important;
    text-transform: uppercase !important;
    font-weight: 400 !important;
}

.ashby-job-posting-right-pane-overview-tab {
    background-color: transparent !important;
    text-transform: uppercase !important;
    font-weight: 400 !important;
}

.ashby-job-posting-right-pane-tab-slider {
    text-transform: uppercase !important;
    font-weight: 400 !important;
}

@media (max-width: 767px) {
    .ashby-job-posting-right-pane {
        background-color: #fffdfa !important;
        box-shadow: none !important;
    }

    .ashby-job-posting-right-pane-application-tab,
    .ashby-job-posting-right-pane-overview-tab {
        background-color: #fffdfa !important;
        box-shadow: none !important;
        padding: 1rem !important;
    }

    .ashby-job-posting-right-pane [id="overview"] {
        background-color: #fffdfa !important;
    }

    /* Autofill box — white bg to match tab, horizontal margins */
    .ashby-application-form-autofill-input-base-layer,
    .ashby-application-form-autofill-pane,
    .ashby-application-form-autofill-uploader {
        background-color: #fffdfa !important;
    }

    .ashby-job-posting-left-pane button {
        padding: 0 !important;
        border: none !important;
        background-color: transparent !important;
        font-weight: 500 !important;
        margin-top: 2rem !important;
        margin-left: 0.1rem !important;
        box-shadow: none !important;
        display: inline !important;
        cursor: pointer !important;
    }
}


/* ============================================================================
   SURVEY FORM
   ============================================================================ */

.ashby-survey-form-container {}

.ashby-job-posting-brief{
    padding-left: 4px !important;
}

/* Remove white backgrounds from all Ashby wrappers — desktop only */
    [class^="ashby-job-posting"],
    [class^="ashby-application-form"] {
        background-color: transparent !important;
    }

/* Must come after catch-all above */
.ashby-application-form-success-container,
.ashby-application-form-failure-container {
    background-color: var(--colorPrimary600) !important;
}

/* Left pane overrides catch-all above — must come after */
.ashby-job-posting-left-pane {
    background-color: #fffdfa !important;
    border-radius: 16px !important;
    max-height: max-content;
}

.ashby-job-posting-left-pane h2 {
    text-transform: uppercase !important;
    font-size: 10px !important;
}

/* See More / See Less button — left margin only, preserve Ashby original styles */
@media (min-width: 768px) {
    .ashby-job-posting-left-pane button {
        margin-left: 1.25rem !important;
    }
}

/* [aria-labelledby="job-application-form"] [data-highlight="none"] {
    background-color: transparent !important;
    border: none !important;
} */


[class="  _container_101oc_29"] {
    background-color: transparent !important;
    border: none !important;
}

button[class="_filtersOpen_1cp2r_153"] {
    cursor: pointer !important;
    display: flex !important;
    font-size: 0.875rem !important;
    font-weight: 400 !important;
    padding: 1.125rem !important;
    color: #fffdfa !important;
    border-width: 0 !important;
    text-decoration: none !important;
    background-color: var(--colorPrimary600) !important;
    border-style: solid !important;
    border-radius: 0.625rem !important;
    font-family: Rethink Sans, Impact, sans-serif !important;
    line-height: 1.2 !important;
    box-shadow: none !important;
    transition: background-color 0.3s ease !important;
}

@media (max-width: 768px) {
.ashby-job-board-heading{
    margin-left: auto !important;
    margin-right: auto !important;
    text-align: center !important;
}}

[id="overview"] a button {
    cursor: pointer !important;
    display: flex !important;
    font-size: 0.875rem !important;
    font-weight: 400 !important;
    padding: 1.125rem !important;
    border-width: 0 !important;
    border-style: solid !important;
    border-radius: 0.625rem !important;
    letter-spacing: 0.02em !important;
    text-transform: uppercase !important;
    font-family: Rethink Sans, Impact, sans-serif !important;
    line-height: 1.2 !important;
    box-shadow: none !important;
    transition: background-color 0.3s ease !important;
}

[id="overview"] a button:hover {
    background-color: #473E3E !important;
}

[aria-label="Learn more about Ashby"] {
    display: none;
}


/* ============================================================================
   JOB CARD — CUSTOM OVERRIDES
   ============================================================================ */

/* Remove white card background */
.ashby-job-posting-brief,
.ashby-job-posting-brief-list > *,
li.ashby-job-posting-brief {
    background-color: transparent !important;
    box-shadow: none !important;
    border-radius: 0 !important;
}

/* Job title: black instead of purple/blue */
.ashby-job-posting-brief-title,
.ashby-job-posting-brief a,
.ashby-job-posting-brief a:visited {
    color: #201618 !important;
    text-decoration: none !important;
}

/* Arrow at end of card — sits in grid column 2, colored via mask */
.ashby-job-posting-brief::after {
    content: "" !important;
    display: block !important;
    grid-column: 2 !important;
    grid-row: 1 / 3 !important;
    align-self: center !important;
    width: 2rem !important;
    height: 2rem !important;
    background-color: #201618 !important;
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 640 640'%3E%3Cpath d='M439.1 297.4C451.6 309.9 451.6 330.2 439.1 342.7L279.1 502.7C266.6 515.2 246.3 515.2 233.8 502.7C221.3 490.2 221.3 469.9 233.8 457.4L371.2 320L233.9 182.6C221.4 170.1 221.4 149.8 233.9 137.3C246.4 124.8 266.7 124.8 279.2 137.3L439.2 297.3z'/%3E%3C/svg%3E") !important;
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 640 640'%3E%3Cpath d='M439.1 297.4C451.6 309.9 451.6 330.2 439.1 342.7L279.1 502.7C266.6 515.2 246.3 515.2 233.8 502.7C221.3 490.2 221.3 469.9 233.8 457.4L371.2 320L233.9 182.6C221.4 170.1 221.4 149.8 233.9 137.3C246.4 124.8 266.7 124.8 279.2 137.3L439.2 297.3z'/%3E%3C/svg%3E") !important;
    -webkit-mask-size: contain !important;
    mask-size: contain !important;
    -webkit-mask-repeat: no-repeat !important;
    mask-repeat: no-repeat !important;
    -webkit-mask-position: center !important;
    mask-position: center !important;
    transition: background-color 0.3s ease !important;
}

/* Hover: title and link turn to brand blue */
.ashby-job-posting-brief:hover .ashby-job-posting-brief-title,
.ashby-job-posting-brief:hover a {
    color: rgb(66, 60, 233) !important;
}

/* Hover: arrow turns to brand blue via background-color */
.ashby-job-posting-brief:hover::after {
    background-color: rgb(66, 60, 233) !important;
}

[class="_bottomDescription_1cp2r_31"]{
    display: none !important;
}

@media (max-width: 767px) {
    .ashby-job-posting-brief{
        padding-left: 0 !important;
        padding-right: 0 !important;
    }
    .ashby-job-posting-brief-list a:not(:first-child) .ashby-job-posting-brief{
    padding-top: 0 !important;
    }

    .ashby-job-posting-brief-list a:first-child .ashby-job-posting-brief{
        padding-top: 0.5rem !important;
        }

    .ashby-job-posting-brief-list {
        padding-left: 0 !important;
        padding-right: 0 !important;
    }


    .ashby-job-posting-brief-title {
        padding: 0 !important;
    }

    .ashby-job-posting-brief {
        column-gap: 0.5rem !important;
    }

    .ashby-job-posting-brief::after {
        width: 1rem !important;
        height: 1rem !important;
    }
}