/* File: assets/style.css */
/* Location: public_html/portal/assets/style.css */

.table-sm td, .table-sm th { vertical-align: middle; }
.badge-role { font-size: .8rem; }
.card { box-shadow: 0 1px 3px rgba(0,0,0,.08); }
.event-closed { opacity: .65; }

/* Column headings stay put while a long list scrolls.
   Below large screens the wrapper scrolls sideways instead, which is its own
   scroll container, so stickiness is switched off there rather than half working. */
@media (min-width: 992px) {
  .table-responsive { overflow: visible; }

  .table thead th {
    position: sticky;
    top: 0;
    z-index: 3;
    background-color: #fff;
    box-shadow: inset 0 -2px 0 #dee2e6;
  }

  /* Striped tables would otherwise show rows through the heading */
  .table-striped > thead > tr > th { background-color: #fff; }
}

/* Training pages carry over hand-written HTML from the old site,
   so give it sane spacing without touching the markup itself. */
.training-body h2 { font-size: 1.15rem; font-weight: 600; margin: 1.5rem 0 .5rem; }
.training-body h2:first-child { margin-top: 0; }
.training-body b { display: inline-block; margin-top: .75rem; }
.training-body ul { margin-bottom: 1rem; }
.training-body li { margin-bottom: .5rem; }
.training-body p { margin-bottom: 1rem; }
