@function tetrad($color) {
  $hue: hue($color);
  $saturation: saturation($color);
  $lightness: lightness($color);
  $tetrad: hsl($hue, $saturation, $lightness),
  hsl($hue + 90 % 360, $saturation, $lightness),
  hsl($hue + 180 % 360, $saturation, $lightness),
  hsl($hue + 270 % 360, $saturation, $lightness);
  @return $tetrad;
}

@function multiply ($fore, $back) {
  $red: red($back) * red($fore) / 255;
  $green: green($back) * green($fore) / 255;
  $blue: blue($back) * blue($fore) / 255;
  @return rgb($red, $green, $blue);
}

@function make-color-palette($color, $dark-text: #000, $light-text: #FFF) {
  $light: #fff;
  $dark: multiply($color, $color);
  $tetrad: tetrad($color);
  $palette: (
		  50: mix($light, $color, 88%),
		  100: mix($light, $color, 70%),
		  200: mix($light, $color, 50%),
		  300: mix($light, $color, 30%),
		  400: mix($light, $color, 15%),
		  500: mix($light, $color, 0%),
		  600: mix($dark, $color, 13%),
		  700: mix($dark, $color, 30%),
		  800: mix($dark, $color, 46%),
		  900: mix($dark, $color, 75%),
		  A100: lighten(saturate(mix($dark, $color, 15%), 80%), 45.6%),
		  A200: lighten(saturate(mix($dark, $color, 15%), 80%), 35.6%),
		  A400: lighten(saturate(mix($dark, $color, 15%), 100%), 25.6%),
		  A700: lighten(saturate(mix($dark, $color, 15%), 100%), 20.5%),
		  contrast: (
				  50: $dark-text,
				  100: $dark-text,
				  200: $dark-text,
				  300: $dark-text,
				  400: $dark-text,
				  500: $light-text,
				  600: $dark-text,
				  700: $light-text,
				  800: $light-text,
				  900: $light-text,
				  A100: $dark-text,
				  A200: $dark-text,
				  A400: $dark-text,
				  A700: $dark-text,
		  )
  );
  @return $palette;
}
