/* p_form  */

#mainformContainer {
	position: relative;
	width: 80%;
	width: clamp(290px, 80%, 500px);
	min-height: 100px;
	padding: 10px;
	margin: 0px auto;
/* 	background: #ffffff; */
/* 	border-radius: 4px; */
	font-family: 'Open Sans', Helvetica, Arial, sans-serif;
	font-size: 14px;
	line-height: 1em;
	color: #404040;
	overflow: hidden;
	box-sizing: border-box;
}

	
	.column {
		position: relative;
		/*float: left;*/
		width: 30%;
		min-height: 100px;
		margin: 0 5% 0 0;
		margin: 0 auto;
	}
	
		.column3 {
			margin: 0;
		}
		
		.column .formcontainer {
			padding: 0px;
		}
		
		.column2 {
			width: 100%;
		}

.p_form {
	position: relative;
	overflow: hidden;
	padding: 1em 0;
	font-size: 1em;
	line-height: 1em;
	max-width: 600px;
	margin: 0 auto;
}

	.p_form h3 {
	}
	
	.p_form .required {
		color: red;
	}
	
	.p_form .fld {
		position: relative;
		width: 100%;
		overflow: hidden;
		margin: 0 0 1em;
		padding: 2px 0 0;
	}
	
		.p_form .fld_left, .p_form .fld_right {
			position: relative;
			float: left;
		}
		
			.p_form .fld_header {
				width: 100%;
				padding: 0.5em 2% 0 0;
				text-align: left;
			}
			
			.p_form .fld_left {
				width: 28%;
				padding: 0.5em 2% 0 0;
				text-align: right;
			}
			
			.p_form .fld_right {
				width: 70%;
				padding: 0 0 1px;
			}
			
				.p_form .fld_left label {
/* 					font-weight: bold; */
				}
			
				.p_form .fld input, 
				.p_form .fld textarea, 
				.p_form .fld select, 
				.formcontainer .square_formfield,
				.p_form .fld .select_filter,
				.p_form .fld .select_filter_container .select_filter_dropdown {
					width: 100%;
					padding: 0.5em;
					box-sizing: border-box;
					font-size: inherit;
					line-height: inherit;

					border: 1px solid #afafaf;
					-webkit-border-radius: 3px;
					-moz-border-radius:    3px;
					border-radius:         3px;
					background: #ffffff;
				}
				
				.formcontainer .square_formfield {
					position: relative;
					padding: 5px;
					display: inline-block;
					vertical-align: middle;
				}

			.p_form .fld.fld_select {
				overflow: visible;
			}


/* Multi-line */
.fld_single label {
	line-height: 1.5em;
}

/* Multi-line */
.fld textarea {
	height: 10em;
}

/* Select */
.fld select {
	height: 2.5em;
}

	.select_other {
		display: none;
	}
	
		.select_other.active {
		    font-family: inherit;
		    font-size: inherit;
		    margin-top: 1em;
			display: block;
		}


/* Checklist and Radio */
.p_form .fld_check .fld_right label, .p_form .fld_radio .fld_right label {
	display: block;
	margin: 0.5em 0;
	border: 0;
	padding: 0;
	font-weight: normal;
}
	.p_form .fld_right.checkbox label {
		display: flex;
	}
	
	.p_form .fld_check.checkbox {
		display: flex;
	}

.p_form .fld_check input, .p_form .fld_radio input {
	width: auto;
	max-width: none;
	margin-top: 0;
	margin-bottom: 0;
}

/* Text and Heading */
.p_form .fld_text p {
	line-height: 1.5em;
	margin: 0;
}

.p_form .fld_heading h4 {
	margin: 0;
}

.p_form .fld_spacer {
	height: 2em;
	width: 100%;
}

/* Submit */
.p_form input[type="submit"], .p_form input[type="button"]  {
	-webkit-appearance: none;
	border: 0;
	outline: 0;
	padding: 0.75em 1.25em;
	font-size: 1em;
	line-height: 1em;
	float: right;
	-webkit-border-radius: 3px;
	-moz-border-radius:    3px;
	border-radius:         3px;
	background: #404040;
	color: #ffffff;
	display: inline-block;
	text-align: right;
	width: auto;
	cursor: hand;
	cursor: pointer;
}




.p_form_vertical.p_form {
	max-width: 800px;
}

		.p_form_vertical.p_form .fld_left, .p_form_vertical.p_form .fld_right {
			position: relative;
			width: 100%;
			float: none;
			text-align: left;
		}
		
			.p_form_vertical.p_form .fld_right.checkbox label {
				display: flex;
			}
			
			
			.p_form_vertical.p_form .fld_left {
				margin: 0 0 0.5em;
				padding: 0;
			}
			
			.p_form_vertical.p_form .fld_check.checkbox {
				display: flex;
			}
			
			.p_form_vertical.p_form .inlinecheck {
				width: 20px;
				float: left;
				padding: 0.5em 2% 0 0;
			}
			
			.p_form_vertical.p_form .inlineleft {
				width: 28%;
				float: left;
				padding: 0.5em 2% 0 0;
			}
			
			
			.p_form_vertical.p_form .inlineright {
				width:90%;
				float: left;s
			}



/* select filters */
.select_filter_container {
	position: relative;
}

	.select_filter_container .select_filter_dropdown {
		position: absolute;
		width: 100%;
		top: 100%;
		margin-top: -1px;
		z-index: 1000;
		opacity: 0;
		pointer-events: none;		
	}
	
		.select_filter_container.active .select_filter_dropdown {
			display: block;
			opacity: 1;
			pointer-events: all;
		}

		.p_form .fld .select_filter_container .select_filter {
			position: relative;
			color: #000;
			text-decoration: none;
			display: inline-block;
			cursor: pointer;
		}
		
			.p_form .fld a.select_filter span {
				cursor: pointer;
				box-sizing: border-box;
				padding-right: 20px;
				display: inline-block;
				line-height: 1.2;
			}

		.p_form .fld .select_filter_container.active .select_filter {
			border-bottom-width: 0;
			border-bottom-left-radius: 0;
			border-bottom-right-radius: 0;
		}

		.p_form .fld .select_filter_container.active .select_filter_dropdown {
			border-top-width: 0;
			border-top-left-radius: 0;
			border-top-right-radius: 0;
			padding-bottom: 0;
			padding-left: 0;
			padding-right: 0;
		}

			.p_form .fld .select_filter_container.active .select_filter_dropdown input.select_filter_term {
				margin-left: .5em;
				margin-right: .5em;
				width: calc(100% - 1em);
			}		

		.select_filter_container ul {
			list-style-type: none;
			padding: 0;
			margin-bottom: 0;
			max-height: 150px;
			max-height: max(150px, 50vh);
			overflow: auto;
		}
		
			.select_filter_container ul li {
				padding: .5em;
				line-height: 1.2;
				opacity: .7;
				cursor: pointer;
			}
			
				.select_filter_container ul li[disabled] {
					pointer-events: none;
				}
				
					.select_filter_container ul li[disabled] span {
						opacity: .7;
					}
			
				.select_filter_container ul li.hover {
					background-color: rgba(238, 238, 238, .8);
					opacity: 1;
				}

				.select_filter_container ul li:not([disabled]):hover,
				.select_filter_container ul li.selected {
					background-color: #eee;
					opacity: 1;
				}
				
				
				.select_filter_container ul li[data-always][disabled] {
					background-image: linear-gradient(#afafaf 50%, #afafaf 100%);
					padding: 1px 0 0;
					height: 0;
				}



		.select_filter_container .select_filter > .chevron::after {
			font-size:13px;
			color:#888;
			cursor:pointer;
			line-height:20px;
		
			content: url("data:image/svg+xml;charset=UTF-8, <svg class='reader-arrow h-100 ma0 pa0' width='24' height='24' viewBox='0 0 24 24' version='1.1' xmlns='http://www.w3.org/2000/svg'><path stroke='none' stroke-width='0' stroke-linecap='round' stroke-linejoin='round' stroke-miterlimit='10' fill='%23888888' d='M 9.07,17.44 L 14.4,12.1 14.4,12.1 C 14.6,11.91 14.6,11.59 14.4,11.4 L 9.09,6.08 9.09,6.08 C 8.7,5.7 8.7,5.08 9.09,4.69 L 9.09,4.69 9.09,4.69 C 9.47,4.31 10.09,4.31 10.47,4.69 L 16.85,11.07 16.85,11.07 C 17.24,11.46 17.24,12.09 16.85,12.49 L 10.49,18.85 10.49,18.85 C 10.09,19.24 9.46,19.24 9.07,18.85 L 9.07,18.85 9.07,18.85 C 8.68,18.46 8.68,17.83 9.07,17.44 Z M 9.07,17.44'></path></svg>");
			position: absolute;
			top: 5px;
			right: 8px;
			width: 24px;
			height: 24px;
			box-sizing: border-box;
			transform: rotate(90deg);
			transition:all .3s ease-in-out;
			display: block;
		}
		
			.select_filter_container.active .select_filter > .chevron::after {
				transform:rotate(-90deg);
			}
		
		
				.select_filter_container ul li.unused {
					display: none;
				}


@media (max-width: 1024px) {
	#mainformContainer {
		width: 100%;
	}

	p_form {
		max-width: 800px;
	}

		p_form .fld_left, p_form .fld_right {
			position: relative;
			width: 100%;
			float: none;
			text-align: left;
		}
		
			p_form .fld_right.checkbox label {
				display: flex;
			}
			
			
			p_form .fld_left {
				margin: 0 0 0.5em;
				padding: 0;
			}
			
			p_form .fld_check.checkbox {
				display: flex;
			}
			
			p_form .inlinecheck {
				width: 20px;
				float: left;
				padding: 0.5em 2% 0 0;
			}
			
			p_form .inlineleft {
				width: 28%;
				float: left;
				padding: 0.5em 2% 0 0;
			}
			
			
			p_form .inlineright {
				width:90%;
				float: left;s
			}

}