/* 
 * Forms
 */

.w-form {
	line-height: 1.4;
	}
.w-form-h {
	display: flex;
	margin-left: -0.5rem; /* fallback for IE11 */
	margin-right: -0.5rem; /* fallback for IE11 */
	margin-left: calc( var(--fields-gap, 1rem) / -2 );
	margin-right: calc( var(--fields-gap, 1rem) / -2 );
	}
.w-form-row {
	position: relative;
	width: 100%;
	padding-left: 0.5rem; /* fallback for IE11 */
	padding-right: 0.5rem; /* fallback for IE11 */
	padding-left: calc( var(--fields-gap, 1rem) / 2 );
	padding-right: calc( var(--fields-gap, 1rem) / 2 );
	}
	.w-form-row-label {
		margin-bottom: 0.3rem;
		}
		.w-form-row.for_captcha .w-form-row-label span {
			display: inline-block;
			direction: ltr;
			}
	.w-form-row-description {
		font-size: 0.9rem;
		margin-top: 0.3rem;
		}
	.w-form-row-field {
		position: relative;
		}
		.w-form-row-field > i {
			position: absolute;
			z-index: 1;
			transform: translateY(-50%);
			text-align: center;
			pointer-events: none;
			transition: color 0.2s;
			}
	.w-form-row.for_select select {
		-webkit-appearance: none;
		height: auto;
		}
	body:not(.rtl) .w-form-row.for_select select {
		padding-right: 2.8em;
		}
		.w-form-row.for_select .w-form-row-field:after {
			content: '';
			position: absolute;
			top: 56%;
			transform: translateY(-50%);
			right: 0;
			pointer-events: none;
			border: 0.4em solid;
			border-left-color: transparent;
			border-right-color: transparent;
			border-bottom-color: transparent;
			border-radius: 2px;
			}
	.w-form-row.for_agreement label,
	.w-form-row.for_checkboxes label,
	.w-form-row.for_radio label {
		display: flex;
		padding: 0.2rem 0;
		}
		.w-form-checkbox,
		.w-form-radio {
			display: block;
			flex-shrink: 0;
			margin-right: 0.4em;
			line-height: 1.5em;
			height: 1.5em;
			width: 1.5em;
			border: 0px solid transparent; /* default "solid" style is needed */
			box-sizing: content-box;
			}
		.w-form-checkbox {
			font-size: 0.75em;
			text-align: center;
			}
			.w-form-checkbox:before {
				visibility: hidden;
				content: '\f00c';
				font-family: fontawesome;
				font-weight: 900;
				vertical-align: top;
				}
		.w-form-radio {
			border-radius: 50% !important;
			}
			.w-form-radio:before {
				visibility: hidden;
				content: '';
				display: block;
				height: 36%;
				width: 36%;
				margin: 32%;
				border-radius: inherit;
				background: currentColor;
				}
		input:checked + .w-form-checkbox:before,
		input:checked + .w-form-radio:before {
			visibility: visible;
			}

/* Move Label */
.w-form-row.move_label .w-form-row-label {
	position: absolute;
	top: 0;
	z-index: 1;
	line-height: 1.4;
	padding: 0 0.3em;
	pointer-events: none;
	transform-origin: 0 0;
	transition: transform 0.2s cubic-bezier(0.4,0,0.2,1), top 0.2s cubic-bezier(0.4,0,0.2,1);
	}
.w-form-row.move_label.focused .w-form-row-label,
.w-form-row.move_label.not-empty .w-form-row-label {
	top: -0.5em;
	transform: scale(0.75);
	}

/* Layout */
.w-form.layout_ver .w-form-h {
	flex-wrap: wrap;
	}
.w-form.layout_ver .w-form-row {
	margin-bottom: 1rem; /* fallback for IE11 */
	margin-bottom: var(--fields-gap, 1rem);
	}
.w-form.layout_hor .w-form-row.for_submit {
	width: auto;
	}
.w-form.layout_hor .w-form-row.has_label:not(.move_label) ~ .w-form-row.for_submit {
	align-self: flex-end;
	}

/* Columns */
.w-form-row.cols_2 {
	width: 50%;
	}
.w-form-row.cols_3 {
	width: 33.3333%;
	}
.w-form-row.cols_4 {
	width: 25%;
	}

/* Submit Button */
.w-form-row.for_submit {
	flex-shrink: 0;
	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 1px red;
	border-color: red;
	}
.w-form-message {
	font-size: 1.2rem;
	opacity: 0;
	transition: opacity 0.2s;
	}
.w-form-message.type_success {
	opacity: 1;
	color: #4c0;
	}
.w-form-message.type_error {
	opacity: 1;
	color: red;
	}

/* FOR comments */
.comment-form .w-form-row {
	padding: 0;
	line-height: 1.4;
	margin-bottom: 1rem;
	}

/* FOR protected post */
.post-password-form {
	margin: 1.5rem auto;
	}
.l-section.width_full .post-password-form {
	padding-left: 2.5rem;
	padding-right: 2.5rem;
	}
.post-password-form p {
	margin-bottom: 0.5rem;
	}
.post-password-form p label {
	font-size: 0;
	line-height: 0;
	}
.post-password-form p input[type="password"] {
	font-size: 1rem;
	max-width: 300px;
	margin-bottom: 0.5rem;
	}

/* FOR login */
.w-form-row.for_links {
	margin: 0 !important;
	}
	.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-h,
.widget_us_login .w-form-row {
	margin-left: 0;
	margin-right: 0;
	padding-left: 0;
	padding-right: 0;
	}
.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
   ========================================================================== */
.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.5rem 0;
	}
span.wpcf7-list-item {
	display: inline-block;
	vertical-align: top;
	margin: 0 1.5rem 0 0;
	}
div.wpcf7-response-output {
	margin: 0;
	padding: 0.5rem 1rem;
	}

/* Links Hover Underline
   ========================================================================== */
.rounded_none .w-profile {
	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;
	}
