// Flex variation
//
// Custom styles for additional flex alignment options.

@each $breakpoint in map-keys($grid-breakpoints) {
  @include media-breakpoint-up($breakpoint) {
    $infix: breakpoint-infix($breakpoint, $grid-breakpoints);

    // Flex column reordering
    .flex#{$infix}-first     { order: -1; }
    .flex#{$infix}-last      { order: 1; }
    .flex#{$infix}-unordered { order: 0; }

    // Alignment for every item
    .flex-items#{$infix}-top    { align-items: flex-start; }
    .flex-items#{$infix}-middle { align-items: center; }
    .flex-items#{$infix}-bottom { align-items: flex-end; }

    // Alignment per item
    .flex#{$infix}-top    { align-self: flex-start; }
    .flex#{$infix}-middle { align-self: center; }
    .flex#{$infix}-bottom { align-self: flex-end; }

    // Horizontal alignment of item
    .flex-items#{$infix}-left    { justify-content: flex-start; }
    .flex-items#{$infix}-center  { justify-content: center; }
    .flex-items#{$infix}-right   { justify-content: flex-end; }
    .flex-items#{$infix}-around  { justify-content: space-around; }
    .flex-items#{$infix}-between { justify-content: space-between; }
  }
}
