#site {
	.wpcf7-form {
		.wpcf7-response-output {
			margin: 20px 0 0 0;
			padding: 10px 20px;
			background: @dark;
			color: @white;
			border: none;
			.rounded;
			.box-shadow;
		}
		&.invalid,&.unaccepted {
			.wpcf7-response-output {
				background: @red;
			}
		}
		&.sent {
			.wpcf7-response-output {
				background: @green;
			}
		}
		.field {
			position: relative;
			.title {
				font-size: 48px;
				line-height: 52px;
				font-weight: 300;
				margin: 0 0 10px -2px;
				+ p {
					font-size: 18px;
				}
			}
			margin-bottom: 30px;
			display: flex;
			justify-content: space-between;
			flex-direction: column;
			align-items: baseline;
			.wpcf7-form-control,.wpcf7-form-control-wrap {
				width: 100%;
				position: relative;
			}
			&.checkbox,&.radio,&.line {
				display: block;
				h6 {
					color: inherit;
					margin-top: 0;
				}
			}
			&.selected {
				display: block;
				h6 {
					color: inherit;
					margin: 0 0 15px 0;
				}
				ul {
					border-bottom: 1px dashed rgba(107,124,147,.3);
					margin: 0 0 50px 0;
					padding: 0 0 10px 0;
					list-style: none;
					li {
						font-size: 30px;
						font-weight: 300;
						line-height: 150%;
						color: @dark;
						position: relative;
						padding: 0 0 0 45px;
						margin-bottom: 10px;
						span {
							.opacity(.5);
						}
						&:before {
							content:"\ea0b";
							font-family:"Nucleo";
							font-size: 14px;
							background: @green;
							width: 30px;
							height: 30px;
							color: @white;
							text-align: center;
							line-height: 30px;
							.rounded(50%);
							position: absolute;
							left: 0;
							top: 50%;
							transform: translateY(-50%);
						}
					}
				}
			}
			&.grid {
				margin-left: -15px;
				margin-right: -15px;
				margin-bottom: 0;
				flex-direction: row;
				align-items: flex-start;
				flex-wrap: wrap;
				.field {
					padding: 0 15px;
					width: 100%;
					@media only screen and (min-width: 991px) {
						width: 50%;
					}
					label {
						left: 36px;
					}
				}
				&.columns-3 {
					.field {
						@media only screen and (min-width: 991px) {
							width: 33.3333333%;
						}
					}
				}
			}
			&.file {
				&:before,&:after {
					content: "";
					width: 2px;
					height: 12px;
					background: @grey;
					position: absolute;
					left: 6px;
					top: 50%;
					z-index: 1;
					transform: translateY(-50%);
				}
				&:after {
					transform: translateY(-50%) rotate(90deg);
				}
				label {
					display: none;
				}
			}
			&.select {
				&:before {
					content:"\ea03";
					font-family: "Nucleo";
					font-size: 18px;
					position: absolute;
					right: 25px;
					top: 50%;
					z-index: 1;
					transform: translateY(-50%);
				}
				select {
					background-image: none;
					.box-shadow;
					&:extend(.transition);
				}
			}
			&.btn {
				display: flex;
				flex-direction: row;
				align-items: center;
				justify-content: inherit;
				input[type="submit"] {
					width: auto;
					margin-right: 20px;
				}
				label {
					position: static;
					line-height: 150%;
					width: 30%;
					pointer-events: all;
				}
			}
			&.group-btn {
				flex-direction: row;
				justify-content: inherit;
				input[type="button"],
				input[type="submit"] {
					width: auto;
				}
				.wpcf7-previous {
					margin-right: 10px;
					background: none;
					color: inherit;
					border: 1px solid;
					line-height: 24px;
					cursor: pointer;
				}
			}
			br {
				display: none;
			}
			label {
				position: absolute;
				left: 21px;
				top: 10px;
				z-index: 2;
				font-size: 12px;
				pointer-events: none;
				color: @dark;
			}
			textarea,
			select,
			input[type="text"], 
			input[type="email"],
			input[type="url"],
			input[type="tel"],
			input[type="number"],
			input[type="date"] {
				padding: 30px 20px 10px 20px;
				font-size: 16px;
				&:hover {
					border-color: darken(@grey, 15%);
				}
				&.wpcf7-not-valid {
					border-color: red;
				}
			}
			input[type="file"] {
				border: none;
				padding: 0 0 0 25px;
				background: none;
				&::-webkit-file-upload-button {
					visibility: hidden;
				}
				&:before {
					content:"Choose File";
					font-size: 1rem;
					font-weight: 500;
					color: @dark;
				}
			}
			textarea {
				width: 100%;
				height: 66px;
				resize: vertical;
			}
		}

		.style2 {
			text-align: center;
			.field {
				textarea,
				select,
				input[type="text"], 
				input[type="email"],
				input[type="url"],
				input[type="tel"],
				input[type="number"],
				input[type="date"] {
					.box-shadow5;
					background: rgba(255,255,255,.7);
					-webkit-backdrop-filter: blur(4px);
							backdrop-filter: blur(4px);
					&:hover {
						.box-shadow;
					}
					&.wpcf7-not-valid {
						border-color: @red;
					}
				}
				&.grid {
					margin-left: -5px;
					margin-right: -5px;
					.field {
						padding: 0 5px;
						label {
							left: 26px;
						}
					}
				}
				&.btn {
					display: inline-block;
					margin-top: 20px;
					position: relative;
					input[type="submit"] {
						margin: 0;
						width: auto;
						padding: 15px 25px 15px 65px;
						line-height: 20px;
						font-size: 13px;
					    text-transform: uppercase;
					    letter-spacing: 2px;
					    font-weight: 500;
					    color: @dark;
					    background: none;
					    transform: none;
					    .box-shadow(none);
					    &:hover {
					    	padding-left: 55px;
					    	padding-right: 35px;
					    	& +.ajax-loader {
					    		width: 100%;
					    		&:after {
					    			left: 20px;
					    		}
					    	}
					    	& +.wpcf7-spinner {
					    		width: 100%;
					    		&:after {
					    			left: 20px;
					    		}
					    	}
					    }
					}
					label {
						width: 100%;
						font-size: 13px;
					}
					.wpcf7-spinner,.ajax-loader {
						margin: 0;
						top: 0;
						display: block;
						position: absolute;
						visibility: visible;
						width: 50px;
						height: 50px;
						background: linear-gradient(180deg, #ffffff 0%, #eaeef3 100%);
						box-shadow: 0 5px 15px 0 rgba(107, 124, 147, 0.15), 0 2px 4px 0 rgba(107, 124, 147, 0.2), inset 0 -2px 0 0 #c2cfde;
						.rounded(25px);
						.transition(0.5s cubic-bezier(0.25, 0.8, 0.25, 1) 0s);
						&:after {
							content: "\ea05";
							position: absolute;
							font-family:"Nucleo";
							font-size: 16px;
							transform: translateY(-50%) rotate(-90deg);
							left: 17px;
							top: 50%;
							.transition(0.5s cubic-bezier(0.25, 0.8, 0.25, 1) 0s);
						}
						&.is-active {
							&:after {
								transform: translateY(-50%) rotate(-360deg);
							}
						}
					}
				}
				&.radio {
					.wpcf7-radio {
						justify-content: space-between;
						@media only screen and (min-width: 320px) and (max-width: 767px) {
							flex-wrap: wrap;
							.wpcf7-list-item {
								max-width: 100%;
								width: 50%;
								flex: auto;
								justify-content: center;
								label {
									width: 100%;
									padding: 25px;
									background: @white;
									margin-bottom: 10px;
									.rounded(6px);
									.box-shadow3;
									input {
										&:checked {
											transform: none;
											+ span:before {
												transform: none;
											}
										}
									}
									span {
										padding: 15px 0 0 0;
										&:before {
											display: none;
										}
									}
								}
							}
						}
						&:after {
						    position: absolute;
						    left: -50px;
						    right: -50px;
						    height: 1px;
						    background: linear-gradient( to right,rgba(107,124,147,0),rgba(107,124,147,.2),rgba(107,124,147,0) );
						    top: 10px;
						    @media only screen and (min-width: 768px) {
								content:"";
							}
						}
					}
					.wpcf7-list-item {
						margin: 0;
						max-width: 160px;
						padding: 0 5px;
						flex: 1 1;
						label {
							font-size: 15px;
							line-height: 1.3;
							flex-direction: column;
							color: @dark;
							@media only screen and (min-width: 769px) {
								font-size: 19px;
							}
							input {
								margin: 0;
								&:checked {
									transform: scale(3);
									+ span {
										color: @dark;
										&:before {
											transform: translateX(-50%) translateY(0) rotate(180deg);
											.opacity(1);
										}
									}
								}
								&:after {
									content: "\ea0b";
								    font-family: "Nucleo";
								    font-size: 6px;
								    background: transparent;
								    color: @white;
								    width: auto;
								    height: auto;
								    .rounded(0);
								}
							}
							span {
								position: relative;
								padding: 35px 0 28px 0;
								&:before {
									content: "\ea04";
								    font-family: "Nucleo";
								    font-size: 12px;
								    position: absolute;
								    left: 50%;
								    transform: translateX(-50%) translateY(10px) rotate(180deg);
								    bottom: 0;
								    .opacity(0);
								    &:extend(.transition);
								}
							}
						}
					}
				}
				&.checkbox {
					.wpcf7-checkbox {
						justify-content: space-between;
						&:after {
							content: "";
						    position: absolute;
						    left: -50px;
						    right: -50px;
						    height: 1px;
						    background: linear-gradient( to right,rgba(107,124,147,0),rgba(107,124,147,.2),rgba(107,124,147,0) );
						    top: 10px;
						}
					}
					.wpcf7-list-item {
						margin: 0;
						max-width: 160px;
						padding: 0 5px;
						flex: 1 1;
						label {
							font-size: 15px;
							line-height: 1.3;
							flex-direction: column;
							color: @dark;
							@media only screen and (min-width: 769px) {
								font-size: 19px;
							}
							input {
								margin: 0;
								.rounded(50%);
								&:checked {
									transform: scale(3);
									+ span {
										color: @dark;
										&:before {
											transform: translateX(-50%) translateY(0) rotate(180deg);
											.opacity(1);
										}
									}
								}
								&:after {
									content: "\ea0b";
								    font-family: "Nucleo";
								    font-size: 6px;
								    background: transparent;
								    color: @white;
								    width: auto;
								    height: auto;
								    .rounded(0);
								}
							}
							span {
								position: relative;
								padding: 35px 0 28px 0;
								&:before {
									content: "\ea04";
								    font-family: "Nucleo";
								    font-size: 12px;
								    position: absolute;
								    left: 50%;
								    transform: translateX(-50%) translateY(10px) rotate(180deg);
								    bottom: 0;
								    .opacity(0);
								    &:extend(.transition);
								}
							}
						}
					}
				}
				&.text {
					font-size: 18px;
					line-height: 30px;
					padding: 10px 10% 0 10%;
				}
			}
		}
	}

	div.wpcf7 .ajax-loader,
	div.wpcf7 .wpcf7-spinner {
		display: none;
		margin: 20px auto 0;
		&.is-active {
			display: block;
		}
	}
	div.wpcf7-validation-errors {
		margin-left: 0;
		margin-right: 0;
		color: @white;
		background: @red;
		text-align: center;
		border:none;
		padding: 25px;
	}
	div.wpcf7-mail-sent-ok {
		margin-left: 0;
		margin-right: 0;
		color: @white;
		text-align: center;
		background: @blue;
		border:none;
		padding: 25px;
	}
	.wpcf7-not-valid-tip {
		font-size: 13px;
		margin-top: 5px;
		font-weight: inherit;
		text-align: left;
		padding-left: 20px;
	}
	.wpcf7-checkbox {
		display: flex;
		font-size: 15px;
		.wpcf7-list-item {
			display: flex;
			align-items: center;
			margin: 0 30px 0 0;
			label {
				display: flex;
				align-items: center;
				position: static;
				pointer-events: all;
				font-size: 15px;
			}
			input[type="checkbox"] {
				position: relative;
				-webkit-appearance: none;
			       -moz-appearance: none;
			            appearance: none;
			    border: 1px solid rgba(107,124,127,0.3);
			    cursor: pointer;
			    height: 20px;
			    width: 20px;
			    margin-right: 7px;
			    flex-shrink: 0;
			    &:extend(.transition);
			    &:after {
			    	content: "\ea0b";
			    	font-family:"Nucleo";
			    	position: absolute;
			    	left: 50%;
			    	top: 50%;
			    	color: @white;
			    	font-size: 10px;
			    	transform: translate(-50%,-50%);
					display: none;
			    }
			    &:checked {
			    	border-color: transparent;
			    	&:after {
			    		display: block;
			    	}
			    }
			}
			label {
				cursor: pointer;
				color: inherit;
				&:hover {
					input[type="checkbox"] {
						border-color: @dark;
					}
				}
				.wpcf7-list-item-label {
					margin: 0;
				}
			}
		}
		&.style1 {
			flex-wrap: wrap;
			margin: 0 -5px;
			width: auto !important;
			.wpcf7-list-item {
				margin: 0 0 10px 0;
				padding: 0 5px;
				width: 33.333333%;
				label {
					position: relative;
					left: 0;
					top: 0;
					padding: 15px 60px 15px 20px;
					color: @dark;
					font-size: 18px;
					line-height: 150%;
					width: 100%;
					height: 100%;
					input {
						position: absolute;
						margin: 0;
						z-index: -1;
						left:  0;
						right: 0;
						width: 100%;
						height: 100%;
						border: 1px solid rgba(107,124,147,.2);
						.box-shadow2;
						.rounded;
						&[type="checkbox"]:checked {
							+ span {
								color: @white;
							}
						}
						&:after {
							content:"\ea0b";
							font-family: "Nucleo";
							font-size: 14px;
							width: auto;
							height: auto;
							color: @white;
							background: transparent;
							transform: translateY(-50%);
							left: auto;
							right: 20px;
						}
					}
					span {
						&:extend(.transition);
					}
				}
			}
		}
	}
	.wpcf7-radio {
		display: flex;
		font-size: 15px;
		.wpcf7-list-item {
			display: flex;
			align-items: center;
			margin: 0 30px 0 0;
			label {
				display: flex;
				align-items: center;
				position: static;
				pointer-events: all;
				font-size: 15px;
			}
			input[type="radio"] {
				position: relative;
				-webkit-appearance: none;
			       -moz-appearance: none;
			            appearance: none;
			    border: 1px solid rgba(107,124,127,0.3);
			    cursor: pointer;
			    height: 20px;
			    width: 20px;
			    margin-right: 7px;
			    flex-shrink: 0;
			    .rounded(10px);
			    &:extend(.transition);
			    &:after {
			    	content: "";
			    	position: absolute;
			    	width: 8px;
			    	height: 8px;
			    	left: 50%;
			    	top: 50%;
			    	background: @white;
			    	transform: translate(-50%,-50%);
					display: none;
					.rounded(4px);
			    }
			    &:checked {
			    	border-color: transparent;
			    	&:after {
			    		display: block;
			    	}
			    }
			}
			label {
				cursor: pointer;
				color: inherit;
				&:hover {
					input[type="radio"] {
						border-color: @dark;
					}
				}
				.wpcf7-list-item-label {
					margin: 0;
				}
			}
		}
		&.style1 {
			flex-wrap: wrap;
			margin: 0 -5px;
			width: auto !important;
			.wpcf7-list-item {
				margin: 0 0 10px 0;
				padding: 0 5px;
				width: 33.333333%;
				label {
					position: relative;
					left: 0;
					top: 0;
					padding: 15px 60px 15px 20px;
					color: @dark;
					font-size: 18px;
					line-height: 150%;
					width: 100%;
					height: 100%;
					input {
						position: absolute;
						margin: 0;
						z-index: -1;
						left:  0;
						right: 0;
						width: 100%;
						height: 100%;
						border: 1px solid rgba(107,124,147,.2);
						.box-shadow2;
						.rounded;
						&[type="radio"]:checked {
							+ span {
								color: @white;
							}
						}
						&:after {
							content:"\ea0b";
							font-family: "Nucleo";
							font-size: 14px;
							width: auto;
							height: auto;
							color: @white;
							background: transparent;
							transform: translateY(-50%);
							left: auto;
							right: 20px;
						}
					}
					span {
						&:extend(.transition);
					}
				}
			}
		}

	}
	.wpcf7-acceptance {
		.wpcf7-list-item {
			display: block;
			margin: 14px 0;
			input[type="checkbox"] {
				position: relative;
				-webkit-appearance: none;
			       -moz-appearance: none;
			            appearance: none;
			    border: 1px solid;
			    cursor: pointer;
			    height: 32px;
			    width: 32px;
			    margin-right: 20px;
			    flex-shrink: 0;
			    .opacity(.3);
			    &:after {
			    	content: "\ea0b";
					font-family:"Nucleo";
			    	position: absolute;
			    	font-size: 16px;
			    	left: 50%;
			    	top: 50%;
			    	transform: translateX(-50%) translateY(-50%);
			    	display: none;
			    }
			    &:checked {
			    	.opacity(1);
			    	&:after {
			    		display: block;
			    	}
			    }
			}
			label {
				cursor: pointer;
				display: flex;
				align-items: center;
				color: inherit;
				margin: 0;
				position: static;
				pointer-events: all;
				&:hover {
					input[type="checkbox"] {
						border-color: @dark;
					}
				}
			}
			.wpcf7-list-item-label {
				margin: 0;
				font-size: 13px;
				line-height: 16px;
				.opacity(.6);
			}
		}
	}
}