:root,
::after,
::before {
    /* ------------------------------------------------------------ *\
	core
\* ------------------------------------------------------------ */
    /* --- primary --- */
    --core-color-charcoal: #383839;
    --core-color-primaryblue: #3d78ab;
    --core-color-primaryred: #d72c27;
    --core-color-gray: #747474;
    --core-color-deepblue: #003c76;
    --core-color-lightblue: #bdd4e5;

    /* --- secondary --- */
    --core-color-bluehover: #31628c;
    --core-color-redhover: #a33631;
    --core-color-success-vibrant: var(--core-color-bluehover);
    --core-color-failure: var(--core-color-primaryred);
    --core-color-failure-contrast: #b93f3c;
    --core-color-errorfilled: #ffefef;

    /* --- grayscales --- */
    --core-color-white: #ffffff;
    --core-color-lightgray: #e6e6e6;
    --core-color-bordergray: #bbd1e3;
    --core-color-almostblack: #181f25;
    --core-color-fadedgray: #a3a3a3;
    --core-color-black: #000000;

    /* --- system agnostic colors --- */
    --system-agnostic-color-brown: #3c3c3c;
    --core-font-system-agnostic: "Lato", sans-serif;
    --core-font-arbitration-offer: "Open Sans", sans-serif;

    /*  fonts  */
    --core-font-primary: "PT Sans", sans-serif;
    --core-font-secondary: "Roboto Slab", serif;

    /* pdf upsell variables*/
    --core-pdf-font: "Open Sans", sans-serif;
    --core-pdf-black: #383839;
    --core-pdf-white: #ffffff;
    --core-pdf-darkBlack: #000;
    --core-pdf-limeGreen: #b4ff4a;
    --core-pdf-gray: #404040;
    --core-pdf-blue: #007cff;

    /* vehicle variables */
    --core-vehicle-blue: #f4f8fa;

    --core-discount-green: #44a54d;

    /* --- tx crash data --- */
    --core-color-crimson: #DC143C;
    --core-color-darkslategray: #2F4F4F;
    --core-color-alertgreen: #1F7A1F;
    --core-color-mediumgray: #444444;

    /* ------------------------------------------------------------ *\
	semantic
\* ------------------------------------------------------------ */
    /*  colors  */
    --semantic-color-primary: var(--core-color-primaryblue);
    --semantic-color-accent: var(--core-color-primaryred);
    --semantic-color-prominent: var(--core-color-deepblue);
    --semantic-color-light: var(--core-color-lightblue);

    --semantic-color-success: var(--core-color-primaryred);
    --semantic-color-success-vibrant: var(--core-color-success-vibrant);
    --semantic-color-error: var(--core-color-failure);
    --semantic-color-error-contrast: var(--core-color-failure-contrast);

    --semantic-color-white: var(--core-color-white);
    --semantic-color-neutral: var(--core-color-lightgray);
    --semantic-color-subtle: var(--core-color-gray);
    --semantic-color-shadegray: var(--core-color-gray);
    --semantic-color-charcoal: var(--core-color-charcoal);
    --semantic-color-black: var(--core-color-almostblack);
    --semantic-color-fullblack: var(--core-color-black);

    /*  backgrounds  */
    --semantic-background-color-primary: var(--core-color-white);
    --semantic-background-color-accent: var(--semantic-color-accent);
    --semantic-background-color-subtle: var(--core-color-gray);
    --semantic-background-color-shade: var(--semantic-color-prominent);
    --semantic-background-color-dark: var(--core-color-almostblack);
    --semantic-background-color-neutral: var(--core-color-lightgray);
    --semantic-background-color-error: var(--core-color-errorfilled);
    --semantic-background-color-success: var(--semantic-color-success);
    --semantic-background-color-charcoal: var(--core-color-charcoal);
    --semantic-background-color-primaryblue: var(--core-color-primaryblue);

    /*  fills  */
    --semantic-fill-color-neutral: var(--core-color-lightgray);
    --semantic-fill-color-subtle: var(--core-color-gray);
    --semantic-fill-color-accent: var(--semantic-color-accent);
    --semantic-fill-color-success: var(--semantic-color-success);
    --semantic-fill-color-primaryblue: var(--core-color-primaryblue);
    --semantic-fill-color-white: var(--core-color-white);

    /*  borders  */
    --semantic-border-color-subtle: var(--core-color-gray);
    --semantic-border-color-default: var(--core-color-bordergray);
    --semantic-border-color-prominent: var(--core-color-gray);
    --semantic-border-color-blue: var(--core-color-deepblue);

    /*  text  */
    /* --- text font --- */
    --semantic-text-font-primary: var(--core-font-primary);
    --semantic-text-font-secondary: var(--core-font-secondary);
    --semantic-text-font-tertiary: var(--core-font-system-agnostic);
    --semantic-text-font-offer: var(--core-font-arbitration-offer);

    /* --- text color --- */
    --semantic-text-color-base: var(--core-color-charcoal);
    --semantic-text-color-primary: var(--core-color-primaryblue);
    --semantic-text-color-vibrant: var(--core-color-deepblue);
    --semantic-text-color-accent: var(--core-color-primaryred);
    --semantic-text-color-prominent: var(--core-color-deepblue);
    --semantic-text-color-success: var(--core-color-primaryblue);

    --semantic-text-color-almostblack: var(--core-color-almostblack);
    --semantic-text-color-white: var(--core-color-white);
    --semantic-text-color-black: var(--semantic-color-black);
    --semantic-text-color-darkgray: var(--semantic-color-charcoal);
    --semantic-text-color-lightgray: var(--core-color-lightgray);
    --semantic-text-color-fadedgray: var(--core-color-fadedgray);

    /* ------------------------------------------------------------ *\
    component
\* ------------------------------------------------------------ */

    /*  _body  */
    --body-background-color: var(--semantic-background-color-primary);
    --body-text-font: var(--semantic-text-font-primary);
    --body-text-font-alt: var(--semantic-text-font-secondary);
    --body-text-font-agnostic: var(--semantic-text-font-tertiary);
    --body-text-color: var(--semantic-text-color-base);
    --body-text-color-emphasis: var(--semantic-text-color-prominent);
    --body-text-color-success: var(--semantic-text-color-success);
    --body-text-color-accent: var(--semantic-text-color-accent);
    --body-text-color-darkgray: var(--semantic-text-color-darkgray);
    --body-text-color-fadedgray: var(--semantic-text-color-fadedgray);

    /*  accordion  */
    --accordion-background-color: var(--semantic-background-color-neutral);
    --accordion-icon-color: var(--semantic-fill-color-primaryblue);
    --accordion-border-color: var(--semantic-border-color-subtle);
    --accordion-header-text-color: var(--semantic-text-color-success);

    /*  anchor  */
    --anchor-text-color-accent: var(--semantic-text-color-vibrant);
    --anchor-text-color-vibrant: var(--semantic-text-color-primary);
    --anchor-text-color-white: var(--semantic-text-color-white);
    --anchor-text-color-subtle: var(--semantic-text-color-base);
    --anchor-text-color-contrast: #0645ad;

    /*  badge  */
    --badge-color-subtle: var(--semantic-color-primary);
    --badge-color-vibrant: var(--core-color-redhover);
    --badge-color-prominent: var(--semantic-color-prominent);
    --badge-color-accent: var(--semantic-color-accent);
    --badge-text-color: var(--semantic-text-color-white);

    /*  banner  */
    --banner-background-color: var(--semantic-background-color-shade);
    --banner-text-color: var(--semantic-text-color-white);

    /*  buttons  */
    --button-dropshadow: rgba(0, 0, 0, 0.2);
    --button-dropshadow-alt: rgba(255, 255, 255, 0.2);
    --button-text-font: var(--semantic-text-font-primary);
    --button-text-color: var(--semantic-text-color-white);

    /* --- primary button --- */
    --button-background-primary: var(--semantic-color-success);
    --button-background-primary-hover: var(--core-color-redhover);
    --button-background-primary-active: #e42e29;
    --button-primary-overlay-highlight: rgba(255, 255, 255, 0);
    --button-primary-overlay-shade: rgba(0, 0, 0, 0.15);

    /* --- secondary button --- */
    --button-background-secondary: var(--semantic-background-color-primaryblue);
    --button-background-secondary-hover: var(--core-color-bluehover);
    --button-background-secondary-active: #509bdc;
    --button-stroke-color-secondary: var(
        --semantic-background-color-primaryblue
    );
    --button-secondary-overlay-highlight: rgba(0, 0, 0, 0);
    --button-secondary-overlay-midpoint: rgba(0, 0, 0, 0.0384375);
    --button-secondary-overlay-shade: rgba(0, 0, 0, 0.09);

    /* --- outline button --- */
    --button-outline-border-color-accent: var(
        --semantic-background-color-accent
    );
    --button-outline-border-stroke-color-secondary: var(
        --core-color-primaryblue
    );

    /*  callout  */
    --callout-border-color-prominent: var(--semantic-color-prominent);
    --callout-border-color-accent: var(--core-color-gray);
    --callout-text-color-prominent: var(--semantic-text-color-prominent);

    /*  custom captcha [uses default SF colors] */
    --captcha-background-color: #f1f5fb;
    --captcha-logo-color: #78869a;
    --captcha-loader-color: #1996d9;
    --captcha-border-color: #bfcde0;

    /*  checkbox  */
    --checkbox-text-font: var(--semantic-text-font-offer);
    --checkbox-text-color: var(--semantic-color-fullblack);
    --checkbox-border-color-alt: var(--semantic-border-color-prominent);
    --checkbox-border-color-checked: var(--semantic-color-primary);
    --checkbox-background-color: rgba(255, 255, 255, 0.1); /* verify */
    --checkbox-background-color-default: var(
        --semantic-background-color-primary
    );
    --checkbox-background-color-checked: var(--semantic-color-primary);
    --checkbox-boxshadow-customize: rgba(0, 160, 221, 0.5);

    /*  containers  */
    --container-text-color-vibrant: var(--semantic-text-color-vibrant);
    --container-text-font-primary: var(--semantic-text-font-primary);
    --container-text-color-default: var(--semantic-text-color-base);
    --container-text-color-accent: var(--semantic-text-color-success);
    --container-background-color: var(--semantic-background-color-primary);
    --container-background-color-alt: var(--semantic-background-color-neutral);
    --container-fill-color-neutral: var(--semantic-fill-color-neutral);
    --container-boxshadow-color: rgba(187, 209, 227, 0.5);
    --container-border-color-default: var(--semantic-border-color-default);
    --container-border-color-subtle: var(--semantic-border-color-subtle);

    /* --- container head --- */
    --container-head-text-color: var(--semantic-text-color-white);
    --container-head-text-color-alt: var(--semantic-text-color-lightgray);
    --container-head-border-color: var(--semantic-color-prominent);
    --container-head-background-color: var(--semantic-background-color-shade);
    --container-head-background-color-alt: var(
        --semantic-background-color-primaryblue
    );
    --container-head-background-gradient-shade: rgba(0, 0, 0, 0.15);
    --container-head-background-gradient-highlight: rgba(255, 255, 255, 0.15);
    --container-head-background-gradient-highlight-subtle: rgba(
        255,
        255,
        255,
        0
    );

    /*  disclaimer  */
    --disclaimer-text-color-base: var(--semantic-text-color-white);
    --disclaimer-background-color: var(--semantic-background-color-subtle);
    --disclaimer-background-color-idp: var(--semantic-background-color-shade);

    /*  divider  */
    --divider-color: var(--semantic-color-neutral);
    --divider-color-default: var(--semantic-border-color-default);
    --divider-color-dark: var(--semantic-border-color-prominent);
    --divider-color-subtle: var(--semantic-border-color-subtle);
    --divider-color-white: var(--semantic-color-white);

    /*  footer  */
    --footer-text-color-base: var(--semantic-text-color-white);
    --footer-text-color-anchor: var(--semantic-text-color-white);
    --footer-background-color: var(--semantic-background-color-charcoal);

    /*  hero  */
    --hero-text-color-prominent: var(--semantic-text-color-white);
    --hero-text-color-subdued: rgba(191, 205, 224, 0.5);
    --hero-text-color-subtle: var(--semantic-text-color-lightgray);
    --hero-background-color-accent: var(--semantic-background-color-shade);
    --hero-background-color-prominent: var(
        --semantic-background-color-charcoal
    );
    --hero-background-gradient-highlight: rgba(13, 10, 45, 0.1);
    --hero-background-gradient-midpoint: rgba(12, 39, 93, 0.3);
    --hero-background-gradient-shade: var(--semantic-color-prominent);

    /*  header  */
    --header-text-contrast: var(--semantic-text-color-almostblack);
    --header-text-primary: var(--semantic-text-color-vibrant);
    --header-text-prominent: var(--semantic-text-color-prominent);
    --header-text-accent: var(--semantic-text-color-accent);
    --header-text-darkgray: var(--semantic-text-color-darkgray);
    --header-text-success: var(--semantic-text-color-success);
    --header-text-base: var(--semantic-text-color-base);
    --header-text-font-alt: var(--semantic-text-font-secondary);

    /*  input-field  */
    --input-background-color-default: var(--semantic-background-color-primary);
    --input-border-color-default: var(--semantic-border-color-subtle);
    --input-border-color-subtle: var(--semantic-border-color-subtle);
    --input-text-color-placeholder: var(--semantic-color-subtle);
    --input-text-color-contrast: var(--semantic-text-color-black);
    --input-text-color-default: var(--semantic-text-color-primary);
    --input-boxshadow-autofill: var(--semantic-color-white);

    /* ---  input-field::active --- */
    --input-border-color-active: var(--semantic-border-color-default);
    --input-boxshadow-color-highlight-active: var(
        --semantic-border-color-default
    );
    --input-boxshadow-color-midpoint-active: var(--semantic-color-subtle);
    --input-boxshadow-color-fade-active: var(--semantic-color-neutral);

    /* ---  input-field::error --- */
    --input-text-color-error: var(--semantic-color-error);
    --input-border-color-error: var(--semantic-color-error);
    --input-text-color-error-contrast: var(--semantic-color-error-contrast);
    --input-border-color-error-contrast: var(--semantic-color-error-contrast);
    --input-background-color-error: var(--semantic-background-color-error);
    --input-errormessage-border-color: var(--semantic-color-white);
    --input-errormessage-dropshadow: rgba(0, 0, 0, 0.25);

    /* ---  input-field::disabled --- */
    --input-background-color-disabled: var(--semantic-background-color-neutral);
    --input-border-color-disabled: var(--semantic-border-color-subtle);

    /*  loader  */
    --loader-background-color: var(--semantic-background-color-primary);
    --loader-line-color-background: var(--semantic-color-light);
    --loader-line-color-highlight: var(--semantic-fill-color-primaryblue);
    --loader-text-color: var(--semantic-text-color-primary);

    /*  modal  */
    --modal-header-text-color: var(--semantic-text-color-prominent);
    --modal-content-background-color: var(--semantic-background-color-primary);
    --modal-content-header-text-color: var(--semantic-text-color-base);
    --modal-background-color: rgba(0, 0, 0, 0.6);

    /*  nav  */
    --nav-text-color: var(--semantic-text-color-white);
    --nav-icon-color: var(--semantic-fill-color-neutral);
    --nav-background-color: var(--semantic-background-color-charcoal);

    /* ---  nav funnel --- */
    --nav-funnel-background-gradient-highlight: rgba(13, 10, 45, 0.1);
    --nav-funnel-background-color-accent: var(
        --semantic-background-color-accent
    );

    /*  pagination  */
    --pagination-text-color-alt: var(--semantic-text-color-white);

    /*  placeholder loader */
    --placeholder-background-gradient-highlight: var(
        --semantic-fill-color-neutral
    );
    --placeholder-background-gradient-highlight-odd: var(
        --semantic-fill-color-white
    );
    --placeholder-background-gradient-shade: var(--semantic-fill-color-subtle);

    /*  radio button  */
    --radio-label-border-color: var(--semantic-border-color-subtle);
    --radio-border-color-stroke: var(--semantic-color-black);
    --radio-border-color-selected: var(--semantic-color-primary);
    --radio-border-color-overlay: var(--semantic-color-white);
    --radio-label-text-color: var(--semantic-text-color-almostblack);
    --radio-fill-color-selected: rgba(61, 120, 171, 0.1);
    --radio-tap-highlight: rgba(255, 255, 255, 0);

    /*  section  */
    --section-text-color-white: var(--semantic-text-color-white);
    --section-text-color-lightgray: var(--semantic-text-color-lightgray);
    --section-background-color-prominent: var(
        --semantic-background-color-shade
    );
    --section-background-color-shade: var(--semantic-background-color-charcoal);

    /*  tab  */
    --tab-text-color-loading: var(--semantic-color-subtle);
    --tab-text-color-default: var(--semantic-text-color-primary);
    --tab-background-color-gradient-hightlight: rgba(255, 255, 255, 0);
    --tab-background-color-gradient-shade: rgba(0, 0, 0, 0.15);
    --tab-background-color: var(--semantic-background-color-primaryblue);
    --tab-body-background-color: var(--semantic-background-color-primary);

    /*  tooltip  */
    --tooltip-background-color: var(--semantic-color-charcoal);
    --tooltip-text-color: var(--semantic-text-color-white);

    /*  warning banner  */
    --warning-text-font: var(--semantic-text-font-secondary);
    --warning-text-color-default: var(--semantic-text-color-black);
    --warning-background-color: rgba(237, 242, 244, 0.95);
    --warning-button-text-color: var(--semantic-text-color-white);

    /*  vector  */
    --vector-background-color-prominent: var(--semantic-color-prominent);
    --vector-background-color-neutral: var(--semantic-background-color-neutral);
    --vector-background-color-accent: var(
        --semantic-background-color-primaryblue
    );
    --vector-background-color-success: var(--semantic-background-color-success);
    --vector-border-color-accent: var(--semantic-color-accent);
    --vector-border-color-primary: var(--semantic-color-primary);
    --vector-border-color-subtle: var(--semantic-border-color-subtle);
    --vector-border-color-success: var(--semantic-color-success);
    --vector-border-color-prominent: var(--semantic-color-prominent);
    --vector-fill-color-white: var(--semantic-color-white);
    --vector-fill-color-subtle: var(--semantic-color-neutral);
    --vector-fill-color-neutral: var(--semantic-fill-color-subtle);
    --vector-fill-color-shadegray: var(--semantic-color-shadegray);
    --vector-fill-color-success: var(--semantic-fill-color-primaryblue);
    --vector-uislider-handle-gray: var(--semantic-fill-color-subtle);
    --vector-watermark-color: rgba(191, 205, 224, 0.5);
    --vector-map-fade-midpoint: rgba(246, 246, 244, 0.2);
    --vector-asset-dropshadow: rgba(0, 0, 0, 0.25);
    --vector-image-overlay-gradient-highlight: rgba(255, 255, 255, 0);
    --vector-image-overlay-gradient-shade: rgba(0, 0, 0, 0.15);
    --vector-contentspacer-subtle: var(--semantic-border-color-subtle);

    /* unique colors not in use [second half of the modal on people/index */
    --modal-step-bullet-color: #f46119;
    --modal-step-text-color: #b1b1b1;
    --modal-step-loading-color: #6b6b6b;

    /* unique color for deseased tag */
    --deceased-tag-text-color: #181819;
    --deceased-tag-background-color: #c9cbd4;
    --plan-tag-background-color: rgb(220, 200, 25);
    --mostPopular-tag-background-color: #d72c27;
    --mostPopular-tag-text-color: var(--semantic-text-color-white);
    --deceased-tag-font: "Lato", sans-serif;
    --bestValue-tag-background-color: #44a54d;

    /* pdf variables */
    --pdf-banner-black: var(--core-pdf-black);
    --pdf-font-style: var(--core-pdf-font);
    --pdf-font-color-white: var(--core-pdf-white);
    --pdf-font-color-black: var(--core-pdf-darkBlack);
    --pdf-font-color-gray: var(--core-pdf-gray);
    --pdf-btn-color: var(--core-pdf-limeGreen);
    --pdf-btn-color-black: var(--core-pdf-darkBlack);
    --pdf-section-color-green: var(--core-pdf-limeGreen);
    --pdf-font-color-green: var(--core-pdf-limeGreen);
    --pdf-section-color-blue: var(--core-pdf-blue);

    /* vehicle variables */
    --vehicle-background-color: var(--core-vehicle-blue);

    /* tx crash data component */
    --tx-alert-background-color: var(--core-color-white);
    --tx-alert-text-color: var(--core-color-darkslategray);
    --tx-alert-border-color: var(--core-color-crimson);
    --tx-alert-accent-color: var(--core-color-crimson);
    --tx-badge-text-color: var(--core-color-mediumgray);
    --tx-nolien-text-color: var(--core-color-darkslategray);
    --tx-nolien-success-color: var(--core-color-alertgreen);
}
