﻿@media screen and (max-width: 768px) {
    .ps__rail-x {
        display: none !important;
    }
}

/* Override theme font to use Google Sans (fallback to Roboto and system fonts). */
:root {
    --bs-font-sans-serif: 'Google Sans', 'Roboto', Inter, Helvetica, Arial, sans-serif;
}

body {
    font-family: var(--bs-body-font-family);
}

@media print {
    .no-print {
        display: none !important;
    }

    .system-watermark::before {
        content: "SYSTEM GENERATED COPY";
        position: fixed;
        top: 40%;
        left: 10%;
        width: 100%;
        font-size: 40px;
        color: rgba(0, 0, 0, 0.1);
        transform: rotate(-30deg);
        z-index: 9999;
        pointer-events: none;
        text-transform: uppercase;
    }

    .system-seal {
        position: fixed;
        bottom: 20px;
        right: 20px;
        width: 150px;
        opacity: 0.2;
        z-index: 9999;
    }

    #printarea {
        border: none !important;
        box-shadow: none !important;
        background-color: transparent !important;
        padding: 0 !important;
        width: 100% !important;
        max-width: 100% !important;
    }

    tr {
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }

    .print-footer {
        display: block;
        position: fixed;
        bottom: 20px;
        left: 0;
        right: 0;
        text-align: center;
        padding: 10px;
        background: white;
    }
}

#printarea {
    background-color: white;
    border: 1px solid #ccc;
    box-shadow: 0 0 5px rgba(0,0,0,0.1);
}

.print-footer {
    display: none;
}

.loadingModal {
    display: none;
    position: fixed;
    z-index: 9999999;
    top: 0;
    left: 0;
    height: 100%;
    width: 100%;
    background: rgba(255, 255, 255, .8) url('img/loader.gif') 50% 50% no-repeat;
}

body.loading {
    overflow: hidden;
}

body.loading .loadingModal {
    display: block;
}

.landing_tbl th {
    text-transform: uppercase;
}

.landing_tbl th:not(:first-child) {
    text-align: center;
}

.landing_tbl tbody tr td:not(:first-child) {
    text-align: center;
}

.form-switch .form-check-input:checked {
    background-color: #4CAF50 !important; /* Change to the desired shade of green */
    border-color: #4CAF50 !important; /* Match the border to the background */
}

.ul_sort {
    list-style-type: none;
    padding: 0;
}

.li_sort {
    display: flex;
    align-items: center;
    padding: 10px;
    border-bottom: 1px solid #e0e0e0;
    background-color: #fff;
}

.handle {
    cursor: move;
    margin-right: 10px;
}

.li_sort:hover {
    background-color: #f0f8ff; /* Light blue highlight */
    transition: background-color 0.3s ease;
    cursor: pointer; /* Add a pointer cursor */
}

 .li_sort:hover .text {
        font-weight: bold; /* Make the text bold on hover */
        color: #007bff; /* Change text color to blue */
    }

 .li_sort:hover .zoom-icon i {
        transform: scale(1.2);
        transition: transform 0.3s ease;
}

.table-center-header th:nth-child(n+2) {
    text-align: center;
}

.input-group.input-group-static.is-invalid .form-control {
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='%23fd5c70' viewBox='0 0 12 12'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23fd5c70' stroke='none'/%3e%3c/svg%3e") !important;
    background-repeat: no-repeat;
    background-position: right 0.75rem center;
    background-size: 1rem 1rem;
}

.input-group-static:not(.has-validation) > :not(:last-child):not(.dropdown-toggle):not(.dropdown-menu) {
    border-radius: 0 !important;
    /*border-bottom-right-radius: 0 !important;*/
}

.input-group-static.is-invalid .form-control {
    border-top: none !important;
    border-bottom: 1px solid #F44335 !important;
}

.choices__list--dropdown {
    z-index: 999999999 !important;
}

.choices .choices__input,
.choices .choices__list.choices__list--single,
.choices .choices__list.choices__list--single:focus,
.input-group.input-group-dynamic .form-control,
.input-group.input-group-static .form-control {
    background-image: linear-gradient(0deg, #1A73E8 2px, rgba(156, 39, 176, 0) 0), linear-gradient(0deg, #d2d2d2 1px, hsla(0, 0%, 82%, 0) 0) !important;
}

.input-group.input-group-dynamic.is-focused label:not(.error),
.input-group.input-group-static.is-focused label:not(.error),
.input-choices.is-focused label:not(.error) {
    color: #1A73E8 !important;
    font-weight: bold; /* Optional for emphasis */
    transition: color 0.3s ease; /* Smooth transition effect */
}

.input-choices label {
    margin-bottom: 0 !important;
    margin-left: 0 !important;
}

.select2-selection__rendered {
    margin-left: -4px !important;
}

.input-group.is-valid .form-control {
    border-color: none !important;
}

/* Set the Select2 container to block and full width */
.select2-container {
    display: block;
    width: 100% !important; /* Full width */
    margin-top: 5px;
    z-index: 1040 !important;
}

/* Adjust the Select2 selection box appearance */
.select2-selection {
    border: none; /* Remove all borders */
    border-bottom: 2px solid #ccc; /* Add bottom border only */
    border-radius: 0; /* Remove rounded corners */
    padding: 6px; /* Add padding for better UX */
    height: auto; /* Adjust height for flexibility */
}

.select2-container .select2-selection--single {
    height: 34px !important;
    border: none !important;
    border-bottom: 1px solid #aaa !important;
    border-radius: unset;
}

.select2-container--default.is-invalid .select2-selection--single {
    border-bottom: 1px solid red !important;
}

.select2-container .select2-selection--single .select2-selection__rendered {
    padding-left: 0 !important;
}

.input-choices.is-invalid.is-filled .select2-selection--single {
    border-bottom: 1px solid red !important;
}

.input-group.input-group-static.my-4.is-focused textarea:focus + label {
    color: #1A73E8 !important;
    font-weight: bold; /* Optional for emphasis */
    transition: color 0.3s ease; /* Smooth transition effect */
}

.form-control.is-valid {
    border: none !important;
}

.btn.btn-sm i, .btn-group-sm > .btn i {
    font-size: 0.8rem !important;
}

.nav.nav-pills .nav-link.active {
    background-image: linear-gradient(195deg, #49a3f1 0%, #1A73E8 100%);
    color: white !important;
}

div.dataTables_wrapper div.dataTables_filter input,
div.dataTables_wrapper div.dataTables_length select {
    border: 1px solid #ddd !important;
    border-radius: 4px;
    padding: 5px;
}

.table {
    width: 100% !important
}

.table-bordered td, .table-bordered th {
    border: 1px solid #dee2e6 !important;
}

table.table-bordered.dataTable {
    border-right-width: 0 !important;
}

.table-bordered {
    border: 1px solid #dee2e6 !important;
}

table.table-bordered.dataTable th, table.table-bordered.dataTable td {
    border-left-width: 0 !important;
}

table-bordered thead td, .table-bordered thead th {
    border-bottom-width: 2px !important;
}

.table th,
.table td {
    vertical-align: middle !important;
    word-wrap: break-word;
    white-space: normal
}

.table thead th {
    vertical-align: bottom !important;
    border-bottom: 2px solid #dee2e6 !important;
}

table.table-sm td,
table.table-sm th {
    padding: 0.3rem !important; /* Adjust as needed */
}

div.dataTables_wrapper div.dataTables_paginate {
    margin: 0;
    white-space: nowrap;
    text-align: right;
}

div.dataTables_wrapper div.dataTables_paginate ul.pagination {
        margin: 2px 0;
        white-space: nowrap;
        justify-content: flex-end;
    }

.pagination {
    display: -ms-flexbox;
    display: flex;
    padding-left: 0;
    list-style: none;
    border-radius: .25rem;
}

div.dataTables_wrapper div.dataTables_paginate ul.pagination {
    margin: 2px 0;
    white-space: nowrap;
    justify-content: flex-end;
}

div.dataTables_wrapper div.dataTables_info {
    padding-top: .5em !important;
    color: #737373 !important;
    font-size: 0.875rem !important;
}

.pagination .page-item.active .page-link {
    background-color: #1A73E8 !important; /* Example: Green background */
    border-color: #49a3f1 !important; /* Example: Green border */
    color: #fff !important; /* White text */
}

.pagination .page-item .page-link {
    color: #007bff !important; /* Default link color */
}

.pagination .page-item .page-link:hover {
        background-color: #f0f0f0 !important; /* Hover effect */
        border-color: #ccc !important;
}

.page-item .page-link, .page-item span {
    border-radius: unset !important;
    width: auto !important;
    padding: .5rem .75rem !important;
}

.card-footer button {
    margin-bottom: 0 !important;
}

.text-right {
    text-align: right !important;
}

/* upload */
.progress {
    height: 5px;
}

.hidden {
    display: none;
}

.upload-box {
    border: 2px dashed #007bff;
    padding: 20px;
    text-align: center;
    cursor: pointer;
    transition: all 0.3s ease-in-out;
    margin-bottom: 10px;
}

    .upload-box.dragover {
        background-color: #e9ecef;
    }

.file-progress {
    display: none;
    height: 5px;
    background: #e9ecef;
    border-radius: 5px;
    overflow: hidden;
}

.progress-bar {
    width: 0;
    height: 5px;
    background: #007bff;
    transition: width 1.5s ease-in-out;
}

.file-name {
    margin-top: 5px;
    font-size: 14px;
    color: #007bff;
}

input[readonly] {
    background-color: #f0f0f0 !important;
    color: #888;
}

.ql-snow {
    width: 100% !important;
}

.table-scroll {
    width: 100%;
    max-height: 500px;
    overflow-y: auto;
    overflow-x: hidden;
    border: 1px solid #dee2e6; /* optional, to match table border */
}

    .table-scroll thead th {
        position: sticky;
        top: 0;
        background: #fff;
        z-index: 2;
    }

a.hover-bold {
    font-weight: 400; /* normal */
    transition: font-weight 0.2s ease-in-out;
}

    a.hover-bold:hover {
        font-weight: 600; /* semi-bold for smoother look */
    }

/*.modal {
    overflow: visible !important;
}*/

/* upload */

/*.paginate_button:not(.previous):not(.next) .page-link {
    background-image: linear-gradient(195deg, #49a3f1 0%, #1A73E8 100%);
    color: #fff;
    border: none;
    border-radius: 4px;
    padding: 6px 12px;
    transition: background-color 0.3s ease;
}

.paginate_button:not(.previous):not(.next) .page-link:hover {
    background-image: linear-gradient(195deg, #1A73E8 0%, #49a3f1 100%);
}

.paginate_button.active .page-link {
    background-image: linear-gradient(195deg, #1A73E8 0%, #49a3f1 100%);
    font-weight: bold;
    box-shadow: 0px 4px 6px rgba(0, 0, 0, 0.1);
}*/

