@charset "utf-8";


*,*:before,*:after {
	--color-subtitle:#0069bf;

	--size-l6:300%;
	--size-l5:250%;
	--size-l4:200%;
	--size-l3:175%;
	--size-l2:150%;
	--size-l1:125%;
	--size-l0:110%;
	--size-form:125%;
	--size-default:100%;
	--size-body:20px;
	--size-s1:90%;
	--size-s2:80%;
	--size-s3:75%;
	--size-s4:70%;
	--size-s5:60%;
}

input,select,textarea {
	font-size:var(--size-l0);
	font-family:inherit;
}

/* ============================================================================================
	form
============================================================================================= */
#form {
	margin-bottom:60px;
}

#form-table {
	width:50em;
	margin:0 auto;
	display:flex;
	flex-wrap:wrap;
	align-items:flex-start;
}

#form-table dt {
	width:30% !important;
	border-top: none !important;
	text-align:right;
}
#form-table > * {
	font-size:var(--size-l0) !important;
}

#form-table dd {
	width:calc(100% - 30%);
	padding: 0 1.5em 0.5em !important;
	border-top: none !important;
}


@media screen and (max-width:799px){
	#form-table {
		width:100%;
	}
	#form-table dt{
		width:100% !important;
		padding-bottom:0.5em;
	}

	#form-table dd{
		width:100%;
		padding:0 1em 0.5em;
	}
}


/* ====================================================================
	form - optional / required
==================================================================== */
.optional,
.required{
	display:flex;
	justify-content:flex-start;
	flex-direction:row-reverse;
	align-items:center;
}

.optional:before{
	content:attr(data-text);
	display:inline-block;
	margin-left:0.5em;
	margin-right: 0.5em;
	padding:0 0.3em;
	border-radius:0.3em;
	color:#fff;
	font-size:var(--size-s2);
	line-height:1.6;
}

.required:before{
	content:attr(data-text);
	display:inline-block;
	margin-left:0.5em;
	padding:0 0.3em;
	background-color: #f00;
	border-radius:0.3em;
	color:#fff;
	line-height:1.6;
	font-size:var(--size-s2);
	margin-right: 0.5em;
}

.optional:before{
	background-color: #004099;
}

@media screen and (max-width:799px){
	.optional,
	.required{
		flex-direction:row;
	}
}

/* ====================================================================
form - field
==================================================================== */
input ,textarea{
	-webkit-appearance:none; 
	appearance:none;
}

input:not([type="submit"]){
	border:1px solid #999;
	padding:0.3em 0.5em;
	width: 100% !important;
}

.textarea-text{
	padding:2.5em 5em !important;
}

textarea{
	resize:none;
	height:8em !important;
	padding:0.5em;
	border:1px solid #999;
	width: 100% !important;
}

@media screen and (max-width:799px){
	input[type="submit"]{
		width:auto;
		padding:0.5em 1em;
	}

	input:focus ,textarea:focus{
		border:solid 2px #000000;
		outline:none;
		background-color:#99e5ff;
	}

	input:focus[type="submit"]{
		opacity:0.8;
		border:none;
		outline:none;
		background-color:#000f4c;
	}
}

/* ====================================================================
	form - button
==================================================================== */
.formButton{
	padding-top:3em;
	text-align:center;
}

input[type="submit"] ,.formButton a{
	width:auto;
	padding:1em 3em;
	line-height:1;
	font-size:var(--size-l1);
	text-indent:0.3em;
	letter-spacing:0.3em;
	color:#fff;
	background: var(--color-subtitle) !important;
	border: 2px solid var(--color-subtitle) !important;
	outline:none;
	transition:all 0.2s ease;
	-webkit-transition:all 0.2s ease;
	cursor:pointer;
	border: 2px solid transparent;
}

.formButton a{
	text-indent:0.1em;
	letter-spacing:0.1em;
}


@media screen and (min-width:800px){
	input[type="submit"]:hover ,.formButton a:hover{
		background: #fff !important;
		color: var(--color-subtitle);
	}
}
@media screen and (max-width:799px){
	input[type="submit"],.formButton a {
		padding: 1em 1.5em;
	}
}

/* ====================================================================
	form - error
==================================================================== */
.error{
	margin:0.3em 0 0.5em;
	display:inline-block;
	padding:0.2em 1em;
	color:#f00;
	border:1px solid #f00;
	border-radius:0.2em;
	font-size:var(--size-s1);
}

/* ==================================
	confirm
================================== */
form#mailformpro label {
	margin:0 !important;
	font-size:var(--size-l1) !important;
	padding-bottom: 0.1em !important;
}

div.mfp_err {
	padding: 0px 0px 5px 17px !important;
	color: #f00 !important
	font-size:var(--size-s3) !important;
	background-position:0px 6px !important;
}

table#mfp_confirm_table {
	color: #000;
}

.mfp_element_submit {
	background: gradient(linear, center top, center bottom, from(#666), to(#666)) !important;
	background: -webkit-gradient(linear, center top, center bottom, from(#666), to(#666)) !important;
	background: -moz-linear-gradient(top, #666, #666) !important;
	background: -ms-linear-gradient(top, #666 0%, #666 100%) !important;
	text-shadow: 0px 0px 0px #FFF !important;
}

@media screen and (max-width:799px){
	.mfp_element_all {
		max-width: 100% !important;
	}
}


/* ==================================
	thanks
================================== */
#thanks .section-title span {
	font-size:var(--size-l4);
}
div.mfp_thanks {
	padding:0 !important;
	text-align: center;
}

div#mfp_thanks {
	padding-top:0 !important;
	padding-bottom:0 !important;
	font-size:var(--size-default) !important;
}
div#mfp_thanks strong {
	color: #f00 !important;
	font-size:var(--size-l2) !important;
	font-weight:bold;
}

div.mfp_thanks p,
div.mfp_thanks ul.mfp_caution li  {
	line-height: 1.8em !important;
}

#ThanksComment{
	padding-top:1em;
}

.mfp_thanks {
	font-size:var(--size-l0);
}
.mfp_thanks .text + .text {
	padding-top:1em;
}

div.mfp_thanks ul.mfp_caution li {
	padding: 0 !important;
}

.home-return{
	padding: 3em 0 1em;
	text-align: center;
}

.home-return .button {
	padding:0.2em 3em 0.3em;
	color:var(--color-subtitle);
	border:1px solid var(--color-subtitle);
	border-radius:0.3em;
}
.home-return .button span {
	font-size:var(--size-l0);
}


@media screen and (min-width:800px){
	.home-return .button:hover{
		color:#fff;
		background:var(--color-subtitle);
	}
}
@media screen and (max-width:799px){
	#thanks .section-title span {
		line-height:1.4;
		font-size:var(--size-l3);
	}

	div#mfp_thanks {
		max-width: 100% !important;
		padding:0.5em 1em 0!important;
	}

	.mfp_thanks {
		font-size:var(--size-default);
	}

	.home-return {
		padding-top:2em;
	}
}


