*:focus {
    outline: 0;
}

.InputfieldForm {

	margin-bottom: 1em;

	.Inputfields > .Inputfield {
		list-style: none;
		padding: 0;
	}

	.Inputfields > .InputfieldWrapper {
		/* nested .Inputfields list needs no bottom margin since it'll already be offset from the parent's padding */
		margin-bottom: 0; 
		list-style: none;
	
	}

	.InputfieldContent > .Inputfields {
		padding: 0;
	}

	.Inputfields > .InputfieldColumnWidth {
		/* an Inputfield that has a percentage width assigned to it */
		float: left; 
		clear: none; 
		margin-top: 0; 
	}

	.Inputfields {

		.InputfieldColumnWidthFirst,
		.InputfieldColumnWidth + .InputfieldSubmit {
			/* first Inputfield with a percent width... */
			/* ...or the last percentage-width Inputifeld before the submit button */
			clear: both; 
			margin-left: 0; 
		}
	    
		.InputfieldColumnWidthFirstTmp, 
		.InputfieldColumnWidthFirst.InputfieldStateHidden + .Inputfield {
			/* for support of inputfield dependencies */
			clear: both;
			margin-left: 0; 
		}

		.InputfieldColumnWidth:not(.InputfieldColumnWidthFirst) .InputfieldHeader,
		.InputfieldColumnWidth:not(.InputfieldColumnWidthFirst) .InputfieldContent {
			margin-left: -1px; 
		}
	}
    
	/**
	 * Margin and padding tweaks to prevent doubled visual whitespace
	 *
	 */

	.Inputfields > .Inputfield:not(.InputfieldSubmit) > .InputfieldContent > *:first-child,
	.Inputfields > .Inputfield > .InputfieldContent > div > *:first-child,
	.Inputfields > .Inputfield:first-child {
		/* first child element of an Inputfield or it's content needs no top margin since it is already padded */
		margin-top: 0;
	}

	// .Inputfields .Inputfields > .Inputfield:last-child, // removed per #305
	.Inputfields > .Inputfield > .InputfieldContent > *:last-child {
		/* last child element in an Inputfield content needs no margin since it is already padded */
		margin-bottom: 0;
	}

}

/**
* FieldsetTab Descriptions
*
*/

.InputfieldFieldsetTabOpen > .Inputfields > h2 {

	padding: 1em;
	border-width: 1px 1px 0 1px;
	border-color: $border-color;
	border-style: solid;
	margin: 0 0 -1px 0;
	color: $medium-text-color; 
	
}

fieldset, 
input, 
select,
textarea,
label {
	margin: 0;
	padding: 0;
}

input,
select,
textarea {
	font-size: 1em; 
	max-width: 100%; 
}

input:not([type=submit]):not([type=file]):not([type=checkbox]):not([type=radio]),
textarea {
	line-height: 1.3em; 
	color: $text-color; 
	border-style: solid;
	border-width: 1px;
	border-color: darken($border-color, 12%) darken($border-color, 4%) darken($border-color, 4%) darken($border-color, 4%);
	padding: 0.45em 0.5em;
	background: $subtle-bg;
	-webkit-appearance:none;  /* Remove default shadow */
}

textarea {
	line-height: 1.4em; 
	padding: 0.6em;
	display: block;
}

textarea,
input.InputfieldMaxWidth {
	width: 100%; 
}

label,
input,
select,
textarea,
table {
	height: auto;
}

.Inputfields {

	height: auto;

	label {
		display: block;
	}

	.Inputfield {
		margin-bottom: -1px; /* non doubled border */
		margin-top: 0;
		background: $text-bg; 

		p.notes {
			margin-bottom: 0; 
		}

		.asmList {
			margin-top: 0.5em;
		}

	}

	.Inputfield.ui-state-error {
		border: none; 
	}

	/**
	 * file and image input field containers
	 */
	.InputfieldImageGrid {
		
		.InputfieldFileList{
			margin-top: 1em;
		}

		.InputfieldFileItem {
			background: $white !important;
			padding: 0.4em !important;
			margin: 0 0.6em 0.6em 0 !important;
			//border: 1px solid $border-color !important;
			box-shadow: 0 1px 3px rgba(0,0,0,0.2);
		}

		.InputfieldFileData {
			border: none !important;
			margin-bottom: 0 !important;
		}
		a.InputfieldFileLink {
			display: block !important;
			margin: 0 !important;
			padding: 0 !important;
		}
		&.ui-sortable-helper{
			background: $link-color !important;
			border-color: $link-color !important;
		}
	}

	.Inputfield.InputfieldImage .InputfieldHeader,
	.Inputfield.InputfieldFile .InputfieldHeader,
	.Inputfield.InputfieldImage .InputfieldContent,
	.Inputfield.InputfieldFile .InputfieldContent {
		background: $nested-fields-bg;
	}

	// empty
	.Inputfield.InputfieldImage.InputfieldFileEmpty .InputfieldHeader,
	.Inputfield.InputfieldFile.InputfieldFileEmpty .InputfieldHeader,
	.Inputfield.InputfieldImage.InputfieldFileEmpty .InputfieldContent,
	.Inputfield.InputfieldFile.InputfieldFileEmpty .InputfieldContent {
		background: $white !important;
	}

	.Inputfield.InputfieldImage.InputfieldFileEmpty .InputfieldContent.ui-state-hover,
	.Inputfield.InputfieldFile.InputfieldFileEmpty .InputfieldContent.ui-state-hover {
		background: $highlight-bg !important;
	}

	.InputfieldStateToggle {
		cursor: pointer;

		span.ui-icon:first-child,
		i.toggle-icon {
			/* the open/close icon that goes with most Inputfields */
			float: right; 
			padding-right: 0.25em; 
		}
		i.toggle-icon {
			padding-right: 0.5em; 
			color: $secondary-link-color;
			line-height: 1.7em; 
		}

		.ui-icon + .ui-icon,
		i + i {
			margin-right: 0.3em; 
			margin-left: none; 
		}
	}

	.InputfieldStateCollapsed {
		.InputfieldHeader {
			/* different style for collapsed header */
			padding-bottom: 0.75em;
			background: $label-link-collapsed-bg ; 
			border: 1px solid $border-color; 
			color: $label-link-collapsed-color; 
		
			&:hover {
				/* style for collapsed header when hovered */
				color: $label-link-hover-color; 
				border-color: $border-color; 
				background: $label-link-collapsed-hover-bg; 
			}
			&:after{
				content: " \2026";
			}
		}
		.InputfieldContent {
			/* collapsed Inputfields don't show their content (only header) */
			display: none;
		}
	}

	.InputfieldContent {
		.InputfieldStateCollapsed {
			.InputfieldHeader {
				&:hover {
					/* style for nested collapsed header when hovered */
					background: $label-link-bg; 
				}
			}
		}
	}

	.InputfieldHeader,
	.InputfieldWrapper > .description {
		background: $label-link-bg; 
		border: 1px solid $border-color; 
		border-bottom: none;
		color: $label-link-color; 
	}
		.InputfieldHeader:hover {
			color: $label-link-hover-color; 
		}
		.InputfieldWrapper > .description {
			margin: 0 !important;
			padding-bottom: 1em; 
			margin-bottom: -1em;
		}

	.InputfieldHeader + .InputfieldContent {
		padding: 0.25em 1em 1.25em 1em;
		border: 1px solid $border-color; 
		border-top: none; 
		background: $text-bg; 
	}



	/**
	 * InputfieldMarkup
	 *
	 */

	.InputfieldMarkup .InputfieldContent {
		border: 1px solid $border-color;
		padding: 1em;
	}
		.InputfieldMarkup .InputfieldHeader + .InputfieldContent {
			border-top: none; 
			margin-top: 0;
			padding-top: 0;
		}

	/**
	 * InputfieldFileUpload
	 *
	 */
	
	.InputfieldFileUpload .AjaxUploadDropHere {
		opacity: 1;
		color: $link;
	}

	.InputfieldFileUpload input[type=file] {
		margin: 0.8em 0 0.5em 0;
	}

	/**
	 * Repeaters
	 *
	 */
	
	.InputfieldRepeater, .InputfieldRepeater > .InputfieldContent {
		background: $nested-fields-bg;

	}

	.InputfieldRepeater > .InputfieldContent {

		.InputfieldRepeaterItem > .InputfieldHeader {
			border: none;
			background: $item-header-bg; 
			color: $item-header-color;

			a {
				color: $item-header-color; 
				cursor: pointer; 
			}

			&:hover {
				background: $item-header-hover-bg; 
				color: $item-header-hover-color; 
				border: none; 
			}

		}

		.InputfieldRepeaterItem > .InputfieldContent {
			padding: 0;
			border: none; 
		}

		.InputfieldRepeaterItem {
			margin-bottom: 1.25em;
		}

		.InputfieldRepeaterItem.InputfieldStateCollapsed {
			margin-bottom: 1em; 
		}

		.InputfieldRepeaterItem > .InputfieldHeader.ui-state-error {
			text-decoration: line-through; 
			background: $error-bg; 
			border: none; 
		}
		.InputfieldRepeaterItem > .InputfieldHeader .toggle-icon {
			color: $item-header-color;
		}
	}

	/**
	 * Item and file lists
	 *
	 */
	
	.InputfieldFileList {
		margin-top: 0;
	}

	.InputfieldFileList > li {
		margin-top: 0;
		margin-bottom: 0.5em !important;
		box-shadow: 0 1px 3px rgba(0,0,0,0.2);
	}
	.InputfieldFileList .InputfieldFileItem {
		border: none;
	}

	.InputfieldFileList .InputfieldFileItem .ui-widget-content, .InputfieldFileData {
		//border-width: 0 1px 1px 1px;
		//border-style: solid;
		//border-color: darken($item-border-color, 4%);
		background: $item-bg;
		border: none;
		//margin-bottom: 1em;
	}

	.InputfieldItemList .InputfieldItemHeader {
		/* file or repeater item header */
		border: none;
		background: $item-header-bg; 
		color: $item-header-color; 
		padding: 0.5em;
		cursor: move; 
		font-weight: $normal-weight;

		a {
			/* link in file or repeater item header */
			color: $item-header-color;
		}

		&:hover {
			/* file or repeater item header in hover state */
			background: $item-header-hover-bg; 
			color: $item-header-hover-color; 
			border: none; 
			a {
				color: $item-header-hover-color; 
			}
		}

		&.InputfieldFileInfo > i.fa{
			left: 0;
		}
	}

	.InputfieldItemList .InputfieldItemList .InputfieldItemHeader:not(:hover) {
		/* lighten up nested item list headers use a different color */
		background: $ui-state-default-bg; 
		color: $ui-state-default-color; 
	}

	.InputfieldItemList .InputfieldItemHeader.ui-state-error,
	.InputfieldItemList .InputfieldItemList .InputfieldItemHeader.ui-state-error {
		/* deleted item state */
		text-decoration: line-through; 
		background: $error-bg; 
		border: none; 
	}

	.InputfieldItemList:not(.InputfieldStateCollapsed) > .InputfieldHeader,
	.InputfieldFieldset:not(.InputfieldStateCollapsed) > .InputfieldHeader,
	.InputfieldFieldsetOpen:not(.InputfieldStateCollapsed) > .InputfieldHeader,
	.InputfieldItemList > .InputfieldHeader + .InputfieldContent,
	.InputfieldFieldset > .InputfieldHeader + .InputfieldContent,
	.InputfieldFieldsetOpen > .InputfieldHeader + .InputfieldContent {
		/* Inputfields containing other items get a different background color */
		background: $nested-fields-bg;
	
	}
	.InputfieldItemList .InputfieldItemList:not(.InputfieldStateCollapsed) > .InputfieldHeader,
	.InputfieldItemList .InputfieldItemList > .InputfieldHeader + .InputfieldContent {
		/* unless the item is already a nested item list, then we are a little mroe subtle with it */ 
		background: transparentize($subtle-bg, 0.6); 
	}

	.InputfieldPageNameURL {
		/* page name */
		font-size: 0.875em; 
	}

}

.Inputfields > .Inputfield {
	display: block;
	clear: both; 
}

.Inputfields > .Inputfield > .InputfieldContent:before,
.Inputfields > .Inputfield > .InputfieldContent:after,
.InputfieldForm:after {
    /* @soma clearfix */
    content: " ";
    display: table;
}
.Inputfields > .Inputfield > .InputfieldContent:after,
.InputfieldForm:after {
    /* @soma clearfix  */
    clear: both;
}

/**
 * Inputfield containers (InputfieldHeader, InputfieldContent) 
 *
 */

.Inputfields .InputfieldHeader, 
.InputfieldForm .InputfieldHeader, 
.InputfieldForm label.InputfieldHeader,
.InputfieldWrapper > .description {
	/* typically the Inputfield's <label> */
	-webkit-user-select: none;
	-khtml-user-select: none;
	-moz-user-select: none;
	-o-user-select: none;
	user-select: none; /* prevent selection of this element */

	display: block;
	padding: 0.75em 0.25em 0.25em 1em;
	font-weight: $bold-weight; 
}

.InputfieldStateRequired > .InputfieldHeader:first-child:after {
	/* Add asterisk to indicate field is required */
	content: ' *';
	color: $red; 
}

/****************************************************************************
 * Specific Inputfield types
 *
 * Defined here rather than as separate CSS files because their styles are 
 * shared or there may be relationships with other Inputfields
 *
 */

.Inputfields .InputfieldHidden {
	display: none; 
}

/**
 * Buttons
 *
 */

.InputfieldForm .Inputfields .InputfieldSubmit,
.InputfieldForm .Inputfields .InputfieldButton {
	/* enable horizontal stack of buttons */
	margin-top: 0;
	padding-top: 0;
	clear: none; 
	background: none; 

	.InputfieldHeader {
		/* no need for a header with buttons */
		display: none; 
	}

	.InputfieldContent {
		/* we don't need our visual furniture for buttons */
		padding: 0; 
		margin: 0;
		margin-top: 1em; 
		background: none; 
		border: none; 
	}
}


.Inputfields > .InputfieldSubmit {
	float: left; 
	margin-bottom: 0.5em;
	margin-top: 0;
}
	.Inputfields .InputfieldSubmit + .InputfieldSubmit,
	.Inputfields .InputfieldSubmit + .InputfieldButton {
		/* two buttons next to each other */
		float: left; 
		margin-left: 0.5em; 
		margin-top: 0;
	}

	.Inputfields .Inputfield:not(.InputfieldSubmit) + .InputfieldSubmit {
		clear: left; 
	}

.Inputfields .InputfieldRadiosColumns li {
	padding-bottom: 0.1em !important; 
}


.Inputfield .LanguageSupport {
	margin-bottom: 1em; 
}

.Inputfields .Inputfield:not(.InputfieldStateCollapsed) > .InputfieldHeaderHidden > span {
	/* hide header for inputfield */
	display: none;
}

#content .InputfieldHeader + .InputfieldContent.langTabsContainer {
	padding-bottom: 0.25em;
}

#content .InputfieldHeader + .InputfieldContent.langTabsContainer p.notes {
	margin: 0 0 1em 0;
}

/****************************************************************************
 * Render Value Mode 
 *
 * Used when only values are being rendered in the form (no inputs)
 *
 */

.InputfieldRenderValueMode {

	.InputfieldSelect li,
	.InputfieldRadios li,
	.InputfieldCheckboxes li {
        	margin: 0 ;
	}

	.InputfieldSubmit,
	.InputfieldButton {
		display: none; 
	}
}

/****************************************************************************
 * login 
 *
 * override default login
 *
 */

ul.Inputfields #wrap_login_name,
ul.Inputfields #wrap_login_pass {
	width: auto !important;
}


/****************************************************************************
 * The following is only for AdminThemeReno support of PW 2.5.x
 * 
 * This can eventually be dropped
 * 
 */
body:not(.AdminThemeReno) .Inputfields {
	
	.InputfieldRepeater > .InputfieldContent .InputfieldRepeaterItem > .InputfieldHeader {
		padding: 0.25em 0.25em 0.25em 1.7em;

		.InputfieldRepeaterTrash {
			right: 1.8em;
		}

		.ui-icon {
			margin-top: 3px;
		}
	}

	.InputfieldItemList .InputfieldItemHeader {
		/* file or repeater item header */
		padding-left: 0.25em;
		padding-right: 0.5em;

		.ui-icon {
			margin-top: 3px;
		}
	}
}
