.wpcf7{
	[dir="rtl"] &{
		direction: rtl!important;
	}
	.wpcf7-form-control-wrap{
		display: block;
		position: relative;
		&:hover{
			.cms-placeholder{
				display: none;
				z-index: -1;
			}
		}
	}
	.cms-placeholder{
		position: absolute;
	    top: 0;
	    left: 0;
	    right: 0;
	    bottom: 0;
	    z-index: 1;
	    display: flex;
	    align-items:center;
	    &.active{
	    	display: none;
	    }
	}
	.cms-submit {
		position: relative;
		.ajax-loader{
			margin: 0;
			position: absolute;
			top: 50%;
			left: 50%;
			@include transform(translate(-50%, -50%));
			&.is-active{
				display: block;
			}
		}
	}
	label{
		font-size: 14px;
		font-weight: 700;
		padding-bottom: 7px;
		+ br{
			display: none;
		}
	}
	// Radio/Checkbox List
	.wpcf7-checkbox,
	.wpcf7-radio,
	.wpcf7-radio_custom,
	.wpcf7-checkbox_custom{
		display: flex;
		flex-wrap: wrap;
		margin: -6.6px -15px;
		> .wpcf7-list-item{
			flex: 0 0 auto;
			padding: 6.5px 15px;
			margin: 0;
			cursor: pointer;
			position: relative;
		}
	}
	// List
	.wpcf7-list-item {
		label{
			font-weight: 400;
			position: relative;
			padding-bottom: 0;
		}
		input[type="checkbox"],
		input[type="radio"] {
			position: absolute;
			left: 0;
			z-index: 1;
			@include opacity(0);
			margin: 0;
			width: 20px;
			height: 20px;
			cursor: pointer;
			[dir="rtl"] &{
				left: auto;
				right: 0;
			}
			+ .wpcf7-list-item-label:before,
			+ .wpcf7-list-item-label:after{
				display: block;
				position: absolute;
				@include transition();
			}
			+ .wpcf7-list-item-label:before{
				width: 17px;
				height: 17px;
				border: 2px solid $border-color;
				top: 0;
				left: 0;
				border-radius: 4px;
				[dir="rtl"] &{
					left: auto;
					right: 0;
				}
			}
			+ .wpcf7-list-item-label:after{
				width: 7px;
				height: 7px;
				top: 5px;
				left: 5px;
				background-color: $accent-color;
				@include scale(0);
				border-radius: 2px;
				[dir="rtl"] &{
					left: auto;
					right: 5px;
				}
			}
			//&[checked="checked"],
			&:checked{
				+ .wpcf7-list-item-label{
					&:before{
						border-color: $accent-color;
					}
					&:after{
						@include scale(1);
						@include opacity(1);
					}
				}
			}
		}
		input[type="checkbox"]{
			+ .wpcf7-list-item-label{
				&:after{
					@include font-cmsi("\e915", 8px);
					background-color: transparent;
					top: 2px;
					color: $accent-color;
				}
			}
		}
		.wpcf7-list-item-label{
			position: relative;
			padding-left: 27px;
			[dir="rtl"] &{
				padding-left: 0;
				padding-right: 27px;
			}
		}
		// Fix no Label Wrap
		input[type="checkbox"],
		input[type="radio"]{
			left: 15px;
			[dir="rtl"] &{
				left: auto;
				right: 15px;
			}
		}
	}
	// Date time
	input[type="date"]:invalid{
		display: none;
	}
	// processing
	form[data-status="submitting"]{
		position: relative;
		&:before,
		&:after{
			display: block;
			position: absolute;
			z-index: 1;
		}
		&:before{
			content: '';
			top: 0;
			left: 0;
			right: 0;
			bottom: 0;
			background: $white;
			opacity: 0.5;
		}
		&:after{
			top: 50%;
			left: 50%;
			margin: -25px 0 0 -25px;
			font-size: 30px;
			color: $white;
			width: 50px;
			height: 50px;
			line-height: 50px;
			text-align: center;
			@include font-cmsi('\e95b');
			animation: cms-spin 1s ease-in-out infinite;
		}
	}
	// Response Message 
	form.invalid .wpcf7-response-output,
	form.unaccepted .wpcf7-response-output,
	form.payment-required .wpcf7-response-output,
	form.sent .wpcf7-response-output{
		background: #ffe7cc;
		border-color: #ffe7cc;
		color: var(--heading-font-color);
		font-family: var(--heading-font-family);
		font-weight: var(--heading-font-weight);
		padding: 30px;
		margin: 50px 0 0;
		text-align: center;
		font-size: 20px;
		&:nth-child(2){
			margin: 0 0 50px;
		}
	}
}