
/* Flex update */
.flex-even {
	-webkit-flex: 1;
	-ms-flex: 1;
	flex: 1;
}

/* General Updates */
.btn-primary { background-color: #579940; border-color: #579940; }
.btn-primary:hover { background-color: #4b8637; border-color: #4b8637; }
.btn-primary:not(:disabled):not(.disabled).active, .btn-primary:not(:disabled):not(.disabled):active, .show > .btn-primary.dropdown-toggle { background-color: #579940; border-color: #579940; }
.btn-primary.focus, .btn-primary:focus,
.btn-primary:not(:disabled):not(.disabled).active:focus, .btn-primary:not(:disabled):not(.disabled):active:focus, .show > .btn-primary.dropdown-toggle:focus { -webkit-box-shadow: 0 0 0 .2rem rgba(87,153,64,.5); box-shadow: 0 0 0 .2rem rgba(87,153,64,.5); }

.form-control:focus { -webkit-box-shadow: 0 0 0 .2rem rgba(0,174,230,.25); box-shadow: 0 0 0 .2rem rgba(0,174,230,.25); }

.boldtext { color: #00AEE6; }

.outlineBtn { background-color: transparent; }

/* IE Offer boxes update */

.col-12.radioInput.pb-3:lang(en-IE) {
    width: 50%;
    max-width: 50%;
}

/* Form */

.multi_step_form {
	background: #ffffff;
	overflow: hidden;
}
.multi_step_form #msform {
	position: relative;
	padding-top: 36px;
	/*min-height: 820px;*/
	margin-bottom: 140px;
	z-index: 1;
	transition:min-height 0.5s ease;
	-webkit-transition:min-height 0.5s ease;
	-moz-transition:min-height 0.5s ease;
	-o-transition:min-height 0.5s ease;
}
.multi_step_form #msform fieldset {
	border: 0;
	padding: 20px 15px;
	position: relative;
	width: 100%;
	left: 0;
	right: 0;
}
.multi_step_form #msform fieldset:not(:first-of-type) {
	display: none;
}

.multi_step_form #msform fieldset .form-group {
	padding: 0 10px;
}
.multi_step_form #msform #progressbar {
	text-align: center;
}
.multi_step_form #msform #progressbar li {
	list-style-type: none;
	position: relative;
	border-top: 1px solid;
	border-bottom: 1px solid;
	padding: 10px 0;
}

.multi_step_form #msform #progressbar {
	counter-reset: section;
}

.multi_step_form #msform #progressbar li:before {
	counter-increment: section;
	content: counter(section);
}

.multi_step_form #msform #progressbar li:before {
	width: 26px;
	height: 25px;
	line-height: 25px;
	display: block;
	background: #1d1e1e;
	color: #fff;
	margin: 0 auto;
	position: absolute;
	top: -26px;
	left: 50%;

	font-size: 0.9em;
	font-weight: 300;
	transform: translate(-50%, 0px);
	-webkit-transform: translate(-50%, 0px);
	-moz-transform: translate(-50%, 0px);
	-o-transform: translate(-50%, 0px);
	-ms-transform: translate(-50%, 0px);
}
.multi_step_form #msform #progressbar li:after {
	content: '';
	position: absolute;
	left: 50%;
	top: 1px;
	z-index: -1;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 6px 7px 0 7px;
	border-color: transparent transparent transparent transparent;
	transform: translate(-50%, 0px);
	-webkit-transform: translate(-50%, 0px);
	-moz-transform: translate(-50%, 0px);
	-o-transform: translate(-50%, 0px);
	-ms-transform: translate(-50%, 0px);
}
.multi_step_form #msform #progressbar li:last-child:after {
	/*width: 150%;*/
}
.multi_step_form #msform #progressbar li.active {
	font-weight: 500;
}
.multi_step_form #msform #progressbar li.active:before {
	/*background: #00AEE6;
	color: white;*/
}
.multi_step_form #msform #progressbar li.active:after { border-color: #1d1e1e transparent transparent transparent; }

.input-label-box input[type="radio"],
.input-label-box input[type="checkbox"] {
	display: none;
}
.input-label-box label {
	border: 1px solid #dee2e6;
	cursor: pointer;
	-webkit-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;
	user-select: none;
}
.input-label-box label:hover { 
	color: #00AEE6;
}
.input-label-box input[type="radio"]:checked+label,
.input-label-box input[type="checkbox"]:checked+label {
	border-color: #00AEE6;
	color: #00AEE6;
}

.radioInput label { cursor: pointer; }
.radioInput:not(.ri-simple) label { border: 2px solid var(--grey-light); background-color: var(--grey-light); }
.radioInput:not(.ri-simple) input:checked ~ label { border: 2px solid var(--primary); background-color: #fff; }

.radioInput:not(.ri-simple) input.fieldError ~ label { outline: 1px dashed red; }

.radioInput label i { border: 2px solid #cac9c8; background-color: #fff; width: 30px; height: 30px; line-height: 26px; text-align: center; color: transparent; }
.radioInput.ri-simple label i { border: 1px solid #cac9c8; width: 28px; height: 28px; }
.radioInput label:hover i,
.radioInput input:checked ~ label i { color: var(--primary); }

.radioInput.ri-simple input.fieldError ~ label i { border: 1px dashed red; }

.atomPrice { font-size: 1.4em; line-height: 1.2; }

.formInput { border: 1px solid #dee2e6; }
.fieldError {border:1px dashed red}
.summaryBox h5 { border-bottom: 1px solid #dee2e6; padding-bottom: .25rem; margin-bottom: .25rem; margin-top: 1rem; }
.summaryBox h5:first-of-type { margin-top: 0; }
.summaryBox p { margin: 0; }
.summaryBox p span { font-weight: 600; }

.multi_step_form fieldset .stepsBtns button.filledBtn { font-size: 1.1em; padding: 1em 2.2em; cursor: pointer; }
.multi_step_form fieldset .stepsBtns button.outlineBtn { font-size: 1em; padding: 0.5em 1em; cursor: pointer; }
.multi_step_form fieldset p { line-height: 1.3; }
.multi_step_form fieldset img { opacity: 0.8; }

.qtyInput .formInput { padding: 0.2em 0.5em; text-align: center; }
.qtyInput .qtyminus,
.qtyInput .qtyplus { cursor: pointer; }

/* Input Label Float */
.labelFloat { position: relative; margin-top: 1.2rem }
.labelFloat label {
	opacity: 0;
	position:absolute;
	pointer-events:none;
	left: .75rem;
	top: 0;
	margin: 0;
	font-size: 1rem;
	height: calc(1.5em + .75rem + 2px);
	transition:0.2s ease all; 
	-moz-transition:0.2s ease all; 
	-webkit-transition:0.2s ease all;
	display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
	-webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
}
.labelFloat.showLabel label { opacity: 1; }
.labelFloat .form-control-lg ~ label { left: 1rem; font-size: 1rem; height: calc(1.5em + 1.25rem + 2px); }
.labelFloat .form-control:focus ~ label, .labelFloat .form-control.field--not-empty ~ label {
	top: -1.4em;
	font-size: 0.8em;
	height: 1.2em;
	color: var(--dci-grey);
}



@media (max-width: 575.98px) {
	.multi_step_form #msform #progressbar { position: relative; }
	.multi_step_form #msform #progressbar li { position: initial; width: 0; }
	.multi_step_form #msform #progressbar li.flex-even { -webkit-flex: auto; -ms-flex: auto; flex: auto; }
	.multi_step_form #msform #progressbar li.active { width: 100%; }
	.multi_step_form #msform #progressbar li span { display: none; }
	.multi_step_form #msform #progressbar li.active span { display: block; }
	
	.multi_step_form #msform #progressbar li:before { top: -25px; }
	.multi_step_form #msform #progressbar li:after { top: 2px; }
	
	.multi_step_form #msform #progressbar li:first-of-type:before,
	.multi_step_form #msform #progressbar li:first-of-type:after	{ margin-left: -35px; }
	.multi_step_form #msform #progressbar li:last-of-type:before,
	.multi_step_form #msform #progressbar li:last-of-type:after { margin-left: 35px; }
.col-12.radioInput.pb-3:lang(en-IE) {
    width: 100%;
    max-width: 100%;
}
}

@media (min-width: 576px) {
	.multi_step_form #msform fieldset {
		padding: 20px 30px;
	}
	.multi_step_form #msform #progressbar li:before {

	}
	.multi_step_form #msform #progressbar li:after {

	}
	
	.labelFloat .form-control-lg ~ label { font-size: 1.25rem; height: calc(1.5em + 1rem + 2px); }
}
