* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

.required {
  color: var(--bs-danger);
}

.grecaptcha-badge {
  display: none;
}

select {
  cursor: pointer;
}

textarea {
  position: relative;
  resize: none;
}

.form-floating:has(textarea):before {
  content: '';
  position: absolute;
  top: 1px;
  left: 1px;
  right: -1px;
  margin-right: 1.825rem;
  height: 1.625rem;
  background-color: var(--bs-body-bg);
  z-index: 1;
  border-radius: 0.375rem 0 0 0.375rem;
  pointer-events: none;
}

.form-floating:has(textarea) label {
  z-index: 2;
}

.form-floating textarea.form-control {
  overflow-y: scroll;
}

.form-control::placeholder {
  user-select: none;
}

.form-floating>.form-control:focus::placeholder,
.form-floating>.form-control-plaintext:focus::placeholder {
  color: var(--bs-secondary-color);
  opacity: 0.5;
}

.was-validated .form-floating:has(textarea):before {
  margin-right: 3.325rem;
}

.was-validated .form-floating textarea.form-control {
  background-position: right 1.5rem center;
}

.spinner:not([style*="display: none"])~.submit-icon {
  display: none;
}