// Row Start & End // ===============

// Break // —– // Apply to any element that should force a line break. @mixin break {

@include output((clear: both));

}

// NoBreak // ——- // Cancel the break() effect, e.g. when using media queries. @mixin nobreak {

@include output((clear: none));

}

// Full // —- // - [$context]: <layout shorthand> @mixin full(

$context: $susy

) {

$inspect : $context;
@include susy-inspect(full, $inspect);
@include span(full of parse-grid($context) break);

}

// First // —– // - [$context]: <settings> @mixin first(

$context: $susy

) {

$inspect  : $context;
$context  : parse-grid($context);
$flow     : susy-get(flow, $context);

@include susy-inspect(first, $inspect);
@if not(is-split($context)) {
  @include float-first($flow);
}

}

@mixin alpha(

$context: $susy

) {

@include first($context);

}

// Last // —- // - [$context]: <settings> @mixin last(

$context: $susy

) {

$inspect  : $context;
$context  : parse-grid($context);

@include susy-inspect(last, $inspect);

$output: (
  flow: susy-get(flow, $context),
  last-flow: susy-get(last-flow, $context),
  margin: if(is-split($context), null, 0),
);

@include float-last($output...);

}

@mixin omega(

$context: $susy

) {

@include last($context);

}

// Get Edge // ——– // Calculate edge value based on location, if possible @function get-edge(

$span

) {

$span       : parse-span($span);
$edge       : susy-get(edge, $span);

@if not($edge) {
  $count: susy-count(susy-get(columns, $span));
  $location: susy-get(location, $span);
  $n: susy-get(span, $span);

  $number: if(type-of($location) == number, true, false);
  $index: if($number and unitless($location), true, false);

  @if $n == $count {
    $edge: full;
  } @else if $location and $n and $index {
    @if $location == 1 {
      $edge: if($n == $count, full, first);
    } @else if $location + $n - 1 == $count {
      $edge: last;
    }
  }
}

@if $edge == alpha or $edge == omega {
  $edge: if($edge == alpha, first, last);
}

@return $edge;

}

// Get Location // ———— // Calculate location value based on edge, if possible @function get-location(

$span

) {

$span       : parse-span($span);
$location   : susy-get(location, $span);
$edge       : get-edge($span);
$n          : susy-get(span, $span);

@if $edge and not($location) and type-of($n) == number and unitless($n) {
  @if $edge == first {
    $location: 1;
  } @else if $edge == last {
    $location: susy-count(susy-get(columns, $span)) - $n + 1;
  }
}

@return $location

}