:root {
	--font-size-small: 1.45rem;
	--font-size-default: 1.6rem;
	--color-CF7-white: #fff;
	--color-CF7-black: #333;
	--color-CF7-grey: #8c8c8c;
	--color-CF7-placeholder: #797979;
	--color-CF7-caution: #ee2525;
	--color-CF7-bg-th: #c3dbae;
	--color-CF7-bg-td: rgba(255, 255, 255, .6);
	--color-CF7-bg-label: #ececec;
	--color-CF7-bg-input: #f1f0ed;
	--color-CF7-border: #d8d8d8;
}

/************************************
** Contact form 7
************************************/
.CF7_mailForm {
	width: 100%;
	max-width: 900px;
	margin: 0 auto;
}

.CF7_mailForm .CF7_lead {
	padding-bottom: 40px;
	font-size: var(--font-size-default);
	border-bottom: 1px solid var(--color-CF7-border);
}

.CF7_mailForm .CF7_content {
	width: 100%;
	margin: 40px auto;
	font-size: var(--font-size-default);
}

input[type="text"],
input[type="password"],
input[type="datetime"],
input[type="date"],
input[type="month"],
input[type="time"],
input[type="week"],
input[type="number"],
input[type="email"],
input[type="url"],
input[type="search"],
input[type="tel"],
input[type="color"],
select,
textarea {
	vertical-align: middle;
	width: 100%;
	margin-bottom: 0;
	padding: 10px 20px;
	font-size: 1em;
	line-height: 45px;
	color: #5c6b80;
	background-color: var(--color-CF7-bg-input);
	border: 1px solid var(--color-CF7-border);
	border-radius: 3px;
	box-shadow: none;
	transition: background-color 0.24s ease-in-out;
}

input[type="text"],
input[type="password"],
input[type="datetime"],
input[type="date"],
input[type="month"],
input[type="time"],
input[type="week"],
input[type="number"],
input[type="email"],
input[type="url"],
input[type="search"],
input[type="tel"],
input[type="color"],
select {
	height: 45px;
}

textarea {
	min-height: 240px;
	overflow: auto;
}

.CF7_content table {
	text-align: left;
	width: 100%;
	margin: 0 auto;
	border-collapse: separate;
	border-spacing: 0px 2rem;
}

.CF7_content table tr,
.CF7_content table th,
.CF7_content table td {
	padding: 1rem 1rem !important;
}

.CF7_content table th {
	width: 30%;
	vertical-align: middle;
	font-size: var(--font-size-small);
	color: var(--color-CF7-black);
	background-color: var(--color-CF7-bg-th);
}

.CF7_content table td {
	background-color: var(--color-CF7-bg-td);
}

.single .CF7_content table,
.page .CF7_content table {
	display: table;
}

.CF7_content table ::placeholder {
	font-size: var(--font-size-small);
	color: var(--color-CF7-placeholder);
}

.CF7_req,
.CF7_unreq {
	font-size: .9em;
	margin-right: 1em;
	padding: 4px 7px;
	color: var(--color-CF7-white);
	border-radius: 4px;
}

.CF7_req {
	background: var(--color-CF7-caution);
}

.CF7_unreq {
	background: var(--color-CF7-grey);
}

.CF7_content .wpcf7-form-control-wrap {
	position: relative;
	display: block;
	width: 100%;
}

.CF7_content .wpcf7-form-control {
	-webkit-appearance: none;
	appearance: none;
}

.CF7_content .wpcf7-list-item {
	display: inline-block;
	width: 100%;
	margin: 0;
}

.CF7_content .wpcf7-list-item:not(:first-child) {
	margin-top: 12px;
}

.CF7_content .wpcf7-list-item label {
	display: block;
	width: 100%;
	padding: 10px 20px;
	background: var(--color-CF7-bg-label);
}

.CF7_content span.wpcf7-list-item-label {
	margin-left: 5px;
}

.CF7_content span.CF7_notes {
	display: block;
	margin: 10px 0 0;
	font-size: var(--font-size-small);
	line-height: 1.2;
}

@media screen and (max-width: 999px) {
	.CF7_mailForm .CF7_content {
		width: 70%;
		margin-top: 30px;
	}

	.CF7_content table tr,
	.CF7_content table td,
	.CF7_content table th {
		display: block;
		width: 100% !important;
		line-height: 2.5em;
	}
}

@media screen and (max-width: 767px) {
	.CF7_mailForm .CF7_content {
		width: 100%;
	}

	.CF7_content table td {
		width: 80%;
	}
}

.CF7_content .CF7_privacy {
	margin-top: 30px;
	height: 340px;
	overflow-y: scroll;
	border: 1px solid var(--color-CF7-border);
}

.CF7_content .CF7_privacy_inner {
	padding: 30px 20px;
	color: var(--color-CF7-black);
}

.CF7_content .CF7_privacy_inner .CF7_privacy_title {
	margin-bottom: 1rem;
	text-align: center;
}

.CF7_content .CF7_privacy_content {
	text-align: left;
	font-weight: 400;
}

.CF7_content .CF7_privacy_content h2 {
	margin: 1em 0;
	font-size: var(--font-size-default);
	font-weight: bold;
}

.CF7_content .CF7_privacy_check {
	margin-top: 30px;
	text-align: center;
}

.CF7_content .CF7_privacy_check_lead {
	margin-bottom: .5em;
	font-size: var(--font-size-small);
}

.CF7_content .CF7_privacy_check .wpcf7-list-item label {
	display: block;
	width: 100%;
	padding: 10px 20px;
	background: var(--color-CF7-bg-th);
}

.CF7_btn {
	text-align: center;
	margin: 40px;
}

.CF7_btn input.wpcf7-submit {
	cursor: pointer;
	margin: 0 auto;
}

.wpcf7-spinner {
	width: 0;
	margin: 0;
}

.wpcf7-response-output {
    border: none !important;
}