.freeform-form {
  box-sizing: border-box;
}

.freeform-form input::placeholder,
.freeform-form textarea::placeholder {
  font-weight: 400;
}

.freeform-form .freeform-required::after {
  content: "*";
  color: #dc2626;
  margin-left: 3px;
}

@keyframes freeform-processing {
  0% {
    transform: rotate(0);
  }
  100% {
    transform: rotate(1turn);
  }
}

.freeform-form button[type=submit].freeform-processing {
  display: inline-flex;
  flex-wrap: nowrap;
  align-items: center;
}

.freeform-form button[type=submit].freeform-processing:before {
  content: "";
  display: block;
  flex: 1 0 11px;
  width: 11px;
  height: 11px;
  margin-right: 10px;
  border-style: solid;
  border-width: 2px;
  border-color: transparent transparent #fff #fff;
  border-radius: 50%;
  animation: freeform-processing .5s linear infinite;
}

.freeform-form [data-field-type=multiple-select] option:checked {
  background-color: hsl(212, 100%, 42.9%);
  color: #ffffff;
}

.freeform-form [data-field-type=signature] canvas {
  border: 1px solid hsla(0, 0%, 83%, 1.00) !important;
}

.freeform-form [data-field-type=table] [type=radio] {
  margin-bottom: -3px !important;
}

.freeform-form [data-field-type=table] [type=radio]+label {
  color: hsla(0, 0%, 9%, 1.00);
}

.freeform-form [data-field-type=table] table thead tr th {
  color: hsla(0, 0%, 32%, 1.00);
  font-size: .75rem;
  text-transform: uppercase;
  letter-spacing: .025em;
  border-bottom: 1px solid hsla(0, 0%, 83%, 1.00);
  padding-bottom: 3px !important;
}

.freeform-form [data-field-type=table] table tbody tr:first-child td {
  padding-top: 10px !important;
}

.freeform-form [data-field-type=file-dnd] [data-placeholder] {
  font-size: .875rem;
  color: hsla(0, 0%, 32%, 1.00);
  text-align: center;
  width: auto;
}