.has-float-label {
	display: block;
	position: relative
}

.has-float-label label, .has-float-label > span {
	position: absolute;
	cursor: text;
	opacity: 1;
	-webkit-transition: all .2s;
	transition: all .2s;
	top: -.99em;
	left: 0rem;
	z-index: 3;
	padding: 0 1px;
	color: #9f9f9f;
	font-size: 14px;
	font-weight: 400;
	line-height: 27px;
	background: white;
}

.has-float-label label::after, .has-float-label > span::after {
	content: " ";
	display: block;
	position: absolute;
	background: #fff;
	height: 2px;
	top: 50%;
	left: -.2em;
	right: -.2em;
	z-index: -1;

}

.has-float-label .form-control::-webkit-input-placeholder {
	opacity: 1;
	-webkit-transition: all .2s;
	transition: all .2s
}

.has-float-label .form-control:placeholder-shown:not(:focus)::-webkit-input-placeholder {
	opacity: 0
}

.has-float-label .form-control:not(:focus) + * {
	font-size: 150%;
	opacity: .5;
	top: .3em;
	color: #c6c6c6;
	font-size: 21px;
	font-weight: 700;
	line-height: 45px;
	background: transparent;
}

.input-group .has-float-label {
	display: table-cell
}

.input-group .has-float-label .form-control {
	border-radius: .25rem
}

.input-group .has-float-label:not(:last-child), .input-group .has-float-label:not(:last-child) .form-control {
	border-bottom-right-radius: 0;
	border-top-right-radius: 0;
	border-right: 0
}

.input-group .has-float-label:not(:first-child), .input-group .has-float-label:not(:first-child) .form-control {
	border-bottom-left-radius: 0;
	border-top-left-radius: 0
}


input[type=checkbox] + label {
	display: block;
	margin: 0.2em;
	cursor: pointer;
	padding: 0.2em;
}

input[type=checkbox] {
	display: none;
}

input[type=checkbox] + label:before {
	content: "\2714";
	border: 0.1em solid #02acbe;
	border-radius: 0.2em;
	display: inline-flex;
	align-items: center;
	width: 20px;
	height: 20px;
	padding-left: 0.1em;
	margin-right: 0.2em;
	vertical-align: bottom;
	color: transparent;
	transition: .2s;
}

input[type=checkbox] + label:active:before {
	transform: scale(0);
}

input[type=checkbox]:checked + label:before {
	background-color: #02acbe;
	border-color: #02acbe;
	color: #fff;
}

input[type=checkbox]:disabled + label:before {
	transform: scale(1);
	border-color: #aaa;
}

input[type=checkbox]:checked:disabled + label:before {
	transform: scale(1);
	background-color: #bfb;
	border-color: #bfb;
}

input[type=checkbox].grey + label {
	display: block;
	margin: 0.2em;
	cursor: pointer;
	padding: 0.2em;
	color: #c6c6c6;
}

input[type=checkbox].grey + label a {
	color: #c6c6c6;
	text-decoration:underline;
}

input[type=checkbox].grey + label a:hover {
	color: #aaaaaa;
	text-decoration: underline;
}

input[type=checkbox].grey {
	display: none;
}

input[type=checkbox].grey + label:before {
	content: "\2714";
	border: 3px solid #c6c6c6;
	border-radius: 7px;
	display: inline-block;
	width: 40px;
	height: 40px;
	padding-left: 8px;
	padding-bottom: 0.3em;
	margin-right: 17px;
	vertical-align: middle;
	color: transparent;
	transition: .2s;
	font-size: 24px;
}

input[type=checkbox].grey + label:active:before {
	transform: scale(0);
}

input[type=checkbox].grey:checked + label:before {
	background-color: #02acbe;
	border-color: #02acbe;
	color: #fff;
}

input[type=checkbox].grey:disabled + label:before {
	transform: scale(1);
	border-color: #aaa;
}

input[type=checkbox].grey:checked:disabled + label:before {
	transform: scale(1);
	background-color: #bfb;
	border-color: #bfb;
}

.boxed label {
	min-width: 175px;
	display: inline-block;
	height: 44px;
	border-radius: 22px;
	border: 3px solid #c6c6c6;
	color: #c6c6c6;
	font-size: 16px;
	font-weight: 700;
	text-align: center;
	line-height: 38px;
	transition: all 0.3s;
	padding: 0px 20px;
	margin-right: 10px;
}

.boxed input[type="radio"] {
	display: none;
}

.boxed input[type="radio"]:checked + label {
	height: 44px;
	border-radius: 22px;
	border: 3px solid #27245f;
	background-color: #27245f;
	color: #ffffff;
	font-size: 16px;
	font-weight: 700;
	line-height: 38px;
	padding: 0px 20px;
	text-align: center;
}


/* CAROUSEL*/

@media (min-width: 768px) {
	/* show 4 items */
	.carousel-inner .active,
	.carousel-inner .active + .carousel-item,
	.carousel-inner .active + .carousel-item + .carousel-item,
	.carousel-inner .active + .carousel-item + .carousel-item + .carousel-item {
		display: block;
	}

	.carousel-inner .carousel-item.active:not(.carousel-item-right):not(.carousel-item-left),
	.carousel-inner .carousel-item.active:not(.carousel-item-right):not(.carousel-item-left) + .carousel-item,
	.carousel-inner .carousel-item.active:not(.carousel-item-right):not(.carousel-item-left) + .carousel-item + .carousel-item,
	.carousel-inner .carousel-item.active:not(.carousel-item-right):not(.carousel-item-left) + .carousel-item + .carousel-item + .carousel-item {
		transition: none;
	}

	.carousel-inner .carousel-item-next,
	.carousel-inner .carousel-item-prev {
		position: relative;
		transform: translate3d(0, 0, 0);
	}

	.carousel-inner .active.carousel-item + .carousel-item + .carousel-item + .carousel-item + .carousel-item {
		position: absolute;
		top: 0;
		right: -25%;
		z-index: -1;
		display: block;
		visibility: visible;
	}

	/* left or forward direction */
	.active.carousel-item-left + .carousel-item-next.carousel-item-left,
	.carousel-item-next.carousel-item-left + .carousel-item,
	.carousel-item-next.carousel-item-left + .carousel-item + .carousel-item,
	.carousel-item-next.carousel-item-left + .carousel-item + .carousel-item + .carousel-item,
	.carousel-item-next.carousel-item-left + .carousel-item + .carousel-item + .carousel-item + .carousel-item {
		position: relative;
		transform: translate3d(-100%, 0, 0);
		visibility: visible;
	}

	/* farthest right hidden item must be absolue position for animations */
	.carousel-inner .carousel-item-prev.carousel-item-right {
		position: absolute;
		top: 0;
		left: 0;
		z-index: -1;
		display: block;
		visibility: visible;
	}

	/* right or prev direction */
	.active.carousel-item-right + .carousel-item-prev.carousel-item-right,
	.carousel-item-prev.carousel-item-right + .carousel-item,
	.carousel-item-prev.carousel-item-right + .carousel-item + .carousel-item,
	.carousel-item-prev.carousel-item-right + .carousel-item + .carousel-item + .carousel-item,
	.carousel-item-prev.carousel-item-right + .carousel-item + .carousel-item + .carousel-item + .carousel-item {
		position: relative;
		transform: translate3d(100%, 0, 0);
		visibility: visible;
		display: block;
		visibility: visible;
	}
}
