/**
* Flexbox utilities
*/
@mixin gl-align-items-baseline {
  align-items: baseline;
}

@mixin gl-align-items-center {
  align-items: center;
}

@mixin gl-align-items-flex-start {
  align-items: flex-start;
}

@mixin gl-align-items-flex-end {
  align-items: flex-end;
}

@mixin gl-align-items-stretch {
  align-items: stretch;
}

@mixin gl-xs-align-items-baseline {
  @include gl-media-breakpoint-down(sm) {
    @include gl-align-items-baseline;
  }
}

@mixin gl-lg-align-items-baseline {
  @include gl-media-breakpoint-up(lg) {
    @include gl-align-items-baseline;
  }
}

@mixin gl-md-align-items-center {
  @include gl-media-breakpoint-up(md) {
    @include gl-align-items-center;
  }
}

@mixin gl-lg-align-items-center {
  @include gl-media-breakpoint-up(lg) {
    @include gl-align-items-center;
  }
}

@mixin gl-sm-align-items-flex-end {
  @include gl-media-breakpoint-up(sm) {
    @include gl-align-items-flex-end;
  }
}

@mixin gl-lg-align-items-flex-end {
  @include gl-media-breakpoint-up(lg) {
    @include gl-align-items-flex-end;
  }
}

@mixin gl-flex-wrap {
  flex-wrap: wrap;
}

@mixin gl-lg-flex-wrap {
  @include gl-media-breakpoint-up(lg) {
    @include gl-flex-wrap;
  }
}

@mixin gl-xl-flex-wrap {
  @include gl-media-breakpoint-up(xl) {
    @include gl-flex-wrap;
  }
}

@mixin gl-sm-flex-wrap {
  @include gl-media-breakpoint-up(sm) {
    @include gl-flex-wrap;
  }
}

@mixin gl-flex-nowrap {
  flex-wrap: nowrap;
}

@mixin gl-sm-flex-direction-column {
  @include gl-media-breakpoint-down(md) {
    @include gl-flex-direction-column;
  }
}

@mixin gl-md-flex-direction-column {
  @include gl-media-breakpoint-up(md) {
    @include gl-flex-direction-column;
  }
}

@mixin gl-lg-flex-direction-column {
  @include gl-media-breakpoint-up(lg) {
    @include gl-flex-direction-column;
  }
}

@mixin gl-xs-flex-direction-column {
  @include gl-media-breakpoint-down(sm) {
    flex-direction: column;
  }
}

@mixin gl-flex-direction-column {
  flex-direction: column;
}

@mixin gl-flex-direction-column-reverse {
  flex-direction: column-reverse;
}

@mixin gl-flex-direction-row {
  flex-direction: row;
}

@mixin gl-sm-flex-direction-row {
  @include gl-media-breakpoint-up(sm) {
    @include gl-flex-direction-row;
  }
}

@mixin gl-md-flex-direction-row {
  @include gl-media-breakpoint-up(md) {
    @include gl-flex-direction-row;
  }
}

@mixin gl-lg-flex-direction-row {
  @include gl-media-breakpoint-up(lg) {
    @include gl-flex-direction-row;
  }
}

@mixin gl-xl-flex-direction-row {
  @include gl-media-breakpoint-up(xl) {
    @include gl-flex-direction-row;
  }
}

@mixin gl-flex-direction-row-reverse {
  flex-direction: row-reverse;
}

@mixin gl-flex-shrink-0 {
  flex-shrink: 0;
}

@mixin gl-flex-grow-0 {
  flex-grow: 0;
}

@mixin gl-flex-grow-1 {
  flex-grow: 1;
}

@mixin gl-flex-grow-2 {
  flex-grow: 2;
}

@mixin gl-md-flex-grow-0 {
  @include gl-media-breakpoint-up(md) {
    @include gl-flex-grow-0;
  }
}

@mixin gl-md-flex-grow-1 {
  @include gl-media-breakpoint-up(lg) {
    @include gl-flex-grow-1;
  }
}

@mixin gl-lg-flex-grow-1 {
  @include gl-media-breakpoint-up(lg) {
    @include gl-flex-grow-1;
  }
}

@mixin gl-flex-basis-0 {
  flex-basis: 0;
}

@mixin gl-flex-basis-third {
  flex-basis: 33%;
}

@mixin gl-flex-basis-half {
  flex-basis: 50%;
}

@mixin gl-justify-content-center {
  justify-content: center;
}

@mixin gl-justify-content-end {
  justify-content: flex-end;
}

@mixin gl-sm-justify-content-end {
  @include gl-media-breakpoint-up(sm) {
    @include gl-justify-content-end;
  }
}

@mixin gl-md-justify-content-end {
  @include gl-media-breakpoint-up(md) {
    @include gl-justify-content-end;
  }
}

@mixin gl-lg-justify-content-end {
  @include gl-media-breakpoint-up(lg) {
    @include gl-justify-content-end;
  }
}

@mixin gl-justify-content-space-between {
  justify-content: space-between;
}

@mixin gl-justify-content-start {
  justify-content: flex-start;
}

@mixin gl-md-justify-content-start {
  @include gl-media-breakpoint-up(md) {
    @include gl-justify-content-start;
  }
}

@mixin gl-lg-justify-content-start {
  @include gl-media-breakpoint-up(lg) {
    @include gl-justify-content-start;
  }
}

@mixin gl-align-self-start {
  align-self: flex-start;
}

@mixin gl-align-self-end {
  align-self: flex-end;
}

@mixin gl-align-self-center {
  align-self: center;
}

@mixin gl-sm-align-self-center {
  @include gl-media-breakpoint-up(sm) {
    @include gl-align-self-center;
  }
}

@mixin gl-md-align-self-center {
  @include gl-media-breakpoint-up(md) {
    @include gl-align-self-center;
  }
}

/**
 * Order utilities
 *
 * naming convention: gl-order-{position}
 */

@mixin gl-order-n1 {
  order: -1;
}
