
/* Custom forms share the Primary Contact Form presentation. */
.kws-custom-contact-form{width:95%;max-width:500px;margin:0 auto}
.kws-custom-contact-form .kws-cfb-row{margin:0 0 12px}
.kws-custom-contact-form .kws-cfb-row>label:not(.kws-cfb-choice){display:block;margin-bottom:5px}
.kws-custom-contact-form input[type=text],.kws-custom-contact-form input[type=email],.kws-custom-contact-form input[type=tel],
.kws-custom-contact-form input[type=number],.kws-custom-contact-form input[type=date],.kws-custom-contact-form input[type=time],
.kws-custom-contact-form input[type=url],.kws-custom-contact-form input[type=file],.kws-custom-contact-form select,
.kws-custom-contact-form textarea{width:100%;box-sizing:border-box}
.kws-custom-contact-form textarea{min-height:140px}
.kws-custom-contact-form .kws-cfb-choice{display:block;margin:6px 0}
.kws-custom-contact-form .kws-contact-status-wrap{clear:both}
.kws-custom-contact-form .kws-cfb-loading[hidden],
.kws-custom-contact-form .kws-cfb-feedback[hidden]{display:none!important}
.kws-custom-contact-form .kws-cfb-feedback{width:95%;max-width:450px;box-sizing:border-box;margin:.5em auto;text-align:center}
.kws-custom-contact-form .kws-cfb-submit{display:block;margin:12px auto 0}
.kws-cfb-honeypot{position:absolute!important;left:-99999px!important;width:1px!important;height:1px!important;opacity:0!important}

/* Polished Bootstrap-style frontend form controls. */
.kws-custom-contact-form {
	width: 100%;
	max-width: 560px;
}
.kws-custom-contact-form .form-group,
.kws-custom-contact-form .kws-cfb-row {
	margin-bottom: 1rem;
}
.kws-custom-contact-form .control-label,
.kws-custom-contact-form .kws-cfb-row > label:not(.kws-cfb-choice) {
	display: flex;
	align-items: center;
	gap: .5rem;
	margin-bottom: .4rem;
	font-weight: 600;
	line-height: 1.35;
}
.kws-custom-contact-form .form-control {
	display: block;
	width: 100%;
	min-height: 42px;
	padding: 9px 12px;
	font: inherit;
	line-height: 1.45;
	background-color: #fff;
	background-image: none;
	border: 1px solid #ccc;
	border-radius: 4px;
	box-shadow: inset 0 1px 1px rgba(0,0,0,.075);
	transition: border-color .15s ease-in-out, box-shadow .15s ease-in-out;
}
.kws-custom-contact-form select.form-control {
	height: auto;
	min-height: 46px;
	padding: 10px 38px 10px 12px;
	line-height: 1.5;
	cursor: pointer;
}
.kws-custom-contact-form textarea.form-control {
	min-height: 145px;
	padding: 11px 12px;
	resize: vertical;
}
.kws-custom-contact-form .form-control:focus {
	border-color: #66afe9;
	outline: 0;
	box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 6px rgba(102,175,233,.45);
}
.kws-custom-contact-form .kws-cfb-required-label {
	display: inline;
	margin-left: .3rem;
	padding: 0;
	font-size: .72em !important;
	font-weight: 400 !important;
	font-style: normal;
	line-height: 1;
	letter-spacing: 0;
	text-transform: none;
	color: #6c757d !important;
	background: transparent;
	border: 0;
	border-radius: 0;
	opacity: 1;
	vertical-align: baseline;
	white-space: nowrap;
}
.kws-custom-contact-form .kws-cfb-choice {
	display: flex;
	align-items: flex-start;
	gap: 7px;
	padding: 4px 0;
}
.kws-custom-contact-form .kws-cfb-choice input {
	margin-top: .2em;
}
.kws-custom-contact-form .kws-cfb-file-control {
	height: auto;
	padding: 7px 10px;
}
.kws-custom-contact-form .kws-cfb-type-file small {
	display: block;
	margin-top: 5px;
	opacity: .75;
}
.kws-custom-contact-form .kws-cfb-submit {
	min-height: 42px;
	padding: 9px 18px;
	font-weight: 600;
	border-radius: 4px;
}
