.login-container {
    max-width: 400px;
    margin: 100px auto;
    padding: 20px;
    background-color: white;
    border-radius: 8px;
    box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.1);
}

.login-container .form-control {
    padding: 10px;
    font-size: 1rem;
}

.login-container .button {
    margin-top: 10px;
    padding: 10px;
    font-size: 1rem;
}

body {
    font-family: 'Helvetica', sans-serif; 
    background-color: #f9fafb; /* Light gray background */
    /* background-color: #f8f9fa;  */
    color: #333; /* Darker gray for text */
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    min-height: 100vh;
}

.navbar {
    background-color: #ffffff; /* White background */
    padding: 15px;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
    /* top: 0; */
    /* z-index: 1030; Ensures the navbar stays above other content */
}

.navbar .navbar-brand, .navbar-nav .nav-link {
    color: #333; /* Dark gray */
    font-weight: 500; /* Slightly bold for emphasis */
    /* text-transform: uppercase; */
}

.navbar .nav-link:hover {
    color: #0056b3;; 
}

.label-center {

    text-align: center;

}

.container {
    margin-top: 20px;
    margin-bottom: 20px;
    max-width: 1250px; /* Limit max-width to keep it centered and neat */
}

h2 {
    color: #333; /* Darker color for headings */
    font-weight: 600; /* Slightly bolder */
    border-bottom: 2px solid #eaeaea; /* Subtle separator line */
    padding-bottom: 5px;
    margin-top: 20px;
}

h3 {
    color: #333; /* Darker color for headings */
    font-weight: 400; /* Slightly bolder */
    border-bottom: 2px solid #eaeaea; /* Subtle separator line */
    padding-bottom: 5px;
    margin-top: 20px;
}

h4 {
    color: #333; /* Darker color for headings */
    font-weight: 300; /* Slightly bolder */
    border-bottom: 2px solid #eaeaea; /* Subtle separator line */
    padding-bottom: 5px;
    margin-top: 20px;
}

/* Cards styling */
.card {
    background-color: #ffffff; /* White card background */
    border: none; /* Remove borders for a cleaner look */
    border-radius: 8px; /* Rounded corners */
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.05); /* Light shadow for depth */
    margin-bottom: 20px; /* Add spacing between cards */
    padding: 5px;
    text-align:center;
}

.card-body {
    padding: 20px;
}

.main-content {
    flex: 1;
    padding: 20px 100px; 
}

footer {
    bottom: 0;
    background-color: #ffffff;
    width: 100%;
    padding: 5px 0;
    margin-top: auto;
    font-size: 0.9em;
    border-top: 1px solid #eaeaea;
}

footer a {
    color: inherit;
    text-decoration: underline;
}

footer a:hover {
    text-decoration: underline;
}

button, .btn {
    border-radius: 6px; /* Rounded corners */
    cursor: pointer;
    margin: 0;
    transition: background-color 0.3s ease;
}



/* Input fields styling */
.form-control {
    border: 1px solid #e0e0e0; /* Soft border */
    border-radius: 6px; /* Rounded corners */
    box-shadow: none;
}

/* Table styling */
table {
    width: 100%;
    table-layout: auto;
    margin-top: 20px;
    border-collapse: collapse;
}

/* td {
    text-align:center;
} */

td.actions-col, th.actions-col {
    text-align: center; /* Align text and button in the center */
    vertical-align: middle; /* Ensure vertical alignment */
}

/* Center the button within the column */
.actions-col button {
    margin: auto; /* Center horizontally */
    display: block; /* Treat as block to align with margin auto */
}


table th, table td {
    padding: 10px;
    vertical-align: middle;
    border-bottom: 1px solid #eaeaea; /* Soft border between rows */
}

/* Behavior for dashboard table */
.table .eligible-row  {
    opacity: 1;
}

.table .ineligible-row {

    opacity: 0.5; /* Slight transparency to give a more subdued look */
}

#activityTable {
    font-size: 0.9rem;
}

.table-container {
    overflow-x: auto; /* Allow horizontal scrolling */
    -webkit-overflow-scrolling: touch; /* Smooth scrolling for iOS */
}

/*#srcPaymentModal {

    display: flex;
    flex-wrap: wrap;
    justify-content:center;
    width: 100%;
    height: 100%;
    style="display:flex; flex-wrap: wrap; justify-content:center;"

}*/

@media (max-width: 768px) {
    table, thead, tbody, th, td, tr {
        display: block;
    }

    thead tr {
        display: none; /* Hide table headers */
    }

    tbody tr {
        margin-bottom: 15px;
        border: 1px solid #ddd;
        border-radius: 5px; /* Rounded corners for mobile rows */
        padding: 10px;
    }

    td {
        position: relative;
        padding-left: 50%; /* Leave space for the labels */
        text-align: right; /* Align text for better readability */
        border: none; /* Remove unnecessary borders */
    }

td::before {
        content: attr(data-label); /* Display the column header as a label */
        position: absolute;
        left: 10px;
        font-weight: 400;
        color: #555;
        white-space: nowrap;
    }
}

.no-click {

    pointer-events: none;
    background-color:#e6e1e1;
    border-color: black;
    color: black;
    cursor: not-allowed;
    opacity: 0.6;

}

/* Modal styling */
.modal-content {
    border-radius: 8px; /* Rounded corners */
    padding: 15px;
}

.card-container {

    display: flex;
    flex-direction: row;
    justify-content: space-evenly;
    align-items: center;
    margin-top: 20px;

}

.text-center {

    text-align: center !important;

}

.no-bottom-border {

    border-bottom: none !important;

}

.info-callout {

    border-left: solid 5px #34e1eb;
    background-color: white;

}


.modal-header, .modal-footer {
    border: none; /* Remove borders for cleaner look */
}

/* Tooltip customization */
.tooltip-inner {
    min-width: 250px !important;
    background-color: #f8f8f8 !important; /* Match white card-like background */
    color: #333 !important; /* Dark gray text color to match general text styling */
    font-size: 14px; /* Consistent font size */
    font-family: 'Helvetica', sans-serif !important; /* Match overall font family */
    border: 1px solid #eaeaea; /* Subtle border for visibility */
    box-shadow: 0px 4px 10px rgba(0, 0, 0, 0.2); /* Enhanced shadow to make it "jump out" */
    border-radius: 8px; /* Match rounded corners of cards */
    padding: 5px; /* Ensure text has enough padding */
    /* text-align: center; Center the text */
}

/* Tooltip arrow */
.tooltip.bs-tooltip-top .tooltip-arrow {
    border-top-color: #f8f8f8 !important; /* Match tooltip border */
}

.tooltip.bs-tooltip-bottom .tooltip-arrow {
    border-bottom-color: #f8f8f8 !important; /* Match tooltip border */
}

/* Tooltip transition for smooth visibility */
.tooltip {
    opacity: 0;
    transition: opacity 0.3s ease-in-out; /* Smooth transition effect */
}

.tooltip.show {
    opacity: 1;
}

#loader-container {

    display: none;
    position: fixed;
    top: 0;
    left:0;
    width:100%;
    height:100%;
    background-color: rgba(128, 128, 128, 0.5);
    justify-content:center;
    align-items:center;

}

/*info derived from https://css-loaders.com/spinner/*/
#loader {

  display: none;
  width: 50px;
  aspect-ratio: 1;
  border-radius: 50%;
  border: 8px solid;
  border-color: #000 #0000;
  animation: l1 1s infinite;
}
@keyframes l1 {to{transform: rotate(.5turn)}}

#info-bar {
    background-color: #ffffff; /* White background */
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
    max-width: 98%;
    padding: 10px;
    font-size: 14px;
}

#info-bar .row {
    margin-bottom: 5px; 
}

.accordion-item {

    border-top: 0px;

}
