/**	
 * Often used items.
 */
.__checkMark::before{
	content:"";
	height:16px;
	width:8px;
	box-sizing:border-box;
	border-right:2px solid currentColor;
	border-bottom:2px solid currentColor;
	border-top:0;
	border-left:0;
	transform:translate(0%,-55%) rotate(45deg) scale(0.85);
	transform-origin:50% 50%;
	position:absolute;
	left:5px;
	top:50%;
}
.__iconClose{
	display:block;
	position:absolute;
	height:40%;
	width:40%;
	left:50%;
	top:50%;
	transform:translate(-50%,-50%) rotate(45deg);
}
.__iconClose::before,
.__iconClose::after{
	height:2px;
	width:80%;
	background-color:currentColor;
	content:"";
	position:absolute;
	left:50%;
	top:50%;
	border-radius:1px;
}
.__iconClose::before{
	transform:translate(-50%,-50%);
}
.__iconClose::after{
	transform:translate(-50%,-50%) rotate(90deg);
}
.__iconClose.__iconOpenClose{
	transform:translate(-50%,-50%) rotate(0deg);
	transition:transform .3s;
}
.__iconArrow--upDown.__iconOpenClose{
	transition:transform .3s;
}
input[type="checkbox"]:checked ~ .__respondsToCheckbox .__iconClose.__iconOpenClose{
	transform:translate(-50%,-50%) rotate(45deg);
}
input[type="checkbox"]:checked ~ .__respondsToCheckbox .__iconArrow--upDown.__iconOpenClose{
	transform:translate(-50%,-50%) rotate(180deg);
}
input[type="checkbox"] ~ .__showIfCheckboxChecked{
	display:none;
}
input[type="checkbox"]:checked ~ .__showIfCheckboxChecked{
	display:block;
}
.collapsibleItem{
	display:flex;
	flex-flow:column nowrap;
	position:relative;
	border-bottom:1px solid var(--lightGrey);
	padding:0;
	position:relative;
}
.collapsibleItem input[type="checkbox"]{
	position:absolute;
	left:-10px;
	top:50%;
	opacity:0;
}
.collapsibleItem--header{
	padding:16px 0;
	width:100%;
}
.collapsibleItem--header label{
	display:flex;
	flex-flow:row;
	align-items:center;
	justify-content:flex-start;
	padding:0 62px 0 0;
	position:relative;
	box-sizing:border-box;
	width:100%;
}
.collapsibleItem--header label .labelText{
	font:var(--tech);
	line-height:110%;
	font-size:1.8em;
	text-transform:uppercase;

}
.collapsibleItem--header label .labelIcon{
	display:block;
	position:absolute;
	top:50%;
	left:100%;
	height:42px;
	width:42px;
	transform:translate(-100%, -50%);
}
.collapsibleItem--body p{
	padding:16px 0;
	font:var(--main);
	font-size:1.4em;
}
.collapsibleItem--body p a{
	text-decoration:underline;
	font-weigth:600;
}
/**	
 * Form content.
 */
.inputRow{
	display:flex;
	flex-flow:row nowrap;
	align-items:flex-start;
	justify-content:flex-start;
	height:56px;
	width:100%;
	margin-bottom:8px;
}
.inputFieldWrapper{
	height:100%;
	width:100%;
	position:relative;
	box-sizing:border-box;
	padding:0;
	margin:0;
}
.inputRow.__splitFields .inputFieldWrapper{
	flex-grow:1;
	flex:0 0 calc(50% - 4px);
	margin-right:8px;
}
.inputRow.__splitFields .inputFieldWrapper::last-child{
	margin-right:0px;
}
.inputFieldWrapper input[type="text"],
.inputFieldWrapper input[type="email"],
.inputFieldWrapper input[type="phone"],
.inputFieldWrapper textarea{
	box-sizing:border-box;
	padding:3px 12px;
	font:var(--main);
	font-size:1.5em;
	width:100%;
	height:100%;
	border:none;
	background-color:#fff;
	margin:0;
}
.inputFieldWrapper input[type="text"]:focus,
.inputFieldWrapper input[type="email"]:focus,
.inputFieldWrapper input[type="phone"]:focus,
.inputFieldWrapper textarea:focus,
.inputFieldWrapper select:focus{
	outline: none ;
}
.inputFieldWrapper select{
	box-sizing:border-box;
	padding:3px 12px;
	font:var(--main);
	font-size:1.5em;
	width:100%;
	height:100%;
	border:none;
	background-color:#fff;
	margin:0;
	position:relative;
	appearance:none;
}
.inputFieldWrapper.__hasSelect select + .__selectIcon{
	content:"";
	position:absolute;
	display:block;
	right:12px;
	top:50%;
	height:10px;
	width:10px;
	background-color:transparent;
	transform:translate(-50%,-50%) rotate(-45deg);
	transition:transform .3s ease-in-out;
	z-index:2;
}
.__selectIcon::before{
	content:"";
	width:2px;
	height:100%;
	position:absolute;
	left:0px;
	bottom:0px;
	border-radius:2px;
	background-color:currentColor;
}
.__selectIcon::after{
	content:"";
	height:2px;
	width:100%;
	position:absolute;
	left:0px;
	bottom:0px;
	border-radius:2px;
	background-color:currentColor;
}

.inputFieldWrapper.__hasSelect select:open + .__selectIcon{
	transform:translate(-50%,-50%) rotate(135deg);	
}
.inputFieldWrapper.__hasCheckbox{
	overflow:hidden;
	height:auto;
}

.inputFieldWrapper.__hasCheckbox input[type="checkbox"] {
	position:absolute;
	left:-10000px;
	top:50%;
	opacity:0;
	transform:translate(0,-50%);
}
.inputFieldWrapper.__hasCheckbox input[type="checkbox"] + label.checkboxLabel{
	position:relative;
	display:block;
	padding:12px 0 12px 32px;
	box-sizing:border-box;
	width:100%;
}
.inputFieldWrapper.__hasCheckbox input[type="checkbox"] + label.checkboxLabel .description{
	font:var(--main);
	font-size:1.4em;
}
.inputFieldWrapper.__hasCheckbox input[type="checkbox"] + label.checkboxLabel .description a{
	text-decoration:underline;
}
.inputFieldWrapper.__hasCheckbox input[type="checkbox"] + label.checkboxLabel .check{
	position:absolute;
	top:12px;
	left:0px;
	transform:translate(0%,0%);
	height:20px;
	width:20px;
	box-sizing:border-box;
	border:1px solid var(--midGrey);
	background-color:var(--white);
}
.inputFieldWrapper.__hasCheckbox input[type="checkbox"]:checked + label.checkboxLabel .check{
	border:1px solid var(--black);
}
.inputFieldWrapper.__hasCheckbox input[type="checkbox"] + label.checkboxLabel .check::before{
	opacity:0;
	left:50%;
	top:33%;
	transform:translate(-40%,-50%) rotate(45deg);
	transition:opacity .1s ease-in;
}
.inputFieldWrapper.__hasCheckbox input[type="checkbox"]:checked + label.checkboxLabel .check::before{
	opacity:1;
}

.inputFieldWrapper.__hasCheckbox input[type="checkbox"]:disabled + label.checkboxLabel .check{
	opacity:.3;
}
.inputFieldWrapper.__hasCheckbox input[type="checkbox"]:checked:disabled + label.checkboxLabel .check::before{
	opacity:.5;
}

.inputFieldWrapper.__hasContent{
	color:var(--black);
}
.inputFieldWrapper.__hasContent input[type="text"]{
	color:var(--black);
}
.inputFieldWrapper::before{
	content:"";
	display:block;
	height:100%;
	width:0px;
	position:absolute;
	right:100%;
	top:0px;
	z-index:2;
	width:0px;
	background-color:var(--coralRed);
	transition:width .2s ease-in;
}
.inputFieldWrapper.__hasError::before{
	width:3px;
}
.inputFieldWrapper.__hasCheckbox::before,
.inputFieldWrapper.__hasCheckbox.__hasError::before{
	display:none;
}
.inputFieldWrapper.__hasCheckbox.__hasError .check{
	border:2px solid var(--coralRed) !important;
}
.inputFieldWrapper.__hasCheckbox input[type="checkbox"] + label.checkboxLabel .check::before{
	content:"";
	height:16px;
	width:8px;
	box-sizing:border-box;
	border-right:2px solid var(--black);
	border-bottom:2px solid var(--black);
	border-top:0;
	border-left:0;
	transform:translate(0%,-55%) rotate(45deg) scale(0.85);
	transform-origin:50% 50%;
	position:absolute;
	left:5px;
	top:50%;
}

/**	
 * Additions for inputFieldWrappers 
 * for contact forms.
 */
.inputFieldWrapper.__forContact{
	width:100%;
	display:flex;
	flex-flow:column nowrap;
}
.inputFieldWrapper.__forContact label{
	display:block;
	padding:12px 0 8px 0;
	font:var(--subline);
	text-transform:uppercase;
	font-size:15px;
}
.inputFieldWrapper.__forContact input[type="text"],
.inputFieldWrapper.__forContact input[type="email"],
.inputFieldWrapper.__forContact input[type="phone"],
.inputFieldWrapper.__forContact select,
.inputFieldWrapper.__forContact textarea{
	border:1px solid var(--midGrey);
	margin-bottom:8px;
}
.inputFieldWrapper.__forContact input[type="text"]:focus,
.inputFieldWrapper.__forContact input[type="email"]:focus,
.inputFieldWrapper.__forContact input[type="phone"]:focus,
.inputFieldWrapper.__forContact select:focus,
.inputFieldWrapper.__forContact textarea:focus{
	border:1px solid var(--black)
}

.inputFieldWrapper.__forContact input[type="text"],
.inputFieldWrapper.__forContact input[type="email"],
.inputFieldWrapper.__forContact input[type="phone"],
.inputFieldWrapper.__forContact select{
	height:52px;
}
.inputFieldWrapper.__forContact textarea{
	height:78px;
	padding-top:12px;
	padding-bottom:12px;
	resize:none;
}
.inputFieldWrapper.__forContact.__lastInput{
	margin-bottom:16px;
}

.inputFieldWrapper.__forContact.__captchaWrapper{
	margin-bottom:32px;
}
.inputFieldWrapper.__forContact.__holdsSubmit{}

.inputFieldWrapper.__forContact.__holdsSubmit input[type="submit"]{
	height:52px;
	background-color:var(--black);
	color:var(--white);
	border:1px solid var(--black);
	font:var(--subline);
	font-weight:400;
	font-size:15px;
	text-transform:uppercase;
}
.inputFieldWrapper.__forContact.__holdsSubmit input[type="submit"]:disabled{
	border:1px solid var(--midGrey);
	background-color:transparent;
	color:var(--midGrey);
	
}


@media only screen and (max-width: 1024px) {
	.inputRow{
		height:52px;
	}
	.inputRow.__hasCheckbox{
		height:auto;
	}
	.inputFieldWrapper.__hasCheckbox{
		overflow:hidden;
		height:auto;
	}
}