.form-group-title {
    font-size: 25px;
    font-weight: 700;
}

.form-group-sub-title {
    font-size: 20px;
    font-weight: 400;
}

.plan-access p {
	font-weight: 700;
	font-size: 15px;
	margin: 0;
}

.plan-description p {
	font-size: 16px;
	margin: 0;
}

.plan-frequency p {
	font-size: 15px;
	margin: 0;
}

.plan-price p {
	font-weight: 700;
	font-size: 15px;
	margin: 0;
}

.plan-input p {

}

.payment_plan_row {
	border: 1px solid #efefef;
	border-radius: 8px;
	margin: 2% 0;
	padding: 20px;
}

.payment_plan_row .row {
	min-height: 4rem;
}

.plan-access,
.plan-description,
.plan-frequency {
	border-right: 1px solid #efefef;
}

.action-button {
	/* width: 180px; */
	/* height: 50px; */
}

.label_note {
	font-size: 13px;
	font-weight: 400;
	font-style: italic;
}

.coupon_message {
    text-align: left;
    color: red;
}

#div-web_agreement {
	text-align: center;
}

.label-web_agreement {
	display: inline;
}

/*Hide all except first fieldset*/
#single_sub_form fieldset.form-group:not(:first-of-type) {
/* #single_sub_form fieldset.form-group { */
	display: none;
}

#single_sub_form {
	margin-bottom: 5%;
}

#progressbar {
	margin-bottom: 30px;
	overflow: hidden;
	counter-reset: step;
}
#progressbar li {
	list-style-type: none;
	color: white;
	text-transform: uppercase;
	font-size: 9px;
	width: 33.33%;
	float: left;
	position: relative;
}
#progressbar li:before {
	content: counter(step);
	counter-increment: step;
	width: 20px;
	line-height: 20px;
	display: block;
	font-size: 10px;
	color: #333;
	background: white;
	border-radius: 3px;
	margin: 0 auto 5px auto;
}

#progressbar li:after {
	content: '';
	width: 100%;
	height: 2px;
	background: white;
	position: absolute;
	left: -50%;
	top: 9px;
	z-index: -1;
}
#progressbar li:first-child:after {
	content: none; 
}

#progressbar li.active:before,  #progressbar li.active:after{
	background: #27AE60;
	color: white;
}

.confirm_progress_holder .fas {
    font-size: 60px;
    margin-top: 15px;
    color: #ff7e46
}

.confirm_progress_holder {
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    padding: 0;
    text-align: center;
    background: #fff;
    position: fixed;
    z-index: 99
}

#progress_popup_box {
    display: table;
    height: 100%;
    width: 100%;
    vertical-align: middle;
    padding: 15% 10%
}


@media only screen and (max-width: 991px){
	input[name="collectpromo"] {
		margin-top: 15px;
		width: auto !important;
	}
}

@media only screen and (max-width: 767px){
	.payment-details-inner-container {
		padding: 2px;
	}
	
    .payment_plan_row .col,
    .payment_plan_row .col-lg-1  {
        flex: 0 0 100%;
        border: none;
    }	

    .payment_plan_row .row {
		min-height: unset;
		margin: 10px 0;
	}

	.payment_plan_row {
		margin: 20px 0;
	}

	input[name="collectpromo"] {
		margin-top: 15px;
		width: auto !important;
	}
}


.promocode_container .input-group {
    border: 1px solid #efefef;
    border-radius: 10px;
    padding: 8px 5px 8px 10px;
}
  
.promocode.form-control.inline-text {
    border: 0 !important;
    min-width: 59%;
    width: auto;
    margin-bottom: 0 !important;
}
  
.promocode_container .input-group-append .btn {
    height: auto;
    padding: 0px 10px;
    border-radius: 7px;
    text-transform: lowercase;
    font-size: 12px;
    font-weight: 300;
    border-width: 1px;
    margin: 0;
}

.promocode_container .options-heading,
.promocode_container .options-heading span {
	font-size: 15px;
	display: block;
	line-height: 22px;
	margin-bottom: 3px;
	font-weight: 700;
}