.flow {
  display: flex;
  gap: var(--size-2);
  align-items: baseline;
  flex-wrap: wrap;

  &.align-normal {
    align-items: normal;
  }

  &.align-start {
    align-items: start;
  }

  &.align-end {
    align-items: end;
  }

  &.centered {
    align-items: center;
  }

  &.justify-between {
    justify-content: space-between;
  }

  &.justify-center {
    justify-content: center;
  }

  &.sm {
    gap: var(--size-1);
  }

  &.lg {
    gap: var(--size-3);
  }

  &.reverse {
    flex-direction: row-reverse;
  }

  &.grow-items > * {
    flex-grow: 1;
    min-width: 0;
    width: 0;
  }

  @media (max-width: 1024px) {
    &.grow-items-lg-n-above > * {
      width: 100%;
    }
  }

  @media (min-width: 1024px) {
    &.grow-items-lg-n-above > * {
      flex-grow: 1;
      min-width: 0;
      width: 0;
    }
  }
}
