.btn {
  display: inline-block;
  margin-bottom: 0;

  text-align: center;
  text-transform: uppercase;
  vertical-align: middle;
  cursor: pointer;
  background-image: none;

  padding: 6px 12px;
  font-size: 1.4rem;
  border-radius: 0px;
  border: 1px solid transparent;
  text-decoration: none;
  user-select: none;
  background: #d8d8d8;
  font-size: 12px;

  &,
  &:active,
  &.active {
    &:focus {
      outline: thin dotted;
      outline: 5px auto -webkit-focus-ring-color;
      outline-offset: -2px;
    }
  }

  &:hover,
  &:focus,
  &.focus {
    text-decoration: none;
    color: #fff;
  }

  &:active,
  &.active {
    outline: 0;
    background-image: none;
  }

  &.disabled,
  &[disabled],
  fieldset[disabled] & {
    cursor: not-allowed;
    pointer-events: none;
    box-shadow: none;
  }

  &.btn-xs {
    padding: 3px 6px;
    font-size: 1.2rem;
  }

  &.btn-sm {
    padding: 4px 8px;
    font-size: 1.3rem;
  }

  &.btn-lg {
    padding: 8px 16px;
    font-size: 1.6rem;
  }
}

.loading-spinner {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  border: 4px solid #f3f3f3;
  border-top: 4px solid #3498db;
  border-radius: 50%;
  width: 50px;
  height: 50px;
  animation: spin 2s linear infinite;
}

@keyframes spin {
  0% { transform: rotate(0deg); }
  100% { transform: rotate(360deg); }
}
.db-btn {
  display: inline-block;
  font-weight: 400;
  text-align: center;
  white-space: nowrap;
  vertical-align: middle;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  border: 1px solid transparent;
  padding: 0.5rem 0.75rem;
  font-size: 1rem;
  line-height: 1.25;
  border-radius: 0.25rem;
  transition: all 0.15s ease-in-out;
}
.db-btn-secondary {
  color: #fff;
  background-color: #868e96;
  border-color: #868e96;
}
.db-btn-primary {
  color: #fff;
  background-color: #007bff;
  border-color: #007bff;
}