[x-cloak] {
    display: none !important;
}
.bs-search-wrapper {
    display: flex !important;
    gap: 16px !important;
    margin-bottom: 40px !important;
}
.bs-search-column {
    display: flex !important;
    gap: 16px !important;
    width: 66.666% !important;
}
.bs-date-column {
    display: flex !important;
    gap: 16px !important;
    width: 33.333% !important;
}
.bs-cta-wrapper {
    display: flex !important;
    justify-content: center !important;
    padding-bottom: 68px !important;
    margin-bottom: 28px !important;
    border-bottom: 0.125rem solid #ebebeb !important;
}
.bs-search-wrapper input {
    width: 100% !important;
    box-sizing: border-box !important;
}

.bs-search-dropdown-content {
    position: absolute !important;
    left: 0 !important;
    right: 0 !important;
    top: calc(100% + 16px) !important;
    border-radius: 16px !important;
    border: 1px solid #818b89 !important;
    background-color: white !important;
    padding: 8px 0 !important;
    max-height: 18.75rem !important;
    overflow-y: scroll !important;
    z-index: 50 !important;
}

.bs-search-dropdown-content ul {
    list-style-type: none !important;
    padding: 0 !important;
    margin: 0 !important;
}
.bs-search-dropdown-content ul li {
    font-size: 16px !important;
    line-height: 22px !important;
    font-weight: 400 !important;
    color: #818b89 !important;
    padding: 8px 24px !important;
    cursor: pointer !important;
}
.bs-input-wrapper {
    position: relative !important;
    flex: 1 !important;
}
.bs-label {
    font-family: inherit !important;
    font-size: 16px !important;
    line-height: 22px !important;
    font-weight: 700 !important;
    color: #222e2b !important;
    margin-bottom: 8px !important;
    display: block !important;
    cursor: pointer !important;
    white-space: nowrap !important;
}
.bs-input {
    display: flex !important;
    align-items: center !important;
    padding: 12px 16px !important;
    border-radius: 32px !important;
    border: 1px solid #818b89 !important;
    height: 44px !important;
    font-size: 16px !important;
    line-height: 22px !important;
    font-weight: 400 !important;
    font-family: inherit !important;
    color: #818b89 !important;
    box-sizing: border-box !important;
    width: 100% !important;
    background-color: #fff !important;
}
.bs-input--icon-wrapper {
    position: relative !important;
    box-sizing: border-box !important;
}
.bs-input--icon-wrapper svg {
    position: absolute !important;
    left: 16px !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
}
.bs-input--icon__input-el {
    position: absolute !important;
    left: 0 !important;
    top: 0 !important;
    width: 100% !important;
    height: 100% !important;
    padding-left: 40px !important;
    border-radius: 32px !important;
    border: none !important;
    outline: none !important;
    background-color: transparent !important;
    font-size: 16px !important;
    line-height: 22px !important;
    font-weight: 400 !important;
    color: #818b89 !important;
    font-family: inherit !important;
}
.bs-results-wrapper {
    display: flex !important;
    flex-direction: column !important;
    width: 100% !important;
    gap: 16px !important;
    margin-bottom: 4rem;
}
.bs-results-wrapper .bs-results-title {
    margin-top: 0 !important;
    margin-bottom: 32px !important;
}
.bs-results-title {
    font-size: 32px !important;
    line-height: 1.1 !important;
}
.bs-results-item {
    display: flex !important;

    justify-content: space-between !important;
    align-items: center !important;
    padding: 16px 32px !important;
    border: 0.125rem solid #a1be95 !important;
    border-radius: 20px !important;
    background-color: white !important;
    margin-bottom: 32px !important;
}
.bs-results-item:last-child {
    margin-bottom: 0 !important;
}
.bs-results-item--left {
    height: 100% !important;
    min-width: 160px !important;
    border-right: 0.0625rem solid #a1be95 !important;
    padding-right: 1rem !important;
}
.bs-results-item--left .bs-time {
    font-size: 24px !important;
    line-height: 28px !important;
    font-weight: 600 !important;
    color: #222e2b !important;
    margin: 0 !important;
}
.bs-results-item--left span {
    font-size: 12px !important;
    line-height: 16px !important;
    font-weight: 400 !important;
    color: #818b89 !important;
}
.bs-results-item--middle {
    padding-left: 1rem !important;
    flex: 1 !important;
    padding-right: 1rem !important;
}
.bs-results-item--middle .route-title {
    font-size: 20px !important;
    line-height: 28px !important;
    font-weight: 400 !important;
    color: #222e2b !important;
    margin: 0 !important;
}
.bs-results-item--right {
    width: 35% !important;
    display: flex !important;
    justify-content: flex-end !important;
    align-items: center !important;
}
.as-results-item--right {
    width: 45% !important;
}
.bs-button {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 0.75rem 2.5rem !important;
    font-size: 1.25rem !important;
    line-height: 1.75rem !important;
    font-weight: 400 !important;
    color: white !important;
    background-color: #a1be95 !important;
    border-radius: 3.125rem !important;
    height: 3.25rem !important;
    max-height: 3.25rem !important;
    outline: none !important;
    border: none !important;
    cursor: pointer !important;
    flex: 1 !important;
    min-width: 12rem !important;
    max-width: 15.25rem !important;
    white-space: nowrap !important;
}
.bs-button.as-button {
    background-color: #df7a5e !important;
}
.bs-button.as-button.as-button--secondary {
    background-color: transparent !important;
    color: #df7a5e !important;
    border-color: #df7a5e !important;
}
.bs-button.as-button.as-button--secondary svg {
    margin-left: 1rem !important;
}
.bs-button:disabled {
    cursor: not-allowed !important;
}
.bs-modal-wrapper {
    position: fixed !important;
    inset: 0 !important;
    display: flex;
    justify-content: center !important;
    align-items: center !important;
    z-index: 9999 !important;
}
.bs-modal-overlay {
    background-color: #222e2b !important;
    backdrop-filter: blur(1.25rem) !important;
    opacity: 0.8 !important;
    position: fixed !important;
    inset: 0 !important;
    z-index: 9999 !important;
}
.bs-button-icon {
    width: 32px !important;
    height: 32px !important;
    position: absolute !important;
    top: 16px !important;
    right: 16px !important;
    background-color: transparent !important;
    border: none !important;
    outline: none !important;
    cursor: pointer !important;
    z-index: 999 !important;
}
.bs-modal-content {
    display: flex !important;
    border-radius: 20px !important;
    overflow: hidden !important;
    width: 70% !important;
    position: relative !important;
    z-index: 99999 !important;
    background-color: white !important;
    height: 65vh !important;
    max-height: 90vh !important;
}
.bs-modal-content--left {
    width: 50% !important;
    height: 100% !important;
    z-index: 10 !important;
    padding: 32px !important;
    box-sizing: border-box !important;
    overflow-y: auto !important;
    -ms-overflow-style: none !important; /* IE and Edge */
    scrollbar-width: none !important; /* Firefox */
}
/* Hide scrollbar for Chrome, Safari and Opera */
.bs-modal-content--left::-webkit-scrollbar {
    display: none !important;
}
.bs-modal-content--right {
    width: 50% !important;
    position: relative !important;
}
.bs-modal-head {
    padding-bottom: 20px !important;
    border-bottom: 0.0625rem solid #7a946f !important;
}
.bs-modal-title {
    font-size: 20px !important;
    line-height: 28px !important;
    font-weight: 400 !important;

    margin: 0 !important;
}
.bs-route-schedule {
    padding-top: 20px !important;
    padding-bottom: 12px !important;
}
.bs-route-schedule-item {
    display: flex !important;
    align-items: center !important;
}
.bs-route-schedule-item--left {
    width: 48px !important;
    min-width: 48px !important;
    max-width: 48px !important;
    height: 48px !important;
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    position: relative !important;
    margin-right: 24px !important;
}
.bs-route-schedule-item--left::before {
    position: absolute !important;
    left: 50% !important;
    top: 0 !important;
    bottom: 0 !important;
    content: "" !important;
    width: 0.0625rem !important;
    background-color: #b2c6b6 !important;
    z-index: 10 !important;
}
.bs-route-schedule-item__dot--small {
    width: 16px !important;
    height: 16px !important;
    background-color: #b2c6b6 !important;
    border-radius: 50% !important;
}
.bs-route-schedule-item__dot--large {
    width: 100% !important;
    height: 100% !important;
    background-color: #b2c6b6 !important;
    border-radius: 50% !important;
    font-size: 20px !important;
    line-height: 28px !important;
    font-weight: 400 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    z-index: 20 !important;
    pointer-events: none !important;
}
.bs-user-choice {
    border: 0.0625rem solid black !important;
}
.bs-route-schedule-time {
    font-size: 16px !important;
    line-height: 22px !important;
    font-weight: 700 !important;
    min-width: 48px !important;
    margin-right: 16px !important;
    color: #222e2b !important;
}
.bs-route-schedule-stop {
    font-size: 16px !important;
    line-height: 22px !important;
    font-weight: 400 !important;
    color: #222e2b !important;
}
.bs-route-map {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
}
.leaflet-control-attribution {
    display: none !important;
}
.flatpickr-calendar {
    box-shadow: none !important;
    border: 1px solid #818b89 !important;
}
.flatpickr-day.selected,
.flatpickr-day.selected:focus,
.flatpickr-day.selected:hover,
.flatpickr-day.selected.nextMonthDay {
    background-color: #a1be96 !important;
    border-color: #a1be96 !important;
    color: #fff !important;
}
.flatpickr-day.today {
    border-color: #a1be96 !important;
}
.flatpickr-day:hover {
    border-color: #ebebeb !important;
}
.flatpickr-months .flatpickr-prev-month:hover svg,
.flatpickr-months .flatpickr-next-month:hover svg {
    fill: #a1be96 !important;
}
.flatpickr-current-month {
    display: flex !important;
    align-items: flex-start !important;
    justify-content: center !important;
}
.numInputWrapper {
    order: -1 !important;
}
.flatpickr-time .numInput {
    background-color: transparent !important;
    font-size: 16px !important;
    line-height: 22px !important;
    font-weight: 400 !important;
    color: #818b89 !important;
    font-family: inherit !important;
    width: 40px !important;
}

.flatpickr-time input.flatpickr-hour {
    font-weight: normal !important;
}
.numInputWrapper:hover,
.flatpickr-time input:hover,
.flatpickr-time .flatpickr-am-pm:hover,
.flatpickr-time input:focus,
.flatpickr-time .flatpickr-am-pm:focus {
    background-color: transparent !important;
    background: transparent !important;
}
.flatpickr-calendar.hasTime.noCalendar {
    border-radius: 32px !important;
    overflow: hidden !important;
    box-shadow: none !important;
    border: none !important;
    background-color: transparent !important;
    width: unset !important;
    position: absolute !important;
    left: 32px !important;
    top: 0 !important;
    bottom: 0 !important;
}
.flatpickr-calendar.hasTime .flatpickr-time {
    border-top: none !important;
}
.flatpickr-time-separator {
    order: -1 !important;
}
.flatpickr-day.nextMonthDay {
    color: #a1be96 !important;
}
/* Assemblies Start */
.as-search-wrapper {
    display: flex !important;
    gap: 16px !important;
    margin-bottom: 40px !important;
}
.as-search-column {
    flex: 1 !important;
}
.as-categories-header {
    font-size: 1rem !important;
    line-height: 1.375rem !important;
    font-weight: 400 !important;
    color: #222e2b !important;
    margin-bottom: 1rem !important;
}
.as-categories-wrapper {
    display: flex !important;
    flex-wrap: wrap !important;
    margin-bottom: 1rem !important;
}
.as-category-button {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 0.375rem 1rem !important;
    min-height: 1.125rem !important;
    background-color: #f2d9d2 !important;
    border-radius: 2rem !important;
    border: none !important;
    font-size: 0.75rem !important;
    line-height: 1rem !important;
    font-weight: 400 !important;
    margin-right: 1rem !important;
    margin-bottom: 1rem !important;
    color: black !important;
    border: 1px solid transparent !important;
}
.as-button--secondary {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    box-sizing: border-box !important;
    border: 0.0625rem solid #b75b48 !important;
    color: #b75b48 !important;
    text-decoration: none !important;
    width: fit-content !important;
}
.as-button-wrapper {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    justify-content: flex-end !important;
    gap: 1rem !important;
}
.as-assempbly-type-title {
    font-family: inherit !important;
    font-size: 1.25rem !important;
    line-height: 1.5rem !important;
    font-weight: 700 !important;
    color: #222e2b !important;
    margin-bottom: 0.5rem !important;
    margin-top: 0 !important;
}
.as-address {
    font-family: inherit !important;
    font-size: 1rem !important;
    line-height: 1.5rem !important;
    font-weight: 400 !important;
    color: #818b89 !important;
}
.as-modal-content {
    display: flex !important;
    min-height: 23.5rem !important;
}
.as-results-item--left {
    width: 15.75rem !important;
    padding-right: 1.25rem !important;
    width: 25% !important;
}
.as-modal-content--left {
    flex: 1 !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: space-between !important;
    width: 65% !important;
    box-sizing: border-box !important;
    height: unset !important;
}
.as-results-item--middle {
    padding-left: 1.5rem !important;
    padding-right: 1.5rem !important;
    flex: unset !important;
    flex-grow: 1 !important;
}
.as-modal-content--right {
    width: 35% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}
.as-modal-head {
    border-bottom: 0.0625rem solid #df7a5e !important;
    padding-bottom: 1.25rem !important;
    margin-bottom: 1.25rem !important;
}
.as-modal-title {
    font-size: 1.25rem !important;
    line-height: 1.5rem !important;
    font-weight: 700 !important;
    margin-bottom: 1.25rem !important;
    color: #222e2b !important;
}
.as-modal-subtitle {
    font-size: 1rem !important;
    line-height: 1.375rem !important;
    font-weight: 400 !important;
    color: #818b89 !important;
}
.as-modal-body {
    flex: 1 !important;
    display: flex !important;
    justify-content: space-between !important;
    flex-direction: column !important;
}
.as-modal-address {
    font-size: 1rem !important;
    font-weight: 400 !important;
    line-height: 1.4rem !important;
    color: #818b89 !important;
}
.as-modal-content--right {
    background-color: #ebebeb !important;
}
.as-calendar + .flatpickr-calendar {
    width: 100% !important;
    height: 100% !important;
    background-color: transparent !important;
    border: none !important;
}
.as-calendar + .flatpickr-calendar .flatpickr-months {
    position: relative !important;
    margin-bottom: 2.25rem !important;
    margin-top: 3rem !important;
    max-width: 307.875px !important;
    margin-left: auto !important;
    margin-right: auto !important;
}
.as-calendar + .flatpickr-calendar .flatpickr-prev-month {
    left: unset !important;
    right: 15% !important;
}
.as-calendar + .flatpickr-calendar .flatpickr-next-month {
    right: 0 !important;
}
.as-calendar + .flatpickr-calendar .flatpickr-monthDropdown-months {
    appearance: none !important;
}
.flatpickr-current-month .flatpickr-monthDropdown-months {
    padding: 0 !important;
    height: auto !important;
}
.as-calendar + .flatpickr-calendar .flatpickr-current-month {
    position: static !important;
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    padding: 0 !important;
}

.as-calendar + .flatpickr-calendar .flatpickr-months .flatpickr-month {
    max-width: 307.875px !important;
    margin: 0 auto !important;
    padding-left: 1rem !important;
}
.as-calendar + .flatpickr-calendar .flatpickr-current-month .numInputWrapper {
    order: 5 !important;
}

.as-calendar + .flatpickr-calendar .flatpickr-weekdays {
    margin-bottom: 1.25rem !important;
}
.as-calendar + .flatpickr-calendar .flatpickr-weekday {
    font-size: 1rem !important;
    line-height: 1.25rem !important;
    font-weight: 500 !important;
}

.as-calendar + .flatpickr-calendar .flatpickr-day {
    color: #818b89 !important;
}
.as-calendar + .flatpickr-calendar .flatpickr-day.selected {
    background-color: #df7a5e !important;
    border-color: #df7a5e !important;
    color: #fff !important;
}
.as-calendar + .flatpickr-calendar .flatpickr-day.prevMonthDay,
.as-calendar + .flatpickr-calendar .flatpickr-day.nextMonthDay {
    opacity: 0 !important;
}
.as-calendar + .flatpickr-calendar .flatpickr-innerContainer {
    pointer-events: none !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}

.as-calendar + .flatpickr-calendar .numInputWrapper .arrowUp,
.as-calendar + .flatpickr-calendar .numInputWrapper .arrowDown {
    display: none !important;
}
.numInput {
    background-color: transparent !important;
    border: none !important;
    padding: 0 !important;
}
.bs-invalid {
    border: 1px solid #b75b48 !important;
    background-color: #df7a5e !important;
}
.bs-not-fount-head {
    display: block !important;
    font-size: 14px !important;
}
.bs-not-found-body {
    display: block !important;
    font-size: 12px !important;
}
@media (max-width: 1440px) {
    .as-modal-content--right {
        width: 45% !important;
    }
}
@media (max-width: 1280px) {
    .bs-search-wrapper {
        flex-wrap: wrap !important;
    }
    .bs-search-column {
        width: 100% !important;
    }
    .bs-date-column {
        width: 100% !important;
    }
    .bs-results-item {
        flex-wrap: wrap !important;
    }
    .as-results-item--right {
        width: 100% !important;
        margin-top: 2rem !important;
    }
    .as-results-item--right .as-button-wrapper {
        width: 100% !important;
    }
    .as-results-item--right .as-button-wrapper .as-button {
        flex: 1 !important;
        max-width: unset !important;
    }
}
@media (max-width: 992px) {
    .bs-modal-content {
        width: 90% !important;
    }
    .bs-results-wrapper {
        gap: 0 !important;
    }
    .bs-results-item--middle,
    .bs-results-item--right {
        margin-top: 2rem !important;
    }
    .as-results-item--middle,
    .as-results-item--right {
        margin-top: 1rem !important;
    }
    .bs-results-item--left,
    .bs-results-item--middle,
    .bs-results-item--right {
        width: 100% !important;
    }
    .bs-results-item--left {
        border-right: none !important;
        border-bottom: 0.0625rem solid #a1be95 !important;
        padding-bottom: 1rem !important;
    }
    .bs-results-item--middle {
        padding-left: 0 !important;
        padding-right: 0 !important;
    }

    .bs-search-column,
    .bs-date-column {
        width: 100% !important;
    }
    .as-search-wrapper {
        flex-direction: column !important;
    }
    .as-button-wrapper {
        gap: 0.5rem !important;
    }
    .bs-button {
        min-width: 100% !important;
    }

    .bs-modal-content--left {
        width: 100% !important;
        height: auto !important;
    }
    .bs-modal-content {
        flex-direction: column !important;
        overflow-y: scroll !important;
        height: 70vh !important;
    }

    .bs-modal-content--right {
        width: 100% !important;
        flex: 1 !important;
        margin-top: auto !important;
    }
}
@media (max-width: 576px) {
    .bs-modal-content {
        width: 100% !important;
        height: 100dvh !important;
        max-height: 100vh !important;
        border-radius: 0 !important;
    }

    .bs-search-column,
    .bs-date-column {
        flex-wrap: wrap !important;
    }
    .bs-input-wrapper {
        flex: unset !important;
        width: 100% !important;
    }
    .bs-cta-wrapper .bs-button {
        min-width: 100% !important;
    }
}

.bs-toggle-switch {
    position: relative;
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 215px;
    height: 44px;
    cursor: pointer;
    text-transform: none;
    background-color: white;
}

.bs-toggle-input {
    position: absolute;
    height: 100%;
    appearance: none;
    background-color: transparent !important;
    border: none !important;
}

.bs-toggle-label {
    position: absolute;
    font-size: 14px;
    font-weight: 500;
    line-height: 1.25rem;
    transition: color 0.3s ease-in-out;
    color: black;
}

.bs-from-start {
    left: 28px;
    z-index: 99;
}

.bs-back-to-start {
    right: 32px;
    z-index: 99;
}

.bs-toggle-slider {
    width: 100%;
    height: 44px;
    display: flex;
    align-items: center;
    flex-shrink: 0;
    padding: 4px;
    border: 1px solid #818b89 !important;
    border-radius: 999px;
    position: relative;
    transition: all 0.3s ease-in-out;
}

.bs-toggle-slider::after {
    content: "";
    width: 105px;
    height: 36px;
    background: #a1be95 !important;
    border-radius: 999px;
    transition: left right 3s ease-in-out;
    position: absolute;
    left: 4px;
}

/* Toggle styles when checked */
.bs-toggle-slider.bs-toggle-active::after {
    left: auto;
    right: 4px;
}

.bs-toggle-active {
    color: white;
}
