.contact-page {
	.row {
		margin-left: -5px;
		margin-right: -5px;

		.wpcf7-form-control-wrap {
			width: 50%;
			padding: 0 5px;
			float: left;
		}
	}

	p {
		margin-bottom: 10px;
	}
}

.wpcf7-form {
	input[type="text"],
	input[type="email"],
	input[type="tel"],
	input[type="number"],
	input[type="date"],
	select,
	textarea {
		width: 100%;
		background: #fff;
		border: 1px solid #e5e5e5;
		border-radius: 0;
		box-shadow: none;
		min-height: 40px;
		padding: 5px 10px;
		line-height: 28px;
		font-size: 12px;
		@include transition(all 0.3s ease-in-out);

		.thim-register-now-form & {
			border-color: #e5e5e5;
			color: #999;

			&::-webkit-input-placeholder {
				color: #999;
			}

			&:-moz-placeholder { /* Firefox 18- */
				color: #999;
			}

			&::-moz-placeholder { /* Firefox 19+ */
				color: #999;
			}

			&:-ms-input-placeholder {
				color: #999;
			}
		}

		&:focus {
			outline: none;

			&::-webkit-input-placeholder {
				color: transparent;
			}

			&:-moz-placeholder { /* Firefox 18- */
				color: transparent;
			}

			&::-moz-placeholder { /* Firefox 19+ */
				color: transparent;
			}

			&:-ms-input-placeholder {
				color: transparent;
			}
		}

		&.wpcf7-not-valid {
			border-color: red;
		}
	}

	.wpcf7-form-control-wrap {
		overflow: hidden;
	}

	textarea {
		max-height: 160px;
		overflow: auto;
		float: right;
	}

	.contact-left {
		width: 50%;
		padding-right: 15px;
		float: left;
	}

	.contact-right {
		width: 50%;
		float: right;
		padding-left: 15px;
	}

	.contact-submit {
		clear: both;
		overflow: hidden;
	}

	.wpcf7-submit {
		margin-top: 20px;
		clear: both;
		border-radius: 30px;
		padding: 5px 30px;
		font-size: 13px;
		font-weight: 700;
		line-height: 30px;
		text-transform: uppercase;
		border: 0;
		color: #fff;

		&:focus {
			outline: none;
		}
	}

	div.wpcf7-validation-errors,
	div.wpcf7-mail-sent-ok {
		margin: 0;
		text-align: center;
		border: 0;
		border-radius: 0;
		line-height: 20px;
		padding: 10px 15px;
		font-size: 13px;
		color: #a94442;
		background: #f2dede;
	}

	.wpcf7-validation-errors {
		display: none !important;
	}

	div.wpcf7-mail-sent-ok {
		color: #3c763d;
		background: #dff0d8;
		margin-top: 5px;
		border-radius: 5px;
	}

	span.wpcf7-not-valid-tip {
		display: none;
	}

	input.wpcf7-not-valid {
		border-color: #ff6666;
	}
}

.thim-register-now-form {
	margin: 80px 0;
	background: #fff;
	position: relative;
	max-width: 400px;
	float: right;
	min-height: 453px;

	&.top-homepage {
		margin: 61px 0;
	}

	.title {
		position: relative;
		padding: 22px 30px 70px;
		line-height: 34px;
		text-align: center;
		font-size: 22px;
		overflow: hidden;
		margin: 0 0 23px;
		color: #fff;

		&:before {
			height: 820px;
			content: '';
			border-radius: 50%;
			bottom: 20px;
			right: auto;
			width: 820px;
			position: absolute;
			left: calc(50% - 410px);
			left: -webkit-calc(50% - 410px);
			left: -moz-calc(50% - 410px);
		}

		span {
			position: relative;
		}
	}

	.wpcf7-form {
		position: relative;
		padding: 0 50px 20px;

		p {
			margin-bottom: 10px;
		}

		img.ajax-loader {
			margin: auto;
			position: absolute;
			left: 0;
			right: 0;
			bottom: 35px;
			width: 30px;
		}

		div.wpcf7-validation-errors {
			display: none;
		}

		div.wpcf7-mail-sent-ok {
			margin: 0;
			text-align: center;
			margin-top: -50px;
			z-index: 9;
			position: relative;
			white-space: nowrap;
			text-overflow: ellipsis;
			overflow: hidden;
		}

		.ajax-loader {
			bottom: 35px;
		}

		&.thim-sending {
			.wpcf7-submit:hover,
			.wpcf7-submit {
				background: #111;
				color: #fff;
				@include opacity(0.5);
			}

			cursor: wait;
		}
	}
}

.wpcf7-form {
	position: relative;

	&.thim-sending {
		.wpcf7-submit:hover,
		.wpcf7-submit {
			background: #111;
			color: #fff;
			@include opacity(0.5);
		}

		cursor: wait;
	}

	.ajax-loader {
		position: absolute;
		bottom: 5px;
		left: 190px;
		width: 30px;
		height: 30px;
		visibility: hidden;
		overflow: hidden;
		line-height: 30px;
		text-align: center;

		&:before {
			line-height: 30px;
			text-align: center;
			position: absolute;
			top: 0;
			right: 0;
			content: "\f110";
			font-family: FontAwesome;
			left: 0;
			margin: auto;
			-webkit-animation: fa-spin 1s infinite steps(8);
			animation: fa-spin 1s infinite steps(8);
		}

		&.is-active {
			visibility: visible;
		}
	}
}

.thim-contact-faqs.text-center {
	.ajax-loader {
		position: absolute;
		bottom: 5px;
		left: 0;
		width: 30px;
		right: 0;
		margin: auto;
	}
}

.mc4wp-form {
	margin: 0;
	position: relative;

	.mc4wp-response {
		position: absolute;
		left: 0;
		right: 0;
		margin: auto;
		margin-top: 10px;
		max-width: 490px;
	}

	.mc4wp-form-fields {
		input[type="text"],
		input[type="email"] {
			width: 100%;
			background: transparent;
			border: 1px solid #fff;
			line-height: 30px;
			height: 40px;
			padding: 5px 10px;
			max-width: 425px;
			margin-left: 0px;
			color: #fff;
			border-radius: 0;
			box-shadow: none;
			font-size: 13px;
			@include transition(all 0.3s ease-in-out);

			&::-webkit-input-placeholder {
				color: #fff;
			}

			&:-moz-placeholder { /* Firefox 18- */
				color: #fff;
			}

			&::-moz-placeholder { /* Firefox 19+ */
				color: #fff;
			}

			&:-ms-input-placeholder {
				color: #fff;
			}

			&:focus {
				outline: none;

				&::-webkit-input-placeholder {
					color: transparent;
				}

				&:-moz-placeholder { /* Firefox 18- */
					color: transparent;
				}

				&::-moz-placeholder { /* Firefox 19+ */
					color: transparent;
				}

				&:-ms-input-placeholder {
					color: transparent;
				}
			}
		}

		input[type="submit"] {
			text-transform: uppercase;
			font-size: 13px;
			height: 40px;
			line-height: 30px;
			border: none;
			padding: 5px 25px;
			font-weight: 700;
			margin-left: -1px;
			border-radius: 0;
			box-shadow: none;

			&:hover {
				@include opacity(0.9);
			}
		}

		input {
			display: inline-block;
			box-shadow: none;
			text-shadow: none;

			&:focus {
				outline: none;
			}
		}
	}
}

input.invalid {
	border-color: red !important;
}
