.p_form {
	margin: 20px -10px;
	background: #fafafa;
	border: 1px solid #ddd;
	padding: 0 10px;
	position: relative;
	zoom: 1;
}

.p_form .f_heading {
	position: relative;
	margin: 20px -11px 0 -11px !important;
	border-top: 1px solid #ddd;
	padding: 20px 10px 10px 10px;
	border-bottom: 1px solid #ddd;
	background: #fff;
	font-size: 120%;
	font-weight: bold;
}

.p_form .f_heading.f_repeater_title {
	color: #666;
	text-transform: uppercase;
	font-size: 90%;
	line-height: 1;
	padding: 20px 10px 15px 10px;
}

.p_form .f_heading:first-child {
	margin-top: -1px !important;
	border-top: 1px solid #fff;
	padding-top: 0 !important;
}

h2 + .p_form {
	margin-top: -1px !important;
}

.p_form div.f_block {
	clear: left;
	overflow: hidden;
	margin: 12px 0;
	padding: 1px 20px 1px 160px;
}

.p_form div.f_block.f_stacked {
	padding-left: 0 !important;
}

.p_form .f_block p {
	margin: 0;
}

.p_form .f_block .f_label {
	clear: left;
	float: left;
	display: inline;
	width: 150px;
	margin: 0 0 0 -160px;
}

.p_form .f_block.f_stacked .f_label {
	display: block;
	width: auto;
	margin-left: 0 !important;
}

.p_form .f_block .f_required {
	float: right;
	margin: 0 -20px 0 0;
	width: 20px;
	text-align: center;
	overflow: hidden;
}

.p_form .f_block.f_stacked .f_required {
	margin-right: 0;
}

.p_form .f_block .f_required abbr {
	font-size: 190%;
	color: #c00;
	line-height: 1;
	position: relative;
	top: 4px;
}

.p_form .f_label label,
.p_form .f_label span.f_pseudo {
	display: block;
	font-weight: bold;
	padding: 3px 0;
	line-height: 1.4;
}

.p_form .f_block .f_input,
.p_form .f_block .f_submit {
	float: left;
	margin: 0;
	width: 100%;
	position: relative;
	overflow: visible;
}

.p_form .f_block .f_wide_input {
	clear: left;
	margin: 0 -20px 0 -160px;
	padding: 4px 0;
	position: relative;
	overflow: visible;
}

.p_form .f_block .f_textual {
	background: #fff;
	border: 1px solid #ddd;
	margin: 0;
	padding: 0 0 0 2px;
	line-height: 1.6;
}

#p_shell .p_form .f_block.f_display_only .f_textual,
#p_shell .p_form .f_block.f_display_only .f_textual input,
#p_shell .p_form .f_block.f_display_only .f_textual textarea {
	border: 0;
	background: transparent;
}

.p_form .f_block .f_sized {
	display: inline-block;
}

.p_form .f_block .f_textual input,
.p_form .f_block textarea {
	width: 100%;
	padding: 2px 0;
	margin: 0;
	border: 0;
	background: #fff;
	display: block;
	line-height: 1.4;
}

.p_form .f_block.f_big label,
.p_form .f_block.f_big input,
.p_form .f_block.f_big textarea {
	font-size: 130%;
}

.p_form .f_block .f_textual textarea {
	vertical-align: top; 
	transition: height 0.2s;
	-webkit-transition: height 0.2s; 
	-moz-transition: height 0.2s;
}

.autosizejs { /* cf. http://www.jacklmoore.com/autosize */
	line-height: 1.4;	
}

.p_form .f_block .f_textual input.f_field_affixed {
	display: inline;
	width: 50px;
}

.p_form .f_input_prefix {
/*	float: left;*/
/*	padding: 0 1px 0 2px;*/
	margin-right: -3px;
	color: #888;
	word-wrap: break-word;
}

.p_form .f_input_suffix {
/*	float: right;*/
/*	padding: 0 2px 0 1px;*/
	margin-left: -3px;
	color: #888;
	word-wrap: break-word;
}

.p_form p.f_input_suffix {
	display: inline-block;
	margin-left: 3px;
}

/*.p_form .f_block .f_short {
	width: 80px;
	margin-right: 20px;
}*/

.p_form .f_input select {
	background: #fff;
	border: 1px solid #ddd;
	font-size: inherit;
	font-family: inherit;
}

.p_form .f_submit input {
	margin-right: 20px;
}

.p_form .f_submit .f_adjunct {
	line-height: 22px;
	vertical-align: middle;
	margin-left: 10px;
}

.p_form .f_submit .f_alignright {
	float: right;
	text-align: right;
}

.p_form .f_problem .f_label {
	color: #c00;
}

.p_form .f_problem .f_input .f_textual,
.p_form .f_problem .f_wide_input .f_textual,
.p_form .f_problem .f_input select {
	border-color: #c00;
	background: #fffff9;
}

/*.p_form .f_block .f_extra {
	padding-top: 6px;
}*/

.p_form .f_block div.f_notes {
	margin: 0 0 0 -160px;
}

.p_form .f_block .f_notes p {
	margin: 0;
	padding: 5px 0;
}

.p_form .f_block .f_heading {
	font-weight: bold;
	color: #8C96A5;
	text-transform: uppercase;
	letter-spacing: 1px;
	font-size: 90%;
	line-height: 1;
	border: 0;
}

.p_form .f_block .f_intro {
	clear: left;
	float: left;
	width: 100%;
	margin: 0 0 10px 0;
}

.p_form .f_block .f_notes {
	clear: left;
	float: left;
	width: 100%;
	margin: 5px 0;
	font-size: 90%;
	color: #666;
	line-height: 1.4;
}

/*.p_form .f_block .f_extended .f_textual {
	width: 611px;
}

.p_form .f_block .f_extended select {
	width: 620px;
}

.p_form .f_block .f_editor {
	width: 450px;
}

.p_form .f_block .f_extended .f_editor {
	width: 606px;
}*/

.p_form div.f_dividered {
	border-top: 1px solid #ddd;
	padding-top: 14px;
}

.p_form div.f_heading_divider {
	position: relative;
	padding: 37px 1px 1px 210px !important;
	margin: 12px -11px !important;
}

.p_form div.f_heading_divider:before {
	display: block;
	content: ' ';
	border-top: 1px solid #ddd;
	background: #fff;
	border-bottom: 1px solid #c6d4e7;
	position: absolute;
	height: 22px;
	top: 0;
	left: -11px;
	right: -11px;
}

.f_ht {
	display: none !important;
}

.f_radio_horizontal {
	float: left;
	padding-right: 30px;
}

.f_radio_or_checkbox {
	clear: left;
	padding: 2px 0 2px 25px;
}

.f_radio_or_checkbox span {
	display: inline-block;
	width: 21px;
	margin: 0 0 0 -25px;
}


/* Radio + checkbox groups */

fieldset {
	clear: left;
	border: 0;
	padding: 0;
	margin: 5px 0 0 0;
}

legend {
	font-weight: bold;
	margin: 0;
	padding: 0 0 5px 0;
	color: #666;
}


/* File uploaders */

.f_uploader_actions {
	float: left;
}

.f_uploader_actions p {
	clear: left;
}

.f_uploader_image {
/*	float: left;*/
	padding: 0 0 0 90px;	
}

.f_uploader_image img {
	float: left;
	width: 80px;
	border: 1px solid #ddd;
	margin: 0 0 0 -90px;
}

.p_form .f_block .f_uploader_title {
	margin-bottom: 10px;
}

.p_form .f_block .f_uploader_actions .f_uploader_browse,
.p_form .f_block .f_uploader_actions .f_temp_file {
	margin: 5px 0 5px 25px;
}

.f_temp_image {
	float: left;
	padding: 0 0 0 40px;
}

.f_temp_file img {
	float: left;
	width: 30px;
	border: 1px solid #ddd;
	margin: 0 0 0 -40px;
}

.f_temp_file a:link,
.f_temp_file a:visited {
	color: #888;
	text-decoration: none;
}

.f_temp_file a:hover,
.f_temp_file a:active,
.f_temp_file a:focus {
	color: #000;
	text-decoration: underline;
}



/* Overlays */

#p_close_overlay {
	position: absolute;
	width: 27px;
	height: 27px;
	right: 20px;
	top: 20px;
}

#p_close_overlay a {
	display: block;
	overflow: hidden;
	height: 27px;
	text-indent: -999px;
}

#p_close_overlay a:link,
#p_close_overlay a:visited {
	background: transparent url(../chrome/close_overlay.png) 0 0 no-repeat;
}

#p_close_overlay a:hover,
#p_close_overlay a:active,
#p_close_overlay a:focus {
	background: transparent url(../chrome/close_overlay.png) 0 -28px no-repeat;
}

#f_form_refreshed {
	display: none;
}

.f_overlay_edit {
	float: left;
	width: 100%;
	padding-top: 10px;
}

.f_uploader_browse .f_overlay_edit {
	padding-top: 5px;
	padding-bottom: 10px;
}

.f_overlay_edit a {
	text-transform: uppercase;
	font-size: 80%;
	line-height: 1;
/*	color: #fff;*/
	-webkit-border-radius: 8px;
	-moz-border-radius: 8px;
	border-radius: 8px;
	padding: 1px 4px;
	text-decoration: none !important;
	display: inline-block;
	background: #f9f9f9; /* Old browsers */
	background: -moz-linear-gradient(top, #ffffff 0%, #eaeaea 100%); /* FF3.6+ */
	background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#f9f9f9), color-stop(100%,#eaeaea)); /* Chrome,Safari4+ */
	background: -webkit-linear-gradient(top, #ffffff 0%,#eaeaea 100%); /* Chrome10+,Safari5.1+ */
	background: -o-linear-gradient(top, #ffffff 0%,#eaeaea 100%); /* Opera11.10+ */
	background: -ms-linear-gradient(top, #ffffff 0%,#eaeaea 100%); /* IE10+ */
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#ffffff', endColorstr='#eaeaea',GradientType=0 ); /* IE6-9 */
	background: linear-gradient(top, #ffffff 0%,#eaeaea 100%); /* W3C */
}

.f_overlay_edit a:link,
.f_overlay_edit a:visited {
/*	background: #444;*/
	border: 1px solid #ccc;
	color: #666;
}

.f_overlay_edit a:hover,
.f_overlay_edit a:focus {
/*	background: #000;*/
	border: 1px solid #999;
	color: #000;
}


/* Sortable fields */

.f_sortable_list {
	list-style: none;
	float: left;
	width: 100%;
	border-bottom: 1px solid #ddd;
}

.f_sortable_list li {
	float: left;
	width: 100%;
	display: block;
	line-height: 25px;
	vertical-align: middle;
	background: rgba(0, 0, 0, 0.02);
	border-top: 1px solid #ddd;
}

.f_sortable_list p {
	float: left;
	padding-left: 10px;
}

.f_sortable_list ul {
	float: right;
}

.f_sortable_list ul li {
	float: right;
	padding: 4px;
	width: 19px;
	height: 19px;
	border: none;
	background: transparent;
}

.f_sortable_list ul li a {
	display: block;
	width: 19px;
	height: 19px;
	overflow: hidden;
	text-indent: -999px;
}

.f_sortable_control_up,
.f_sortable_control_disabled .f_sortable_control_up:hover,
.f_sortable_control_disabled .f_sortable_control_up:active,
.f_sortable_control_disabled .f_sortable_control_up:focus {
	background: transparent url(../chrome/repeater_controls.png) -40px -40px no-repeat;
}

.f_sortable_control_up:link,
.f_sortable_control_up:visited {
	background: transparent url(../chrome/repeater_controls.png) -40px 0 no-repeat;
}

.f_sortable_control_up:hover,
.f_sortable_control_up:focus,
.f_sortable_control_up:active {
	background: transparent url(../chrome/repeater_controls.png) -40px -20px no-repeat;
}

.f_sortable_control_down,
.f_sortable_control_disabled .f_sortable_control_down:hover,
.f_sortable_control_disabled .f_sortable_control_down:active,
.f_repeater_control_disabled .f_sortable_control_down:focus {
	background: transparent url(../chrome/repeater_controls.png) -60px -40px no-repeat;
}

.f_sortable_control_down:link,
.f_sortable_control_down:visited {
	background: transparent url(../chrome/repeater_controls.png) -60px 0 no-repeat;
}

.f_sortable_control_down:hover,
.f_sortable_control_down:focus,
.f_sortable_control_down:active {
	background: transparent url(../chrome/repeater_controls.png) -60px -20px no-repeat;
}


/* Repeaters */

.f_repeater_container_outer {
	border-top: 1px solid #ddd;
	border-bottom: 1px solid #ddd;
	margin: 0 -11px -13px -11px;
}

.f_repeater_container_outer + .f_repeater_container_outer {
	margin-top: -22px;
}

.f_repeater_container_outer + .f_heading {
	margin-top: -22px !important;
}

.p_form > .f_repeater_container_outer:first-child {
	border-top: none;
}

.f_repeater_container_inner {
	border-top: 20px solid #fff;
}

.f_repeater_title {
	font-weight: bold;
	padding: 0 10px 15px 10px;
	background: #fff;
	color: #666;
	text-transform: uppercase;
	letter-spacing: 1px;
	font-size: 90%;
	line-height: 1;
}

.f_repeater_block_outer {
	border-bottom: 20px solid #fff;
}

.f_repeater_block_inner {
	border: 1px solid #ddd;
	padding: 0 10px;
	position: relative; /* For IE7 */
}

.f_repeater_controls {
	margin: 0 -10px;
	padding: 10px;
	height: 19px;
	list-style: none;
	line-height: 19px;
	border-top: 1px solid #ddd;
	background: rgba(0, 0, 0, 0.02);
}

.f_repeater_controls li {
	float: right;
	width: 19px;
	margin-left: 20px;
}

.f_repeater_controls li a {
	display: block;
	width: 19px;
	height: 19px;
	overflow: hidden;
	text-indent: -999px;
}

.f_repeater_control_add,
.f_repeater_control_disabled .f_repeater_control_add:hover,
.f_repeater_control_disabled .f_repeater_control_add:active,
.f_repeater_control_disabled .f_repeater_control_add:focus {
	background: transparent url(../chrome/repeater_controls.png) 0 -40px no-repeat;
}

.f_repeater_control_add:link,
.f_repeater_control_add:visited {
	background: transparent url(../chrome/repeater_controls.png) 0 0 no-repeat;
}

.f_repeater_control_add:hover,
.f_repeater_control_add:focus,
.f_repeater_control_add:active {
	background: transparent url(../chrome/repeater_controls.png) 0 -20px no-repeat;
}

.f_repeater_control_remove,
.f_repeater_control_disabled .f_repeater_control_remove:hover,
.f_repeater_control_disabled .f_repeater_control_remove:active,
.f_repeater_control_disabled .f_repeater_control_remove:focus {
	background: transparent url(../chrome/repeater_controls.png) -20px -40px no-repeat;
}

.f_repeater_control_remove:link,
.f_repeater_control_remove:visited {
	background: transparent url(../chrome/repeater_controls.png) -20px 0 no-repeat;
}

.f_repeater_control_remove:hover,
.f_repeater_control_remove:focus,
.f_repeater_control_remove:active {
	background: transparent url(../chrome/repeater_controls.png) -20px -20px no-repeat;
}

.f_repeater_control_up,
.f_repeater_control_disabled .f_repeater_control_up:hover,
.f_repeater_control_disabled .f_repeater_control_up:active,
.f_repeater_control_disabled .f_repeater_control_up:focus {
	background: transparent url(../chrome/repeater_controls.png) -40px -40px no-repeat;
}

.f_repeater_control_up:link,
.f_repeater_control_up:visited {
	background: transparent url(../chrome/repeater_controls.png) -40px 0 no-repeat;
}

.f_repeater_control_up:hover,
.f_repeater_control_up:focus,
.f_repeater_control_up:active {
	background: transparent url(../chrome/repeater_controls.png) -40px -20px no-repeat;
}

.f_repeater_control_down,
.f_repeater_control_disabled .f_repeater_control_down:hover,
.f_repeater_control_disabled .f_repeater_control_down:active,
.f_repeater_control_disabled .f_repeater_control_down:focus {
	background: transparent url(../chrome/repeater_controls.png) -60px -40px no-repeat;
}

.f_repeater_control_down:link,
.f_repeater_control_down:visited {
	background: transparent url(../chrome/repeater_controls.png) -60px 0 no-repeat;
}

.f_repeater_control_down:hover,
.f_repeater_control_down:focus,
.f_repeater_control_down:active {
	background: transparent url(../chrome/repeater_controls.png) -60px -20px no-repeat;
}

/* Chooser buttons */

.p_form .f_textual a.f_chooser {
	position: relative;
	left: 2px;
	display: inline-block;
	padding: 3px 4px;
	font-size: 11px;
	font-weight: bold;
	text-shadow: 0 1px 1px rgba(255,255,255,.8);
	border: 0;
	border-left: 1px solid #bbb;	
}

.p_form .f_textual a.f_chooser:link,
.p_form .f_textual a.f_chooser:visited {
	color: #444;
	text-decoration: none;
	background: #ccc;
	background: -webkit-gradient(linear, left top, left bottom, from(#eee), to(#ccc));
	background: -moz-linear-gradient(top,  #eee,  #ccc);
	filter:  progid:DXImageTransform.Microsoft.gradient(startColorstr='#eeeeee', endColorstr='#cccccc');
    -moz-user-select: -moz-none;
    -webkit-user-select: none;
    user-select: none;
}

.p_form .f_textual a.f_chooser:hover,
.p_form .f_textual a.f_chooser:focus {
	color: #444;
	text-decoration: none;
	background: #bbb;
	background: -webkit-gradient(linear, left top, left bottom, from(#ddd), to(#bbb));
	background: -moz-linear-gradient(top,  #ddd,  #bbb);
	filter:  progid:DXImageTransform.Microsoft.gradient(startColorstr='#dddddd', endColorstr='#bbbbbb');
}

.p_form .f_textual a.f_chooser:active {
	color: #444;
	text-decoration: none;
	background: #aaa;
	background: -webkit-gradient(linear, left top, left bottom, from(#ccc), to(#aaa));
	background: -moz-linear-gradient(top,  #ccc,  #aaa);
	filter:  progid:DXImageTransform.Microsoft.gradient(startColorstr='#cccccc', endColorstr='#aaaaaa');
}

/* CodeMirror */

.p_form .f_textual .CodeMirror {
	font-size: 110%;
	line-height: 1.4;
}

.p_form .f_textual .CodeMirror-scroll {
	margin-left: -2px;
	height: 360px;
}

.p_form .f_textual.p_fragment .CodeMirror-scroll {
	height: 200px;
}

/* Toggle switch */
/* See: http://www.maissan.net/articles/jquery-switch */

.p_form .switch {
	cursor: pointer;
	display: inline-block;
	overflow: hidden;
	position: relative;
	width: 88px;
	height: 21px;
	vertical-align: middle;
}

.p_form .switch .background {
	background: url(../chrome/switch_background.png);
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	width: 134px;
	height: 21px;
}

.p_form .switch .mask {
	background: url(../chrome/switch_mask.png);
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	width: 88px;
	height: 21px;
	z-index: 100;
}

/* 27 Mar 2014 - multifiles */

.f_multifile {
	margin: 0 -11px;
	border-top: 1px solid #ddd;
}

.f_multifile_widget {
	padding: 20px 0 10px 0;
	text-align: center;
}

.f_multifile_button {
	display: inline-block;
	position: relative;
	overflow: hidden;
	text-transform: uppercase;
	line-height: 1;
	-webkit-border-radius: 20px;
	-moz-border-radius: 20px;
	border-radius: 20px;
	padding: 4px 12px;
	text-decoration: none !important;
	background: #f9f9f9; /* Old browsers */
	background: -moz-linear-gradient(top, #ffffff 0%, #eaeaea 100%); /* FF3.6+ */
	background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#f9f9f9), color-stop(100%,#eaeaea)); /* Chrome,Safari4+ */
	background: -webkit-linear-gradient(top, #ffffff 0%,#eaeaea 100%); /* Chrome10+,Safari5.1+ */
	background: -o-linear-gradient(top, #ffffff 0%,#eaeaea 100%); /* Opera11.10+ */
	background: -ms-linear-gradient(top, #ffffff 0%,#eaeaea 100%); /* IE10+ */
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#ffffff', endColorstr='#eaeaea',GradientType=0 ); /* IE6-9 */
	background: linear-gradient(top, #ffffff 0%,#eaeaea 100%); /* W3C */
	border: 1px solid #bbb;
	font-weight: bold;
}

.f_multifile_button input {
	position: absolute;
	top: 0;
	right: 0;
	margin: 0;
	opacity: 0;
	-ms-filter: 'alpha(opacity=0)';
	font-size: 200px;
	cursor: pointer;
}

.f_multifile_content {
	margin: 10px 11px 0 11px;
}

.f_multifile_progress {
	margin: 20px 11px 0 11px;
	height: 4px;
	background: #f7f9fd;
	border: 1px solid #dfe9f2;
	-webkit-border-radius: 4px;
	-moz-border-radius: 4px;
	border-radius: 4px;
}

.f_multifile_progress div {
   height: 4px;
   background: #4ba948;
}