.stages {
	font-size: 0;
	text-align: justify;
}

.stages:after {
	content: '';
	display: inline-block;
	font-size: 0;
	text-align: justify;
	width: 100%;
}

input[type="radio"] {
	display: none;
}

.hot_tub > ul > li > input[type="radio"]
{
	display: block;
	height: 20px;
	width: 20px;
}
.hot_tub > ul > li
{
	list-style: none;
}
.hot_tub_li
{
	margin-top: 10px;
}
.hot_tub_li >label
{
	/*margin-left: 5px;*/
}

input[name="primary_use"],input[name="number_of_people"],input[name="factor"]
{ 
	float: left;
}
{
	float: left;
}
.stages label {
	background: #ffffff;
	border: solid 5px #c0c0c0;
	border-radius: 50%;
	cursor: pointer;
	display: inline-block;
	font-size: 0;
	font-weight: 700;
	height: 50px;
	line-height: 50px;
	position: relative;
	text-align: center;
	vertical-align: top;
	width: 50px;
	z-index: 1;
	-webkit-touch-callout: none;
	-webkit-user-select: none;
	-khtml-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;
	user-select: none;
}

.stages label:after {
	content: '\2713';
	color: #087a96;
	display: inline-block;
	font-size: 16px;
}

#one:checked ~ .stages label[for="one"],
#two:checked ~ .stages label[for="two"],
#three:checked ~ .stages label[for="three"]
{
	border-color: #087a96;
}
.stages label.active{
	border-color: purple !important;
}
#one:checked ~ .stages label,
#two:checked ~ .stages label[for="one"] ~ label,
#three:checked ~ .stages label[for="two"] ~ label,
#four:checked ~ .stages label[for="three"] ~ label
{
	font-size: 1rem;
}
#one:checked ~ .stages label:after,
#two:checked ~ .stages label[for="one"] ~ label:after,
#three:checked ~ .stages label[for="two"] ~ label:after,
#four:checked ~ .stages label[for="three"] ~ label:after
{
	display: none;
}
.progress > span {
	background: #c0c0c0;
	display: inline-block;
	height: 5px;
	transform: translateY(-2.75em);
	transition: 0.3s;
	width: 0;
}
#two:checked ~ .progress span {
	width: calc(100% / 2 * 1);
}
#three:checked ~ .progress span {
	width: calc(100% / 2 * 2);
}

.panels div {
	display: none;
}



#one:checked ~ .panels [data-panel="one"],
#two:checked ~ .panels [data-panel="two"],
#three:checked ~ .panels [data-panel="three"]
{
	display: block;
}
/* Custom code for the demo */

html,
button,
input,
select,
textarea {
	font-family: "Segoe UI", Frutiger, "Frutiger Linotype", "Dejavu Sans", "Helvetica Neue", Arial, sans-serif;
}

body {
	/*background-color: #0cc39f;*/
	margin: 0;
	/*padding: 0 2em;*/
}

a {
	color: #087a96;
}

h2,
h4 {
	margin-top: 0;
}

.form {
	background: #ffffff;
	box-shadow: 0 5px 10px rgba(0, 0, 0, .4);
	margin: 20px auto;
	padding: 1em;
	max-width: 80%;
}

.panels div {
	border-top: solid 1px #c0c0c0;
	margin: 1em 0 0;
	padding: 1em 0 0;
}

input {
	box-sizing: border-box;
	display: block;
	padding: .4em;
	width: 100%;
}

button {
	background-color: #087a96;
	border: 0;
	color: white;
	cursor: pointer;
	font-weight: 700;
	margin: 1em 0 0 0;
	padding: 1em;
}

button:hover {
	opacity: 0.8;
}

#product {
	background: #ffffff;
	box-shadow: 0 5px 10px rgba(0, 0, 0, .4);
	margin: 20px auto;
	padding: 1em;
	max-width: 80%;
	display: none;
}

#product .product-block-container {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: flex-start;
}

#product .product-block {
    width: calc(33% - 60px);
    border: 1px solid #eee;
    margin: 10px;
    padding: 20px;

    display: none;
    opacity: 0;
}

#product .product-block .product-image {
    text-align: center;
    margin: 0 0 15px 0;
}

#product .product-block .product-image img {
    max-height: 250px;
    width: auto;
    max-width: 100%;
}

#product .product-block .product-title a {
    color: #666;
}

#product .product-block .product-paragraph {
    color: #666;
}

.banner-image img {
	display: block;
    width: 100%;
    height: 500px; 
    margin-bottom: 15px;
    object-fit: cover;
}

.panels input[type="radio"] {
	display: none !important;
}

.panels .flex-box {
	display: flex;
	flex-wrap: wrap;
}

.panels .flex-box > li { 
	margin: 10px; 
	font-size: 12px;
    text-align: center;
}

.panels .flex-box label {
	width: 200px;
    display: block;
}
.panels .flex-box img {
    max-width: 100%;
    height: 200px;
}

.panels .flex-box label {
    padding: 2px;
    height: auto;
    border: 2px solid;
    border-color: transparent;
    width: 200px;
}

.panels .flex-box label.selected-label {
    border: 2px solid #000;
}

.product-block a sup {
	display: inline-block;
    text-decoration: none;
}

.error{
	border-color: red !important;
}

@media screen and ( max-width: 768px ){
	.banner-image img {
    	height: 100%;
	}
}

@media screen and ( max-width: 768px ){
	/*.form, #product {
	    max-width: 100%;
	    min-width: auto;
	}*/

	.panels .flex-box label {
		width: 160px;
	}

	.panels .flex-box label img {
		width: 160px;
		height: 160px;
	}

	#product .product-block {
	    width: calc(100% - 40px);
	}
}

@media screen and ( max-width: 667px ){
	.panels .flex-box label {
		width: 200px;
	}
	.panels .flex-box label img{
		width: 200px;
		height: 200px;
	}
}

@media screen and ( max-width: 412px ) {
	.panels .flex-box {
		flex-direction: column;
		justify-content: center;
	}
	.panels .flex-box > li { 
		margin: 10px 10px 10px 0; 
	}

	.panels .flex-box li { 
		width: 50%;
	}
}

#footercontent a, .footer-top-option>a {
    color: #666;
}

  