/* GANTRY5 DEVELOPMENT MODE ENABLED.
 *
 * WARNING: This file is automatically generated by Gantry5. Any modifications to this file will be lost!
 *
 * For more information on modifying CSS, please read:
 *
 * http://docs.gantry.org/gantry5/configure/styles
 * http://docs.gantry.org/gantry5/tutorials/adding-a-custom-style-sheet
 */

@charset "UTF-8";
.jl-navbar-dropdown {
  width: 180px;
}
.jl-navbar-dropdown {
  width: 180px;
}
.g-promo {
  -webkit-box-orient: vertical;
  -moz-box-orient: vertical;
  box-orient: vertical;
  -webkit-box-direction: normal;
  -moz-box-direction: normal;
  box-direction: normal;
  -webkit-flex-direction: column;
  -moz-flex-direction: column;
  flex-direction: column;
  -ms-flex-direction: column;
  -webkit-box-align: left;
  -moz-box-align: left;
  box-align: left;
  -webkit-align-items: left;
  -moz-align-items: left;
  -ms-align-items: left;
  -o-align-items: left;
  align-items: left;
  -ms-flex-align: left;
  padding-bottom: 0;
  text-align: left;
}
.g-promo span {
  font-size: 0.9vw;
  background: #b44819;
  padding: 0.4rem 1rem;
  border-radius: 1.3rem;
  font-weight: 500;
}
@media (max-width: 100rem) {
  .g-promo span {
    font-size: 0.9rem;
  }
}
.g-promo h1 {
  font-size: 3.5vw;
}
@media (max-width: 57.1428571429rem) {
  .g-promo h1 {
    font-size: 2rem;
  }
}
.g-promo p {
  font-size: 1.4vw;
  font-weight: 400;
}
@media (max-width: 71.4285714286rem) {
  .g-promo p {
    font-size: 1rem;
  }
}
@media only all and (max-width: 59.99rem) {
  .g-promo p {
    margin: 0;
    padding: 0;
  }
}
@media only all and (max-width: 59.99rem) {
  .g-promo {
    padding: 0;
  }
}
h1 {
  margin-bottom: 0.5rem !important;
  text-rendering: optimizeLegibility;
}
body {
  line-height: 1.6;
  /* This is an example value */
}
em {
  color: #594d3e !important;
}
em.link-em a {
  color: #bd4c1a !important;
  text-decoration: underline;
}
em.link-em a:hover, em.link-em a:focus {
  color: #903a14;
}
blockquote p {
  font-size: 1rem;
  color: #ca511c !important;
  font-weight: 500;
}
figcaption {
  display: block;
  unicode-bidi: isolate;
  font-size: 0.875rem;
  font-style: italic;
  color: #444;
}
.first-name {
  font-family: "Montserrat", sans-serif;
  font-weight: 500;
  color: #594d3e;
  text-transform: uppercase;
}
.last-name {
  font-family: "Montserrat", sans-serif;
  font-weight: 800;
  color: #594d3e;
  text-transform: uppercase;
}
.cred {
  font-size: 0.75rem;
  font-weight: 400;
  color: #594d3e;
  text-transform: uppercase;
}
.title {
  font-weight: 400;
  color: #ca511c;
  text-transform: uppercase;
}
.thin {
  font-family: "Montserrat", sans-serif;
  font-weight: 500;
  color: #594d3e;
  text-transform: uppercase;
}
.strong {
  font-family: "Montserrat", sans-serif;
  font-weight: 800;
  color: #594d3e;
  text-transform: uppercase;
}
h2.subtitle {
  font-size: 1.75rem;
  line-height: 1.25;
  font-weight: 700;
  color: #ca511c !important;
}
h2.subtitle2 {
  font-size: 1.75rem;
  line-height: 1.25;
  font-weight: 700;
  color: #594d3e !important;
}
h2.subtitle3 {
  font-size: 1.75rem;
  line-height: 1.25;
  font-weight: 700;
  color: #ffffff !important;
}
h3.subtitle {
  font-size: 1.3125rem;
  line-height: 1.25;
  font-weight: 700;
  color: #ca511c !important;
}
h3.subtitle2 {
  font-size: 1.3125rem;
  line-height: 1.25;
  font-weight: 700;
  color: #594d3e !important;
}
h3.subtitle3 {
  font-size: 1.3125rem;
  line-height: 1.25;
  font-weight: 700;
  color: #ffffff !important;
}
.heading h1 {
  font-family: "Montserrat", sans-serif;
  font-weight: 800;
  color: #594d3e;
  text-transform: uppercase;
}
#g-topbar, #g-topbar a {
  font-size: 0.75rem !important;
}
.g-promo span, .g-promo2 span {
  font-size: 1rem !important;
  background: none !important;
  color: #ca511c;
  padding: 0rem !important;
  font-weight: 700;
  text-transform: uppercase;
}
.g-promo h1 {
  background: none !important;
  color: #594d3e;
  font-weight: 800;
}
.jl-subnav > * > :first-child {
  color: #c1b293 !important;
}
.item-wrapper.jl-card {
  display: flex;
  flex-direction: column;
  height: 100%;
}
.item-wrapper.jl-card .tm-content {
  flex: 1 0 auto;
  /* Allow this content to grow */
}
.item-wrapper.jl-card > div.jl-margin-top {
  flex-shrink: 0;
  /* Prevent the button container from shrinking */
  margin-top: auto;
  /* Push it to the bottom */
}
.jl-dropcap::first-letter, .jl-dropcap > p:first-of-type::first-letter {
  font-weight: 800;
  display: block;
  margin-right: 6px;
  float: left;
  font-size: 4.8em !important;
  line-height: 1;
  margin-bottom: -6px;
}
#portal a.menu__heading::before {
  font-family: "Font Awesome 6 Pro";
  /* Font family for Font Awesome Pro */
  content: "";
  /* Unicode for the "files" icon */
  margin-right: 5px;
  /* Space between the icon and the text */
  color: white;
  /* Icon color */
  font-weight: 300;
  /* Font weight for thin icons in Font Awesome Pro */
  /* Additional styling as needed */
}
#portal a.menu__heading {
  background-color: #a74317 !important;
  /* Sets the background color to a specific shade of orange */
  color: white;
  /* Sets the text color to white */
  font-weight: bold;
  /* Makes the text bold */
  padding: 0 24px;
  /* Sets horizontal padding to 24px */
}
#portal a.menu__heading:hover, #portal a.menu__heading:active {
  background-color: #913a14 !important;
  /* Keeps the background color the same on hover and active */
  color: white;
  /* Keeps the text color white on hover and active */
}
#portal .jl-navbar-dropdown-nav > li > a::before {
  font-family: "Font Awesome 6 Pro";
  /* Font family for Font Awesome Pro */
  content: "";
  /* Unicode for the "files" icon */
  margin-right: 5px;
  /* Space between the icon and the text */
  color: #bd4c1a;
  /* Icon color */
  font-weight: 300;
  /* Font weight for thin icons in Font Awesome Pro */
  /* Additional styling as needed */
}
#portal .el-horiz-nav {
  padding: 0 !important;
  margin: 0 !important;
}
.cdtc-number-list {
  list-style-type: decimal;
  /* Ensure numbers are shown */
  padding-left: 20px;
  /* Add padding to ensure space for numbers */
}
.cdtc-number-list li {
  position: relative;
  /* Needed for absolute positioning of the pseudo-element */
  padding-left: 20px;
  /* Space for the bullet symbol, adjust as needed */
  padding-top: 12px;
  padding-top: 8px;
}
.cdtc-bullet-list {
  list-style: none;
  /* Removes default list styling */
  padding-left: 0;
  /* Adjust as needed */
}
.cdtc-bullet-list li {
  position: relative;
  /* Needed for absolute positioning of the pseudo-element */
  padding-left: 20px;
  /* Space for the bullet symbol, adjust as needed */
  padding-top: 12px;
  font-weight: bold;
}
.cdtc-bullet-list li::before {
  content: "»";
  /* Unicode for the » character */
  position: absolute;
  /* Position the bullet absolutely within the li */
  left: 0;
  /* Align to the left */
  top: 12px;
  /* Align to the top */
  color: #595959;
  /* Adjust the color as needed */
  font-weight: bold;
}
.cdtc-bullet-white li::before {
  content: "»";
  /* Unicode for the » character */
  position: absolute;
  /* Position the bullet absolutely within the li */
  left: 0;
  /* Align to the left */
  top: 12px;
  /* Align to the top */
  color: #ffffff;
  /* Adjust the color as needed */
  font-weight: bold;
}
.section-padding {
  padding-bottom: 24px;
}
#g-footer {
  background: linear-gradient(to bottom, #594d3e, #473D31 33%, #3E352B 66%);
}
.g-promo h1 {
  font-size: clamp(1.75rem, 3.6vw, 3.125rem) !important;
}
.jl-accordion-title {
  text-transform: uppercase;
  color: #a74317;
  font-size: 0.75rem;
  letter-spacing: 0.06em;
}
.jlalert .tm-title {
  font-weight: 700;
}
#referral a.menu__heading::before {
  font-family: "Font Awesome 6 Pro";
  /* Font family for Font Awesome Pro */
  content: "";
  /* Unicode for the "files" icon */
  margin-right: 5px;
  /* Space between the icon and the text */
  color: white;
  /* Icon color */
  font-weight: 300;
  /* Font weight for thin icons in Font Awesome Pro */
  /* Additional styling as needed */
}
#referral a.menu__heading {
  background-color: #bd4c1a !important;
  /* Sets the background color to a specific shade of orange */
  color: white;
  /* Sets the text color to white */
  font-weight: bold;
  /* Makes the text bold */
  padding: 0 24px;
  /* Sets horizontal padding to 24px */
}
#referral a.menu__heading:hover, #referral a.menu__heading:active {
  background-color: #bd4c1a !important;
  /* Keeps the background color the same on hover and active */
  color: white;
  /* Keeps the text color white on hover and active */
}
#referral .jl-navbar-dropdown-nav > li > a::before {
  font-family: "Font Awesome 6 Pro";
  /* Font family for Font Awesome Pro */
  content: "";
  /* Unicode for the "files" icon */
  margin-right: 5px;
  /* Space between the icon and the text */
  color: #bd4c1a;
  /* Icon color */
  font-weight: 300;
  /* Font weight for thin icons in Font Awesome Pro */
  /* Additional styling as needed */
}
#referral .el-horiz-nav {
  padding: 0 !important;
  margin: 0 !important;
}
.jl-navbar-dropdown-nav .jl-nav-header {
  font-size: 0.75rem !important;
  color: rgba(255, 255, 255, 0.8) !important;
}
.tm-nav-mobile .jl-nav-header {
  font-size: 0.75rem;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  padding-top: 12px;
}
div.contact-link-white a {
  color: #ffffff !important;
}
.jl-navbar-subtitle {
  font-size: 0.625rem !important;
  letter-spacing: 0.06em;
  line-height: 1.5;
}
/* The brand orange is #bd4c1a (white-on-it 4.99:1, so buttons pass). As TEXT it
   only clears AA on pure white — on the #ececed page background it is 4.22:1,
   which is where the card titles and meta rows live. Those take #a74317
   (5.14:1 on the page bg, 6.07:1 on white). The theme's own rule carries
   !important, so this must too. */
.jl-text-primary {
  color: #a74317 !important;
}
/* ─── Wave 3 · accessibility corrections (diagnostic #20, #21, #24) ───
   All three are theme/plugin output that removes or under-sizes something
   WCAG requires; each rule is scoped to the component that causes it. */
/* #20 — Convert Forms strips the focus ring from every field and the submit
   button (8 of 485 focusable elements on the site had no visible focus).
   Restored with the text-accent orange, which clears AA on white. */
/* The plugin's own rule is `.convertforms .cf-input:focus` (0,3,0), so a
   bare `.cf-input:focus` (0,2,0) compiles, ships and still loses however
   late it loads. Match its specificity rather than reach for !important. */
.convertforms .cf-input:focus, .convertforms .cf-input:focus-visible, .convertforms .cf-btn:focus, .convertforms .cf-btn:focus-visible, .convertforms select:focus, .convertforms textarea:focus {
  outline: 2px solid #a74317;
  outline-offset: 2px;
}
/* #21 — WCAG 2.2 target size (minimum) is 24x24. Inline links inside a
   sentence are exempt, so the footer crisis links are left alone; these two
   are genuine controls that measured under it. */
.jl-accordion-title {
  padding-top: 6px;
  padding-bottom: 6px;
}
.jl-navbar-toggle.mobile-toggle {
  min-width: 44px;
  justify-content: center;
}
/* #24 — the program-contact email is distinguishable by colour alone. */
.jl-container a[href^="mailto:"], #g-footer a[href^="mailto:"] {
  text-decoration: underline;
}
/* #21 (cont.) — the two remaining non-inline targets under 24x24. The rest
   are links inside sentences, which WCAG 2.2 2.5.8 exempts. */
#g-totop {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 32px;
  min-height: 32px;
}
#g-copyright a {
  display: inline-block;
  padding: 4px 2px;
}
/* #22 is NOT shipped and is deliberately not bodged here. The home hero is
   1,271px tall on a phone because its CONTENT is long — the referral card
   stacks under the hero copy inside the same section — not because anything
   sets a min-height. Capping it with max-height would clip live content.
   Closing it means moving or shortening the referral card: a layout call,
   not housekeeping. Recorded in the change log and the hub. */
h1, .jl-h1 {
  font-size: 2.375rem;
  line-height: 1.1;
}
h2, .jl-h2 {
  line-height: 1.25;
}
h3, .jl-h3 {
  line-height: 1.25;
}
.jl-text-uppercase {
  letter-spacing: 0.06em;
}
h1.jl-text-uppercase, .heading h1 {
  letter-spacing: 0.02em;
}
.tm-header .jl-navbar-nav > li > a, #referral .jl-navbar-nav > li > a, #portal .jl-navbar-nav > li > a {
  letter-spacing: 0.06em;
}
#g-footer {
  padding-top: 48px;
  padding-bottom: 48px;
  font-size: 0.875rem;
  line-height: 1.6;
}
#g-footer p, #g-footer li, #g-footer span, #g-footer a, #g-footer div {
  font-size: inherit;
}
#g-footer h1, #g-footer h2, #g-footer h3, #g-footer h4, #g-footer .jl-h1, #g-footer .jl-h2, #g-footer .jl-h3, #g-footer .jl-h4 {
  font-size: 1.3125rem;
  line-height: 1.25;
  letter-spacing: 0.02em;
}
#g-footer .jl-logo img, #g-footer .jl-logo svg {
  max-width: 160px;
  height: auto;
}
#g-copyright, #g-copyright a, #g-footer .jl-text-meta {
  font-size: 0.75rem;
  line-height: 1.5;
}
.el-title, .jl-card-title, .tm-title:not(.jl-text-meta) {
  font-size: 1.3125rem;
  line-height: 1.25;
}
.jl-button, .jl-button-primary, .jl-button-default, .jl-btn-text {
  font-size: 1rem;
  letter-spacing: 0.06em;
}
#g-header .jl-navbar-item.jl-logo svg {
  height: 48px;
  width: auto;
}
#g-header .jl-navbar-dropdown {
  padding: 20px;
}
#referral .jl-navbar-nav > li > a, #portal .jl-navbar-nav > li > a {
  padding: 0 20px;
}
h2, .jl-h2 {
  font-size: 1.75rem;
}
h3, .jl-h3 {
  font-size: 1.3125rem;
}
h4, .jl-h4, legend {
  font-size: 1rem;
  line-height: 1.25;
}
.jl-article .page-header h2 {
  font-size: 1.75rem;
}
.g-promo p {
  font-size: clamp(1rem, 1.4vw, 1.3125rem);
}
.jl-article .jl-article-title {
  font-size: 2.375rem;
}
.g-promo p {
  font-size: 1rem;
}
@media (min-width: 960px) {
  .g-promo p {
    font-size: 1.3125rem;
  }
}
h3.jl-h4 {
  font-size: 1.3125rem;
}
#g-sidebar .jl-h4, #g-sidebar .g-title, #g-aside .jl-h4, #g-aside .g-title {
  font-size: 1.3125rem;
}
/*# sourceMappingURL=custom_54.css.map */