*{padding: 0;margin: 0;text-decoration: none;font-family:"Montserrat", sans-serif;}
body {             font-family: "Montserrat", sans-serif;             margin: 0;             padding: 0;         }
#map-container {display: flex;justify-content: center;align-items: center;flex-direction: column;}
#form-container {             width: 400px;             margin-top: 20px;         }
.input-container input[type="text"] {width: calc(100% - 32px);padding: 8px;font-size: 16px;border: 1px solid #ccc;border-radius: 5px;box-sizing: border-box;}
.current-location-label {
    display: none;
    position: absolute;
    top: 100%;
    left: 0;
    background-color: #fff;
    border: 1px solid #ccc;
    border-top: none;
    border-radius: 0 0 5px 5px;
    padding: 5px;
    z-index: 1000; /* Ensure it's above the autocomplete dropdown */
}
.current-location-label label {
    display: block;
    cursor: pointer;
}
.btn-container {
    margin-top: 10px;
}
button {
    padding: 10px 20px;
    font-size: 16px;
    cursor: pointer;
    background-color: #007bff;
    color: #fff;
    border: none;
    border-radius: 5px;
}
button:hover {
    background-color: #0056b3;
}
#distance {
    margin-top: 20px;
    font-size: 18px;
}
#map {
    height: 400px;
    width: 400px;
    margin-top: 20px;
}
.header_inner a svg {     width: 20px;     height: 20px; }
.header_inner a {     font-size: 16px;     font-weight: 400;     color: #faa918;     text-decoration: none; }

.header_inner {
display: flex;
justify-content: space-between;
}
header {
padding: 30px 0;
}
.panel {
display: none;
overflow: hidden;
}
section.steps_to_book .booking_step button.accordion {
width: 100%;
display: flex;
background-color: #faa918;
align-items: center;
color: #fff;
font-size: 16px;
font-weight: 600;
justify-content: space-between;
}
section.steps_to_book .booking_step button svg {
width: 18px;
height: 18px;
margin-right: 8px;
}
.booking_step #map {
width: 100%;
border-radius: 10px;
aspect-ratio: 1/1;
margin: 0;
}
.booking_form .input_field input {
width: 100%;
}
.booking_form .input_field, .passengers_luggage {
margin: 0 0 15px 0;
width: 100%;
float: left;
}
.booking_step .panel {
padding: 20px 0;
}
.booking_form .input_field label, .passengers_luggage .count_check label {
width: 100%;
margin: 0 0 6px 0;
font-size: 14px;
font-weight: 600;
}
.booking_form div.input_field select, .booking_form div.input_field input {
width: 100%;
padding: 10px 18px;
min-height: 48px;
border: 1px solid #bfbfbf;
border-radius: 10px !important;
outline: none;
appearance: none;
-webkit-appearance: none;
}
.booking_form .input_field button.add_stop_btn {
padding: 0;
background-color: transparent;
color: #faa918;
display: flex;
align-items: center;
margin: 10px 0 10px 20px;
font-size: 13px;
}
.booking_form .input_field button.add_stop_btn svg path {
stroke: #f9a918;
}
div#stops-container input {

margin: 6px 0 10px 0;
font-size: 14px;
padding: 10px;
}
.booking_form .input_field div#stops-container {
padding: 0 0 0px 20px;
display: flex;
justify-content: space-between;
flex-wrap: wrap;
gap: 15px;
}
.booking_form .input_field .btn-container button {
background-color: #faa918;
font-weight: 600;
margin: 0px 0 0 0;
}
.booking_form .input_field .input-container {
position: relative;
width: 100%;
}
.booking_form .input_field .input-container div.current-location-label {
width: 100%;
padding: 0 15px;
}
.booking_form .input_field .input-container div.current-location-label label {
display: flex;
align-items: center;
gap: 10px;
}
.booking_form .input_field .input-container div.current-location-label label input[type="radio"] {
width: 20px;
height: 20px;
}
.passengers_luggage {
display: flex;
gap: 20px;
}
.passengers_luggage .passengers_count {
width: calc(50% - 10px);
}
.passengers_luggage .counter span {
display: inline-block;
cursor: pointer;
}
.passengers_luggage .counter input {
width: 50px;
text-align: center;
-moz-appearance: textfield;
-webkit-appearance: none;
appearance: none;
}

.passengers_luggage .count_check .counter {
display: flex;
align-items: center;
}
.passengers_luggage .count_check .counter .number_count, div.input_field.add_stop .child_seat_count .child_seat_inner div.counter .number_count {
width: 50px;
display: flex;
justify-content: center;
align-items: center;
box-shadow: 0 0 2px 0px #ccc;
min-height: 30px;
margin: 0 10px;
border-radius: 10px !important;
border: 1px solid #bfbfbf;
padding: 10px 18px;
}
.booking_form .input_field.width_half {
width: calc(50% - 10px);
}
.booking_form form {
display: inline-flex;
flex-wrap: wrap;
justify-content: space-between;
}
.booking_form .input_field.add_stop {
margin-bottom: 30px;
}
.child_seat_count {
width: calc(100% - 40px);
margin: 0 auto;
}
div.input_field.add_stop .child_seat_count .child_seat_inner {
display: inline-flex;
flex-wrap: wrap;
align-items: center;
gap: 20px;
padding: 8px;
background-color: #fafafa;
border-radius: 10px;
}
.child_seat_count .child_seat_inner select {
width: 60%;
}
div.input_field.add_stop .child_seat_count .child_seat_inner select {
width: 200px;
font-size: 14px;
padding: 10px 20px 10px 10px;
font-weight: 500;
}
div.input_field.add_stop .child_seat_count .child_seat_inner div.counter {
display: flex;
cursor: pointer;
align-items: center;
}
div.input_field.add_stop .child_seat_count .child_seat_inner span.delete_item, #stops-container .delete_item {
display: inline-block;
padding: 8px;
background-color: #ffdcdc;
border-radius: 10px;
cursor: pointer;
}
div.input_field.add_stop .child_seat_count .child_seat_inner span.delete_item svg, #stops-container .delete_item svg {
width: 20px;
height: 20px;
}
.switch {
position: relative;
display: inline-block;
width: 60px;
height: 24px;
}

.switch input { 
opacity: 0;
width: 0;
height: 0;
}

.slider {
position: absolute;
cursor: pointer;
top: 0;
left: 0;
right: 0;
bottom: 0;
background-color: #ccc;
-webkit-transition: .4s;
transition: .4s;
}

.slider:before {
position: absolute;
content: "";
height: 16px;
width: 16px;
left: 4px;
bottom: 4px;
background-color: white;
-webkit-transition: .4s;
transition: .4s;
}

input:checked + .slider {
background-color: #faa918;
}

input:focus + .slider {
box-shadow: 0 0 1px #faa918;
}

input:checked + .slider:before {
-webkit-transform: translateX(23px);
-ms-transform: translateX(23px);
transform: translateX(23px);
}

/* Rounded sliders */
.slider.round {
border-radius: 34px;
}

.slider.round:before {
border-radius: 50%;
}
.booking_form .input_field .input-container label.switch {
width: 48px;
margin: 0 10px 0 0;
}
div.booking_form div.input_field.assesible_main .input-container {
display: flex;
align-items: center;
}
.tooltip_cstm {
position: relative;
}

.tooltip_cstm .tooltip_box {
position: absolute;
left: calc(100% + 16px);
width: 200px;
font-size: 12px;
line-height: 16px;
font-weight: 500;
box-shadow: 0 0 22px 0px #ccc;
top: 50%;
transform: translateY(-50%);
visibility: hidden;
opacity: 0;
transition: all ease .5s;
}

.tooltip_cstm .tooltip_box p {
margin: 0;
padding: 7px;
background-color: #fff;
position: relative;
z-index: 2;
}

.tooltip_cstm .tooltip_box::after {
content: '';
position: absolute;
width: 15px;
height: 15px;
left: -3px;
top: 50%;
transform: translateY(-50%) rotate(45deg);
background-color: #fff;
}
.tooltip_cstm svg:hover ~ .tooltip_box {
visibility: visible;
opacity: 1;
}
.tooltip_cstm svg {
cursor: pointer;
}
section.steps_to_book .booking_step button.accordion span.click_filter {
float: right;
color: #000;
font-size: 14px;
font-weight: 400;
cursor: pointer;
}
section.steps_to_book .booking_step button.accordion span.click_filter svg {
margin: 0;
}
.select_car_inner img {
width: 100%;
aspect-ratio: 1/0.5;
object-fit: contain;
}

.select_car_inner {
padding: 20px 20px;
background-color: #fdfdfd;
border-radius: 20px;
position: relative;
cursor: pointer;
transition: all ease .5s;
}
.select_car_inner .car_detail h2 {
text-align: center;
font-size: 18px;
font-weight: 600;
color: #000;
margin: 5px 0 14px 0;
}
.car_specification {
display: flex;
justify-content: center;
gap: 15px;
align-items: center;
}

.select_car_inner .space_avail svg {
width: 16px;
height: 16px;
fill: #faa918;
}

.select_car_inner .space_avail span {
display: inline-block;
font-size: 14px;
margin: 0 0 0 1px;
color: #faa918;
font-weight: 500;
}

.ride_price {
text-align: center;
font-size: 22px;
margin: 10px 0 10px 0;
font-weight: 700;
color: #000000;
line-height: normal;
}

.car_specification .space_avail {
padding: 4px 8px;
background-color: #fff2db;
border-radius: 10px;
}

.select_car_inner .car_detail {
text-align: center;
}

.select_car_inner .car_detail a.book_now {
display: inline-block;
margin: auto;
background-color: #faa918;
padding: 8px 16px;
font-size: 16px;
color: #fff;
border-radius: 10px;
margin: 20px auto 0 auto;
text-decoration: none;
}

.select_car_inner:hover {
box-shadow: 0 0 17px 0px #eaeaea;
}

.select_car {
padding: 0 20px;
}
.step_complete_view {
margin: 20px 20px;
padding: 20px;
border-radius: 20px;
box-shadow: 0 0 17px 0px #eaeaea;
}

.step_complete_view .time_selected h3 {
font-size: 20px;
font-weight: 600;
}

.step_complete_view .passenger_selected h4 {
font-size: 18px;
margin: 15px 0 0 0;
}

.step_complete_view .location_selected h3 {
font-size: 18px;
font-weight: 600;
}

.step_complete_view .location_selected h3 span {
font-size: 16px;
font-weight: 400;
margin-left: 4px;
}
.booking_form {
display: flex;
flex-wrap: wrap;
justify-content: space-between;
}

div#ui-datepicker-div {
margin-top: 5px;
border: 0;
box-shadow: 0 0 18px 0px #dedede;
padding: 6px;
}

div#ui-datepicker-div .ui-datepicker-header.ui-widget-header.ui-helper-clearfix.ui-corner-all {
background-color: #f8f8f8;
border: 0;
}

div#ui-datepicker-div a.ui-state-default {
border: 0;
border-radius: 5px;
text-align: center;
}
div#ui-datepicker-div a.ui-state-default.ui-state-highlight {
background-color: rgb(250 169 24 / 60%);
color: #fff;
}
.ui-datepicker-header.ui-widget-header.ui-helper-clearfix.ui-corner-all a.ui-corner-all {
background-color: transparent;
border: 0;
cursor: pointer;
top: 2px !important;
}
.ui-state-active, .ui-widget-content .ui-state-active, .ui-widget-header .ui-state-active, a.ui-button:active, .ui-button:active, .ui-button.ui-state-active:hover {
border: 1px solid #003eff;
background: rgb(250 169 24 / 100%);
font-weight: normal;
color: #ffffff;
}
.popover-header {
background-color: #faa918;
color: #fff;
}
.popover-header button.close.mt-n1 {
background-color: transparent;
color: #fff;
opacity: 1 !important;
margin-top: -3px !important;
}
div.popover.timepicker-popover {
box-shadow: 0 0 18px 0px #dedede;
border: 0;
}
div#timepicker-input-picker-content a.chevron-btn svg path {
fill: #faa918;
}

div#timepicker-input-picker-content a.chevron-btn:hover {
background-color: #f7f7f7;
}
div#timepicker-input-picker-content 
button.btn.meridiem-btn {
background-color: #fff !important;
outline: none;
box-shadow: none;
}
.booking_form div.input_field select {
background-image: url(../images/down-arrow.png);
background-size: 14px;
background-repeat: no-repeat;
background-position: calc(100% - 15px) 50%;
}
.stop-container {
display: flex;
align-items: center;
gap: 10px;
width: calc(50% - 15px);
}
div.stop-container input {
margin: 0;
}
.booking_form .input_field div#stops-container .stop-container input {
margin: 0;
}
button.cancel-btn, button.submit-btn {
background-color: #f8f8f8;
color: #faa918;
border: 0;
box-shadow: 0 0 0px 0px #ccc;
font-size: 14px;
padding: 4px 8px;
margin: 5px 0 0 0;
}
div#originRadio, div#destinationRadio {
padding: 12px 15px;
}

div#originRadio input[type="radio"], div#destinationRadio input[type="radio"] {
padding: 0;
min-height: 20px;
appearance: auto !important;
-webkit-appearance: auto !important;
}
.input_field label.error {
    color: #e80000;
}
div.booking_form div.input_field input.error {
    border-color: #e80000;
}
.loader-path {
    stroke-dasharray: 89,200;
    stroke-dashoffset: -10;
    -webkit-animation: dash 1.5s ease-in-out infinite,color 6s ease-in-out infinite;
    animation: dash 1.5s ease-in-out infinite,color 6s ease-in-out infinite;
    stroke-linecap: round;
    stroke: #faa918;
}
.circular-loader {
    -webkit-animation: rotate 2s linear infinite;
    animation: rotate 2s linear infinite;
    height: 100%;
    -webkit-transform-origin: center center;
    -ms-transform-origin: center center;
    transform-origin: center center;
    width: 100px;
    position: absolute;
    top: 0;
    left: 0;
    margin: auto;
    right: 0;
}
.loader {
    position: fixed;
    margin: 0 auto;
    width: 100%;
    height: 100%;
    top: 50%;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 99;
    transform: translateY(-50%);
}

/* CSS animation for loader */

@keyframes rotate {
    100% {
        -webkit-transform: rotate(360deg);
        transform: rotate(360deg)
    }
}

@-webkit-keyframes dash {
    0% {
        stroke-dasharray: 1,200;
        stroke-dashoffset: 0
    }

    50% {
        stroke-dasharray: 89,200;
        stroke-dashoffset: -35
    }

    100% {
        stroke-dasharray: 89,200;
        stroke-dashoffset: -124
    }
}

@keyframes dash {
    0% {
        stroke-dasharray: 1;
        stroke-dashoffset: 0
    }

    50% {
        stroke-dasharray: 89,200;
        stroke-dashoffset: -35
    }

    100% {
        stroke-dasharray: 89,200;
        stroke-dashoffset: -124
    }
}
