/* ========================================================================
   Component: api_form
 ========================================================================== */
.api_form .api_required{ color: #f00; font: normal 18px/1 Tahoma, Arial, sans-serif; margin-left: 1px }
.api_form .api_error{ display: none; font-size: 12px; margin: 0 0 15px; text-align: center; background: #fef4f6; color: #f0506e; padding: 10px; }

.api_form input[type="text"],
.api_form input[type="password"],
.api_form textarea,
.api_form select{
	outline: none; width: 100%; max-width: 100%; padding: 4px 10px; font-family: inherit; font-size: inherit; border: 1px solid #D9D9D9; background: #FFF;
	-webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, .07); -moz-box-shadow: inset 0 1px 2px rgba(0, 0, 0, .07); box-shadow: inset 0 1px 2px rgba(0, 0, 0, .07);
}

.api_form input[type="radio"],
.api_form input[type="checkbox"]{ margin: 0; padding: 0; vertical-align: middle; cursor: pointer }
.api_form input[type="text"],
.api_form input[type="password"]{ height: 36px; line-height: 36px; }
.api_form textarea{ min-height: 60px; transition: none; overflow: hidden; display: block; resize: none; }

.api_form input[type]:focus,
.api_form textarea:focus{
	background: #FFF;
	color: rgba(0, 0, 0, .85);
	border-color: #0a84ff;
	-webkit-box-shadow: 4px 0 0 0 #0a84ff inset, 0 0 2px rgba(30,140,190,.8);
	-moz-box-shadow: 4px 0 0 0 #0a84ff inset, 0 0 2px rgba(30,140,190,.8);
	box-shadow: 4px 0 0 0 #0a84ff inset, 0 0 2px rgba(30,140,190,.8);
}

.api_form input[type][readonly],
.api_form textarea[readonly],
.api_form select[readonly]{ background-color: #fafafa; color: #999; border: 1px solid #ddd; text-shadow: none; -webkit-box-shadow: none; -moz-box-shadow: none; box-shadow: none; }

.api_form .api_row{ position: relative }
.api_form .api_row_header{background: #fafbfc;padding: 15px;color: #222;border-top: 1px solid #e7e8ec;border-bottom: 1px solid #e7e8ec;white-space: nowrap;margin: 25px 0;font-size: 20px;font-style: oblique;}
.api_form .api_row + .api_row{ margin-top: 15px; }
.api_form .api_rows + .api_rows{ margin-top: 15px; }
.api_form .api_label{ font-weight: bold; margin-bottom: 5px }
.api_form .api_label_inline{ display: inline-block }
.api_form .api_label_block{ display: block }
.api_form .api_label_block + .api_label_block{ margin-top: 5px }
.api_form .api_controls{ position: relative }
.api_form .api_controls label{ cursor: pointer }
.api_form .api_controls .api_control + .api_control{ margin-top: 8px }
.api_form .api_field{ -webkit-transition: background-color .3s ease-out, box-shadow .2s ease, border-color .2s ease; -moz-transition: background-color .3s ease-out, box-shadow .2s ease, border-color .2s ease; -ms-transition: background-color .3s ease-out, box-shadow .2s ease, border-color .2s ease; -o-transition: background-color .3s ease-out, box-shadow .2s ease, border-color .2s ease; transition: background-color .3s ease-out, box-shadow .2s ease, border-color .2s ease; }
.api_form .api_field_error{ border: 1px solid #d95c5c !important; background: #fffafa !important; -webkit-box-shadow: 3px 0 0 0 #d95c5c inset !important; -moz-box-shadow: 3px 0 0 0 #d95c5c inset !important; box-shadow: 3px 0 0 0 #d95c5c inset !important; }
.api_form .api_buttons{ margin-top: 30px !important; }

/* ========================================================================
   Component: api_checkbox
 ========================================================================== */
.api_checkbox{ position: relative; cursor: pointer; margin: 0; padding: 0 0 0 28px; min-height: 25px; }
.api_checkbox input{ cursor: pointer; position: absolute; top: -1px; left: -1px; opacity: 0 !important; outline: 0; z-index: 3; width: 25px; height: 25px; margin: 0 !important; padding: 0 !important; }
.api_checkbox:before{ content: ''; display: block; position: absolute; left: -1px; top: -1px; background: url("images/form/checkbox.png") no-repeat 0 0; width: 25px; height: 25px; }
.api_checkbox.api_active:before{ content: ''; display: block; position: absolute; left: -1px; top: -1px; background: url("images/form/checkbox.png") no-repeat 0 -25px; width: 25px; height: 25px; }
.api_checkbox.api_active{ color: #3b79d2 }

/* ========================================================================
   Component: api_radio
 ========================================================================== */
.api_radio{ position: relative; cursor: pointer; margin: 0; padding: 0 0 0 28px; min-height: 25px; }
.api_radio input{ cursor: pointer; position: absolute; top: -1px; left: -1px; opacity: 0 !important; outline: 0; z-index: 3; width: 25px; height: 25px; margin: 0 !important; padding: 0 !important; }
.api_radio:before{ content: ''; display: block; position: absolute; left: -1px; top: -1px; background: url("images/form/radio.png") no-repeat 0 0; width: 25px; height: 25px; }
.api_radio.api_active:before{ content: ''; display: block; position: absolute; left: -1px; top: -1px; background: url("images/form/radio.png") no-repeat 0 -25px; width: 25px; height: 25px; }
.api_radio.api_active{ color: #3b79d2 }

/* ========================================================================
   Component: api_spinner
 ========================================================================== */
.api_spinner{}