// Turns multidimensional $list into a one-level list
// -------------------------------------------------------------------------------
// @documentation http://sassylists.com/documentation.html#flatten
// -------------------------------------------------------------------------------
// @alias `unfold()`
// -------------------------------------------------------------------------------
// @example flatten(a b (c d (e f))) => a b c d e f
// -------------------------------------------------------------------------------
// @param $list [List] : list
// -------------------------------------------------------------------------------
// @return [List]

@function flatten($list) {
    $result: ();

    @each $item in $list {
        @if length($item) > 1 {
            @each $i in flatten($item) {
                $result: append($result, $i);
            }
        }

        @else {
            $result: append($result, $item);
        }
    }

    @return $result;
}

// Alias
@function unfold($list) {
    @return flatten($list);
}