.elementor .form p{
	display: table;
	margin: 0;
	padding: 0 0 .5rem 0;
	width: 100%;
}
.elementor .form .half{
	display: inline-block;
    vertical-align: top;
    width: 49.7%;
}
.elementor .form .half.first{
	padding-right: .25rem;
}
.elementor .form .half.last{
	padding-left: .25rem;
}
.form label{
	display:none
}
.form .wpcf7-form-control-wrap{
	display: inline-block;
	vertical-align: top;
	width: 100%;
}
.elementor .form p.form-checkbox, .elementor .form p.form-switch {
	padding-bottom: 0
}
.elementor .form p.form-checkbox{
	font-size: .8rem;
	line-height: 1.2;
	font-weight: var(--e-global-typography-secondary-font-weight);
}
.form .form-checkbox label, .form .form-switch label{
	position: relative;
	width:100%;
	display:table;
	height: 1rem;
	cursor: pointer;
	padding: 0 0 .5rem 0;
}
.form .form-checkbox label > span, .form .form-switch label > span{
	display:table-cell;
	vertical-align:middle;
	padding-left:1.5rem;
	text-align: left;
	line-height:1.2;
	user-select:none;
	-webkit-user-select: none;
	transition: opacity 0.25s ease;
}
.form .form-checkbox label > span{
	font-size:.8em;
}
.form .form-checkbox.grid .wpcf7-checkbox {
	display: grid;
    grid-column-gap: 1rem;
    grid-template-columns: repeat(4, auto);
}
.form .form-checkbox.flex .wpcf7-checkbox {
    display: flex;
    flex-direction: row;
    grid-column-gap: 1rem;
}
.form .form-switch label > span{
	position: relative;
	padding-left:2.5rem;
	opacity: 1;
}
.form .form-switch.r label > span{
	padding-left:0;
	opacity: 1;
}
.form .form-checkbox label span::before{
	content:" ";
	cursor:pointer;
	position:absolute;
	width: 1rem;
	height: 1rem;
	top:0;
	left:0;
	background-color:rgba(0,0,0,0);
	border: 2px solid var(--e-global-color-primary);
	color:rgba(0,0,0,0);
	border-radius: .3rem;
}
.form .form-checkbox label span::after{
	opacity: 0;
	content: '';
	position: absolute;
	width: .5rem;
	height: .3rem;
	top: .3rem;
	left: .25rem;
	border: 2px solid var(--e-global-color-primary);
	border-top:none !important;
	border-right:none !important;
	transform:rotate(-50deg)
}
.form .form-checkbox label input[type="checkbox"], .form .form-switch label input[type="checkbox"]{
	opacity:0;
	position:absolute;
	left:0;
	z-index:-1;
	height:0;
	width:0;
	border:none
}
.form .form-checkbox label input[type=checkbox]:checked ~ span::after{
	opacity:1
}
.form .form-switch label span::before{
	content: " ";
	cursor: pointer;
	position: absolute;
	width: 2rem;
	height: 1rem;
	top: .1rem;
	left: 0;
	border-radius: .5rem;
	background-color: var(--e-global-color-b9213b9);
	transition: background-color 0.25s ease;
}
.form .form-switch.r label span::before{
	right:0;
	left:auto
}
.form .form-switch label span::after{
	content: '';
	position: absolute;
	width: .8rem;
	height: .8rem;
	top: .2rem;
	left: .1rem;
	border-radius: 100%;
	background-color: var(--e-global-color-32f9460c);
	transition: all 0.25s ease;
}
.form .form-switch.r label span::after{
	right:1.1rem;
	left:auto
}
.form .form-switch label input[type=checkbox]:checked ~ span::before, .form .form-switch.on label span::before{
	background-color: var(--e-global-color-secondary);
}
.form .form-switch label input[type=checkbox]:checked ~ span, .form .form-switch label:hover > span, .form .form-switch.on label > span{
	opacity: 1;
}
.form .form-switch:not(.r) label input[type=checkbox]:checked ~ span::after, .form .form-switch.on:not(.r) label span::after{
	left: 1.1rem;
}
.form .form-switch.r label input[type=checkbox]:checked ~ span::after, .form .form-switch.r.on label span::after{
	right: .1rem;
}
img.ajax-loader,.wpcf7 .ajax-loader,.wpcf7-display-none,.wpcf7-response-output,.wpcf7-spinner,.wpcf7 .screen-reader-response{
	display:none
}
.elementor .form span.wpcf7-not-valid-tip{
	color: var(--e-global-color-8eb4144);
	font-size: .7rem;
	text-align: center;
	font-weight: 700;
	display: block;
	line-height: 1;
	padding: .1rem 0;
}
.elementor .form .form-checkbox span.wpcf7-not-valid-tip{
	text-align: left;
	margin-top: -.4rem;
    margin-bottom: .6rem;
}
.elementor .form .select span.wpcf7-not-valid-tip{
    position: absolute;
    width: 100%;
}
.form hr, .group hr{
    width: 100%;
    height: .5rem;
    border-top: 1px dotted var(--e-global-color-3bed30f);
    margin: 0 0 .25rem 0;
}
.elementor .form .item{
	padding-left: 1.5rem;
	position: relative;
}
.elementor .form .item::before{
	content: attr(data-item) '.';
    position: absolute;
    left: 0;
    top: 0;
    font-size: .8rem;
    font-weight: bold;
    line-height: 1.2;
    width: 1.2rem;
    text-align: right;
}
@media (max-width:767px) {
	.form .form-checkbox.grid .wpcf7-checkbox {
		grid-template-columns: repeat(2, auto);
	}
	.elementor .form .half.first, .elementor .form .half.last{
		padding-right: 0;
		padding-left: 0;
		width: 100%;
	}
}