.border-solid {
  border-style: solid;
}

.border-dashed {
  border-style: dashed;
}

.border-small {
  border-width: 1px;
  border-style: solid;
}

.border-medium {
  border-width: 2px;
  border-style: solid;
}

.border-none {
  border: none;
}

/* top */
.border-top-small {
  border-top-width: 1px;
  border-top-style: solid;
}
.border-top-medium {
  border-top-width: 2px;
  border-top-style: solid;
}
.border-top-large {
  border-top-width: 4px;
  border-top-style: solid;
}
.border-top-none {
  border-top: none;
}
.border-top-transparent {
  border-top-color: transparent;
}

/* right */
.border-right-small {
  border-right-width: 1px;
  border-right-style: solid;
}
.border-right-medium {
  border-right-width: 2px;
  border-right-style: solid;
}
.border-right-large {
  border-right-width: 4px;
  border-right-style: solid;
}
.border-right-none {
  border-right: none;
}
.border-right-transparent {
  border-right-color: transparent;
}

/* bottom */
.border-bottom-small {
  border-bottom-width: 1px;
  border-bottom-style: solid;
}
.border-bottom-medium {
  border-bottom-width: 2px;
  border-bottom-style: solid;
}
.border-bottom-large {
  border-bottom-width: 4px;
  border-bottom-style: solid;
}
.border-bottom-none {
  border-bottom: none;
}
.border-bottom-transparent {
  border-bottom-color: transparent;
}

/* left */
.border-left-small {
  border-left-width: 1px;
  border-left-style: solid;
}
.border-left-medium {
  border-left-width: 2px;
  border-left-style: solid;
}
.border-left-large {
  border-left-width: 4px;
  border-left-style: solid;
}
.border-left-none {
  border-left: none;
}
.border-left-transparent {
  border-left-color: transparent;
}

/* -- Start / Specific to button groups */
.border-right-normal-transparent {
  border-right-color: transparent;
  border-right-width: 1px;
}

.border-right-transparent-unless-hovered:not(:hover) {
  border-right-color: transparent;
}

*:hover ~ .border-left-transparent-on-sibling-hovered {
  border-left-color: transparent;
}

.border-bottom-transparent-unless-hovered:not(:hover) {
  border-bottom-color: transparent;
}

*:hover ~ .border-top-transparent-on-sibling-hovered {
  border-top-color: transparent;
}

.border-bottom-none-not-last-child:not(:last-child) {
  border-bottom: none;
}
/* -- End / Specific to button groups */
