/* File: /css/site.css
   Version: 1.1.0 (2026-10-20: fonts from this site only. Roboto's @font-face rules (Google Fonts' own
   rules for latin and latin-ext, weights 400/500/700, the same files it served) point at /font/roboto/;
   the Font Awesome 5.15.4 rules the site uses (.fa/.fas, 7 icons) point at the subset in
   /font/fontawesome/. inc-styles.asp no longer links fonts.googleapis.com or the Font Awesome CDN.)
   Version: 1.0.0 (2026-10-20: first version (site-layout). The <style> block from /inc/inc-styles.asp
   (every page) and the one from /inc/inc-trust-topnav.asp (the trust tab row), moved here word for word.
   Linked by inc-styles.asp at the place its <style> block was. Checked before the move on the 9 tab-row
   pages that have their own <style>: every element's computed style the same.)
   Bump the ?v= in /inc/inc-styles.asp with every change to this file. */

/* Roboto (SIL OFL 1.1, /font/roboto/OFL.txt): Google Fonts' rules from
   css?family=Roboto:400,500,700&display=swap, its latin and latin-ext files served from here.
   Both files are the variable font (wght 100-900), as Google serves them. */
@font-face { font-family: 'Roboto'; font-style: normal; font-weight: 400; font-stretch: 100%; font-display: swap; src: url('/font/roboto/roboto-latin-ext.woff2?v=3.015') format('woff2'); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: 'Roboto'; font-style: normal; font-weight: 400; font-stretch: 100%; font-display: swap; src: url('/font/roboto/roboto-latin.woff2?v=3.015') format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: 'Roboto'; font-style: normal; font-weight: 500; font-stretch: 100%; font-display: swap; src: url('/font/roboto/roboto-latin-ext.woff2?v=3.015') format('woff2'); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: 'Roboto'; font-style: normal; font-weight: 500; font-stretch: 100%; font-display: swap; src: url('/font/roboto/roboto-latin.woff2?v=3.015') format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: 'Roboto'; font-style: normal; font-weight: 700; font-stretch: 100%; font-display: swap; src: url('/font/roboto/roboto-latin-ext.woff2?v=3.015') format('woff2'); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: 'Roboto'; font-style: normal; font-weight: 700; font-stretch: 100%; font-display: swap; src: url('/font/roboto/roboto-latin.woff2?v=3.015') format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }

/* Font Awesome Free 5.15.4 (fonts: SIL OFL 1.1; this CSS: MIT; /font/fontawesome/LICENSE.txt).
   Only the rules the site uses. A new fa-* icon needs its glyph added to the subset font AND a rule
   here: see /font/fontawesome/LICENSE.txt. */
@font-face { font-family: 'Font Awesome 5 Free'; font-style: normal; font-weight: 900; font-display: block; src: url('/font/fontawesome/fa-solid-900-subset.woff2?v=5.15.4-7') format('woff2'); }
.fa, .fas, .far, .fal, .fad, .fab { -moz-osx-font-smoothing: grayscale; -webkit-font-smoothing: antialiased; display: inline-block; font-style: normal; font-variant: normal; text-rendering: auto; line-height: 1; }
.fa, .fas { font-family: 'Font Awesome 5 Free'; font-weight: 900; }
.fa-chevron-left:before { content: "\f053"; }
.fa-chevron-right:before { content: "\f054"; }
.fa-eye:before { content: "\f06e"; }
.fa-eye-slash:before { content: "\f070"; }
.fa-angle-left:before { content: "\f104"; }
.fa-angle-right:before { content: "\f105"; }
.fa-trash-alt:before { content: "\f2ed"; }

/* General Styles */
body {
    font-family: 'Roboto', Arial, sans-serif;
    font-size: 90%;
    background-color: #f4f4f4;
    padding: 20px;
    display: flex;
    flex-direction: column;
    min-height: 100vh;
}

.container {
    max-width: 1000px;
    margin: 20px auto;
    background: #fff;
    padding: 20px;
    box-shadow: 0 0 10px rgba(0,0,0,0.1);
    overflow-x: auto;
    flex: 1;
}

.hidden {
    display: none;
}

/* Header and Footer Styles */
.header, .footer {
    background-color: #004D40;
    padding: 10px;
    color: #FFFFFF;
    text-align: center;
}

.footer {
    margin-top: 20px;
    padding: 20px;
}

.header {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.header h1 {
    flex-grow: 1;
    margin: 0;
    font-size: 1.5rem;
    text-align: center;
}

.headerlogo {
    width: 100px;
    height: auto;
    max-width: 100%;
    margin-right: 20px;
    text-decoration: none;
}

/* Responsive Styles */
@media (max-width: 576px) {
    .headerlogo {
        width: 60px;
    }

    .header h1 {
        font-size: 1.25rem;
    }
}

/* Input Group Styles */
.input-group {
    display: flex;
    align-items: center;
}

.input-group span {
    padding: 0.375rem 0.75rem;
    font-size: 1rem;
    font-weight: 400;
    line-height: 1.5;
    color: #495057;
    text-align: center;
    background-color: #e9ecef;
    border: 1px solid #ced4da;
    border-radius: 0.25rem;
    margin-right: -1px;
}

.input-group input {
    flex: 1;
}

/* Icon Style */
.icon-trash {
    color: red;
    font-size: 14px;
}

/* Typography and Layout */
h1 {
    text-align: center;
}

ul {
    list-style-type: none;
    padding: 0;
}

li {
    background: #e2e2e2;
    margin: 5px 0;
    padding: 10px;
    text-align: center;
}

a {
    text-decoration: none;
    color: #333;
}

a:hover {
    color: #007BFF;
}

/* Table Styles */
th {
    text-align: center;
}

th, td {
    padding: 2px 4px 2px 6px;
}

th.sortable:hover {
    cursor: pointer;
    background-color: #f1f1f1;
}

/* Card Styles */
.card-container {
    display: flex;
    justify-content: space-around;
}

.card {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    margin: 8px;
    width: 100%;
}

/* Chart Styles */
.chart-container {
    padding: 10px;
    position: relative;
    height: 350px;
}

canvas {
    display: block;
    max-width: 100%;
    height: auto;
}

/* Flex Centering */
.flex-centered {
    display: flex;
    justify-content: center;
    align-items: center;
}

.row-set {
    margin-bottom: 20px;
}

/* Toggle Button */
.toggle-button {
    cursor: pointer;
    color: blue;
    text-decoration: underline;
}

/* Button Alignment Styles */
.d-flex {
    display: flex;
}

.justify-content-between {
    justify-content: space-between;
}

.btn-left {
    display: flex;
    gap: 10px; /* Add spacing between Update and Cancel buttons */
}

/* Print Styles */
@media print {
    .no-print {
        display: none !important;
    }
}


/* Trust tab row (/inc/inc-trust-topnav.asp) */
:root {
--gold:#CBA135;
--ink:#333;
--border:#e5e5e5;
--bg:#fff;
}
/* Container */
.trust-topnav {
    position: sticky;
    top: 0;
    z-index: 1000;
    background: var(--bg);
    border-bottom: 1px solid var(--border);
}
.trust-topnav .wrap {
    max-width: 1600px;
    margin: 0 auto;
    padding: 8px 0;
    position: relative;
}
/* Scroll strip (this is the scroller) */
.trust-topnav .strip {
    position: relative;
    padding: 0 12px;                /* tap room at edges */
    overflow-x: auto;
    overflow-y: hidden;
    -webkit-overflow-scrolling: touch;
    overscroll-behavior-x: contain; /* keep swipe inside */
    overscroll-behavior-y: none;
    touch-action: pan-x;            /* horizontal only */
    scrollbar-width: none;
}
.trust-topnav .strip::-webkit-scrollbar {
display:none;
}
/* The list (no scrolling here) */
.trust-topnav ul {
    margin: 0;
    padding: 0;
    list-style: none;
    display: flex;
    gap: 6px 10px;
    justify-content: flex-start;     /* left on mobile so it scrolls fully */
    white-space: nowrap;
    min-width: max-content;          /* content width drives scroll */
}
.trust-topnav li {
    flex: 0 0 auto;
}
/* Pills */
.trust-topnav a {
    display: inline-block;
    padding: 8px 12px;
    border-radius: 999px;
    text-decoration: none;
    color: var(--ink);
    line-height: 1.1;
    border: 1px solid transparent;
    transition: background .15s ease, box-shadow .15s ease, border-color .15s ease;
}
.trust-topnav a:hover {
    background: #f7f7f7;
}
.trust-topnav a:focus-visible {
outline:none;
box-shadow:0 0 0 2px rgba(203,161,53,.35);
}
.trust-topnav a.active {
    font-weight: 600;
    border-color: var(--gold);
    box-shadow: 0 0 0 1px var(--gold) inset;
    background: rgba(203,161,53,.08);
}
/* Edge fades */
.trust-topnav .wrap::before, .trust-topnav .wrap::after {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    width: 28px;
    pointer-events: none;
}
.trust-topnav .wrap::before {
    left: 0;
    background: linear-gradient(90deg, var(--bg) 0%, rgba(255,255,255,0) 100%);
}
.trust-topnav .wrap::after {
    right: 0;
    background: linear-gradient(270deg, var(--bg) 0%, rgba(255,255,255,0) 100%);
}

/* Desktop: center and allow wrap; no horizontal scroll needed */
@media (min-width:768px) {
.trust-topnav .strip {
    overflow: visible;
    touch-action: auto;
}
.trust-topnav ul {
    white-space: normal;
    flex-wrap: wrap;
    justify-content: center;
    min-width: auto;
}
}

/* Print */
@media print {
.trust-topnav {
    display: none;
}
}
