
form .jInputprompt.input { position: absolute; bottom: 50%; line-height: 1em; white-space: nowrap; }
form .jInputprompt.textarea { position: absolute; top: 7px; left: 9px; line-height: 1em; white-space: nowrap; }

form p { overflow: hidden; position: relative; }
input,
textarea {
	-webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box;
	-webkit-appearance: none; /* additionally needed for iOS - otherwise iOS messes up own form formattings */
}
textarea { overflow-y: hidden; }

form .left { text-align: left; overflow: visible; }
form .right { text-align: right; overflow: visible; }
form .center { text-align: center; overflow: visible; }
form .inline { overflow: visible; }
form .inline .wraplabel { display: inline-block; }
form .wrap { display: inline-block; overflow: visible; }



.mo-forms-type-successive,
.mo-forms-type-sidebyside,
.mo-forms-type-floating,
.wraplabel,
.wraperror,
.wrapjinput,
.wrapresultbox { overflow: visible; }



.mo-forms-type-successive .wraplabel { margin-bottom: 15px; }
.mo-forms-type-successive .wraplabel label img { vertical-align: middle; margin-bottom: 2px; }
.mo-forms-type-successive .wraplabel.chars {  }
.mo-forms-type-successive .wraplabel.chars input,
.mo-forms-type-successive .wraplabel.chars textarea { width: 100%; }
.mo-forms-type-successive .wraplabel.chars label { display: block; margin-bottom: 1px; }
.mo-forms-type-successive .wraplabel.checkbox {  }
.xmo-forms-type-successive .wraplabel.checkbox label,
.xmo-forms-type-successive .wraplabel.checkbox input,
.xmo-forms-type-successive .wraplabel.checkbox span { vertical-align: middle; }
.mo-forms-type-successive .wraplabel.select {  }
.mo-forms-type-successive .wraplabel.select select { width: 100%; }
.mo-forms-type-successive .wraplabel.select label { display: block; margin-bottom: 1px; }
.xmo-forms-type-successive .wraplabel.submit { margin-top: 30px; }
.mo-forms-type-successive .wraplabel.submit input { width: 70%; }

.mo-forms-type-sidebyside .wraplabel { margin-bottom: 10px; }
.mo-forms-type-sidebyside .wraplabel.checkbox { margin-top: 10px; margin-right: 10px; }
.mo-forms-type-sidebyside .wraplabel.chars label,
.mo-forms-type-sidebyside .wraplabel.select label { width: 39%; display: inline-block; margin-right: 1%; }
.mo-forms-type-sidebyside .wraplabel label img { vertical-align: middle; margin-bottom: 2px; }
.mo-forms-type-sidebyside .wraplabel input,
.mo-forms-type-sidebyside .wraplabel select { width: 100%; }
.mo-forms-type-sidebyside .wraplabel label,
.mo-forms-type-sidebyside .wraplabel input,
.mo-forms-type-sidebyside .wraplabel select { vertical-align: top; }
.mo-forms-type-sidebyside .wraplabel.submit { margin-top: 20px; }
.mo-forms-type-sidebyside .wraplabel.submit input { width: 70%; }
.mo-forms-type-sidebyside .chars .wraperror,
.mo-forms-type-sidebyside .select .wraperror { width: 60%; display: inline-block; text-align: center; }

@media screen and (max-width: 1000px) {

	.mo-forms-type-sidebyside .wraplabel.chars label,
	.mo-forms-type-sidebyside .wraplabel.select label,
	.mo-forms-type-sidebyside .chars .wraperror,
	.mo-forms-type-sidebyside .select .wraperror { width: 100%; display: block; }
}

.mo-forms-type-floating .group { display: inline-block; vertical-align: top; }
.mo-forms-type-floating .wraplabel {  }
.mo-forms-type-floating .wraplabel label { display: block; }
.mo-forms-type-floating .wraplabel label img { vertical-align: middle; margin-bottom: 2px; }
.mo-forms-type-floating .wraplabel.select,
.mo-forms-type-floating .wraplabel.chars,
.mo-forms-type-floating .wraplabel.checkbox,
.mo-forms-type-floating .wraplabel.submit { display: inline-block; margin: 0px 5px 10px 5px; vertical-align: top; }
.xmo-forms-type-floating .wraplabel.chars { width: 18em; }
.mo-forms-type-floating .wraplabel label,
.mo-forms-type-floating .wraplabel input,
.mo-forms-type-floating .wraplabel select { width: 100%; }
.xmo-forms-type-floating .wraplabel.submit { margin-top: 20px; }
.xmo-forms-type-floating .wraplabel.submit input { width: 40%; }
.xmo-forms-type-floating .wraplabel { float: left; }

.mo-forms-type-floating.mo-forms-minwidth-fields .wraplabel.chars { width: 18em; }

@media screen and (max-width: 410px) {

	.mo-forms-type-floating.mo-forms-responsive-fullwidth .wraplabel.select,
	.mo-forms-type-floating.mo-forms-responsive-fullwidth .wraplabel.chars,
	.mo-forms-type-floating.mo-forms-responsive-fullwidth .wraplabel.checkbox { margin: 0px 0px 10px 0px; }
	.mo-forms-type-floating.mo-forms-responsive-fullwidth .wraplabel.submit { margin: 10px 0px 10px 0px; }
	.mo-forms-type-floating.mo-forms-responsive-fullwidth .wraplabel.chars,
	.mo-forms-type-floating.mo-forms-responsive-fullwidth .wraplabel.submit { width: 100%; }
}



.mo-forms-text,
.mo-forms-submit,
.mo-forms-select
{
	outline: none;

	border: 1px solid #C8C8C8;
	border-radius: 7px;

/*
	color: #CCCCCC;

	-webkit-box-shadow: inset 0px 1px 3px 0px #666666;
	-moz-box-shadow: inset 0px 1px 3px 0px #666666;
	-o-box-shadow: inset 0px 1px 3px 0px #666666;
	box-shadow: inset 0px 1px 3px 0px #666666;

	-webkit-transition: box-shadow linear 0.1s;
	transition: box-shadow linear 0.1s;
*/
}
.mo-forms-text,
.mo-forms-select
{
	padding: 4px 7px 3px 7px;

	background-color: #FAFAFA;
}
.mo-forms-submit
{
	padding: 5px 15px 4px 15px;

	background-color: #E6E6E6;
}
@media screen and (max-width: 410px) {

	.mo-forms-submit
	{
		padding: 4px 1px 3px 1px;
	}
}

.mo-forms-text:focus,
.mo-forms-submit:focus,
.mo-forms-select:focus,
.mo-forms-checkbox:focus + .mo-forms-pseudocheckbox,
.mo-forms-pseudocheckbox:focus,
.mo-forms-highlighted
{
*/
	-webkit-box-shadow: inset 0px 1px 3px 0px #666666, 0 0 10px 1px #B60A0A;
	-moz-box-shadow: inset 0px 1px 3px 0px #666666, 0 0 10px 1px #B60A0A;
	-o-box-shadow: inset 0px 1px 3px 0px #666666, 0 0 10px 1px #B60A0A;
	box-shadow: inset 0px 1px 3px 0px #666666, 0 0 10px 1px #B60A0A;
*/
	-webkit-box-shadow: 0 0 10px 1px #B60A0A;
	-moz-box-shadow: 0 0 10px 1px #B60A0A;
	-o-box-shadow: 0 0 10px 1px #B60A0A;
	box-shadow: 0 0 10px 1px #B60A0A;
}

.mo-forms-checkbox
{
	opacity: 0;
	width: 0 !important;
	margin: 0;
	padding: 0;
}
.mo-forms-pseudolabel
{
	display: inline-block;
	margin: 5px 5px;
}
.mo-forms-pseudocheckbox
{
	cursor: pointer;
	display: inline-block;
	width: 25px;
	height: 25px;
	border: 1px solid gray;
	position:relative;
}

.mo-forms-pseudocheckbox,
.mo-forms-pseudocheckbox:after,
.mo-forms-pseudolabel
{
	vertical-align: middle !important;
}

.mo-forms-pseudocheckbox:after
{
	opacity: 0;
	content: '';
	display: block;
	margin: 7px;
	width: 9px;
	height: 5px;
	background: transparent;
	border: 3px solid #202020;
	border-top: none;
	border-right: none;
	-webkit-transform: rotate(-50deg);
	-moz-transform: rotate(-50deg);
	-o-transform: rotate(-50deg);
	-ms-transform: rotate(-50deg);
	transform: rotate(-50deg);
	vertical-align: middle;
}

.mo-forms-pseudocheckbox:hover.mo-forms-pseudocheckbox:after
{
	opacity: 0.1;
}
.mo-forms-checkbox:checked + label.mo-forms-pseudocheckbox:after
{
	opacity: 1;
}
