/* -- Colors -- */
.text-light-green { color: var(--color-green); }
.text-muted       { color: var(--color-muted); }
.text-danger      { color: var(--color-danger); }
.text-success     { color: var(--color-success); }

/* -- Sizes -- */
.text-sm { font-size: 90%; }
.text-xs { font-size: 80%; }

/* -- Spacing -- */
.me-auto { margin-right: auto; }
.mt-2 { margin-top: var(--spacing-2); }
.ms-2 { margin-left: var(--spacing-2); }
.ms-3 { margin-left: var(--spacing-3); }
.mb-2 { margin-bottom: var(--spacing-2); }
.mb-3 { margin-bottom: var(--spacing-3); }
.me-2 { margin-right: var(--spacing-2); }
.my-n1 {
  margin-top: calc(var(--spacing-1) * -1);
  margin-bottom: calc(var(--spacing-1) * -1);
}
.mt-n1 { margin-top: calc(var(--spacing-1) * -1); }

.p-0 { padding: 0 !important; }
.pt-2 { padding-top: var(--spacing-2) !important; }
.pt-3 { padding-top: var(--spacing-3) !important; }
.py-5 {
  padding-top: var(--spacing-5) !important;
  padding-bottom: var(--spacing-5) !important;
}
.px-2 {
  padding-right: var(--spacing-2);
  padding-left: var(--spacing-2);
}
.pb-1 { padding-bottom: var(--spacing-1) !important; }

/* -- Flexbox -- */
.d-flex {
  display: flex;
}

.justify-content-center {
  justify-content: center !important;
}

.justify-content-between {
  justify-content: space-between !important;
}

.align-items-center {
  align-items: center;
}

.flex-shrink-0 {
  flex-shrink: 0;
}

/* -- Visibility -- */
.d-none {
  display: none !important;
}

.p-hidden {
  @media (max-width: 768px) {
    display: none;
  }
}

/* -- Text -- */
.text-center {
  text-align: center;
}

.text-nowrap {
  white-space: nowrap;
}

.font-monospace {
  font-family: monospace;
}

/* -- Other -- */
.image {
  max-width: 100%;
}
