/*
 * Fluent Forms, styled like the theme's former Gravity forms: Futura Book,
 * blue-grey labels, soft-bordered 46px inputs, a plain grey button, and the
 * gf-span-6 halves side by side.
 * Author: Pravash Karki - pravashkarki.com
 */

.fluentform .frm-fluent-form fieldset {
	display: flex;
	flex-wrap: wrap;
	column-gap: 16px;
	border: 0;
	margin: 0;
	padding: 0;
	min-width: 0;
}

.fluentform .frm-fluent-form fieldset > * {
	flex: 0 0 100%;
	max-width: 100%;
}

.fluentform .frm-fluent-form fieldset > .gf-span-6 {
	flex: 0 0 calc(50% - 8px);
	max-width: calc(50% - 8px);
}

.fluentform .frm-fluent-form fieldset > .gf-span-4 {
	flex: 0 0 calc(33.333% - 11px);
	max-width: calc(33.333% - 11px);
}

@media (max-width: 640px) {
	.fluentform .frm-fluent-form fieldset > .gf-span-6,
	.fluentform .frm-fluent-form fieldset > .gf-span-4 {
		flex-basis: 100%;
		max-width: 100%;
	}
}

.fluentform .ff-el-group {
	margin-bottom: 16px;
}

.fluentform .ff-el-input--label label,
.fluentform .ff-el-form-check-label,
.fluentform .ff-name-address-wrapper label {
	font-family: "Futura Book", sans-serif;
	font-size: 16px;
	font-weight: 400;
	line-height: 30px;
	color: rgb(71, 82, 110);
}

.fluentform .ff-name-address-wrapper .ff-el-group label {
	font-size: 14.6px;
	line-height: 24px;
}

.fluentform .ff-el-input--label.ff-el-is-required.asterisk-right label::after {
	color: rgb(121, 0, 0);
}

.fluentform .ff-el-form-control {
	font-family: "Futura Book", sans-serif;
	font-size: 18px;
	font-weight: 400;
	line-height: 27px;
	color: rgb(64, 64, 64);
	height: 46px;
	padding: 9px 14px 8px;
	background-color: #fff;
	border: 1px solid rgba(71, 81, 110, 0.3);
	border-radius: 4px;
	box-shadow: none;
}

.fluentform select.ff-el-form-control {
	height: 50px;
	padding: 12px 14px;
}

.fluentform textarea.ff-el-form-control {
	height: 160px;
}

.fluentform .ff-el-form-control:focus {
	border-color: rgb(71, 82, 110);
	outline: none;
}

.fluentform .ff-el-form-check {
	margin-bottom: 4px;
}

.fluentform .ff-el-form-check-label {
	font-size: 15px;
	line-height: 24px;
}

/* gf_list_3col and gf_list_4col: the choices in three or four columns. */
.fluentform .gf_list_3col .ff-el-input--content,
.fluentform .gf_list_4col .ff-el-input--content {
	display: grid;
	gap: 0 16px;
}

.fluentform .gf_list_3col .ff-el-input--content {
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.fluentform .gf_list_4col .ff-el-input--content {
	grid-template-columns: repeat(4, minmax(0, 1fr));
}

@media (max-width: 640px) {
	.fluentform .gf_list_3col .ff-el-input--content,
	.fluentform .gf_list_4col .ff-el-input--content {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

/* Specific enough to win over Fluent's inline form.fluent_form_N .ff-btn-submit:not(.ff_btn_no_style). */
.fluentform form .ff_submit_btn_wrapper .ff-btn-submit:not(.ff_btn_no_style),
.fluentform form .ff_submit_btn_wrapper .ff-btn-submit:not(.ff_btn_no_style):hover,
.fluentform .ff_file_upload_holder .ff_upload_btn.ff-btn,
.fluentform .ff_file_upload_holder .ff_upload_btn.ff-btn:hover {
	font-family: "Futura Book", sans-serif;
	font-size: 18px;
	font-weight: 400;
	line-height: 30px;
	color: rgb(64, 64, 64);
	background-color: rgb(239, 239, 239);
	border: 1px solid rgb(118, 118, 118);
	border-radius: 2px;
	padding: 1px 6px;
	opacity: 1;
	box-shadow: none;
}

.fluentform form .ff_submit_btn_wrapper .ff-btn-submit:not(.ff_btn_no_style):hover,
.fluentform .ff_file_upload_holder .ff_upload_btn.ff-btn:hover {
	background-color: rgb(229, 229, 229);
}

.fluentform .ff_file_upload_holder .ff_upload_btn.ff-btn {
	font-size: 16px;
	padding: 4px 10px;
}
