:root {
    --ion-color-primary: #144366;
    --ion-color-primary-rgb: 20, 67, 102;
    --ion-color-primary-contrast: #ffffff;
    --ion-color-primary-contrast-rgb: 255, 255, 255;
    --ion-color-primary-shade: #123b5a;
    --ion-color-primary-tint: #2c5675;

    --ion-color-secondary: #008dd8;
    --ion-color-secondary-rgb: 0, 141, 216;
    --ion-color-secondary-contrast: #ffffff;
    --ion-color-secondary-contrast-rgb: 255, 255, 255;
    --ion-color-secondary-shade: #007cbe;
    --ion-color-secondary-tint: #1a98dc;
    --ion-color-secondary-background: rgba(26, 152, 220, 0.2);

    --ion-color-tertiary: #008dd8;
    --ion-color-tertiary-rgb: 0, 141, 216;
    --ion-color-tertiary-contrast: #ffffff;
    --ion-color-tertiary-contrast-rgb: 255, 255, 255;
    --ion-color-tertiary-shade: #007cbe;
    --ion-color-tertiary-tint: #1a98dc;

    --ion-color-success: #5cb85c;
    --ion-color-success-rgb: 92, 184, 92;
    --ion-color-success-contrast: #f8f8f8;
    --ion-color-success-contrast-rgb: 0, 0, 0;
    --ion-color-success-shade: #51a251;
    --ion-color-success-tint: #6cbf6c;

    --ion-color-warning: #f0ad4e;
    --ion-color-warning-rgb: 240, 173, 78;
    --ion-color-warning-contrast: #000000;
    --ion-color-warning-contrast-rgb: 0, 0, 0;
    --ion-color-warning-shade: #d39845;
    --ion-color-warning-tint: #f2b560;

    --ion-color-danger: #d9534f;
    --ion-color-danger-rgb: 217, 83, 79;
    --ion-color-danger-contrast: #ffffff;
    --ion-color-danger-contrast-rgb: 255, 255, 255;
    --ion-color-danger-shade: #bf4946;
    --ion-color-danger-tint: #dd6461;

    --ion-color-medium: #999999;
    --ion-color-medium-rgb: 153, 153, 153;
    --ion-color-medium-contrast: #000000;
    --ion-color-medium-contrast-rgb: 0, 0, 0;
    --ion-color-medium-shade: #878787;
    --ion-color-medium-tint: #a3a3a3;

    --ion-color-light: #f4f5f8;
    --ion-color-light-rgb: 244, 245, 248;
    --ion-color-light-contrast: #000000;
    --ion-color-light-contrast-rgb: 0, 0, 0;
    --ion-color-light-shade: #d7d8da;
    --ion-color-light-tint: #f5f6f9;

    --ion-color-white: #ffffff;
    --ion-color-white-rgb: 255, 255, 255;
    --ion-color-white-contrast: rgb(0, 0, 0);
    --ion-color-white-contrast-rgb: 0, 0, 0;
    --ion-color-white-shade: #d7d8da;
    --ion-color-white-tint: #d7d8da;

    --ion-grid-padding: 0;
    --ion-grid-column-padding: 0;

    --ion-color-white: #ffffff;
    --ion-color-black: #000000;
    --bg-canvas: #f6f7f9;

    --chip-default: #F1F1F2;
    --chip-shade: #eaeaea;
    --chip-active: rgba(0, 140, 216, 0.2);

    /* Set the background of the entire app */
    --ion-background-color: #fff;
    --ion-background-gray: #f7fafc;
    --ion-background-lite-shade: '#e0e0e0'
        /* Set the font family of the entire app */
        --ion-font-family: "Inter", sans-serif;

    --ion-text-color: rgba(4, 9, 13);
    --text-color-primary: rgba(4, 9, 13);
    --text-color-medium: rgba(4, 9, 13, 0.6);
    --text-color-inactive: rgba(4, 9, 13, 0.5);
    --text-color-disabled: rgba(4, 9, 13, 0.4);
    --text-color-link: rgb(0, 141, 216);
    --text-icon-primary: rgb(113, 113, 113);

    --unloading-point: rgba(236, 100, 23, 1);
    --loading-point: rgba(21, 129, 66, 1);
    --intermediate-stops: rgba(97, 97, 97, 1);

    --font-family: "Inter", sans-serif;

    --font-weight-regular: 400;
    --font-weight-medium: 500;
    --font-weight-semibold: 600;
    --font-weight-bold: 700;

    --font-xs: 10px;
    --font-sm: 12px;
    --font-md: 13px;
    --font-base: 14px;
    --font-lg: 16px;
    --font-xl: 20px;
    --font-2xl: 24px;
}


/* Background */
.fr-bg-none {
    background-color: transparent;
}
.fr-bg-white {
    background-color: var(--ion-color-white)
}
.fr-bg-secondary {
    background-color: var(--ion-color-secondary)
}

.fr-bg-gray-100 {
    background-color: var(--ion-background-gray);
}

.fr-bg-gray-200 {
    background-color: rgb(243, 244, 246);
    padding: 0.20rem 0.5rem;
    border-radius: 0.375rem;
}
.fr-bg-slate-50 {
    background-color: #f8fafc;
}
.hover\:bg-slate-100:hover {
    --tw-bg-opacity: 1;
    background-color: rgb(241 245 249 / var(--tw-bg-opacity));
}

.fr-bg-light-shade {
    background-color: var(--ion-background-lite-shade)
}

.fr-bg-light {
    background-color: var(--ion-color-light)
}

.fr-bg-medium {
    background-color: var(--ion-color-medium)
}

.fr-bg-dark-light {
    background-color: #B8B8B8;
}

.fr-bg-danger {
    background-color: var(--ion-color-danger)
}

.fr-bg-blue {
    background-color: rgb(59 130 246);
}

.fr-bg-White-Smoke {
    background-color: #f5f5f5;
}

.fr-color-delay-update {
    color: #F6B269;
}

.fr-bg-success {
    background-color: var(--ion-color-success)
}

/* Chip */
.fr-chip {
    background-color: var(--chip-default);
    color: var(--text-icon-primary);
}

.fr-chip:hover {
    background-color: var(--chip-shade);
}

.fr-chip-active {
    background-color: var(--chip-active);
    color: var(--ion-color-primary)
}

/* Padding */
.fr-p-px {
    padding: 1px;
}

.fr-p-1 {
    padding: 0.25rem;
}

.fr-p-2 {
    padding: .5rem
}

.fr-p-3 {
    padding: .75rem
}

.fr-p-4 {
    padding: 1rem;
}

.fr-p-6 {
    padding: 1.5rem;
}

.fr-p-10 {
    padding: 2.5rem;
}

.fr-py-1 {
    padding-top: .25rem;
    padding-bottom: .25rem
}

.fr-py-2 {
    padding-top: 0.5rem;
    padding-bottom: 0.5rem;
}
.fr-py-3 {
    padding-top: 0.75rem;
    padding-bottom: 0.75rem;
}

.fr-py-4 {
    padding-top: 1rem;
    padding-bottom: 1rem;
}

.fr-px-1 {
    padding-left: .25rem;
    padding-right: .25rem
}

.fr-px-2 {
    padding-left: .5rem;
    padding-right: .5rem
}

.fr-px-3 {
    padding-left: .75rem;
    padding-right: .75rem
}

.fr-px-4 {
    padding-left: 1rem;
    padding-right: 1rem;
}

.fr-pb-0 {
    padding-bottom: 0
}

.fr-pb-1 {
    padding-bottom: .25rem
}

.fr-pb-2 {
    padding-bottom: .5rem
}

.fr-pb-3 {
    padding-bottom: .75rem
}

.fr-pb-4 {
    padding-bottom: 1rem
}

.fr-pb-6px {
    padding-bottom: 0.375rem;
}

.fr-pb-6 {
    padding-bottom: 1.5rem
}

.fr-pb-8 {
    padding-bottom: 2rem;
}

.fr-b-9 {
    padding-bottom: 2.25rem
}

.fr-pt-0 {
    padding-top: 0
}

.fr-pt-1 {
    padding-top: .25rem
}

.fr-pt-2 {
    padding-top: .5rem
}

.fr-pt-3 {
    padding-top: .75rem
}

.fr-pt-4 {
    padding-top: 1rem
}

.fr-pt-5 {
    padding-top: 1.25rem
}

.fr-pt-6 {
    padding-top: 1.5rem
}

.fr-pt-10 {
    padding-top: 2.5rem
}

.fr-pl-4 {
    padding-left: 1rem;
}

.fr-pl-5 {
    padding-left: 1.25rem
}

.fr-pl-1 {
    padding-left: 0.2rem;
}

.fr-pl-2 {
    padding-left: 0.5rem;
}
.fr-pl-8 {
    padding-left: 2rem;
}

.fr-pr-1 {
    padding-right: 0.25rem
}
.fr-pr-3 {
    padding-right: 0.75rem
}

/* Display */
.fr-block {
    display: block;
}
.fr-inline-block {
    display: inline-block;
}
.fr-flex {
    display: flex
}

.fr-flex-1 {
    flex: 1 1 0% !important;
}

.fr-flex-col {
    flex-direction: column;
}

.fr-inline-flex {
    display: inline-flex;
}

.fr-flex-grow {
    flex-grow: 1;
}

.fr-grid {
    display: grid
}

/* Grid */

.fr-grid-cols-12 {
    grid-template-columns: repeat(12, minmax(0, 1fr))
}

.fr-grid-cols-1 {
    grid-template-columns: repeat(1, minmax(0, 1fr));
}

.fr-grid-cols-2 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.fr-grid-cols-3 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.fr-grid-cols-5 {
    grid-template-columns: repeat(5, minmax(0, 1fr));
}

/* Grid col span */

.fr-col-span-9 {
    grid-column: span 9 / span 9
}

.fr-col-span-8 {
    grid-column: span 8 / span 8
}

.fr-col-span-6 {
    grid-column: span 6 / span 6
}

.fr-col-span-5 {
    grid-column: span 5 / span 5
}

.fr-col-span-4 {
    grid-column: span 4 / span 4
}

.fr-col-span-3 {
    grid-column: span 3 / span 3
}

.fr-col-span-2 {
    grid-column: span 2 / span 2;
}

/* align items */

.fr-items-start {
    align-items: flex-start
}

.fr-items-end {
    align-items: flex-end
}

.fr-items-center {
    align-items: center
}

/* justify content */

.fr-justify-start {
    justify-content: flex-start
}

.fr-justify-end {
    justify-content: flex-end
}

.fr-justify-center {
    justify-content: center
}

.fr-justify-between {
    justify-content: space-between
}

.fr-justify-around {
    justify-content: space-around
}

/* gap */

.fr-gap-0 {
    gap: 0px
}

.fr-gap-1 {
    gap: .25rem
}

.fr-gap-2 {
    gap: .5rem
}

.fr-gap-3 {
    gap: .75rem
}

.fr-gap-4 {
    gap: 1rem
}

.fr-gap-5 {
    gap: 1.25rem
}

.fr-gap-6 {
    gap: 1.5rem
}

.fr-gap-7 {
    gap: 1.75rem
}


/* Font weight */

.fr-font-bold {
    font-weight: var(--font-weight-bold)
}

.fr-font-medium {
    font-weight: var(--font-weight-medium)
}

.fr-font-regular {
    font-weight: var(--font-weight-regular)
}

.fr-font-semibold {
    font-weight: 600;
}

.fr-font-light {
    font-weight: 300;
}

.fr-font-normal {
    font-weight: 400;
}

.fr-font-md {
    font-weight: var(--font-weight-medium) !important;
}
/* Font size */


.fr-text-2xl {
    font-size: var(--font-2xl)
}

.fr-text-base {
    font-size: var(--font-base)
}

.fr-text-lg {
    font-size: var(--font-lg)
}

.fr-text-md {
    font-size: var(--font-md)
}

.fr-text-sm {
    font-size: var(--font-sm)
}

.fr-text-xl {
    font-size: var(--font-xl)
}

.fr-text-xs {
    font-size: 0.75rem !important /* 12px */;
    line-height: 1rem !important /* 16px */;
}

/* Text color */
.fr-text-slate-200 {
    color: rgb(226 232 240) /* #e2e8f0 */;
}

.fr-text-slate-500 {
    color: rgb(100 116 139) /* #64748b */;
}

.fr-text-slate-600 {
    color: #475569;
}
.fr-text-slate-800 {
    color: rgb(30 41 59);
}

.fr-text-slate-500 {
    color: rgb(100 116 139);
}

/* text color */

.fr-text-danger {
    color: var(--ion-color-danger)
}

.fr-text-light-shade {
    color: var(--ion-color-light-shade)
}

.fr-text-medium {
    color: var(--ion-color-medium)
}

.fr-text-medium-shade {
    color: var(--ion-color-medium-shade)
}

.fr-text-medium-tint {
    color: var(--ion-color-medium-tint)
}

.fr-text-primary {
    color: var(--ion-color-primary) !important
}

.fr-text-secondary {
    color: var(--ion-color-secondary)
}

.fr-text-success {
    color: var(--ion-color-success)
}

.fr-text-typo {
    color: var(--text-color-primary)
}

.fr-text-typo-icon {
    color: var(--text-icon-primary)
}

.fr-text-typo-link {
    color: var(--text-color-link)
}

.fr-text-typo-medium {
    color: var(--text-color-medium)
}

.fr-text-warning {
    color: var(--ion-color-warning)
}

.fr-text-white {
    color: var(--ion-color-white)
}

.fr-text-gray {
    color: rgb(107 114 128);
}

.fr-text-green {
    color: rgb(34 197 94);
}

.fr-text-red {
    color: rgb(239 68 68);
}

/* Text align */

.fr-text-left {
    text-align: left
}

.fr-text-center {
    text-align: center
}

.fr-text-right {
    text-align: right
}

.fr-text-justify {
    text-align: justify
}

.fr-text-start {
    text-align: start
}

.fr-text-end {
    text-align: end
}


/* common styles */

.fr-truncate {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap
}

.fr-divider {
    border-width: 0.5px
}

.fr-overflow-y {
    overflow-y: auto;
}

/* Border color */

.fr-border-light-shade {
    border-color: var(--ion-color-light-shade)
}

.fr-bg-truck-icon {
    background-color: #0093FF;
}

.fr-border-sky-blue {
    border-color: var(--ion-color-secondary);
}

.fr-border-white {
    border-color: rgb(255 255 255);
}

.fr-border-blue {
    border-color: rgb(59 130 246);
}

/* Width */
.fr-w-full {
    width: 100%
}

.fr-w-0-5 {
    width: 0.125rem;
    /* 2px */
}

.fr-w-2 {
    width: 0.5rem;
}

.fr-w-3 {
    width: 0.75rem;
}

.fr-w-4 {
    width: 1rem;
    /* 16px */
}

.fr-w-6 {
    width: 1.5rem;
}

.fr-w-px {
    width: 1px;
}

.fr-w-max-30 {
    max-width: '30%';
}

.fr-min-w-max {
    min-width: max-content !important;
}
.fr-w-1\/2 {
    width: 50% !important;
}
.fr-w-2\/5 {
    width: 40% !important;
}
.fr-w-11\/12 {
    width: 90% !important;
}

/* Height */
.fr-h-full {
    height: 100%;
}

.fr-h-89 {
    height: 89%;
}

.fr-h-90p {
    height: 90%;
}
.fr-h-95p {
    height: 95%;
}

.fr-h-screen {
    height: 100vh;
}

.fr-h-screen-30 {
    height: 30vh;
}

.fr-h-screen-50 {
    height: 50vh;
}

.fr-min-h-15 {
    min-height: 15px;
}

.fr-h-05 {
    height: 0.125rem;
}

.fr-h-2 {
    height: 0.5rem;
}

.fr-h-3 {
    height: 0.75rem;
}

.fr-h-4 {
    height: 1rem;
    /* 16px */
}

.fr-h-6 {
    height: 1.5rem;
}

.fr-h-12 {
    height: 3rem;
    /* 48px */
}

/* Border */
.fr-border {
    border-width: 1px;
    border-style: solid;
}

.fr-border-0 {
    border-width: 0px
}

.fr-border-1 {
    border-width: 1px
}

.fr-border-2 {
    border-width: 2px
}

.fr-border-l {
    border-left-width: 1px;
    border-left-style: solid;
}
.fr-border-l-2 {
    border-left-width: 2px;
}

.fr-border-solid {
    border-style: solid;
}

.fr-border-gray-600 {
    border-color: rgb(107, 110, 114);
}

.fr-border-slate-100 {
    border-color: rgb(241 245 249) !important;
}

.fr-border-slate-200 {
    border-color: rgb(226 232 240) !important;
}
.fr-border-t {
    border-top-width: 1px !important;
    border-top-style: solid;
}
.fr-border-b {
    border-bottom-width: 1px !important;
    border-bottom-style: solid;
}

/* wrap */

.fr-flex-wrap {
    flex-wrap: wrap;
}

.fr-flex-row {
    flex-direction: row;
}

/* margin */
.-fr-mt-3 {
    margin-top: -0.75rem;
}
.-fr-mt-20 {
    margin-top: -2rem;
}
.-fr-mt-40 {
    margin-top: -4rem;
}
.fr-m-0 {
    margin: 0 !important
}
.fr-mt-05 {
    margin-top: 0.125rem;
    /* 2px */
}

.fr-mt-1 {
    margin-top: 0.25rem !important;
    /* 4px */
}

.fr-mt-2 {
    margin-top: .5rem !important;
}

.fr-mt-2-5 {
    margin-top: 0.625rem;
    /* 10px */
}

.fr-mt-3 {
    margin-top: 0.75rem;
    /* 12px */
}

.fr-mt-4 {
    margin-top: 1rem;
}

.fr-mt-5 {
    margin-top: 1.25rem;
}
.fr-mt-10 {
    margin-top: 2.5rem;
}

.fr-mt-20-ne {
    margin-top: -20px;
}

.fr-mt-35-ne {
    margin-top: -35px;
}

.fr-mr-1 {
    margin-right: .25rem
}

.fr-mr-2 {
    margin-right: .5rem
}

.fr-mr-3 {
    margin-right: .75rem
}

.fr-mr-4 {
    margin-right: 1rem
}

.fr-mr-5 {
    margin-right: 1.25rem
}

.fr-ml-1 {
    margin-left: .25rem;
}

.fr-ml-2 {
    margin-left: .5rem
}

.fr-ml-3 {
    margin-left: .75rem
}

.fr-ml-4 {
    margin-left: 1rem
}

.fr-ml-5 {
    margin-left: 1.25rem
}

.fr-ml-22px {
    margin-left: 22px;
}

.fr-ml-7 {
    margin-left: 1.75rem;
    /* 28px */
}

.fr-ml-8 {
    margin-left: 2rem
}

.fr-ml-27px {
    margin-left: 27px;
}

.fr--ml-10{
    margin-left: -10px;
}

.fr-ml-30 {
    margin-left: 30px;
}

.fr-mb-0 {
    margin-bottom: 0 !important
}

.fr-mb-1 {
    margin-bottom: .25rem
}

.fr-mb-2 {
    margin-bottom: .5rem
}

.fr-mb-3 {
    margin-bottom: .75rem
}

.fr-mb-4 {
    margin-bottom: 1rem
}

.fr-my-1 {
    margin-top: .25rem;
    margin-bottom: .25rem;
}

.fr-my-2 {
    margin-top: 0.5rem;
    margin-bottom: 0.5rem;
}
.fr-my-3 {
    margin-top: 0.75rem;
    margin-bottom: 0.75rem;
}

.fr-my-px {
    margin-top: -1px;
    margin-bottom: -1px;
}

/* Sets border radius */
.fr-rounded-full {
    border-radius: 9999px !important;
}

/**/
.fr-cursor-pointer {
    cursor: pointer;
}

/*Position*/
.fr-relative {
    position: relative;
}

.fr-absolue {
    position: absolute;
}

.fr-progress-done {
    background: hsl(201 100% 42%);
    border-radius: 20px 0px 0px 20px;
    color: #fff;
    display: flex;
    align-items: center;
    height: 100%;
    width: 0;
    opacity: 0;
    transition: 1s ease 0.3s;
}

.fr-progress {
    display: flex;
    background-color: #d8d8d8;
    border-radius: 20px;
    position: relative;
    align-items: center;
    margin: 5px 0;
    height: 12px;
    width: 100%;
}

.fr-progress-dot-container{
        position:absolute;
        right:0;
        z-index:1;
        display:flex;
        justify-content:space-between;
        align-items:center;
        width:100%;
        padding-right:15%;
        padding-left:15%;
}

.fr-white-dot {
    height:5px;
    width:5px;
    border-radius:10px;
    display:inline-block;
    background-color:white
}

.fr-rounded-md {
    border-radius: 0.375rem;
}

.fr-rounded-sm {
    border-radius: 0.275rem;
}

.fr-transform {
    transform: translateX(-50%);
}

.fr-top-3 {
    top: 0.75rem;
}

.fr-left-48 {
    left: 12rem;
}

.fr-z-0 {
    z-index: 0;
}
.fr-z-10 {
    z-index: 10;
}

.fr-right-0 {
    right: 0px;
}

.fr-border-t {
    border-top-width: 1px;
}

.fr-border-primary {
    border-color: rgb(59 130 246);
}

.fr-rounded-lg {
    border-radius: 0.5rem;
}

.fr-shadow-sm {
    box-shadow: 0 1px 2px 0 rgb(0 0 0 / 0.05);
}
.fr-shadow-md {
    box-shadow: 0 1px 6px 0 rgb(0 0 0 / 0.05);
}

.fr-checkbox {
    height: 0;
    width: 0;
    visibility: hidden;
}

.fr-switch-label {
    display: flex;
    align-items: center;
    justify-content: space-between;
    cursor: pointer;
    width: 44px;
    height: 22px;
    background: rgb(192, 192, 192);
    border-radius: 20px;
    position: relative;
}

.fr-switch-label .fr-switch-button {
    position: absolute;
    left: 2px;
    width: 18px;
    height: 18px;
    border-radius: 45px;
    transition: 0.3s;
    background: #fff;
    box-shadow: 0 0 2px 0 rgba(10, 10, 10, 0.29);
}

.fr-checkbox:checked+.fr-switch-label .fr-switch-button {
    left: calc(100% - 2px);
    transform: translateX(-100%);
}

.fr-switch-label:active .fr-switch-button {
    width: 60px;
}

.fr-checkbox:checked+.fr-switch-label {
    background-color: #28a745;
}

.fr-arrow-left {
    width: 0;
    height: 0;
    border-top: 5px solid transparent;
    border-bottom: 5px solid transparent;
    border-left: 10px solid #B8B8B8;
    display: inline-block;
}

.fr-border-dashed-padding {
    border-bottom: 2px dashed #c9c9c9;
}

.fr-padding-6-0px {
    padding: 6px 0;
}

.fr-border-right-dashed {
    border-right: 2px dashed #c9c9c9
}

.fr-truck-icon-timeline {
    margin-left: 19;
}

.fr-border-timeline {
    border: 2px solid #ccc
}

.fr-trip-status-details {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.fr-rate-btn,
.fr-rate-outline-btn {
    font-weight: 600;
    padding: 0.325rem 0.875rem;
    line-height: 1.5;
    text-transform: uppercase;
    border-radius: 4px;
    transition: all 150ms ease-in-out;
    font-size: 0.75rem;
    box-shadow: 0 1px 4px rgba(0, 0, 0, 0.2);
    border: solid 1px var(--ion-color-primary);
    color: var(--ion-color-primary);
    background-color: #fff;
    margin: 0 5px 5px 0;
    cursor: pointer;
}
.fr-rate-btn[disabled],
.fr-rate-outline-btn[disabled] {
    cursor: default;
}

.fr-rate-btn {
    border: 0 none;
    background-color: var(--ion-color-primary);
    color: #fff;
}

.fr-rate-btn:hover {
    background-color: var(--ion-color-primary-tint);
    box-shadow: 0 1px 4px rgba(0, 0, 0, 0.3);
}

.fr-rate-btn:focus {
    background-color: var(--ion-color-primary-shade);
    outline: 0 none;
}

.fr-rate-btn:active {
    background-color: var(--ion-color-primary-shade);
}

.fr-rate-outline-btn:hover {
    background-color: var(--ion-color-light-shade);
    box-shadow: 0 1px 4px rgba(0, 0, 0, 0.3);
}

.fr-tab-btn, .fr-active-tab-btn {
    border: solid 1px var(--chip-shade);
    min-width: max-content !important;
    padding: 0.25rem 0.375rem;
    background-color: var(--ion-background-gray);
    margin: 0.5rem 0.25rem 0;
    cursor: pointer;
    text-align: center;
    border-radius: 0.375rem;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.2);
}

.fr-tab-btn>p {
    color: #334155;
}

.fr-active-tab-btn,
.fr-tab-btn:hover {
    background-color: var(--ion-color-white);
    border-color: var(--ion-color-primary-tint);
}

.fr-active-tab-btn>p,
.fr-tab-btn:hover>p {
    color: var(--ion-color-primary-tint);
}
.fr-truck-type {
    font-size:  0.625rem;
    margin: 0;
    line-height: 1;
    color: #707c8c !important
}

/** Input box */
.fr-input-box {
    width: 92%;
    color: rgb(30 41 59);
    font-size: var(--font-lg);
    font-weight: var(--font-weight-medium);
    background-color: var(--ion-color-light);
    padding: 0.5rem;
    border-radius: 5px;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.3)
}

/* Visibility properties */

.fr-invisible {
    visibility: hidden;
}

/** 
  dispay properties
  */
.fr-hidden {
    display: none;
}

.fr-overflow-x-auto {
    overflow-x: auto !important;
}

/** Scroll bar */
.scrollbar::-webkit-scrollbar {
    width: 100%; height: 100%
}

.scrollbar::-webkit-scrollbar-track {
    border-radius: 50%; background-color: var(--ion-color-white-shade);
}

.scrollbar::-webkit-scrollbar-thumb {
    border-radius: 50%;
    background-color: var(--chip-shade);
}

.scrollbar::-webkit-scrollbar-thumb:hover {
    background-color: var(--ion-color-medium-tint);
}

/** Spinner loading */
.fr-loader {
    width: 22px;
    height: 22px;
    border: 3px solid var(--ion-color-secondary);
    border-bottom-color: transparent;
    border-radius: 50%;
    display: inline-block;
    box-sizing: border-box;
    animation: rotation 1s linear infinite;
}

@keyframes rotation {
    0% {
        transform: rotate(0deg);
    }
    100% {
        transform: rotate(360deg);
    }
}


  .fr-square-box {
    min-width: 39px;
    height: 40px;
    background-color: #f4f5f8;
    align-items: center;
    justify-content: center;
  }

  .fr-square-box-data {
    display: flex;
    justify-content: center;
    padding: 1px;
    margin-top: unset;
    font-weight: var(--font-weight-regular);
  }
  
  .fr-branch-name {
    flex: 2;
    padding-left: 70px;
    align-items: center;
    font-weight: var(--font-weight-regular);
    position: absolute;
    font-size: 16px;
   }

   .fr-font-size-11 {
     font-size: 11px !important; 
   }

   .fr-timer-connector {
    margin-left: 0.5rem; 
    min-height: 12px;
    width: 1px;
    transform: translateX(-50%); 
    background-color: #d7d8da; 
    z-index: 10;
  }

  .fr-circle-badge {
    margin-right: 0.5rem;
    width: 1rem;
    height: 1rem;
    border-radius: 9999px;
    display: flex;
    justify-content: center;
    align-items: center;
    color: #fff;
    z-index: 0;
  }

.fr-loading-badge {
    background-color: var(--loading-point)
}

.fr-unloading-badge {
    background-color: var(--unloading-point)
}

.fr-stops-badge {
    background-color: var(--intermediate-stops);
}
.fr-accordion-card {
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1), 0 1px 3px rgba(0, 0, 0, 0.08);
    border-radius: 5px;
    background-color: white;
}
/* styles for accordion from radix ui */

.AccordionRoot {
  width: 100%;
}

.AccordionItem {
  overflow: hidden;
  border-bottom: 1px groove var(--ion-color-white-shade);
}

.AccordionItem:first-child {
  margin-top: 0;
  border-top-left-radius: 5px;
  border-top-right-radius: 5px;
}

.AccordionItem:last-child {
  border-bottom-left-radius: 5px;
  border-bottom-right-radius: 5px;
}

.AccordionItem:focus-within {
  position: relative;
  z-index: 1;
}

.AccordionHeader {
  display: grid;
  margin: 0;
}

.AccordionTrigger {
  font-family: var(--font-family);
  padding: 0 20px;
  height: 50px;
  flex: 1;
  display: flex;
  align-items: center;
  justify-content: space-between;
  font-size: 15px;
  line-height: 1;
  border: none;
  background-color: white;
}
.sticky {
    position: sticky;
    top: 0;
    background: white;
    z-index: 10;
  }

.skeleton {
    background-color: #e0e0e0;
    border-radius: 4px;
    animation: pulse 1.5s infinite;
}

@keyframes pulse {
    0% {
        opacity: 1;
    }
    50% {
        opacity: 0.5;
    }
    100% {
        opacity: 1;
    }
}


.AccordionTrigger:hover {
  cursor: pointer;
}

.AccordionTrigger:active {
    background-color: #f1f1f1;
}

.AccordionContent {
  overflow: hidden;
  font-size: 15px;
  background-color: white;
}
.AccordionContent[data-state='open'] {
  background-color: #f2f2f2;
}
.AccordionContent[data-state='closed'] {
  animation: slideUp 300ms cubic-bezier(0.87, 0, 0.13, 1);
}

.AccordionContentText {
  padding: 0px 5px 5px ;
}

.AccordionChevron {
  color: black;
  transition: transform 300ms cubic-bezier(0.87, 0, 0.13, 1);
  width: 26px;
  height: 26px;
}
.AccordionTrigger[data-state='open'] > .AccordionChevron {
  transform: rotate(180deg);
}

@keyframes slideDown {
  from {
    height: 0;
  }
  to {
    height: var(--radix-accordion-content-height);
  }
}

@keyframes slideUp {
  from {
    height: var(--radix-accordion-content-height);
  }
  to {
    height: 0;
  }
}

  .fr-trip-card {
    cursor: pointer;
    background-color: white;
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1), 0 1px 3px rgba(0, 0, 0, 0.08);
    border-radius: 7px;
  }

  .fr-call-card {
    background-color: white;
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1), 0 1px 3px rgba(0, 0, 0, 0.08);
    border-radius: 7px;
    padding: 12px ;
    margin: 15px 10px 10px ;
  }

  .fr-call-icon {
    padding: '8px';
    display: 'flex';
    cursor: 'pointer';
    width: '36px';
    height: '36px';
  }


/** Radix Dialog UI */
.fr-DialogOverlay {
    background-color: rgba(0, 0, 0, 0.4);
    position: fixed;
    inset: 0;
    animation: overlayShow 150ms cubic-bezier(0.16, 1, 0.3, 1);
    z-index: 2000;
}
.fr-DialogContent, .fr-DialogSheet {
    background-color: white;
    box-shadow: hsl(206 22% 7% / 35%) 0px 10px 38px -10px, hsl(206 22% 7% / 20%) 0px 10px 20px -15px;
    position: fixed;
    padding: 25px;
    z-index: 2001;
}
.fr-DialogContent {
    border-radius: 6px;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 90vw;
    max-width: 450px;
    max-height: 85vh;
    animation: contentShow 150ms cubic-bezier(0.16, 1, 0.3, 1);
}

.fr-DialogContent:focus {
    outline: none;
}

.fr-DialogSheet {
    top: 0;
    bottom: 0;
    right: 0;
    height: 100%;
    max-height: 100vh;
    width: 100%;
    max-width: 320px;
    box-sizing: border-box;
    animation: slideRight 150ms linear;
}

.fr-IconButton {
    cursor: pointer;
    border-radius: 100%;
    height: 28px;
    width: 28px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 0 none;
    background-color: transparent;
    color: var(--ion-color-secondary);
    position: absolute;
    top: 10px;
    right: 10px;
    outline: 0 none;
}
.fr-DialogAction {
    display: inline-block;
    width: 100%;
    padding: 5px 10px;
    margin: 0;
    box-sizing: border-box;
    border: solid 1px #d5d5d5;
    border-radius: 10px;
    margin-top: 20px;
    cursor: pointer;
    background-color: var(--bg-canvas);
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.2);
}
.fr-DialogAction:hover {
    border-color: var(--ion-color-secondary);
    background-color: var(--ion-background-color);
}
.fr-DialogAction:hover span[data-title] {
    color: var(--ion-color-secondary);
}
.fr-IconButton:hover {
    color: var(--ion-color-secondary-shade);
    background-color: var(--bg-canvas);
}

.fr-IconButton:focus {
    color: var(--ion-color-secondary-tint);
}

@keyframes overlayShow {
    from {
        opacity: 0;
    }

    to {
        opacity: 1;
    }
}
@keyframes slideRight {
    from {
        right: -300px;
    }

    to {
        right: 0;
    }
}

@keyframes contentShow {
    from {
        opacity: 0;
        transform: translate(-50%, -48%) scale(0.96);
    }

    to {
        opacity: 1;
        transform: translate(-50%, -50%) scale(1);
    }
}

@media only screen and (max-width: 768px) {
    .fr-trip-status-details {
        display: flex;
        flex-direction: column;
        align-items: stretch;
    }
}

@media (min-width: 768px) {
    .md\:fr-order-2 {
        order: 2 !important;
    }

    .md\:fr-block {
        display: block !important;
    }
    .md\:fr-grid-cols-5 {
        grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
    }
    .md\:fr-flex {
        display: flex !important;
    }
    .md\:fr-items-center {
        align-items: center !important;
    }
    .md\:fr-p-4 {
        padding: 1rem !important; /* 16px */;
    }
    .md\:fr-mb-0 {
        margin-bottom: 0 !important;
    }
    .md\:fr-p-3 {
        padding: 0.75rem /* 12px */;
    }
    .md\:daily-rates-div {
        border-radius: 1rem; 
        padding: 0.75rem; 
        border: 4px solid rgb(167 139 250 / 0.1);
    }
}
@media (min-width: 640px) {
    .sm\:fr-flex {
        display: flex !important;
    }
    .sm\:fr-justify-between {
        justify-content: space-between !important;
    }
    .sm\:fr-items-center {
        align-items: center !important;
    }
    .sm\:fr-text-right {
        text-align: right;
    }
    .sm\:fr-w-auto {
        width: auto;
    }
    .sm\:fr-bg-white {
        background-color: rgb(255 255 255) /* #ffffff */;
    }
    .sm\:fr-p-0 {
        padding: 0px;
    }
    .sm\:fr-text-sm {
        font-size: 0.875rem /* 14px */;
        line-height: 1.25rem /* 20px */;
    }
    .sm\:fr-flex-wrap {
        flex-wrap: wrap;
    }
    .sm\:fr-hidden {
        display: none;
    }
}

    .fr-bg-primary {
        background-color: var(--ion-color-primary);
    }


/* Radix Dialog UI for Modal */

.DialogOverlay {
  background-color: rgba(0,0,0,0.5);
  position: fixed;
  inset: 0;
  z-index: 1000;
}

@keyframes slideUpModal {
    0% {
        transform: translateY(0%) translateX(-50%);
    }
    100% {
        transform: translateY(-50%) translateX(-50%);
    }
}

@keyframes slideDownModal {
    from {
        transform: translateY(-50%) translateX(-50%);
    }
    to {
        opacity: 0;
        transform: translateY(50%) translateX(-50%);
    }
}
.DialogContent {
  background-color: white;
  border-radius: 3px;
  box-shadow: hsl(206 22% 7% / 35%) 0px 10px 38px -10px, hsl(206 22% 7% / 20%) 0px 10px 20px -15px;
  position: fixed;
  top: 50%;
  left: 50%;
  width: 60vw;
  height: 70vh;
  max-width: 600px; 
  max-height: 500px;
  align-items: center;
  justify-content: center;
  z-index: 1000;
  pointer-events: none;
  overflow-y: auto;
}

.DialogContent:focus {
    outline: none;
  }

.DialogContent[data-state="open"] {
    animation: slideUpModal 0.4s ease forwards;
}

.DialogContent[data-state="closed"] {
    animation: slideDownModal 0.4s ease forwards;
}

.DialogDescription {
  margin: 10px 0 10px;
  font-size: 14px;
  line-height: 1.5;
  font-weight: var(--font-weight-regular);
}

.Button {
  display: inline-flex;
  align-items: center;
  justify-content: space-evenly;
  border-radius: 6px;
  padding: 0 15px;
  font-size: 14px;
  line-height: 1;
  font-weight: 400;
  width: 100%;
  height: 100%;
  min-height: 32px; 
  min-width: 150px;
  cursor: pointer;
  border-color: unset;
  margin-left: 5px;
  margin-right: 5px;
}

.fr-show-btn {
  background-color: var(--ion-color-primary) !important;
  color: white;
  border: #144366 solid 2px;
}

.fr-reset-btn {
  background-color: white;
  border: #144366 solid 2px;
  color: var(--ion-color-primary);
}

.fr-reset-btn:active {
    background-color: var(--chip-shade);
}

@keyframes overlayShowModal {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}

@keyframes contentShowModal {
  from {
    opacity: 0;
    transform: translate(50%, 48%) scale(0.96);
  }
  to {
    opacity: 1;
    transform: translate(100%, 100%) scale(1);
  }
}

.fr-header {
    display: flex;
    flex: 1;
    min-width: 100%;
    justify-content: space-around;
    align-items: center;
    height: 50px;
    box-shadow: 0 0 4px rgba(0, 0, 0, 0.1);
    z-index: 2000;
    position: sticky;
    left: 0;
    right: 0;
    top: 0;
    background-color: white;
    font-weight: bold;
    font-size: large;
    border-top-left-radius: 3px;
    border-top-right-radius: 3px;
    overflow: unset;
}

.fr-close-icon {
    margin: 1rem;
    cursor: pointer;
    padding: 6px;
}

.fr-border-b-groove {
    overflow: hidden;
    border-bottom: 1px groove #c7c6c6;
  }

.fr-overflow-auto {
    overflow: auto;
}

.fr-footer {
    display: flex;
    flex: 1;
    min-width: 100%;
    justify-content: space-between;
    align-items: center;
    height: 60px;
    box-shadow: 0 0 4px rgba(0, 0, 0, 0.1);
    z-index: 2000;
    background-color: white;
    font-weight: bold;
    font-size: large;
    border-bottom-left-radius: 3px;
    border-bottom-right-radius: 3px;
    position: sticky;
    bottom: 0;
}

@media only screen and (max-width: 768px) {
    .DialogContent {
            min-width: 100%;       
            min-height: 100%;
    }
    .Button {
        min-width: 100px;
    }
}

.fr-mr-auto {
    margin-right: auto;
}

.fr-footer-content {
    width: 100%;
    display: flex;
    justify-content: space-between;
    padding-left: 10px;
    padding-right: 10px;
}

.fr-trips-count {
    font-size: 14px;
    margin-top: 4px;
}

.fr-trip-tag {
    font-size: var(--font-md);
    background-color: #f4f5f8;
    border-radius: 5px;
}
.fr-map-container{
    position:absolute;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
}

.fr-p-style-override {
    margin: 0px !important;
    line-height: 1 !important;
}

.fr-text-sm-override {
    font-size: var(--font-sm) !important;
}
.fr-drawer-close{
    width: 100%;
    left:0;
    right: 0;
    position: absolute;
    bottom: 0;
    z-index: 1100;
    background-color: white;
    border-radius: 20px 20px 0 0 ;
    transition-duration: 0.5s;
    transition: transform .3s 0s cubic-bezier(.55,0,.1,1);
  }
  .fr-drawer-open{
    width: 100%;
    left:0;
    right: 0;
    position: absolute;
    transition-duration: 0.5s;
    z-index: 1100;
    background-color: white;
    border-radius: 20px 20px 0 0 ;
    transform: translate(0, 5vh);
    height:95vh;
  }
  .fr-drawer-input{
    width: 100%; 
    padding:10px 10px 10px 10px;
    border-radius: 0px 5px 5px 0px;
    outline: none;
    background:none;
  }
  .fr-destination-icon{
      padding: 8px 0px 6px 5px ;
      background: none;
      outline: none;
  }
  .fr-source-icon{
   padding: 15px 0px 15px 7px ;
  }
  .fr-loading-skeleton {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    margin: 5%;
  }
  
  .fr-loading-skeleton-item {
    background-color: #d3d3d3 ;
    height: 20px;
    margin-bottom: 10px;
    border-radius: 4px;
  }

  .fr-short {
    width: 80%; 
  }
 
  .fr-confirm-button , .fr-searchload-button{
    padding: 10px;
    width: 96%;
    margin-top: 20px;
   margin-left: 2%;
   font-size: medium;
   background-color: #144366;
   color: white;
  }
  .fr-searchload-button{
    margin-bottom: 15px;
  }
  .fr-confirm-button-disable{
    background-color: #a4a1a1;
  }
  .fr-input-container,.fr-searchinput-container{
     display: flex;
    justify-content: center;
    align-items: center; 
    border:1px solid grey;
    border-radius: 6px;
    width: 96%;
    margin: auto;
  }
  .fr-searchinput-container{
    border: none;
  }
  .fr-destination-header{
    display: flex;
    gap: 10px;
    padding-left: 8px;
    padding-top: 2vh;
    padding-bottom: 8px;
  }   

  .fr-destination-header-container{
    border-bottom:1px solid lightgrey;
    display:flex;
    justify-content:space-between;
    position: sticky;
    top: 0;
    background-color: white;
  }

  .fr-destination-subheader{
    position: sticky;
    top: 70;
    background-color: white;
  }

  .fr-edit-svg{
    padding-right: 20px;
    margin-top: 20px;
  }
  .fr-region-container{
    margin: 20px;
    padding-bottom: 80px;
  }

  .fr-select-destinations{
   margin-left: 15px;
   padding-top: 10px;
   font-size: 15px;
  }
  .fr-destination-clear-icon{
    padding: 6px 5px 5px 5px  ;
    width: auto;
    margin-right: 10px;
    border: 1x solid lightgray;
    border-radius: 50px;
  }

  .fr-font-bold{
    font-weight:bold;
  }
  .fr-center-flex{
    display: flex;
    align-items: center;
  }
  .fr-city-list-container{
    display: flex;
    align-items: center; 
    gap: 10px;
    margin: 15px 15px;
    padding-bottom: 10px;
    border-bottom: 1px solid lightgrey;
  }
  .fr-back-button{
    margin: 15px 15px 0px 15px;
    border: none;
    background: none;
  }

  .fr-pin-captions{
    text-align: center;
    margin: 15px;
    font-size: large;
  }
  .fr-pin-captions-expanded{
    margin-top: -20px;
  }
  .fr-search-button-container{
    bottom: 0;
    position: fixed;
    width: 100%;
    margin: auto;
    background-color: white;
  }
  .fr-border-none{
    border: none;
  }
  .fr-city-list-caption{
    text-align: center;
    margin-top: 10px;
  }
  .fr-modal-picker{
    height: 0.5vh;
    width: 60px;
    background-color: lightGrey;
    margin: 3px auto auto auto;
  }
  .fr-input-end-icon{
    margin-right: 6px;
  }


  .fr-spinner-crescent {
    border: 4px solid rgba(0, 0, 0, 0.1);
    border-left-color: var(--ion-color-medium);
    animation: spin 1s linear infinite;
    border-radius: 50%;
    width: 20px;
    height: 20px;
  }

  @keyframes spin {
    to {
      transform: rotate(360deg);
    }
  }

.fr-border-5px {
    border-width: 5px;
}
.fr-w-auto {
    width: auto;
}
.fr-h-240px {
    height: 240px;
}
.fr-text-blue-600 {
    color: rgb(37 99 235) /* #2563eb */;
}
.fr-border-b-4 {
    border-bottom-width: 4px;
}
.fr-border-blue-600 {
    border-color: rgb(37 99 235) /* #2563eb */;
}
.fr-shrink-0 {
    flex-shrink: 0;
}
.border-5px {
    border-width: 5px;
}
.fr-border-violet-400\/10 {
    border-color: rgb(167 139 250 / 0.1);
}
.fr-rounded-2xl {
    border-radius: 1rem /* 16px */;
}
.fr-shadow-lg {
    box-shadow: 0 1px 2px 0 rgba(240, 171, 252, 0.1), 0 1px 3px 1px rgba(240, 171, 252, 0.1);
}
.fr-border-b-\[1px\] {
    border-bottom-width: 1px;
}
.fr-border-transparent {
    border-color: transparent;
}
.btn-anime {
    transform: translate(0, 0) rotate(0) skewX(0) skewY(0) scaleX(1) scaleY(1); 
    transition-property: all;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    transition-duration: 300ms;
}
.-fr-mb-1 {
    margin-bottom: -0.25rem /* -4px */;
}
.fr-visible {
    visibility: visible;
}
.fr-list-none {
    list-style-type: none;
}
.daily-rates-div {
    flex: 1 1 0%; 
    flex-shrink: 0;
    box-shadow: 0 1px 2px 0 rgba(240, 171, 252, 0.1), 0 1px 3px 1px rgba(240, 171, 252, 0.1);
}
.btn-border-b {
    border-width: 0 0 4px 0;
    border-style: solid;
}