/* Form Basics */
form {
	padding: 25px;
}
form .form-item {
	clear: both;
	float: none;
	overflow: hidden;
}
form .form-item label {
	font-size: 14px;
	font-size: 1.4rem;
	line-height: 1.2em;
	margin: 10px 0 5px;
}


/* Errors */
form .error {
	color: #ff0000 !important;
}
form input.error {
	border-color: #ff0000 !important;
}
form label.error {
	margin: 0;
	padding: 0;
}


/* Fields */
form input[type="text"],
form input[type="password"],
form input[type="number"],
form input[type="email"],
form textarea {
	background: #ffffff;
	border: 1px solid #cccccc;
	display: block;
	float: left;
	font-size: 14px;
	font-size: 1.4rem;
	line-height: 1.2em;
	outline: none;
	padding: 5px 0;
	width: 99%;
	width: calc(100% - 2px);
}
form input[type="text"],
form input[type="password"],
form input[type="number"],
form input[type="email"] {
	text-indent: 5px;
}
form select {
	float: left;
	display: block;
	margin: 10px 0;
}
form input[type="button"],
form input[type="submit"] {
	background: #02379d;
	border: none;
	color: #ffffff;
	cursor: pointer;
	display: inline-block;
	font-size: 18px;
	font-size: 1.8rem;
	line-height: 1.2em;
	margin: 10px auto;
	padding: 10px 20px;
	text-transform: uppercase;
	-webkit-appearance: none;
}
form input[type="button"]:hover,
form input[type="submit"]:hover {
	background: #03034a;
}
form input[type="button"]:focus,
form input[type="submit"]:focus {
	outline: none;
}
form input[type="image"] {
	display: block;
	float: left;
	margin: 10px;
}
form .form-type-textfield,
form .form-type-password-confirm,
form .form-type-password,
form .form-type-machine-name,
form .form-type-textarea,
form .form-type-select,
form .form-type-file,
form .form-type-managed-file,
form .form-type-fieldset,
form .form-type-radios,
form .form-type-checkboxes,
form .form-type-item {
	margin: 10px;
}
form .form-type-password-confirm .form-type-password {
	margin: 0;
}
form .form-textarea-wrapper textarea {
	min-height: 90px;
	padding: 5px;
}
form .form-type-radios,
form .form-type-checkboxes {
	clear: both;
	float: none;
	overflow: hidden;
}
form .form-type-textfield label,
form .form-type-password label,
form .form-type-machine-name label,
form .form-type-textarea label,
form .form-type-select label,
form .form-type-file label,
form .form-type-managed-file label,
form .form-type-radios > label,
form .form-type-checkboxes > label,
form .form-type-item label {
	display: block;
	float: left;
	padding: 0 10px 0 0;
	text-align: right;
}
form .password-strength {
	clear: both;
	padding: 0 5px 0 0;
}
form .password-confirm {
	text-align: right;
}
form .password-strength-title {
	text-align: right;
}
form .field-suffix small { /* Machine Name Suffix Container */
	height: 42px;
	margin: 0 0 0 10px;
}
form .form-type-radios > label,
form .form-type-checkboxes > label {
	height: 41px;
}
form .form-radios .form-item,
form .form-checkboxes .form-item {
	margin: 0;
}
form .form-type-radio,
form .form-type-checkbox {
	line-height: 30px;
	overflow: hidden;
}
form div > .form-type-checkbox {
	margin: 10px 0 10px 215px;
}
form .form-type-radio input,
form .form-type-checkbox input {
	float: left;
}
form .form-type-radio label,
form .form-type-checkbox label {
	display: block;
	float: left;
	height: 30px;
	line-height: 30px;
	margin: 0;
	padding: 0 10px 0 25px;
}
form .form-type-radio:not(#foo) input,
form .form-type-checkbox:not(#foo) input {
	margin: 0 0 0 -55px;
}
form table .form-type-radio:not(#foo) input,
form table .form-type-checkbox:not(#foo) input {
	height: 42px;
	margin: 0;
	width: 20px;
}
form .form-type-radio:not(#foo) input[type="radio"] + label {
	background: url('../images/radio-button.png') no-repeat 0 5px;
}
form .form-type-radio:not(#foo) input[type="radio"]:checked + label {
	background: url('../images/radio-button-checked.png') no-repeat 0 5px;
}
form .form-type-checkbox:not(#foo) input[type="checkbox"] + label {
	background: url('../images/checkbox.png') no-repeat 0 5px;
}
form .form-type-checkbox:not(#foo) input[type="checkbox"]:checked + label {
	background: url('../images/checkbox-checked.png') no-repeat 0 5px;
}
form .form-type-date-select {
	clear: both;
	float: none;
}
form .form-type-date-select .form-type-select {
	clear: none;
	float: left;
}
form .form-type-date-select .form-type-select label,
form .form-type-date-select .form-type-select > div {
	float: left;
}
form .form-type-managed-file input[type="submit"] {
	margin: 10px 0 10px 205px;
	width: 200px;
}


/* Descriptions */
form .description,
form .form-item .description {
	clear: both;
	float: none;
	font-size: 12px;
	font-size: 1.2rem;
	font-weight: 400;
	padding: 0;
}
form .form-type-item .description {
	clear: none;
	float: left;
	padding: 0;
}


/* Fieldsets */
form fieldset {
	margin: 15px;
	padding: 15px;
}
form fieldset legend {
	font-size: 14px;
	font-size: 1.4rem;
	padding: 0 5px;
}
form fieldset .form-type-textarea,
form fieldset .form-type-textfield,
form fieldset .form-type-password-confirm,
form fieldset .form-type-password,
form fieldset .form-type-machine-name,
form fieldset .form-type-textarea,
form fieldset .form-type-select,
form fieldset .form-type-file,
form fieldset .form-type-managed-file,
form fieldset .form-type-fieldset,
form fieldset .form-type-radios,
form fieldset .form-type-checkboxes,
form fieldset .form-type-item {
	margin: 10px 0;
}
form fieldset .form-type-textfield label,
form fieldset .form-type-password label,
form fieldset .form-type-machine-name label,
form fieldset .form-type-textarea label,
form fieldset .form-type-radios > label,
form fieldset .form-type-checkboxes > label,
form fieldset .form-type-select label,
form fieldset .form-type-file label {
	text-align: left;
	width: auto;
}
form fieldset .form-type-select .description,
form fieldset .form-type-file .description,
form fieldset .form-type-managed-file .description,
form fieldset .form-type-textarea .description {
	padding: 0;	
}
form fieldset .form-type-managed-file label {
	width: auto;
}
form fieldset .form-textarea-wrapper textarea,
form fieldset .text-format-wrapper .filter-wrapper {
	margin: 0;
	width: 100%;
}
form fieldset .form-textarea-wrapper .grippie {
	margin: 0;
	width: 100%;
}
form fieldset .form-type-managed-file input[type="submit"] {
	margin: 10px 0;
}
form fieldset .form-type-checkbox {
	margin: 10px 0;
}
form fieldset .description,
form fieldset .form-item .description {
	padding: 0;
}


/* Drupal Overrides */
form .exposed-filters .filters {
	width: auto;
}
form .exposed-filters .form-item label {
	font-weight: 600;
	width: 195px;
}
form fieldset .exposed-filters .form-item label {
	width: auto;
}


/* Webforms */
.webform-client-form .webform-component-textarea textarea {
	font-size: 14px;
	font-size: 1.4rem;
	min-height: 90px;
	padding: 5px;
}
.webform-client-form .form-textarea-wrapper .grippie {
	margin: 0;
	width: 100%;
}
.webform-client-form .description,
.webform-client-form .form-item .description {
	padding: 0;	
}
.webform-client-form .webform-component-webform_time .webform-container-inline {
	height: 42px;
	vertical-align: middle;
}
.webform-client-form .webform-component-webform_time .form-item-submitted-time-hour,
.webform-client-form .webform-component-webform_time .form-item-submitted-time-minute,
.webform-client-form .webform-component-webform_time #edit-submitted-time-ampm,
.webform-client-form .webform-component-webform_time .form-item-submitted-fieldset-time-hour,
.webform-client-form .webform-component-webform_time .form-item-submitted-fieldset-time-minute,
.webform-client-form .webform-component-webform_time #edit-submitted-fieldset-time-ampm {
	clear: none;
	display: inline-block;
	float: none;
	height: 42px;
}
.webform-client-form .webform-component-webform_time .form-item-submitted-time-minute,
.webform-client-form .webform-component-webform_time #edit-submitted-time-ampm,
.webform-client-form .webform-component-webform_time .form-item-submitted-fieldset-time-minute,
.webform-client-form .webform-component-webform_time #edit-submitted-fieldset-time-ampm {
	margin: 0 10px;
}
.webform-client-form .webform-component-webform_time .form-item-submitted-time-hour,
.webform-client-form .webform-component-webform_time .form-item-submitted-fieldset-time-hour {
	margin: 0 10px 0 0;
}
.webform-client-form .webform-component-webform_time .form-item-submitted-time-hour,
.webform-client-form .webform-component-webform_time .form-item-submitted-time-minute,
.webform-client-form .webform-component-webform_time .form-item-submitted-fieldset-time-hour,
.webform-client-form .webform-component-webform_time .form-item-submitted-fieldset-time-minute {
	display: inline;
	float: none;
	height: 22px;
	padding: 0 0 10px;
}
.webform-client-form .webform-component-webform_time .form-item-submitted-time-hour select,
.webform-client-form .webform-component-webform_time .form-item-submitted-time-minute select,
.webform-client-form .webform-component-webform_time .form-item-submitted-fieldset-time-hour select,
.webform-client-form .webform-component-webform_time .form-item-submitted-fieldset-time-minute select {
	display: inline;
	float: none;
	margin: 0;
	padding: 0 10px;
}
.webform-client-form .webform-component-webform_time #edit-submitted-time-ampm,
.webform-client-form .webform-component-webform_time #edit-submitted-fieldset-time-ampm {
	height: 22px;
	padding: 10px 0 0;
}
.webform-client-form .webform-component-date select {
	margin: 10px 2px;
}
.webform-client-form .webform-component-managed_file input[type="submit"] {
	margin: 10px 0;
	width: 100px;
}
.webform-client-form .webform-grid td {
	padding: 5px;
}
.webform-client-form .webform-container-inline > label {
	display: block;
	float: left;
	height: 42px;
	line-height: 42px;
	margin: 0;
	padding: 0 10px 0 0;
	text-align: right;
	width: 195px;
}
.webform-client-form .webform-container-inline.webform-component-webform_time > label {
	line-height: 52px;
}
.webform-client-form .webform-container-inline .description,
.webform-client-form .webform-container-inline .form-item .description {
	padding: 0 0 0 205px;
}
.webform-client-form .webform-container-inline .form-managed-file {
	display: block;
	margin: 10px 0;
}
.webform-client-form fieldset .webform-container-inline .description,
.webform-client-form fieldset .webform-container-inline .form-item .description {
	padding: 0;
}
.webform-client-form fieldset .webform-component-webform_grid .description {
	margin: 0;
}
.webform-client-form fieldset .webform-container-inline > label {
	width: auto;
}
.webform-client-form fieldset .webform-component-textarea label,
.webform-client-form fieldset .webform-component-webform_grid label {
	width: auto;
}


/* Address Forms */
.webform-component-addressfield {
	margin: 0;
}
form .webform-component-addressfield .form-type-textfield,
form .webform-component-addressfield .form-type-password-confirm,
form .webform-component-addressfield .form-type-password,
form .webform-component-addressfield .form-type-machine-name,
form .webform-component-addressfield .form-type-textarea,
form .webform-component-addressfield .form-type-select,
form .webform-component-addressfield .form-type-file,
form .webform-component-addressfield .form-type-managed-file,
form .webform-component-addressfield .form-type-fieldset,
form .webform-component-addressfield .form-type-radios, 
form .webform-component-addressfield .form-type-checkboxes,
form .webform-component-addressfield .form-type-item {
	margin: 10px 0 0;
}
label[for="edit-submitted-address-country"]::after {
	color: #ff0000;
	content: '*';
}


/* 485px or less */
@media only screen
and (max-width : 485px) {
	
	/* Nodes & Forms */
	form input[type="text"],
	form input[type="password"],
	form input[type="number"],
	form input[type="email"] {
		height: 25px;
		line-height: 25px;
	}
	a.button,
	form input[type='submit'] {
		font-size: 28px;
		font-size: 2.8rem;
	}
	
	/* Webform (Node) */
	.webform-component-markup p {
		font-size: 14px;
		font-size: 1.4rem;
	}
	.webform-component-radios label {
		font-size: 12px;
		font-size: 1.2rem;
	}
	.webform-client-form .webform-container-inline > label {
		width: 175px;
	}
	
}


/* 390px or less */
@media only screen
and (max-width : 390px) {
	
	/* Webform (Node) */
	.webform-client-form .webform-container-inline > label {
		text-align: left;
		width: 100%;
	}

}
