| @mixin media($query:$feature $value $columns, $total-columns: $grid-columns) { |
| @if length($query) == 1 { |
| @media screen and ($default-feature: nth($query, 1)) { |
| $default-grid-columns: $grid-columns; |
| $grid-columns: $total-columns !global; |
| @content; |
| $grid-columns: $default-grid-columns !global; |
| } |
| } |
| |
| @else { |
| $loopTo: length($query); |
| $mediaQuery: 'screen and '; |
| $default-grid-columns: $grid-columns; |
| $grid-columns: $total-columns !global; |
| |
| @if length($query) % 2 != 0 { |
| $grid-columns: nth($query, $loopTo) !global; |
| $loopTo: $loopTo - 1; |
| } |
| |
| $i: 1; |
| @while $i <= $loopTo { |
| $mediaQuery: $mediaQuery + '(' + nth($query, $i) + ': ' + nth($query, $i + 1) + ') '; |
| |
| @if ($i + 1) != $loopTo { |
| $mediaQuery: $mediaQuery + 'and '; |
| } |
| |
| $i: $i + 2; |
| } |
| |
| @media #{$mediaQuery} { |
| @content; |
| $grid-columns: $default-grid-columns !global; |
| } |
| } |
| } |