/* stylelint-disable */

/* These variables can be used to control values throughout the job board. */
:root {
    /*  The max width of the job board container */
    --widthMaxJobBoard: 750px;

    /*  The max width of the application form section */
    /* --widthMaxJobBoard: 800px; */

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

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

    /*  Button border radius */
    --borderRadiusButton: 10px;

    /*  Font families */
    --fontFamily: "Whitney SSm", "-apple-system", "BlinkMacSystemFont", "Segoe UI", "Helvetica", "Arial", "Apple Color Emoji", "Segoe UI Emoji", sans-serif ;

    --colorAppBackground: #000000;
  }

body, html {
    background-color: black !important;
    position: relative;
    overflow-x: hidden;
}

/* Target ALL text elements - comprehensive coverage */
p, h1, h2, h3, h4, h5, h6, div, label, button, input, span, a, li, ul, ol, td, th, tr, table, 
textarea, select, option, strong, em, i, b, u, small, big, code, pre, blockquote, cite, 
abbr, acronym, address, dfn, kbd, samp, var, del, ins, q, sub, sup, tt, 
legend, fieldset, caption, thead, tbody, tfoot, colgroup, col, dd, dt, dl,
nav, article, section, header, footer, main, aside, figure, figcaption, details, summary {
    color: white !important;
}

/* Ensure all text nodes and pseudo-elements are white */
* {
    color: white !important;
}

/* Links styling */
a, a:link, a:visited, a:hover, a:active {
    color: white !important;
}

/* Ensure backgrounds stay black */
div, section, article, main, aside, nav, header, footer, form {
    background-color: transparent !important;
}

/* Dropdown and select styling */
select {
    background-color: black !important;
    border: 1px solid rgba(255, 255, 255, 0.3) !important;
    color: black !important;
}

/* Dropdown option styling */
select option {
    background-color: black !important;
    color: black !important;
}

/* Selected option styling */
select option:checked {
    background-color: var(--colorPrimary600) !important;
    color: black !important;
}

/* Radio button and checkbox styling */
input[type="radio"], input[type="checkbox"] {
    accent-color: var(--colorPrimary600) !important;
}

/* Radio button and checkbox labels when selected */
input[type="radio"]:checked + label, input[type="checkbox"]:checked + label {
    color: var(--colorPrimary600) !important;
}

/* Glass-like button styles */
button, input[type="button"], input[type="submit"], input[type="reset"] {
    background: linear-gradient(135deg, rgba(255, 255, 255, 0.1), rgba(255, 255, 255, 0.05)) !important;
    border: 1px solid rgba(255, 255, 255, 0.4) !important;
    backdrop-filter: blur(15px) !important;
    -webkit-backdrop-filter: blur(15px) !important;
    box-shadow: 
        0 4px 12px rgba(255, 255, 255, 0.1),
        inset 0 1px 0 rgba(255, 255, 255, 0.2),
        0 1px 3px rgba(0, 0, 0, 0.2) !important;
    transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1) !important;
    position: relative !important;
    overflow: hidden !important;
    animation: subtle-pulse 3s ease-in-out infinite !important;
}

/* Shimmer effect overlay */
button::before, input[type="button"]::before, input[type="submit"]::before, input[type="reset"]::before {
    content: '' !important;
    position: absolute !important;
    top: 0 !important;
    left: -100% !important;
    width: 100% !important;
    height: 100% !important;
    background: linear-gradient(
        90deg,
        transparent,
        rgba(255, 255, 255, 0.2),
        transparent
    ) !important;
    transition: left 0.5s ease !important;
    z-index: 1 !important;
}

/* Animated border glow */
button::after, input[type="button"]::after, input[type="submit"]::after, input[type="reset"]::after {
    content: '' !important;
    position: absolute !important;
    top: -2px !important;
    left: -2px !important;
    right: -2px !important;
    bottom: -2px !important;
    background: linear-gradient(
        45deg,
        rgba(255, 255, 255, 0.1),
        rgba(255, 255, 255, 0.3),
        rgba(255, 255, 255, 0.1)
    ) !important;
    border-radius: inherit !important;
    z-index: -1 !important;
    opacity: 0 !important;
    transition: opacity 0.3s ease !important;
    animation: border-flow 2s linear infinite !important;
}

/* Button hover effects */
button:hover, input[type="button"]:hover, input[type="submit"]:hover, input[type="reset"]:hover {
    background: linear-gradient(135deg, rgba(255, 255, 255, 0.15), rgba(255, 255, 255, 0.08)) !important;
    border-color: rgba(255, 255, 255, 0.6) !important;
    box-shadow: 
        0 8px 24px rgba(255, 255, 255, 0.2),
        inset 0 1px 0 rgba(255, 255, 255, 0.3),
        0 2px 6px rgba(0, 0, 0, 0.1),
        0 0 20px rgba(255, 255, 255, 0.1) !important;
    transform: translateY(-2px) !important;
    animation: intense-glow 1.5s ease-in-out infinite !important;
}

/* Shimmer effect on hover */
button:hover::before, input[type="button"]:hover::before, input[type="submit"]:hover::before, input[type="reset"]:hover::before {
    left: 100% !important;
}

/* Border glow on hover */
button:hover::after, input[type="button"]:hover::after, input[type="submit"]:hover::after, input[type="reset"]:hover::after {
    opacity: 1 !important;
}

/* Active/clicked ripple effect */
button:active, input[type="button"]:active, input[type="submit"]:active, input[type="reset"]:active {
    transform: translateY(0px) scale(0.98) !important;
    box-shadow: 
        0 4px 12px rgba(255, 255, 255, 0.3),
        inset 0 2px 4px rgba(255, 255, 255, 0.2) !important;
    animation: ripple-pulse 0.6s ease-out !important;
}

/* Keyframe animations */
@keyframes subtle-pulse {
    0%, 100% {
        box-shadow: 
            0 4px 12px rgba(255, 255, 255, 0.1),
            inset 0 1px 0 rgba(255, 255, 255, 0.2),
            0 1px 3px rgba(0, 0, 0, 0.2);
    }
    50% {
        box-shadow: 
            0 4px 12px rgba(255, 255, 255, 0.15),
            inset 0 1px 0 rgba(255, 255, 255, 0.25),
            0 1px 3px rgba(0, 0, 0, 0.2);
    }
}

@keyframes intense-glow {
    0%, 100% {
        box-shadow: 
            0 8px 24px rgba(255, 255, 255, 0.2),
            inset 0 1px 0 rgba(255, 255, 255, 0.3),
            0 2px 6px rgba(0, 0, 0, 0.1),
            0 0 20px rgba(255, 255, 255, 0.1);
    }
    50% {
        box-shadow: 
            0 8px 24px rgba(255, 255, 255, 0.3),
            inset 0 1px 0 rgba(255, 255, 255, 0.4),
            0 2px 6px rgba(0, 0, 0, 0.1),
            0 0 30px rgba(255, 255, 255, 0.2);
    }
}

@keyframes border-flow {
    0% {
        background: linear-gradient(
            45deg,
            rgba(255, 255, 255, 0.1),
            rgba(255, 255, 255, 0.3),
            rgba(255, 255, 255, 0.1)
        );
    }
    25% {
        background: linear-gradient(
            135deg,
            rgba(255, 255, 255, 0.3),
            rgba(255, 255, 255, 0.1),
            rgba(255, 255, 255, 0.3)
        );
    }
    50% {
        background: linear-gradient(
            225deg,
            rgba(255, 255, 255, 0.1),
            rgba(255, 255, 255, 0.3),
            rgba(255, 255, 255, 0.1)
        );
    }
    75% {
        background: linear-gradient(
            315deg,
            rgba(255, 255, 255, 0.3),
            rgba(255, 255, 255, 0.1),
            rgba(255, 255, 255, 0.3)
        );
    }
    100% {
        background: linear-gradient(
            45deg,
            rgba(255, 255, 255, 0.1),
            rgba(255, 255, 255, 0.3),
            rgba(255, 255, 255, 0.1)
        );
    }
}

@keyframes ripple-pulse {
    0% {
        transform: translateY(0px) scale(0.98);
        box-shadow: 
            0 4px 12px rgba(255, 255, 255, 0.3),
            inset 0 2px 4px rgba(255, 255, 255, 0.2);
    }
    50% {
        transform: translateY(-1px) scale(1.02);
        box-shadow: 
            0 6px 18px rgba(255, 255, 255, 0.4),
            inset 0 1px 2px rgba(255, 255, 255, 0.3),
            0 0 25px rgba(255, 255, 255, 0.2);
    }
    100% {
        transform: translateY(0px) scale(1);
        box-shadow: 
            0 8px 24px rgba(255, 255, 255, 0.2),
            inset 0 1px 0 rgba(255, 255, 255, 0.3),
            0 2px 6px rgba(0, 0, 0, 0.1),
            0 0 20px rgba(255, 255, 255, 0.1);
    }
}

/* Application autofill input's base layer element. This contains standard copy, a CTA button, and potential validation alerts. */
.ashby-application-form-autofill-input-base-layer {}

/* Application autofill input's description. */
.ashby-application-form-autofill-input-description {}

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

/* Application autofill input form's alert element. Can style [data-highlight] which can be 'negative' or 'positive'. */
.ashby-application-form-autofill-input-form-alert {}

/* Application autofill input's magic sparkles icon. */
.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 {}

/* Application autofill input's root element. Can style [data-state] which can be 'pending', 'drag', or 'default'. */
.ashby-application-form-autofill-input-root {}

/* Application autofill input's title. */
.ashby-application-form-autofill-input-title {}

/* Container element for application autofill input form. */
.ashby-application-form-autofill-pane {}

/* The resume uploader to auto-fill the application form */
.ashby-application-form-autofill-uploader {}

/* A container for displaying the custom message to the user */
.ashby-application-form-blocked-application-container {}

/* A container for the application form. */
.ashby-application-form-container {}

/* A container for the failure message */
.ashby-application-form-failure-container {}

/* A container for the label and input on an application form. */
.ashby-application-form-field-entry {}

/* The description of each question on an application form. Will only show if a description is specified. */
.ashby-application-form-question-description {}

/* The title of each question on an application form. */
.ashby-application-form-question-title {}

/* A single section on the Ashby application form. All questions will be wrapped in sections, though the default section may not have a title. */
.ashby-application-form-section-container {}

/* The header for an application form section, possibly containing a title and description. */
.ashby-application-form-section-header {}

/* The description for an application form section. May not exist if no description was specified. */
.ashby-application-form-section-header-description {}

/* The title for an application form section. May not exist for the default section. */
.ashby-application-form-section-header-title {}

/* The application submission button. Will have loading and hover states that should be tested. */
.ashby-application-form-submit-button {}

/* A container for the success message */
.ashby-application-form-success-container {}

/* The text message consent description. Displayed below phone number fields. Will only show if texting is enabled. */
.ashby-application-form-texting-consent-description {}

/* The heading of a department, which can have many teams under it. */
.ashby-department-heading {}

/* The heading of a single team. */
.ashby-department-heading-level {}

/* The button which allows users to navigate from an individual posting back to the list of all job postings. */
.ashby-job-board-back-to-all-jobs-button {}

/* A select box element for filtering the job board. */
.ashby-job-board-filter {}

/* The 'Filters' label element in the job board. */
.ashby-job-board-filters-label {}

/* The heading of the entire job board. */
.ashby-job-board-heading {}

/* The count of job postings on the job board. */
.ashby-job-board-heading-count {}

/* The 'Reset filters' label element in the job board. The reset filters label element in the job board. */
.ashby-job-board-reset-filters-label {}

/* The container of the job posting details pane. */
.ashby-job-posting-brief {
    /* This adds some space between posting briefings. */
    margin-bottom: 10px;
}

/* The heading of a department name. Departments group teams. */
.ashby-job-posting-brief-department-heading {}

/* The heading of a single team. */
.ashby-job-posting-brief-department-heading-level {}

/* The container for the details of the job posting, in the details pane. */
.ashby-job-posting-brief-details {}

/* The container for the list of job post briefings. */
.ashby-job-posting-brief-list {}

/* The title of the job posting in the details pane. */
.ashby-job-posting-brief-title {}

/* The main header on the job posting page */
.ashby-job-posting-header {}

/* The heading of a job post */
.ashby-job-posting-heading {}

/* The left pane of the job posting, with the job posting details */
.ashby-job-posting-left-pane {}

/* The right pane of the job posting, containing the tabs, overview, and application form */
.ashby-job-posting-right-pane {}

/* The application tab in the right pane of the job posting */
.ashby-job-posting-right-pane-application-tab {}

/* The overview tab in the right pane of the job posting */
.ashby-job-posting-right-pane-overview-tab {}

/* The tabs slider in the right pane of the job posting */
.ashby-job-posting-right-pane-tab-slider {}

/* A container for any surveys specified for this application form. */
.ashby-survey-form-container {}