@function shift($list) { @if length($list) == 1 { @return (); } $new: (); @for $i from 2 through length($list) { $new: append($new, nth($list, $i)); } @return $new; } @mixin media($medias...) { @if length($medias) == 0 { @content; } @else { @media #{nth($medias, 1)} { @include media(shift($medias)...) { @content; } } } } .foo { @include media('only screen', '(color)', '(orientation: portrait)') { content: bar; } } @include media('all', '(min-width: 42em)') { .foo { content: bar; } }