
@function get-color($targetColor, $targetHue: 500) {

	@each $color in map-keys(map-get($color-map, colors)) {

		@if ($color == $targetColor) {

			@each $hue in map-keys(map-fetch($color-map, colors $color)) {

				@if ($hue == $targetHue) {

					@return map-fetch($color-map, colors $color $hue 'primary');

				}
	
			}

		}
	}

	@return $color-black;

}

$color-black:                  #000000 !default;
$color-white:                  #FFFFFF !default;

$bg-text-black:                #424242 !default;
$bg-text-white:                #F5F5F5 !default;


$color-map: (
	colors: (
		red: (
			50:   ( primary: #FFEBEE, text: $bg-text-black ),
			100:  ( primary: #FFCDD2, text: $bg-text-black ),
			200:  ( primary: #EF9A9A, text: $bg-text-black ),
			300:  ( primary: #E57373, text: $bg-text-black ),
			400:  ( primary: #EF5350, text: $bg-text-black ),
			500:  ( primary: #F44336, text: $bg-text-white ),
			600:  ( primary: #E53935, text: $bg-text-white ),
			700:  ( primary: #D32F2F, text: $bg-text-white ),
			800:  ( primary: #C62828, text: $bg-text-white ),
			900:  ( primary: #B71C1C, text: $bg-text-white ),
			A100: ( primary: #FF8A80, text: $bg-text-black ),
			A200: ( primary: #FF5252, text: $bg-text-white ),
			A400: ( primary: #FF1744, text: $bg-text-white ),
			A700: ( primary: #D50000, text: $bg-text-white )
		),
		pink: (
			50:   ( primary: #FCE4EC, text: $bg-text-black ),
			100:  ( primary: #F8BBD0, text: $bg-text-black ),
			200:  ( primary: #F48FB1, text: $bg-text-black ),
			300:  ( primary: #F06292, text: $bg-text-black ),
			400:  ( primary: #EC407A, text: $bg-text-black ),
			500:  ( primary: #E91E63, text: $bg-text-white ),
			600:  ( primary: #D81B60, text: $bg-text-white ),
			700:  ( primary: #C2185B, text: $bg-text-white ),
			800:  ( primary: #AD1457, text: $bg-text-white ),
			900:  ( primary: #880E4F, text: $bg-text-white ),
			A100: ( primary: #FF80AB, text: $bg-text-black ),
			A200: ( primary: #FF4081, text: $bg-text-white ),
			A400: ( primary: #F50057, text: $bg-text-white ),
			A700: ( primary: #C51162, text: $bg-text-white )
		),
		purple: (
			50:   ( primary: #F3E5F5, text: $bg-text-black ),
			100:  ( primary: #E1BEE7, text: $bg-text-black ),
			200:  ( primary: #CE93D8, text: $bg-text-black ),
			300:  ( primary: #BA68C8, text: $bg-text-white ),
			400:  ( primary: #AB47BC, text: $bg-text-white ),
			500:  ( primary: #9C27B0, text: $bg-text-white ),
			600:  ( primary: #8E24AA, text: $bg-text-white ),
			700:  ( primary: #7B1FA2, text: $bg-text-white ),
			800:  ( primary: #6A1B9A, text: $bg-text-white ),
			900:  ( primary: #4A148C, text: $bg-text-white ),
			A100: ( primary: #EA80FC, text: $bg-text-black ),
			A200: ( primary: #E040FB, text: $bg-text-white ),
			A400: ( primary: #D500F9, text: $bg-text-white ),
			A700: ( primary: #AA00FF, text: $bg-text-white )
		),
		deep-purple: (
			50:   ( primary: #EDE7F6, text: $bg-text-black ),
			100:  ( primary: #D1C4E9, text: $bg-text-black ),
			200:  ( primary: #B39DDB, text: $bg-text-black ),
			300:  ( primary: #9575CD, text: $bg-text-white ),
			400:  ( primary: #7E57C2, text: $bg-text-white ),
			500:  ( primary: #673AB7, text: $bg-text-white ),
			600:  ( primary: #5E35B1, text: $bg-text-white ),
			700:  ( primary: #512DA8, text: $bg-text-white ),
			800:  ( primary: #4527A0, text: $bg-text-white ),
			900:  ( primary: #311B92, text: $bg-text-white ),
			A100: ( primary: #B388FF, text: $bg-text-black ),
			A200: ( primary: #7C4DFF, text: $bg-text-white ),
			A400: ( primary: #651FFF, text: $bg-text-white ),
			A700: ( primary: #6200EA, text: $bg-text-white )
		),
		indigo: (
			50:   ( primary: #E8EAF6, text: $bg-text-black ),
			100:  ( primary: #C5CAE9, text: $bg-text-black ),
			200:  ( primary: #9FA8DA, text: $bg-text-black ),
			300:  ( primary: #7986CB, text: $bg-text-white ),
			400:  ( primary: #5C6BC0, text: $bg-text-white ),
			500:  ( primary: #3F51B5, text: $bg-text-white ),
			600:  ( primary: #3949AB, text: $bg-text-white ),
			700:  ( primary: #303F9F, text: $bg-text-white ),
			800:  ( primary: #283593, text: $bg-text-white ),
			900:  ( primary: #1A237E, text: $bg-text-white ),
			A100: ( primary: #8C9EFF, text: $bg-text-black ),
			A200: ( primary: #536DFE, text: $bg-text-white ),
			A400: ( primary: #3D5AFE, text: $bg-text-white ),
			A700: ( primary: #304FFE, text: $bg-text-white )
		),
		blue: (
			50:   ( primary: #E3F2FD, text: $bg-text-black ),
			100:  ( primary: #BBDEFB, text: $bg-text-black ),
			200:  ( primary: #90CAF9, text: $bg-text-black ),
			300:  ( primary: #64B5F6, text: $bg-text-black ),
			400:  ( primary: #42A5F5, text: $bg-text-black ),
			500:  ( primary: #2196F3, text: $bg-text-white ),
			600:  ( primary: #1E88E5, text: $bg-text-white ),
			700:  ( primary: #1976D2, text: $bg-text-white ),
			800:  ( primary: #1565C0, text: $bg-text-white ),
			900:  ( primary: #0D47A1, text: $bg-text-white ),
			A100: ( primary: #82B1FF, text: $bg-text-black ),
			A200: ( primary: #448AFF, text: $bg-text-white ),
			A400: ( primary: #2979FF, text: $bg-text-white ),
			A700: ( primary: #2962FF, text: $bg-text-white )
		),
		light-blue: (
			50:   ( primary: #E1F5FE, text: $bg-text-black ),
			100:  ( primary: #B3E5FC, text: $bg-text-black ),
			200:  ( primary: #81D4FA, text: $bg-text-black ),
			300:  ( primary: #4FC3F7, text: $bg-text-black ),
			400:  ( primary: #29B6F6, text: $bg-text-black ),
			500:  ( primary: #03A9F4, text: $bg-text-white ),
			600:  ( primary: #039BE5, text: $bg-text-white ),
			700:  ( primary: #0288D1, text: $bg-text-white ),
			800:  ( primary: #0277BD, text: $bg-text-white ),
			900:  ( primary: #01579B, text: $bg-text-white ),
			A100: ( primary: #80D8FF, text: $bg-text-black ),
			A200: ( primary: #40C4FF, text: $bg-text-black ),
			A400: ( primary: #00B0FF, text: $bg-text-black ),
			A700: ( primary: #0091EA, text: $bg-text-white )
		),
		cyan: (
			50:   ( primary: #E0F7FA, text: $bg-text-black ),
			100:  ( primary: #B2EBF2, text: $bg-text-black ),
			200:  ( primary: #80DEEA, text: $bg-text-black ),
			300:  ( primary: #4DD0E1, text: $bg-text-black ),
			400:  ( primary: #26C6DA, text: $bg-text-black ),
			500:  ( primary: #00BCD4, text: $bg-text-white ),
			600:  ( primary: #00ACC1, text: $bg-text-white ),
			700:  ( primary: #0097A7, text: $bg-text-white ),
			800:  ( primary: #00838F, text: $bg-text-white ),
			900:  ( primary: #006064, text: $bg-text-white ),
			A100: ( primary: #84FFFF, text: $bg-text-black ),
			A200: ( primary: #18FFFF, text: $bg-text-black ),
			A400: ( primary: #00E5FF, text: $bg-text-black ),
			A700: ( primary: #00B8D4, text: $bg-text-black )
		),
		teal: (
			50:   ( primary: #E0F2F1, text: $bg-text-black ),
			100:  ( primary: #B2DFDB, text: $bg-text-black ),
			200:  ( primary: #80CBC4, text: $bg-text-black ),
			300:  ( primary: #4DB6AC, text: $bg-text-black ),
			400:  ( primary: #26A69A, text: $bg-text-black ),
			500:  ( primary: #009688, text: $bg-text-white ),
			600:  ( primary: #00897B, text: $bg-text-white ),
			700:  ( primary: #00796B, text: $bg-text-white ),
			800:  ( primary: #00695C, text: $bg-text-white ),
			900:  ( primary: #004D40, text: $bg-text-white ),
			A100: ( primary: #A7FFEB, text: $bg-text-black ),
			A200: ( primary: #64FFDA, text: $bg-text-black ),
			A400: ( primary: #1DE9B6, text: $bg-text-black ),
			A700: ( primary: #00BFA5, text: $bg-text-black )
		),
		green: (
			50:   ( primary: #E8F5E9, text: $bg-text-black ),
			100:  ( primary: #C8E6C9, text: $bg-text-black ),
			200:  ( primary: #A5D6A7, text: $bg-text-black ),
			300:  ( primary: #81C784, text: $bg-text-black ),
			400:  ( primary: #66BB6A, text: $bg-text-black ),
			500:  ( primary: #4CAF50, text: $bg-text-white ),
			600:  ( primary: #43A047, text: $bg-text-white ),
			700:  ( primary: #388E3C, text: $bg-text-white ),
			800:  ( primary: #2E7D32, text: $bg-text-white ),
			900:  ( primary: #1B5E20, text: $bg-text-white ),
			A100: ( primary: #B9F6CA, text: $bg-text-black ),
			A200: ( primary: #69F0AE, text: $bg-text-black ),
			A400: ( primary: #00E676, text: $bg-text-black ),
			A700: ( primary: #00C853, text: $bg-text-black )
		),
		light-green: (
			50:   ( primary: #F1F8E9, text: $bg-text-black ),
			100:  ( primary: #DCEDC8, text: $bg-text-black ),
			200:  ( primary: #C5E1A5, text: $bg-text-black ),
			300:  ( primary: #AED581, text: $bg-text-black ),
			400:  ( primary: #9CCC65, text: $bg-text-black ),
			500:  ( primary: #8BC34A, text: $bg-text-black ),
			600:  ( primary: #7CB342, text: $bg-text-black ),
			700:  ( primary: #689F38, text: $bg-text-black ),
			800:  ( primary: #558B2F, text: $bg-text-white ),
			900:  ( primary: #33691E, text: $bg-text-white ),
			A100: ( primary: #CCFF90, text: $bg-text-black ),
			A200: ( primary: #B2FF59, text: $bg-text-black ),
			A400: ( primary: #76FF03, text: $bg-text-black ),
			A700: ( primary: #64DD17, text: $bg-text-black )
		),
		lime: (
			50:   ( primary: #F9FBE7, text: $bg-text-black ),
			100:  ( primary: #F0F4C3, text: $bg-text-black ),
			200:  ( primary: #E6EE9C, text: $bg-text-black ),
			300:  ( primary: #DCE775, text: $bg-text-black ),
			400:  ( primary: #D4E157, text: $bg-text-black ),
			500:  ( primary: #CDDC39, text: $bg-text-black ),
			600:  ( primary: #C0CA33, text: $bg-text-black ),
			700:  ( primary: #AFB42B, text: $bg-text-black ),
			800:  ( primary: #9E9D24, text: $bg-text-black ),
			900:  ( primary: #827717, text: $bg-text-white ),
			A100: ( primary: #F4FF81, text: $bg-text-black ),
			A200: ( primary: #EEFF41, text: $bg-text-black ),
			A400: ( primary: #C6FF00, text: $bg-text-black ),
			A700: ( primary: #AEEA00, text: $bg-text-black )
		),
		yellow: (
			50:   ( primary: #FFFDE7, text: $bg-text-black ),
			100:  ( primary: #FFF9C4, text: $bg-text-black ),
			200:  ( primary: #FFF59D, text: $bg-text-black ),
			300:  ( primary: #FFF176, text: $bg-text-black ),
			400:  ( primary: #FFEE58, text: $bg-text-black ),
			500:  ( primary: #FFEB3B, text: $bg-text-black ),
			600:  ( primary: #FDD835, text: $bg-text-black ),
			700:  ( primary: #FBC02D, text: $bg-text-black ),
			800:  ( primary: #F9A825, text: $bg-text-black ),
			900:  ( primary: #F57F17, text: $bg-text-black ),
			A100: ( primary: #FFFF8D, text: $bg-text-black ),
			A200: ( primary: #FFFF00, text: $bg-text-black ),
			A400: ( primary: #FFEA00, text: $bg-text-black ),
			A700: ( primary: #FFD600, text: $bg-text-black )
		),
		amber: (
			50:   ( primary: #FFF8E1, text: $bg-text-black ),
			100:  ( primary: #FFECB3, text: $bg-text-black ),
			200:  ( primary: #FFE082, text: $bg-text-black ),
			300:  ( primary: #FFE082, text: $bg-text-black ),
			400:  ( primary: #FFCA28, text: $bg-text-black ),
			500:  ( primary: #FFC107, text: $bg-text-black ),
			600:  ( primary: #FFB300, text: $bg-text-black ),
			700:  ( primary: #FFA000, text: $bg-text-black ),
			800:  ( primary: #FF8F00, text: $bg-text-black ),
			900:  ( primary: #FF6F00, text: $bg-text-black ),
			A100: ( primary: #FFE57F, text: $bg-text-black ),
			A200: ( primary: #FFD740, text: $bg-text-black ),
			A400: ( primary: #FFC400, text: $bg-text-black ),
			A700: ( primary: #FFAB00, text: $bg-text-black )
		),
		orange: (
			50:   ( primary: #FFF3E0, text: $bg-text-black ),
			100:  ( primary: #FFE0B2, text: $bg-text-black ),
			200:  ( primary: #FFCC80, text: $bg-text-black ),
			300:  ( primary: #FFB74D, text: $bg-text-black ),
			400:  ( primary: #FFA726, text: $bg-text-black ),
			500:  ( primary: #FF9800, text: $bg-text-black ),
			600:  ( primary: #FB8C00, text: $bg-text-black ),
			700:  ( primary: #F57C00, text: $bg-text-black ),
			800:  ( primary: #EF6C00, text: $bg-text-white ),
			900:  ( primary: #E65100, text: $bg-text-white ),
			A100: ( primary: #FFD180, text: $bg-text-black ),
			A200: ( primary: #FFAB40, text: $bg-text-black ),
			A400: ( primary: #FF9100, text: $bg-text-black ),
			A700: ( primary: #FF6D00, text: $bg-text-black )
		),
		deep-orange: (
			50:   ( primary: #FBE9E7, text: $bg-text-black ),
			100:  ( primary: #FFCCBC, text: $bg-text-black ),
			200:  ( primary: #FFAB91, text: $bg-text-black ),
			300:  ( primary: #FF8A65, text: $bg-text-black ),
			400:  ( primary: #FF7043, text: $bg-text-black ),
			500:  ( primary: #FF5722, text: $bg-text-white ),
			600:  ( primary: #F4511E, text: $bg-text-white ),
			700:  ( primary: #E64A19, text: $bg-text-white ),
			800:  ( primary: #D84315, text: $bg-text-white ),
			900:  ( primary: #BF360C, text: $bg-text-white ),
			A100: ( primary: #FF9E80, text: $bg-text-black ),
			A200: ( primary: #FF6E40, text: $bg-text-black ),
			A400: ( primary: #FF3D00, text: $bg-text-white ),
			A700: ( primary: #DD2C00, text: $bg-text-white )
		),
		brown: (
			50:   ( primary: #EFEBE9, text: $bg-text-black ),
			100:  ( primary: #D7CCC8, text: $bg-text-black ),
			200:  ( primary: #BCAAA4, text: $bg-text-black ),
			300:  ( primary: #A1887F, text: $bg-text-white ),
			400:  ( primary: #8D6E63, text: $bg-text-white ),
			500:  ( primary: #795548, text: $bg-text-white ),
			600:  ( primary: #6D4C41, text: $bg-text-white ),
			700:  ( primary: #5D4037, text: $bg-text-white ),
			800:  ( primary: #4E342E, text: $bg-text-white ),
			900:  ( primary: #3E2723, text: $bg-text-white )
		),
		grey: (
			50:   ( primary: #FAFAFA, text: $bg-text-black ),
			100:  ( primary: #F5F5F5, text: $bg-text-black ),
			200:  ( primary: #EEEEEE, text: $bg-text-black ),
			300:  ( primary: #E0E0E0, text: $bg-text-black ),
			400:  ( primary: #BDBDBD, text: $bg-text-black ),
			500:  ( primary: #9E9E9E, text: $bg-text-black ),
			600:  ( primary: #757575, text: $bg-text-white ),
			700:  ( primary: #616161, text: $bg-text-white ),
			800:  ( primary: #424242, text: $bg-text-white ),
			900:  ( primary: #212121, text: $bg-text-white )
		),
		blue-grey: (
			50:   ( primary: #ECEFF1, text: $bg-text-black ),
			100:  ( primary: #CFD8DC, text: $bg-text-black ),
			200:  ( primary: #B0BEC5, text: $bg-text-black ),
			300:  ( primary: #90A4AE, text: $bg-text-black ),
			400:  ( primary: #78909C, text: $bg-text-white ),
			500:  ( primary: #607D8B, text: $bg-text-white ),
			600:  ( primary: #546E7A, text: $bg-text-white ),
			700:  ( primary: #455A64, text: $bg-text-white ),
			800:  ( primary: #37474F, text: $bg-text-white ),
			900:  ( primary: #263238, text: $bg-text-white )
		)
	)
);
