.input{
	margin-bottom:15px;
}

input[type=text], input[type=password], input[type=email],
input[type=tel], input[type=url], input[type=number], input[type=search], textarea, select{
	width:100%;
	padding:8px;
	color:#333;
	font-size:16px;
	line-height:20px;
	font-weight:400;
	background-color:#FFF;
	border:1px solid #CBCBCB;
	-webkit-appearance: none;
	border-radius:5px;
	box-sizing:border-box;
}
@media only screen and (max-width:400px){
	input[type=text], input[type=password], input[type=email],
	input[type=tel], input[type=url], input[type=number], input[type=search], textarea{
		font-size:14px;
		line-height:18px;
	}
}
textarea{
	resize:vertical;
	margin-top:25px;
}

/* inputfield error */
input[type=text].error, input[type=password].error, input[type=email].error,
input[type=tel].error, input[type=url].error, input[type=number].error, input[type=search].error, textarea.error{
	border-color:#c61212;
}

/* error output */
.formerrors{
	color: #FFF;
	background-color: #c22f2f;
	padding: 15px 15px 15px 15px;
	width: 95%;
	font-size: 14px;
	line-height: 20px;
	margin: 15px auto 15px auto;
}

/* labels */
label{
	font-size:16px;
	line-height:20px;
	margin-bottom:5px;
	display:block;
}

/* radiobuttons */
.radiogroup{
	margin-bottom:10px;
}

.radiogroup label{
	display:inline;
	margin-right:20px;
	font-size:14px;
	line-height:20px;
	/* text-transform:uppercase; */
	font-weight:400;
	color:#333;
}
.radiogroup label small{
	display:block;
	font-size:0.8em;
	color:#666;
}

input[type=radio]:checked + label{color:#333;}

/* placeholder text (keep seperate!) */
input::-webkit-input-placeholder{ color:#BBB; }
input:-moz-placeholder{ color:#BBB; }
input::-moz-placeholder{ color:#BBB; }
input:-ms-input-placeholder{ color:#BBB; }
input[type=text].placeholder, input[type=password].placeholder, input[type=email].placeholder, input[type=search].placeholder,
input[type=tel].placeholder, input[type=url].placeholder, input[type=number].placeholder{
	color:#BBB;
}

input[type=number]::-webkit-outer-spin-button,
input[type=number]::-webkit-inner-spin-button {
    -webkit-appearance:none;
    margin:0;
}

/* /////////////////////////////////////////////////////////////////////// SUBMIT BUTTON */
input[type=submit]{
	margin-top:25px;
	padding:9px 15px 10px 15px;
	font-size:14px;
	line-height:16px;
	font-weight:600;
	line-height:20px;
}
input[type=submit]:hover{
}


/* /////////////////////////////////////////////////////////////////////// RADIO / CHECKBOX SKINNING */
.checkbox{
	margin-bottom:5px;
}

input[type=radio] +label,
input[type=checkbox] +label{
	display:inline-block;
	font-size:16px;
	line-height:20px;
	cursor:pointer;
	position:relative;
	text-transform:none;
	padding-left:25px;
	padding-top:10px;
	padding-bottom:10px;
	margin-bottom:0;
	margin-right:12px;
}
input[type=radio],
input[type=checkbox]{
	display:none;
}

input[type=radio] +label:before,
input[type=checkbox] +label:before{
	content:'';
	display:inline-block;
	width:20px;
	height:20px;
	margin-right:10px;
	position:absolute;
	left:0;
	top:10px;
	background-image:url('../img/radio_checkbox.svg');
	background-size:120px 44px;
	background-repeat:no-repeat;
}
/* svg */
html.svg input[type=radio] +label:before,
html.svg input[type=checkbox] +label:before{
	background-image:url('../img/radio_checkbox.svg');
}

input[type=checkbox] + label span{
	padding-left:20px;
	color:#777;
	white-space:nowrap;
	pointer-events:none;
}

@media only screen and (max-width:400px){
	input[type=checkbox] +label{
		line-height:20px;
		font-size:14px;
	}
}

/* checkbox */
input[type=checkbox] + label:before{ background-position:0px 0px; }	/* normal */
input[type=checkbox]:checked + label:before, input[type=checkbox].error:checked + label:before{ background-position:-50px 0px; }	/* checked */
input[type=checkbox].error + label:before{ background-position:-75px 0px; }	/* error */
input[type=checkbox].disabled + label:before{ background-position:-100px 0px; }	/* disabled */
input[type=checkbox].disabled,
input[type=checkbox].disabled +label{ pointer-events:none; }

/* radiobutton */
input[type=radio] + label:before{ background-position:0px -25px; }	/* normal */
input[type=radio]:checked + label:before, input[type=radio].error:checked + label:before{ background-position:-50px -25px; }	/* checked */
input[type=radio].error + label:before{ background-position:-75px -25px; }	/* error */
html.ie7 input[type=radio] + label:before,
html.ie8 input[type=radio] + label:before{ position:relative; top:-3px; }

/* revert for IE7/8 */
html.ie7 input[type=radio], html.ie8 input[type=radio],
html.ie7 input[type=checkbox], html.ie8 input[type=checkbox]{ display:inline-block; }
html.ie7 input +label:before, html.ie8 input +label:before{ display:none; }
html.ie7 input +label, html.ie8 input +label{
	display:inline;
	padding-left:0;
	margin-right:10px;
}


/* /////////////////////////////////////////////////////////////////////// SELECT DROPDOWN SKINNING */
select {
	-webkit-appearance:none;
	-moz-appearance:none;
	appearance:none;
} 
/*target Internet Explorer 9 and Internet Explorer 10:*/
@media screen and (min-width:0\0) { 
	select{
		background:none;
		padding: 5px;
	}
}