@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;500;600;700&display=swap');

* {
    margin: 0;
    padding: 0;
    font-family: 'Poppins', sans-serif;
    box-sizing: border-box;
}

.step-form {
    background: #39B549;
    border-radius: 100px;
    width: 100%;
    max-width: 480px;
    height: 530px;
	position: relative;
}
.step-form .field-error {
    position: absolute;
    bottom: 90px;
    left: 0;
    right: 0;
    text-align: center;
	color: #161616;
	font-size: 16px;
	font-weight: 600;
	margin: 0;
	font-family: 'Poppins', sans-serif;
	max-width: inherit;
}
.on-step-1 .form-step-dots {
    display: none;
}

.on-step-1 .form-step-wrp {
    padding-top: 74px;
}

.on-step-4 .form-step-dots {
    padding-bottom: 22px;
}

.form-step-dots {
    padding: 50px 0;
    list-style: none;
    display: flex;
    width: 100%;
    align-items: center;
    justify-content: center;
    margin: 0;
}

.form-step-dots li {
    background: #289F37;
    display: flex;
    width: 20px;
    height: 20px;
    border-radius: 50%;
    border: 4px solid #289F37;
    margin: 0 15px;
}

.form-step-dots li.active {
    cursor: pointer;
}
.form-step-dots li.active.next{
	cursor: auto;
}

.form-step-dots li.current {
    background: #A6DAAD;
}
.form-step-wrp .current {
    display: flex;
}
.form-step-wrp fieldset {
    margin-inline: 0;
    padding-block: 0;
    padding-inline: 0;
    border: none;
    display: none;
}
.continueBtn[type="button"]{
	height: 55px;
	background-color: transparent;
}
.next-button {
    width: 55px;
    height: 55px;
    border-radius: 50%;
    background: url(../img/go-arrow.svg) center no-repeat;
    font-size: 0;
    border: none;
    outline: none;
    display: flex;
    margin: 0 auto;
    cursor: pointer;
	position: absolute;
    left: 0;
    right: 0;
    bottom: 20px;
}

.form-step-wrp .next,
.submit-btn {
    display: none;
}

.form-step-wrp .step-one {
    flex-flow: row wrap;
    width: 100%;
    padding: 70px;
}

.form-step-wrp .step-one {
    flex-flow: row wrap;
    width: 100%;
    padding: 0 70px;
}

.step-one h1 {
    font-weight: 700;
    font-size: 70px;
    text-transform: uppercase;
    color: #fff;
	font-family: 'Aptly', sans-serif !important;
	line-height: 77px;
	margin: 0;
	text-align: center;
}

.step-one p {
    font-weight: 400;
    font-size: 18px;
    text-align: center;
    letter-spacing: .01em;
    color: #fff;
    margin: 20px auto 40px;
    max-width: 260px;
    line-height: 24px;
}

.step-form-field {
    display: flex;
    flex-direction: column;
    width: 100%;
    margin-bottom: 44px;
}

.step-form-field label {
    font-weight: 500;
    font-size: 30px;
    text-align: center;
    width: 100%;
    color: #fff;
    margin-bottom: 30px;
	font-family: 'Poppins', sans-serif;
	line-height: 33px;
}

.step-form-field .form-control {
    padding: 14px;
    border: none;
    border-radius: 10px;
    height: 72px;
    outline: none;
    background: #fff;
	font-family: 'Poppins', sans-serif;
}
.location-icon {
    position: relative;
}
.location-icon img {
    position: absolute;
    right: 14px;
    top: 16px;
}
.second-step {
    padding: 0 53px;
    width: 100%;
    height: 285px;
    display: flex;
    flex-direction: column;
    justify-content: center;
}
.mr-b-0{
	margin-bottom: 0!important;
}

.step-heading {
    margin-bottom: 30px;
    font-weight: 300;
    font-size: 28px;
    color: #fff;
    display: block;
    width: 100%;
	font-family: 'Poppins', sans-serif;
	line-height: 33px;
}
.step-heading b {
    font-weight: 500;
	font-family: 'Poppins', sans-serif;
}

.step-form .form-check label {
    font-weight: 400;
    font-size: 24px;
    color: #fff;
    padding-left: 12px;
	font-family: 'Poppins', sans-serif;
	line-height: 26px;
}

.step-form .form-check {
    margin-bottom: 30px;
    display: flex;
    align-items: center;
	height: 43px;
}

.step-form .form-check input[type=radio] {
    min-width: 22px;
    width: 22px;
    height: 22px;
    margin-bottom: 0;
    margin-right: 8px;
    text-align: center;
    line-height: 22px;
    vertical-align: middle;
    border: 2px solid #ffffff;
    -moz-appearance: none;
    -webkit-appearance: none;
    border-radius: 50%;
	background: transparent;
}

.step-form .form-check input[type=radio]:checked:after {
    content: '';
    width: 10px;
    height: 10px;
    position: relative;
    top: -3px;
    border-radius: 50%;
    display: inline-block;
    background-color: #ffffff;
}
span.more-info {
    font-size: 14px;
    color: #ffffff;
    display: flex;
    margin-top: 5px;
}
.third-step {
    padding: 0 53px;
    width: 100%;
    height: 285px;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.forth-step {
    padding: 0 55px;
    width: 100%;
}
.forth-step .step-heading{
	margin-bottom: 20px;
}
.fifth-step {
    padding: 0 24px;
	width: 100%;
}
.fifth-step .custom-loader-inline {
    left: 0;
    right: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    top: 0;
    bottom: 0;
}
.fifth-step small {
    color: #FFFFFF;
    font-size: 12px;
    display: flex;
    justify-content: center;
}
.fifth-step .choose-timeslot ul .date-not-available{
	height: 260px;
    font-size: 22px;
    color: #fff;
    line-height: 26px;
    font-weight: 400;
    max-width: inherit;
}
.on-step-5 .form-step-dots{
	padding-bottom: 20px;
}
.selected-date {
    font-weight: 500;
    font-size: 28px;
    text-transform: uppercase;
    color: #fff;
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    line-height: 34px;
}

.choose-timeslot {
    margin: 15px 0 20px;
}

.choose-timeslot ul {
    list-style: none;
    padding: 0;
    display: flex;
    flex-flow: row wrap;
    margin: 0;
    max-height: 242px;
    overflow-y: auto;
    width: 100%;
}

.choose-timeslot ul .date-not-available {
    text-align: center;
    line-height: 20px;
    font-size: 13px;
    max-width: 320px;
    margin: auto;
    height: 335px;
    display: flex;
    align-items: center;
}

.choose-timeslot ul li {
    font-family: 'Poppins', sans-serif;
    border-radius: 22px;
    border: solid 2px rgb(255 255 255 / 30%);
    color: #fff;
    font-size: 22px;
    font-weight: 300;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 8px 5px;
    cursor: pointer;
    padding: 4px;
    width: calc(33.33% - 10px);
}
.choose-timeslot ul li.selected-slot {
    border: solid 1px #1b75bb;
    background-color: rgb(27 117 187);
    color: #ffffff;
}


 /* Book time slot Celander UI */
.step-form .book-availble-timeslot {
    position: relative;
    margin-bottom: 15px;
}
.step-form .book-availble-timeslot .current-date {
    font-size: 13px;
    font-weight: 600;
    color: #777;
    font-family: 'Poppins', sans-serif;
    position: absolute;
    top: 25px;
    left: 0;
    z-index: 9;
}
.step-form .book-availble-timeslot .ui-datepicker .ui-datepicker-calendar {
    display: flex;
    width: 100%;
    flex-wrap: wrap;
}
.step-form .book-availble-timeslot .ui-widget.ui-widget-content {
    width: 100%;
    border: none;
    padding: 0;
    border-radius: 0;
}
.step-form .book-availble-timeslot .ui-datepicker td span,
.step-form .book-availble-timeslot .ui-datepicker td a {
    width: 100%;
    height: 30px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-family: 'Poppins', sans-serif;
    color: #fff;
    font-size: 13px;
    font-weight: 300;
    background: transparent;
    position: relative;
    z-index: 1;
    border: none;
    text-decoration: none;
}
.step-form .book-availble-timeslot .ui-datepicker td a::after {
    content: "";
    width: 24px;
    height: 24px;
    position: absolute;
    background: transparent;
    border-radius: 50%;
    border: 1px solid transparent;
    z-index: -1;
}
.step-form .book-availble-timeslot .ui-datepicker td {
    padding: 0;
	border: none;
	width: 24px;
}
.step-form .book-availble-timeslot .ui-datepicker th {
    line-height: 1.33;
    font-weight: 500;
    font-family: 'Poppins', sans-serif;
    font-size: 10px;
    color: #fff;
    text-transform: uppercase;
    padding: 7px 5px;
	text-align: center;
	border: none;
}
.step-form .book-availble-timeslot .ui-datepicker .ui-datepicker-header {
    padding: 0;
    border: none;
    display: flex;
    flex-flow: row wrap;
}
.step-form .book-availble-timeslot .ui-datepicker .ui-datepicker-next {
    position: absolute;
    top: 12px;
    right: 10px;
    display: flex;
}
.step-form .book-availble-timeslot .ui-datepicker .ui-datepicker-prev {
    position: absolute;
    top: 12px;
    right: 30px;
    display: flex;
}
.step-form .book-availble-timeslot .ui-datepicker .ui-datepicker-calendar thead,
.step-form .book-availble-timeslot .ui-datepicker .ui-datepicker-calendar tbody {
    width: 100%;
}
.step-form .book-availble-timeslot .ui-datepicker tbody tr,
.step-form .book-availble-timeslot .ui-datepicker .ui-datepicker-calendar thead tr{
    display: flex;
    justify-content: space-between;
    width: 100%;
}
.book-availble-timeslot .ui-datepicker .ui-datepicker-title {
    margin: 0;
    display: flex;
    flex-flow: row wrap;
}
.step-form .book-availble-timeslot .ui-state-disabled,
.step-form .book-availble-timeslot .ui-widget-content .ui-state-disabled,
.step-form .book-availble-timeslot .ui-widget-header .ui-state-disabled {
    opacity: 1;
}
.step-form .book-availble-timeslot .ui-state-disabled a,
.step-form .book-availble-timeslot .ui-widget-content .ui-state-disabled a,
.step-form .book-availble-timeslot .ui-widget-header .ui-state-disabled a .book-availble-timeslot .ui-state-disabled span,
.step-form .book-availble-timeslot .ui-widget-content .ui-state-disabled span,
.step-form .book-availble-timeslot .ui-widget-header .ui-state-disabled span {
    color: #289336;
    pointer-events: none;
}
.step-form .book-availble-timeslot .ui-datepicker select.ui-datepicker-month,
.step-form .book-availble-timeslot .ui-datepicker select.ui-datepicker-year {
    font-size: 14px;
    color: #ffffff;
    font-family: 'Poppins', sans-serif;
    height: auto;
    padding: 5px 0px;
    max-width: 85px;
    margin-right: 4px;
    border: none;
    outline: none;
    pointer-events: none;
    width: auto !important;
    appearance: none;
    font-weight: 500;
    line-height: 22px;
    background: transparent;
    text-transform: uppercase;
	margin-bottom: 0;
}
.step-form .book-availble-timeslot .ui-datepicker td span:hover,
.step-form .book-availble-timeslot .ui-datepicker td a.ui-state-default:hover,
.step-form .book-availble-timeslot .ui-datepicker td a.ui-state-active {
    color: #ffffff;
}
.step-form .book-availble-timeslot .ui-datepicker td span:hover::after,
.step-form .book-availble-timeslot .ui-datepicker td a.ui-state-default:hover::after,
.step-form .book-availble-timeslot .ui-datepicker td a.ui-state-active::after {
    background: #1b75bb;
    border: 1px solid transparent;
}
.step-form .book-availble-timeslot .ui-datepicker td a.ui-state-default.ui-state-highlight.ui-state-active {
    color: #fff;
}
.step-form .book-availble-timeslot .ui-datepicker td a.ui-state-default.ui-state-highlight.ui-state-active:after {
    background-color: #1b75bb;
	border-color: #1b75bb;
}
.step-form .book-availble-timeslot .ui-datepicker td.ui-state-disabled+td a.ui-state-highlight::after {
    background: transparent;
    border: 1px solid #fff;
    z-index: -1;
}
.step-form .book-availble-timeslot .ui-datepicker td.ui-state-disabled+td a.ui-state-highlight {
    color: #fff;
    text-decoration: none;
}
.step-form .book-availble-timeslot .ui-datepicker .ui-datepicker-prev .ui-icon,
.step-form .book-availble-timeslot .ui-datepicker .ui-datepicker-next .ui-icon {
    font-size: 0;
	cursor: pointer;
}
.step-form .book-availble-timeslot .ui-datepicker .ui-datepicker-prev .ui-icon::after {
    content: "";
    width: 6px;
    height: 6px;
    display: flex;
    border-top: 2px solid #fff;
    border-left: 2px solid #fff;
    transform: rotate(315deg);
}
.step-form .book-availble-timeslot .ui-datepicker .ui-datepicker-next .ui-icon:after {
    content: "";
    width: 6px;
    height: 6px;
    display: flex;
    border-top: 2px solid #fff;
    border-left: 2px solid #fff;
    transform: rotate(134deg);
}


 /* ===== Scrollbar CSS =====  */
 /* Firefox */
.choose-timeslot ul {
    scrollbar-width: auto;
    scrollbar-color: #ffffff #289336;
}

.no-insurance-modal, .have-medicare-modal {
    padding: 63px 53px 0;
    position: absolute;
    top: 0;
    left: 0;
    background: #39B549;
    border-radius: 100px;
    width: 100%;
    max-width: 480px;
    height: 530px;
    display: none;
}
.no-insurance-modal.show, .have-medicare-modal.show{
	display: block;
}
.no-insurance-modal .pop-body p,
.have-medicare-modal .pop-body p{
    font-weight: 400;
    font-size: 22px;
    color: #fff;
    font-family: 'Poppins', sans-serif;
    line-height: 26px;
}
.no-insurance-modal .pop-body a,
.have-medicare-modal .pop-body a{
    font-weight: 400;
    font-size: 22px;
    color: #fff;
    font-family: 'Poppins', sans-serif;
    line-height: 26px;
    text-decoration: underline;
	cursor: pointer;
}
.no-insurance-modal .pop-body a:hover,
.have-medicare-modal .pop-body a:hover{
	color: #fff;
	text-decoration: none;
}
.have-medicare-modal .pop-body .content{
	min-height: 356px;
    display: flex;
    flex-direction: column;
    justify-content: center;
}
.back-button {
    width: 55px;
    height: 55px;
    border-radius: 50%;
    background: url(../img/go-arrow.svg) center no-repeat;
    font-size: 0;
    border: none;
    outline: none;
    display: flex;
    margin: 25px auto 0;
    cursor: pointer;
    transform: rotateY(180deg);
	outline: none;
}

/* Chrome, Edge, and Safari */
.choose-timeslot ul::-webkit-scrollbar {
    width: 10px;
	border-radius: 10px;
}
.choose-timeslot ul::-webkit-scrollbar-track {
    background: #289336;
	border-radius: 10px;
}
.choose-timeslot ul::-webkit-scrollbar-thumb {
    background-color:  #ffffff;
    border-radius: 10px;
    border: 0px solid #289336;
}
.action-button {
    display: flex;
}
.action-button .saveAppointment{
	height: 55px;
	background-color: transparent;
}

/* Custom Loader Css */
.custom-loader-inline{
	display: inline-flex;
    width: auto;
    position: absolute;
    right: 10px;
    top: 0;
    bottom: 16px;
    margin: auto;
    align-items: center;
}
.custom-loader-inline::after{
	content: '';
    width: 38px;
    height: 38px;
    animation: loading 1s infinite linear;
    border: 4px solid #e6e6e6;
    border-top-color: #1b75bb;
    border-radius: 50%;
}
.step-form.fixed {
   position: fixed;
  	top: 10px;
}
.action-button .saveAppointment {
    right: -110px;
}
.page-loader-wrapper {
    position: relative;
    min-height: 150px;
    display: flex;
    align-items: center;
    justify-content: center;
}
.page-loader-wrapper .custom-loader-inline {
    position: relative;
}

#back-from-time-not-available{
    position: absolute;
    left: -65px;
    right: 0;
    bottom: 20px;
}
#back-from-time-not-available.no-next-button{
	left: 0;
}

/*  Cookies modal style 2024 */
.cky-notice-group p {
    max-width: 1000px;
    display: block !important;
    font-size: 16px;
    color: #515151;
    font-family: "Poppins", sans-serif;
}
.cky-notice-btn-wrapper .cky-btn-do-not-sell {
    font-weight: 600 !important;
    border-radius: 6px !important;
    padding: 6px 20px !important;
    background-color: #000 !important;
    color: #fff !important;
    text-align: center !important;
}
.cky-consent-bar .cky-banner-btn-close{
    right: 20px !important;
    top: 15px !important;
}
.cky-consent-bar .cky-banner-btn-close img {
    height: 15px !important;
    width: 12px !important;
}
.cky-consent-container .cky-consent-bar:before {
    content: "";
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(0, 0, 0, 0.46);
    z-index: -1;
}
.cky-preference-body-wrapper .cky-opt-out-checkbox-wrapper .cky-opt-out-checkbox-label{
    font-size: 0 !important;
    display: flex;
}
.cky-preference-body-wrapper .cky-opt-out-checkbox-wrapper .cky-opt-out-checkbox-label:after {
    content: "Do Not Sell or Share My Personal Information";
    font-size: 16px;
}
.scroll-manage{
    scroll-margin-top: 6.25rem;
}

@keyframes loading{
	to{
		transform: rotate(2turn);
	}
}
@media (max-width: 1300px) and (min-width: 1024px){
    .step-one h1, .heading-with-underline h2{
        font-size: 52px;
        text-align: center;
    }
    .step-form-field label{
        font-size: 24px;
    }
    .form-step-wrp .step-one{
        padding: 0 40px;
    }
	.forth-step, .third-step, .second-step{
		padding: 0 30px;
		height: auto;
		min-height: 330px;
		max-width: 410px;
		margin: 0 auto;
	}
	.forth-step .step-heading{
		font-size: 24px;
		line-height: 28px;
		margin-bottom: 15px;
	}
	.step-heading{
		font-size: 22px;
	}
	.step-form .form-check{
		height: auto;
		margin-bottom: 25px;
	}
	.step-form .form-check label{
		font-size: 20px;
	}
	span.more-info{
		font-size: 13px;
	}
	.no-insurance-modal .pop-body p, .have-medicare-modal .pop-body p, .no-insurance-modal .pop-body a, .have-medicare-modal .pop-body a{
		font-size: 18px;
		line-height: 23px;
	}
	.choose-timeslot ul li{
		font-size: 16px;
	}
}
@media (min-width: 1024px) {
	.telehealth-visit  .container {
		max-width: 990px;
	}
    .cky-consent-container .cky-consent-bar {
        padding: 24px 100px !important;
    }
}
@media (max-width: 1024px) and (min-width: 768px){
	.step-form-widget .elementor-shortcode{
		justify-content: center !important;
	}
	.step-form{
		max-width: 460px;
		margin: 15px auto 30px;
		position: relative !important;
		top: auto !important;
	}
	.second-step, .third-step{
		height: 330px;
	}
	.step-heading{
		font-size: 26px;
	}
	.step-form .form-check label{
		font-size: 22px;
	}
	.step-form .form-check{
		margin-bottom: 20px;
	}
	.step-form .book-availble-timeslot .ui-datepicker .ui-datepicker-next{
		right: 7px;
	}
	.step-form .book-availble-timeslot .ui-datepicker .ui-datepicker-prev{
		right: 35px;
	}
}

@media (max-width: 768px){
	.step-form-widget .elementor-shortcode{
		justify-content: center !important;
	}
	.custom-loader-inline::after{
		width: 28px;
		height: 28px;
		border-width: 3px;
	}
	.have-medicare-modal .pop-body .content{
		min-height: 280px;
	}
	.step-one p{
		font-size: 18px;
		margin: 20px auto 25px;
	}
	.step-form-field label {
		font-size: 20px;
		margin-bottom: 15px;
	}
	.form-step-wrp .step-one{
        padding: 0 28px;
    }
    .on-step-1 .form-step-wrp{
        padding-top: 50px;
    }
    .step-one h1{
        margin: 0;
        font-size: 42px;
        text-align: center;
        line-height: 46px;
    }
    .step-form{
        height: 400px;
        border-radius: 50px;
        max-width: 360px;
        margin: 0 auto;
		position: relative !important;
		top: auto !important;
    }
	.no-insurance-modal, .have-medicare-modal{
		height: 400px;
        border-radius: 50px;
		padding: 28px;
	}
	.no-insurance-modal .pop-body p, .have-medicare-modal .pop-body p,
	.no-insurance-modal .pop-body a, .have-medicare-modal .pop-body a{
		font-size: 16px;
		line-height: 22px;
	}
    .step-form-field .form-control{
        height: 48px;
        font-size: 15px;
        appearance: none;
    }
    .location-icon img{
        width: 19px;
        top: 12px;
    }
    .next-button, .back-button, .next-button{
        width: 45px;
        height: 45px;
        background-size: contain;
    }
    .step-form-field{
        margin-bottom: 10px;
    }
    .form-step-dots{
        padding: 35px 0;
    }
    .form-step-dots li{
        width: 17px;
        height: 17px;
        margin: 0 8px;
    }
    .second-step, .third-step, .forth-step{
        margin: 0;
        padding: 0 28px;
        min-height: 230px;
        height: auto;
    }
    .step-heading{
        font-size: 22px;
        line-height: 26px;
        margin-bottom: 20px;
    }
    .step-form .form-check label{
        font-size: 18px;
    }
    .step-form .form-check{
        margin-bottom: 20px;
        height: auto;
    }
    .step-form .field-error{
        font-size: 14px;
        bottom: 72px;
    }
    .forth-step .step-heading{
        margin-bottom: 15px;
    }
    .fifth-step .choose-timeslot ul .date-not-available{
        height: 160px !important;
        font-size: 18px;
        line-height: 22px;
    }
	span.more-info{
		font-size: 13px;
		line-height: 17px;
	}
    .step-form .book-availble-timeslot .ui-datepicker td span, 
    .step-form .book-availble-timeslot .ui-datepicker td a{
        font-size: 12px;
        height: 22px;
    }
	.on-step-4 .form-step-dots {
		padding: 25px 0 15px;
	}
	.step-form .book-availble-timeslot select{
		margin-bottom: 0;
	}
	.choose-timeslot ul li{
		font-size: 16px;
	}
	.selected-date{
		font-size: 22px;
		line-height: 28px;
	}
	.choose-timeslot ul{
		max-height: 164px;
	}
	.action-button .saveAppointment {
		height: 45px;
		background-color: transparent;
		right: -70px;
	}
	.step-form .book-availble-timeslot .ui-datepicker .ui-datepicker-next{
		right: 7px;
	}
	.step-form .book-availble-timeslot .ui-datepicker .ui-datepicker-prev{
		right: 35px;
	}
	.step-form .book-availble-timeslot .ui-datepicker select.ui-datepicker-month, .step-form .book-availble-timeslot .ui-datepicker select.ui-datepicker-year{
		padding: 2px 0;
	}
}