/* ==========================================================================
   Author's repo styles
   ========================================================================== */


body {

    -webkit-background-size: 100% 100%;
    -moz-background-size: 100% 100%;
    -o-background-size: 100% 100%;
    background-size: 100% 100%;
    background: url(../img/bg_image.jpg) no-repeat fixed;
    /*font-family: 'Georgia', Georgia;*/
    /*font-family:  'Georgia', sans-serif;*/
}

@media (min-width: 800px) {

    body {
        font-size: 0.8em;
    }

    aside {
        font-size: 0.9em;
    }

}

table td {
    font-size: 0.9em;
}

@media (min-width: 800px) {

    table td {
        font-size: 1.2em;
    }

}

a[disabled] {
    pointer-events: none;
}

#toggle_password {
    display: flex;
    position: relative;
    padding-top: 15px;
    margin-left: -16px;
    left: -18px;
}

.toggle_password {
    display: flex;
    position: relative;
    padding-top: 13px;
    margin-left: -10px;
    left: -18px;
}

.form-control[readonly] {
    background: #fbfbfb;
}

#user_picture {
    width: 200px;
    height: 200px;
    background: url("../img/sample_profile.png");
    background-size: cover;
}

#business_logo {
    width: 200px;
    height: 200px;
    background: url("../img/default_logo.png");
    background-size: cover;
}

#login_box {
    margin: auto;
    max-width: 400px;
}

.center-x {
    margin: auto;
}

.report-table > tbody > tr > td, .report-table > thead > tr > th {
    padding-left: 20px;
    padding-right: 20px;
}

#reg_div {
    min-width: 70%;
}

.legal-doc-panel,
#term_of_use_div {
    max-width: 1000px;
    background-color: rgba(255, 255, 255, 0.98);
}

.reg_error {
    margin-left: 105px;
}

.reg_label {
    min-width: 105px;
    background: rgba(0, 0, 0, 0);
    font-size: 80%;
}

.search_label {
    background: rgba(0, 0, 0, 0);
}

.reset_label {
    min-width: 120px;
    background: rgba(0, 0, 0, 0);
    font-size: 80%;
}

.ml-120 {
    margin-left: 120px;
}

.reset_input {
    max-width: 350px;
}


@media (min-width: 1000px) {

    #login_div {
        min-width: 600px;
    }

}


@media (min-width: 575px) {

    .reg_select {
        max-width: 250px;
    }

}


@media (min-width: 1300px) {

    .reg_select {
        max-width: 1000px;
    }

}

.vh-height {
    min-height: 100vh;
    min-height: 100dvh;
    min-height: -webkit-fill-available;
    min-height: 100svh;
}

.container-fluid.vh-height {
    display: flex;
    flex-direction: column;
}

.container-fluid.vh-height > .row {
    flex: 1 1 auto;
    width: 100%;
    min-height: 0;
}

.w-max-100 {
    max-width: 100px;
}

.w-max-150 {
    max-width: 150px;
}

.w-max-250 {
    max-width: 250px;
}

w-max-400 {
    max-width: 400px;
}

.w-max-500 {
    max-width: 500px;
}

.w-min-100 {
    min-width: 100px;
}

.w-min-150 {
    min-width: 150px;
}

.w-min-250 {
    min-width: 250px;
}

w-min-400 {
    min-width: 400px;
}

.w-min-500 {
    min-width: 500px;
}

.font-2x {
    font-size: 120%;
}

.page-label {
    padding-left: 2rem;
    font-size: 150%;
    min-width: 340px;
    display: inline-block;
}

.create-label {
    font-size: 1rem;
    display: inline-block;
}

.modal-label {
    padding-left: 2rem;
    min-width: 340px;
    font-size: 110%;
}

.bar_code_input {
    max-width: 10px;
    color: #beffbb;
    background: #beffbb;
    caret-color: black;
}

@media (max-width: 575px) {

    .reduce-sm-12 {
        font-size: 1.3rem !important;
    }

    .page-label, .modal-label {
        padding-left: 1rem;
        font-size: 1rem;
        min-width: 240px;
    }
}

.table-responsive {
    min-height: 250px;
}

.bold-hover:hover {
    font-weight: bold;
}

.border-bottom-only {
    border: 0;
    border-bottom: 1px solid #d2d6de;
    border-radius: 0px;
}

.f-120 {
    font-size: 120%;
}

.f-140 {
    font-size: 140%;
}

.f-160 {
    font-size: 160%;
}

#aicompcode:hover {
    font-weight: normal;
}

#companyName {
    font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
}

.marquee {
    overflow: hidden;
}

.disabled_click {
    pointer-events: none;
}

.comment_icon_action:hover {
    font-weight: bold;
    font-size: medium;
}


.comment_icon_action {
    font-size: small;
}

.allow_click {
    pointer-events: all;
}

.box.box-solid > .box-header .btn {

    color: white;
    background: rgba(0, 0, 0, 0.1) !important;

}

.task_preview_box {
    border-bottom: 1px solid #d0cace;
    padding: 5px;
}

[ng\:cloak], [ng-cloak], [data-ng-cloak], [x-ng-cloak], .ng-cloak, .x-ng-cloak {
    display: none !important;
}

.task_preview_box:hover {
    background: rgba(18, 17, 189, 0.1);
}

.task_preview_box.active {
    background: rgba(18, 17, 189, 0.1);
}

/* At least one viewport tall; grows with content (no max-height—paired footers live outside this div) */
.page-body {
    min-height: 100vh;
    min-height: 100dvh;
    box-sizing: border-box;
}

/* Reserve space for fixed legal / guest footers so content is not hidden behind them */
.page-body--legal-footer,
.page-body--guest-footer {
    padding-bottom: 3.75rem;
    padding-bottom: calc(3.75rem + env(safe-area-inset-bottom, 0px));
}

/*
 * Password reset / errors use .page-body.vh-height — .page-body appears later in this file and was
 * overriding .vh-height. These rules restore viewport filling.
 */
.page-body.vh-height {
    min-height: 100vh;
    min-height: 100dvh;
    min-height: -webkit-fill-available;
    min-height: 100svh;
}

.faded_white {
    background-color: rgba(255, 255, 255, 0.95);
}


.faded_black {
    background-color: rgba(0, 0, 0, 0.3);
}

.faded_red {
    background-color: rgba(255, 0, 0, 0.3);
}

.box-max-450w {
    max-width: 450px;
}

.faded_white_light {
    background-color: rgba(255, 255, 255, 0.2);
}

/* Legal / guest document footers: readable on photo backgrounds; pinned to viewport bottom */
.legal-page-footer {
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: 1030;
    width: 100%;
    padding: 0.35rem 0.75rem;
    background-color: rgba(22, 24, 28, 0.94);
    color: #e9ecef;
    border-top: 1px solid rgba(255, 255, 255, 0.12);
    font-size: 0.8125rem;
    line-height: 1.3;
    box-shadow: 0 -2px 10px rgba(0, 0, 0, 0.18);
}

.legal-page-footer a:not(.btn) {
    color: #8ec8ff;
    font-weight: 500;
    text-decoration: none;
}

.legal-page-footer a:not(.btn):hover,
.legal-page-footer a:not(.btn):focus {
    color: #fff;
    text-decoration: underline;
}

.legal-page-footer .legal-page-footer__sep {
    color: rgba(255, 255, 255, 0.45);
    margin: 0 0.12rem;
}

.legal-page-footer .legal-page-footer__credit {
    color: #cfd4da;
}

.legal-page-footer .legal-page-footer__tagline {
    color: #adb5bd;
    font-style: italic;
    font-size: 0.75rem;
}

.legal-page-footer a.legal-footer-brand,
.legal-page-footer .legal-footer-brand {
    color: #ff8d7d;
}

/* Guest auth footers only — legal pages (terms / privacy / cookie) always show the bar on phones */
@media (max-width: 767.98px) {
    .legal-page-footer--guest {
        display: none !important;
    }

    .page-body--guest-footer {
        padding-bottom: 0 !important;
    }
}

/* Explicit layout — do not rely on Bootstrap flex-lg-* (missing or inconsistent across builds) */
.legal-page-footer__bar {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: space-between;
    gap: 0.35rem;
}

.legal-page-footer__nav {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    column-gap: 0;
    row-gap: 0.2rem;
}

@media (min-width: 992px) {
    .legal-page-footer__bar {
        flex-direction: row;
        flex-wrap: nowrap;
        align-items: center;
    }

    .legal-page-footer__nav {
        justify-content: flex-start;
        flex: 1 1 auto;
        min-width: 0;
    }

    .legal-page-footer__credit {
        flex-shrink: 0;
        white-space: nowrap;
        text-align: right;
    }
}

.fixed_header tbody {
    overflow: auto;
    height: 200px;
    width: 100%;
}

.fixed_header thead tr {
}

.curve-before {
    border-top-left-radius: 70px !important;
    border-bottom-left-radius: 70px !important;
}


.curve-after {
    border-top-right-radius: 70px !important;
    border-bottom-right-radius: 70px !important;
}

#login-msg-box {

    position: fixed;
    bottom: 50px;
    left: 100px;

}

.mt-50-pt-200 {
    padding-top: 200px;
    margin-top: 50px;
    margin-bottom: 50px;
}

.text-large {
    font-size: 450%;
}

.font-150 {
    font-size: 150%;
}

.font-90 {
    font-size: 90%;
}

.font-130 {
    font-size: 130%;
}

.font-60 {
    font-size: 60%;
}

.font-75 {
    font-size: 75%;
}

.font-55 {
    font-size: 55%;
}

.font-50 {
    font-size: 50%;
}

#password-reset-box {

    max-width: 400px;
    margin: auto;
}

.plain_button {
    background-color: transparent;
    outline: none;
    border: 0px;
}

.sortorder:after {
    content: '\25b2';
}

.sortorder.reverse:after {
    content: '\25bc';
}


.list-group-item.active > .plain_button {
    color: white;
}

#page_loading, #modal_loading {
    width: 100%;
    height: 100%;
    background: rgba(212, 212, 212, 0.1);
    z-index: 1000;
    position: fixed;
    text-align: center;
    display: none;
}

#page-spinner {
    position: fixed;
    left: 50vw;
    top: 50vh;
}

/*.content-header{*/
/*border-bottom: solid red 4px;*/
/*border-left: solid red 4px;*/
/*}*/

.my-lg-modal {
    min-width: 80%;
    max-width: 1200px;
}

#side_page_loading {

    display: none;
    width: 45px;
    height: 45px;
    background: #ffffff;
    z-index: 1000;
    position: absolute;
    right: 0px;
    top: 45%;
    border: 1px solid red;
    border-right: 0px;
    text-align: center;
    padding-top: 5px;
    border-top-left-radius: 20px;
    border-bottom-left-radius: 20px;
}

.icon_input {
    position: relative;
}

.icon_input input {
    text-indent: 20px;
}

.icon_input .icon_span {
    position: absolute;
    top: 10px;
    left: 10px;
    z-index: 1000;
    display: none;
}

#task_list_loading {

    display: none;
    width: 30px;
    height: 30px;
    background: #ffffff;
    z-index: 1000;
    position: relative;
    left: 0px;
    top: 5%;
    background: lightgray;
    border-left: 0px;
    text-align: center;
    padding-top: 5px;
    border-top-right-radius: 20px;
    border-bottom-right-radius: 20px;
}

#page_loading > div, #modal_loading > div, #task_list_loading > div {
    margin: 0 auto;
}

#error-box {


    text-align: center;
    text-shadow: 5px 5px 7px #ede8b8;
    padding-top: 10vw;

}

#error-box > span:first-child {
    font-size: 700%;
    font-weight: bolder;
    line-height: 5%;
}

#msg-box > span:first-child {
    font-size: 150%;
    line-height: 5%;
}

#error-box > span:last-child {

}

.footer:hover {
    background: rgba(0, 0, 0, 0.2);
}


.custom-sidebar {
    background-color: rgba(100, 69, 60, 0.2) !important;
}

.sidebar-menu > li.active {
    background: rgba(0, 0, 0, 0.5);
    border-left: solid 4px white;
}

.sidebar-menu > li:hover {
    background: rgba(0, 0, 0, 0.5);
}

input[type="date"]::-webkit-inner-spin-button {
    opacity: 0
}

input[type="date"]::-webkit-calendar-picker-indicator {
    background: url(../img/calendar.png) center/90% no-repeat;
    color: rgba(0, 0, 0, 0);
    opacity: 0.75;
}

input[type="date"]::-webkit-calendar-picker-indicator:hover {
    background: url(../img/calendar.png) center/90% no-repeat;
    opacity: 1;
}

.text-dark-gray {
    color: #757575;
}

.text-dark-blue {
    color: #1f3864 !important;
}

.text-app-black {
    color: #000000;
}

.text-app-rufous {
    color: #AD1B02;
}

/* theme.css `a:hover { color: #fff }` out-specifies `.text-app-rufous` alone; keep brand color on links */
a.text-app-rufous:hover,
a.text-app-rufous:focus,
a.text-app-rufous:active {
    color: #05075b;
}

.text-app-tawny {
    color: #D85604;
}

.text-app-beer {
    color: #E88D14;
}

.text-app-orange-yellow {
    color: #F3BE26;
}

.text-app-china-pink {
    color: #E669A2;
}

.bg-green-yellow {
    background: greenyellow;
}

.bg-red-orange {
    background: orangered;
}

.bg-light-special {
    background: rgb(243, 247, 255);
}

.bg-dark-blue {
    background: #1f3864 !important;
}

.bg-app-black {
    background: #000000 !important;
}

.bg-app-rufous {
    background: #AD1B02 !important;
}

.bg-app-tawny {
    background: #D85604 !important;
}

.bg-app-beer {
    background: #E88D14 !important;
}

.bg-app-orange-yellow {
    background: #F3BE26 !important;
}

.bg-app-china-pink {
    background: #E669A2 !important;
}

.bg-light-yellow {
    background: rgba(228, 201, 59, 0.5) !important;
}

.border-dark-blue {
    border-color: #1f3864 !important;
}

/*
 * App shell: <main> inside .content-wrapper fills the column below .main-header.
 * Do not subtract header height here — .content-wrapper already starts below the header in
 * document flow; subtracting it again left a header-sized gap. Only reserve fixed footer (+ safe area).
 */
.wrapper {
    --app-footer-height: calc(52px + env(safe-area-inset-bottom, 0px));
}

@media (max-width: 767px) {
    .wrapper {
        --app-footer-height: calc(44px + env(safe-area-inset-bottom, 0px));
    }
}

.content-wrapper > main {
    min-height: calc(100dvh - var(--app-footer-height));
    min-height: calc(100svh - var(--app-footer-height));
    box-sizing: border-box;
}

.main-content {
    min-height: 350px;
    padding-bottom: 50px;
    height: max-content;
}

td.row-header {
    max-width: 50px;
    font-weight: bold;
    color: #990000;
    text-align: right;
    padding-right: 20px;
}

.review-main, .audit-log {
    border-top: 1px solid #f1fdcc;
}

.review-input {
    min-width: 130px;
}

.content-wrapper a {
    color: #cc0000;
}

.navbar-custom-menu a:hover {
    color: #0099cc;
}

.nav-pills-custom .nav-link {
    color: #aaa;
    background: #fff;
    position: relative;
}

.nav-pills-custom .nav-link.active {
    color: white;
    background: #1f3864;
}

.notify-div {
    /*border-top: #AD1B02;*/
    /*border-bottom: 0px;*/
}

/* Add indicator arrow for the active tab */
@media (min-width: 992px) {
    .nav-pills-custom .nav-link::before {
        content: '';
        display: block;
        border-top: 8px solid transparent;
        border-left: 10px solid #fff;
        border-bottom: 8px solid transparent;
        position: absolute;
        top: 50%;
        right: -10px;
        transform: translateY(-50%);
        opacity: 0;
    }
}

.nav-pills-custom .nav-link.active::before {
    opacity: 1;
}

.treeview-menu > li.active {
    font-weight: bold;
}

.sidebar-menu .active > ul {
    background-color: rgba(255, 255, 255, 0.1);
}

table a:hover {
    font-weight: normal;
    text-decoration: underline;
}


/* width */
::-webkit-scrollbar {
    width: 8px;
}

/* Track */
::-webkit-scrollbar-track {
    box-shadow: inset 0 0 5px grey;
    border-radius: 5px;
}

/* Handle */
::-webkit-scrollbar-thumb {
    background: darkgray;
    border-radius: 5px;
}

/* Handle on hover */
::-webkit-scrollbar-thumb:hover {
    background: #666666;
}

#generalReportDiv {
    background: #1f3864
}

.scrollable_div {
    max-height: 85vh;
    overflow-y: scroll;
}

@media print {
    #printTable {
        display: none !important;
    }

    .no-print {
        visibility: hidden;
    }

    body, html, .content-wrapper {
        height: 100%;
        background: white;
    }

    #generalReportDiv {
        background: white;
    }

    .scrollable_div {
        width: auto;
        height: auto;
        overflow: visible;
    }
    .page_break { page-break-before: always; }

}
