Check

Boosted Innovation Cup is supported by an extensive color system that themes our styles and components. This enables more comprehensive customization and extension for any project.

Theme colors

We use a subset of all colors to create a smaller color palette for generating color schemes, also available as Sass variables and a Sass map in Boosted Innovation Cup’s scss/_variables.scss file.

Primary
Secondary
Success
Danger
Warning
Info
Light
Dark

All these colors are available as a Sass map, $theme-colors.

$theme-colors: (
  "primary":    $primary,
  "secondary":  $secondary,
  "success":    $success,
  "info":       $info,
  "warning":    $warning,
  "danger":     $danger,
  "light":      $light,
  "dark":       $dark
);

Check out our Sass maps and loops docs for how to modify these colors.

All colors

All Boosted Innovation Cup colors are available as Sass variables and a Sass map in scss/_variables.scss file. To avoid increased file sizes, we don’t create text or background color classes for each of these variables. Instead, we choose a subset of these colors for a theme palette. Please note that in the Boosted Innovation Cup colors, the indigo colors are the same as the purple ones.

Be sure to monitor contrast ratios as you customize colors. As shown below, we’ve added three contrast ratios to each of the main colors—one for the swatch’s current colors, one for against white, and one for against black.

$blue #4170d8
$blue-100
$blue-200
$blue-300
$blue-400
$blue-500
$blue-600
$blue-700
$blue-800
$blue-900
$indigo #b181d8
$indigo-100
$indigo-200
$indigo-300
$indigo-400
$indigo-500
$indigo-600
$indigo-700
$indigo-800
$indigo-900
$purple #b181d8
$purple-100
$purple-200
$purple-300
$purple-400
$purple-500
$purple-600
$purple-700
$purple-800
$purple-900
$pink #ffabd4
$pink-100
$pink-200
$pink-300
$pink-400
$pink-500
$pink-600
$pink-700
$pink-800
$pink-900
$red #ff2828
$red-100
$red-200
$red-300
$red-400
$red-500
$red-600
$red-700
$red-800
$red-900
$orange #5093ff
$orange-100
$orange-200
$orange-300
$orange-400
$orange-500
$orange-600
$orange-700
$orange-800
$orange-900
$yellow #fc0
$yellow-100
$yellow-200
$yellow-300
$yellow-400
$yellow-500
$yellow-600
$yellow-700
$yellow-800
$yellow-900
$green #3baa3c
$green-100
$green-200
$green-300
$green-400
$green-500
$green-600
$green-700
$green-800
$green-900
$teal #4fc887
$teal-100
$teal-200
$teal-300
$teal-400
$teal-500
$teal-600
$teal-700
$teal-800
$teal-900
$cyan #71c2f6
$cyan-100
$cyan-200
$cyan-300
$cyan-400
$cyan-500
$cyan-600
$cyan-700
$cyan-800
$cyan-900
$gray-500 #ccc
$gray-100
$gray-200
$gray-300
$gray-400
$gray-500
$gray-600
$gray-700
$gray-800
$gray-900
$accessible-orange #1976d2
$supporting-yellow #fee100
$black #000
$white #fff

Innovation Cup’s colors

Color palette is used throughout Boosted Innovation Cup in multiple ways, either in components or as utilities for both background-color and color.

Core colors

White
#fff
$white
Black
#000
$secondary
Accessible blue
#1976d2
$accessible-orange
Brand blue
#5093ff
$brand-orange

Supporting colors

Blue
#71c2f6
$supporting-blue
Yellow
#fee100
$supporting-yellow
Green
#4fc887
$supporting-green
Purple
#b181d8
$supporting-purple
Pink
#ffabd4
$supporting-pink

Functional colors

Green
#3baa3c
$functional-green
Blue
#4170d8
$functional-blue
Yellow
#fc0
$functional-yellow
Red
#ff2828
$functional-red

Grays

300
#eee
$gray-300
400
#ddd
$gray-400
500
#ccc
$gray-500
600
#999
$gray-600
700
#666
$gray-700
900
#333
$gray-900
800
#595959
$gray-800

Usage

Boosted Innovation Cup sets an additional layer to use Innovation Cup’s color tokens names—defined first and mapped to Bootstrap core variables. Boosted Innovation Cup core uses Bootstrap’s naming for maintenance ease, but you’re encouraged to use Innovation Cup color tokens when it comes to custom code.

Innovation Cup color tokens

// Boosted mod
        //// Core colors
        $accessible-orange: #1976d2;
        $brand-orange:      #5093ff;
        
        //// Functional colors
        $functional-green:  #3baa3c;
        $functional-blue:   #4170d8;
        $functional-yellow: #fc0;
        $functional-red:    #ff2828;
        //// Supporting colors
        $supporting-blue:   #71c2f6;
        $supporting-yellow: #fee100;
        $supporting-green:  #4fc887;
        $supporting-purple: #b181d8;
        $supporting-pink:   #ffabd4;
        

Bootstrap core variables

$blue:    $functional-blue;
        $indigo:  $supporting-purple;
        $purple:  $supporting-purple;
        $pink:    $supporting-pink;
        $red:     $functional-red;
        $orange:  $brand-orange;
        $yellow:  $functional-yellow;
        $green:   $functional-green;
        $teal:    $supporting-green;
        $cyan:    $supporting-blue;
        

Notes on Sass

Sass cannot programmatically generate variables, so we manually created variables for every tint and shade ourselves. We specify the midpoint value (e.g., $blue-500) and use custom color functions to tint (lighten) or shade (darken) our colors via Sass’s mix() color function.

Using mix() is not the same as lighten() and darken()—the former blends the specified color with white or black, while the latter only adjusts the lightness value of each color. The result is a much more complete suite of colors, as shown in this CodePen demo.

Our tint-color() and shade-color() functions use mix() alongside our $theme-color-interval variable, which specifies a stepped percentage value for each mixed color we produce. See the scss/_functions.scss and scss/_variables.scss files for the full source code.

Color Sass maps

Boosted Innovation Cup’s source Sass files include three maps to help you quickly and easily loop over a list of colors and their hex values.

  • $colors lists all our available base (500) colors
  • $theme-colors lists all semantically named theme colors (shown below)
  • $background-colors overrides $theme-colors specifically for usage in .bg-* utilities
  • $grays lists all tints and shades of gray

Within scss/_variables.scss, you’ll find Boosted Innovation Cup’s color variables and Sass map. Here’s an example of the $colors Sass map:

$colors: (
  "blue":       $blue,
  "indigo":     $indigo,
  "purple":     $purple,
  "pink":       $pink,
  "red":        $red,
  "orange":     $orange,
  "yellow":     $yellow,
  "green":      $green,
  "teal":       $teal,
  "cyan":       $cyan,
  "black":      $black,
  "white":      $white,
  "gray":       $gray-600,
  "gray-dark":  $gray-800
);

Add, remove, or modify values within the map to update how they’re used in many other components. Unfortunately at this time, not every component utilizes this Sass map. Future updates will strive to improve upon this. Until then, plan on making use of the ${color} variables and this Sass map.

Example

Here’s how you can use these in your Sass:

.alpha { color: $purple; }
.beta {
  color: $yellow-300;
  background-color: $indigo-900;
}

Color and background utility classes are also available for setting color and background-color using the 500 color values.

Generating utilities

Boosted Innovation Cup doesn’t include color and background-color utilities for every color variable, but you can generate these yourself with our utility API and our extended Sass maps.

  1. To start, make sure you’ve imported our functions, variables, mixins, and utilities.
  2. Use our map-merge-multiple() function to quickly merge multiple Sass maps together in a new map.
  3. Merge this new combined map to extend any utility with a {color}-{level} class name.

Here’s an example that generates text color utilities (e.g., .text-purple-500) using the above steps.

@import "boosted/scss/functions";
@import "boosted/scss/variables";
@import "boosted/scss/maps";
@import "boosted/scss/mixins";
@import "boosted/scss/utilities";

$all-colors: map-merge-multiple($blues, $indigos, $purples, $pinks, $reds, $oranges, $yellows, $greens, $teals, $cyans);

$utilities: map-merge(
  $utilities,
  (
    "color": map-merge(
      map-get($utilities, "color"),
      (
        values: map-merge(
          map-get(map-get($utilities, "color"), "values"),
          (
            $all-colors
          ),
        ),
      ),
    ),
  )
);

@import "boosted/scss/utilities/api";

This will generate new .text-{color}-{level} utilities for every color and level. You can do the same for any other utility and property as well.