/*
 * flex
 */
.flex {
  display: -webkit-flex;
  display: -moz-flex;
  display: flex;
}

.flex-center  { .vendor(justify-content, center); }
.flex-left    { .vendor(justify-content, flex-start); }
.flex-right   { .vendor(justify-content, flex-end); }
.flex-between { .vendor(justify-content, space-between); }
.flex-around  { .vendor(justify-content, space-around); }
.flex-evenly  { .vendor(justify-content, space-evenly); }

.flex-middle  { .vendor(align-items, center); }
.flex-top     { .vendor(align-items, flex-start); }
.flex-bottom  { .vendor(align-items, flex-end); }
.flex-stretch  { .vendor(align-items, stretch); }

.flex-heart { .flex-center; .flex-middle; }

.flex-auto {
  .vendor(flex, 1 1 auto);
}
.flex-fixed {
  .vendor(flex-grow, 0);
  .vendor(flex-shrink, 0);
}

.flex-wrap          { .vendor(flex-wrap, wrap); }
.flex-nowrap        { .vendor(flex-wrap, nowrap); }
.flex-wrap-reverse  { .vendor(flex-wrap, wrap-reverse); }

.flex-row             { .vendor(flex-direction, row); }
.flex-row-reverse     { .vendor(flex-direction, row-reverse); }
.flex-column          { .vendor(flex-direction, column); }
.flex-column-reverse  { .vendor(flex-direction, column-reverse); }

.align-items-baseline {
  .vendor(align-items, baseline);
}
.justify-content-baseline {
  .vendor(justify-content, baseline);
}

.align-self-middle   { .vendor(align-self, center); }
.align-self-top      { .vendor(align-self, flex-start); }
.align-self-bottom   { .vendor(align-self, flex-end); }
.align-self-stretch  { .vendor(align-self, stretch); }
.align-self-baseline { .vendor(align-self, baseline); }
// order
.for(1 2 3 4 5 6 7 8 9 10 100, {
  .order-@{value} {
    order: @value * 1 !important;
  }
});

// gap
.for(1 2 3 4 5 6 7 8 9 10 12 14 16 18 20 22 24 26, {
  .gap-@{value} { gap: unit(@value, px); }
});

@media @media-mobile {
  .for(1 2 3 4 5 6 7 8 9 10 100, {
    .s-order-@{value} {
      order: @value * 1 !important;
    }
  });
  .for(1 2 3 4 5 6 7 8 9 10 12 14 16 18 20 22 24 26, {
    .s-gap-@{value} { gap: unit(@value, px); }
  });
}

@media @media-tablet {
  .for(1 2 3 4 5 6 7 8 9 10 100, {
    .m-order-@{value} {
      order: @value * 1 !important;
    }
  });
  .for(1 2 3 4 5 6 7 8 9 10 12 14 16 18 20 22 24 26, {
    .m-gap-@{value} { gap: unit(@value, px); }
  });
}

@media @media-desktop {
  .for(1 2 3 4 5 6 7 8 9 10 100, {
    .l-order-@{value} {
      order: @value * 1 !important;
    }
  });
  .for(1 2 3 4 5 6 7 8 9 10 12 14 16 18 20 22 24 26, {
    .l-gap-@{value} { gap: unit(@value, px); }
  });
}

.for(1 2 3 4 5 6 7 8 9 10 100, {
  .order-n@{value} {
    order: @value * -1 !important;
  }
});

@media @media-mobile {
  .for(1 2 3 4 5 6 7 8 9 10 100, {
    .s-order-n@{value} {
      order: @value * -1 !important;
    }
  });
}

@media @media-tablet {
  .for(1 2 3 4 5 6 7 8 9 10 100, {
    .m-order-n@{value} {
      order: @value * -1 !important;
    }
  });
}

@media @media-desktop {
  .for(1 2 3 4 5 6 7 8 9 10 100, {
    .l-order-n@{value} {
      order: @value * -1 !important;
    }
  });
}
