/* Hides item visually until focused with keyboard. Does not hide it from screen readers, unlike display:none */
.visually-hidden:not(:focus):not(:active) {
  border: 0;
  clip-path: inset(50%);
  height: 1px;
  margin: 0;
  overflow: hidden;
  position: absolute;
  white-space: nowrap;
  width: 1px;
}

.visually-hidden {
  position: absolute;
}

/* keeps spaces from wrapping when menu items get small */
.stay-together {
  white-space: nowrap;
}

/* utilities for convenience */
.m-0 {
  margin: 0 !important;
}

.mt-0 {
  margin-top: 0 !important;
}

.mb-0 {
  margin-bottom: 0 !important;
}

.p-0 {
  padding: 0 !important;
}

.pt-0 {
  padding-top: 0 !important;
}

.pb-0 {
  padding-bottom: 0 !important;
}