:root {
	--color-indigo-500: oklch(.585 .233 277.117);
	--color-indigo-600: oklch(.511 .262 276.966);
	--color-gray-300: oklch(.872 .01 258.338);
	--color-gray-600: oklch(.446 .043 257.281);
	--color-gray-900: oklch(.21 .034 264.665);
	--color-red-600: oklch(.577 .245 27.325);
}

.freeform-form a {
	color: var(--color-indigo-600);
	font-weight: bold;
	text-decoration: none;
}

.freeform-form a:hover {
	color: var(--color-indigo-500);
	text-decoration: none;
}

.freeform-form {
	font-family: sans-serif;
	box-sizing: border-box;
}

.freeform-form .freeform-required::after {
	content: "*";
	color: var(--color-red-600);
	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: var(--color-indigo-600);
	color: #ffffff;
}

.freeform-form [data-field-type=signature] canvas {
	border: 1px solid var(--color-gray-300) !important;
}

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

.freeform-form [data-field-type=table] [type=radio]+label {
	color: var(--color-gray-900);
}

.freeform-form [data-field-type=table] table thead tr th {
	color: var(--color-gray-600);
	font-size: .75rem;
	text-transform: uppercase;
	letter-spacing: .025em;
	border-bottom: 1px solid var(--color-gray-300);
	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: var(--color-gray-600);
	text-align: center;
	width: auto;
}