/*
 * Cosmo v5 Migration Compatibility Layer (non-minified)
 * -----------------------------------------------------------------
 * Include sequence (recommended):
 *   1) Bootstrap 5.3.x CSS
 *   2) Bootswatch Cosmo v5 CSS
 *   3) This file: cosmo-v5-compat.css (AFTER the theme)
 * This preserves the v3 Cosmo look & legacy classes with Bootstrap 5.
 *
 * Notes:
 * - Keeps your 10px root scale (1rem = 10px)
 * - Re-adds legacy utilities (.sr-only, .pull-right, .label, .panel, etc.)
 * - Provides BS3 grid class aliases (.col-xs-*, .col-sm-*, .col-md-*, .col-lg-*)
 * - Keeps your color palette and most component visuals
 * - Print styles updated for modern engines
 *
 * Target base: Bootstrap 5.3.x + Bootswatch Cosmo v5
 */

/* ---------------------------------------------------------------
   0) Root & base
   --------------------------------------------------------------- */
html {
  font-size: 10px; /* keep v3 scale */
  -webkit-tap-highlight-color: transparent;
}
body {
  font-family: "Source Sans Pro", Calibri, Candara, Arial, sans-serif;
  font-size: 1.5rem; /* 15px */
  line-height: 1.42857143;
  color: #333;
  background-color: #fff;
}

/* Links (Cosmo palette) */
a { color: #2780e3; text-decoration: none; }
a:hover, a:focus { color: #165ba8; text-decoration: underline; }

/* Headings */
h1, h2, h3, h4, h5, h6,
.h1, .h2, .h3, .h4, .h5, .h6 {
  font-family: "Source Sans Pro", Calibri, Candara, Arial, sans-serif;
  font-weight: 300;
  line-height: 1.1;
  color: inherit;
}

h1, .h1 { font-size: 3.9rem; }
h2, .h2 { font-size: 3.2rem; }
h3, .h3 { font-size: 2.6rem; }
h4, .h4 { font-size: 1.9rem; }
h5, .h5 { font-size: 1.5rem; }
h6, .h6 { font-size: 1.3rem; }

/* body text */
p { margin: 0 0 1.05rem; }
.lead { margin-bottom: 2.1rem; font-size: 1.7rem; font-weight: 300; line-height: 1.4; }
@media (min-width: 768px) { .lead { font-size: 2.25rem; } }

/* Small, sub, sup, mark */
small, .small { font-size: 86%; }
small { font-size: 80%; }
sub, sup { font-size: 75%; line-height: 0; position: relative; vertical-align: baseline; }
sup { top: -0.5em; } sub { bottom: -0.25em; }
mark, .mark { background-color: #ff7518; padding: .2em; }

/* Figures & images */
figure { margin: 0; }
img { vertical-align: middle; }
.img-fluid { display: block; max-width: 100%; height: auto; }
/* Legacy helpers */
.img-responsive { display:block; max-width:100%; height:auto; }
.img-rounded { border-radius: 0; }
.img-thumbnail { padding: 4px; line-height: 1.42857143; background:#fff; border:1px solid #ddd; border-radius:0; transition: all .2s ease-in-out; display:inline-block; max-width:100%; height:auto; }
.img-circle, .rounded-circle { border-radius: 50%; }

hr { margin: 2.1rem 0; border: 0; border-top: 1px solid #e6e6e6; }

/* ---------------------------------------------------------------
   1) Accessibility: legacy sr-only
   --------------------------------------------------------------- */
.sr-only, .visually-hidden { position:absolute!important; width:1px!important; height:1px!important; padding:0!important; margin:-1px!important; overflow:hidden!important; clip:rect(0,0,0,0)!important; white-space:nowrap!important; border:0!important; }
.sr-only-focusable, .visually-hidden-focusable { position:static!important; width:auto!important; height:auto!important; margin:0!important; overflow:visible!important; clip:auto!important; white-space:normal!important; }

/* ---------------------------------------------------------------
   2) Text utilities (legacy names preserved)
   --------------------------------------------------------------- */
.text-left{ text-align:left!important; }
.text-right{ text-align:right!important; }
.text-center{ text-align:center!important; }
.text-justify{ text-align:justify!important; }
.text-nowrap{ white-space:nowrap!important; }
.text-lowercase{ text-transform:lowercase!important; }
.text-uppercase{ text-transform:uppercase!important; }
.text-capitalize{ text-transform:capitalize!important; }
.text-muted{ color:#999!important; }
.text-primary{ color:#2780e3!important; }
.text-success{ color:#fff!important; }
.text-info{ color:#fff!important; }
.text-warning{ color:#fff!important; }
.text-danger{ color:#fff!important; }
a.text-primary:hover{ color:#1967be!important; }

/* Background helpers retained */
.bg-primary{ background-color:#2780e3!important; color:#fff!important; }
.bg-success{ background-color:#3fb618!important; }
.bg-info{ background-color:#9954bb!important; }
.bg-warning{ background-color:#ff7518!important; }
.bg-danger{ background-color:#ff0039!important; }

/* Lists */
.list-unstyled{ padding-left:0; list-style:none; }
.list-inline{ padding-left:0; list-style:none; margin-left:-5px; }
.list-inline>li{ display:inline-block; padding-left:5px; padding-right:5px; }

/* Definition lists */
dl{ margin-top:0; margin-bottom:2.1rem; }
dt,dd{ line-height:1.42857143; }
dt{ font-weight:700; } dd{ margin-left:0; }
@media (min-width:768px){
  .dl-horizontal dt{ float:left; width:160px; clear:left; text-align:right; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
  .dl-horizontal dd{ margin-left:180px; }
}

/* Abbr & initialism */
abbr[title], abbr[data-original-title]{ cursor:help; border-bottom:1px dotted #999; }
.initialism{ font-size:90%; text-transform:uppercase; }

/* Blockquotes including deprecated reverse variants */
blockquote{ padding:1.05rem 2.1rem; margin:0 0 2.1rem; font-size:1.875rem; border-left:5px solid #e6e6e6; }
blockquote p:last-child, blockquote ul:last-child, blockquote ol:last-child{ margin-bottom:0; }
blockquote footer, blockquote small, blockquote .small{ display:block; font-size:80%; line-height:1.42857143; color:#999; }
blockquote footer:before, blockquote small:before, blockquote .small:before{ content:'\2014\00A0'; }
.blockquote-reverse, blockquote.pull-right{ padding-right:15px; padding-left:0; border-right:5px solid #e6e6e6; border-left:0; text-align:right; }
.blockquote-reverse footer:before, blockquote.pull-right footer:before,
.blockquote-reverse small:before, blockquote.pull-right small:before,
.blockquote-reverse .small:before, blockquote.pull-right .small:before{ content:''; }
.blockquote-reverse footer:after, blockquote.pull-right footer:after,
.blockquote-reverse small:after, blockquote.pull-right small:after,
.blockquote-reverse .small:after, blockquote.pull-right .small:after{ content:'\00A0\2014'; }

/* Code, kbd, pre */
code, kbd, pre, samp{ font-family: Menlo, Monaco, Consolas, "Courier New", monospace; }
code{ padding:2px 4px; font-size:90%; color:#c7254e; background:#f9f2f4; border-radius:0; }
kbd{ padding:2px 4px; font-size:90%; color:#fff; background:#333; border-radius:0; box-shadow: inset 0 -1px 0 rgba(0,0,0,.25); }
kbd kbd{ padding:0; font-size:100%; box-shadow:none; }
pre{ display:block; padding:10px; margin:0 0 1.05rem; font-size:1.4rem; line-height:1.42857143; word-break: break-all; overflow-wrap: break-word; color:#333; background:#f5f5f5; border:1px solid #ccc; border-radius:0; }
pre code{ padding:0; font-size:inherit; color:inherit; white-space:pre-wrap; background:transparent; border-radius:0; }
.pre-scrollable{ max-height:340px; overflow-y:auto; }

/* ---------------------------------------------------------------
   3) Containers, rows, and BS3 grid aliases on top of BS5 grid
   --------------------------------------------------------------- */
.container, .container-fluid{ padding-left: calc(var(--bs-gutter-x, 1.5rem) * .5); padding-right: calc(var(--bs-gutter-x, 1.5rem) * .5); }
.row{ margin-left: calc(var(--bs-gutter-x, 1.5rem) * -.5); margin-right: calc(var(--bs-gutter-x, 1.5rem) * -.5); }

[class^="col-xs-"], [class*=" col-xs-"],
[class^="col-sm-"], [class*=" col-sm-"],
[class^="col-md-"], [class*=" col-md-"],
[class^="col-lg-"], [class*=" col-lg-"]{
  padding-left: calc(var(--bs-gutter-x, 1.5rem) * .5);
  padding-right: calc(var(--bs-gutter-x, 1.5rem) * .5);
}

/*[class^="col-xs-"], [class*=" col-xs-"]{ flex:0 0 auto; }
.col-xs-1{ width:8.33333333%; } .col-xs-2{ width:16.66666667%; } .col-xs-3{ width:25%; }
.col-xs-4{ width:33.33333333%; } .col-xs-5{ width:41.66666667%; } .col-xs-6{ width:50%; }
.col-xs-7{ width:58.33333333%; } .col-xs-8{ width:66.66666667%; } .col-xs-9{ width:75%; }
.col-xs-10{ width:83.33333333%; } .col-xs-11{ width:91.66666667%; } .col-xs-12{ width:100%; }

@media (min-width:768px){
  [class^="col-sm-"], [class*=" col-sm-"]{ flex:0 0 auto; }
  .col-sm-1{ width:8.33333333%; } .col-sm-2{ width:16.66666667%; } .col-sm-3{ width:25%; }
  .col-sm-4{ width:33.33333333%; } .col-sm-5{ width:41.66666667%; } .col-sm-6{ width:50%; }
  .col-sm-7{ width:58.33333333%; } .col-sm-8{ width:66.66666667%; } .col-sm-9{ width:75%; }
  .col-sm-10{ width:83.33333333%; } .col-sm-11{ width:91.66666667%; } .col-sm-12{ width:100%; }
}
@media (min-width:992px){
  [class^="col-md-"], [class*=" col-md-"]{ flex:0 0 auto; }
  .col-md-1{ width:8.33333333%; } .col-md-2{ width:16.66666667%; } .col-md-3{ width:25%; }
  .col-md-4{ width:33.33333333%; } .col-md-5{ width:41.66666667%; } .col-md-6{ width:50%; }
  .col-md-7{ width:58.33333333%; } .col-md-8{ width:66.66666667%; } .col-md-9{ width:75%; }
  .col-md-10{ width:83.33333333%; } .col-md-11{ width:91.66666667%; } .col-md-12{ width:100%; }
}
@media (min-width:1200px){
  [class^="col-lg-"], [class*=" col-lg-"]{ flex:0 0 auto; }
  .col-lg-1{ width:8.33333333%; } .col-lg-2{ width:16.66666667%; } .col-lg-3{ width:25%; }
  .col-lg-4{ width:33.33333333%; } .col-lg-5{ width:41.66666667%; } .col-lg-6{ width:50%; }
  .col-lg-7{ width:58.33333333%; } .col-lg-8{ width:66.66666667%; } .col-lg-9{ width:75%; }
  .col-lg-10{ width:83.33333333%; } .col-lg-11{ width:91.66666667%; } .col-lg-12{ width:100%; }
}
*/
/* ---------------------------------------------------------------
   4) Tables: keep the cosmo/v3 visuals
   --------------------------------------------------------------- */
/*.table{ width:100%; max-width:100%; margin-bottom:2.1rem; }
.table>thead>tr>th,
.table>tbody>tr>th,
.table>tfoot>tr>th,
.table>thead>tr>td,
.table>tbody>tr>td,
.table>tfoot>tr>td{ padding:8px; line-height:1.42857143; vertical-align:top; border-top:1px solid #ddd; }
.table>thead>tr>th{ vertical-align:bottom; border-bottom:2px solid #ddd; }
.table-condensed>thead>tr>th,
.table-condensed>tbody>tr>td,
.table-condensed>tfoot>tr>td{ padding:5px; }
.table-bordered{ border:1px solid #ddd; }
.table-bordered>thead>tr>th,
.table-bordered>tbody>tr>td{ border:1px solid #ddd; }
.table-striped>tbody>tr:nth-child(odd)>td,
.table-striped>tbody>tr:nth-child(odd)>th{ background-color:#f9f9f9; }
.table-hover>tbody>tr:hover>td, .table-hover>tbody>tr:hover>th{ background:#f5f5f5; }*/

/* ---------------------------------------------------------------
   5) Labels (kept) + Badges
   --------------------------------------------------------------- */
.label{ display:inline; padding:.2em .6em .3em; font-size:75%; font-weight:700; line-height:1; color:#fff; text-align:center; white-space:nowrap; vertical-align:baseline; border-radius:.25em; }
.label-default{ background:#222; }
.label-primary{ background:#2780e3; }
.label-success{ background:#3fb618; }
.label-info{ background:#9954bb; }
.label-warning{ background:#ff7518; }
.label-danger{ background:#ff0039; }

/* ---------------------------------------------------------------
   6) Panels (legacy) to preserve look; cards remain for new code
   --------------------------------------------------------------- */
.panel{ margin-bottom:2.1rem; background:#fff; border:1px solid rgba(0,0,0,.125); border-radius:0; box-shadow:0 1px 1px rgba(0,0,0,.05); }
.panel-heading{ padding:10px 15px; border-bottom:1px solid rgba(0,0,0,.125); }
.panel-title{ margin:0; font-size:1.7rem; }
.panel-body{ padding:15px; }
.panel-footer{ padding:10px 15px; background:#f5f5f5; border-top:1px solid #ddd; }
.panel-default{ border-color:#ddd; }
.panel-default>.panel-heading{ color:#333; background:#f5f5f5; border-color:#ddd; }
.panel-primary{ border-color:#2780e3; }
.panel-primary>.panel-heading{ color:#fff; background:#2780e3; border-color:#2780e3; }
.panel-success{ border-color:#4e9f15; }
.panel-success>.panel-heading{ color:#fff; background:#3fb618; border-color:#4e9f15; }
.panel-info{ border-color:#7643a8; }
.panel-info>.panel-heading{ color:#fff; background:#9954bb; border-color:#7643a8; }
.panel-warning{ border-color:#ff4309; }
.panel-warning>.panel-heading{ color:#fff; background:#ff7518; border-color:#ff4309; }
.panel-danger{ border-color:#f0005e; }
.panel-danger>.panel-heading{ color:#fff; background:#ff0039; border-color:#f0005e; }

/* ---------------------------------------------------------------
   7) Navbar legacy skins mapped to BS5 structure
   --------------------------------------------------------------- */
/* Keep .navbar-default/.navbar-inverse colors for legacy markup */
.navbar.navbar-default{ background-color:#222; border-color:#121212; }
.navbar.navbar-default .navbar-brand,
.navbar.navbar-default .navbar-nav .nav-link{ color:#fff; }
.navbar.navbar-default .navbar-nav .nav-link:hover{ background-color:#090909; color:#fff; }

.navbar.navbar-inverse{ background-color:#2780e3; border-color:#1967be; }
.navbar.navbar-inverse .navbar-brand,
.navbar.navbar-inverse .navbar-nav .nav-link{ color:#fff; }
.navbar.navbar-inverse .navbar-nav .nav-link:hover{ background-color:#1967be; color:#fff; }

/* Caret (legacy) & BS5 dropdown indicator color in print */
.caret{ display:inline-block; width:0; height:0; margin-left:2px; vertical-align:middle; border-top:4px solid; border-right:4px solid transparent; border-left:4px solid transparent; }
.dropdown-toggle::after{ border-top-color: currentColor; }

/* ---------------------------------------------------------------
   8) Alerts, badges, pagination, thumbnails, jumbotron, progress
   (kept from v3 visuals for continuity)
   --------------------------------------------------------------- */
.alert{ padding:15px; margin-bottom:2.1rem; border:1px solid transparent; border-radius:0; }
.alert-success{ background:#3fb618; border-color:#4e9f15; color:#fff; }
.alert-info{ background:#9954bb; border-color:#7643a8; color:#fff; }
.alert-warning{ background:#ff7518; border-color:#ff4309; color:#fff; }
.alert-danger{ background:#ff0039; border-color:#f0005e; color:#fff; }

.badge{ display:inline-block; min-width:10px; padding:3px 7px; font-size:1.3rem; font-weight:700; color:#fff; line-height:1; white-space:nowrap; text-align:center; background:#2780e3; border-radius:10px; }

.pagination{ display:inline-block; padding-left:0; margin:2.1rem 0; border-radius:0; }
.pagination>li{ display:inline; }
.pagination>li>a, .pagination>li>span{ position:relative; float:left; padding:10px 18px; line-height:1.42857143; color:#2780e3; background:#fff; border:1px solid #ddd; margin-left:-1px; text-decoration:none; }
.pagination>li>a:hover{ color:#165ba8; background:#e6e6e6; }

.thumbnail{ display:block; padding:4px; margin-bottom:2.1rem; line-height:1.42857143; background:#fff; border:1px solid #ddd; border-radius:0; transition: all .2s ease-in-out; }
.thumbnail>img{ margin-left:auto; margin-right:auto; }

.jumbotron{ padding:30px; margin-bottom:30px; color:inherit; background:#e6e6e6; }
.jumbotron p{ margin-bottom:15px; font-size:2.3rem; font-weight:200; }

.progress{ overflow:hidden; height:2.1rem; margin-bottom:2.1rem; background:#ccc; border-radius:0; box-shadow: inset 0 1px 2px rgba(0,0,0,.1); }
.progress-bar{ float:left; width:0%; height:100%; font-size:1.3rem; line-height:2.1rem; color:#fff; text-align:center; background:#2780e3; box-shadow: inset 0 -1px 0 rgba(0,0,0,.15); transition: width .6s ease; }

/* ---------------------------------------------------------------
   9) Print (modernized + fallbacks)
   --------------------------------------------------------------- */
@media print{
  *{ text-shadow:none!important; color:#000!important; background:transparent!important; box-shadow:none!important; }
  a, a:visited{ text-decoration: underline!important; }
  a[href]::after{ content:" (" attr(href) ")"; }
  abbr[title]::after{ content:" (" attr(title) ")"; }
  a[href^="javascript:"]::after, a[href^="#"]::after{ content:""; }
  pre, blockquote{ border:1px solid #999!important; break-inside:avoid; page-break-inside:avoid; }
  thead{ display: table-header-group; }
  tr, img{ break-inside:avoid; page-break-inside:avoid; }
  img{ max-width:100%!important; height:auto!important; }
  p, h2, h3{ orphans:3; widows:3; }
  h2, h3{ break-after:avoid; page-break-after:avoid; }
  select{ background:#fff!important; color:#000!important; }
  .navbar{ display:none!important; }
  .table td, .table th{ background-color:#fff!important; }
  .table{ border-collapse: collapse!important; }
  .table-bordered th, .table-bordered td{ border:1px solid #ddd!important; }
  .dropdown-toggle::after{ border-top-color:#000!important; }
  .label{ border:1px solid #000; }
}

/* ---------------------------------------------------------------
   10) Optional: Glyphicons legacy (requires font files present)
   Uncomment and serve font files to continue using glyphicons.
   Note: Bootstrap 5 does not ship Glyphicons by default.
   --------------------------------------------------------------- */
/*
@font-face{
  font-family: 'Glyphicons Halflings';
  src: url('../fonts/glyphicons-halflings-regular.eot');
  src: url('../fonts/glyphicons-halflings-regular.eot?#iefix') format('embedded-opentype'),
       url('../fonts/glyphicons-halflings-regular.woff') format('woff'),
       url('../fonts/glyphicons-halflings-regular.ttf') format('truetype'),
       url('../fonts/glyphicons-halflings-regular.svg#glyphicons_halflingsregular') format('svg');
}
.glyphicon{ position:relative; top:1px; display:inline-block; font-family:'Glyphicons Halflings'; font-style:normal; font-weight:normal; line-height:1; -webkit-font-smoothing:antialiased; -moz-osx-font-smoothing:grayscale; }
*/

/* columns.cosmo5.css */
[class^="col-xs-"], [class*=" col-xs-"] {
    position: relative;
    padding-left: var(--bs-gutter-x, .75rem);
    padding-right: var(--bs-gutter-x, .75rem);
    float: left;
}
/* Map widths */
.col-xs-1 {
    width: 8.333333%
}

.col-xs-2 {
    width: 16.666667%
}

.col-xs-3 {
    width: 25%
}

.col-xs-4 {
    width: 33.333333%
}

.col-xs-5 {
    width: 41.666667%
}

.col-xs-6 {
    width: 50%
}

.col-xs-7 {
    width: 58.333333%
}

.col-xs-8 {
    width: 66.666667%
}

.col-xs-9 {
    width: 75%
}

.col-xs-10 {
    width: 83.333333%
}

.col-xs-11 {
    width: 91.666667%
}

.col-xs-12 {
    width: 100%
}
/* Push/Pull/Offset preserved */
[col*="pull"] {
    position: relative
}

/* Repeat for sm/md/lg using media queries */
@media (min-width:768px) {
    [class^="col-sm-"], [class*=" col-sm-"] {
        position: relative;
        min-height: 1px;
        float: left;
        padding-left: var(--bs-gutter-x,.75rem);
        padding-right: var(--bs-gutter-x,.75rem)
    }

    .col-sm-1 {
        width: 8.333333%
    }

    .col-sm-2 {
        width: 16.666667%
    }

    .col-sm-3 {
        width: 25%
    }

    .col-sm-4 {
        width: 33.333333%
    }

    .col-sm-5 {
        width: 41.666667%
    }

    .col-sm-6 {
        width: 50%
    }

    .col-sm-7 {
        width: 58.333333%
    }

    .col-sm-8 {
        width: 66.666667%
    }

    .col-sm-9 {
        width: 75%
    }

    .col-sm-10 {
        width: 83.333333%
    }

    .col-sm-11 {
        width: 91.666667%
    }

    .col-sm-12 {
        width: 100%
    }
}

@media (min-width:992px) {
    [class^="col-md-"], [class*=" col-md-"] {
        float: left;
        padding-left: var(--bs-gutter-x,.75rem);
        padding-right: var(--bs-gutter-x,.75rem)
    }

    .col-md-1 {
        width: 8.333333%
    }

    .col-md-2 {
        width: 16.666667%
    }

    .col-md-3 {
        width: 25%
    }

    .col-md-4 {
        width: 33.333333%
    }

    .col-md-5 {
        width: 41.666667%
    }

    .col-md-6 {
        width: 50%
    }

    .col-md-7 {
        width: 58.333333%
    }

    .col-md-8 {
        width: 66.666667%
    }

    .col-md-9 {
        width: 75%
    }

    .col-md-10 {
        width: 83.333333%
    }

    .col-md-11 {
        width: 91.666667%
    }

    .col-md-12 {
        width: 100%
    }
}

@media (min-width:1200px) {
    [class^="col-lg-"], [class*=" col-lg-"] {
        float: left;
        padding-left: var(--bs-gutter-x,.75rem);
        padding-right: var(--bs-gutter-x,.75rem)
    }

    .col-lg-1 {
        width: 8.333333%
    }

    .col-lg-2 {
        width: 16.666667%
    }

    .col-lg-3 {
        width: 25%
    }

    .col-lg-4 {
        width: 33.333333%
    }

    .col-lg-5 {
        width: 41.666667%
    }

    .col-lg-6 {
        width: 50%
    }

    .col-lg-7 {
        width: 58.333333%
    }

    .col-lg-8 {
        width: 66.666667%
    }

    .col-lg-9 {
        width: 75%
    }

    .col-lg-10 {
        width: 83.333333%
    }

    .col-lg-11 {
        width: 91.666667%
    }

    .col-lg-12 {
        width: 100%
    }
}



table {
    background-color: transparent;
}

th {
    text-align: left;
}
table {
    background-color: transparent;
}

th {
    text-align: left; /* keep legacy behavior */
}

/* Core table box model (retain your spacing) */
.table {
    width: 100%;
    max-width: 100%;
    margin-bottom: 21px; /* preserve original spacing */
    color: var(--bs-table-color, inherit);
    background-color: var(--bs-table-bg, transparent);
    border-color: var(--bs-border-color, #dee2e6);
}

    /* Cell padding, borders, alignment */
    .table > thead > tr > th,
    .table > tbody > tr > th,
    .table > tfoot > tr > th,
    .table > thead > tr > td,
    .table > tbody > tr > td,
    .table > tfoot > tr > td {
        padding: 8px;
        line-height: 1.42857143; /* legacy line-height */
        vertical-align: top;
        border-top: 1px solid var(--bs-border-color, #dee2e6);
    }

    /* Header bottom border */
    .table > thead > tr > th {
        vertical-align: middle;
        border-bottom: 2px solid var(--bs-border-color, #dee2e6);
    }

    /* Remove top border for first row in header */
    .table > caption + thead > tr:first-child > th,
    .table > colgroup + thead > tr:first-child > th,
    .table > thead:first-child > tr:first-child > th,
    .table > caption + thead > tr:first-child > td,
    .table > colgroup + thead > tr:first-child > td,
    .table > thead:first-child > tr:first-child > td {
        border-top: 0;
    }

    /* Section separation */
    .table > tbody + tbody {
        border-top: 2px solid var(--bs-border-color, #dee2e6);
    }

    /* Nested tables follow page background */
    .table .table {
        background-color: var(--bs-body-bg, #ffffff);
    }

/* Compact table (BS3 name). BS5 equivalent is .table-sm; keep both. */
.table-condensed > thead > tr > th,
.table-condensed > tbody > tr > th,
.table-condensed > tfoot > tr > th,
.table-condensed > thead > tr > td,
.table-condensed > tbody > tr > td,
.table-condensed > tfoot > tr > td,
.table-sm > thead > tr > th,
.table-sm > tbody > tr > th,
.table-sm > tfoot > tr > th,
.table-sm > thead > tr > td,
.table-sm > tbody > tr > td,
.table-sm > tfoot > tr > td {
    padding: 5px;
}

/* Bordered table */
.table-bordered {
    border: 1px solid var(--bs-border-color, #dee2e6);
}

    .table-bordered > thead > tr > th,
    .table-bordered > tbody > tr > th,
    .table-bordered > tfoot > tr > th,
    .table-bordered > thead > tr > td,
    .table-bordered > tbody > tr > td,
    .table-bordered > tfoot > tr > td {
        border: 1px solid var(--bs-border-color, #dee2e6);
       
    }
  

    .table-bordered > thead > tr > th,
    .table-bordered > thead > tr > td {
        border-bottom-width: 2px;
    }

/* Commented by DHirendra to disable default behaviour of table rows color */
/* Striped rows: use BS5 variables so theme controls color */
.table-striped > tbody > tr:nth-of-type(odd) > * {
    /* background-color: var(--bs-table-striped-bg, rgba(0,0,0,.05));*/
   /* background-color: var(--bs-background-color, #fff);*/
    color: var(--bs-table-striped-color, inherit);
}


/* Hover rows */
/*.table-hover > tbody > tr:hover > * {
    background-color: var(--bs-table-hover-bg, rgba(0,0,0,.075));
    color: var(--bs-table-hover-color, inherit);
}*/
.table-hover > tbody > tr:hover > * {
    background-color: rgb(189 183 183 / 8%);
    color: var(--bs-table-hover-color, inherit);
   /* color: #f5f5f5;*/
}

/* Column helpers inside tables (keep legacy behavior) */
table col[class*="col-"] {
    position: static;
    float: none;
    display: table-column;
}

table td[class*="col-"],
table th[class*="col-"] {
    position: static;
    float: none;
    display: table-cell;
}

/* Active state (legacy .active). Map to BS5 table-active variables */
.table > thead > tr > td.active,
.table > tbody > tr > td.active,
.table > tfoot > tr > td.active,
.table > thead > tr > th.active,
.table > tbody > tr > th.active,
.table > tfoot > tr > th.active,
.table > thead > tr.active > td,
.table > tbody > tr.active > td,
.table > tfoot > tr.active > td,
.table > thead > tr.active > th,
.table > tbody > tr.active > th,
.table > tfoot > tr.active > th,
.table > thead > tr > td.table-active,
.table > tbody > tr > td.table-active,
.table > tfoot > tr > td.table-active,
.table > thead > tr > th.table-active,
.table > tbody > tr > th.table-active,
.table > tfoot > tr > th.table-active,
.table > thead > tr.table-active > td,
.table > tbody > tr.table-active > td,
.table > tfoot > tr.table-active > td,
.table > thead > tr.table-active > th,
.table > tbody > tr.table-active > th,
.table > tfoot > tr.table-active > th {
    background-color: var(--bs-table-active-bg, var(--bs-tertiary-bg, #f5f5f5));
    color: var(--bs-table-active-color, inherit);
}

/* Ensure .table-active wins over stripe for striped tables */
.table.table-striped > tbody > tr.table-active > * {
    --bs-table-accent-bg: var(--bs-table-active-bg);
    color: var(--bs-table-active-color, inherit);
}

/* Contextual states (legacy .success/.info/.warning/.danger on cells/rows). 
   Use BS5 subtle variants with legacy color fallbacks to preserve visibility. */
.table > thead > tr > td.success,
.table > tbody > tr > td.success,
.table > tfoot > tr > td.success,
.table > thead > tr > th.success,
.table > tbody > tr > th.success,
.table > tfoot > tr > th.success,
.table > thead > tr.success > td,
.table > tbody > tr.success > td,
.table > tfoot > tr.success > td,
.table > thead > tr.success > th,
.table > tbody > tr.success > th,
.table > tfoot > tr.success > th {
    background-color: var(--bs-success-bg-subtle, var(--bs-success, #3fb618));
    color: var(--bs-success-text-emphasis, #0f5132);
}

.table-hover > tbody > tr > td.success:hover,
.table-hover > tbody > tr > th.success:hover,
.table-hover > tbody > tr.success:hover > td,
.table-hover > tbody > tr:hover > .success,
.table-hover > tbody > tr.success:hover > th {
    background-color: color-mix(in srgb, var(--bs-success-bg-subtle, #3fb618) 85%, black 0%);
}

.table > thead > tr > td.info,
.table > tbody > tr > td.info,
.table > tfoot > tr > td.info,
.table > thead > tr > th.info,
.table > tbody > tr > th.info,
.table > tfoot > tr > th.info,
.table > thead > tr.info > td,
.table > tbody > tr.info > td,
.table > tfoot > tr.info > td,
.table > thead > tr.info > th,
.table > tbody > tr.info > th,
.table > tfoot > tr.info > th {
    background-color: var(--bs-info-bg-subtle, var(--bs-info, #9954bb));
    color: var(--bs-info-text-emphasis, #055160);
}

.table-hover > tbody > tr > td.info:hover,
.table-hover > tbody > tr > th.info:hover,
.table-hover > tbody > tr.info:hover > td,
.table-hover > tbody > tr:hover > .info,
.table-hover > tbody > tr.info:hover > th {
    background-color: color-mix(in srgb, var(--bs-info-bg-subtle, #9954bb) 85%, black 0%);
}

.table > thead > tr > td.warning,
.table > tbody > tr > td.warning,
.table > tfoot > tr > td.warning,
.table > thead > tr > th.warning,
.table > tbody > tr > th.warning,
.table > tfoot > tr > th.warning,
.table > thead > tr.warning > td,
.table > tbody > tr.warning > td,
.table > tfoot > tr.warning > td,
.table > thead > tr.warning > th,
.table > tbody > tr.warning > th,
.table > tfoot > tr.warning > th {
    background-color: var(--bs-warning-bg-subtle, var(--bs-warning, #ff7518));
    color: var(--bs-warning-text-emphasis, #664d03);
}

.table-hover > tbody > tr > td.warning:hover,
.table-hover > tbody > tr > th.warning:hover,
.table-hover > tbody > tr.warning:hover > td,
.table-hover > tbody > tr:hover > .warning,
.table-hover > tbody > tr.warning:hover > th {
    background-color: color-mix(in srgb, var(--bs-warning-bg-subtle, #ff7518) 85%, black 0%);
}

.table > thead > tr > td.danger,
.table > tbody > tr > td.danger,
.table > tfoot > tr > td.danger,
.table > thead > tr > th.danger,
.table > tbody > tr > th.danger,
.table > tfoot > tr > th.danger,
.table > thead > tr.danger > td,
.table > tbody > tr.danger > td,
.table > tfoot > tr.danger > td,
.table > thead > tr.danger > th,
.table > tbody > tr.danger > th,
.table > tfoot > tr.danger > th {
    background-color: var(--bs-danger-bg-subtle, var(--bs-danger, #ff0039));
    color: var(--bs-danger-text-emphasis, #842029);
}

.table-hover > tbody > tr > td.danger:hover,
.table-hover > tbody > tr > th.danger:hover,
.table-hover > tbody > tr.danger:hover > td,
.table-hover > tbody > tr:hover > .danger,
.table-hover > tbody > tr.danger:hover > th {
    background-color: color-mix(in srgb, var(--bs-danger-bg-subtle, #ff0039) 85%, black 0%);
}

/* Responsive tables (retain your behavior; update colors) */
@media screen and (max-width: 767px) {
    .table-responsive {
        width: 100%;
        margin-bottom: 15.75px; /* keep legacy spacing */
        overflow-y: hidden;
        overflow-x: auto;
        -ms-overflow-style: -ms-autohiding-scrollbar; /* harmless legacy */
        border: 1px solid var(--bs-border-color, #dee2e6);
        -webkit-overflow-scrolling: touch;
    }

        .table-responsive > .table {
            margin-bottom: 0;
        }

            .table-responsive > .table > thead > tr > th,
            .table-responsive > .table > tbody > tr > th,
            .table-responsive > .table > tfoot > tr > th,
            .table-responsive > .table > thead > tr > td,
            .table-responsive > .table > tbody > tr > td,
            .table-responsive > .table > tfoot > tr > td {
                white-space: nowrap;
            }

        .table-responsive > .table-bordered {
            border: 0;
        }

            .table-responsive > .table-bordered > thead > tr > th:first-child,
            .table-responsive > .table-bordered > tbody > tr > th:first-child,
            .table-responsive > .table-bordered > tfoot > tr > th:first-child,
            .table-responsive > .table-bordered > thead > tr > td:first-child,
            .table-responsive > .table-bordered > tbody > tr > td:first-child,
            .table-responsive > .table-bordered > tfoot > tr > td:first-child {
                border-left: 0;
            }

            .table-responsive > .table-bordered > thead > tr > th:last-child,
            .table-responsive > .table-bordered > tbody > tr > th:last-child,
            .table-responsive > .table-bordered > tfoot > tr > th:last-child,
            .table-responsive > .table-bordered > thead > tr > td:last-child,
            .table-responsive > .table-bordered > tbody > tr > td:last-child,
            .table-responsive > .table-bordered > tfoot > tr > td:last-child {
                border-right: 0;
            }

            .table-responsive > .table-bordered > tbody > tr:last-child > th,
            .table-responsive > .table-bordered > tfoot > tr:last-child > th,
            .table-responsive > .table-bordered > tbody > tr:last-child > td,
            .table-responsive > .table-bordered > tfoot > tr:last-child > td {
                border-bottom: 0;
            }
}

/* Added by DHirendra for custom settings to match with existing website version  */

/*Added for alternate row  color*/
/*.table-striped tr:nth-child(even) {
    background-color: rgba(32, 50, 66, 0.05);
    border: 1px solid rgba(229, 229, 229, 1);
}*/
/*//Ended*/

.table-striped tr:nth-child(odd), .table-striped tr:nth-child(odd):hover {
    background-color: #fff;
    border: 1px solid rgba(229, 229, 229, 1);
}

/*.table-striped > tbody > tr:nth-of-type(even):not(:last-child) > * {
    background-color: rgba(32, 50, 66, 0.05);
    border: 1px solid rgba(229, 229, 229, 1);
}*/
.table-striped > tbody > tr:nth-of-type(even):not(:last-child) > * {
    border: 1px solid rgba(229, 229, 229, 1);
    background-color: #dff4fb;
}

/*Start Below code region is for menu dropwnlist child for text inline */
/*@media (min-width: 768px) {
    .navbar-collapse .navbar-nav li .dropdown-menu.multi-level li a
    Specificity: (0,4,3) {
        height: 40px;
        padding: 13px 25px;
    }
}*/

/*.navbar-default .navbar-nav .dropdown-menu li a:not(.btn) {
    margin: 0;
    padding: 13px;
    height: auto;
    line-height: 1;
    font-size: 13px;
    border: none;
    text-transform: none;
    position: relative;
    color: #343331 !important;
    display: block;
    font-weight: 500;
    background-color: #fff;
}*/

/*@media (min-width: 768px) {
    .navbar-default .navbar-nav li > a:not(.btn) {
        height: 50px;
        line-height: 50px;
        padding: 0 37px;*/
/* background-color: rgba(0, 97, 195, 1); */
/*color: #fff;
    }
}

.navbar-default .navbar-nav li > a:not(.btn) {
    -webkit-border-radius: 0;
    -moz-border-radius: 0;
    border-radius: 0;
    padding: 20px 15px;
    font-size: 14px;
    font-weight: 600;
    text-transform: uppercase;
    color: #343331;
}*/

/*.navbar-default .navbar-nav li a {
    -webkit-transition: all 0.4s ease-out;
    -moz-transition: all 0.4s ease-out;
    -o-transition: all 0.4s ease-out;
    transition: all 0.4s ease-out;
    font-weight: 600;
}*/

.dropdown-menu > li > a {
    display: block;
    padding: 3px 20px;
    clear: both;
    font-weight: 400;
    line-height: 1.42857143;
    color: #333;
    white-space: nowrap;
}


/*End Below code region is for menu dropwnlist child for text inline */
/*Below code to make header text underline for table */
.table.table-striped.table-bordered th a {
    text-decoration-line: underline !important;
    text-decoration-color: #fff !important;
    color: #fff !important; /* if you also want the link text white */
}

/*Below code to make anchor tag display underline table-striped*/

/*table.table-striped.table-bordered td a {
    text-decoration-line: underline !important;
    text-decoration-color: currentColor;*/ /* underline matches text color */
    /*text-underline-offset: 2px;*/ /* nicer spacing */
    /* Optional: make it a bit thicker */
    /* text-decoration-thickness: 1.5px; */
/*}*/

.table-striped.table-bordered tr:not(:last-child) td a {
    text-decoration-line: underline !important;
    text-decoration-color: currentColor; /* underline matches text color */
    text-underline-offset: 2px; /* nicer spacing */
}

