@mixin fieldset-horizontal {
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;

  > * {
    &:first-child {
      flex: 0 0 30%;
    }
    &:not(:first-child) {
      flex: 1 1 auto;
    }
  }

  &.has-input {
    > * {
      &:first-child {
        margin-top: 0.6rem;
      }
    }
  }
}

@mixin fieldset-vertical {
  display: flex;
  flex-wrap: wrap;

  > * {
    flex-basis: 100%;

    &:first-child {
      margin-bottom: 0.5rem;
    }
  }
}
