/* ------------------------------------------------------------------------------------------------------------------------ */
/* FORMS																													*/

.form .row-col {
	margin: 0 -10px 0 -10px;
}

.form .row-col + .row-col {
	margin-top: 20px;
}

.form div[class*="col-"], .form div[class^="col-"] {
	padding: 0 10px;
}

.form .fieldname {
	/*width: auto;*/
	margin: 0;
	vertical-align: middle;
	/*float: none;*/
	display: block;
	line-height: 30px;
	text-align: left;
}

.form .fieldname label {
	margin: 0 20px 0 0;
	display: block;
	vertical-align: middle;
}

.form label {
	margin: 0 5px 0 0;
	display: inline-block;
	cursor: pointer;
}

.form .required {
	color: #e51728;
}

/* ---------------------------------------------------------------------------- */
/* FORMS - GROUP																*/

.form .groupVertical, .form .groupHorizontal {
	display: inline-block;
}

.form .groupVertical .group {
	display: block;
	margin: 0 0 10px 0;
}

.form .groupVertical .group:last-child {
	margin: 0;
}

.form .groupHorizontal .group {				
	display: inline-block;
	margin: 0 10px 0 0;
}

.form .groupHorizontal .group:last-child {				
	margin: 0;
}

/* ---------------------------------------------------------------------------- */
/* FORMS - INPUTS																*/

.form input[type="text"],
.form input[type="password"],
.form input[type="email"],
.form input[type="number"],
.form input[type="tel"],
.form input[type="date"],
.form input[type="time"] {
	width: 100%;
	height: 30px;
	border: 1px solid #cccccc;
	-webkit-border-radius: 3px;
	-moz-border-radius: 3px;
	border-radius: 3px;
	-webkit-box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.1);
	-moz-box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.1);
	box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.1);
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	margin: 0;
	padding: 0 10px;
	display: block;
	outline: none;
	line-height: 30px;

	-webkit-transition: border 0.2s ease-in-out, box-shadow 0.2s ease-in-out;
	-moz-transition: border 0.2s ease-in-out, box-shadow 0.2s ease-in-out;
	-o-transition: border 0.2s ease-in-out, box-shadow 0.2s ease-in-out;
	transition: border 0.2s ease-in-out, box-shadow 0.2s ease-in-out;
}

.form input[type="text"]:focus,
.form input[type="password"]:focus,
.form input[type="email"]:focus,
.form input[type="number"]:focus,
.form input[type="tel"]:focus,
.form input[type="date"]:focus,
.form input[type="time"]:focus {
	border: 1px solid #73bfe5;
	-webkit-box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.1), 0 0 0 1px #73bfe5;
	-moz-box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.1), 0 0 0 1px #73bfe5;
	box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.1), 0 0 0 1px #73bfe5;
}

/* ---------------------------------------------------------------------------- */
/* FORMS - SELECT																*/

.form select {
	width: 100%;
	height: 30px;
	background: #ffffff;
	background: -moz-linear-gradient(top,  #ffffff 0%, #f2f2f2 100%);
	background: -webkit-linear-gradient(top,  #ffffff 0%,#f2f2f2 100%);
	background: linear-gradient(to bottom,  #ffffff 0%,#f2f2f2 100%);
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#ffffff', endColorstr='#f2f2f2',GradientType=0 );
	border: 1px solid #cccccc;
	-webkit-border-radius: 3px;
	-moz-border-radius: 3px;
	border-radius: 3px;
	-webkit-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.2);
	-moz-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.2);
	box-shadow: 0 1px 3px rgba(0, 0, 0, 0.2);
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	padding: 8px 10px;
	display: block;
	line-height: 30px;

	-webkit-transition: border 0.2s ease-in-out;
	-moz-transition: border 0.2s ease-in-out;
	-o-transition: border 0.2s ease-in-out;
	transition: border 0.2s ease-in-out;
}

.form select:focus {
	border: 1px solid #73bfe5;
	-webkit-box-shadow: 0 0 0 1px #73bfe5;
	-moz-box-shadow: 0 0 0 1px #73bfe5;
	box-shadow: 0 0 0 1px #73bfe5;
}

/* ---------------------------------------------------------------------------- */
/* FORMS - TEXTAREA																*/

.form textarea {
	width: 100%;
	height: 140px;
	border: 1px solid #cccccc;
	-webkit-border-radius: 3px;
	-moz-border-radius: 3px;
	border-radius: 3px;
	-webkit-box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.1);
	-moz-box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.1);
	box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.1);
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	padding: 8px 10px;
	display: block;
	resize: vertical;
	color: #333333;
	font-size: 1.0em;
	line-height: 1.2em;
	font-family: Arial, Helvetica, sans-serif;
	outline: none;

	-webkit-transition: border 0.2s ease-in-out, box-shadow 0.2s ease-in-out;
	-moz-transition: border 0.2s ease-in-out, box-shadow 0.2s ease-in-out;
	-o-transition: border 0.2s ease-in-out, box-shadow 0.2s ease-in-out;
	transition: border 0.2s ease-in-out, box-shadow 0.2s ease-in-out;
}

.form textarea:focus {
	border: 1px solid #73bfe5;
	-webkit-box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.1), 0 0 0 1px #73bfe5;
	-moz-box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.1), 0 0 0 1px #73bfe5;
	box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.1), 0 0 0 1px #73bfe5;
}

/* ---------------------------------------------------------------------------- */
/* FORMS - CHECKBOX	& RADIO BUTTON												*/

.form .checkbox, .form .radio {
	padding: 0 0 0 20px;
}

.form .checkbox:first-child, .form .radio:first-child {
	margin: 2px 0 0 0;
}

.form .checkbox label, .form .radio label {
	-webkit-border-radius: 3px;
	-moz-border-radius: 3px;
	border-radius: 3px;
	margin: 0 0 0 -20px;
	padding: 4px 6px 4px 28px;
	display: inline-block;
}

.form .checkbox label:hover, .form .radio label:hover {
	background: rgba(0, 0, 0, 0.1);
	cursor: pointer;
}

.form .checkbox input[type="checkbox"], .form .radio input[type="radio"] {
	margin: 3px 0 0 -22px;
	float: left;
	display: block;
	vertical-align: middle;
}

/* ---------------------------------------------------------------------------- */
/* FORMS - INLINE CHECKBOX & RADIO BUTTON										*/

.form .checkbox-inline, .form .radio-inline {
	margin: 2px 0 0 10px;
	padding: 0 0 0 20px;
	display: inline-block;
}

.form .checkbox-inline:first-child, .form .radio-inline:first-child {
	margin: 2px 0 0 0;
}

.form .checkbox-inline label, .form .radio-inline label {
	-webkit-border-radius: 3px;
	-moz-border-radius: 3px;
	border-radius: 3px;
	margin: 0 0 0 -20px;
	padding: 4px 6px 4px 28px;
	display: inline-block;
}

.form .checkbox-inline label:hover, .form .radio-inline label:hover {
	background: rgba(0, 0, 0, 0.1);
	cursor: pointer;
}

.form .checkbox-inline input[type="checkbox"], .form .radio-inline input[type="radio"] {
	margin: 3px 0 0 -22px;
	float: left;
	display: block;
	vertical-align: middle;
}

/* ---------------------------------------------------------------------------- */
/* FORMS - SWITCH																*/

.switch {
	width: 30px;
	height: 15px;
	background: #cccccc;
	background: rgba(0, 0, 0, 0.2);
	-webkit-border-radius: 10px;
	-moz-border-radius: 10px;
	border-radius: 10px;
	display: inline-block;
	position: relative;
	vertical-align: middle;
	cursor: pointer;

	-moz-transition: .25s ease-in-out;
	-webkit-transition: .25s ease-in-out;
	transition: .25s ease-in-out;
}

.switch .handler {
	width: 13px;
	height: 13px;
	background: #ffffff;
	-webkit-border-radius: 10px;
	-moz-border-radius: 10px;
	border-radius: 10px;
	-webkit-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.2);
	-moz-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.2);
	box-shadow: 0 1px 3px rgba(0, 0, 0, 0.2);
	display: block;
	position: absolute;
	top: 1px;
	left: 2px;

	-webkit-transition: .25s ease-in-out;
	-moz-transition: .25s ease-in-out;
	transition: .25s ease-in-out;
}

.switch.active {
	background: #a5d941;
}

.switch.active .handler {
	left: 16px;
}

/* ---------------------------------------------------------------------------- */
/* ERROR VALIDATION																*/

.form .stateError {
	color: red;
}

.form .stateError input[type="text"],
.form .stateError input[type="password"],
.form .stateError input[type="email"],
.form .stateError input[type="number"],
.form .stateError input[type="tel"],
.form .stateError input[type="date"],
.form .stateError input[type="time"] {
	background: #fdf3f2;
	border: 1px solid red;
	color: red;
}

.form .stateError select {
	background: #fdf3f2;
	border: 1px solid red;
	color: red;
}

.form .stateError textarea {
	background: #fdf3f2;
	border: 1px solid red;
	color: red;
}

.form .stateError .helptext {
	margin: 5px 0 -5px 0;
	color: red;
	font-size: 0.9em;
}

/* ---------------------------------------------------------------------------- */
/* SUCCESS VALIDATION															*/

.form .stateSuccess input[type="text"],
.form .stateSuccess input[type="password"],
.form .stateSuccess input[type="email"],
.form .stateSuccess input[type="number"],
.form .stateSuccess input[type="tel"],
.form .stateSuccess input[type="date"],
.form .stateSuccess input[type="time"] {
	border: 1px solid #c4d651;
}

.form .stateSuccess select {
	border: 1px solid #c4d651;
}

.form .stateSuccess textarea {
	border: 1px solid #c4d651;
}

/* ------------------------------------------------------------------------------------------------------------------------ */
/* BUTTONS																													*/

.btn, a.btn {
	width: 100%;
	height: 30px;
	border: 0;
	-webkit-border-radius: 3px;
	-moz-border-radius: 3px;
	border-radius: 3px;
	-webkit-box-shadow: 0 6px 3px -3px rgba(0, 0, 0, 0.2);
	-moz-box-shadow: 0 6px 3px -3px rgba(0, 0, 0, 0.2);
	box-shadow: 0 6px 3px -3px rgba(0, 0, 0, 0.2);
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	padding: 0 10px;
	display: inline-block;
	cursor: pointer;
	font-size: 1.143em;
	line-height: 30px;
	font-family: 'bebas_neue_regular', Arial, Helvetica, sans-serif;
	letter-spacing: 1px;
	text-align: center;
	text-decoration: none;
}

/* ---------------------------------------------------------------------------- */
/* DEFAULT BUTTON																*/

.btnDefault, a.btnDefault {
	background: #f2f2f2;	
	background: -webkit-gradient(linear, left top, right top, from(#f2f2f2), to(#d9d9d9)); /* Safari 4-5, Chrome 1-9 */
	background: -webkit-linear-gradient(left, #d9d9d9, #f2f2f2); /* Safari 5.1, Chrome 10+ */
	background: -moz-linear-gradient(left, #d9d9d9, #f2f2f2); /* Firefox 3.6+ */
	background: -ms-linear-gradient(left, #d9d9d9, #f2f2f2); /* IE 10 */
	background: -o-linear-gradient(left, #d9d9d9, #f2f2f2); /* Opera 11.10+ */
	color: #333333;
}

.btnDefault:hover, a.btnDefault:hover, .btnDefault:focus, a.btnDefault:focus {
	background: #7f4c99;	
	background: -webkit-gradient(linear, left top, right top, from(#e5e5e5), to(#cccccc)); /* Safari 4-5, Chrome 1-9 */
	background: -webkit-linear-gradient(left, #cccccc, #e5e5e5); /* Safari 5.1, Chrome 10+ */
	background: -moz-linear-gradient(left, #cccccc, #e5e5e5); /* Firefox 3.6+ */
	background: -ms-linear-gradient(left, #cccccc, #e5e5e5); /* IE 10 */
	background: -o-linear-gradient(left, #cccccc, #e5e5e5); /* Opera 11.10+ */
}

/* ---------------------------------------------------------------------------- */
/* PRIMARY BUTTON																*/

.btnPrimary, a.btnPrimary {
	background: #7f4c99;
	background: -moz-linear-gradient(left,  #7f4c99 0%, #8a53a6 100%);
	background: -webkit-linear-gradient(left,  #7f4c99 0%,#8a53a6 100%);
	background: linear-gradient(to right,  #7f4c99 0%,#8a53a6 100%);
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#7f4c99', endColorstr='#8a53a6',GradientType=1 );
	color: #ffffff;
}

.btnPrimary:hover, a.btnPrimary:hover, .btnPrimary:focus, a.btnPrimary:focus {
	background: #74468c;
	background: -moz-linear-gradient(left,  #74468c 0%, #7f4c99 100%);
	background: -webkit-linear-gradient(left,  #74468c 0%,#7f4c99 100%);
	background: linear-gradient(to right,  #74468c 0%,#7f4c99 100%);
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#74468c', endColorstr='#7f4c99',GradientType=1 );
}

/* ------------------------------------------------------------------------------------------------------------------------ */
/* CAPTCHA																													*/

.captcha {
	position: relative;
	padding-left: 165px;
}

.captcha img {
	width: auto;
	height: 30px;
	max-height: 100%;
	border-radius: 3px 0 0 3px;
	margin-left: -165px;
	float: left;
	overflow: hidden;
}

.captcha input[type="text"] {
	border-left-width: 0;
	border-radius: 0 3px 3px 0;
}

/* ---------------------------------------------------------------------------- */
/* CAPTCHA VERTICAL																*/

.captcha-vertical img {
	width: 100%;
	height: 30px;
	border-radius: 3px 3px 0 0;
	border: 1px solid #cccccc;
	border-bottom: 0;
	box-sizing: border-box;
}

.captcha-vertical input[type="text"] {
	border-top-width: 0;
	border-radius: 0 0 3px 3px;
}

/* ------------------------------------------------------------------------------------------------------------------------ */
/* ALERTS																													*/

.alert {
	background: #ffffff;
	-webkit-border-radius: 6px;
	-moz-border-radius: 6px;
	border-radius: 6px;
	padding: 10px;
	position: absolute;
	top: 50%;
	right: 10px;
	left: 10px;
	transform: translateY(-50%);
	color: #333333;
	text-align: center;
}

@media only screen and (min-width: 1441px) {
	/* -------------------------------------------------------------------------------------------------------------------- */
	/* FORMS																												*/

	.form .row-col {
		margin: 0 -10px 0 -10px;
	}

	/* ------------------------------------------------------------------------ */
	/* FORMS - INPUTS															*/

	.form input[type="text"],
	.form input[type="password"],
	.form input[type="email"],
	.form input[type="number"],
	.form input[type="tel"],
	.form input[type="date"],
	.form input[type="time"] {
		height: 40px;
		line-height: 40px;
	}

	/* ------------------------------------------------------------------------ */
	/* FORMS - SELECT															*/

	.form select {
		height: 40px;
		line-height: 40px;
	}

	/* -------------------------------------------------------------------------------------------------------------------- */
	/* BUTTONS																												*/
	
	.btn, a.btn {
		height: 40px;
		line-height: 40px;
	}

	/* -------------------------------------------------------------------------------------------------------------------- */
	/* CAPTCHA																												*/

	.captcha {
		padding-left: 220px;
	}

	.captcha img {
		height: 40px;
		margin-left: -220px;
	}

	/* ------------------------------------------------------------------------ */
	/* CAPTCHA VERTICAL															*/

	.captcha-vertical img {
		height: 40px;
	}
}

@media only screen and (max-width: 1440px) {
	/* -------------------------------------------------------------------------------------------------------------------- */
	/* FORMS																												*/

	.form .row-col {
		margin: 0 -10px 0 -10px;
	}

	/* -------------------------------------------------------------------------------------------------------------------- */
	/* BUTTONS																												*/
	
	.btn, a.btn {
		height: 30px;
		line-height: 30px;
	}

	/* -------------------------------------------------------------------------------------------------------------------- */
	/* CAPTCHA																												*/

	.captcha {
		padding-left: 165px;
	}

	.captcha img {
		height: 30px;
		margin-left: -165px;
	}

	/* ------------------------------------------------------------------------ */
	/* CAPTCHA VERTICAL															*/

	.captcha-vertical img {
		height: 30px;
	}
}

@media only screen and (max-width: 1024px) {
	/* -------------------------------------------------------------------------------------------------------------------- */
	/* FORMS																												*/

	.form .row-col {
		margin: 0 -10px 0 -10px;
	}

	/* -------------------------------------------------------------------------------------------------------------------- */
	/* BUTTONS																												*/
	
	.btn, a.btn {
		height: 30px;
		line-height: 30px;
	}
}

@media only screen and (max-width: 768px) {
	/* -------------------------------------------------------------------------------------------------------------------- */
	/* FORMS																												*/
	
	form .row-col {
		margin: 0 -10px 20px -10px;
	}

	.form div[class*="col-"] {
		padding: 0 10px;
	}

	.form .group div[class*="col-"] {
		margin: 20px 0 0 0;
	}

	.form .group div[class*="col-"]:first-child {
		margin: 0;
	}
	
	.form .groupVertical, .form .groupHorizontal {
		display: block;
	}
	
	.form .groupVertical .group, .form .groupHorizontal .group {
		display: block;
		margin: 0 0 10px 0;
	}
	
	.form .fieldname {
		width: auto;
		margin: 0 0 5px 0;
		float: none;
		display: block;
		line-height: normal;
	}

	/* ------------------------------------------------------------------------ */
	/* FORMS - INPUTS															*/

	.form input[type="text"],
	.form input[type="password"],
	.form input[type="email"],
	.form input[type="number"],
	.form input[type="tel"],
	.form input[type="date"],
	.form input[type="time"] {
		height: 40px;
		line-height: 40px;
	}

	/* ------------------------------------------------------------------------ */
	/* FORMS - SELECT															*/

	.form select {
		height: 40px;
		line-height: 40px;
	}

	/* ------------------------------------------------------------------------ */
	/* FORMS - SWITCH															*/

	.switch {
		width: 40px;
		height: 20px;
	}

	.switch .handler {
		width: 18px;
		height: 18px;
		left: 1px;
	}

	.switch.active .handler {
		left: 21px;
	}
	
	/* -------------------------------------------------------------------------------------------------------------------- */
	/* BUTTONS																												*/
	
	.btn, a.btn {
		height: 40px;
		font-size: 1.500em;
		line-height: 40px;
	}

	/* -------------------------------------------------------------------------------------------------------------------- */
	/* CAPTCHA																												*/

	.captcha {
		padding-left: 220px;
	}

	.captcha img {
		height: 40px;
		margin-left: -220px;
	}

	/* ------------------------------------------------------------------------ */
	/* CAPTCHA VERTICAL															*/

	.captcha-vertical img {
		height: 40px;
	}
}

@media only screen and (max-width: 480px) {
	/* -------------------------------------------------------------------------------------------------------------------- */
	/* FORMS																												*/
	
	form .row-col {
		margin: 0 -10px 20px -10px;
	}

	.form div[class*="col-"] {
		padding: 0 10px;
	}

	/* -------------------------------------------------------------------------------------------------------------------- */
	/* CAPTCHA																												*/

	.captcha {
		padding-left: 0px;
	}

	.captcha img {
		height: auto;
		max-height: none;
		width: 100%;
		border-radius: 3px 3px 0 0;
		margin-left: 0px;
		float: none;
	}

	.captcha input[type="text"] {
		border-top: 0;
		border-left-width: 1px; 
		border-radius: 0 0 3px 3px;
	}
}