.rate-form-carousel {
	--primary: #04b2e1;
	--primary-light: #0398c0;
	--btn-text: #fff;
	--btn-text-hover: #000;
}

.ban_form select,
.ban_form input[type=text],
.ban_form input:not([type]),
.ban_form .navigation_button { 
	border-radius: 4px;
}

.rate-form-carousel article { 
	display: none;
}
.rate-form-carousel fieldset { 
	position: static;
	margin: 0;
	padding: 0;
}
.rate-form-carousel legend { 
	font-size: 1.5rem;
	margin: 0 auto;
	padding: 15px 0 0 0;
	position: static;
}
.rate-form-carousel label.radio {
	display: block;
	margin: 10px 0;
}

.rate-form-carousel label.radio,
.btn {
	padding: 4px 12px;
	margin-bottom: 0;
	line-height: 1.5;
	text-align: center;
	text-shadow: 0 1px 1px rgba(255, 255, 255, 0.75);
	vertical-align: middle;
	cursor: pointer;
	color: var(--btn-text);
	text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
	background-color: var(--primary-light);
	background-image: linear-gradient(to bottom, var(--primary-light), var(--primary));
	background-repeat: repeat-x;
	border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
	border-radius: 4px;
	-webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05);
	-moz-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05);
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05);
	padding: 11px 19px;
	font-size: 26px;
	-webkit-border-radius: 6px;
	-moz-border-radius: 6px;
	border-radius: 6px;		    
}

.rate-form-carousel label.radio:hover,
.rate-form-carousel label.radio:focus,
.btn:hover, .btn:focus {
	color: var(--btn-text-hover) !important;
	background-color: var(--primary);
	text-decoration: none;
	background-position: 0 -14px;
	transition: background-position 0.1s linear;		
}			
.rate-form-carousel .row { 
	position: relative; 
	min-height: 650px; 
}
.rate-form-carousel label.radio input[type=radio] { 
	visibility: hidden; 
	position: absolute; 
}
.rate-form-carousel fieldset { 
	width: 600px; 
	opacity:0; 
	transition: all .5s;
	position: absolute; 
	top: 0; 
	text-align: center; 
	left: 0; 
	margin-left: -300px 
}
.rate-form-carousel fieldset > div {
	width: 300px;
	padding: 0 150px;
}
.rate-form-carousel fieldset.done { 
	left: 100%; 
}

.rate-form-carousel:not([step]) fieldset:nth-of-type(1),
.rate-form-carousel[step="2"] fieldset:nth-of-type(2),
.rate-form-carousel[step="3"] fieldset:nth-of-type(3),
.rate-form-carousel[step="4"] fieldset:nth-of-type(4),
.rate-form-carousel[step="5"] fieldset:nth-of-type(5),
.rate-form-carousel[step="6"] fieldset:nth-of-type(6),
.rate-form-carousel[step="7"] fieldset:nth-of-type(7),
.rate-form-carousel[step="8"] fieldset:nth-of-type(8),
.rate-form-carousel[step="9"] fieldset:nth-of-type(9),
.rate-form-carousel[step="10"] fieldset:nth-of-type(10),
.rate-form-carousel[step="11"] fieldset:nth-of-type(11),
.rate-form-carousel[step="12"] fieldset:nth-of-type(12),
.rate-form-carousel[step="13"] fieldset:nth-of-type(13) { 
	opacity: 1; 
	z-index: 2; 
	left:50% 
}

.rate-form-carousel label.number,
.rate-form-carousel label.text,
.rate-form-carousel label.select { 
	display: block; 
	margin-bottom: 10px;
}

.rate-form-carousel label.number span,
.rate-form-carousel label.text span { 
	display: block; 
	color: #ccc; 
}

.rate-form-carousel label.number input[type=number],
.rate-form-carousel label.number input[type=text],  
.rate-form-carousel label.text input[type=text],
.rate-form-carousel label.text input[type=number],
.rate-form-carousel label.text input[type=email],
.rate-form-carousel label.text input[type=tel],
.rate-form-carousel label.select select{
	background-color: rgb(255, 255, 255);
	border-image-source: initial;
	border-image-slice: initial;
	border-image-width: initial;
	border-image-outset: initial;
	border-image-repeat: initial;
	box-shadow: rgba(0, 0, 0, 0.0745098) 0px 1px 1px inset;
	border-width: 1px;
	border-style: solid;
	border-color: rgb(204, 204, 204);
	transition: border 0.2s linear, box-shadow 0.2s linear;
	display: inline-block;
	height: 50px;
	margin-bottom: 10px;
	font-size: 26px;
	line-height: 46px;
	color: rgb(85, 85, 85);
	vertical-align: middle;
	padding: 4px 6px;
	border-radius: 6px;
	width: 100%;
	box-sizing: border-box;
}
.rate-form-carousel label.number.range input[type=number] {
	margin-bottom: 30px;
}

.rate-form-carousel form > div {
	text-align:center;
	margin: 0 auto;
	display: table;
	width: 100%;
}
.rate-form-carousel[step] form > div {
	display: none;
}

.rate-form-carousel form > div h2 {
	font-size: 2.5rem;
	line-height: 1.5;
	color: #000;
	background: rgba(0,0,0,.0);
	padding: 10px 20px;
	display: table;
	border-radius: 4px;
	margin:10px auto; 
	font-weight: 700;
}

.rate-form-carousel form > div p {
	font-size: 18px;
	color: #000;
	background: rgba(0,0,0,.0);
	padding: 8px;
	display: inline-block;
	border-radius: 4px;
	max-width: 500px;
	font-weight: 700;
}

.rate-form-carousel label.number.range input[type=range] { 
	width: 90%;
	margin-bottom: 30px; 
}
.rate-form-carousel.main fieldset:nth-of-type(1) label:nth-of-type(1) {
	margin-top: 175px;
}

.rate-form-carousel fieldset legend span {
	font-size: 26px;
	color: #000;
	line-height: 1.5;
	font-weight: bold;
	text-shadow: 0 0px 0px #000;
	padding: 4px;
	display: block;
	border-radius: 4px;
	margin-top: 20px;
}
.rate-form-carousel form.invalid input:invalid,
.rate-form-carousel form input.invalid:invalid { 
	-webkit-appearance: none; 
	box-shadow: 0 0 2px 2px rgb(255,0,0) !important; 
}

.rate-form-carousel .rangeslider { 
	margin-bottom: 40px; 
}

.blink_me {
	animation: blinker 1s linear infinite;
}
.rangeslider__fill {
    background: #3acccd;
    position: absolute;
}

.rate-form-carousel .flaticon::before {
	display: none;
}

.rate-form-carousel .progress {
	width: 96%;
}

@keyframes blinker {  
  50% { opacity: 0; }
}
.rate-form-carousel fieldset legend + label.number.range,
.rate-form-carousel fieldset legend + label.text
 {
	margin-top: 10px;
}
@media only screen and (max-width: 767px) {
	.rate-form-carousel form > div h2 {
		font-size: 1.70rem;
		margin-bottom: 0px;
	}
		.rate-form-carousel fieldset:nth-of-type(1) label:nth-of-type(1) {
		    margin-top: 0px;
		}
}
@media only screen and (min-width: 320px) and (max-width: 479px){
	.rate-form-carousel form > div h2 {
		font-size: 1.70rem;
		margin-bottom: 0px;
	}
}
@media only screen and (max-width: 600px) {
	.rate-form-carousel fieldset {
		width: 300px;
		margin-left: -150px;
	}
	.rate-form-carousel fieldset > div {
		padding: 0;
	}
}
@media only screen and (min-width: 768px) and (max-width: 991px){
	
	.rate-form-carousel form > div h2 {
		font-size: 2.2rem;
		margin-bottom: 0px;
	}
}