/* Progress bar */

.progress-bar-container {
    position: relative;
    display: flex;
    justify-content: space-between; /* This will space out your flex items if there's extra space */
    align-items: center;
	margin-bottom:25px;
	padding-top:15px;
	
}

/* Responsive adjustments for desktop */
@media (min-width: 767px) {
	.mobile-progress-bar {display:none;}}


.progress-bar-background {
    position: absolute;
    top: 27px;
    height: 8px; /* Height of the progress bar line */
    background-color: #FAF3DD; /* Background color */
    z-index: 0; /* Ensure the line is behind icons */
    width: 66%; /* Adjust width to not underlay the icons, assuming icons are about 1.5em each */
	left: 17%;
			border-color:3px;

}
.progress-bar {
    height: 8px;
    background-color: #FCC507;
    position: absolute;
    top: 27px;
    z-index: 1;
	left:17%;
	border-color:3px;


}
.progress-step {
    flex: 1; /* Grow each item equally */
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center;
	font-weight:500;
	font-family:montserrat;
}

.fa-stack {
    line-height: 0; /* Align stack elements */
    font-size: 16px!important; /* This sets the size for the icon stack */
    z-index: 2;


}



.fa-stack-1x {
    color: #000; /* Icon color */
}
.fa-stack-2x {
    color: #FAF3DD; /* Icon color */
}
.progressbaractive .fa-circle {
    color: #FCC507; /* Active step circle color */
}
.progressbarcompleted .fa-circle {
    color: #FCC507; /* Active step circle color */
}


.progress-step .fa {
    color: #ddd; /* Inactive step icon color */
    font-size: 1.5em; /* Adjust icon size as needed */
}

/* Active and completed steps */
.progress-step.active .fa,
.progress-step.completed .fa {
    color: #FCC507; /* Active and completed step icon color */
}

/* Step names */
.step-name {
    margin-top: 10px; /* Space between icon and text */
    display: block;
    color: #000; /* Step name color */
    font-size: 0.9em;
}

/* Hide mobile info by default */
.mobile-step-info,
.mobile-next-step {
    display: none;
}

/* Responsive adjustments for mobile */
@media (max-width: 767px) {
    /* Hide icons on mobile */
    .progress-step .fa-stack {
        display: none;
    }

    /* Show mobile info */
    .mobile-step-info,
    .mobile-next-step {
        display: block;
		font-size:12px;
		margin-top:-15px;
        /* Additional styling as needed */
    }

    /* Hide standard step names */
    .progress-step .step-name {
        display: none;
    }

    /* Adjust the progress bar length for mobile */
    .progress-bar-background {
        width: 100%;
        left: 0%;
		border-color:3px;
    }
	.progress-bar {
	right:0%;
	left:0%;
	}
	.progress-bar-container {
	padding-top:15px;	
				border-color:3px;

	}
.mobile-step-info,
.mobile-next-step {
	font-weight:500;
	font-family:montserrat;
	font-size: 13px;
	margin-bottom:5px;
}

.mobile-step-info {
    color: #FCC507; /* Vaihe color */
	right:0;
}

.mobile-next-step {
    color: #777777; /* Light gray for Seuraavaksi */
	right:0;
	position:absolute;

}
	.desktop-progress-bar {
		display:none;
	}
	
}


#electroform {width:100%;padding:20px;background-color: #ffffff;text-align: center;border-radius: 20px;font-size: 14px;border:px solid yellow;}

/* Paragraphs */
#electroform p {margin:8px 4px;padding:0;text-align: center; line-height: 1.3em;}
#electroform p.warning {color:red;}
#electroform p.warning input, #electroform p.warning select, #electroform p.warning textarea  { border-color: red; }

/* Fieldsets */
#electroform div.fieldsets { width: 100%;position: relative; overflow: hidden;  -webkit-transition: height 1s; /* Safari prior 6.1 */ transition: height 1s;}
#electroform div.fieldsets fieldset { width: 100%; display: none; position: absolute;  border: none; float: left; padding:0;margin:0;}
/*#electroform fieldset h2 {color:#15528c;padding: 0;text-align: center;}*/
#electroform fieldset div.left{float:left;width:100%;padding: 0;text-align: left;line-height: 1.1em;margin: 10px 0 4px 0;font-weight:300;}
#electroform fieldset div.right{float:right;width:100%;padding: 0;line-height: 1.5em;margin: 2px 0;text-align: left; font-weight: 300;}

#electroform fieldset div.right .warning {border-color: red;}

#electroform .moneycheck {font-size: 18px;}

.section_success, .section_success_title, .section_success_blurb p {text-align: center;}
h2.section_success_title {color:#FFF;}

/* Circle Rules */
#electroform .circle-down 	{ height: 34px; width: 34px; position: absolute; top: 0; left: 0; border: 3px solid #0e5e9b;border-radius: 17px;background-color: #ffffff;}
#electroform .circle-down:after {
	content: "";
	width: 15px;
	position: absolute;
	height: 3px;
	background-color: #0e5e9b;
	top: 50%;
	margin-top: -1px;
	left: 50%; 
	margin-left: -7px;
	border-radius: 1.5px;
}
#electroform .circle-up 	{ height: 34px; width: 34px; position: absolute; right: 0; top: 0; border: 3px solid #0e5e9b; border-radius: 17px;background-color: #ffffff;}
#electroform .circle-up:after {
	content: "";
	width: 15px;
	position: absolute;
	height: 3px;
	background-color: #0e5e9b;
	top: 50%;
	left: 50%; 
	margin-top: -1px;
	margin-left: -7px;
	border-radius: 1.5px;
}
#electroform .circle-up:before {
	content: "";
	width: 3px;
	position: absolute;
	height: 15px;
	background-color: #0e5e9b;
	top: 50%;
	left: 50%;
	margin-top: -7px;
	margin-left: -1px;
	border-radius: 1.5px;
}
.output-number {color: #0e5e9b;font-size:25px;}
.output-number output {color: #343848;font-weight: 300;}
.output-pad	{ padding: 0 0px; line-height: 25px; min-height: 25px; position: relative;text-align: center;margin-top: 20px;}
.circle-up:hover, .circle-down:hover { background-color: #cccccc; cursor: pointer; }
.circle-control {touch-action: none;}

/* Range */
.electroform_slider_output {padding-top:18px;}

.electroform,
.electroform__fill {
	background: #ccc;display: block;height: 14px;
	-webkit-box-sizing: border-box;-moz-box-sizing: border-box;box-sizing: border-box;border-radius: 7px;}

.electroform {position: relative;height: 14px;width: 100%;margin:25px 0;}

.electroform--disabled {filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=40);opacity: 0.4;}

.electroform__fill {height: 14px;width: 100%;background: #0e5e9b;position: absolute;top: 0;border-radius: 7px;}

.electroform__handle {
	background: #fff;
	border: 3px solid #0e5e9b;
	cursor: pointer;
	display: inline-block;
	border-radius: 17px;
	width: 34px;
	height: 34px;
	position: absolute;
	top: -10px;
}

/* Inputs */
#electroform input[type=button] {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
}

#electroform span.select {
	position: relative !important;
	display: block !important;
	left: 0;
	right: 0;
	bottom: 0;
	top: 0;
	width: auto;
}
#electroform input[type=text], #electroform input[type=number], #electroform input[type=tel], #electroform input[type=email], #electroform select, #electroform textarea {
	width:100%;
	border: 1px solid #ccc;
	padding: 0 17px;
	box-sizing: border-box;
	color: #2C3E50;
	font-size: 14px;
	outline: none;
	line-height: 34px;
	background-color: #ffffff;
}

#electroform .output-number input {text-align: center;font-size: 14px;padding:2px;}

#electroform input[type=range] {
	background: none;
	border:none;
	padding:0;
	margin: 0;
}

.dategrid {display: grid;
	grid-template-columns: 32.66% 32.66% 32.66%;
	grid-gap: 1%;
}

#electroform select {
	-webkit-appearance: none;
	-moz-appearance: none;
	background: white;
	margin-right:6px;
	padding: 0 17px;
}

#electroform select:-moz-focusring {
	color: transparent;
	text-shadow: 0 0 0 #000;
}

/* Checkbox */
#electroform input[type="checkbox"] {display:none;}
#electroform input[type="checkbox"] + label::before {
	width: 20px;
	height: 20px;
	border: 1px solid #0e5e9b;
	border-radius: 10px;
	background-color: #fff;
	display: block;
	content: "";
	float: left;
	margin-right: 5px;
}

#electroform input[type="checkbox"].required+ label::before {border-color: #15528c;}
#electroform input[type="checkbox"].warning + label::before {border-color: red;}
#electroform input[type="checkbox"]:checked+label::before {
	box-shadow: inset 0px 0px 0px 3px #fff;
	background-color: #15528c;
}

/* Radio Buttons */
#electroform .selectbutton input[type="radio"] {
  opacity: 0;
  position: fixed;
  width: 0;
}
#electroform .selectbutton label {
	display: block;
	text-align: center;
	line-height: 30px;
	margin-top:12px;
	width: 100%;
	background-color:#E6E6E6;
	color: #09233a;
	cursor: pointer;
	box-shadow: 0 8px 6px -6px rgba(0, 0, 0, 0.4);
}
#electroform .selectbutton label:hover, #electroform .selectbutton  input[type="radio"]:checked + label {color:#ffffff;background-color:#09233a !important;}

#electroform ::placeholder {color: #CCCCCC;}
#electroform input[type=text]:focus, #electroform textarea:focus, #electroform select:focus{border: 1px solid #000 !important;}

#electroform p.warning > label { color: red;}
#electroform .errormessage {clear:both;color: red;font-weight: 900; display:block;opacity:0;margin-top:12px;}
#electroform .validator {margin-left: -999px;height:0;}

/* Arrows */
#electroform select.minimal {
  background-image:
	linear-gradient(45deg, transparent 50%, gray 50%),
	linear-gradient(135deg, gray 50%, transparent 50%);
  background-position:
	calc(100% - 20px) calc(13px),
	calc(100% - 12px) calc(13px),
	calc(100% - .5em) 4px;
  background-size:
	8px 8px,
	8px 8px,
	1.5em 1.5em;
  background-repeat: no-repeat;
}

/* Outputs */
#electroform .results {background-color: #ffffff;padding:17px;border-radius: 17px;clear:both;}
#electroform table.output-table {width:100%;border-collapse: collapse;}
#electroform table.output-table td {padding: 10px 0;border-bottom: 1px solid #ccc;vertical-align: middle !important;}
#electroform table.output-table td.first {padding:  0 0 10px 0;}
#electroform table.output-table td.last {border-bottom: none;padding: 10px 0 0 0;}
#electroform table td.table-label {text-align: left;font-weight: 400;}
#electroform table td.table-output {text-align: right;font-weight: 900;}

/* Buttons */
.buttons { height: 50px !important; clear:both;}
#electroform .action-button {
	width: 100px;
	background: #333333;
	color: white;
	border: 0 none;
	cursor: pointer;
	padding: 10px 5px !important;
	margin: 0;
	bottom: 0;
	font-size: 14px !important;
	border-radius: 20px;
}
#electroform .action-button:hover, #electroform .action-button:focus {
	background: #555555;
}

#electroform .nextslide, #electroform .submit {position:absolute;right:0;}
#electroform .previousslide {position:absolute; left:0;}

.billingcheck, .billingdetails, .vsdatehidden, .muodatehidden, .vshidden, .muhidden {display:none;}

/* The Modal */
#electroform .modal {
	display: none;
	position: fixed;
	z-index: 1;
	padding-top: 100px;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	overflow: auto;
	background-color: rgb(0,0,0);
	background-color: rgba(0,0,0,0.4);
}

/* Modal Content */
#electroform .modal-content {
	background-color: #fefefe;
	margin: auto;
	padding: 20px 20px 40px 20px;
	border: 1px solid #888;
	width: 90%;
}

#electroform .modal-content p,
#electroform .modal-content h2,
#electroform .modal-content li {
	color: #343848;
}

/* The Close Button */
#electroform .closemodal {
	color: #aaaaaa;
	float: right;
	font-size: 28px;
	font-weight: bold;
}

#electroform .closemodal:hover,
#electroform .closemodal:focus {
	color: #343848;
	text-decoration: none;
	cursor: pointer;
}

/* Submitting Animation */
.working_loading {
	font: 300 4em/150% Impact;
	color: rgba(6, 115, 152, 1);
	text-align: left;
	position: relative;
	left: calc(100% - 30px);
	bottom: 18px;
}

.buttons_working { display: none; }

.working_loading:after {
	content: ' .';
	animation: dots 1s steps(5, end) infinite;
	color: rgba(6, 115, 152, 1);
}

@keyframes dots {
	0%, 20% {
		color: rgba(6, 115, 152, 0);
		text-shadow:
			-.25em 0 0 rgba(6, 115, 152, 0),
			-.5em 0 0 rgba(6, 115, 152, 0);
	}
	40% {
		color: rgba(6, 115, 152, 0);
		text-shadow:
			-.25em 0 0 rgba(6, 115, 152, 0),
			-.5em 0 0 rgba(6, 115, 152, 1);
	}
	60% {
		color: rgba(6, 115, 152, 0);
		text-shadow:
			-.25em 0 0 rgba(6, 115, 152, 1),
			-.5em 0 0 rgba(6, 115, 152, 1);
	}
	80%, 100% {
		color: rgba(6, 115, 152, 1);
		text-shadow:
			-.25em 0 0 rgba(6, 115, 152, 1),
			-.5em 0 0 rgba(6, 115, 152, 1);
	}
}

/* Small Screens */
@media only screen and (max-width: 800px) {
	#electroform fieldset {padding: 5px 10px 80px 10px;box-sizing: border-box;border-radius: 10px;width: 100%;}
	#electroform .outputs {width:100%}
}