.badge {
  display: inline-block;
  margin-bottom: 3px;
  margin-right: 3px;
  padding: 4px 0.4em;
  font-size: 75%;
  font-weight: 500;
  line-height: 1;
  vertical-align: baseline;
  min-width: 10px;
  max-width: 100%;
}

[dir='rtl'] .badge {
  margin-right: 0;
  margin-left: 3px;
}

.badge:empty {
  display: none;
}

small .badge,
.small .badge {
  font-size: 90%;
  position: relative;
  top: -1px;
  margin: 0;
}

.btn .badge {
  position: relative;
  top: -1px;
  text-transform: none;
  margin: 0;
}

a .badge {
  cursor: pointer;
}

.badge--pill {
  padding-right: 0.6em;
  padding-left: 0.6em;
}

.badge--large {
  padding: 0 1em;
  font-size: 0.875rem;
  line-height: 2;
}

.badge__container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}

.badge__icon {
  width: 15px;
  height: 18px;
  padding: 0 1px;
}

.badge__icon ~ .badge__label {
  padding-left: 2px;
  font-weight: lighter;
}

[dir='rtl'] .badge__icon ~ .badge__label {
  padding-right: 2px;
  padding-left: 0;
}

.badge__icon ~ .badge__label:first-of-type {
  padding-left: 4px;
}

.badge__label--description {
  display: none;
}

@media (min-width: 600px) {
  .badge__label--description {
    display: inline;
  }
}
