.ms-parent.form-control {
  padding: 0;
  border-radius: .2rem;
  display: inline-block;
  height: calc(1.5em + .75rem + 2px);

  .ms-choice {
    height: 100%;
    border: 0;

    > span {
      top: 50%;
      transform: translateY(-50%);
    }
  }

  .ms-drop {
    ul > li:not(.hide-radio) label {
      padding-left: calc(1.2em + 4px);
      overflow: hidden;
      white-space: nowrap;
      text-overflow: ellipsis;

      input[type="radio"],
      input[type="checkbox"] {
        position: absolute;
        top: 50%;
        margin-top: -0.5em;
        margin-left: calc(-1.2em - 4px);
      }
    }
  }

  .input-group-btn .ms-choice {
    border-top-left-radius: 0;
    border-bottom-left-radius: 0;
  }

  .input-group-btn.is-left .ms-choice {
    border-radius: 4px 0 0 4px;
    margin-left: 0;
  }

  .input-group-btn.is-left + .form-control {
    margin-left: -1px;
  }

  &.form-control-sm {
    height: calc(1.5em + .5rem + 2px);
  }

  &.form-control-lg {
    height: calc(1.5em + 1rem + 2px);
  }

  &.ms-dropdown {
    .ms-drop ul > li {
      &.group.hide-radio label.optgroup {
        margin-bottom: 0;
        font-size: 87.5%;
        color: #6c757d;
        white-space: nowrap;
        opacity: 1;
      }

      &.hide-radio.option-level-1 label {
        padding-left: 8px;
      }
    }

    &.ms-dropdown-divider {
      .ms-drop ul > li {
        &.group.hide-radio label.optgroup {
          border-top: 1px solid #e9ecef;
        }

        &.group:first-child label.optgroup {
          border-top: none;
        }
      }
    }
  }
}
