@charset "utf-8";
/* CSS Document */

.form {
	--Input-Padding-Top: 2px;
}
.form .Sheet {
	background: #f2f2f2;
	padding: 20px;
	margin-bottom: 2em;
}

.form .wrap {
	min-width: 70%;
}
.form h3 {
	margin: 0;
	text-decoration: none;
	color: #555555;
}

.form .Column {width: 49%;}
@media all and (max-width: 600px) {
	.form .Column {width: 100%;}
}

.form .itemBlock {
	width: 50%;
	display: inline-block;
	min-width: 130px;
	vertical-align: bottom;
}
.form .item {
	margin-bottom: .5em;
}
.form .item p:last-of-type {
	margin-bottom: 0;
}

.form .item INPUT[type=text],
.form .item TEXTAREA {
	border: 1px solid #d9d9d9;
	background-color: #fff;
	border-radius: 1px;
}
.form .item INPUT[type=text]:focus,
.form .item select:focus,
.form .item TEXTAREA:focus {
	box-shadow: 4px 4px 10px #cdcdcd;
}
.form .item .text {
	width: calc(100% - 12px);
	box-sizing: border-box;
	border: 0;
	height: 38px;
	line-height: 100%;
	padding: var(--Input-Padding-Top) 10px 0;
}
.form.Service .item .text {
	width: 100%;
}
.form .item .textarea {
	width: 100%;
	box-sizing: border-box;
	min-height: 200px;
	padding: 10px;
}
.form .item .text.zip_code {
	width: 20%;
	margin-right: 5%;
	border-right: none;
}
.form .item .text.city {
	width: 50%;
	border-left: none;
}

.form .item select {
	width: calc(100% - 12px);
	height: 38px;
	line-height: 100%;
	box-sizing: border-box;
	border: 0;
	padding: var(--Input-Padding-Top) 10px 0px;
	background-color: #fff;
	border: 1px solid #d9d9d9;
	border-radius: 1px;
	font-size: 1em;
}


@media all and (min-width: 601px) {
	.form .shift {
		transform: translateX(12px);
	}
}


@media all and (max-width: 600px) {
	.form .item .text,
	.form .item select,
	.form .itemBlock {
		width: 100%;
	}
	.form .item .textarea {
		padding: 5px 5%;
	}
}
.form input {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	border:none;
	border-radius: 0;
	font-size: 1em;
	width: 100%
} 
.form input[type='checkbox'],
.form input[type='radio'] {
	width:auto;
	float:left;
	margin-right: .75em;
	background:transparent;
	border:none;
}

.form input[type='checkbox']:checked,
.form input[type='checkbox']:not(:checked),
.form input[type='radio']:checked,
.form input[type='radio']:not(:checked) {
	background: transparent;
	position: relative;
	visibility: hidden;
	margin:0;
	padding:0;
}

.form input[type='checkbox'] + label,
.form input[type='radio'] + label {
	cursor: pointer;
	margin-right: 12px;
}

.form input[type='checkbox']:checked + label::before,
.form input[type='checkbox']:not(:checked) + label::before,
.form input[type='radio']:checked + label::before,
.form input[type='radio']:not(:checked) + label::before {
	content:' ';
	display:inline-block;
	width: 15px;
	height:15px;
	position: relative;
	top:4px;
	border: 1px solid #bbb;
	background: #fff;
	margin-right: 5px;
	box-shadow: inset 0 1px 1px 0 rgba(0,0,0,.1);
}
.form input[type='checkbox']:checked  + label::before,
.form input[type='radio']:checked  + label::before {
	background: var(--CD-ColorA);
	box-shadow: inset 0 0 0 2px #fff;
}




.form .reqstar {
	color: #990000;
	font-weight: 100;
	vertical-align: top;
}


.formerrors {
	border: 2px solid #a23;
	color: #f00;
	padding: 5px 15px;
	margin: 0 0 15px;
}
.formwarnings {
	border: 2px solid #fc5;
	padding: 5px 15px;
}


.form .topic .description input {
	position: absolute;
}
.form .topic .description label {
	display: block;
	margin-left: 30px;
}