//====================================================
//  Alignment
//====================================================
.align {
  &--center {
    text-align: center;
    margin: 0 auto;
  }

  &--left {
    text-align: left;
  }

  &--right {
    text-align: right;
  }
}

//====================================================
//  Flex Helpers
//====================================================
.flex {
  display: flex;
  flex: 1;
}

.flex-column {
  @extend .flex;

  flex-direction: column;
}

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

.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;
}

.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;
}

.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;
}
$flexSizes: (2, 3, 4, 5, 6, 7, 8, 9);

.flex-column {
  display: flex;
  flex-direction: column;
  flex: 0 0 100;
  max-height: calc(100vh - 60px);

  @each $size in $flexSizes {
    &--#{$size}0 {
      flex: $size;
    }
  }
}

//====================================================
//  Position Helpers
//====================================================
.push-right {
  margin-left: auto;
}

//====================================================
//  Padding
//====================================================
.no-padding {
  padding: 0 !important;
}

.full-width {
  width: 100%;
  overflow: scroll;
}
