/* FORMS */
form.cform, form.cform * {
	box-sizing: border-box;
}
form.cform {
	max-width: 100%;
	position: relative;
}
form.cform .row {
	margin-bottom: 10px;
}
form.cform input, form.cform select, form.cform textarea, form.cform .field {
	display: block;
	width: 100%;
	padding: 6px;
    font: 12px Verdana;
    line-height: 120%;
    border: 1px solid #d3d3d3;
    background: #fff;
}
form.shadow input, form.shadow select, form.shadow textarea, form.shadow .field {
	border: 1px solid #c0c0c0;
	border-radius: 2px;
	box-shadow: inset 0 2px 7px rgba(0,0,0,0.1);
	transition: border linear .2s, box-shadow linear .2s;
}

form.cform input[type="radio"], form.cform input[type="checkbox"] {
	display: inline-block;
	width: auto;
	border: none;
	border-radius: 0px;
	box-shadow: none;
	background: none;
}
form.cform input[type="submit"], form.cform input[type="reset"], form.cform input[type="button"] {
    color: #333;
    background-color: #fff;
    border-color: #ccc;
	border-radius: 4px;
	padding: 6px 12px;
	display: inline-block;
	width: auto;
	cursor: pointer;
	box-shadow: none;
}
form.cform input[type="image"] {
	background: none;
	border: none;
}
form.cform input[type="submit"]:hover, form.cform input[type="reset"]:hover {
	box-shadow: inset 0 3px 50px rgba(0,0,0,.125);
}
form.cform input[type="submit"], form.cform button {
	display: none;
}
form.cform.compile input[type="submit"], form.cform.compile button {
	display: inline-block;
}
form.cform .row.req > div:first-child:after {
	content: '*';
	color: #e02020;
}
form.cform.table .row:after {
	content: '';
	clear: both;
	display: block;
}
form.cform.table .row > div:first-child {
	width: 100px;
	float: left;
}
form.cform.table .row > div + div {
	margin-left: 100px;
}
form.sender:before {
	content: '';
	display: block;
	position: absolute;
	width: 100%;
	height: 100%;
	top: 0px;
	left: 0px;
	z-index: 100000000;
	background: rgba(255,255,255,0.5) url('img/waiting.gif') center center no-repeat;
}
form.response > * {
	display: none!important;
}
form.response .form-message-box {
	display: block!important;
	background: none;
	border: none;
	color: #555;
	font: 18px Verdana;
	width: 100%;
	padding: 0px;
	text-align: center;
	margin: 20px 0px;
}
.send-ok {
	height: 120px;
	background: url('img/send-ok.png') center center no-repeat;
}
.send-er {
	margin: 20px 0px;
	border-top: 1px solid red;
	border-bottom: 1px solid red;
	border-left: none;
	border-right: none;
	background: #F8CDCD;
	color: #702020;
}

form [class*="pic-"] > input, form [class*="pic-"] > textarea {
	padding-left: 32px;
}
form [class*="pic-"] {
	position: relative;
}
form [class*="pic-"]:before {
	content: '';
	position: absolute;
	width: 20px; height: 20px;
	left: 6px; top: 0px; bottom: 0px;
	margin: auto;
}
form .pic-user:before { background:url('img/pic-user.png') no-repeat; background-size:contain; }
form .pic-mail:before { background:url('img/pic-mail.png') no-repeat; background-size:contain; }
form .pic-phone:before { background:url('img/pic-phone.png') no-repeat; background-size:contain; }

input.invalid, textarea.invalid {
	border: 1px solid red !important;
}
input.empty, textarea.empty {
	color: #888;
}

@media (max-width: 767px) { 
	form.cform.table .row > div:first-child { width:auto; float:none; }
	form.cform.table .row > div + div { margin-left:0px; }
}