{:versionI"3.4.19 (Selective Steve):EF:shaI"-ffaf2635a85599631a375ed6172e076ed31138e0;F:
contents"�Mo:Sass::Tree::RootNode:@children[o:Sass::Tree::CommentNode
:@value[I"�/* =colors-utils

Sass functions and color related variables beyond standard color declarations
---------------------------------------------------------------------------- */:ET:
@type:normal;[�:
@linei:
@options{�o;
;[I")/* map for all color declarations */;	T;
:silent;[�;i;
@o:Sass::Tree::VariableNode
:
@nameI"colors;	T:
@expro:$Sass::Script::Tree::ListLiteral:@elements[�:@separator0;i:@source_rangeo:Sass::Source::Range	:@start_poso:Sass::Source::Position;i:@offseti:
@end_poso;;i;i:
@fileI"x/Users/nmcclay/Documents/git/forever-style-guide/app/assets/stylesheets/forever_style_guide/utils/_color-utils.scss;	T:@importero:Sass::Rails::SassImporter:
@rootI"L/Users/nmcclay/Documents/git/forever-style-guide/app/assets/stylesheets;	F:@real_rootI"L/Users/nmcclay/Documents/git/forever-style-guide/app/assets/stylesheets;	F:@same_name_warningso:Set:
@hash{�:@filename@;
@:
@guardedT:@global0;[�;i;o;	;o;;i;i;o;;i;i;@;@;
@o;
;[I")/* map for only colorified colors */;	T;
;;[�;i;
@o;
;I"core_colors;	T;o;;[�;0;i;o;	;o;;i;i;o;;i;i;@;@;#@;
@;$T;%0;[�;i;o;	;o;;i;i;o;;i;i;@;@;
@o;
;[I"f/* pre-defined variations for easy consistent adjustments across future color variation tweaks */;	T;
;;[�;i;
@o;
;I"variations;	T;o:#Sass::Script::Tree::MapLiteral
:@pairs[[o: Sass::Script::Tree::Literal	;o: Sass::Script::Value::String;I"
light;	T;
:identifier;
@;i;o;	;o;;i;i;o;;i;i
;@;@;#@o;&
;'[[o;(	;o;);I"
function;	T;
;*;
@;i;o;	;o;;i;i
;o;;i;i;@;@;#@o;(	;o;);I"lighten;	T;
;*;
@;i;o;	;o;;i;i;o;;i;i;@;@;#@[o;(	;o;);I"parameters;	T;
;*;
@;i;o;	;o;;i;i
;o;;i;i;@;@;#@o;(	;o: Sass::Script::Value::Number
;i:@numerator_units[I"%;	T:@denominator_units[�:@original0;
@;i;o;	;o;;i;i;o;;i;i;@;@;#@;i;o;	;o;;i;i;o;;i;i;@;@;#@;
@[o;(	;o;);I"	dark;	T;
;*;
@;i;o;	;o;;i;i;o;;i;i;@;@;#@o;&
;'[[o;(	;o;);I"
function;	T;
;*;
@;i;o;	;o;;i;i
;o;;i;i;@;@;#@o;(	;o;);I"darken;	T;
;*;
@;i;o;	;o;;i;i;o;;i;i;@;@;#@[o;(	;o;);I"parameters;	T;
;*;
@;i;o;	;o;;i;i
;o;;i;i;@;@;#@o;(	;o;+
;i;,[I"%;	T;-[�;.0;
@;i;o;	;o;;i;i;o;;i;i;@;@;#@;i;o;	;o;;i;i;o;;i;i;@;@;#@;
@;i;o;	;o;;i;i;o;;i;i	;@;@;#@;
@;$0;%0;[�;i;o;	;o;;i;i;o;;i;i;@;@;
@o;
;[I"./* appends colors to master color list */;	T;
;;[�;i;
@o:Sass::Tree::FunctionNode
;I"set_color;	T:
@args[[o:!Sass::Script::Tree::Variable;I"id;	T:@underscored_nameI"id;	T;i;o;	;o;;i;i;o;;i;i;@;@;#@;
@0[o;1;I"
color;	T;2I"
color;	T;i;o;	;o;;i;i;o;;i;i%;@;@;#@;
@0[o;1;I"	core;	T;2I"	core;	T;i;o;	;o;;i;i';o;;i;i,;@;@;#@;
@o;(	;o:Sass::Script::Value::Bool;F;
@;i;o;	;o;;i;i.;o;;i;i3;@;@;#@:@splat0;[	o;
;I"colors;	T;o: Sass::Script::Tree::Funcall;I"map-merge;	T;0[o;1;I"colors;	T;2I"colors;	T;i;o;	;o;;i;i;o;;i;i";@;@;#@;
@o;&
;'[[o;1;I"id;	T;2I"id;	T;i;o;	;o;;i;i%;o;;i;i(;@;@;#@;
@o;1;I"
color;	T;2I"
color;	T;i;o;	;o;;i;i*;o;;i;i0;@;@;#@;
@;i;o;	;o;;i;i%;o;;i;i0;@;@;#@;
@:@keywordso:Sass::Util::NormalizedMap:@key_strings{�:	@map{�;40:@kwarg_splat0;i;o;	;o;;i;i;o;;i;i2;@;@;#@;
@;$0;%T;[�;i;o;	;o;;i;i	;o;;i;i:;@;@;
@o;
;[I"7/* adds color declaration to global $colors map */;	T;
;;[�;i;
@u:Sass::Tree::IfNode�[o:!Sass::Script::Tree::Variable:
@nameI"	core:ET:@underscored_nameI"	core;T:
@linei!:@source_rangeo:Sass::Source::Range	:@start_poso:Sass::Source::Position;	i!:@offseti:
@end_poso;
;	i!;i:
@fileI"x/Users/nmcclay/Documents/git/forever-style-guide/app/assets/stylesheets/forever_style_guide/utils/_color-utils.scss;T:@importero:Sass::Rails::SassImporter:
@rootI"L/Users/nmcclay/Documents/git/forever-style-guide/app/assets/stylesheets;F:@real_rootI"L/Users/nmcclay/Documents/git/forever-style-guide/app/assets/stylesheets;F:@same_name_warningso:Set:
@hash{�:@filename@:
@options{�0[o:Sass::Tree::VariableNode
;I"core_colors;T:
@expro: Sass::Script::Tree::Funcall;I"map-merge;T:
@args[o;�;I"core_colors;T;I"core_colors;T;	i";
o;	;o;
;	i";i";o;
;	i";i.;@;@
;@;@o:#Sass::Script::Tree::MapLiteral
:@pairs[[o;�;I"id;T;I"id;T;	i";
o;	;o;
;	i";i1;o;
;	i";i4;@;@
;@;@o;�;I"
color;T;I"
color;T;	i";
o;	;o;
;	i";i6;o;
;	i";i<;@;@
;@;@;	i";
o;	;o;
;	i";i1;o;
;	i";i<;@;@
;@;@:@keywordso:Sass::Util::NormalizedMap:@key_strings{�:	@map{�:@splat0:@kwarg_splat0;	i";
o;	;o;
;	i";i;o;
;	i";i>;@;@
;@;@:
@guarded0:@globalT:@children[�;	i";
o;	;o;
;	i";i;o;
;	i";iF;@;@
;@o:Sass::Tree::CommentNode
:@value[I"</* adds color declaration to global $core_colors map */;T:
@type:silent;([�;	i";@o:Sass::Tree::ReturnNode
;o;1;I"
color;	T;2I"
color;	T;i%;o;	;o;;i%;i;o;;i%;i;@;@;#@;
@;[�;i%;o;	;o;;i%;i;o;;i%;i;@;@;
@;i;o;	;o;;i;i;o;;i;i5;@;@:@has_childrenT;
@o;
;[I"7/* retrieves a color from the master color list */;	T;
;;[�;i(;
@o;/
;I"get_color;	T;0[[o;1;I"key;	T;2I"key;	T;i);o;	;o;;i);i;o;;i);i;@;@;#@;
@0;40;[u;;�[o: Sass::Script::Tree::Funcall:
@nameI"map-has-key:ET:
@args[o:!Sass::Script::Tree::Variable;I"colors;T:@underscored_nameI"colors;T:
@linei*:@source_rangeo:Sass::Source::Range	:@start_poso:Sass::Source::Position;i*:@offseti:
@end_poso;;i*;i:
@fileI"x/Users/nmcclay/Documents/git/forever-style-guide/app/assets/stylesheets/forever_style_guide/utils/_color-utils.scss;T:@importero:Sass::Rails::SassImporter:
@rootI"L/Users/nmcclay/Documents/git/forever-style-guide/app/assets/stylesheets;F:@real_rootI"L/Users/nmcclay/Documents/git/forever-style-guide/app/assets/stylesheets;F:@same_name_warningso:Set:
@hash{�:@filename@:
@options{�o;	;I"key;T;
I"key;T;i*;o;
	;o;;i*;i!;o;;i*;i%;@;@;@;@:@keywordso:Sass::Util::NormalizedMap:@key_strings{�:	@map{�:@splat0:@kwarg_splat0;i*;o;
	;o;;i*;i;o;;i*;i&;@;@;@;@0[o:Sass::Tree::ReturnNode
:
@expro;�;I"map-get;T;[o;	;I"colors;T;
I"colors;T;i+;o;
	;o;;i+;i;o;;i+;i!;@;@;@;@o;	;I"key;T;
I"key;T;i+;o;
	;o;;i+;i#;o;;i+;i';@;@;@;@;o;;{�;{�; 0;!0;i+;o;
	;o;;i+;i;o;;i+;i(;@;@;@;@:@children[�;i+;o;
	;o;;i+;i
;o;;i+;i(;@;@;@o:Sass::Tree::WarnNode
;o:,Sass::Script::Tree::StringInterpolation:@beforeo;(	;o;);I"Unknown `;	T;
:string;
@;i-;o;	;o;;i-;i;o;;i-;i;@;@;#@:	@mido;1;I"key;	T;2I"key;	T;i-;o;	;o;;i-;i;o;;i-;i;@;@;#@;
@:@aftero;(	;o;);I"` in $colors.;	T;
;A;
@;i-;o;	;o;;i-;i;o;;i-;i-;@;@;#@;i-;o;	;@�;o;;i-;i-;@;@;#@;
@;[�;i-;o;	;o;;i-;i;o;;i-;i-;@;@;
@o;<
;o;(	;o:Sass::Script::Value::Null;0;
@;i.;o;	;o;;i.;i;o;;i.;i;@;@;#@;[�;i.;o;	;o;;i.;i;o;;i.;i;@;@;
@;i);o;	;o;;i);i;o;;i);i ;@;@;=T;
@o;/
;I"color-variation;	T;0[[o;1;I"
color;	T;2I"
color;	T;i1;o;	;o;;i1;i ;o;;i1;i&;@;@;#@;
@0[o;1;I"variation;	T;2I"variation;	T;i1;o;	;o;;i1;i(;o;;i1;i2;@;@;#@;
@o;(	;@�;i1;o;	;o;;i1;i4;o;;i1;i9;@;@;#@;40;[
o;
;[I"/* get $color variable: */;	T;
;;[�;i2;
@o;
;I"
color;	T;o;5;I"get_color;	T;0[o;1;I"
color;	T;2I"
color;	T;i3;o;	;o;;i3;i;o;;i3;i ;@;@;#@;
@;6o;7;8{�;9{�;40;:0;i3;o;	;o;;i3;i;o;;i3;i!;@;@;#@;
@;$0;%0;[�;i3;o;	;o;;i3;i	;o;;i3;i!;@;@;
@u;;e[o:!Sass::Script::Tree::Variable:
@nameI"variation:ET:@underscored_nameI"variation;T:
@linei5:@source_rangeo:Sass::Source::Range	:@start_poso:Sass::Source::Position;	i5:@offseti:
@end_poso;
;	i5;i:
@fileI"x/Users/nmcclay/Documents/git/forever-style-guide/app/assets/stylesheets/forever_style_guide/utils/_color-utils.scss;T:@importero:Sass::Rails::SassImporter:
@rootI"L/Users/nmcclay/Documents/git/forever-style-guide/app/assets/stylesheets;F:@real_rootI"L/Users/nmcclay/Documents/git/forever-style-guide/app/assets/stylesheets;F:@same_name_warningso:Set:
@hash{�:@filename@:
@options{�0[u:Sass::Tree::IfNode�[o:'Sass::Script::Tree::UnaryOperation:
@operando: Sass::Script::Tree::Funcall:
@nameI"map-has-key:ET:
@args[o:!Sass::Script::Tree::Variable;I"variations;	T:@underscored_nameI"variations;	T:
@linei6:@source_rangeo:Sass::Source::Range	:@start_poso:Sass::Source::Position;
i6:@offseti:
@end_poso;;
i6;i):
@fileI"x/Users/nmcclay/Documents/git/forever-style-guide/app/assets/stylesheets/forever_style_guide/utils/_color-utils.scss;	T:@importero:Sass::Rails::SassImporter:
@rootI"L/Users/nmcclay/Documents/git/forever-style-guide/app/assets/stylesheets;	F:@real_rootI"L/Users/nmcclay/Documents/git/forever-style-guide/app/assets/stylesheets;	F:@same_name_warningso:Set:
@hash{�:@filename@:
@options{�o;;I"variation;	T;I"variation;	T;
i6;o;	;o;;
i6;i+;o;;
i6;i5;@;@;@;@:@keywordso:Sass::Util::NormalizedMap:@key_strings{�:	@map{�:@splat0:@kwarg_splat0;
i6;o;	;o;;
i6;i;o;;
i6;i6;@;@;@;@:@operator:not;
i6;o;	;o;;
i6;i;o;;
i6;i6;@;@;@;@u:Sass::Tree::IfNode.[00[o:Sass::Tree::CommentNode
:@value[I"1/* make it easier to deal with nested map */:ET:
@type:silent:@children[�:
@linei::
@options{�o:Sass::Tree::VariableNode
:
@nameI"this-variation;T:
@expro: Sass::Script::Tree::Funcall;I"map-get;T:
@args[o:!Sass::Script::Tree::Variable;I"variations;T:@underscored_nameI"variations;T;i;:@source_rangeo:Sass::Source::Range	:@start_poso:Sass::Source::Position;i;:@offseti%:
@end_poso;;i;;i0:
@fileI"x/Users/nmcclay/Documents/git/forever-style-guide/app/assets/stylesheets/forever_style_guide/utils/_color-utils.scss;T:@importero:Sass::Rails::SassImporter:
@rootI"L/Users/nmcclay/Documents/git/forever-style-guide/app/assets/stylesheets;F:@real_rootI"L/Users/nmcclay/Documents/git/forever-style-guide/app/assets/stylesheets;F:@same_name_warningso:Set:
@hash{�:@filename@;@o;;I"variation;T;I"variation;T;i;;o;	;o;;i;;i2;o;;i;;i<;@;@;"@;@:@keywordso:Sass::Util::NormalizedMap:@key_strings{�:	@map{�:@splat0:@kwarg_splat0;i;;o;	;o;;i;;i;o;;i;;i=;@;@;"@;@:
@guarded0:@global0;
[�;i;;o;	;o;;i;;i
;o;;i;;i=;@;@;@o;�
;[I"$/* $args = $function, $color */;T;;	;
[�;i<;@o;

;I"	args;T;o;;I"	join;T;[o;;I"map-get;T;[o;;I"this-variation;T;I"this_variation;T;i=;o;	;o;;i=;i ;o;;i=;i/;@;@;"@;@o: Sass::Script::Tree::Literal	;o: Sass::Script::Value::String;I"
function;T;:identifier;@;i=;o;	;o;;i=;i1;o;;i=;i9;@;@;"@;#o;$;%{�;&{�;'0;(0;i=;o;	;o;;i=;i;o;;i=;i:;@;@;"@;@o;;I"
color;T;I"
color;T;i=;o;	;o;;i=;i<;o;;i=;iB;@;@;"@;@;#o;$;%{�;&{�;'0;(0;i=;o;	;o;;i=;i;o;;i=;iC;@;@;"@;@;)0;*0;
[�;i=;o;	;o;;i=;i
;o;;i=;iC;@;@;@u:Sass::Tree::IfNode�[o: Sass::Script::Tree::Funcall:
@nameI"map-get:ET:
@args[o:!Sass::Script::Tree::Variable;I"this-variation;T:@underscored_nameI"this_variation;T:
@linei>:@source_rangeo:Sass::Source::Range	:@start_poso:Sass::Source::Position;i>:@offseti:
@end_poso;;i>;i':
@fileI"x/Users/nmcclay/Documents/git/forever-style-guide/app/assets/stylesheets/forever_style_guide/utils/_color-utils.scss;T:@importero:Sass::Rails::SassImporter:
@rootI"L/Users/nmcclay/Documents/git/forever-style-guide/app/assets/stylesheets;F:@real_rootI"L/Users/nmcclay/Documents/git/forever-style-guide/app/assets/stylesheets;F:@same_name_warningso:Set:
@hash{�:@filename@:
@options{�o: Sass::Script::Tree::Literal	:@valueo: Sass::Script::Value::String;I"parameters;T:
@type:identifier;@;i>;o;
	;o;;i>;i);o;;i>;i3;@;@;@:@keywordso:Sass::Util::NormalizedMap:@key_strings{�:	@map{�:@splat0:@kwarg_splat0;i>;o;
	;o;;i>;i;o;;i>;i4;@;@;@;@0[o:Sass::Tree::CommentNode
;[I"2/* $args = $function, $colors, $parameters */;T;:silent:@children[�;i?;@o:Sass::Tree::VariableNode
;I"	args;T:
@expro;�;I"	join;T;[o;	;I"	args;T;
I"	args;T;i@;o;
	;o;;i@;i;o;;i@;i;@;@;@;@o;�;I"map-get;T;[o;	;I"this-variation;T;
I"this_variation;T;i@;o;
	;o;;i@;i);o;;i@;i8;@;@;@;@o;	;o;;I"parameters;T;; ;@;i@;o;
	;o;;i@;i:;o;;i@;iD;@;@;@;!o;";#{�;${�;%0;&0;i@;o;
	;o;;i@;i!;o;;i@;iE;@;@;@;@;!o;";#{�;${�;%0;&0;i@;o;
	;o;;i@;i;o;;i@;iF;@;@;@;@:
@guarded0:@global0;)[�;i@;o;
	;o;;i@;i;o;;i@;iF;@;@;@o;�
;[I"/*@return $args; */;T;;	;
[�;iB;@o:Sass::Tree::ReturnNode
;o;;I"	call;T;[�;#o;$;%{�;&{�;'o;;I"	args;T;I"	args;T;iC;o;	;o;;iC;i;o;;iC;i;@;@;"@;@;(0;iC;o;	;o;;iC;i;o;;iC;i";@;@;"@;@;
[�;iC;o;	;o;;iC;i;o;;iC;i";@;@;@[o:Sass::Tree::CommentNode
:@value[I"*/* variation is not in $variations */;	T:
@type:silent:@children[�;
i7;@o:Sass::Tree::ErrorNode
:
@expro:,Sass::Script::Tree::StringInterpolation:@beforeo: Sass::Script::Tree::Literal	;(o: Sass::Script::Value::String;(I"Invalid $variation: `;	T;):string;@;
i8;o;	;o;;
i8;i;o;;
i8;i+;@;@;@:	@mido;;I"variation;	T;I"variation;	T;
i8;o;	;o;;
i8;i+;o;;
i8;i5;@;@;@;@:@aftero;0	;(o;1;(I"`.;	T;);2;@;
i8;o;	;o;;
i8;i6;o;;
i8;i9;@;@;@;
i8;o;	;@2;o;;
i8;i9;@;@;@;@;+[�;
i8;o;	;o;;
i8;i;o;;
i8;i9;@;@;@o;
;[I",/* no $variation, just return $color */;	T;
;;[�;iF;
@o;<
;o;1;I"
color;	T;2I"
color;	T;iG;o;	;o;;iG;i;o;;iG;i;@;@;#@;
@;[�;iG;o;	;o;;iG;i;o;;iG;i;@;@;
@;i1;o;	;o;;i1;i;o;;i1;i;;@;@;=T;
@o;
;[I"/* alias for get_color */;	T;
;;[�;iJ;
@o;/
;I"
color;	T;0[[o;1;I"key;	T;2I"key;	T;iK;o;	;o;;iK;i;o;;iK;i;@;@;#@;
@0;40;[o;<
;o;5;I"get_color;	T;0[o;1;I"key;	T;2I"key;	T;iL;o;	;o;;iL;i;o;;iL;i;@;@;#@;
@;6o;7;8{�;9{�;40;:0;iL;o;	;o;;iL;i;o;;iL;i;@;@;#@;
@;[�;iL;o;	;o;;iL;i;o;;iL;i;@;@;
@;iK;o;	;o;;iK;i;o;;iK;i;@;@;=T;
@o;
;[I"T/* generates dynamic of a provided color and registers them as unique colors */;	T;
;;[�;iO;
@o;/
;I"
colorify;	T;0[[o;1;I"id;	T;2I"id;	T;iP;o;	;o;;iP;i;o;;iP;i;@;@;#@;
@0[o;1;I"
color;	T;2I"
color;	T;iP;o;	;o;;iP;i;o;;iP;i$;@;@;#@;
@0;40;[o;
;I"base-color;	T;o;5;I"set_color;	T;0[o;1;I"id;	T;2I"id;	T;iQ;o;	;o;;iQ;i;o;;iQ;i";@;@;#@;
@o;1;I"
color;	T;2I"
color;	T;iQ;o;	;o;;iQ;i$;o;;iQ;i*;@;@;#@;
@o;(	;o;3;T;
@;iQ;o;	;o;;iQ;i,;o;;iQ;i0;@;@;#@;6o;7;8{�;9{�;40;:0;iQ;o;	;o;;iQ;i;o;;iQ;i1;@;@;#@;
@;$0;%0;[�;iQ;o;	;o;;iQ;i	;o;;iQ;i1;@;@;
@o:Sass::Tree::EachNode:
@vars[I"variation;	TI"varation-args;	T:
@listo;1;I"variations;	T;2I"variations;	T;iR;o;	;o;;iR;i,;o;;iR;i7;@;@;#@;
@;[o;
;I"variant-color;	T;o;5;I"set_color;	T;0[o;?;@o;(	;o;);I"�;	T;
;A;
@;iS;o;	;o;;iS;i$;o;;iS;i';@;@;#@;Bo;1;I"id;	T;2I"id;	T;iS;o;	;o;;iS;i';o;;iS;i*;@;@;#@;
@;Co;?;@o;(	;o;);I"-;	T;
;A;
@;iS;o;	;o;;iS;i+;o;;iS;i.;@;@;#@;Bo;1;I"variation;	T;2I"variation;	T;iS;o;	;o;;iS;i.;o;;iS;i8;@;@;#@;
@;Co;(	;o;);I"�;	T;
;A;
@;iS;o;	;o;;iS;i9;o;;iS;i:;@;@;#@;iS;o;	;@�;o;;iS;i:;@;@;#@;
@;iS;o;	;@�;o;;iS;i:;@;@;#@;
@o;5;I"color-variation;	T;0[o;1;I"id;	T;2I"id;	T;iS;o;	;o;;iS;iL;o;;iS;iO;@;@;#@;
@o;1;I"variation;	T;2I"variation;	T;iS;o;	;o;;iS;iQ;o;;iS;i[;@;@;#@;
@;6o;7;8{�;9{�;40;:0;iS;o;	;o;;iS;i<;o;;iS;i\;@;@;#@;
@;6o;7;8{�;9{�;40;:0;iS;o;	;o;;iS;i;o;;iS;i];@;@;#@;
@;$0;%0;[�;iS;o;	;o;;iS;i;o;;iS;i];@;@;
@;iR;o;	;o;;iR;i;o;;iR;i8;@;@;=T;
@o;<
;o;1;I"base-color;	T;2I"base_color;	T;iU;o;	;o;;iU;i;o;;iU;i;@;@;#@;
@;[�;iU;o;	;o;;iU;i;o;;iU;i;@;@;
@;iP;o;	;o;;iP;i;o;;iP;i&;@;@;=T;
@:@templateI"�/* =colors-utils

Sass functions and color related variables beyond standard color declarations
---------------------------------------------------------------------------- */

// map for all color declarations
$colors: () !default;

// map for only colorified colors
$core_colors: () !default;

// pre-defined variations for easy consistent adjustments across future color variation tweaks
$variations: (
  light: (
    function: lighten,
    parameters: 15%
  ),
  dark: (
    function: darken,
    parameters: 10%
  )
);

// appends colors to master color list
@function set_color($id, $color, $core: false) {
  $colors: map-merge($colors, ($id: $color)) !global; // adds color declaration to global $colors map

  @if $core {
    $core_colors: map-merge($core_colors, ($id: $color)) !global; // adds color declaration to global $core_colors map
  }

  @return $color;
}

// retrieves a color from the master color list
@function get_color($key) {
  @if map-has-key($colors, $key) {
    @return map-get($colors, $key);
  }
  @warn "Unknown `#{$key}` in $colors.";
  @return null;
}

@function color-variation($color, $variation: false) {
  // get $color variable:
  $color: get_color($color);

  @if $variation {
    @if not map-has-key($variations, $variation) {
      // variation is not in $variations
      @error "Invalid $variation: `#{$variation}`.";
    } @else {
      // make it easier to deal with nested map
      $this-variation: map-get($variations, $variation);
      // $args = $function, $color
      $args: join(map-get($this-variation, function), $color);
      @if map-get($this-variation, parameters) {
        // $args = $function, $colors, $parameters
        $args: join($args, map-get($this-variation, parameters));
      }
      //@return $args;
      @return call($args...);
    }
  }
  // no $variation, just return $color
  @return $color;
}

// alias for get_color
@function color($key) {
  @return get_color($key);
}

// generates dynamic of a provided color and registers them as unique colors
@function colorify($id, $color) {
  $base-color: set_color($id, $color, true);
  @each $variation, $varation-args in $variations {
    $variant-color: set_color('#{$id}-#{$variation}', color-variation($id, $variation));
  }
  @return $base-color;
}
;	T;i;o;	;o;;i;i;o;;i;i;@;@;=T;
@