/* Common */
	input[type=radio], input[type=checkbox] {
		vertical-align: middle;
	}

	textarea,
	input,
	select,
	button,
	.button,
	.control_button,
	.selectus .select,
	.selectus .select .selected,
	.selectus .selectors {
		border: 1px solid #ccc;
		padding: 3px;
		min-height: 1.6em;
		line-height: 1.2;
		font-size: 100%;
		margin: 0 4px 2px 0;
		background: #fff;
		box-sizing: border-box;
	}
	textarea {
		font-size: 120%;
	}

	textarea:focus,
	input:focus,
	select:focus,
	button:focus,
	.button:focus,
	.control_button:focus {
		border-color: #f96;
		box-shadow: none;
		outline: 0;
	}

	input[type=file] {
		border: none ! important;
	}

	input[type=radio],
	input[type=checkbox],
	input[type=file] {
		border: none ! important;
		min-height: auto ! important;
		vertical-align: middle;
	}

	select {
		padding-top: 2px;
		padding-bottom: 2px;
	}

	input[type=submit],
	.disabled input[type=submit]:hover,
	input[type=button],
	.disabled input[type=button]:hover,
	button,
	button:hover.disabled,
	.button,
	.button:link,
	.button:visited,
	.disabled .button:hover,
	.control_button,
	.disabled .control_button:hover {
		background: #ccc;
		border-color: #ccc;
		cursor: pointer;
		min-width: 1.7em;
		text-align: center;
		display: inline-block;
		-moz-box-sizing: border-box;
		box-sizing: border-box;
		zoom: 1;
	}
	input[type=submit],
	input[type=button],
	button,
	.button {
		padding-left: 10px;
		padding-right: 10px;
	}

	input[type=submit]:hover,
	input[type=button]:hover,
	button:hover,
	html .button:hover,
	.control_button:hover {
		background: #fc9;
		border-color: #fc9;
	}

	textarea, input[type=text]:not([size]) {
		width: 100%;
	}

	[readonly],
	[readonly]:focus {
		background: inherit;
	}

/* Layout */
	.fields.unselected,
	.sheet.unselected {
		display: none;
	}
	.fields_em {
		padding: 0;
		margin: 0 0 2em;
	}
	.fields_label {
		margin: 0 0 1em;
		padding: 5px 10px;
		background: #eee;
	}

	.field {
		padding: 0;
		margin: 0 0 20px;
	}
	.field_label {
		margin: 0 0 5px;
	}
	.field_control {
		margin: 0;
		padding: 0;
	}

	.option label {
		margin-right: 1em;
	}

/* Dependencies */
	.invalid > .fields_label, .fields_label.invalid,
	.field.invalid input, .field.invalid textarea, input.invalid, textarea.invalid {
		color: red;
	}
	.valid > .fields_label, .fields_label.valid,
	.field.valid input, .field.valid textarea, input.valid, textarea.valid {
		color: green;
	}
	.required > .fields_label, .fields_label.required,
	.field.required label, label.required {
		font-weight: bold;
	}
	.disabled,
	.disabled:hover {
		opacity: 0.45;
		cursor: default;
	}
	.disabled .disabled {
		opacity: 1;
	}

/* Control button */
	.control_button_dropdown:before {
		content: '\25bc';
	}
	.control_button_inc:before {
		content: '+';
	}
	.control_button_dec:before {
		content: '\2212';
	}

/* Tabs sheets*/
	.tab {
		display: inline-block;
		padding: 2px 10px;
		margin: 0 0 10px;
	}
	.selected.tab {
		background: #eec;
	}

	.sheet {
		margin: 0 0 30px;
		padding: 10px;
		border: 1px solid #ddb;
	}

/* Password */
	.control_button_password:before {
		content: '\a9';
	}
	.control_button_password_view:before {
		opacity: 0.5;
	}

/* Datetime */
	.date_control {
		white-space: nowrap;
		text-decoration: none;
	}
	.datetime .hours, .datetime .minutes {
		width: 2em;
		margin: 0 2px;
	}
	.datetime .hours {
		text-align: right;
	}
	.time_spliter:before {
		content: ':';
	}
	.date_control .control_button_dec, .date_control .control_button_inc {
		display: none;
	}

/* Number */
	.number .field_control input {
		width: 10em;
	}

/* Selectus */
	.selectus {
		position: relative;
		display: inline-block;
		vertical-align: top;
	}
	.selectus .field_control {
		position: relative;
	}
	.selectus .select {
		display: inline-block;
		text-decoration: none;
		min-width: 128px;
		position: relative;
	}
	.selectus .select:after {
		content: '\25bc';
		line-height: inherit;
		font-size: 9px;
		position: absolute;
		right: 5px;
		bottom: 50%;
		margin-bottom: -5px;
	}
	.selectus .select:before {
		content: '';
		height: 1px;
		width: 1px;
		display: inline-block;
	}
	.selectus .select .selected {
		display: inline-block;
		text-decoration: none;
		margin: 0 2em 0 0;
		min-height: auto;
		border: none;
		padding: 0;
	}
	.selectus .selectors.hidden {
		display: block;
		max-height: 0;
		margin-left: -10000px;
		transition: max-height 0.3s ease, margin-left 0s 0.3s;
	}
	.selectus .selectors:not(.hidden) {
		height: auto;
		max-height: 10em;
		margin-left: 0;
		transition: max-height 0.3s ease, margin-left 0s;
	}
	.selectus .selectors {
		top: 100%;
		left: 0;
		position: absolute;
		margin-top: -2px;
		padding: 0;
		overflow: auto;
		overflow-y: scroll;
		-moz-box-sizing: border-box;
		box-sizing: border-box;
		z-index: 888;
	}
	.selectus .selectors .option {
		display: block;
		border: 1px solid #fff;
	}
	.selectus .selectors input {
		position: absolute;
		left: -100px;
	}
	.selectus .selectors label {
		display: block;
		margin: 0;
		padding: 4px;
	}
	.selectus .selectors .focus {
		border: 1px solid #f96;
	}
	.selectus .selectors .selected {
		background: #ccc;
	}
