.signup {
  padding-top: 5rem;
  padding-bottom: 5rem;
  background-color: #fafafa;
}
.signup .form-label,
.signup legend {
  font-weight: 500;
  font-size: 1rem;
  margin-bottom: .5rem;
}
.signup .form-control {
  border-radius: 0;
  padding: .75rem 1rem;
  font-size: 1rem;
}
.signup .form-control:focus,
.signup .form-check-input:focus {
  border-color: #6592e6;
  box-shadow: 0 0 0 .2rem rgba(101, 146, 230, .25);
}
.signup .form-check-input:checked {
  background-color: #6592e6;
  border-color: #6592e6;
}
.signup .form-text {
  color: #6c757d;
}

/* Role toggle: two outlined buttons, the selected one filled. */
.signup-roles {
  display: flex;
  flex-wrap: wrap;
  gap: .75rem;
}
.signup-roles .btn {
  flex: 1 1 14rem;
  margin: 0;
  border: 2px solid #6592e6;
  color: #6592e6;
  background-color: #ffffff;
  font-size: 1.05rem;
}
.signup-roles .btn-check:checked + .btn {
  color: #ffffff;
  background-color: #6592e6;
}
.signup-roles .btn-check:focus-visible + .btn {
  box-shadow: 0 0 0 .2rem rgba(101, 146, 230, .4);
}

.signup-services {
  display: flex;
  flex-wrap: wrap;
  gap: .5rem 1.5rem;
}

/* Honeypot field: hidden from people, still present for bots. */
.signup .hp-field {
  position: absolute;
  left: -10000px;
  width: 1px;
  height: 1px;
  overflow: hidden;
}

.signup-status:empty {
  display: none;
}

.site-footer {
  padding: 1.5rem 0;
  background-color: #232323;
  color: #ffffff;
  text-align: center;
}
.site-footer a {
  color: #ffffff;
  text-decoration: underline;
}
