:root {
    /* --- colors --- */

    /* brand */
    --dark-blueberry: #403357;
    --blueberry: #584476;
    --coral: #FF4B33;
    --faded-coral: #FFEDED;
    --grass: #5A995A;
    --ocean: #0EB6D0;
    --sunshine: #FFD633;
    --sand: #F7F1EA;

    /* functional */
    --danger-red: #FF0000;
    --form-selects: #0088FF;

    /* mono / greys */
    --white: #FFFFFF;
    --light-grey: #F5F5F5;
    --mid-grey: #D8D8D8;
    --dark-grey: #797979;
    --text-black: #2A2A2A;
    --black: #000000;
}

/* Brand */
.dark-blueberry {
    color: var(--dark-blueberry);
}
.dark-blueberry_background {
    background-color: var(--dark-blueberry);
}
.blueberry {
    color: var(--blueberry);
}
.blueberry_background {
    background-color: var(--blueberry);
}
.coral {
    color: var(--coral);
}
.coral_background {
    background-color: var(--coral);
}
.faded-coral {
    color: var(--faded-coral);
}
.faded-coral_background {
    background-color: var(--faded-coral);
}
.grass {
    color: var(--grass);
}
.grass_background {
    background-color: var(--grass);
}
.ocean {
    color: var(--ocean);
}
.ocean_background {
    background-color: var(--ocean);
}
.sunshine {
    color: var(--sunshine);
}
.sunshine_background {
    background-color: var(--sunshine);
}
.sand {
    color: var(--sand);
}
.sand_background {
    background-color: var(--sand);
}

/* Functional */
.danger-red {
    color: var(--danger-red);
}
.danger-red_background {
    background-color: var(--danger-red);
}

/* Monotones */
.white {
    color: var(--white);
}
.white_background {
    background-color: var(--white);
}
.light-grey {
    color: var(--light-grey);
}
.light-grey_background {
    background-color: var(--light-grey);
}
.mid-grey {
    color: var(--mid-grey);
}
.mid-grey_background {
    background-color: var(--mid-grey);
}
.dark-grey {
    color: var(--dark-grey);
}
.dark-grey_background {
    background-color: var(--dark-grey);
}
.text-black {
    color: var(--text-black);
}
.text-black_background {
    background-color: var(--text-black);
}
.black {
    color: var(--black);
}
.black_background {
    background-color: var(--black);
}

/* Text Color Selection */
::selection {
    background: var(--black); /* WebKit/Blink Browsers */
    color: var(--white);
}
::-moz-selection {
    background: var(--black); /* Gecko Browsers */
    color: var(--white);
}

/* default fonts */
p {
    color: var(--text-black);
}
a:not(.button) {
    color: var(--text-black);
}

/* Color Overrides */
/* --- black_background --- */
.black_background h1,
.black_background h2,
.black_background h3,
.black_background h4,
.black_background h5,
.black_background h6,
.black_background .h1style,
.black_background .h2style,
.black_background .h3style,
.black_background .h4style,
.black_background .h5style,
.black_background .h6style,
.black_background ul li,
.black_background ul li a {
    color: var(--white);
}
.black_background p {
    color: var(--white);
}
.black_background p.sub-heading,
.black_background div.sub-heading p {
    color: var(--white);
}
.black_background p.accent-text,
.black_background div.accent-text p {
    color: var(--white);
}
/* primary button */
.black_background a.button.primary,
.black_background button.primary {
    background-color: var(--white);
    border-color: var(--white);
    color: var(--black);
}
.black_background a.button.primary:hover,
.black_background button.primary:hover {
    background-color: var(--white);
    border-color: var(--white);
    color: var(--black);
}
/* secondary button */
.black_background a.button.secondary,
.black_background button.secondary {
    border-color: var(--white);
    color: var(--white);
}
.black_background a.button.secondary:hover,
.black_background button.secondary:hover {
    background-color: var(--white);
    border-color: var(--white);
    color: var(--black);
}
/* tertiary button */
.black_background a.button.tertiary,
.black_background button.tertiary {
    color: var(--white);
}
.black_background a.button.tertiary:before,
.black_background button.tertiary:before {
    background-color: var(--white);
}
.black_background a.button.tertiary:after,
.black_background button.tertiary:after {
    background-image: url('../buttons/assets/tertiary/white_arrow.svg');
}
/* tab button */
.black_background a.button.tab,
.black_background button.tab,
.black_background .wpcf7 button[type="submit"].tab,
.black_background .wpcf7 input[type="submit"].tab {
    color: var(--white);
}
.black_background a.button.tab::after,
.black_background button.tab::after,
.black_background .wpcf7 button[type="submit"].tab::after,
.black_background .wpcf7 input[type="submit"].tab::after {
    background-color: var(--white);
}
/* tag button */
.black_background a.button.tag,
.black_background button.tag,
.black_background .wpcf7 button[type="submit"].tag,
.black_background .wpcf7 input[type="submit"].tag {
    background-color: var(--black);
    border-color: var(--mid-grey);
    color: var(--white);
}
.black_background a.button.tag.active,
.black_background button.tag.active,
.black_background .wpcf7 button[type="submit"].tag.active,
.black_background .wpcf7 input[type="submit"].tag.active {
    background-color: var(--white);
    border-color: var(--white);
    color: var(--black);
}
/* Grass Background */
.grass_background h1,
.grass_background h2,
.grass_background h3,
.grass_background h4,
.grass_background h5,
.grass_background h6,
.grass_background .h1style,
.grass_background .h2style,
.grass_background .h3style,
.grass_background .h4style,
.grass_background .h5style,
.grass_background .h6style,
.grass_background ul li,
.grass_background ul li a {
    color: var(--white);
}
.grass_background p {
    color: var(--white);
}
/* Coral Background */
.coral_background h1,
.coral_background h2,
.coral_background h3,
.coral_background h4,
.coral_background h5,
.coral_background h6,
.coral_background .h1style,
.coral_background .h2style,
.coral_background .h3style,
.coral_background .h4style,
.coral_background .h5style,
.coral_background .h6style,
.coral_background ul li,
.coral_background ul li a {
    color: var(--white);
}
.coral_background p {
    color: var(--white);
}
/* Ocean Background */
.ocean_background h1,
.ocean_background h2,
.ocean_background h3,
.ocean_background h4,
.ocean_background h5,
.ocean_background h6,
.ocean_background .h1style,
.ocean_background .h2style,
.ocean_background .h3style,
.ocean_background .h4style,
.ocean_background .h5style,
.ocean_background .h6style,
.ocean_background ul li,
.ocean_background ul li a {
    color: var(--white);
}
.ocean_background p {
    color: var(--white);
}
/* Blueberry Background */
.blueberry_background h1,
.blueberry_background h2,
.blueberry_background h3,
.blueberry_background h4,
.blueberry_background h5,
.blueberry_background h6,
.blueberry_background .h1style,
.blueberry_background .h2style,
.blueberry_background .h3style,
.blueberry_background .h4style,
.blueberry_background .h5style,
.blueberry_background .h6style,
.blueberry_background ul li,
.blueberry_background ul li a {
    color: var(--white);
}
.blueberry_background p {
    color: var(--white);
}
.blueberry_background p.accent-text {
    color: var(--coral);
}
/* White Background */
.white_background h1,
.white_background h2,
.white_background h3,
.white_background h4,
.white_background h5,
.white_background h6,
.white_background .h1style,
.white_background .h2style,
.white_background .h3style,
.white_background .h4style,
.white_background .h5style,
.white_background .h6style,
.white_background ul li,
.white_background ul li a {
    color: var(--text-black);
}
.white_background p {
    color: var(--text-black);
}
