{: versionI"3.2.19 (Media Mark):EF:shaI"-701d28cf4781b7989546e26c9d2060fedbdcdf06;F: contents"ÏAo:Sass::Tree::RootNode :@children[ o:Sass::Tree::CommentNode : @value[I"ð/*************************************************************************// * Background property for adding multiple backgrounds using shorthand * notation. *************************************************************************// */:ET: @type: silent;[: @linei: @options{o:Sass::Tree::MixinDefNode : @nameI"background; T: @args[[o:Sass::Script::Variable;I"background-1; T:@underscored_nameI"background_1; T; @ 0[o;;I"background-2; T;I"background_2; T; @ o:Sass::Script::Null;0; i ; @ [o;;I"background-3; T;I"background_3; T; @ o;;0; i ; @ [o;;I"background-4; T;I"background_4; T; @ o;;0; i ; @ [o;;I"background-5; T;I"background_5; T; @ o;;0; i; @ [o;;I"background-6; T;I"background_6; T; @ o;;0; i; @ [o;;I"background-7; T;I"background_7; T; @ o;;0; i; @ [o;;I"background-8; T;I"background_8; T; @ o;;0; i; @ [o;;I"background-9; T;I"background_9; T; @ o;;0; i; @ [o;;I"background-10; T;I"background_10; T; @ o;;0; i; @ [o;;I" fallback; T;I" fallback; T; @ o;;0; i; @ : @splat0;[ o:Sass::Tree::VariableNode ;I"backgrounds; T: @expro:Sass::Script::List ;[o; ;I"background-1; T;I"background_1; T; i; @ o; ;I"background-2; T;I"background_2; T; i; @ o; ;I"background-3; T;I"background_3; T; i; @ o; ;I"background-4; T;I"background_4; T; i; @ o; ;I"background-5; T;I"background_5; T; i; @ o; ;I"background-6; T;I"background_6; T; i; @ o; ;I"background-7; T;I"background_7; T; i; @ o; ;I"background-8; T;I"background_8; T; i; @ o; ;I"background-9; T;I"background_9; T; i; @ o; ;I"background-10; T;I"background_10; T; i; @ :@separator: comma; i; @ : @guarded0;[; i; @ o; ;I"fallback-color; T;o:Sass::Script::Bool;F; i; @ ;0;[; i; @ u:Sass::Tree::IfNode¡[o:Sass::Script::Operation :@operand1o; ;o:Sass::Script::Funcall : @nameI" type-of:ET: @args[o:Sass::Script::Variable ;I" fallback; T:@underscored_nameI" fallback; T: @linei: @options{:@keywords{: @splat0; i;@:@operand2o:Sass::Script::String : @valueI" color; T: @type:identifier; i;@:@operator:eq; i;@;o; ;o; ;I" fallback; T; I" fallback; T; i;@;o; ;I"transparent; T;: string; i;@;;; i;@;:or; i;@u:Sass::Tree::IfNode2[00[o:Sass::Tree::VariableNode : @nameI"fallback-color:ET: @expro:Sass::Script::Funcall ;I"_extract-background-color;T: @args[o:Sass::Script::Variable ;I"backgrounds;T:@underscored_nameI"backgrounds;T: @linei: @options{:@keywords{: @splat0; i;@: @guarded0:@children[; i;@[o:Sass::Tree::VariableNode ;I"fallback-color; T: @expro; ;I" fallback; T; I" fallback; T; i;@: @guarded0:@children[; i;@u;![o:Sass::Script::Variable : @nameI"fallback-color:ET:@underscored_nameI"fallback_color;T: @linei!: @options{0[o:Sass::Tree::PropNode ;[I"background-color;T: @valueo; ;I"fallback-color;T;I"fallback_color;T; i"; @ : @tabsi:@prop_syntax:new:@children[; i"; @ o:Sass::Tree::PropNode ;[I"background; T;o:Sass::Script::Funcall ;I"_background-add-prefix; T;[o; ;I"backgrounds; T;I"backgrounds; T; i$; @ o:Sass::Script::String ;I" webkit; T; :identifier; i$; @ :@keywords{;0; i$; @ : @tabsi:@prop_syntax:new;[; i$; @ o; ;[I"background; T;o; ;I"_background-add-prefix; T;[o; ;I"backgrounds; T;I"backgrounds; T; i%; @ ;!{;0; i%; @ ;"i;#;$;[; i%; @ ; i:@has_childrenT; @ o:Sass::Tree::FunctionNode ;I"_extract-background-color; T;[[o;;I"backgrounds; T;I"backgrounds; T; @ 0;0;[o; ;I"final-bg-layer; T;o; ;I"nth; T;[o; ;I"backgrounds; T;I"backgrounds; T; i); @ o; ;I" length; T;[o; ;I"backgrounds; T;I"backgrounds; T; i); @ ;!{;0; i); @ ;!{;0; i); @ ;0;[; i); @ u;[o:Sass::Script::Operation :@operand1o:Sass::Script::Funcall : @nameI" type-of:ET: @args[o:Sass::Script::Variable ;I"final-bg-layer; T:@underscored_nameI"final_bg_layer; T: @linei*: @options{:@keywords{: @splat0; i*;@ :@operand2o:Sass::Script::String : @valueI" list; T: @type:identifier; i*;@ :@operator:eq; i*;@ 0[o:Sass::Tree::ForNode : @varI"i; T: @fromo:Sass::Script::Number ;i:@numerator_units[:@denominator_units[; i+:@originalI"1; F;@ :@too; ;I" length; T; [o; ;I"final-bg-layer; T; I"final_bg_layer; T; i+;@ ;{;0; i+;@ :@exclusiveF:@children[o:Sass::Tree::VariableNode ;I" value; T: @expro; ;I"nth; T; [o; ;I"final-bg-layer; T; I"final_bg_layer; T; i,;@ o; ;I"i; T; I"i; T; i,;@ ;{;0; i,;@ : @guarded0;![; i,;@ u:Sass::Tree::IfNode¦[o:Sass::Script::Operation :@operand1o:Sass::Script::Funcall : @nameI" type-of:ET: @args[o:Sass::Script::Variable ;I" value; T:@underscored_nameI" value; T: @linei-: @options{:@keywords{: @splat0; i-;@ :@operand2o:Sass::Script::String : @valueI" color; T: @type:identifier; i-;@ :@operator:eq; i-;@ 0[o:Sass::Tree::ReturnNode : @expro; ;I" value; T; I" value; T; i.;@ :@children[; i.;@ ; i+:@has_childrenT;@ o:Sass::Tree::ReturnNode ;o;;F; i2; @ ;[; i2; @ ; i(;%T; @ o;& ;I"_background-add-prefix; T;[[o;;I"backgrounds; T;I"backgrounds; T; @ 0[o;;I" vendor; T;I" vendor; T; @ o;;F; i5; @ ;0;[o; ;I"backgrounds-prefixed; T;o; ;[;: space; i6; @ ;0;[; i6; @ o:Sass::Tree::ForNode : @varI"i; T: @fromo:Sass::Script::Number ;i:@numerator_units[:@denominator_units[; i8:@originalI"1; F; @ :@too; ;I" length; T;[o; ;I"backgrounds; T;I"backgrounds; T; i8; @ ;!{;0; i8; @ :@exclusiveF;[ o; ;I"shorthand; T;o; ;I"nth; T;[o; ;I"backgrounds; T;I"backgrounds; T; i9; @ o; ;I"i; T;I"i; T; i9; @ ;!{;0; i9; @ ;0;[; i9; @ o; ;[I"'/* Get member for current index */; T; ; ;[; i9; @ o; ;I" type; T;o; ;I" type-of; T;[o; ;I"shorthand; T;I"shorthand; T; i:; @ ;!{;0; i:; @ ;0;[; i:; @ o; ;[I"C/* Get type of variable - List (gradient) or String (image) */; T; ; ;[; i:; @ o; ;[I",/* If shorthand is a list (gradient) */; T; ; ;[; i<; @ u;Ó[o:Sass::Script::Operation :@operand1o:Sass::Script::Variable : @nameI" type:ET:@underscored_nameI" type; T: @linei=: @options{:@operand2o:Sass::Script::String : @valueI" list; T: @type:identifier; i=; @ :@operator:eq; i=; @ u:Sass::Tree::IfNode8[o:Sass::Script::Operation :@operand1o:Sass::Script::Variable : @nameI" type:ET:@underscored_nameI" type; T: @lineia: @options{:@operand2o:Sass::Script::String : @valueI" string; T: @type:identifier; ia; @ :@operator:eq; ia; @ 0[o:Sass::Tree::VariableNode ;I"backgrounds-prefixed; T: @expro:Sass::Script::Funcall ;I" join; T: @args[o; ;I"backgrounds-prefixed; T; I"backgrounds_prefixed; T; ib; @ o; ;I"shorthand; T; I"shorthand; T; ib; @ o; ;I" comma; T;;; ib; @ :@keywords{: @splat0; ib; @ : @guarded0:@children[; ib; @ [ o:Sass::Tree::VariableNode ;I"first-member; T: @expro:Sass::Script::Funcall ;I"nth; T: @args[o; ;I"shorthand; T; I"shorthand; T; i>; @ o:Sass::Script::Number ;i:@numerator_units[:@denominator_units[; i>:@originalI"1; F; @ :@keywords{: @splat0; i>; @ : @guarded0:@children[; i>; @ o:Sass::Tree::CommentNode ;[I"(/* Get first member of shorthand */; T;: silent; [; i>; @ o;! ;[I"/* Linear Gradient */; T;;"; [; i@; @ u;Á[o:Sass::Script::Funcall : @nameI" index:ET: @args[o:Sass::Script::List : @value[o:Sass::Script::String ; I" linear;T: @type:identifier: @lineiA: @options{o; ; I" radial;T; ; ;iA;@ :@separator: space;iA;@ o; ;I"nth;T;[o:Sass::Script::Variable ;I"first-member;T:@underscored_nameI"first_member;T;iA;@ o:Sass::Script::Number ; i:@numerator_units[:@denominator_units[;iA:@originalI"1;F;@ :@keywords{: @splat0;iA;@ ;{;0;iA;@ u:Sass::Tree::IfNode®[00[o:Sass::Tree::VariableNode : @nameI"backgrounds-prefixed:ET: @expro:Sass::Script::Funcall ;I" append;T: @args[o:Sass::Script::Variable ;I"backgrounds-prefixed;T:@underscored_nameI"backgrounds_prefixed;T: @linei]: @options{o; ;I"shorthand;T; I"shorthand;T; i];@o:Sass::Script::String : @valueI" comma;T: @type:identifier; i];@:@keywords{: @splat0; i];@: @guarded0:@children[; i];@[o:Sass::Tree::VariableNode ;I"gradient-type;T: @expro; ;I"nth;T;[o; ;I"first-member;T;I"first_member;T;iB;@ o; ; i;[;@;iB;I"1;F;@ ;{;0;iB;@ : @guarded0:@children[;iB;@ o:Sass::Tree::CommentNode ; [I"/* linear || radial */;T; : silent;[;iB;@ o; ;I"gradient-args;T;o:Sass::Script::Bool; F;iC;@ ;0;[;iC;@ o; ;I"gradient-positions;T;o;!; F;iD;@ ;0;[;iD;@ o; ;I"shorthand-start;T;o;!; F;iE;@ ;0;[;iE;@ u;Ö[o:Sass::Script::Operation :@operand1o:Sass::Script::Funcall : @nameI" type-of:ET: @args[o:Sass::Script::Variable ;I"first-member; T:@underscored_nameI"first_member; T: @lineiF: @options{:@keywords{: @splat0; iF;@ :@operand2o:Sass::Script::String : @valueI" list; T: @type:identifier; iF;@ :@operator:eq; iF;@ u:Sass::Tree::IfNodeÐ[00[ o:Sass::Tree::CommentNode : @value[I"4/* Linear gradient only - lg(red,orange),... */:ET: @type: silent:@children[: @lineiK: @options{o:Sass::Tree::VariableNode : @nameI"gradient-positions;T: @expro:Sass::Script::Funcall ;I"nth;T: @args[o:Sass::Script::Variable ;I"shorthand;T:@underscored_nameI"shorthand;T; iL; @ o:Sass::Script::Number ;i:@numerator_units[:@denominator_units[; iL:@originalI"2;F; @ :@keywords{: @splat0; iL; @ : @guarded0; [; iL; @ o; ;I"gradient-args;T;o; ;I"nth;T;[o; ;I"shorthand;T;I"shorthand;T; iM; @ o; ;i;[;@; iM;I"3;F; @ ;{;0; iM; @ ;0; [; iM; @ o; ;[I"#/* Get gradient (red, blue) */;T;; ; [; iM; @ [ o:Sass::Tree::CommentNode ;[I"V/* Linear gradient plus additional shorthand values - lg(red,orange)repeat,... */; T;: silent:@children[; iF;@ o:Sass::Tree::VariableNode ;I"gradient-positions; T: @expro; ;I"nth; T; [o; ;I"first-member; T; I"first_member; T; iG;@ o:Sass::Script::Number ;i:@numerator_units[:@denominator_units[; iG:@originalI"2; F;@ ;{;0; iG;@ : @guarded0;[; iG;@ o; ;I"gradient-args; T;o; ;I"nth; T; [o; ;I"first-member; T; I"first_member; T; iH;@ o; ;i;[; @!; iH;!I"3; F;@ ;{;0; iH;@ ;"0;[; iH;@ o; ;I"shorthand-start; T;o; ;i;[; @!; iI;!I"2; F;@ ;"0;[; iI;@ o; ;I"gradient-positions;T;o; ;I"_gradient-positions-parser;T;[o; ;I"gradient-type;T;I"gradient_type;T;iP;@ o; ;I"gradient-positions;T;I"gradient_positions;T;iP;@ ;{;0;iP;@ ;0;[;iP;@ o; ;I" gradient;T;o; ;I"_render-gradients;T;[ o; ;I"gradient-positions;T;I"gradient_positions;T;iQ;@ o; ;I"gradient-args;T;I"gradient_args;T;iQ;@ o; ;I"gradient-type;T;I"gradient_type;T;iQ;@ o; ;I" vendor;T;I" vendor;T;iQ;@ ;{;0;iQ;@ ;0;[;iQ;@ o; ; [I";/* Append any additional shorthand args to gradient */;T; ; ;[;iS;@ u;ò[o:Sass::Script::Variable : @nameI"shorthand-start:ET:@underscored_nameI"shorthand_start;T: @lineiT: @options{0[o:Sass::Tree::ForNode : @varI"j;T: @fromo; ;I"shorthand-start;T;I"shorthand_start;T; iU; @ :@too:Sass::Script::Funcall ;I" length;T: @args[o; ;I"shorthand;T;I"shorthand;T; iU; @ :@keywords{: @splat0; iU; @ :@exclusiveF:@children[o:Sass::Tree::VariableNode ;I" gradient;T: @expro; ;I" join;T;[o; ;I" gradient;T;I" gradient;T; iV; @ o; ;I"nth;T;[o; ;I"shorthand;T;I"shorthand;T; iV; @ o; ;I"j;T;I"j;T; iV; @ ;{;0; iV; @ o:Sass::Script::String : @valueI" space;T: @type:identifier; iV; @ ;{;0; iV; @ : @guarded0;[; iV; @ ; iU:@has_childrenT; @ o; ;I"backgrounds-prefixed;T;o; ;I" append;T;[o; ;I"backgrounds-prefixed;T;I"backgrounds_prefixed;T;iY;@ o; ;I" gradient;T;I" gradient;T;iY;@ o; ; I" comma;T; ; ;iY;@ ;{;0;iY;@ ;0;[;iY;@ ; i8;%T; @ o;' ;o; ;I"backgrounds-prefixed; T;I"backgrounds_prefixed; T; ie; @ ;[; ie; @ ; i5;%T; @ o; ;[I"L/*Examples: *@include background(linear-gradient(top, orange, red)); *@include background(radial-gradient(circle at 40% 40%, orange, red)); *@include background(url("/images/a.png") no-repeat, linear-gradient(orange, red)); *@include background(url("image.png") center center, linear-gradient(orange, red), url("image.png")); */; T; ; ;[; ih; @ :@templateI"(//************************************************************************// // Background property for adding multiple backgrounds using shorthand // notation. //************************************************************************// @mixin background( $background-1 , $background-2: null, $background-3: null, $background-4: null, $background-5: null, $background-6: null, $background-7: null, $background-8: null, $background-9: null, $background-10: null, $fallback: null ) { $backgrounds: $background-1, $background-2, $background-3, $background-4, $background-5, $background-6, $background-7, $background-8, $background-9, $background-10; $fallback-color: false; @if (type-of($fallback) == color) or ($fallback == "transparent") { $fallback-color: $fallback; } @else { $fallback-color: _extract-background-color($backgrounds); } @if $fallback-color { background-color: $fallback-color; } background: _background-add-prefix($backgrounds, webkit); background: _background-add-prefix($backgrounds); } @function _extract-background-color($backgrounds) { $final-bg-layer: nth($backgrounds, length($backgrounds)); @if type-of($final-bg-layer) == list { @for $i from 1 through length($final-bg-layer) { $value: nth($final-bg-layer, $i); @if type-of($value) == color { @return $value; } } } @return false; } @function _background-add-prefix($backgrounds, $vendor: false) { $backgrounds-prefixed: (); @for $i from 1 through length($backgrounds) { $shorthand: nth($backgrounds, $i); // Get member for current index $type: type-of($shorthand); // Get type of variable - List (gradient) or String (image) // If shorthand is a list (gradient) @if $type == list { $first-member: nth($shorthand, 1); // Get first member of shorthand // Linear Gradient @if index(linear radial, nth($first-member, 1)) { $gradient-type: nth($first-member, 1); // linear || radial $gradient-args: false; $gradient-positions: false; $shorthand-start: false; @if type-of($first-member) == list { // Linear gradient plus additional shorthand values - lg(red,orange)repeat,... $gradient-positions: nth($first-member, 2); $gradient-args: nth($first-member, 3); $shorthand-start: 2; } @else { // Linear gradient only - lg(red,orange),... $gradient-positions: nth($shorthand, 2); $gradient-args: nth($shorthand, 3); // Get gradient (red, blue) } $gradient-positions: _gradient-positions-parser($gradient-type, $gradient-positions); $gradient: _render-gradients($gradient-positions, $gradient-args, $gradient-type, $vendor); // Append any additional shorthand args to gradient @if $shorthand-start { @for $j from $shorthand-start through length($shorthand) { $gradient: join($gradient, nth($shorthand, $j), space); } } $backgrounds-prefixed: append($backgrounds-prefixed, $gradient, comma); } // Image with additional properties @else { $backgrounds-prefixed: append($backgrounds-prefixed, $shorthand, comma); } } // If shorthand is a simple string (color or image) @else if $type == string { $backgrounds-prefixed: join($backgrounds-prefixed, $shorthand, comma); } } @return $backgrounds-prefixed; } //Examples: //@include background(linear-gradient(top, orange, red)); //@include background(radial-gradient(circle at 40% 40%, orange, red)); //@include background(url("/images/a.png") no-repeat, linear-gradient(orange, red)); //@include background(url("image.png") center center, linear-gradient(orange, red), url("image.png")); ; T;%T; @ ; i