:root {
    /* --- colors --- */

    /* brand */
    --dark-blueberry: #403357;
    --blueberry: #584476;
    --coral: #FF4B33;
    --light-coral: #FFEDED;
     --grass: #66BC66;
    --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);
}
.light-coral {
    color: var(--light-coral);
}
.light-coral_background {
    background-color: var(--light-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);
}

.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);
    opacity: 0.8;
}
a:not(.button) {
    color: var(--dark-grey);
}






/* 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);
}
/* --- dark-blueberry_background --- */
.dark-blueberry_background h1,
.dark-blueberry_background h2,
.dark-blueberry_background h3,
.dark-blueberry_background h4,
.dark-blueberry_background h5,
.dark-blueberry_background h6,
.dark-blueberry_background .h1style,
.dark-blueberry_background .h2style,
.dark-blueberry_background .h3style,
.dark-blueberry_background .h4style,
.dark-blueberry_background .h5style,
.dark-blueberry_background .h6style,
.dark-blueberry_background ul li,
.dark-blueberry_background ul li a {
    color: var(--white);
}
.dark-blueberry_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);
}
/* --- 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);
}