.elementor-1146 .elementor-element.elementor-element-8e703f3{--display:flex;}.elementor-1146 .elementor-element.elementor-element-39ca913d{--display:flex;}.elementor-1146 .elementor-element.elementor-element-4d236cff{--display:flex;}.elementor-1146 .elementor-element.elementor-element-4776c405{--display:flex;}.elementor-1146 .elementor-element.elementor-element-3acc2da5{--display:flex;}.elementor-1146 .elementor-element.elementor-element-1c39ad34{--display:flex;}.elementor-1146 .elementor-element.elementor-element-447b7469{--display:flex;}.elementor-1146 .elementor-element.elementor-element-15294828{--display:flex;}/* Start custom CSS for container, class: .elementor-element-39ca913d *//* =========================================
   BOOKING FORM BASE
========================================= */

.tb-booking {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
}

.tb-booking__step {
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
}


/* =========================================
   GRID BASE
========================================= */

.tb-booking__grid {
    display: grid !important;
    width: 100% !important;
    align-items: end !important;
    column-gap: 28px !important;
    row-gap: 22px !important;
}


/* =========================================
   STEP 1 DESKTOP
========================================= */

.tb-booking__grid--trip {
    grid-template-columns:
        minmax(150px, 0.9fr)
        minmax(220px, 1.5fr)
        minmax(220px, 1.5fr)
        minmax(160px, 0.9fr) !important;
}


/* Force second row to be compact */

.tb-booking__control--time {
    grid-column: 1 !important;
}

.tb-booking__control--passengers {
    grid-column: 2 !important;

    width: 100% !important;
    max-width: 190px !important;

    justify-self: start !important;
}

.tb-booking__grid--trip .tb-booking__control--action {
    grid-column: 3 !important;

    width: 100% !important;
    max-width: 400px !important;

    justify-self: start !important;
}


/* =========================================
   STEP 2 DESKTOP
========================================= */

.tb-booking__grid--customer {
    grid-template-columns:
        minmax(180px, 1fr)
        minmax(200px, 1fr)
        minmax(180px, 1fr)
        minmax(170px, 0.8fr) !important;
}


/* =========================================
   CONTROLS
========================================= */

.tb-booking__control {
    width: 100% !important;
    min-width: 0 !important;

    margin: 0 !important;
    padding: 0 !important;
}

.tb-booking__label {
    display: block !important;

    margin: 0 0 8px 0 !important;
    padding: 0 !important;

    font-size: 16px !important;
    line-height: 1.25 !important;
    font-weight: 600 !important;
}


/* =========================================
   FIELD CONTAINER
========================================= */

.tb-booking__field {
    position: relative !important;

    width: 100% !important;

    margin: 0 !important;
    padding: 0 !important;
}


/* =========================================
   CF7 WRAPPERS
========================================= */

.tb-booking .wpcf7-form-control-wrap {
    display: block !important;

    width: 100% !important;

    margin: 0 !important;
    padding: 0 !important;
}


/* =========================================
   INPUTS / SELECTS
========================================= */

.tb-booking__input,
.tb-booking__select,
.tb-booking input[type="text"],
.tb-booking input[type="email"],
.tb-booking input[type="tel"],
.tb-booking input[type="number"],
.tb-booking input[type="date"],
.tb-booking select {

    width: 100% !important;
    height: 56px !important;

    margin: 0 !important;

    padding: 0 46px 0 20px !important;

    border-width: 1px !important;
    border-style: solid !important;

    border-radius: 0 !important;

    box-sizing: border-box !important;

    font-size: 16px !important;
    line-height: 1 !important;

    box-shadow: none !important;
    outline: none !important;
}


/* Select */

.tb-booking select {
    padding-right: 38px !important;
}


/* =========================================
   ICONS
========================================= */

.tb-booking__icon {
    position: absolute !important;

    right: 18px !important;
    top: 50% !important;

    transform: translateY(-50%) !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    pointer-events: none !important;

    z-index: 2 !important;

    font-size: 20px !important;
}


/* =========================================
   BOOKING TYPE
========================================= */

.tb-booking__control--type {
    min-width: 150px !important;
}


/* =========================================
   LOCATION FIELDS
========================================= */

.tb-booking__control--location {
    min-width: 0 !important;
}


/* =========================================
   PASSENGERS
========================================= */

.tb-booking__control--passengers input {
    padding-right: 42px !important;
}


/* =========================================
   DATE / TIME
========================================= */

.tb-booking__control--date {
    min-width: 155px !important;
}

.tb-booking__control--time {
    min-width: 155px !important;
}


/* =========================================
   DURATION
========================================= */

.tb-booking__control--duration {
    min-width: 180px !important;
}


/* =========================================
   ACTION BUTTON
========================================= */

.tb-booking__control--action {
    align-self: end !important;
}

.tb-booking__button {
    width: 100% !important;

    height: 56px !important;
    min-height: 56px !important;

    margin: 0 !important;
    padding: 0 24px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    gap: 10px !important;

    border: 0 !important;
    border-radius: 0 !important;

    cursor: pointer !important;

    font-size: 15px !important;
    line-height: 1 !important;
    font-weight: 700 !important;

    text-transform: uppercase !important;
    white-space: nowrap !important;

    box-shadow: none !important;
}

.tb-booking__button-icon {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
}


/* =========================================
   BACK BUTTON
========================================= */

.tb-booking__control--back {
    max-width: 120px !important;
}

.tb-booking__button--back {
    min-height: 56px !important;
}


/* =========================================
   CF7 VALIDATION
========================================= */

.tb-booking .wpcf7-not-valid-tip {
    display: block !important;

    margin-top: 5px !important;

    font-size: 12px !important;
    line-height: 1.2 !important;
}

.tb-booking .wpcf7-response-output {
    margin: 15px 0 0 0 !important;
}


/* =========================================
   TABLET
========================================= */

@media (max-width: 1100px) {

    .tb-booking__grid {
        column-gap: 18px !important;
        row-gap: 18px !important;
    }

    .tb-booking__grid--trip,
    .tb-booking__grid--customer {
        grid-template-columns:
            repeat(3, minmax(0, 1fr)) !important;
    }


    /* Remove desktop forced positions */

    .tb-booking__control--time,
    .tb-booking__control--passengers,
    .tb-booking__grid--trip .tb-booking__control--action {
        grid-column: auto !important;
    }


    .tb-booking__control--passengers,
    .tb-booking__grid--trip .tb-booking__control--action {
        width: 100% !important;
        max-width: none !important;

        justify-self: stretch !important;
    }

}


/* =========================================
   MOBILE
========================================= */

@media (max-width: 767px) {

    .tb-booking__grid {
        grid-template-columns:
            repeat(2, minmax(0, 1fr)) !important;

        column-gap: 10px !important;
        row-gap: 12px !important;
    }


    /* Labels */

    .tb-booking__label {
        margin-bottom: 5px !important;

        font-size: 13px !important;
        line-height: 1.15 !important;
    }


    /* Fields */

    .tb-booking__input,
    .tb-booking__select,
    .tb-booking input[type="text"],
    .tb-booking input[type="email"],
    .tb-booking input[type="tel"],
    .tb-booking input[type="number"],
    .tb-booking input[type="date"],
    .tb-booking select {

        height: 48px !important;

        padding-left: 12px !important;
        padding-right: 36px !important;

        font-size: 14px !important;
    }


    /* Icons */

    .tb-booking__icon {
        right: 12px !important;

        font-size: 17px !important;
    }


    /* Booking type */

    .tb-booking__control--type {
        grid-column: span 1 !important;

        min-width: 0 !important;
    }


    /* Date */

    .tb-booking__control--date {
        grid-column: span 1 !important;

        min-width: 0 !important;
    }


    /* Locations full width */

    .tb-booking__control--location {
        grid-column: span 2 !important;
    }


    /* Hourly duration full width */

    .tb-booking__control--duration {
        grid-column: span 2 !important;

        min-width: 0 !important;
    }


    /* Time */

    .tb-booking__control--time {
        grid-column: span 1 !important;

        min-width: 0 !important;
    }


    /* Passenger field beside time */

    .tb-booking__control--passengers {
        grid-column: span 1 !important;

        width: 100% !important;
        max-width: 100% !important;

        justify-self: stretch !important;
    }


    /* Continue full width */

    .tb-booking__grid--trip .tb-booking__control--action {
        grid-column: span 2 !important;

        width: 100% !important;
        max-width: none !important;

        justify-self: stretch !important;
    }


    /* Buttons */

    .tb-booking__button {
        height: 48px !important;
        min-height: 48px !important;

        padding: 0 16px !important;

        font-size: 13px !important;
    }


    /* =========================================
       STEP 2 MOBILE
    ========================================= */

    .tb-booking__grid--customer
    .tb-booking__control:not(.tb-booking__control--back):not(.tb-booking__control--action) {

        grid-column: span 2 !important;
    }


    /* Back and submit side by side */

    .tb-booking__control--back {
        grid-column: span 1 !important;

        width: 100% !important;
        max-width: none !important;
    }


    .tb-booking__grid--customer
    .tb-booking__control--action {

        grid-column: span 1 !important;

        width: 100% !important;
        max-width: none !important;
    }

}


/* =========================================
   VERY SMALL MOBILE
========================================= */

@media (max-width: 420px) {

    .tb-booking__grid {
        column-gap: 8px !important;
        row-gap: 10px !important;
    }


    .tb-booking__label {
        font-size: 12px !important;
    }


    .tb-booking__input,
    .tb-booking__select,
    .tb-booking input[type="text"],
    .tb-booking input[type="email"],
    .tb-booking input[type="tel"],
    .tb-booking input[type="number"],
    .tb-booking input[type="date"],
    .tb-booking select {

        height: 45px !important;

        padding-left: 10px !important;
        padding-right: 32px !important;

        font-size: 13px !important;
    }


    .tb-booking__icon {
        right: 10px !important;

        font-size: 16px !important;
    }


    .tb-booking__button {
        height: 45px !important;
        min-height: 45px !important;

        padding: 0 12px !important;

        font-size: 12px !important;
    }

}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-4776c405 *//* ==============================================
   TRANSFERBCN – EQUAL VEHICLE CARDS AND IMAGES
============================================== */

/* Equal carousel item heights */
.taxi-rates-two__carousel .owl-stage {
    display: flex !important;
    align-items: stretch !important;
}

.taxi-rates-two__carousel .owl-item {
    display: flex !important;
    float: none !important;
    height: auto !important;
}

.taxi-rates-two__carousel .owl-item > .item {
    display: flex !important;
    width: 100% !important;
    height: 100% !important;
}


/* Equal card heights */
.taxi-rates-two__carousel .taxi-card {
    display: flex !important;
    flex-direction: column !important;
    width: 100% !important;
    height: 100% !important;
}

.taxi-rates-two__carousel .taxi-card__inner {
    display: flex !important;
    flex-direction: column !important;
    flex: 1 1 auto !important;
    width: 100% !important;
    height: 100% !important;
}


/* Fixed image area */
.taxi-rates-two__carousel .taxi-card__image {
    position: relative !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex: 0 0 133px !important;
    width: 100% !important;
    height: 133px !important;
    min-height: 133px !important;
    max-height: 133px !important;
    overflow: visible !important;
}


/* Every vehicle image: 270 × 133px */
.taxi-rates-two__carousel .taxi-card__image img {
    display: block !important;
    width: 270px !important;
    height: 133px !important;
    min-width: 270px !important;
    max-width: 270px !important;
    min-height: 133px !important;
    max-height: 133px !important;
    object-fit: contain !important;
    object-position: center center !important;
    margin: 0 auto !important;
}


/* Equal content area */
.taxi-rates-two__carousel .taxi-card__content {
    display: flex !important;
    flex-direction: column !important;
    flex: 1 1 auto !important;
    width: 100% !important;
    height: auto !important;
}


/* Align titles and subtitles */
.taxi-rates-two__carousel .taxi-card__title {
    min-height: 36px !important;
}

.taxi-rates-two__carousel .taxi-card__company {
    min-height: 30px !important;
}


/* Equal specification rows */
.taxi-rates-two__carousel .taxi-card__list {
    display: flex !important;
    flex-direction: column !important;
    flex: 1 1 auto !important;
    width: 100% !important;
}

.taxi-rates-two__carousel .taxi-card__list li {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    min-height: 56px !important;
    gap: 15px !important;
}

.taxi-rates-two__carousel .taxi-card__list li span:first-child {
    flex: 0 0 auto !important;
}

.taxi-rates-two__carousel .taxi-card__list li span:last-child {
    flex: 1 1 auto !important;
    text-align: right !important;
}


/* Align buttons at bottom */
.taxi-rates-two__carousel .taxi-card__content > .cityride-btn {
    margin-top: auto !important;
    align-self: flex-start !important;
}


/* Mobile adjustments */
@media only screen and (max-width: 480px) {
    .taxi-rates-two__carousel .taxi-card__image img {
        width: 270px !important;
        height: 133px !important;
        min-width: 0 !important;
        max-width: 100% !important;
    }

    .taxi-rates-two__carousel .taxi-card__list li {
        min-height: 52px !important;
    }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-447b7469 *//* Fix testimonial horizontal overflow */
.cityride-stretch-element-inside-column {
    width: 100% !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    overflow: hidden !important;
}

.testimonials-two__carousel,
.testimonials-two__carousel .owl-stage-outer {
    width: 100% !important;
    max-width: 100% !important;
    overflow: hidden !important;
}

.testimonials-two__carousel .owl-stage {
    max-width: none !important;
}

/* Keep this testimonial section inside the viewport. */
.elementor-1146 .elementor-element.elementor-element-447b7469 {
    width: 100%;
    max-width: 100%;
    min-width: 0;
    overflow: hidden;
}

.elementor-1146 .elementor-element.elementor-element-447b7469,
.elementor-1146 .elementor-element.elementor-element-447b7469 * {
    box-sizing: border-box;
}

.elementor-1146 .elementor-element.elementor-element-447b7469 .elementor-widget,
.elementor-1146 .elementor-element.elementor-element-447b7469 .elementor-widget-container,
.elementor-1146 .elementor-element.elementor-element-447b7469 .container,
.elementor-1146 .elementor-element.elementor-element-447b7469 .row,
.elementor-1146 .elementor-element.elementor-element-447b7469 [class*='col-'],
.elementor-1146 .elementor-element.elementor-element-447b7469 .testimonials-two__carousel {
    min-width: 0;
    max-width: 100%;
}

/* The theme adds a negative inline margin here to stretch the carousel.
   Override it because it widens the document on desktop and mobile. */
.elementor-1146 .elementor-element.elementor-element-447b7469 .cityride-stretch-element-inside-column {
    width: 100% !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    overflow: hidden;
}

/* Owl's stage is deliberately wider; only its viewport should be visible. */
.elementor-1146 .elementor-element.elementor-element-447b7469 .owl-carousel,
.elementor-1146 .elementor-element.elementor-element-447b7469 .owl-stage-outer {
    width: 100%;
    max-width: 100%;
    overflow: hidden !important;
}

.elementor-1146 .elementor-element.elementor-element-447b7469 .owl-stage {
    max-width: none;
}

.elementor-1146 .elementor-element.elementor-element-447b7469 img,
.elementor-1146 .elementor-element.elementor-element-447b7469 svg {
    max-width: 100%;
}

.elementor-1146 .elementor-element.elementor-element-447b7469 .testimonial-card-two__quote,
.elementor-1146 .elementor-element.elementor-element-447b7469 .testimonial-card-two__name,
.elementor-1146 .elementor-element.elementor-element-447b7469 .testimonial-card-two__designation {
    overflow-wrap: anywhere;
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-15294828 */ul.list-unstyled.blog-card__meta {
    display: none !important;
}/* End custom CSS */