/* base
-------------------------------------*/
div.form {
	margin:0;
	padding:10px 0 0 0;
}
div.form table tbody th {
	padding-top:3px;
	font-weight:bold;
	font-size:12px;
	text-align:right;
	white-space:nowrap;
}
div.form table tbody td {
  padding:0 0 5px 15px;
	font-size:12px;
}
div.form table tbody td.caption,
div.form table tbody td span.caption {
	font-size:.85em;
	line-height:1.3em;
	color:#454545;
}
div.form table tbody tr.required th {
	font-weight:bold;
}
div.form table tbody tr.error th {
	color:#920000;
	font-weight:bold;
}
div.form table tbody tr.required td {
	background:url(/images/field_required.gif) 0px 6px transparent no-repeat;
}
div.form table tbody tr.error td {
	background:url(/images/field_error.gif) 0px 6px transparent no-repeat;
}
div.form table tbody tr.error td input,
div.form table tbody tr.error td textarea,
div.form table tbody tr.error td select {
	border:1px solid #920000;
}
div.form table.simple tbody tr td {
	padding-left:5px;
}
div.form table tbody td.text-only {
	padding-top:3px;
	padding-bottom:6px;
}

.form-field-h {
	display: none;
}

@media screen and (max-width: 740px) {
	div.form table,
	div.form table tbody,
	div.form table tbody tr,
	div.form table tbody th,
	div.form table tbody td {
		display: block;
		text-align: left;
	}
	div.form table tbody th {
		white-space: normal;
	}
	div.form table tbody th label{
		padding-right: 15px;
	}
	div.form table tbody td {
		padding-left: 0;
	}
	div.form table tbody tr.required th label {
		background: url(/images/field_required.gif) right top transparent no-repeat;
	}
	div.form table tbody tr.error th label {
		background: url(/images/field_error.gif) right top transparent no-repeat;
	}
	div.form table tbody tr.required td,
	div.form table tbody tr.error td  {
		background: none;
	}
}


/* input elements
-------------------------------------*/
input,
textarea,
select {
	margin-bottom:3px;
	padding:2px;
	font-size:14px;
	font-weight:normal;
	background-color:#fff;
	border:1px solid #ddd;
	-moz-box-sizing: border-box;
	     box-sizing: border-box;
}
textarea {
	overflow:auto;
}
select {
	text-transform:none;
	vertical-align:middle;
}
select option {
	padding-right:10px;
}
select.switchbox {
	width:250px;
	height:100px;
}
select.fixed-width  { font-family:courier; }
input.tiny          { width:30px; }
input.sm            { width:55px; }
input.med           { width:220px; }
input.lg            { width:300px; }
input.xl            { width:400px; }
input.xxl           { width:500px; }
input.date          { width:75px; }
input.phone         { width:120px; }
input.file          { width:250px; }
input.username      { width:270px; }
input.password      { width:130px; }
textarea.sm         { width:200px; height:75px;  }
textarea.med        { width:220px; height:100px;  }
textarea.lg         { width:300px; height:150px; }
textarea.xl         { width:400px; height:250px; }
select.med          { width:180px; }
select.lg           { width:250px; }
select.tall         { height:100px; }
input.radio-button  { vertical-align:-3px; border:0;   }
input.checkbox      { vertical-align:middle; border:0; }
.field-focus {
	background-color:#fff3db !important;
	border:1px solid #faa200 !important;
}

@media screen and (max-width: 740px) {
	input.med        { width: 100%; max-width:220px; }
	input.lg         { width: 100%; max-width: 300px; }
	input.xl         { width: 100%; max-width: 400px; }
	input.xxl        { width: 100%; max-width: 500px; }
	input.file       { width: 100%; max-width: 250px; }
	input.username   { width: 100%; max-width: 270px; }
	textarea.sm      { width: 100%; max-width: 200px; }
	textarea.med     { width: 100%; max-width: 220px; }
	textarea.lg      { width: 100%; max-width: 300px; }
	textarea.xl      { width: 100%; max-width: 400px; }
	select.lg        { width: 100%; max-width: 250px; }
	select.switchbox { width: 100%; max-width: 250px; }
}
