/* DMSans */
@font-face {
    font-family: DMSans-regular;
    src: url(/static/fonts/DM_Sans/DMSans-Regular.ttf);
}
.font-dmsans-regular {
    font-family: "DMSans-regular", sans-serif !important;
}

@font-face {
    font-family: DMSans-bold;
    src: url(/static/fonts/DM_Sans/DMSans-Bold.ttf);
}
.font-dmsans-bold {
    font-family: "DMSans-bold", sans-serif !important;
}

@font-face {
    font-family: DMSans-medium;
    src: url(/static/fonts/DM_Sans/DMSans-medium.ttf);
}
.font-dmsans-medium {
    font-family: "DMSans-medium", sans-serif !important;
}

/* Poppins */

@font-face {
    font-family: Poppins-Regular;
    src: url(/static/fonts/Poppins/Poppins-Regular.ttf);
}
.font-poppins-regular {
    font-family: "Poppins-Regular", sans-serif !important;
}

@font-face {
    font-family: Poppins-Bold;
    src: url(/static/fonts/Poppins/Poppins-Bold.ttf);
}
.font-poppins-bold {
    font-family: "Poppins-Bold", sans-serif !important;
}

@font-face {
    font-family: Poppins-SemiBold;
    src: url(/static/fonts/Poppins/Poppins-SemiBold.ttf);
}
.font-poppins-semibold {
    font-family: "Poppins-SemiBold", sans-serif !important;
}

@font-face {
    font-family: Poppins-Light;
    src: url(/static/fonts/Poppins/Poppins-Light.ttf);
}
.font-poppins-light {
    font-family: "Poppins-Light", sans-serif !important;
}

@font-face {
    font-family: Poppins-Medium;
    src: url(/static/fonts/Poppins/Poppins-Medium.ttf);
}
.font-poppins-medium {
    font-family: "Poppins-Medium", sans-serif !important;
}

@font-face {
    font-family: Poppins-Thin;
    src: url(/static/fonts/Poppins/Poppins-Thin.ttf);
}
.font-poppins-thin {
    font-family: "Poppins-Thin", sans-serif !important;
}

/* Libre Caslon */
@font-face {
    font-family: LibreCaslonText-Bold;
    src: url(/static/fonts/Libre_Caslon/LibreCaslonText-Bold.ttf);
}
.font-librecaslon-bold {
    font-family: "LibreCaslonText-Bold", serif !important;
}

@font-face {
    font-family: LibreCaslonText-Italic;
    src: url(/static/fonts/Libre_Caslon/LibreCaslonText-Italic.ttf);
}
.font-librecaslon-italic {
    font-family: "LibreCaslonText-Italic", serif !important;
}

@font-face {
    font-family: LibreCaslonText-Regular;
    src: url(/static/fonts/Libre_Caslon/LibreCaslonText-Regular.ttf);
}
.font-librecaslon-regular {
    font-family: "LibreCaslonText-Regular", serif !important;
}

* {
    font-family: "DMSans-regular", sans-serif;
}
/* Sroll bar */
::-webkit-scrollbar-track {
    -webkit-box-shadow: inset 0 0 6px rgba(0, 0, 0, 0.3);
    background-color: #f5f5f5;
}

::-webkit-scrollbar {
    width: 10px;
    background-color: #f5f5f5;
}

::-webkit-scrollbar-thumb {
    background-color: #3e7fce;
}

.scrollbar-thin {
    scrollbar-width: thin;
    scrollbar-color: #3e7fce !important;
}
/* END  */

/* Radio Button */
/* The container */
.radio-btn-container {
    display: block;
    position: relative;
    padding-left: 35px;
    margin-bottom: 12px;
    cursor: pointer;
    font-size: 16px;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
}

/* Hide the browser's default radio button */
.radio-btn-container input {
    position: absolute;
    opacity: 0;
    cursor: pointer;
}

/* Create a custom radio button */
.checkmark {
    position: absolute;
    top: 3px;
    left: 0;
    height: 20px;
    width: 20px;
    background-color: #fafafa;
    border-radius: 50%;
    border: 5px solid #e6e7e8;
}

/* On mouse-over, add a grey background color */
.radio-btn-container:hover input ~ .checkmark {
    background-color: #ccc;
}

/* When the radio button is checked, add a blue background */
.radio-btn-container input:checked ~ .checkmark {
    border-color: #e1efff !important;
    background-color: #e1efff;
}

.radio-btn-container input:checked ~ .radio-btn-label {
    color: #0265dc;
}

/* Create the indicator (the dot/circle - hidden when not checked) */
.checkmark:after {
    content: "";
    position: absolute;
    display: none;
}

/* Show the indicator (dot/circle) when checked */
.radio-btn-container input:checked ~ .checkmark:after {
    display: block;
}

/* Style the indicator (dot/circle) */
.radio-btn-container .checkmark:after {
    top: 1px;
    left: 1px;
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: #0265dc;
}
/* END  */

input:focus {
    outline: none !important;
    border: none !important;
    border-top-style: hidden !important;
    border-right-style: hidden !important;
    border-left-style: hidden !important;
    border-bottom-style: hidden !important;
    border-color: transparent !important;
    -webkit-box-shadow: none !important;
    box-shadow: none !important;
}

.iti {
    width: 100%;
}

.page-item {
    margin: 0 5px;
}
.page-link {
    background-color: transparent;
    padding: 10px 20px;
    color: #969696;
    font-family: "Poppins-SemiBold", sans-serif !important;
}

/* .select2-container{
    z-index: 2000;
} */

span.select2-container {
    z-index: 1100;
}

.select2-search__field {
    z-index: 20001;
}
.btn-card-success,
.card-success {
    background-color: #e6f2e2;
    color: #454749;
    border: 3px solid #e6f2e2;
}
.btn-card-success:hover,
.btn-card-success.active {
    border: 3px solid #0d9a4e;
}
.btn-card-warning,
.card-warning {
    background-color: #f8f0e7;
    color: #454749;
    border: 3px solid #f8f0e7;
}
.btn-card-warning:hover,
.btn-card-warning.active {
    border: 3px solid #d09b5e;
}
.btn-card-danger,
.card-danger {
    background-color: #ffeeee;
    color: #454749;
    border: 3px solid #ffeeee;
}
.btn-card-danger:hover,
.btn-card-danger.active {
    border: 3px solid #ff5858;
}
.btn-card-info,
.card-info {
    background-color: #eef0f8;
    color: #454749;
    border: 3px solid #eef0f8;
}
.btn-card-info:hover,
.btn-card-info.active {
    border: 3px solid #6375bf;
}
.btn-card-cool,
.card-cool {
    background-color: #e1f0f5;
    color: #454749;
    border: 3px solid #e1f0f5;
}
.btn-card-cool:hover,
.btn-card-cool.active {
    border: 3px solid #74b8d4;
}

.table-row:hover,
.table-row.active {
    background-color: #eef0f8;
}

.select2-container--bootstrap-5 .select2-selection {
    border: none !important;
}

.productItems:hover {
    border: 1px solid #0265dc !important;
}
.ptb-10 {
    padding: 10px 10px !important;
}

.select2-selection__rendered {
    margin-right: 29px;
}

.select2.select2-container {
    width: 100% !important;
}

.btn-primary {
    color: #fff !important;
    background-color: #0d6efd !important;
    border-color: #0d6efd !important;
}

.is-installment {
    color: white;
    background-color: #0265dc;
}
.is-not-installment {
    color: #0265dc;
    background-color: white;
}
.error-message {
    background-color: #fce1e2;
    color: #d74141;
    padding: 0.75rem 0.5rem;
    text-align: center;
    border-radius: 0.75rem;
    margin: 0.75rem 0;
}

/* Class assigned to popover wrapper */
.driver-popover {
    background-color: #3383fa !important;
    color: #fff !important;
    max-width: 600px !important;
}

/* Arrow pointing towards the highlighted element */
.driver-popover-arrow.driver-popover-arrow-side-top {
    border-top-color: #3383fa !important;
}
.driver-popover-arrow.driver-popover-arrow-side-bottom {
    border-bottom-color: #3383fa !important;
}
.driver-popover-arrow.driver-popover-arrow-side-left {
    border-left-color: #3383fa !important;
}
.driver-popover-arrow.driver-popover-arrow-side-right {
    border-right-color: #3383fa !important;
}

/* Title and description */
.driver-popover-title {
}
.driver-popover-description {
    width: fit-content !important;
}

/* Close button displayed on the top right corner */
.driver-popover-close-btn {
    color: white !important;
}

/* Footer of the popover displaying progress and navigation buttons */
.driver-popover-footer {
    color: red !important;
}
.driver-popover-progress-text {
    color: white !important;
}

.driver-popover-prev-btn,
.driver-popover-next-btn {
    align-items: center !important;
    appearance: none !important;
    background-color: #fcfcfd !important;
    border-radius: 4px !important;
    border-width: 0 !important;
    box-shadow: rgba(45, 35, 66, 0.4) 0 2px 4px,
        rgba(45, 35, 66, 0.3) 0 7px 13px -3px, #d6d6e7 0 -3px 0 inset !important;
    box-sizing: border-box !important;
    color: #36395a !important;
    cursor: pointer !important;
    display: inline-flex !important;
    justify-content: center !important;
    line-height: 1 !important;
    list-style: none !important;
    overflow: hidden !important;
    padding: 8px 12px !important;
    position: relative !important;
    text-align: left !important;
    text-decoration: none !important;
    transition: box-shadow 0.15s, transform 0.15s !important;
    user-select: none !important;
    -webkit-user-select: none !important;
    touch-action: manipulation !important;
    white-space: nowrap !important;
    will-change: box-shadow, transform !important;
}

.driver-popover-prev-btn:focus,
.driver-popover-next-btn:focus {
    box-shadow: #d6d6e7 0 0 0 1.5px inset, rgba(45, 35, 66, 0.4) 0 2px 4px,
        rgba(45, 35, 66, 0.3) 0 7px 13px -3px, #d6d6e7 0 -3px 0 inset;
}

.driver-popover-prev-btn:hover,
.driver-popover-next-btn:hover {
    box-shadow: rgba(45, 35, 66, 0.4) 0 4px 8px,
        rgba(45, 35, 66, 0.3) 0 7px 13px -3px, #d6d6e7 0 -3px 0 inset;
    transform: translateY(-2px);
}

.driver-popover-prev-btn:active,
.driver-popover-next-btn:active {
    box-shadow: #d6d6e7 0 3px 7px inset;
    transform: translateY(2px);
}

.bounce {
    animation: bounce 2s ease infinite;
}
@keyframes bounce {
    0%,
    20%,
    50%,
    80%,
    100% {
        transform: translateY(0);
    }
    40% {
        transform: translateY(-10px);
    }
    60% {
        transform: translateY(-15px);
    }
}

.swiper {
    width: 100%;
    height: 100%;
    max-width: 700px;
}

.search-choice {
    background: transparent !important;
    padding: 8px 20px 8px 10px !important;
}

.search-choice-close {
    top: 10px !important;
    width: 14px !important;
}

.chosen-choices {
    padding: 3px 6px !important;
    border: none !important;
    border-radius: 6px !important;
    font-size: 16px !important;
    max-height: 85px !important;
    overflow-y: scroll !important;
}

.chosen-choices:disabled {
    background: #aaa;
}

.row-fade-in {
    background-color: white;
    transition: 0.3s;
}

.row-fade-in:hover {
    background-color: #f9f9f9;
}

/* Used in Categories */
.dropdown-container {
    width: 100%;
    position: relative;
}
.dropdown-button {
    width: 100%;
    padding: 8px;
    border-radius: 4px;
    background-color: none;
    text-align: left;
    cursor: pointer;
    position: relative;
    white-space: nowrap;
}
.dropdown-button::after {
    content: '\203A';
    font-size: 30px;
    position: absolute;
    right: 10px;
    top: 50%;
    transform: translateY(-50%) rotate(90deg);
}
.dropdown-menu {
    display: none;
    position: absolute;
    top: 110%;
    left: 0;
    width: auto;
    background-color: #fff;
    /* box-shadow: 0 2px 5px rgba(0, 0, 0, 0.2); */
    z-index: 1000;
    max-height: 350px;
    overflow-y: auto;
    padding: 0;
    border-end-end-radius: 5px;
    border-bottom-left-radius: 5px;
}
.dropdown-menu.open {
    display: block;
}
.dropdown-item {
    padding: 10px;
    cursor: pointer;
    display: block;
}
.dropdown-item:hover, .dropdown-item.active {
    background-color: #0264db;
    color: white
}
.child-item {
    display: flex;
    gap: 8px;
}
/* .child-item::before {
    content: attr(data-content);
} */
.search-container {
    position: sticky;
    display: flex;
    align-items: center;
    padding: 10px;
    border-bottom: 1px solid #ccc;
    background-color: #f9f9f9;
}
.search-box {
    width: 100%;
    padding: 8px;
    border: none;
    box-sizing: border-box;
    outline: none;
}
.search-icon {
    margin-right: 8px;
    font-size: 1.2em;
    color: #888;
}

/* Used in input_dropdown_tree.html */
.autocomplete-container {
    width: 100%;
    position: relative;
}
.autocomplete-menu {
    display: none;
    position: absolute;
    top: 110%;
    left: 0;
    width: 100%; /* Ensure menu spans the width of container */
    background-color: #fff;
    z-index: 1000;
    max-height: 250px;
    overflow-y: auto;
    border: 1px solid #ccc;
    border-end-end-radius: 5px;
    border-bottom-left-radius: 5px;
}
.autocomplete-menu.open {
    display: block;
}
.autocomplete-item {
    padding-left: 10px;
    cursor: pointer;
    display: block;
}
.autocomplete-item:hover, .autocomplete-item.active {
    background-color: #0264db !important;
    color: white;
}

/* Remove arrow in input['number'] */
.remove-arrow::-webkit-inner-spin-button, .remove-arrow::-webkit-outer-spin-button {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    margin: 0;
}

.table-tooltip {
    position: relative;
    display: inline-block;
    cursor: pointer;
}

.table-tooltip .tooltiptext {
    visibility: hidden;
    width: auto;
    background-color: black;
    color: #fff;
    text-align: center;
    border-radius: 5px;
    padding: 10px;
    position: absolute;
    z-index: 1;
    bottom: 125%; /* Position above the element */
    left: 50%;
    margin-left: -60px;
    opacity: 0;
    transition: opacity 0.3s;
}

.table-tooltip:hover .tooltiptext {
    visibility: visible;
    opacity: 1;
}

/* Quill.js CSS */
/* NOTE: Since the following ql css doesn't get 
recognized from the CDN, I hard-coded them here instead */

.ql-size-small {
    font-size: .75em;
}

.ql-size-large {
    font-size: 1.5em;
}

.ql-size-huge {
    font-size: 2.5em;
}

.ticket-message {
    white-space: pre-line;
}

.ticket-message p {
    display: block;         /* Ensure each p behaves as a block */
    min-height: 1.5em;      /* Reserve vertical space even when empty */
}

.ticket-message ol {
    list-style: decimal;
    padding-left: 1.5rem; /* Optional for indentation */
}

.ticket-message ul {
    list-style: disc;
    padding-left: 1.5rem; /* Optional for indentation */
}

/* DayPilot Scheduler CSS */
/* .scheduler_default_corner_inner {
    background-color: #0265DC !important;
}

.scheduler_default_rowheader_inner {
    background-color: #0265DC !important;
    color: white;
}

.scheduler_default_timeheader_float {
    background-color: #0265DC !important;
    border-bottom: 1px solid #c0c0c0;
    color: white;
}

.scheduler_default_timeheadergroup_inner {
    background-color: #0265DC !important;
    color: white;
}

.scheduler_default_timeheadercol_inner {
    background-color: #0265DC !important;
    color: white;
} */

