input:focus:required:invalid, textarea:focus:required:invalid {
	border: 1px solid #CC0000;
	box-shadow: none;
}

input:required:valid, textarea:required:valid {
	border: 1px solid #CCCCCC;
}

/* Custom checkbox & radio */

input[type="checkbox"], input[type="radio"] {
/* input[type="radio"] { */
	appearance: none;
	-moz-appearance: none;
	-webkit-appearance: none;
	border: 0;
	cursor: pointer;
	height: 18px;
	width: 18px;
	box-shadow: 0 0 0 1px #CCCCCC inset;
	padding: 0;
	min-height: 0;
	color: #29BFFF;
}

input[type="radio"] {
	border-radius: 50%;
}

.checkbox-label-container {
	display: flex;
	align-items: center;
}

.checkbox-label-container input {
	margin: 0 5px 0 0;
}

.checkbox-label-container label {
	margin: 0;
}

/* Checkbox switch */

.switch {
	position: relative;
	display: inline-block;
	width: 40px;
	height: 22px;
}

.switch input {
	opacity: 0;
	width: 0;
	height: 0;
}

.switch .slider {
	position: absolute;
	cursor: pointer;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	-webkit-transition: .4s;
	transition: .4s;
	border: 1px solid #CCCCCC;
	background-color: #CCCCCC;
}

.switch .slider:before {
	position: absolute;
	content: "";
	height: 12px;
	width: 14px;
	left: 4px;
	bottom: 4px;
	background-color: #FFFFFF;
	-webkit-transition: .4s;
	transition: .4s;
}

.switch input:checked:disabled + .slider {
	border: 1px solid #28A745;
	background-color: #28A745;
}

.switch input:checked + .slider {
	background-color: #337AB7;
}

.switch input:checked + .slider:before {
	-webkit-transform: translateX(16px);
	-ms-transform: translateX(16px);
	transform: translateX(16px);
}

label {
	cursor: pointer;
	vertical-align: middle;
}

.hide { display: none; }
.c_pointer { cursor: pointer!important; }
.c_arrow { cursor: default!important; }
.h_underline:hover { text-decoration: underline; }
.hint {
	display: block;
	font-size: 12px;
	color: #ABABAB;
}

select.btn.big {
	display: block;
	background: #FFFFFF url("../images/caret_down.svg") no-repeat right;
	background-position: right 10px center;
	background-size: 12px;
	-moz-appearance: none;
    -webkit-appearance: none;
    appearance: none;
}

select.btn.big option {
	background-color: #FFFFFF;
}

/* Error pages */

.error-page {
	background-color: #F8F8F8;
	text-align: center;
	color: #253241;
}

.error-page .container-fluid {
	margin-top: 200px;
}

.error-page h1 {
	font-size: 120px;
}

.error-page-404 {
	
}