body {
    overflow-x: hidden;
    background-color: #F6F7FB;

    /* Prevent horizontal scrolling */
}

.header-banner-container {
    background-color: #4B2A7B;
    color: white;
    padding: 20px 0 20px 0;
}

.container-fluid.header-container .row {
    min-height: 317px;
}

.powered-by {
    text-align: right;
    font-size: 14px;
}

.header-banner-container h1 {
    font-size: 48px;
    font-weight: 700;
    line-height: 58.61px;
    letter-spacing: -0.02em;
    text-align: left;
}

.powered-by img {
    width: 71px;
}



/* Start of Footer CSS */
.footer {
    background-color: #000;
    padding: 60px 0 10px 0;
}

.footer a {
    color: #fff;
    text-decoration: none;
}

.footer a:hover {
    color: #f76b1c;
}

.footer .contact-info h5 {
    margin-top: 20px;
    margin-bottom: 10px;
}

.footer .btn-orange {
    background-color: #f76b1c;
    color: #fff;
    border: none;
    margin-top: 10px;
    min-width: 200px;
    height: 50px;
    border-radius: 25px;
}

.footer .btn-orange:hover {
    background-color: #e55d16;
}

.footer .social-icons a {
    font-size: 20px;
    margin-right: 15px;
}

.footer .social-icons a:last-child {
    margin-right: 0;
}

.footer .copyright {
    text-align: center;
    margin-top: 5px;
}

.footer ul li {
    line-height: 30px;
}

.footer h6 {
    margin-bottom: 15px;
}


/* End of Footer CSS */

/*SideBar*/
div#map-popup {
    padding: 15px;
    border-radius: 11px;
    margin-bottom: 25px;
    /* position: sticky;
    top: 0; */
}

.bg-gray {
    border: 1.13px solid #D4D4D8;
}

div#map-popup .active-popup>img {
    border-radius: 5px;
    margin-bottom: 7px;
}

.active-popup>img {
    width: 100%;
}

div#map-popup ul,
.location-details ul,
.make-car-x-btns ul {
    list-style: none;
    padding: 0;
}

.location-details {
    color: #000;
}

.location-details ul,
.list-left-right-text ul {
    display: flex;
    flex-direction: column;
}

.active-location .location-details .fa-map-marker,
#map-popup .location-details .fa-map-marker {
    color: #D0011B;
}

.location-details i {
    font-size: 15px;
}

.location-details ul li,
.list-left-right-text ul li {
    justify-content: space-between;
    display: flex;
    align-items: center;
}


.location-details li {
    background: #fff;
    padding: 10px;
    border: 1px solid #D4D4D8;
    border-radius: 6px;
}

.location-details li,
.list-left-right-text ul li {
    font-size: 14px;
    margin-bottom: 10px;
    text-align: right;
}

.distance-heading {
    position: relative;
    padding-left: 30px;
    font-weight: 400;
}

.location-num i {
    margin-right: 12px;
}

span.location-num a {
    color: #000;
    font-weight: 700;
    text-decoration: none;
}

li.active-location span.location-num a,
#map-popup li span.location-num a {
    color: #0070F5;
}

.store-hours-sidebar {
    margin-top: 50px;
    position: relative;
}

.store-hours-sidebar,
.bg-gray .location-search-btn {
    background-color: #fff;
    box-shadow: 0px 4.53px 3.39px 0px #0000001A;
    border-radius: 6px;
    padding: 15px 12px;
}

.store-hours-badge {
    display: flex;
    font-weight: 400;
    letter-spacing: -0.02em;
    background: #0070F5;
    border-radius: 5.66px 5.66px 0px 0px;
    color: #fff;
    padding: 10px;
    width: 141px;
    justify-content: center;
    align-items: center;
    gap: 4px;
    position: absolute;
    top: -40px;
    left: 0;
}

.store-hours-sidebar li {
    font-size: 13px;
}

ul.store-hours-inline li {
    display: flex;
    justify-content: space-between;
    margin-bottom: 10px;
}

.blue-btn {
    background: #0070F5;
    color: #fff !important;
}

a.yellow-btn {
    background: #FFE512;
    color: #000 !important;
    border: 1px solid #000 !important;
}

a.car-x-btn {
    background: #D4D4D8;
    color: #6C737F;
}

a.details-btn {
    background: #9DA4AE;
    color: #fff;
}

a.btn {
    font-size: 13px;
    font-weight: 700;
    padding: 7px 11px;
    border-radius: 5px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    text-align: center;
    border: 1px solid transparent;
    /* max-width: 351px; */
    margin-bottom: 5px;
    text-transform: uppercase;
}

a.btn img,
.location-search-btn li img {
    max-height: 20px;
}

#map-popup .active-popup .location-search-btn,
#map-popup .make-car-x-btns {
    display: block;
}

.location-search-btn {
    margin-top: 15px;
}

.location-search-btn.single-btn ul {
    display: block;
}

#map-popup .active-popup .make-car-x-btns {
    display: none;
}

.location-details li .distance-heading::before {
    content: '';
    background-image: url('../img/appointment/access_time.svg');
    background-repeat: no-repeat;
    width: 20px;
    height: 21px;
    position: absolute;
    left: 0;
}


.blue-btn:hover {
    background: #000;
    color: #fff !important;
}

/*End of Sidebar */

.form-section {
    margin-bottom: 20px;
}

.form-section .form-label img {
    margin-right: 7px;
}

.form-section label span {
    color: #7C7C7C;
    font-size: 12px;
    font-weight: 400;
    margin-left: 28px;
}

.form-section .form-label {
    display: flex;
    align-items: center;
    font-weight: 700;
    margin-bottom: 15px;
    flex-wrap: wrap;
}

.custom-radio {
    display: flex;
    align-items: center;
    padding: 7px 10px;
    border: 1px solid #ddd;
    border-radius: 10px;
    margin-right: 10px;
    background-color: #fff;
    position: relative;
    width: 300px;
    box-shadow: 0px 4px 3px 0px #0000000D;
}

.custom-radio img {
    width: 34px;
    margin-right: 10px;
}

.custom-radio input[type="radio"] {
    opacity: 0;
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    z-index: 10;
    cursor: pointer;
}

.custom-radio .checkmark {
    position: absolute;
    right: 10px;
    top: calc(50% - 10px);
    color: #DEDEDE;
    font-size: 20px;
}

.custom-radio input[type="radio"]:checked~.checkmark {
    color: #0070F5;
}

.custom-radio input[type="radio"]:checked~label {
    font-weight: bold;
}

.comments {
    background: #FCFCFC;
    box-shadow: 0px 4px 3px 0px #0000000D;
    border: 0;
    height: 111px;
    resize: none;
    border-radius: 10px;
    width: calc(100% - 16px);
}

.mini-label {
    display: block;
    font-size: 14px;
    color: #343434;
    font-weight: 700;
    margin-bottom: 7px;
}

select,
input {
    box-shadow: 0px 4px 3px 0px #0000000D;
    width: 100%;
    height: 50px;
    border-radius: 6px;
    border: none !important;
    padding: 0 5px;
}

button.blue-btn {
    width: 300px;
    height: 50px;
    padding: 10px 72px 10px 72px;
    border-radius: 5px;
    float: right;
    margin: 40px 0;
    font-weight: 700;
    text-transform: uppercase;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 5px;
}

.custom-checkbox {
    padding: 11px 21px;
    border-radius: 8px;
    cursor: pointer;
    margin-right: 11px;
    margin-bottom: 15px;
    text-align: center;
    position: relative;
    box-shadow: 0px 4px 3px 0px #0000000D;
    background: #fff;
    border: 1px solid #fff;
    display: flex;
    align-items: center;
    justify-content: center;
}

.custom-checkbox input[type="checkbox"] {
    opacity: 0;
    position: absolute;
    top: 0;
    left: 0;
    cursor: pointer;
}

.custom-checkbox img {
    width: 25px;
}

.custom-checkbox.selected {
    border-color: blue;
    font-weight: bold;
    background-color: #FFE512
}

.custom-checkbox .icon-container i {
    font-size: 20px;
    color: #FFD700;
}

.custom-checkbox.others {
    width: 220px;
}

.custom-checkbox.others .icon-container i {
    color: blue;
}

.service-requested .custom-checkbox span {
    color: #000;
    font-size: 14px;
    font-weight: 700;
    line-height: 15px;
}

.custom-checkbox.others .icon-container img {
    max-width: 20px;
}

.time-slot {
    display: inline-block;
    min-width: 90px;
    margin: 0px 10px 15px 0;
}

.time-slot input[type="radio"] {
    display: none;
}

.time-slot label {
    font-size: 13px;
    font-weight: 600;
    color: #6B7280;
    display: block;
    padding: 12px 8px;
    text-align: center;
    border-radius: 8px;
    /* border: 1px solid #ddd; */
    background-color: #fff;
    cursor: pointer;
}

.time-slot input[type="radio"]:checked+label {
    background-color: #007bff;
    color: white;
    border-color: #007bff;
}

.time-slot label:hover {
    border-color: #007bff;
}

.lightpick,
.lightpick__month {
    width: 100% !important;
}

select.lightpick__select {
    box-shadow: none;
    width: auto;
}

.lightpick__days-of-the-week {
    background-color: #0070F5;
    color: #fff;
    border-radius: 4px;
    padding: 5px 0;
}

.lightpick__previous-action,
.lightpick__next-action,
.lightpick__close-action {
    background: #0070F5 !important;
    color: #fff;
}

select.lightpick__select.lightpick__select-years {
    font-weight: bold;
}

/* ENd of Form Container CSS */

/* Start of Appointment Review CSS */

.review-appointment-container {
    border: 1px solid #D4D4D8;
    border-radius: 10px;
    padding: 15px;
}

.info-box {
    border: 1px solid #e5e5e5;
    border-radius: 8px;
    padding: 20px;
    background: #fff;
}

.icon-box {
    font-size: 20px;
    color: #000;
}

.location-text {
    font-size: 18px;
    font-weight: bold;
}

.confirm-box {
    margin-top: 20px;
}

.btn-custom-red {
    background-color: #EB122E;
    color: #fff;
    min-width: 220px;
    padding: 10px 11px !important;
}

.btn-custom-black {
    background-color: black;
    color: white;
    min-width: 220px;
    padding: 10px 11px !important;
}

.btn-custom-black:hover,
.btn-custom-red:hover {
    background-color: #0070f5;
    color: #fff;
}

.clearfix {
    clear: both;
}

/* End of Appointment Review CSS */

/* Start of Submit Modal Popup CSS */
.fs-14 {
    font-size: 14px;
}

.modal-dialog {
    max-width: 722px;
    z-index: 100000;
}

.modal-body {
    padding: 10px 88px 40px 88px;
}

.modal-content {
    border-radius: 10px;
}

.modal-header {
    border: 0;
}

.error-border {
    border: 1px solid red !important;
}

.table-overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(255, 255, 255, 0.5);
    display: none;
    z-index: 1091;
}

.table-overlay .custom-loader{
    width: 250px;
    /*height: 140px;*/
    object-fit: contain;
    position: absolute;
    top: calc(50% - 71px);
    left: calc(50% - 125px);
}

.lightpick {
    z-index: 1 !important;
}

.border-danger {
    border: 2px solid #dc3545 !important; /* Red border for invalid fields */
}

input:disabled {
    background-color: #f0f0f0;   /* Light gray background */
    color: #ccc;                 /* Gray text color */
    cursor: not-allowed;         /* Change cursor to indicate it's disabled */
    border: 1px solid #ddd;      /* Gray border */
}

input:disabled + label {
    color: #ccc;                     /* Gray text color for the label */
    cursor: not-allowed;             /* Show the not-allowed cursor on label */
}

.color-red {
    color: #eb122e;
}

.confirm-box {
    flex-wrap: wrap;
}

/* End of Submit Modal Popup CSS */

@media only screen and (min-width:767px) {
    .worker-img {
        max-width: 260px;
        margin-bottom: -20px;
    }
}

@media only screen and (max-width:767px) {

    .header-banner-container h1 {
        font-size: 35px;
        line-height: 40px;
        margin: 15px 0 0 0;
    }

    .header-banner-container h1,
    .header-banner-container p {
        text-align: center;
    }

    .worker-img {
        max-width: 130px;
    }

    .custom-radio,
    .custom-checkbox,
    .custom-checkbox.others,
    .comments,
    button.blue-btn {
        width: 100%;
    }

    .custom-checkbox {
        margin-right: 0;
    }

    button.blue-btn {
        margin: 10px 0 20px 0;
    }

    .form-section .form-label,
    .form-section .form-label span {
        display: block;
    }

    .comments {
        height: 80px;
    }

    .info-box {
        font-size: 14px;
    }

    form#location-email-sidebar .checkbox {
        display: inline-flex !important;
    }

    .service-requested .custom-checkbox {
        justify-content: flex-start !important;
        text-align: left;
    }

}

@media only screen and (max-width: 1000px) {

    .store-hours-sidebar li {
        font-size: 11px;
    }

    div#slots {
        margin-top: 20px;
    }

    .custom-radio {
        font-size: 13px;
    }

    .custom-calendar-time .col-md-6 {
        width: 100%;
    }
}
