/* 
 * Forms
 */

.w-form {
	line-height: 1.5;
	padding-top: 10px;
	}
.w-form-row {
	position: relative;
	margin-bottom: 1rem;
	}
.w-form-row.with_icon {
	padding-left: 2.5rem;
	}
	.w-form-row-label {
		position: absolute;
		top: 0.5rem;
		line-height: 1.8rem;
		pointer-events: none;
		opacity: 0.66;
		transition: font-size 0.3s cubic-bezier(.78,.13,.15,.86), top 0.3s cubic-bezier(.78,.13,.15,.86);
		}
		.w-form-row.for_captcha .w-form-row-label span {
			display: inline-block;
			direction: ltr;
			}
	.w-form-row.focused .w-form-row-label,
	.w-form-row.not-empty .w-form-row-label {
		top: -0.8rem;
		font-size: 0.8rem;
		}
	.w-form-row.with_icon .w-form-row-label {
		left: 2.5rem;
		}
	.for_select .w-form-row-label,
	.for_checkboxes .w-form-row-label,
	.for_radio .w-form-row-label,
	.for_agreement .w-form-row-label {
		position: static;
		font-size: inherit !important;
		opacity: 1;
		}
	.w-form-row-description {
		font-size: 0.9rem;
		margin-top: 0.3rem;
		}
	.w-form-row-field {
		position: relative;
		}
		.w-form-row-field > i {
			display: block;
			position: absolute;
			top: 0;
			left: -2.5rem;
			font-size: 1.4rem;
			line-height: 2.8rem;
			width: 2.5rem;
			text-align: center;
			opacity: 0.33;
			transition: opacity 0.3s, color 0.3s;
			}
		.w-form-row.focused .w-form-row-field > i {
			opacity: 1;
			}
			.w-form-row-field input:focus,
			.w-form-row-field textarea:focus {
				box-shadow: none !important;
				}
			.w-form-row-field > textarea {
				padding: 11px 0 0 0;
				line-height: 24px;
				}
			.w-form-row-field-bar:before,
			.w-form-row-field-bar:after {
				content: '';
				position: absolute;
				bottom: 0;
				height: 2px;
				width: 0;
				z-index: 1;
				transition: background-color 0.3s, width 0.3s cubic-bezier(.78,.13,.15,.86);
				}
			.w-form-row-field-bar:before {
				left: 50%;
				}
			.w-form-row-field-bar:after {
				right: 50%;
				}
			.w-form-row.focused .w-form-row-field-bar:before,
			.w-form-row.focused .w-form-row-field-bar:after {
				width: 50%;
				}
		.w-form-row.for_select select {
			-webkit-appearance: none;
			-moz-appearance: none;
			padding-right: 2rem;
			}
		.w-form-row.for_select .w-form-row-field:after {
			content: 'arrow_drop_down';
			position: absolute;
			top: 0;
			right: 0;
			font: 1.5rem/2.8rem 'Material Icons';
			pointer-events: none;
			}
	.w-form-row.for_agreement label,
	.w-form-row.for_checkboxes label,
	.w-form-row.for_radio label {
		display: block;
		position: relative;
		padding: 0.4rem 0 0.4rem 1.8rem;
		}
		.w-form-checkbox,
		.w-form-radio {
			position: absolute;
			top: 0.5rem;
			left: 0;
			height: 1.3rem;
			width: 1.3rem;
			border: 2px solid;
			color: transparent;
			}
		.w-form-row input:checked + .w-form-checkbox,
		.w-form-row input:checked + .w-form-radio {
			border-color: transparent;
			color: #fff;
			}
		.w-form-checkbox {
			font-size: 1.1rem;
			line-height: 1;
			text-align: center;
			border-radius: 0.1rem;
			}
			.w-form-checkbox:before {
				content: 'check';
				font-family: 'Material Icons';
				vertical-align: top;
				}
		.w-form-radio {
			border-radius: 50%;
			}
			.w-form-radio:before {
				content: '';
				display: block;
				height: 40%;
				width: 40%;
				margin: 30%;
				border-radius: 50%;
				background: currentColor;
				}

/* Submit Button */
.w-form-row.for_submit {
	padding: 0 !important;
	margin-bottom: 0;
	}
.w-form-row.width_full .w-btn {
	width: 100%;
	}
	.w-form .w-btn i,
	.w-form .w-btn-label {
		display: inline-block;
		transition: opacity 0.15s;
		}
	.w-form .w-btn.loading i,
	.w-form .w-btn.loading .w-btn-label {
		opacity: 0;
		}
	.w-form .w-btn .g-preloader {
		position: absolute;
		top: 50%;
		left: 50%;
		font-size: 1.8em;
		opacity: 0;
		transform: translate(-50%,-50%);
		transition: opacity 0.3s;
		color: inherit;
		}
	.w-form .w-btn.loading .g-preloader {
		opacity: 1;
		}

/* States & Messages */
.w-form-row-state {
	font-size: 0.9rem;
	height: 0;
	opacity: 0;
	transition-property: height, padding, opacity;
	transition-duration: 0.3s;
	}
.w-form-row.check_wrong .w-form-row-state {
	height: auto;
	padding-top: 0.3rem;
	opacity: 1;
	color: red;
	}
.w-form-row.check_wrong input,
.w-form-row.check_wrong textarea,
.w-form-row.check_wrong select {
	box-shadow: 0 0 0 2px red;
	}
.w-form-message {
	font-size: 1.2rem;
	opacity: 0;
	transition-property: padding, opacity;
	transition-duration: 0.3s;
	}
.w-form-message.type_success {
	padding: 0.6rem 0;
	opacity: 1;
	color: #4c0;
	}
.w-form-message.type_error {
	padding: 0.6rem 0;
	opacity: 1;
	color: red;
	}

/* Improvements for color sections */
.l-section.color_primary .w-form-row-field-bar:after,
.l-section.color_primary .w-form-row-field-bar:before,
.l-section.color_secondary .w-form-row-field-bar:after,
.l-section.color_secondary .w-form-row-field-bar:before {
	background-color: #fff;
	}

/* FOR comments */
.w-form.for_comments .form-submit input {
	margin: 0;
	}

/* FOR protected post */
.post-password-form p label {
	font-size: 0;
	}
.post-password-form p input[type="password"] {
	font-size: 1rem;
	max-width: 20rem;
	margin-right: 0.5rem;
	}

/* FOR login */
.w-form-row.for_links {
	margin: 0;
	padding-top: 0.6rem;
	}
	.w-form-row-link {
		font-size: 0.9rem;
		margin-right: 0.8rem;
		}

/* Login Widget
   ========================================================================== */
.widget_us_login > .g-preloader {
	display: block;
	margin: 1rem auto;
	}
.w-form.for_login i.fa-user,
.w-form.for_login i.fa-lock {
	font-family: 'Material Icons';
	}
	.w-form.for_login i.fa-user:before {
		content: 'person';
		}
	.w-form.for_login i.fa-lock:before {
		content: 'lock';
		}
.w-profile {
	padding: 1.5rem;
	min-height: calc(68px + 3rem);
	}
.l-header .w-profile {
	padding: 0;
	background: none;
	min-height: 64px; /* fixed value */
	}
	.w-profile-link.for_user {
		display: block;
		position: relative;
		}
		.w-profile-avatar {
			position: absolute;
			}
			.w-profile-avatar img {
				display: block;
				max-width: 6rem;
				border-radius: 50%;
				}
		.w-profile-name {
			display: block;
			font-size: 1.2rem;
			line-height: 1.3;
			margin-left: 76px;
			}
	.w-profile-link.for_logout {
		font-size: 0.9rem;
		line-height: 1.3;
		margin-left: 76px;
		}

/* Contact Form 7
   ========================================================================== */
span.wpcf7-form-control-wrap {
	display: inline-block;
	vertical-align: top;
	width: 100%;
	}
	.wpcf7-form input[type="text"],
	.wpcf7-form input[type="password"],
	.wpcf7-form input[type="email"],
	.wpcf7-form input[type="url"],
	.wpcf7-form input[type="tel"],
	.wpcf7-form input[type="number"],
	.wpcf7-form input[type="date"],
	.wpcf7-form textarea,
	.wpcf7-form select {
		margin-top: 0.4rem;
		}
	.wpcf7-form-control.wpcf7-radio,
	.wpcf7-form-control.wpcf7-checkbox {
		display: inline-block;
		vertical-align: top;
		padding: 0.6rem 0;
		}
	span.wpcf7-list-item {
		display: inline-block;
		vertical-align: top;
		margin: 0 1.5rem 0 0;
		}
div.wpcf7 img.ajax-loader {
	margin-left: 1rem;
	}
div.wpcf7-response-output {
	text-align: center;
	margin: 0;
	padding: 0.6rem 1rem;
	border-radius: 0.3rem;
	}
span.wpcf7-not-valid-tip {
	font-size: 0.9rem;
	}
.wpcf7-form {
	padding-top: 10px;
	}
	.wpcf7-form-control-wrap {
		display: block;
		}
	.wpcf7-form .w-form-row.no_icon {
		padding-left: 0 !important;
		}
	.wpcf7-form .w-form-row.no_icon .w-form-row-label {
		left: 0 !important;
		}
	.wpcf7-form-control.wpcf7-submit {
		margin: 0;
		}
	.wpcf7-form select {
		-webkit-appearance: none;
		}
.wpcf7-form-control-wrap.type_select:after {
	display: block;
	content: 'arrow_drop_down';
	font: 25px/45px 'Material Icons';
	text-align: right;
	position: absolute;
	top: 0;
	right: 0;
	width: 30px;
	pointer-events: none;
	}
div.wpcf7 img.ajax-loader {
	margin-left: 10px;
	}
span.wpcf7-not-valid-tip {
	font-size: 13px;
	line-height: 18px;
	padding-top: 4px;
	}
.wpcf7-not-valid {
	border-color: red !important;
	}
.wpcf7-not-valid ~ .w-form-row-field-bar:before,
.wpcf7-not-valid ~ .w-form-row-field-bar:after {
	bottom: 22px;
	}
div.wpcf7-response-output {
	text-align: center;
	font-size: 16px;
	line-height: 24px;
	margin: 20px 0 0;
	padding: 12px 16px;
	border: none;
	color: #fff;
	}
div.wpcf7-mail-sent-ok {
	background-color: #48b31b;
	}
div.wpcf7-mail-sent-ng {
	background-color: #ff0000;
	}
div.wpcf7-spam-blocked,
div.wpcf7-validation-errors {
	background-color: #ffa500;
	}
label ~ .wpcf7-captchac {
	display: inline-block;
	vertical-align: top;
	margin-left: 10px;
	}

/* Radio & Checkboxes */
.wpcf7-form-control.wpcf7-radio,
.wpcf7-form-control.wpcf7-checkbox {
	display: block;
	padding: 12px 0;
	line-height: 22px;
	}
	span.wpcf7-list-item {
		margin: 0 20px 0 0;
		-webkit-user-select: none;
		-moz-user-select: none;
		-ms-user-select: none;
		}
		.wpcf7-radio input[type="radio"],
		.wpcf7-checkbox input[type="checkbox"] {
			display: none;
			}
		.wpcf7-list-item-label {
			position: relative;
			padding-left: 20px;
			white-space: normal;
			}
			.wpcf7-list-item-label:before {
				font: 21px/22px 'Material Icons';
				position: absolute;
				top: -3px;
				left: -5px;
				opacity: 0.66;
				transition: color 0.3s, opacity 0.3s;
				}
			label:hover > .wpcf7-list-item-label:before {
				opacity: 1;
				}
			.wpcf7-radio .wpcf7-list-item-label:before {
				content: 'radio_button_unchecked';
				}
			.wpcf7-radio input[type="radio"]:checked + .wpcf7-list-item-label:before {
				content: 'radio_button_checked';
				opacity: 1;
				}
			.wpcf7-checkbox .wpcf7-list-item-label:before {
				content: 'check_box_outline_blank';
				}
			.wpcf7-checkbox input[type="checkbox"]:checked + .wpcf7-list-item-label:before {
				content: 'check_box';
				opacity: 1;
				}