/* =Box Sizing
========================================================================================*/
* { -webkit-box-sizing:border-box; -moz-box-sizing: border-box; -o-box-sizing: border-box; -ms-box-sizing: border-box; box-sizing: border-box; }
*:before, *:after { -webkit-box-sizing: border-box; -moz-box-sizing: border-box; -o-box-sizing: border-box; -ms-box-sizing: border-box; box-sizing: border-box; }
input[type="text"], input[type="password"], input[type="email"], input[type="tel"], input[type="search"], textarea, select, input[type="button"], input[type="submit"], button { -webkit-box-sizing: border-box; -moz-box-sizing: border-box; -o-box-sizing: border-box; -ms-box-sizing: border-box; box-sizing: border-box;  }

/* =Form Css
========================================================================================*/
.btn { font-size: 1rem; border-radius: 50px; border: 0; padding: 0.6rem 3rem; box-shadow: none !important; text-decoration: none; border-width: 1px; border-style: solid; }
a.btn { text-decoration: none; }
.btn.btn-primary { background-color: #425BCF; border-color: #425BCF;; color: #fff; }
.btn.btn-primary:hover, .btn.btn-primary:focus { background-color: #00001E; border-color: #00001E; color: #fff; }
.btn.btn-lg { font-size: 1.5rem; }
.btn.btn-outline-primary { background-color: #fff; color: #425BCF; border: 1px solid #425BCF; }
.btn.btn-outline-primary:hover, .btn.btn-outline-primary:focus { background-color: #425BCF; color: #fff; border-color: #425BCF; }
.form-group { position: relative; margin-bottom: 1rem; }
.form-control { box-shadow: none !important; font-size: 16px; color: #00001E; border: 1px solid #00001e; border-radius: 8px; height: 48px; padding: 15px; position: relative; z-index: 1; background-color: transparent; width: 100%; font-family: 'Poppins', sans-serif; -webkit-transition:all 350ms; transition:all 350ms; }
.form-control ~ label { font-size: 16px; position: absolute; left: 10px; top: 11px; margin: 0; letter-spacing: normal; padding:0 7px; color: #514F5F; font-weight: normal; pointer-events: none; z-index: 1; -webkit-transition:all 350ms; transition:all 350ms; }
textarea.form-control { height: 106px; resize: none; }
.form-control.small-textarea { height: 70px; }
.form-control:focus ~ label, .form-control.filled:focus ~ label, .form-control.filled ~ label { color: #00001e; font-size: 10px; top:5px; z-index: 2; top: 1px; background: transparent; padding: 0.3rem 7px; }
.form-control:focus { border-color:#425BCF; }
.form-control.unfilled  { border-color:#e7211e; }
.form-control.unfilled ~ label, .form-control.unfilled:focus ~ label  { color:#e7211e; }
.btn-check:checked + .btn-outline-primary, .btn-check + .btn-outline-primary:hover { background-color: #809fff!important; border-color: #425BCF; color: #00001E!important; }
label.btn.btn-outline-primary.sa-steps.unfilled { color: #e7211e; border-color: #e7211e; }
.form-check { position: relative; }
.form-check .form-check-input { opacity: 0; }
.form-check .form-check-input[type="radio"] + .form-check-label::after { content: ""; position: absolute; border: 1px solid #425BCF; left: 0; top: 4px; height: 16px; width: 16px; border-radius: 50px; }
.form-check .form-check-input[type="radio"] + .form-check-label::before { content: ""; position: absolute; left: 3px; top: 7px; height: 10px; width: 10px; border-radius: 50px; background-color: #425BCF; opacity: 0; z-index: 1; }
.form-check .form-check-input:checked[type="radio"]  + .form-check-label::after { background-color: #809fff; }
.form-check .form-check-input:checked[type="radio"]  + .form-check-label::before { opacity: 1; }
.form-check label { color: #00001e; }
#loader-overlay { position: fixed; /* Ensure the overlay covers the entire screen */ top: 0; left: 0; width: 100%; height: 100%; background-color: rgba(0, 0, 0, 0.5); /* Semi-transparent black background */ z-index: 9999; /* High z-index to make sure it's on top of other elements */ display: flex; /* Flexbox to center the loader */ justify-content: center; /* Center horizontally */ align-items: center; /* Center vertically */ }
#loader img { width: 100px; /* Adjust the size of the loader image */ height: 100px; background: #fff; }
.card h5 { font-size: 1rem; font-weight: 600; font-family:system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans","Liberation Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji"; }
.time-slot-list > .form-group { display: flex; }
.time-slot-list > .form-group h5 { width: 80px; padding-right: 1rem; min-width: 80px; text-align: left !important; margin-top: 13px; }
.time-slot-list .btn-checkbox .btn { box-shadow: 0 0 20px rgba(159,180,217,0.25) !important; white-space: nowrap; margin: 0; }
.time-slot-list .btn-checkbox .btn-check:checked + .btn-outline-primary, .time-slot-list .btn-checkbox .btn-check + .btn-outline-primary:hover { background-color: #425BCF !important; border-color: #425BCF; color: #ffffff !important; box-shadow: 0 0 20px rgba(66, 91, 207,0.25) !important; }
.time-slot-list .btn-checkbox { margin-right: 0.5rem; }
#wizard-container h2 { font-size: 1.35rem; font-weight: 800; }
#wizard-container h4 { font-size: 1.2rem; font-weight: 500; }
#wizard-container h3 { font-weight: 700; }
#wizard-container .form-group label { font-weight: 600; font-size: 0.9rem; margin-bottom: 0.2rem; }
.dob-input { position: relative; }
.dob-input figure svg { width: 100%; height: auto; fill: #000; }
.dob-input figure { position: absolute; right: 10px; top: 8px; height: 22px; width: 22px; pointer-events: none; }
.dob-input .form-control { padding-right: 40px; }
.confirm-appointment-date figure svg path { fill: #000; }
.confirm-appointment-date figure { position: absolute; left: 0; top: 10px; width: 60px; }
.confirm-appointment-date .lead { font-weight: 700; font-size: 1.3rem; }
.confirm-appointment-date { color: #000;  position: relative;  font-size: 0.9rem;padding-left: calc(60px + 1rem); }
#wizard-container .confirm-appointment-date h2 { font-size: 1.75rem; }
.appointment-row { display: flex; align-items: center; /* Aligns items vertically in the middle */ gap: 10px; /* Optional: Adds space between the elements */ }
.appointment-row h4, .appointment-row h3 { margin: 0; /* Removes any default margin */ }
.select-date-dropdown .datepicker { font-weight: 600; font-size: 0.9rem; border-radius: 8px; border-color: #00001e; color: #00001e; padding: 0.6rem 1rem; height: auto; max-width: 130px; text-align: center; }
.radio-round { height: 14px; width: 14px; min-width: 14px; border: 1px solid #00001E; border-radius: 50px; margin: 0.4rem 0.4rem 0 0; position: relative; }
.btn-check:checked + .btn-outline-primary .radio-round { background: #809FFF; }
.radio-round::after { content: ""; position: absolute; left: 0; right: 0; top: 0; bottom: 0; height: 8px; width: 8px; background: #00001E; margin: auto; border-radius: 50px; }
.btn-check:checked + .btn-outline-primary .radio-round:after { opacity: 1; visibility: visible; }
.time-check-list .btn { font-size: 0.9rem; }
.time-check-list { flex-wrap: nowrap; position: relative; overflow: auto; }

.btn-checkbox .btn { border-radius: 8px; border-color: #00001e; color: #00001e; padding: 0.6rem 1rem; }
.btn-radio-lg { position: relative; }
.btn-radio-lg .btn { padding: 1.1rem 2.5rem; border-radius: 8px; }
.check-ico { position: absolute; top: 0.5rem; right: 0.5rem; height: 1rem; width: 1rem; background: #425BCF; border-radius: 50%; display: flex; align-items: center; justify-content: center; opacity: 0; visibility: hidden; transition: 0.25s all; padding: 0.23rem; }
.check-ico svg { width: 100%; height: auto; display: block; }
.btn-check:checked + .btn-outline-primary .check-ico { opacity: 1; visibility: visible; }
.bottom-btn-box { padding-top: 1rem; }
@media only screen and (max-width: 767px) {
	.ui-datepicker-inline {
	    width: 100% !important;
	}

	.ui-widget.ui-widget-content{
	   width: 100%;
     /* max-width: 248px;*/
	}

	.ui-datepicker .ui-datepicker-title { display:flex; align-items:center; justify-content: center;
        gap: 5px;  }

	.ui-widget.ui-widget-content .ui-state-disabled span {
	    background: #f0f4f8;
	    border-color: #bfcbd7;
	    opacity: 1;
	}

	.ui-widget.ui-widget-content td .ui-state-default.ui-state-active {
	    background: #425BCF;
	    color: #fff;
	    border-color: #425BCF;
	}

	.ui-widget.ui-widget-content td .ui-state-default {
	    background: #fff;
	    padding: 6px 10px;
	}

	.ui-datepicker .ui-datepicker-header {
	    background: #fff;
	}

	/*.ui-widget.ui-widget-content {
	    padding: 0;
	    border: 0;
	}*/
.ui-datepicker-inline { font-size: 0.9rem; }
.ui-widget.ui-widget-content td .ui-state-default { padding: 5px; }
}


.ui-datepicker .not-available a {
   /* background-color: #f8d7da !important;
    color: #721c24;
    border-radius: 50%;*/
    cursor: not-allowed; /* Show not-allowed cursor */
}
.ui-datepicker .not-available a:hover {
   /* background-color: #f5c6cb;
    color: #721c24;*/
}