:root {
// Basic
--c-white: #fff;
    --c-black: #000;

// Greys
--c-ash: #eaeef6;
    --c-charcoal: #a0a0a0;
    --c-void: #141b22;

// Beige/Browns
--c-fair-pink: #FFEDEC;
    --c-apricot: #FBC8BE;
    --c-coffee: #754D42;
    --c-del-rio: #917072;
    --c-orcbkgrnd: #00AD95;

// Greens
--c-java: #1FCAC5;

// ORC Background


// Purples
--c-titan-white: #f1eeff;
    --c-cold-purple: #a69fd6;
    --c-indigo: #6558d3;
    --c-governor: #4133B7;
}

div#rptslist {
    padding: 2px;
    border: #591c24 2px solid;
}

/* commented out on 23 dec 25 */
/*html, body {
    height: 100%;
    margin: 0;
}*/

/* Added on 23 dec 25 */
html, body {
    height: 100vh; /* Ensures the body takes up the full viewport height */
    display: flex;
    flex-direction: column;
    margin: 0;
}

body { margin-left: 0.6rem; margin-right: 0.6rem; }

/* commented out on 23 dec 25 */
/*body {
    display: flex;
    flex-direction: column;
    min-height: 100vh;
}*/

.site-content {
    flex-grow: 1; /* This element will grow to fill the remaining space */
}

main {
    flex: 1 0 auto;
}

.page-footer {
    padding-top: 0;
    /*border-top: 1px solid var(--c-orcbkgrnd);*/
    border-top: 1px solid #2B2669;
}

.page-footer div.row {
    margin-bottom: 2px;
}

.page-footer-header-text {
    color: /*#01AB94;*/ /*#2B2669*/ darkgreen;
    font-weight: bold;
    background-color: #cad8eb;
}

.page-footer-header-text-light {
    color: /* #01AB94; */ #2B2669;
    font-weight: bolder;
}

.navbar .profile-button span.avatar-status {
    line-height:43px
}

span.avatar-status{
    line-height: 43px;
}

.avatar-status {
    display: inline-block;
    position: relative;
    width: 28px;
    vertical-align: baseline;
    border-radius: 50px;
    white-space: nowrap;
}

.logoutLink {
    position: absolute;
    padding: 0;
    display: inline-block;
}

span.logout-block {
    position: relative;
    display: inline-block;
    line-height: 10px;
    background-color: #F2C037;
}

span.btnSpan {
    display: inline-block;
}

div.logoutDiv {
    display: flex;
    align-items: center;
    height: 28px;
    gap: 2px; /* Sets a 2px gap between items both horizontally and vertically */
}

.logoutDiv img {
    width: auto;
    max-width: 100%;
    height: 28px;
    border: 0;
    border-radius: 1000px;
}

.avatar-status img {
    width:100%;
    max-width:100%;
    height:auto;
    border:0;
    border-radius:1000px;
    background:#e6e6e6
}

#profile-dropdown {
    width:160px
}
#profile-dropdown li a i {
    margin-right:10px
}

img.svg-dash {
    width: 100%;
    height: auto;
}

.user-form-divider { border: 1px solid white; border-radius: 1px; height: 1px; margin-top: .3rem; margin-bottom: .3rem; }
.reqd { color: red; font-weight: bold; padding-left: 2px; }

#takeupspace { height: 30px; width: 150px; margin-right: 7px; }

::placeholder {
    color: #ad9d9d;
    opacity: 1; /* Firefox */
}

::-ms-input-placeholder { /* Edge 12 -18 */
    color: red;
}

input::placeholder {
    font-weight: bolder;
    opacity: 1;
    color: red;
    font-size: inherit;
}

#spinner:not([hidden]) {
    /*position: fixed; top: 0; left: 0; right: 0; bottom: 0;*/
    display: flex; justify-content: center; align-items: center;
}

#spinner::after {
    content: "";
    width: 80px; height: 80px;
    border: 2px solid #f3f3f3;
    border-top: 10px solid darkgreen;
    border-radius: 100%;
    will-change: transform;
    animation: spin 1s infinite linear
}

@keyframes spin {
    from { transform: rotate(0deg); }
    to { transform: rotate(360deg); }
}

#loadModal { border: 5px solid darkgreen }

a.rptlinks {
    outline-color: transparent;
    text-decoration: none;
    color: black;
}

a.rptlinks:focus,
a.rptlinks:hover {
    border-bottom: 1px solid;
    background: palegoldenrod;
    color: #591c24;
    font-weight: bold;
}

.bborder {
    /*box-shadow: rgba(0, 0, 0, 0.25) 0px 14px 28px, rgba(0, 0, 0, 0.22) 0px 10px 10px;*/
    border-bottom: maroon 2px solid;
}

.tg  {
    border-collapse:collapse;
    border-spacing:0;
    margin-left: auto;
    margin-right: auto;
    width: 80%
}
.tg td {
    border-color: #591c24;
    border-style:solid;
    border-width:1px;
    font-family:Arial, sans-serif;
    font-size:14px;
    overflow:hidden;
    padding:10px 5px;
    word-break:normal;
}
.tg th {
    border-color:black;
    border-style:solid;
    border-width:1px;
    font-family:Arial, sans-serif;
    font-size:14px;
    font-weight:normal;
    overflow:hidden;
    padding:10px 5px;
    word-break:normal;
}
.tg .tg-djeh {
    font-family:Tahoma, Geneva, sans-serif !important;
    text-align:left;
    vertical-align:top
}
.tg-djeh-clientname {
    font-family:Tahoma, Geneva, sans-serif !important;
    text-align:left;
    vertical-align: middle;
    font-weight: bold;
}
.tg .tg-0lax{
    text-align:left;
    vertical-align:top;
    font-weight:bold;
    padding: 0.5em;
    font-family:Tahoma, Geneva, sans-serif !important;
}

@media screen and (max-width: 767px) {
    .tg {width: auto !important;}
    .tg col {width: auto !important;}
    .tg-wrap {overflow-x: auto;-webkit-overflow-scrolling: touch;}
}

#api-calls-tbl tbody tr:nth-child(even):hover td { background-color: #f1c40f !important; }
#api-calls-tbl tbody tr:nth-child(odd):hover td { background-color: navajowhite !important; }
/* #api-calls-tbl tbody>tr>:nth-child(1) { background-color: white !important; } */
#api-calls-tbl tbody tr:nth-child(1) { background:none; }
/*#requestInvoiceTbl thead>:nth-child(2)>:nth-child(13) {
    background-color: white !important;
}*/

#yearMonthCallsTbl tbody tr:nth-child(even):hover td:not(:last-child) { background-color: #ffa !important; }
#yearMonthCallsTbl tbody tr:nth-child(odd):hover td:not(:last-child) { background-color: #ffa !important; }
#yearMonthCallsTbl tbody tr td div.dep {
    font-weight: bold; color: darkgreen;
}
#yearMonthCallsTbl tbody tr td div.arr {
    font-weight: bold; color: darkred;
}
#yearMonthCallsTbl tbody div span.doc_iss { font-weight: bold; color: #004c3f; }
#yearMonthCallsTbl tbody div span.doc_exp { font-weight: bold; color: darkred; }
#yearMonthCallsTbl tbody div span.psname, span.pfname, span.poname {
    font-weight: bold; color: black; font-size: small;
}
#yearMonthCallsTbl tbody tr td.ff { font-weight: bold; color: white; background-color: darkgreen }
#yearMonthCallsTbl tbody tr td.nf { font-weight: bold; color: white; background-color: darkred }

.api-calls {
    display: none; /* Hidden by default */
    position: fixed; /* Stay in place */
    z-index: 1; /* Sit on top */
    left: 0;
    top: 0;
    width: 100%; /* Full width */
    height: 100%; /* Full height */
    overflow: auto; /* Enable scroll if needed */
    background-color: rgb(0,0,0); /* Fallback color */
    background-color: rgba(0,0,0,0.4); /* Black w/ opacity */
}

/* Modal Content/Box */
.api-calls-content {
    background-color: #e8cc71;
    margin: 15% auto; /* 15% from the top and centered */
    padding: 20px;
    border: 1px solid #888;
    width: 80%; /* Could be more or less, depending on screen size */
}

/* The Close Button */
.api-calls-close {
    color: #aaa;
    float: right;
    font-size: 28px;
    font-weight: bold;
}

.close:hover,
.close:focus {
    color: black;
    text-decoration: none;
    cursor: pointer;
}

.callYear[status=closed]::before {
    content: '\2295';
}

.callYear[status=open]::before {
    content: '\229D';
}

.yr-rpt-link { color: #00531f; font-size: 20px; }
.mth-rpt-link { color: #00531f; font-size: 16px; }
.mth-rpt-link-text { color: black; font-weight: bold; }

#apiCallsTbl tbody tr:nth-child(even):hover td:not(:last-child) { background-color: #ffa !important; }
#apiCallsTbl tbody tr:nth-child(odd):hover td:not(:last-child) { background-color: #ffa !important; }
#apiCallsTbl tbody tr td.ff { font-weight: bold; color: white; background-color: darkgreen }
#apiCallsTbl tbody tr td.nf { font-weight: bold; color: white; background-color: darkred }

ul#userMenu {
    list-style-type: none;
    /*margin: 0;*/
    /*padding: 0;*/
    background-color: #f1f1f1;
    border: 1px solid #555;
}

ul#userMenu div.userMenuCategoryLbl {
    background-color: lightblue;
    border-left: darkred 3px solid;
}

ul.userMenuCategoryList li.userMenuCategoryListItem a {
    /*padding: 8px 16px;*/
    text-decoration: none;
}

ul.userMenuCategoryList li.userMenuCategoryListItem a:hover {
    background-color: #555;
    color: white;
    border: darkred 1px solid;
}

li.userMenuCategoryListItem {
    text-align: center;
    border-bottom: 1px solid #555;
}

li.userMenuCategoryListItem:last-child {
    border-bottom: none;
}

.navbar-logo {
    height: 62px;
    width: auto; /* Maintain aspect ratio */
    max-width: 100%;
    /*position:relative; top:1px;*/ /*adjust this top*/
}

/*
nav.navBreadCrumb {
    border-color: #2B2669;
    color: white;
    height: 30px;
    line-height: 30px;
    font-weight: bold;
}

nav.navBreadCrumb .breadcrumb {
    font-size: 14px;
}

nav.navBreadCrumb .breadcrumb::before {
    font-size: 20px;
    margin-top: 0;
    margin-right: 7px;
    margin-bottom: 0;
    margin-left: 5px;
}

nav.navBreadCrumb a {
    color: white;
}
*/

table.striped > tbody > tr:nth-child(odd) {
    background-color: rgba(170, 213, 213, 0.5);
 }

table.highlight > tbody > tr:hover {
    background-color: rgba(255, 181, 145, 0.5);
}

.search-types {
    padding: 2px;
    display: flex;
    gap: 10px; /* Add spacing between items */
}

.search-types > p {
    display: flex;
}

div.results {
    padding: 1px;
    border: 1px solid #2B2669;
    margin-bottom: 2px;
    border-radius: 3px;
}

.error-message {
    color: darkred; /* Red color for error */
    font-size: 0.9em;
    font-weight: bold;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    border-left: #2B2669 3px solid;
    border-right: #2B2669 3px solid;
}

#search-results-tbl caption {
    caption-side: top;
    text-align: left;
    background-color: #2B2669;
    color: white;
    font-weight: bold;
    padding: 1px;
}

#search-results-tbl caption span#caption-info { float: right; }

#search-results-tbl td {
    /*padding-top: 3px;
    padding-bottom: 3px;
    padding-right: 4px;
    padding-left: 4px;*/
    font-size: small;
}

#userLoggedIn {
    display: flex;                  /* Enables Flexbox for the container */
    flex-direction: column;         /* Stacks items vertically */
    /* Optional: Adjust height or other properties as needed */
    height: /*100vh;*/ 64px;        /* Example: Make container fill viewport height */
    justify-content: space-around;  /* Distributes space evenly between items */
    align-items: center;            /* Centers items horizontally within the container */
    color: #01AB94;
    font-weight: bold;
    border-radius: 5px;
    border: 1px solid #01AB94;
}

#userLoggedIn .item {
    padding: 0;
    line-height: 16px;
    font-size: 0.7rem;
}

#userLoggedIn .link-item {
    padding: 0;
    border-top: 1px solid #2B2669;
    border-bottom: 1px solid #2B2669;
    line-height: 30px;
    font-size: 0.7rem;
}

.card-content .login-hdr {
    font-weight: 700; /* Or any other desired font-weight value like 400, 500, 600, etc. */
    display: block;
    line-height: 32px;
    margin-bottom: 4px;
    font-size: 24px;
    color: #01AB94;
}

.dash-item-container {
    display: flex;                  /* Makes the container a flex container */
    justify-content: space-around;  /* Distributes space around items */
    /* Other properties like align-items, gap, etc., can be added for further control */
    gap: 5px;
    align-items: center;            /* Centers items horizontally within the container */
    border-radius: 10px;
    border: #01AB94 2px solid;
}

.dash-item-img {
    display: flex;
    line-height: 128px;
    align-items: center;
    padding: 2px;
}

.dash-item-text {
    line-height: 128px;
    text-align: center;
    padding: 2px;
}

.dash-item-img img {
    width: auto;
    max-width: 100%;
    height: 64px;
}

.element1,
.element2 {
    /* Optional styling for the individual elements */
    padding: 10px;
    border: 1px solid #ccc;
}

.dash-div {
    margin-bottom: 8px;
}

.input-field label {
    color: #2B2669;
    font-weight: bold;
    font-size: 1rem;
}

#login-frm label {
    color: #2B2669;
}

div.login-form-hdr {
    color: #2B2669;
}

div#pagerRow {
    margin-bottom: 2px;
}

span#total_reg {
    font-weight: bold;
}

p.comingSoon {
    font-weight: bold; font-size: x-large; text-align: center;
    color: #2B2669;
}

/* Container for the floating label */
.control.has-floating-label {
    position: relative;
}

/* Style for the input field itself */
.input.with-floating-label {
    padding-top: 1.5rem;    /* Add padding to prevent text from going under the label */
    padding-bottom: 0.5rem;
}

/* Base style for the label (inside the input) */
.label.is-floating-label {
    position: absolute;
    top: 0;
    left: 0.75rem;          /* Adjust as needed for padding/alignment */
    pointer-events: none;   /* Allows clicks to pass through to the input */
    transition: all 0.3s ease;
    color: #7a7a7a;         /* Default label color */
    height: 100%;           /* Centers the label vertically using flexbox in the next rule */
    display: flex;
    align-items: center;
}

/* The floating effect: move the label up when input is focused or has text */
.input.with-floating-label:focus + .label.is-floating-label,
.input.with-floating-label:not(:placeholder-shown) + .label.is-floating-label {
    top: -1rem;         /* Move above the input border */
    font-size: 0.75rem; /* Make the label smaller */
    color: #3273dc;     /* Change color on focus (e.g., Bulma primary) */
    height: auto;
    background: white;  /* Optional: adds a background to lift it over the input border */
    padding: 0 0.25rem; /* Optional: padding for the background */
}

.missing-address-notify {
    position: fixed;
    top: 20px;
    right: 20px;
    border-radius: 5px;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
    z-index: 1000;
}

.input-container-div {
    display: flex;          /* Aligns child elements side by side */
    align-items: center;    /* Vertically centers the items */
    gap: 5px;              /* Adds space between the input and the button */
}

.input-dig-addr {
    /* padding: 10px; */
    /* Optional: Adjust width as needed, e.g., using flex-grow or fixed width */
}

.updDigAddrBtn {
    /*padding: 10px 15px;*/
    padding: 2px;
    /* Optional: Add custom button styles */
}

#address-save-results {
    border: #591c24 1px solid;
}
.affected {
    border: #862b35 1px solid;
}

#missing-address-tbl caption {
    /*display: inline-flex;
    align-items: center;*/
    background-color: #1FCAC5;
    border: 1px solid black;
    border-bottom: none; /* Optional: adjust borders for visual effect */
}

#missing-address-tbl div#caption-data {
    display: flex;
    justify-content: space-between;
}

#missing-address-tbl span.caption-info {
    font-weight: bold;
}

/* Override section variables specifically */
.profileSection {
    /*--bulma-button-border-width: 2px;
    --bulma-button-padding-vertical: 0.75em;*/
    background-color: #1FCAC5;
    --bulma-section-padding-desktop: 1rem 1rem;
}

.small-caps {
    font-variant: small-caps;
}

button.searchLbl {
    width: 150px;
}

span.app-nav-hdr {
    color: #2B2669;
    font-weight: bold;
}

span.app-breadcrumb {
    color: #2B2669;
}

div#no-search-results {
    color: #2B2669;
}


