/*@import url('https://fonts.googleapis.com/css?family=Montserrat:100,100i,200,200i,300,300i,400,400i,500,500i,600,600i,700,700i,800,800i,900,900i');*/

.img-fluid-custom {
    height: 70px;
    width: 70px;
    object-fit: contain;
}

.company-logo {
    width: 60px;
    height: auto;
    border-radius: 100%;
}

.fs-xsm {
    font-size: 12px;
}

.fs-xxsm {
    font-size: 10px;
}


.company-logo-print {
    height: 50px;
    width: 50px;
    border-radius: 100%;
}

@media (min-width: 601px) {
    .resp-view-m, .filter-panel {
        display: none;
    }

    .resp-view-d {
        display: block;
    }
}


@media (max-width: 600px) {
    .resp-view-m, .filter-button {
        display: block;
    }

    .resp-view-d, .filter-panel {
        display: none;
    }
}

@media print {
    .no-print {
        display: none !important;
    }
}

/*@media print {
    #bookingReportTableBody table,
    #bookingReportTableBody tbody,
    #bookingReportTableBody tr {
        line-height: 38px;
    }
}

#bookingReportTableBody table, tbody, tr {
    height: 38px;
}
*/

.fare-price {
    font-size: 18px;
}

.search-list:hover {
    background-color: #2d1a5b;
    color: white;
    z-index: 1000 !important;
}


#v-pills-tab .nav-link {
    /*background-color: #f8f9fa;*/ /* Light background */
    border-radius: 0rem; /* Rounded corners */
    text-align: start; /* Left-align text */
    width: auto; /* Default width */
    padding-left: 0.5rem; /* Left padding for alignment */
    /* Spacing between buttons */
    transition: background-color 0.3s ease;
    color: white;
    font-size: 14px;
    line-height: 30px;
}

    #v-pills-tab .nav-link.active {
        background-color: white; /* Bootstrap primary blue */
        color: #000 !important; /* White text */
        width: 100%; /* Full width */
        font-weight: 600; /* Bold text */
    }

a, select, button, a > label {
    cursor: pointer;
}

.fs-sm {
    font-size: 14px;
}

.seat-indicator-img {
    height: 30px;
}

.seat-cell {
    position: relative;
    text-align: center;
    vertical-align: middle;
    padding: 2px;
    width: 80px;
    height: 55px;
    /*    border: 1px solid #ccc;*/
}

.seat-cabin {
    transform: rotate(90deg);
}

/*Default Seat*/
.seat-img {
    display: block;
    margin: 0 auto;
    padding: 0.5px;
    border-radius: 22%;
    width: 42px;
    height: 42px;
    cursor: pointer;
}

.seat-img-locked {
    display: block;
    margin: 0 auto;
    padding: 0.5px;
    border-radius: 22%;
    width: 45px;
    height: 43px;
    cursor: default;
}

.seat-selected-bg {
    /*    box-shadow: inset 0 0 30px #00f11b;*/
    background-image: radial-gradient(circle, white 10%, #00f11b 100%);
    color: #000;
    border-radius: 22%;
}

.seat-reserved-bg {
    /*    background-color: Yellow;*/
    background-image: radial-gradient(circle, white 10%, #fe0000 100%);
    border-radius: 22%;
}

.seat-reserved-bg-agent {
    /*    background-color: Yellow;*/
    background-image: radial-gradient(circle, white 10%, #0043fc 100%);
    border-radius: 22%;
}

.bg-success-light {
    /*    background-color: #5cd857;*/
    box-shadow: inset 0 0 10px #00f11b;
    /*    background-image: radial-gradient(white, green, green);*/
}


.bg-pink-light {
    box-shadow: inset 0 0 20px #ffb400;
}


.seat-img-wheel {
    width: 80px;
    height: 80px;
    float: right;
    margin-right: 20px;
    /*    background: #ccc;*/
}

.seat-label {
    position: absolute;
    top: 45%;
    left: 50%;
    transform: translate(-50%, -50%);
    font-weight: bold;
    font-size: 15px;
    pointer-events: none;
}

.seat-cabin-label {
    position: absolute;
    top: 50%;
    left: 55%;
    transform: translate(-50%, -50%);
    font-weight: bold;
    font-size: 15px;
    pointer-events: none;
}

fieldsetx {
    color: #43d2f7
}

.hidden {
    display: none;
}

.bus-seat {
    overflow: hidden; /* Optional: ensures radius is visually applied */
    border-collapse: separate; /* Helps with rounded corners */
    border-spacing: 0; /* Optional: avoids gaps */
    /*    border: 1px solid #ccc;*/
    margin-bottom: 20px;
}

.selected-seat {
    background-color: #007bff !important; /* Bootstrap primary blue */
    border-radius: 4px;
}



.autocomplete-suggestions {
    display: none;
    position: absolute;
    top: 60px;
    background-color: white;
    border: 1px solid #ccc;
    z-index: 1000;
    max-width: 100%;
    min-width: 100%;
    max-height: 300px;
    overflow-y: auto;
    box-shadow: 0 14px 18px rgb(0, 0, 0, 0.45);
    border-radius: 5px !important;
    transition: opacity 0.3s ease, visibility 0.3s ease;
}

    .autocomplete-suggestions div {
        padding: 12px;
        cursor: pointer;
    }

        .autocomplete-suggestions div:hover {
            color: #424242;
            font-weight: 400;
            background-color: #afffb8;
        }

.suggestion-item {
    border-bottom: 1px solid #ccc; /* Light gray color */
    padding: 8px 0; /* Optional padding for spacing */
    cursor: pointer; /* Change cursor to pointer on hover */
}

::-webkit-scrollbar {
    width: 20px;
}

/* Track */
::-webkit-scrollbar-track {
    /*    box-shadow: inset 0 0 5px #dc3545;*/
    background-color: #ccc;
    border-radius: 0px;
}

/* Handle */
::-webkit-scrollbar-thumb {
    background: #8b8b8b;
    border-radius: 5px;
}

.route-image {
    height: 100px;
    width: 100px;
    border-radius: 50%;
}

.is-invalid {
    border-color: red !important;
}

.is-valid {
    border-color: green !important;
}

select option[value="0"] {
    color: #979797;
    font-weight: 200 !important;
}

select option {
    color: #310070;
    cursor: pointer;
}

select.placeholder-selected {
    color: orange !important;
}
/* Red color when placeholder (value 0) is selected */
/*select.invalid-option {
        color: red;
    }*/
.lock-icon {
    position: absolute;
    top: 0;
    right: 5px;
    font-size: 14px;
    color: red;
    z-index: 1;
}

.border-success-light {
    border: 1px solid #00c35e;
}

@media (min-width: 360px) and (max-width: 576px) {
    .col-xsm-6 {
        flex: 0 0 50%;
        max-width: 50%;
    }

    .col-xsm-12 {
        flex: 0 0 100%;
        max-width: 100%;
        justify-content: flex-end;
    }
}

.border-bottom-danger {
    border-bottom: 2px solid red !important;
    border-bottom-left-radius: 2px;
    border-bottom-right-radius: 2px;
}

.border-bottom-dotted {
    border-bottom: 1px dotted #ccc; /* or any color */
}

.border-bottom-dashed {
    border-bottom: 1px dashed #ccc; /* or any color */
}

.border-dashed {
    border: 1px dashed #ccc; /* or any color */
}

.box-transition {
    position: relative;
    top: -5px;
    opacity: 0;
    transition: top 0.3s ease, opacity 0.3s ease;
}

    .box-transition.show {
        top: 5px;
        opacity: 1;
    }

.slide-in {
    opacity: 0;
    transform: translateY(80px);
    animation: slideFromLeft 0.4s forwards;
    animation-delay: 0.3s;
}

    .slide-in:nth-child(2) {
        animation-delay: 0.3s;
    }

    .slide-in:nth-child(3) {
        animation-delay: 0.6s;
    }

    .slide-in:nth-child(4) {
        animation-delay: 0.9s;
    }

    .slide-in:nth-child(5) {
        animation-delay: 1.2s;
    }

@keyframes slideFromLeft {
    to {
        opacity: 1;
        transform: translateY(0);
    }
}


/*login*/

.image-container {
    position: relative;
}

.login-image {
    border-radius: 10px 0 0 10px;
    height: 100%;
    width: 100%;
    object-fit: cover;
}

.highlight-text {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    background: #b4f502;
    background: linear-gradient(15deg,rgba(0, 245, 204, 1) 0%, rgba(255, 255, 255, 0) 49%);
    color: #007bff;
    padding: 40px 40px 0 40px;
    border-bottom-left-radius: 5px;
    font-size: 1.3rem;
    text-align: center;
    /*    border-radius: 0 0 10px 0;*/
}



/* Animations */
.bubble-container {
    position: absolute;
    width: 100%;
    height: 100%;
    overflow: hidden;
    z-index: -10;
    top: 0;
    left: 0;
    pointer-events: none;
}

.bubble-1 {
    position: absolute;
    bottom: -100px;
    background: #4f009d;
    border-radius: 50%;
    animation: rise 15s linear infinite;
    opacity: 0.5;
    backdrop-filter: blur(4px);
}

@keyframes rise {
    0% {
        transform: translateY(0) scale(1);
        opacity: 0.6;
    }

    50% {
        transform: translateY(-50vh) scale(1.2);
        opacity: 0.3;
    }

    100% {
        transform: translateY(-100vh) scale(0.8);
        opacity: 0;
    }
}


/* Position and size randomization (CSS-only option) */
.bubble-1:nth-child(1) {
    left: 10%;
    width: 30px;
    height: 30px;
    animation-delay: 0s;
    animation-duration: 12s;
}

.bubble-1:nth-child(2) {
    left: 20%;
    width: 18px;
    height: 18px;
    animation-delay: 2s;
    animation-duration: 16s;
}

.bubble-1:nth-child(3) {
    left: 35%;
    width: 24px;
    height: 24px;
    animation-delay: 4s;
    animation-duration: 14s;
}

.bubble-1:nth-child(4) {
    left: 50%;
    width: 36px;
    height: 36px;
    animation-delay: 1s;
    animation-duration: 18s;
}

.bubble-1:nth-child(5) {
    left: 65%;
    width: 22px;
    height: 22px;
    animation-delay: 3s;
    animation-duration: 15s;
}

.bubble-1:nth-child(6) {
    left: 75%;
    width: 28px;
    height: 28px;
    animation-delay: 5s;
    animation-duration: 17s;
}

.bubble-1:nth-child(7) {
    left: 85%;
    width: 20px;
    height: 20px;
    animation-delay: 6s;
    animation-duration: 19s;
}

.bubble-1:nth-child(8) {
    left: 90%;
    width: 16px;
    height: 16px;
    animation-delay: 7s;
    animation-duration: 20s;
}

@media (max-width: 768px) {
    .bubble-1 {
        transform: scale(0.6);
    }
}



.form-control-lg-custom {
    height: calc(5.5rem + 2px); /* larger height */
    font-size: 1.1rem;
    padding-top: 1.3rem;
    padding-bottom: 0.5rem;
}

.form-floating > label {
    padding: 1rem 0.75rem;
}

.clickable-card {
    cursor: pointer;
    transition: background-color 0.3s ease;
}

    .clickable-card:hover {
        background-color: #dbe7fb; /* Light gray on hover */
    }


    .clickable-card.selected {
        background-color: #d6f3fc; /* Light gray on hover */
        box-shadow: 0 0 0 3px rgb(66, 196, 225, 0.50);
    }



table.rounded-corners {
    border-radius: 10px !important;
}

    /* Apply a border to the right of all but the last column */
    /*    table.rounded-corners th:not(:last-child),
    table.rounded-corners td:not(:last-child) {
        border-right: 1px solid #ffb400;
    }*/

    /* Apply a border to the bottom of all but the last row */
    table.rounded-corners > thead > tr:not(:last-child) > th,
    table.rounded-corners > thead > tr:not(:last-child) > td,
    table.rounded-corners > tbody > tr:not(:last-child) > th,
    table.rounded-corners > tbody > tr:not(:last-child) > td,
    table.rounded-corners > tfoot > tr:not(:last-child) > th,
    table.rounded-corners > tfoot > tr:not(:last-child) > td,
    table.rounded-corners > tr:not(:last-child) > td,
    table.rounded-corners > tr:not(:last-child) > th,
    table.rounded-corners > thead:not(:last-child),
    table.rounded-corners > tbody:not(:last-child),
    table.rounded-corners > tfoot:not(:last-child) {
        border-bottom: 1px solid #ff1717;
    }
