.ace-form {
	position: relative;
}

.ace-field-note {
	display: block;
	margin-top: 0.35rem;
	color: #657068;
	font-size: 14px;
	line-height: 1.45;
}

.ace-required {
	color: #b4232f;
	font-weight: 800;
}

.ace-bank-box {
	padding: 1rem;
	border: 1px solid rgba(52, 76, 61, 0.18);
	border-radius: 8px;
	background: #eef6eb;
}

.ace-bank-box p {
	margin: 0 0 0.75rem;
}

.ace-bank-toggle {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 42px;
	padding: 0.7rem 1rem;
	border: 1px solid #344c3d;
	border-radius: 8px;
	background: #fffaf9;
	color: #344c3d;
	font: inherit;
	font-size: 14px;
	font-weight: 800;
	line-height: 1.2;
	text-transform: uppercase;
	cursor: pointer;
}

.ace-bank-toggle:hover,
.ace-bank-toggle:focus {
	background: #344c3d;
	color: #ffffff;
}

.ace-bank-modal {
	position: fixed;
	inset: 0;
	z-index: 1000;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 1rem;
	background: rgba(31, 36, 32, 0.42);
}

.ace-bank-modal[hidden] {
	display: none;
}

.ace-bank-modal-panel {
	position: relative;
	width: min(100%, 460px);
	padding: 1.4rem;
	border-radius: 8px;
	background: #fffaf9;
	color: #1f2420;
	box-shadow: 0 18px 44px rgba(52, 76, 61, 0.24);
}

.ace-bank-modal-panel h3 {
	margin-top: 0;
	color: #344c3d;
	font-family: Georgia, "Times New Roman", serif;
	font-weight: 500;
}

.ace-bank-close {
	position: absolute;
	top: 0.6rem;
	right: 0.6rem;
	width: 36px;
	height: 36px;
	border: 1px solid rgba(52, 76, 61, 0.18);
	border-radius: 8px;
	background: #ffffff;
	color: #344c3d;
	font-size: 24px;
	line-height: 1;
	cursor: pointer;
}

.ace-form input[type="file"] {
	padding-top: 0.75rem;
	padding-bottom: 0.75rem;
}

.ace-modal-open {
	overflow: hidden;
}

.ace-form-message-data {
	display: none;
}

.ace-result-modal {
	position: fixed;
	inset: 0;
	z-index: 1001;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 1rem;
	background: rgba(31, 36, 32, 0.46);
}

.ace-result-modal[hidden] {
	display: none;
}

.ace-result-panel {
	width: min(100%, 500px);
	padding: 1.55rem;
	border: 1px solid rgba(52, 76, 61, 0.16);
	border-radius: 8px;
	background: #fffaf9;
	color: #1f2420;
	box-shadow: 0 18px 44px rgba(52, 76, 61, 0.24);
}

.ace-result-panel h3 {
	margin: 0 0 0.75rem;
	color: #344c3d;
	font-family: Georgia, "Times New Roman", serif;
	font-size: 1.45rem;
	font-weight: 500;
	line-height: 1.2;
}

.ace-result-panel p {
	margin: 0 0 1.2rem;
	color: #344c3d;
	font-size: 1rem;
	line-height: 1.6;
}

.ace-result-close {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 42px;
	padding: 0.7rem 1.2rem;
	border: 1px solid #344c3d;
	border-radius: 8px;
	background: #344c3d;
	color: #ffffff;
	font: inherit;
	font-size: 14px;
	font-weight: 800;
	line-height: 1.2;
	text-transform: uppercase;
	cursor: pointer;
}

.ace-result-close:hover,
.ace-result-close:focus {
	background: #fffaf9;
	color: #344c3d;
}

@media (max-width: 700px) {
	.ace-bank-toggle {
		width: 100%;
	}

	.ace-result-panel {
		padding: 1.25rem;
	}

	.ace-result-close {
		width: 100%;
	}
}
