$primary ?= $turquoise

$info ?= $cyan
$success ?= $green
$warning ?= $yellow
$danger ?= $red

$light ?= $white-ter
$dark ?= $grey-darker

// Invert colors

$orange-invert ?= findColorInvert($orange)
$yellow-invert ?= findColorInvert($yellow)
$green-invert ?= findColorInvert($green)
$turquoise-invert ?= findColorInvert($turquoise)
$cyan-invert ?= findColorInvert($cyan)
$blue-invert ?= findColorInvert($blue)
$purple-invert ?= findColorInvert($purple)
$red-invert ?= findColorInvert($red)

$primary-invert ?= findColorInvert($primary)
$primary-light ?= findLightColor($primary)
$primary-dark ?= findDarkColor($primary)
$info-invert ?= findColorInvert($info)
$info-light ?= findLightColor($info)
$info-dark ?= findDarkColor($info)
$success-invert ?= findColorInvert($success)
$success-light ?= findLightColor($success)
$success-dark ?= findDarkColor($success)
$warning-invert ?= findColorInvert($warning)
$warning-light ?= findLightColor($warning)
$warning-dark ?= findDarkColor($warning)
$danger-invert ?= findColorInvert($danger)
$danger-light ?= findLightColor($danger)
$danger-dark ?= findDarkColor($danger)
$light-invert ?= findColorInvert($light)
$dark-invert ?= findColorInvert($dark)

// General colors

$scheme-main ?= $white
$scheme-main-bis ?= $white-bis
$scheme-main-ter ?= $white-ter
$scheme-invert ?= $black
$scheme-invert-bis ?= $black-bis
$scheme-invert-ter ?= $black-ter

$background ?= $white-ter

$border ?= $grey-lighter
$border-hover ?= $grey-light
$border-light ?= $grey-lightest
$border-light-hover ?= $grey-light

// Text colors

$text ?= $grey-dark
$text-invert ?= findColorInvert($text)
$text-light ?= $grey
$text-strong ?= $grey-darker

// Code colors

$code ?= bulma-stylus-darken($red, 15%)
$code-background ?= $background

$pre ?= $text
$pre-background ?= $background

// Link colors

$link ?= $blue
$link-invert ?= findColorInvert($link)
$link-light ?= findLightColor($link)
$link-dark ?= findDarkColor($link)
$link-visited ?= $purple

$link-hover ?= $grey-darker
$link-hover-border ?= $grey-light

$link-focus ?= $grey-darker
$link-focus-border ?= $blue

$link-active ?= $grey-darker
$link-active-border ?= $grey-dark

// Typography

$family-primary ?= $family-sans-serif
$family-secondary ?= $family-sans-serif
$family-code ?= $family-monospace

$size-small ?= $size-7
$size-normal ?= $size-6
$size-medium ?= $size-5
$size-large ?= $size-4

// Lists and maps
$custom-colors ?= null
$custom-shades ?= null

$colors ?= mergeColorMaps({
  "white": {
    '1': $white,
    '2': $black
  },
  "black": {
    '1': $black,
    '2': $white
  },
  "light": {
    '1': $light,
    '2': $light-invert
  },
  "dark": {
    '1': $dark,
    '2': $dark-invert
  },
  "primary": {
    '1': $primary,
    '2': $primary-invert,
    '3': $primary-light,
    '4': $primary-dark
  },
  "link": {
    '1': $link,
    '2': $link-invert,
    '3': $link-light,
    '4': $link-dark
  },
  "info": {
    '1': $info,
    '2': $info-invert,
    '3': $info-light,
    '4': $info-dark
  },
  "success": {
    '1': $success,
    '2': $success-invert,
    '3': $success-light,
    '4': $success-dark
  },
  "warning": {
    '1': $warning,
    '2': $warning-invert,
    '3': $warning-light,
    '4': $warning-dark
  },
  "danger": {
    '1': $danger,
    '2': $danger-invert,
    '3': $danger-light,
    '4': $danger-dark
  }}, $custom-colors)

$shades ?= mergeColorMaps({"black-bis": $black-bis, "black-ter": $black-ter, "grey-darker": $grey-darker, "grey-dark": $grey-dark, "grey": $grey, "grey-light": $grey-light, "grey-lighter": $grey-lighter, "white-ter": $white-ter, "white-bis": $white-bis}, $custom-shades)

$sizes ?= $size-1 $size-2 $size-3 $size-4 $size-5 $size-6 $size-7
