:root {
    --mainColor: #194383;
    --bs-blue: var(--mainColor);
    --bs-link-color: var(--mainColor);
    --bs-btn-bg: var(--mainColor);
    --bs-btn-border-color: var(--mainColor);
    --bs-btn-hover-bg: #0b5ed7;
    --bs-btn-hover-border-color: #0a58ca;
    --bs-btn-active-bg: #0a58ca;
    --bs-btn-active-border-color: #0a53be;
    --bs-btn-disabled-bg: var(--mainColor);
    --bs-btn-disabled-border-color: var(--mainColor);
    --bs-font-size: 12px;
    --bs-dot-size: 12px;

}

@import url('https://fonts.googleapis.com/css2?family=Quicksand:wght@300..700&display=swap');

.btn {
    --bs-btn-padding-x: 0.6rem;
    --bs-btn-padding-y: 0.2rem;
    --bs-btn-font-family: ;
    --bs-btn-font-size: var(--bs-font-size) !important;
    --bs-btn-font-weight: 400;
    --bs-btn-line-height: 1.5;
    --bs-btn-color: #212529;
    --bs-btn-color: #fff;

}

.text-primary {
    color: var(--mainColor) !important;
    font-size: 1rem !important;
}

.btn-primary {
    --bs-btn-color: #fff;
    --bs-btn-bg: var(--mainColor);
    --bs-btn-border-color: var(--mainColor);
    --bs-btn-hover-color: #fff;
    --bs-btn-hover-bg: #0b5ed7;
    --bs-btn-hover-border-color: #0a58ca;
    --bs-btn-focus-shadow-rgb: 49, 132, 253;
    --bs-btn-active-color: #fff;
    --bs-btn-active-bg: #0a58ca;
    --bs-btn-active-border-color: #0a53be;
    --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
    --bs-btn-disabled-color: #fff;
    --bs-btn-disabled-bg: var(--mainColor);
    --bs-btn-disabled-border-color: var(--mainColor);
}

.bg-light {
    background-color: rgb(234 234 234) !important;
}


#sidebar {
    min-height: 88vh;
}

.form-control,
.form-select {
    font-size: 0.8rem;
    font-weight: 400;
    color: #212529;
    background-color: #fff;
    border: 1px solid #ced4da;
    border-radius: .375rem;
}

.form-control {
    padding: .275rem .65rem;
}

.border-bottom {
    border-bottom: 2px solid black;
}

input[type="checkbox"] {
    height: 11px;
    width: 11px;
}

.permission label,
strong {
    color: #495057;
}

body {
    font-family: "Quicksand", sans-serif !important;
    font-optical-sizing: auto;
    font-weight: 400;
    font-style: normal;
    font-size: var(--bs-font-size) !important;
}

/* Custom CSS for flat line design */
.custom-nav .nav-tabs .nav-link {
    border: none;
    position: relative;
    padding: 0.5rem 1rem;
    color: #6c757d;
    background-color: transparent;
    transition: color 0.3s ease-in-out;
}

.custom-nav .nav-tabs .nav-link.active {
    color: var(--mainColor);
    font-weight: 500;
}

/* Flat line style */
.custom-nav .nav-tabs .nav-link::before {
    content: "";
    position: absolute;
    bottom: 0;
    left: 50%;
    width: 0;
    height: 2px;
    background-color: var(--mainColor);
    transition: width 0.3s ease-in-out, left 0.3s ease-in-out;
    transform: translateX(-50%);
}


.navbar {
    --bs-navbar-padding-y: 0.0rem;
}

.custom-nav .nav-tabs .nav-link.active::before {
    width: 100%;

}

.form-check-inline {
    display: inline-block;
    margin-right: .2rem;
}

.form-check {
    min-height: 1rem;
    margin-bottom: 0rem;
}

.select2-container .select2-selection--multiple {
    max-height: 29px;
    /* Fix the height */
    overflow-x: hidden;
    /* Enable scrollbar for overflow */
}

.select2-container--default {
    /* width: 100% !important; */
    /* border: 1px solid #ced4da!important; */

}

.font-10 {
    font-size: 10px !important;
}

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

.font-12 {
    font-size: 12px !important;
}

.font-13 {
    font-size: 13px !important;
}

.font-14 {
    font-size: 14px !important;
}

.font-15 {
    font-size: 15px !important;
}

/* Chrome, Safari, Edge, Opera */
input::-webkit-outer-spin-button,
input::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

/* Firefox */
input[type=number] {
    -moz-appearance: textfield;
}

.dollar {
    position: relative;
}

.dollar:before {
    position: absolute;
    content: "$";
    left: 4px;
    top: 4px;
    font-size: 15px;
}

.dollar input {
    padding-left: 15px;
}

.cusLink {
    font-size: var(--bs-font-size) !important;
    border-color: var(--mainColor) !important;
}

.cusLink:hover {
    color: white !important;
    /* background-color: var(--mainColor) !important; */

}

.require::after {
    content: '*';
    color: red;
    font-weight: bold;
}

.dropdown-menu {
    --bs-dropdown-zindex: 1000;
    --bs-dropdown-min-width: 10px;
    --bs-dropdown-padding-x: 0;
    --bs-dropdown-padding-y: 0.5rem;
    /* --bs-dropdown-spacer: 0.125rem; */
    --bs-dropdown-font-size: var(--bs-font-size) !important;
    /* --bs-dropdown-color: #212529; */
    --bs-dropdown-bg: #fff;
    --bs-dropdown-border-color: var(--bs-border-color-translucent);
    --bs-dropdown-border-radius: 0.375rem;
    --bs-dropdown-border-width: 1px;
    --bs-dropdown-inner-border-radius: calc(0.375rem - 1px);
    --bs-dropdown-divider-bg: var(--bs-border-color-translucent);
    --bs-dropdown-divider-margin-y: 0.5rem;
    --bs-dropdown-box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15);
    --bs-dropdown-link-color: #212529;
    --bs-dropdown-link-hover-color: #1e2125;
    --bs-dropdown-link-hover-bg: #e9ecef;
    --bs-dropdown-link-active-color: #fff;
    --bs-dropdown-link-active-bg: var(--mainColor);
    --bs-dropdown-link-disabled-color: #adb5bd;
    --bs-dropdown-item-padding-x: 1rem;
    --bs-dropdown-item-padding-y: 0.25rem;
    --bs-dropdown-header-color: #6c757d;
    --bs-dropdown-header-padding-x: 1rem;
    --bs-dropdown-header-padding-y: 0.5rem;
    position: absolute;
    z-index: var(--bs-dropdown-zindex);
    display: none;
    min-width: var(--bs-dropdown-min-width);
    padding: var(--bs-dropdown-padding-y) var(--bs-dropdown-padding-x);
    margin: 0;
    font-size: var(--bs-dropdown-font-size);
    color: var(--bs-dropdown-color);
    text-align: left;
    list-style: none;
    background-color: var(--bs-dropdown-bg);
    background-clip: padding-box;
    border: var(--bs-dropdown-border-width) solid var(--bs-dropdown-border-color);
    border-radius: var(--bs-dropdown-border-radius);
}

.main-div {
    background: var(--mainColor);
    padding: 12px 12px 0px 12px;
}

.sub-div {
    background-color: #fff;
    min-height: 75vh;
    padding: 5px 0px 0px 0px;
    border-top-right-radius: 10px;
    border-top-left-radius: 10px;
}

#login_main_id {
    width: 50%;
}

#forgot_password_form {
    width: 50%;
}

#forgot_password_success {
    width: 50%;
}

.welcome_text_div {
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

.welcome_text {
    color: #194383;
    font-weight: bold;
    font-size: 25px;
    position: relative;
    margin-left: 40px;
}

.welcome_text_div::before {
    content: '';
    position: absolute;
    background-position: center;

    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    margin-left: 40px;
    background-size: contain;
    /* or contain, depending on your need */
    opacity: 0.3;
    /* Adjust as needed */
    background-repeat: no-repeat;
    /* z-index: -1; Ensure the background is behind the text */
}

#buttons {
    border-bottom: solid black 2px;
}

#test {
    position: relative;
    margin-left: 0;
    margin-right: 0;
    height: 81vh;
}

.free_btns{
    height: fit-content;
}

@media (min-width: 768px) {
    .main-div {
        background: var(--mainColor);
        padding: 20px 20px 0px 20px;
    }

    .sub-div {
        background-color: #fff;
        min-height: 75vh;
        padding: 20px;
        border-top-right-radius: 10px;
        border-top-left-radius: 10px;
    }

    #login_main_id {
        width: 35%;
    }

    #forgot_password_form {
        width: 35%;
    }

    #forgot_password_form {
        width: 35%;
    }

    #test {
        position: relative;
        margin-left: 0;
        margin-right: 0;
        height: 75vh;
    }

    

    

    /* .welcome_text_2 {
        color: blue;
        font-weight: bold;
        font-size: 50px;
        position: relative;
        top: 25%;
        transform: translateY(-25%)
      } */
    #buttons {
        position: relative;
        overflow: visible;
        display: flex;
        flex-direction: column;
        border-bottom: transparent;
        /* Arrange rows vertically */
        justify-content: center;
        /* border-right: black solid 2px; */
    }

    #buttons::before {
        content: '';
        position: absolute;
        top: -20px;
        /* Extend border upwards beyond padding */
        right: -20px;
        /*Extend border to the right beyond padding*/
        bottom: -20px;
        /* Extend border downwards beyond padding */
        left: -20px;
        /*Extend border to the left beyond padding*/
        text-align: center;
        border-right: 2px solid #212529;
        
        /* Border color and thickness */
        pointer-events: none;
        /* Ensure it doesn't interfere with interactions */
        box-sizing: border-box;
        /* Include the border in the element’s size calculations */
    }

    #buttons * {
        position: relative;
        /* top: 20%;
        transform: translateY(-20%); */
        left: 50%;
        transform: translateX(-50%);
        margin-left: 0;
        margin-right: 0;
    }
}
.dataTable th{
    text-align: center;
}
.ui-menu-item {
    padding: 3px;
    margin: 0; 
    border-bottom: 1px solid #ddd; 
    cursor: pointer; 
    transition: background-color 0.2s ease; 
}

.ui-autocomplete{
    max-width: 220px!important;
    max-height: 300px!important;;
}
   #ui-id-1,#ui-id-2,#ui-id-3 {
max-height: 300px;
overflow-y: auto;
overflow-x: hidden;
}

.ui-widget-content{
    max-height: 250px!important;
overflow-y: auto!important;
overflow-x: hidden!important;
}

.my-swal {
    color: var(--mainColor); /* Text color */
    /* background-color: #007bff;  */
    border-radius: 10px; /* Rounded corners */
}

.my-swal .swal2-title {
    font-family: 'Arial', sans-serif; /* Font family for the title */
    font-size: 16px; /* Font size for the title */
}

.my-swal .swal2-content {
    font-family: 'Arial', sans-serif; /* Font family for the content */
    font-size: 16px; /* Font size for the content */
}

.my-swal .swal2-confirm {
    background-color: #28a745; /* Custom color for the confirm button */
    color: white; /* Text color for the confirm button */
    padding: 5px 15px;
}

.my-swal .swal2-cancel {
    background-color: #dc3545; /* Custom color for the cancel button */
    color: white; /* Text color for the cancel button */
    padding: 5px 15px;
}
 /* Container for the timeline */
 .timeline {
    display: flex;
    justify-content: space-between;
    width: 100%;
    align-items: center;
    position: relative;
    height: 5px; /* Adjust the height to accommodate dots and the line */
}

/* Each item in the timeline */
.timeline-item {
    position: relative;
    text-align: center;
}

/* The dot styles */
.dot {
    width: var(--bs-dot-size);
    height: var(--bs-dot-size);
    border-radius: 50%;
    transition: background-color 0.3s, border 0.3s;
    position: relative;
    z-index: 1; /* Ensure the dot appears above the line */
    border: 2px solid transparent; 
}

.status {
    font-size: 14px;
    font-weight: bold;
    margin-top: 5px;
}
.timeline::before {
    content: '';
    position: absolute;
    top: 47%; 
    left: 0;
    width: calc(100% - 2px); 
    height: 2px;
    background-color: #ccc;
    z-index: 0; 
}
.dot.default {
    background-color: #9BA9B8;
}
.dot.waiting {
    background-color: #F59724;
}
 .dot.open {
    background-color: rgb(13 202 240);
}

.dot.approved {
    background-color: #4CC1B0;
}

.dot.rejected {
    background-color: #ff0000;
}

.dot.active {
    border: 4px double #fff; 
    height: calc(var(--bs-dot-size) + 3px);
    width: calc(var(--bs-dot-size) + 3px);
}
#page-loader {
    display: flex;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(255, 255, 255, 0.9);
    align-items: center;
    justify-content: center;
    z-index: 9999;
}