.mb-3 {
	margin-bottom: 20px;
}

.error {
	background: #D9534F;
	color: white;
	display: inline-block;
	padding: 10px 15px;
}

/* Base form control */
.form-label {
	padding: 0px 0px 5px;
	display: block;
}
.form-control {
	display: block;
	width: 100%;
	padding: 10px 12px;
	font: 400 16px/1.4 system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, sans-serif;
	color: #333;
	background-color: #fff;
	border: 2px solid #ccc;
	border-radius: 6px;
	box-sizing: border-box;
	transition: border-color .2s, box-shadow .2s;
}

.form-control:focus {
	border-color: #043647;
	outline: 0;
	box-shadow: 0 0 0 3px rgba(99,56,116,0.15);
}

/* Textarea */
textarea.form-control {
	min-height: 120px;
	resize: vertical;
}

/* Select */
select.form-control {
	appearance: none;
	background-image: url("data:image/svg+xml;utf8,<svg fill='%23633874' height='24' width='24' viewBox='0 0 24 24'><path d='M7 10l5 5 5-5z'/></svg>");
	background-repeat: no-repeat;
	background-position: right 10px center;
	background-size: 16px;
	padding-right: 36px;
}

/* Checkboxes + radios */
.form-check {
	display: flex;
	align-items: center;
	gap: 8px;
	margin: 6px 0;
	font: 400 15px/1.4 system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, sans-serif;
	color: #333;
}

.form-check input[type="checkbox"],
.form-check input[type="radio"] {
	appearance: none;
	width: 18px;
	height: 18px;
	border: 1px solid #aaa;
	border-radius: 4px;
	background-color: #fff;
	cursor: pointer;
	position: relative;
	transition: all .2s;
}

.form-check input[type="radio"] {
	border-radius: 50%;
}

.form-check input[type="checkbox"]:checked {
	background-color: #633874;
	border-color: #633874;
}
.form-check input[type="checkbox"]:checked::after {
	content: "";
	position: absolute;
	left: 4px;
	top: 1px;
	width: 4px;
	height: 9px;
	border: solid #fff;
	border-width: 0 2px 2px 0;
	transform: rotate(45deg);
}

.form-check input[type="radio"]:checked {
	background-color: #633874;
	border-color: #633874;
}
.form-check input[type="radio"]:checked::after {
	content: "";
	position: absolute;
	top: 4px;
	left: 4px;
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background: #fff;
}

.submit {
	font-size: 18px;
	font-weight: 700;
	cursor: pointer;
}