

                    @import url('https://fonts.googleapis.com/css2?family=Atkinson+Hyperlegible+Next:ital,wght@0,200..800;1,200..800&family=Jost:ital,wght@0,100..900;1,100..900&display=swap');
                
    :root {
         --primary-font-template: "Atkinson Hyperlegible Next";
         --primary-font-style: "sans-serif";
         --secondary-font-template: "Jost";
         --secondary-font-style: "sans-serif";
         --tertiary-font-template: "$tertiaryFont";
         --tertiary-font-style: "$tertiaryStyle";
         --body-bg-template: #fff;
         --body-bg-relative-template: oklch(from var(--body-bg-template) calc(l * .95) c h);
         --body-text-template: #1f1f1f;
         --primary-template: #1f7f36;
         --primary-relative-template: oklch(from var(--primary-template) calc(l * .75) c h);
         --secondary-template: #000;
         --secondary-relative-template: oklch(from var(--secondary-template) calc(l * 1.25) c h);
         --accent-template: #c8d729;
         --footer-template: #1f7f36;
         --image-overlay-template: #000;
                               }
    
       .header-title .title {
     font-size: 3em;
     font-weight: 700;
     line-height: 1.4em;
     color: var(--primary-template);
}
.header-title .sub-title {
    color: var(--primary-template);
}
.header-title .breadcrumbs a {
    color: var(--primary-template);
}
.section-title {
text-align: center;
}
 #programSearch-1::after {
     background: none;
}
.footer-section .badges img {
    max-height: 4rem;
    width: auto;
}

/* Data tables, PDCC
   Colors resolve --ds-* > Global Setup template var > literal.
   Font inherits from the site. */

/* Scroll wrapper, on every table. Scrolls at all widths; BS3's own
   .table-responsive only scrolls under 768px. */
.table-responsive {
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  margin-bottom: var(--ds-space-lg, 24px);
}

/* Wrapper is focusable, so it needs a ring. Global #ff9900 is 2.14:1, fails. */
.table-responsive:focus-visible {
  outline: 3px solid var(--ds-primary, var(--primary-template, #2c9a41));
  outline-offset: 3px;
}

.table {
  width: 100%;
  margin: 0;
  border-collapse: collapse;
  font-size: var(--ds-body-size, 16px);
  line-height: 1.6;
  color: var(--ds-on-surface, var(--body-text-template, #2D2D2D));
  background: var(--ds-surface, var(--body-bg-template, #FFFFFF));
}

/* Not filled with primary: white on Camp green is 3.62:1, fails for text. */
.table thead th {
  font-weight: 700;
  font-size: 15px;
  line-height: 1.4;
  text-align: left;
  vertical-align: bottom;
  padding: var(--ds-space-sm, 8px) var(--ds-space-md, 16px);
  color: var(--ds-on-surface, var(--body-text-template, #2D2D2D));
  background: var(--ds-surface, var(--body-bg-template, #FFFFFF));
  border-bottom: 3px solid var(--ds-primary, var(--primary-template, #2c9a41));
}

.table th,
.table td {
  padding: var(--ds-space-sm, 8px) var(--ds-space-md, 16px);
  text-align: left;
  vertical-align: top;
}

.table tbody th[scope="row"] {
  font-weight: 700;
}

/* Grey zebra. Decorative only. Body text on it is 12.4:1. */
.table-striped > tbody > tr:nth-of-type(odd) > th,
.table-striped > tbody > tr:nth-of-type(odd) > td {
  background-color: var(--ds-surface-alt, #F3F3F3);
}

.table tbody th,
.table tbody td {
  border-bottom: 1px solid var(--ds-border, #E2E8F0);
}

/* Keeps the 8-column session tables from collapsing. */
.table th,
.table td {
  min-width: 7.5em;
}

.table thead th:first-child,
.table tbody th[scope="row"] {
  min-width: 14em;
}

@media only screen and (max-width: 767px) {
  .table {
    font-size: 15px;
  }
  .table th,
  .table td {
    padding: var(--ds-space-sm, 8px);
  }
}
.hero__content--left .subtitle {
    margin-inline: unset;
    max-width: 500px;
}
.hh-module .post .post-title.title-lg {
    font-size: 2.0rem;
}
    
