////
/// Flexbox Classes
/// either with `basscss` or `bootstrap` (default) naming-style for responsive classes
/// @group Base:Flexbox
/// @author Basscss@v8, Michael Becker
////

///
.flex {
    display: flex
}

///
.inline-flex {
    display: inline-flex;
}

///
$class-flex-xs: flex-xs !default;
///
$class-flex-sm: flex-sm !default;
///
$class-flex-md: flex-md !default;
///
$class-flex-lg: flex-lg !default;
///
$class-flex-xl: flex-xl !default;
@if $class-style == basscss {
    $class-flex-xs: xs-flex !default;
    $class-flex-sm: sm-flex !default;
    $class-flex-md: md-flex !default;
    $class-flex-lg: lg-flex !default;
    $class-flex-xl: xl-flex !default;
}

@include bp-xs {
    /// for bp-xs
    .#{$class-flex-xs} {
        display: flex
    }
}

@include bp-sm {
    /// for bp-sm
    .#{$class-flex-sm} {
        display: flex
    }
}

@include bp-md {
    /// for bp-md
    .#{$class-flex-md} {
        display: flex
    }
}

@include bp-lg {
    /// for bp-lg
    .#{$class-flex-lg} {
        display: flex
    }
}

@include bp-xl {
    /// for bp-xl
    .#{$class-flex-xl} {
        display: flex
    }
}

///
.flex-column {
    flex-direction: column
}

///
.flex-wrap {
    flex-wrap: wrap
}

///
.flex-nowrap {
    flex-wrap: nowrap
}

///
.flex-wrap-reverse {
    flex-wrap: wrap-reverse;
}

///
.shrink-0x {
    flex-shrink: 0;
}

///
.shrink-1x {
    flex-shrink: 1;
}

///
.shrink-2x {
    flex-shrink: 2;
}

///
.shrink-3x {
    flex-shrink: 3;
}

///
.grow-0x {
    flex-grow: 0;
}

///
.grow-1x {
    flex-grow: 1;
}

///
.grow-2x {
    flex-grow: 2;
}

///
.grow-3x {
    flex-grow: 3;
}

///
.items-start {
    align-items: flex-start
}

///
.items-end {
    align-items: flex-end
}

///
.items-center {
    align-items: center
}

///
.items-baseline {
    align-items: baseline
}

///
.items-stretch {
    align-items: stretch
}

///
.self-start {
    align-self: flex-start
}

///
.self-end {
    align-self: flex-end
}

///
.self-center {
    align-self: center
}

///
.self-baseline {
    align-self: baseline
}

///
.self-stretch {
    align-self: stretch
}

///
.justify-start {
    justify-content: flex-start
}

///
.justify-end {
    justify-content: flex-end
}

///
.justify-center {
    justify-content: center
}

///
.justify-between {
    justify-content: space-between
}

///
.justify-around {
    justify-content: space-around
}

///
.justify-evenly {
    justify-content: space-evenly
}

///
.content-start {
    align-content: flex-start
}

///
.content-end {
    align-content: flex-end
}

///
.content-center {
    align-content: center
}

///
.content-between {
    align-content: space-between
}

///
.content-around {
    align-content: space-around
}

///
.content-stretch {
    align-content: stretch
}

/// Flex Auto position
/// [a] Fix for Chrome 44 bug. https://code.google.com/p/chromium/issues/detail?id=506893 */
.flex-auto {
    flex: 1 1 auto;
    min-width: 0; /* a */
    min-height: 0; /* a */
}

///
.flex-none {
    flex: none
}

///
.order-0 {
    order: 0
}

///
.order-1 {
    order: 1
}

///
.order-2 {
    order: 2
}

///
.order-3 {
    order: 3
}

///
.order-last {
    order: 99999
}
