/* 
 * Forms
 */

.w-form-row {
	margin-bottom: 1rem;
	}
.w-form-row.for_submit {
	margin-bottom: 0;
	}
	.w-form-row-label {
		display: none;
		margin-bottom: 0.3rem;
		}
	.w-form-row.for_captcha .w-form-row-label {
		display: block;
		}
		.w-form-row.for_captcha .w-form-row-label span {
			display: inline-block;
			direction: ltr;
			}
	.w-form-row-field {
		position: relative;
		}
		.w-form-row-field > input[type="text"],
		.w-form-row-field > input[type="password"],
		.w-form-row-field > input[type="email"],
		.w-form-row-field > textarea,
		.w-form-row-field > select {
			padding-left: 2.8rem;
			}
		.w-form-row-field:before {
			display: block;
			position: absolute;
			top: 1.4rem;
			left: 0;
			font-size: 1.3rem;
			font-family: fontawesome;
			text-align: center;
			width: 2.8rem;
			opacity: 0.33;
			pointer-events: none;
			transform: translateY(-50%);
			transition: opacity 0.3s, color 0.3s;
			}
		.w-form-row.for_log .w-form-row-field:before,
		.w-form-row.for_name .w-form-row-field:before,
		.w-form-row.for_author .w-form-row-field:before {
			content: '\f007';
			}
		.w-form-row.for_email .w-form-row-field:before {
			content: '\f0e0';
			}
		.w-form-row.for_phone .w-form-row-field:before {
			content: '\f095';
			}
		.w-form-row.for_comment .w-form-row-field:before,
		.w-form-row.for_message .w-form-row-field:before {
			content: '\f040';
			}
		.w-form-row.for_url .w-form-row-field:before {
			content: '\f0c1';
			}
		.w-form-row.for_captcha .w-form-row-field:before {
			content: '\f059';
			}
		.w-form-row.for_pwd .w-form-row-field:before {
			content: '\f023';
			}
		.w-form-row.focused .w-form-row-field:before {
			opacity: 1;
			}
		.w-form-row-field-bar {
			display: none;
			}
	.w-form-row.for_checkbox label {
		display: inline-block;
		vertical-align: top;
		position: relative;
		line-height: 1.5rem;
		padding-left: 2rem;
		cursor: default;
		}
		.w-form-row.for_checkbox label > i {
			position: absolute;
			top: 0;
			left: 0;
			font-family: fontawesome;
			font-size: 0.8rem;
			font-style: normal;
			font-weight: bold;
			text-align: center;
			line-height: 1.5rem;
			width: 1.5rem;
			border-radius: 0.3rem;
			box-shadow: 0 0 0 2px transparent, 0 1px 0 rgba(0,0,0,0.08) inset;
			}
			.w-form-row.for_checkbox label > i:before {
				content: '\f00c';
				vertical-align: top;
				color: transparent;
				}
			.w-form-row.for_checkbox label > input:checked + i:before {
				color: #fff;
				}
		.w-form.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;
				}
	.w-form-row-state {
		font-size: 0.9rem;
		line-height: 1.5;
		height: 0;
		opacity: 0;
		transition-property: height, padding, opacity;
		transition-duration: 0.3s;
		}
	.w-form-message {
		font-size: 1.2rem;
		line-height: 1.5rem;
		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;
		}

/* CHECK wrong */
.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-row.check_wrong .w-form-row-state {
	height: auto;
	padding-top: 0.3rem;
	opacity: 1;
	color: red;
	}
	
/* 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;
	}
.widget_us_login > .w-form {
	margin: 2px;
	}
.w-profile {
	padding: 1.5rem;
	border-radius: 0.3rem;
	border-style: solid;
	border-width: 2px; /* fixed value */
	min-height: calc(68px + 3rem);
	}
.l-header .w-profile {
	padding: 0;
	border: 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;
	}

/* Rounded Corners
   ========================================================================== */
.rounded_none .w-form-row.for_checkbox label > i,
.rounded_none .wpcf7-response-output {
	border-radius: 0 !important;
	}
	
/* Links Hover Underline 
   ========================================================================== */
.no-touch .links_underline .w-form-row-link:hover,
.no-touch .links_underline .w-profile-link.for_logout:hover {
	border-bottom: 1px solid;
	}
