3.2.1 (Media Mark) cf66af2e2ef6c6e5f709826e22bd1520bc36b58f o: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::Bool;F; i ; @ [o;;I"background-3; T;I"background_3; T; @ o;;F; i ; @ [o;;I"background-4; T;I"background_4; T; @ o;;F; i ; @ [o;;I"background-5; T;I"background_5; T; @ o;;F; i; @ [o;;I"background-6; T;I"background_6; T; @ o;;F; i; @ [o;;I"background-7; T;I"background_7; T; @ o;;F; i; @ [o;;I"background-8; T;I"background_8; T; @ o;;F; i; @ [o;;I"background-9; T;I"background_9; T; @ o;;F; i; @ [o;;I"background-10; T;I"background_10; T; @ o;;F; i; @ [o;;I" fallback; T;I" fallback; T; @ o;;F; i; @ : @splat0;[o:Sass::Tree::VariableNode ;I"backgrounds; T: @expro:Sass::Script::Funcall ;I" compact; T;[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; @ :@keywords{;0; i; @ : @guarded0;[; i; @ o; ;I"fallback-color; T;o;;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::IfNode1[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; ;I"background-add-prefix; T;[o; ;I"backgrounds; T;I"backgrounds; T; i$; @ o:Sass::Script::String ;I" webkit; T; :identifier; i$; @ ;{;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%; @ o; ;I"moz; T; ;; i%; @ ;{;0; i%; @ ;i;; ;[; i%; @ o; ;[I"background; T;o; ;I"background-add-prefix; T;[o; ;I"backgrounds; T;I"backgrounds; T; i&; @ o; ;I"ms; T; ;; i&; @ ;{;0; i&; @ ;i;; ;[; i&; @ o; ;[I"background; T;o; ;I"background-add-prefix; T;[o; ;I"backgrounds; T;I"backgrounds; T; i'; @ o; ;I"o; T; ;; i'; @ ;{;0; i'; @ ;i;; ;[; 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: @linei0: @options{:@keywords{: @splat0; i0;@ :@operand2o:Sass::Script::String : @valueI" color; T: @type:identifier; i0;@ :@operator:eq; i0;@ 0[o:Sass::Tree::ReturnNode : @expro; ;I" value; T; I" value; T; i1;@ :@children[; i1;@ ; i.:@has_childrenT;@ o:Sass::Tree::ReturnNode ;o;;F; i5; @ ;[; i5; @ ; 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; i9; @ ;0;[o; ;I"backgrounds-prefixed; T;o:Sass::Script::List ;[:@separator: space; i:; @ ;0;[; i:; @ 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"backgrounds; T;I"backgrounds; T; i<; @ ;{;0; i<; @ :@exclusiveF;[ o; ;I"shorthand; T;o; ;I"nth; T;[o; ;I"backgrounds; T;I"backgrounds; T; i=; @ o; ;I"i; T;I"i; T; i=; @ ;{;0; i=; @ ;0;[; i=; @ o; ;[I"'/* Get member for current index */; T; ; ;[; i=; @ o; ;I" type; T;o; ;I" type-of; T;[o; ;I"shorthand; T;I"shorthand; T; i>; @ ;{;0; i>; @ ;0;[; i>; @ o; ;[I"0/* Get type of variable - List or String */; T; ; ;[; i>; @ o; ;[I"!/* If shorthand is a list */; T; ; ;[; i@; @ u;Ý[o:Sass::Script::Operation :@operand1o:Sass::Script::Variable : @nameI" type:ET:@underscored_nameI" type; T: @lineiA: @options{:@operand2o:Sass::Script::String : @valueI" list; T: @type:identifier; iA; @ :@operator:eq; iA; @ u:Sass::Tree::IfNode8[o:Sass::Script::Operation :@operand1o:Sass::Script::Variable : @nameI" type:ET:@underscored_nameI" type; T: @lineie: @options{:@operand2o:Sass::Script::String : @valueI" string; T: @type:identifier; ie; @ :@operator:eq; ie; @ 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; if; @ o; ;I"shorthand; T; I"shorthand; T; if; @ o; ;I" comma; T;;; if; @ :@keywords{: @splat0; if; @ : @guarded0:@children[; if; @ [ o:Sass::Tree::VariableNode ;I"first-member; T: @expro:Sass::Script::Funcall ;I"nth; T: @args[o; ;I"shorthand; T; I"shorthand; T; iB; @ o:Sass::Script::Number ;i:@numerator_units[:@denominator_units[; iB:@originalI"1; F; @ :@keywords{: @splat0; iB; @ : @guarded0:@children[; iB; @ o:Sass::Tree::CommentNode ;[I"(/* Get first member of shorthand */; T;: silent; [; iB; @ o;! ;[I"/* Linear Gradient */; T;;"; [; iD; @ u;Ë[o:Sass::Script::Funcall : @nameI" index:ET: @args[o:Sass::Script::List : @value[o:Sass::Script::String ; I" linear;T: @type:identifier: @lineiE: @options{o; ; I" radial;T; ; ;iE;@ :@separator: space;iE;@ o; ;I"nth;T;[o:Sass::Script::Variable ;I"first-member;T:@underscored_nameI"first_member;T;iE;@ o:Sass::Script::Number ; i:@numerator_units[:@denominator_units[;iE:@originalI"1;F;@ :@keywords{: @splat0;iE;@ ;{;0;iE;@ 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;iF;@ o; ; i;[;@;iF;I"1;F;@ ;{;0;iF;@ : @guarded0:@children[;iF;@ o:Sass::Tree::CommentNode ; [I"/* linear || radial */;T; : silent;[;iF;@ o; ; [I"*/* Get actual gradient (red, blue) */;T; ; ;[;iH;@ o; ;I"gradient-args;T;o:Sass::Script::Bool; F;iI;@ ;0;[;iI;@ o; ;I"shorthand-start;T;o;!; F;iJ;@ ;0;[;iJ;@ o; ; [I"?/* Linear gradient and positioning, repeat, etc. values */;T; ; ;[;iK;@ 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: @lineiL: @options{:@keywords{: @splat0; iL;@ :@operand2o:Sass::Script::String : @valueI" list; T: @type:identifier; iL;@ :@operator:eq; iL;@ u:Sass::Tree::IfNode3[00[o:Sass::Tree::VariableNode : @nameI"gradient-args:ET: @expro:Sass::Script::Funcall ;I"nth;T: @args[o:Sass::Script::Variable ;I"shorthand;T:@underscored_nameI"shorthand;T: @lineiR: @options{o:Sass::Script::Number : @valuei:@numerator_units[:@denominator_units[; iR:@originalI"2;F;@:@keywords{: @splat0; iR;@: @guarded0:@children[; iR;@o:Sass::Tree::CommentNode ;[I"*/* Get actual gradient (red, blue) */;T: @type: silent;[; iR;@o; ;I"shorthand-start;T;o; ;i;[;@; iS;I"3;F;@;0;[; iS;@[o:Sass::Tree::VariableNode ;I"gradient-args; T: @expro; ;I"nth; T; [o; ;I"first-member; T; I"first_member; T; iM;@ o:Sass::Script::Number ;i:@numerator_units[:@denominator_units[; iM:@originalI"2; F;@ ;{;0; iM;@ : @guarded0:@children[; iM;@ o; ;I"shorthand-start; T;o; ;i;[;@; iN;I"2; F;@ ;0; [; iN;@ o; ;I" gradient;T;o; ;I"render-gradients;T;[o; ;I"gradient-args;T;I"gradient_args;T;iV;@ o; ;I"gradient-type;T;I"gradient_type;T;iV;@ o; ;I" vendor;T;I" vendor;T;iV;@ ;{;0;iV;@ ;0;[;iV;@ o:Sass::Tree::ForNode : @varI"j;T: @fromo; ;I"shorthand-start;T;I"shorthand_start;T;iW;@ :@too; ;I" length;T;[o; ;I"shorthand;T;I"shorthand;T;iW;@ ;{;0;iW;@ :@exclusiveF;[o; ;I" gradient;T;o; ;I" join;T;[o; ;I" gradient;T;I" gradient;T;iX;@ o; ;I"nth;T;[o; ;I"shorthand;T;I"shorthand;T;iX;@ o; ;I"j;T;I"j;T;iX;@ ;{;0;iX;@ o; ; I" space;T; ; ;iX;@ ;{;0;iX;@ ;0;[;iX;@ ;iW:@has_childrenT;@ o; ;I"backgrounds-prefixed;T;o; ;I" append;T;[o; ;I"backgrounds-prefixed;T;I"backgrounds_prefixed;T;iZ;@ o; ;I" gradient;T;I" gradient;T;iZ;@ o; ; I" comma;T; ; ;iZ;@ ;{;0;iZ;@ ;0;[;iZ;@ ; i<;!T; @ o;# ;o; ;I"backgrounds-prefixed; T;I"backgrounds_prefixed; T; ii; @ ;[; ii; @ ; i9;!T; @ o; ;[I"P/*Examples: *@include background(linear-gradient(top, orange, red)); *@include background(radial-gradient(50% 50%, cover circle, 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; ; ;[; il; @ :@templateI"{//************************************************************************// // Background property for adding multiple backgrounds using shorthand // notation. //************************************************************************// @mixin background( $background-1 , $background-2: false, $background-3: false, $background-4: false, $background-5: false, $background-6: false, $background-7: false, $background-8: false, $background-9: false, $background-10: false, $fallback: false ) { $backgrounds: compact($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, moz); background: background-add-prefix($backgrounds, ms); background: background-add-prefix($backgrounds, o); 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 or String // If shorthand is a list @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 // Get actual gradient (red, blue) $gradient-args: false; $shorthand-start: false; // Linear gradient and positioning, repeat, etc. values @if type-of($first-member) == list { $gradient-args: nth($first-member, 2); $shorthand-start: 2; } // Linear gradient only @else { $gradient-args: nth($shorthand, 2); // Get actual gradient (red, blue) $shorthand-start: 3; } $gradient: render-gradients($gradient-args, $gradient-type, $vendor); @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(50% 50%, cover circle, 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; i;!T; @