@charset "UTF-8";
/*

External libraries

*/
/*! normalize.css v2.1.2 | MIT License | git.io/normalize */
/* ==========================================================================
   HTML5 display definitions
   ========================================================================== */
/**
 * Correct `block` display not defined in IE 8/9.
 */
article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
main,
nav,
section,
summary {
  display: block;
}

/**
 * Correct `inline-block` display not defined in IE 8/9.
 */
audio,
canvas,
video {
  display: inline-block;
}

/**
 * Prevent modern browsers from displaying `audio` without controls.
 * Remove excess height in iOS 5 devices.
 */
audio:not([controls]) {
  display: none;
  height: 0;
}

/**
 * Address `[hidden]` styling not present in IE 8/9.
 * Hide the `template` element in IE, Safari, and Firefox < 22.
 */
[hidden],
template {
  display: none;
}

/* ==========================================================================
   Base
   ========================================================================== */
/**
 * 1. Set default font family to sans-serif.
 * 2. Prevent iOS text size adjust after orientation change, without disabling
 *  user zoom.
 */
html {
  font-family: sans-serif; /* 1 */
  -ms-text-size-adjust: 100%; /* 2 */
  -webkit-text-size-adjust: 100%; /* 2 */
}

/**
 * Remove default margin.
 */
body {
  margin: 0;
}

/* ==========================================================================
   Links
   ========================================================================== */
/**
 * Remove the gray background color from active links in IE 10.
 */
a {
  background: transparent;
}

/**
 * Address `outline` inconsistency between Chrome and other browsers.
 */
a:focus {
  outline: thin dotted;
}

/**
 * Improve readability when focused and also mouse hovered in all browsers.
 */
a:active,
a:hover {
  outline: 0;
}

/* ==========================================================================
   Typography
   ========================================================================== */
/**
 * Address variable `h1` font-size and margin within `section` and `article`
 * contexts in Firefox 4+, Safari 5, and Chrome.
 */
h1 {
  font-size: 2em;
  margin: 0.67em 0;
}

/**
 * Address styling not present in IE 8/9, Safari 5, and Chrome.
 */
abbr[title] {
  border-bottom: 1px dotted;
}

/**
 * Address style set to `bolder` in Firefox 4+, Safari 5, and Chrome.
 */
b,
strong {
  font-weight: bold;
}

/**
 * Address styling not present in Safari 5 and Chrome.
 */
dfn {
  font-style: italic;
}

/**
 * Address differences between Firefox and other browsers.
 */
hr {
  -moz-box-sizing: content-box;
  box-sizing: content-box;
  height: 0;
}

/**
 * Address styling not present in IE 8/9.
 */
mark {
  background: #ff0;
  color: #000;
}

/**
 * Correct font family set oddly in Safari 5 and Chrome.
 */
code,
kbd,
pre,
samp {
  font-family: monospace, serif;
  font-size: 1em;
}

/**
 * Improve readability of pre-formatted text in all browsers.
 */
pre {
  white-space: pre-wrap;
}

/**
 * Set consistent quote types.
 */
q {
  quotes: "“" "”" "‘" "’";
}

/**
 * Address inconsistent and variable font size in all browsers.
 */
small {
  font-size: 80%;
}

/**
 * Prevent `sub` and `sup` affecting `line-height` in all browsers.
 */
sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sup {
  top: -0.5em;
}

sub {
  bottom: -0.25em;
}

/* ==========================================================================
   Embedded content
   ========================================================================== */
/**
 * Remove border when inside `a` element in IE 8/9.
 */
img {
  border: 0;
}

/**
 * Correct overflow displayed oddly in IE 9.
 */
svg:not(:root) {
  overflow: hidden;
}

/* ==========================================================================
   Figures
   ========================================================================== */
/**
 * Address margin not present in IE 8/9 and Safari 5.
 */
figure {
  margin: 0;
}

/* ==========================================================================
   Forms
   ========================================================================== */
/**
 * Define consistent border, margin, and padding.
 */
fieldset {
  border: 1px solid #c0c0c0;
  margin: 0 2px;
  padding: 0.35em 0.625em 0.75em;
}

/**
 * 1. Correct `color` not being inherited in IE 8/9.
 * 2. Remove padding so people aren't caught out if they zero out fieldsets.
 */
legend {
  border: 0; /* 1 */
  padding: 0; /* 2 */
}

/**
 * 1. Correct font family not being inherited in all browsers.
 * 2. Correct font size not being inherited in all browsers.
 * 3. Address margins set differently in Firefox 4+, Safari 5, and Chrome.
 */
button,
input,
select,
textarea {
  font-family: inherit; /* 1 */
  font-size: 100%; /* 2 */
  margin: 0; /* 3 */
}

/**
 * Address Firefox 4+ setting `line-height` on `input` using `!important` in
 * the UA stylesheet.
 */
button,
input {
  line-height: normal;
}

/**
 * Address inconsistent `text-transform` inheritance for `button` and `select`.
 * All other form control elements do not inherit `text-transform` values.
 * Correct `button` style inheritance in Chrome, Safari 5+, and IE 8+.
 * Correct `select` style inheritance in Firefox 4+ and Opera.
 */
button,
select {
  text-transform: none;
}

/**
 * 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio`
 *  and `video` controls.
 * 2. Correct inability to style clickable `input` types in iOS.
 * 3. Improve usability and consistency of cursor style between image-type
 *  `input` and others.
 */
button,
html input[type=button],
input[type=reset],
input[type=submit] {
  -webkit-appearance: button; /* 2 */
  cursor: pointer; /* 3 */
}

/**
 * Re-set default cursor for disabled elements.
 */
button[disabled],
html input[disabled] {
  cursor: default;
}

/**
 * 1. Address box sizing set to `content-box` in IE 8/9.
 * 2. Remove excess padding in IE 8/9.
 */
input[type=checkbox],
input[type=radio] {
  box-sizing: border-box; /* 1 */
  padding: 0; /* 2 */
}

/**
 * 1. Address `appearance` set to `searchfield` in Safari 5 and Chrome.
 * 2. Address `box-sizing` set to `border-box` in Safari 5 and Chrome
 *  (include `-moz` to future-proof).
 */
input[type=search] {
  -webkit-appearance: textfield; /* 1 */
  -moz-box-sizing: content-box;
  -webkit-box-sizing: content-box; /* 2 */
  box-sizing: content-box;
}

/**
 * Remove inner padding and search cancel button in Safari 5 and Chrome
 * on OS X.
 */
input[type=search]::-webkit-search-cancel-button,
input[type=search]::-webkit-search-decoration {
  -webkit-appearance: none;
}

/**
 * Remove inner padding and border in Firefox 4+.
 */
button::-moz-focus-inner,
input::-moz-focus-inner {
  border: 0;
  padding: 0;
}

/**
 * 1. Remove default vertical scrollbar in IE 8/9.
 * 2. Improve readability and alignment in all browsers.
 */
textarea {
  overflow: auto; /* 1 */
  vertical-align: top; /* 2 */
}

/* ==========================================================================
   Tables
   ========================================================================== */
/**
 * Remove most spacing between table cells.
 */
table {
  border-collapse: collapse;
  border-spacing: 0;
}

/*

Core styles

*/
/*
Tiempos Headline - Medium (500)
*/
@font-face {
  font-display: swap;
  font-family: "Tiempos Headline";
  font-style: normal;
  font-weight: 500;
  src: url("/static/fonts/TiemposHeadlineWeb-Medium.woff2") format("woff2");
}
/*
Tiempos Headline - Medium Italic (500)
*/
@font-face {
  font-display: swap;
  font-family: "Tiempos Headline";
  font-style: italic;
  font-weight: 500;
  src: url("/static/fonts/TiemposHeadlineWeb-MediumItalic.woff2") format("woff2");
}
/*
Founders Grotesk Text - Regular (400)
*/
@font-face {
  font-display: swap;
  font-family: "Founders Grotesk Text";
  font-style: normal;
  font-weight: 400;
  src: url("/static/fonts/FoundersGroteskTextWeb-Regular.woff2") format("woff2");
}
/*
Founders Grotesk Text - Italic (400)
*/
@font-face {
  font-display: swap;
  font-family: "Founders Grotesk Text";
  font-style: italic;
  font-weight: 400;
  src: url("/static/fonts/FoundersGroteskTextWeb-RegularItalic.woff2") format("woff2");
}
/*
Founders Grotesk Text - Medium (500)
*/
@font-face {
  font-display: swap;
  font-family: "Founders Grotesk Text";
  font-style: normal;
  font-weight: 500;
  src: url("/static/fonts/FoundersGroteskTextWeb-Medium.woff2") format("woff2");
}
/*
Founders Grotesk Text - Medium Italic (500)
*/
@font-face {
  font-display: swap;
  font-family: "Founders Grotesk Text";
  font-style: italic;
  font-weight: 500;
  src: url("/static/fonts/FoundersGroteskTextWeb-MediumItalic.woff2") format("woff2");
}
:root {
  --fonts-sans: "Founders Grotesk Text", Arial, Helvetica, sans-serif;
  --fonts-serif: "Tiempos Headline", Georgia, "Times New Roman", Times, serif;
}

body {
  background: #FFF;
  color: #303030;
  font-size: 1em;
  font-size: calc(14px + 2 * (100vw - 300px) / 1100);
  font-family: Arial, Helvetica, sans-serif;
  font-family: var(--fonts-sans);
  font-weight: 400;
  line-height: 1.5;
  margin: 0 auto;
  max-width: 40em;
}

@media (min-width: 0) {
  body {
    margin: 0;
    max-width: inherit;
  }
}
a {
  color: #1D3EA4;
  transition: color 0.2s;
}

a:focus,
a:hover {
  color: #B028C7;
  text-decoration: none;
}

img {
  height: auto;
  max-width: 100%;
}

p {
  margin: 0;
}

p + p {
  margin-top: 1em;
}

mark {
  background-color: #FFF478;
  color: #303030;
  padding: 0 0.3em 0.25em;
}

.a11y {
  border: 0;
  clip: rect(1px 1px 1px 1px);
  height: 1px;
  margin: -1px;
  max-width: 1px;
  min-width: 1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  width: 1px;
}

.squelch,
[hidden] {
  display: none;
}

[role=dialog][hidden] {
  display: block;
  visibility: hidden;
}

.is-icon {
  background: none;
  border: none;
  cursor: pointer;
  text-decoration: none;
  transition: transform 0.2s;
}

.is-icon:hover,
.is-icon:focus {
  transform: scale(1.2);
}

.hed,
.article-content h1,
.article-content h2,
.article-content h3,
.article-content h4,
.article-content h5,
.article-content h6 {
  font-family: Georgia, "Times New Roman", Times, serif;
  font-family: var(--fonts-serif);
}

.article-content .hed-section {
  font-family: Arial, Helvetica, sans-serif;
  font-family: var(--fonts-sans);
}

.hed em {
  color: #B028C7;
  font-style: inherit;
}

.w {
  white-space: nowrap;
}

.rule {
  background: #0D3299;
  background: rgba(13, 50, 153, 0.9);
  border: none;
  height: 8px;
  left: 0;
  position: absolute;
  width: 100%;
}

.rule:first-child {
  margin-top: -4px;
  top: 0;
}

.rule:last-child {
  bottom: 0;
  margin-bottom: -4px;
}

@media (min-width: 50em) {
  .rule {
    height: 36px;
    width: 50%;
  }
  .rule:first-child {
    margin-top: -18px;
  }
  .rule:last-child {
    margin-bottom: -18px;
  }
}
.region {
  padding: 0 1em;
}

.inner {
  position: relative;
  padding: 4em 0;
  padding: 5vw 0;
}

@supports (display: grid) {
  .region {
    display: grid;
    grid-template-columns: [edge-start] minmax(1em, 1fr) [main-start] minmax(0, 75em) [main-end] minmax(1em, 1fr) [edge-end];
    padding: 0;
  }
  .region > * {
    grid-column: edge;
  }
  @media (min-width: 40em) {
    .region > * {
      grid-column: main;
    }
    .inner {
      display: grid;
      padding: 7vw 0;
      grid-template-columns: [content-start] repeat(4, 1fr) [content-end];
      grid-column-gap: 3.125%; /* 20 / 640 */
      column-gap: 3.125%;
    }
    .inner > * {
      grid-column: content;
    }
  }
  @media (min-width: 60em) {
    .inner {
      grid-template-columns: [content-start] repeat(12, 1fr) [content-end];
      grid-column-gap: 1.6666667%; /* 20 / 1200 */
      column-gap: 1.6666667%;
      position: relative;
    }
    .inner > .rule {
      grid-column: content-start/span 6;
      width: 100%;
    }
  }
}
.hed-section {
  color: #B028C7;
  font-size: 1.125em;
  font-weight: 400;
  letter-spacing: 0.0075em;
  margin-top: 0;
  margin-bottom: 2.5em;
  text-transform: uppercase;
}

.article-content .hed-section {
  margin-top: 2.5em;
  margin-bottom: 1em;
}

.link-more {
  font-size: 0.875em; /* 14/16 */
  font-weight: 500;
  letter-spacing: 0.0058em;
  text-transform: uppercase;
}

.link-more:after {
  content: " »";
  display: inline-block;
  padding-left: 0.15em;
}

.meta {
  color: #666;
  font-size: 0.875em;
  text-transform: uppercase;
}

.meta a {
  font-weight: 500;
}

.pg-overlay,
.pg-overlay--mask {
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  top: 0;
}

.pg-overlay > * {
  opacity: 1;
  transition: opacity 0.2s;
}

.pg-overlay[hidden] > * {
  opacity: 0;
}

.pg-overlay,
.pg-overlay--main {
  z-index: 1000;
}

.pg-overlay--main {
  -webkit-backface-visibility: hidden;
  -webkit-overflow-scrolling: touch;
  backface-visibility: hidden;
  display: flex;
  flex-direction: column;
  justify-content: center;
  height: 100%;
  position: relative;
}

.pg-overlay--mask {
  background-color: rgba(0, 0, 0, 0.8);
  left: 0;
  top: 0;
  width: 100%;
  z-index: 100;
}

.pg-overlay--close {
  position: absolute;
  top: 1em;
  right: 1em;
}

.pg-overlay--contents {
  margin: 0 auto;
  max-width: 43.75em;
}

.blurb {
  padding: 2em 1em;
}

.blurb p {
  font-size: 1.125em; /* 18/16 */
  line-height: 1.333333333; /* 1.333333333 */
}

@media (min-width: 30em) {
  .blurb p {
    font-size: 1.5em;
  }
}
@media (min-width: 40em) {
  .blurb {
    padding: 1em;
  }
}
@media (min-width: 50em) {
  .blurb {
    padding: 1.5em;
  }
}
.site-nav {
  display: flex;
  flex: 1;
  font-size: 1.125em; /* 18 / 16 */
  list-style: none;
  margin: 0;
  padding: 0;
}

.nav-item {
  margin-right: 1.5em;
}

.nav-item:hover,
.nav-item:focus {
  text-decoration: underline;
}

.site-mast {
  background: #303030;
  background: rgba(0, 0, 0, 0.8);
  color: #FFF;
  left: 0;
  position: fixed;
  right: 0;
  top: 0;
  z-index: 100;
}

.site-mast .inner {
  position: static;
}

.site-mast a,
.site-footer a {
  color: #FFF;
  text-decoration: none;
}

.site-mast nav {
  display: flex;
  flex: 1;
}

@media (min-width: 60em) {
  .site-mast nav {
    flex: 0 1 50%;
  }
}
.site-mast a {
  text-decoration: none;
}

.site-mast .inner {
  display: flex;
  grid-column: main;
  justify-content: space-between;
  padding: 0;
}

.site-logo img {
  display: block;
  max-height: 28px;
}

@media (min-width: 33.75em) {
  .site-logo img {
    max-height: 50px;
  }
}
.site-mast .site-logo {
  margin: 0.45em 0;
  position: relative;
  z-index: 1000;
}

.toggle--site-nav {
  display: none;
}

@media (max-width: 44em) {
  .collapsible-enhanced .toggle--site-nav {
    display: block;
  }
}
@media (max-width: 43.99em) {
  .site-menu.collapsible-enhanced {
    flex: 0 1 3em;
  }
  .collapsible-enhanced .site-menu--header {
    margin: auto;
  }
  .collapsible-enhanced .toggle--site-nav {
    background-image: url("/static/img/menu.svg");
    background-repeat: no-repeat;
    background-size: auto 100%;
    height: 20px;
    text-indent: -1000em;
    width: 20px;
  }
  .collapsible-expanded .toggle--site-nav {
    background-image: url("/static/img/close.svg");
    position: fixed;
    bottom: 1em;
    z-index: 1000;
  }
  .collapsible-enhanced .site-nav {
    margin: 0;
    padding: 0;
    font-size: 2.25em;
  }
  .collapsible-expanded .site-nav {
    display: flex;
    flex-direction: column;
    justify-content: center;
  }
  .collapsible-enhanced .nav-item {
    margin-right: 0;
  }
  .collapsible-enhanced .nav-link {
    display: block;
    padding: 0.5em;
    transition: background-color 0.2s;
  }
  .collapsible-enhanced .nav-link:focus,
  .collapsible-enhanced .nav-link:hover {
    background-color: #A652B4;
  }
  .collapsible-enhanced [aria-describedby] .nav-link {
    background: #571962;
  }
  .site-nav.collapsible-content {
    background-color: #B028C7;
    background-image: radial-gradient(circle at 0 0, rgba(255, 255, 255, 0.4) 0%, rgba(0, 0, 0, 0.4) 64%);
    bottom: 0;
    left: 0;
    overflow-x: hidden;
    overflow-y: auto;
    position: fixed;
    right: 0;
    top: 0;
    z-index: 100;
  }
  .collapsible-enhanced .toggle--site-search {
    display: none;
  }
  .collapsible-enhanced .item--site-search {
    padding: 0.5em;
    flex: none;
  }
  .collapsible-enhanced .search-form--mast {
    border-bottom: 2px solid #FFF;
    display: flex;
  }
}
@media (min-width: 44em) {
  .collapsible-enhanced .site-menu--header {
    display: none;
  }
  .collapsible-enhanced .site-nav.collapsible-content {
    display: flex;
  }
  .site-mast .site-nav {
    justify-content: flex-end;
  }
  .site-mast .nav-item {
    display: flex;
    flex: 0 1 23%;
  }
  .site-mast .nav-link {
    display: flex;
    flex: 1;
    align-items: center;
    justify-content: center;
    position: relative;
    text-align: center;
    margin: 0;
    overflow: hidden;
  }
  .site-mast .nav-link:after {
    content: "";
    background-color: #571962;
    background-image: radial-gradient(circle at 0 0, rgba(255, 255, 255, 0.4) 0, rgba(0, 0, 0, 0.4) 64%);
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
    transform: translateX(100%) translateY(100%) scale(2) rotate(-45deg);
    transition: transform 0.3s ease-in-out;
    z-index: -1;
  }
  .site-mast .is-icon:after {
    content: none;
  }
  .nav-item:hover,
  .nav-item:focus {
    text-decoration: none;
  }
  .site-mast .nav-link:hover:after,
  .site-mast .nav-link:focus:after {
    transform: translateX(0) translateY(0) scale(3) rotate(-45deg);
  }
  .site-mast .nav-link[aria-current] {
    background-color: #B028C7;
    background-image: radial-gradient(circle at 0 0, rgba(255, 255, 255, 0.4) 0, rgba(0, 0, 0, 0.4) 64%);
    font-weight: 500;
    margin-bottom: -0.3em;
    padding-bottom: 0.3em;
  }
  .site-mast .nav-link[aria-current]:after {
    content: none;
  }
  .site-mast .nav-link[aria-current]:hover,
  .site-mast .nav-link[aria-current]:focus {
    transform: scale(1);
  }
}
.site-search-text {
  -webkit-appearance: none;
  background: none;
  border: 0;
  color: #FFF;
}

.site-search-text::placeholder {
  color: #FFF;
}

.site-search {
  border-bottom: 2px solid #FFF;
  display: flex;
}

.search-label-text {
  flex: 1 1 auto;
}

.search-label-btn {
  display: flex;
  flex: 0 0 1em;
  text-align: right;
  margin-left: 0.25em;
}

.site-search-text {
  width: 100%;
}

.enhanced .search-form--mast .icon-search {
  align-self: center;
  width: 100%;
}

.search-form--overlay .icon-search {
  margin: auto;
}

.search-form--overlay .site-search-text {
  font-size: 4.0625em; /* 65 / 16 */
}

.search-form--overlay .icon-search {
  width: 2.625em; /* 42/16 */
}

.toggle--site-search {
  display: none;
}

.toggle--site-search:after {
  content: none;
}

@media (min-width: 44em) {
  .toggle--site-search {
    display: none;
  }
  .enhanced .toggle--site-search {
    display: block;
  }
  .enhanced .search-form--mast {
    display: none;
  }
  .site-mast .item--site-search {
    flex-grow: 0;
    flex-basis: 4em;
  }
  .search-label-btn {
    flex: 0 0 2em;
  }
}
.home-lead picture {
  display: contents;
}

.home-lead-hero {
  display: block;
  grid-column: edge;
  grid-row: 1;
  height: auto;
  width: 100%;
}

@supports (object-fit: cover) {
  .home-lead-hero {
    max-height: 97vh;
    object-fit: cover;
  }
}
@media (max-width: 39.99em) {
  .home-lead .inner {
    display: block;
    padding: 0;
  }
  .home-lead .rule {
    display: none;
  }
}
@media (min-width: 40em) {
  .home-lead {
    position: relative;
  }
  .home-lead .inner {
    bottom: 0;
    display: flex;
    margin-left: auto;
    max-width: 40em;
    position: absolute;
    right: 0;
    top: 0;
    width: 60%;
  }
  .home-lead-blurb {
    margin: 4em 0;
    align-self: center;
  }
  @supports (display: grid) {
    .home-lead .inner {
      display: grid;
      grid-row: 1;
      grid-template-rows: 4em 1fr [blurb-start] min-content [blurb-end] 1fr;
      max-width: inherit;
      padding: 0;
      position: static;
      width: inherit;
    }
    .home-lead-hero {
      object-position: 0 50%;
    }
    .home-lead-blurb {
      grid-column: 2/span 3;
      margin: 0;
      position: static;
      width: inherit;
    }
  }
}
@media (min-width: 60em) {
  @supports (display: grid) {
    .home-lead .inner {
      grid-row: 1;
      grid-template-rows: 4.75em minmax(2em, 1fr) [blurb-start] min-content [blurb-end] minmax(2em, 1fr);
      padding: 0;
    }
    .home-lead .rule {
      grid-row: -1;
      position: static;
    }
  }
  @supports (object-fit: cover) {
    .home-lead-hero {
      height: 100%;
      object-position: 50% 50%;
    }
  }
}
.home-lead-blurb {
  background-color: #0D3299;
  background-color: rgba(13, 50, 153, 0.9);
  background-image: radial-gradient(circle at 0 0, rgba(255, 255, 255, 0.4) 0, rgba(0, 0, 0, 0.4) 64%);
  grid-row: blurb;
  color: #FFF;
}

.home-lead-blurb a {
  color: #FFF;
}

.hed-home-lead {
  font-size: 1.875em; /* 30/16 */
  line-height: 1.1;
  margin: 0 0 0.45em;
}

@media (min-width: 30em) {
  .hed-home-lead {
    font-size: 2.4em;
  }
}
@media (min-width: 50em) {
  .home-lead-blurb {
    grid-column: 3/span 2;
  }
}
@media (min-width: 60em) {
  .home-lead-blurb {
    grid-column: 7/-1;
    padding: 2em;
  }
  .hed-home-lead {
    font-size: 4em;
    line-height: 0.90625; /* 58/64 */
  }
}
.home-services {
  background: #F0F8FB url("/static/img/dots.svg");
}

.home-services .inner {
  grid-column: main;
}

.home-services-blurb {
  padding: 0;
  margin-bottom: 2em;
}

.hed-home-services {
  font-size: 1.875em; /* 30/16 */
  line-height: 1.1;
  margin: 0 0 0.45em;
}

@media (min-width: 30em) {
  .hed-home-services {
    font-size: 2.4em;
  }
}
@media (min-width: 60em) {
  .hed-home-services {
    font-size: 3.375em; /* 54/16 */
    margin: 0 0 0.5em;
  }
}
.home-services-figure {
  position: relative;
}

.home-services-image {
  display: block;
}

.home-services-caption {
  background-color: #303030;
  background-color: rgba(0, 0, 0, 0.9);
  background-image: radial-gradient(circle at 0 0, rgba(255, 255, 255, 0.4) 0%, rgba(0, 0, 0, 0.4) 64%);
  bottom: 0;
  color: #FFF;
  max-width: 24em;
  padding: 1.5em;
  position: absolute;
  width: 80%;
  right: 0;
}

.home-services-caption:before {
  content: none;
}

.home-services-caption a {
  color: inherit;
}

@media (min-width: 30em) {
  .home-services-figure {
    display: flex;
    justify-content: space-between;
  }
  .home-services-figure > * {
    flex: 0 0 44%;
  }
  .home-services-caption {
    background: none;
    color: inherit;
    font-size: 0.875em;
    line-height: 1.3333333333; /* 16/12 */
    margin-top: 4em;
    max-width: inherit;
    padding: 0;
    position: relative;
  }
  @supports (position: sticky) {
    .home-services-caption {
      align-self: flex-start;
      position: sticky;
      top: 10em;
    }
  }
  .home-services-caption:before {
    background-color: rgba(13, 50, 153, 0.9);
    background-image: radial-gradient(circle at 0 0, rgba(255, 255, 255, 0.4) 0, rgba(0, 0, 0, 0.4) 64%);
    content: "";
    height: 9px;
    position: absolute;
    top: -2em;
    width: 44.4444444444%; /* 80 / 180 */
  }
}
@media (min-width: 50em) {
  .home-services-figure {
    grid-column: 3/span 2;
  }
  .home-services-blurb {
    align-self: center;
    margin-bottom: 0;
    grid-column-end: span 2;
  }
  .home-services-caption {
    align-self: center;
    position: relative;
    top: 0;
  }
  @supports (object-fit: contain) {
    .home-services-img {
      object-fit: contain;
      height: 100%;
    }
    .home-services-caption:before {
      top: -4em;
    }
  }
}
@media (min-width: 60em) {
  .home-services .inner {
    display: flex;
    justify-contents: space-between;
  }
  .home-services-blurb {
    flex: 0 0 40%;
  }
  .home-services-figure {
    display: flex;
    flex: 0 0 50%;
    justify-contents: space-between;
  }
  .home-services-figure picture {
    flex: 0 0 70%;
  }
  .home-services-img {
    display: block;
    margin-left: auto;
    max-width: 300px;
    width: 100%;
  }
  .home-services-caption {
    flex: 0 0 25%;
  }
  .home-services-blurb {
    margin-bottom: 0;
  }
  .home-services-caption {
    align-self: end;
    font-size: 0.75em; /* 12 / 16 */
  }
  @supports (display: grid) {
    .home-services .inner {
      display: grid;
      grid-template-rows: 5vw repeat(4, 1fr) 5vw;
      padding: 0;
    }
    .home-services-blurb {
      grid-column-end: span 5;
      grid-row: 2/span 4;
    }
    .home-services-figure {
      display: contents;
    }
    .home-services-figure picture {
      grid-column: 8/span 3;
      grid-row: 2/span 4;
    }
    .home-services-img {
      margin-left: 0;
      max-width: inherit;
    }
    .home-services-caption {
      grid-column: 11/span 2;
      grid-row: 4;
    }
  }
}
.team-list {
  list-style: none;
  margin: 0;
  padding: 0;
}

.bio {
  clear: left;
  position: relative;
  margin-bottom: 2em;
}

.bio-name,
.bio-title,
.bio-desc {
  margin: 0;
}

.bio-name,
.bio-title {
  margin-bottom: 0.25em;
}

.bio-name {
  font-family: Georgia, "Times New Roman", Times, serif;
  font-family: var(--fonts-serif);
  font-size: 1.75em; /* 28/16 */
  hyphens: auto;
  line-height: 1.1;
  padding-top: 1em;
}

.team-list--compact .bio-name {
  font-size: 1.5em; /* 24/16 */
  padding-top: 0;
}

.bio-title {
  color: #303030;
  font-size: 0.875em; /* 14/16 */
  font-weight: 400;
  letter-spacing: 0.0058em;
  text-transform: uppercase;
}

.bio img {
  display: block;
  float: left;
  margin-right: 1em;
}

.team-list--compact img {
  margin-bottom: 2em;
}

.bio .link-more {
  background-position: 0 1.5em;
  grid-row-end: 100;
  line-height: 1;
  padding: 0.5em 0;
}

.bio .link-more:before {
  content: "";
  height: 100%;
  left: 0;
  position: absolute;
  top: 0;
  width: 100%;
}

.bio-desc {
  clear: left;
  font-size: 1.25em; /* 20/16 */
  line-height: 1.4; /* 28/20 */
}

.home-team .inner {
  grid-column: main;
}

@media (min-width: 30em) {
  .team-list {
    display: flex;
    justify-content: space-between;
  }
  .bio {
    flex: 0 0 44%;
  }
  .bio-name {
    padding-top: 0;
    margin-top: 1em;
  }
  .bio-desc {
    clear: none;
  }
  .team-list--compact .bio {
    flex: 0 0 30%;
  }
}
@supports (display: contents) {
  .team-list {
    display: contents;
  }
  @media (min-width: 30em) {
    .bio {
      display: grid;
      grid-column-end: span 2;
      grid-column-gap: 3.4364261168%; /* 20 / 582 */
      grid-template-columns: 1fr 2fr;
      margin-bottom: 1em;
    }
    .bio img {
      margin-bottom: 0;
      float: none;
      margin-right: 0;
    }
    .team-list--compact .bio {
      grid-template-columns: 100px 1fr;
      grid-template-rows: 1.25fr 0.75fr minmax(1em, min-content);
    }
    .team-list--compact .bio-name {
      align-self: end;
      margin-top: 0;
    }
    .bio-photo {
      grid-column: 1;
      grid-row: 1/span 100;
    }
  }
  @media (min-width: 50em) {
    .team-list--compact .bio {
      grid-template-columns: 1fr 2fr;
    }
  }
  @media (min-width: 60em) {
    .bio {
      grid-column-end: span 6;
      margin-bottom: 0;
    }
    .bio-photo img {
      height: 100%;
      object-fit: cover;
      object-position: 50% 0;
      width: 100%;
    }
    .team-list--compact .bio {
      grid-column-end: span 4;
      grid-column-gap: 5.2631578947%; /* 20 / 380 */
      grid-template-columns: 1fr 1fr;
    }
  }
}
.l-60-40 .inner {
  grid-column: main;
}

.article-list,
.article-content .article-list {
  list-style: none;
  padding: 0;
}

.article-tease {
  margin-bottom: 3em;
  max-width: 44em;
}

.hed-article-tease {
  line-height: 1.3;
  margin-bottom: 0.5em;
  margin-top: 0;
}

.article-summary {
  font-size: 1.25em; /* 20/16 */
  line-height: 1.4; /* 28/20 */
}

.article-content .article-summary {
  font-size: 1.1em;
}

.article-list--featured .hed-article-tease {
  font-size: 1.5em; /* 24/16 */
  margin-bottom: 0.5em;
  margin-top: 0.55em; /* Optical tweak to get baseline ~alignment with the sidebar */
}

.article-list--featured .meta {
  margin-top: 1.5em;
  text-align: right;
}

.article-list--featured .meta:before {
  content: "— ";
}

.group-additional {
  display: flex;
  flex-direction: column;
}

.group-additional .link-more {
  align-self: end;
  margin-top: auto;
}

@media (min-width: 60em) {
  .article-tease {
    max-width: inherit;
  }
  .l-60-40 .inner,
  .l-30-70 .inner {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
  }
  .l-60-40 .region .page-header {
    flex: 1 0 100%;
  }
  .l-60-40 .group-additional {
    position: relative;
  }
  .l-60-40 .group-additional:after {
    background: #E1E1E1;
    bottom: 0;
    content: "";
    left: -5%; /* 58/380 */
    position: absolute;
    top: 0;
    width: 1px;
  }
  .article-list--featured {
    flex: 0 0 55%;
    grid-column-end: span 7;
  }
  .group-additional {
    flex: 0 0 40%;
    grid-column: 9/span 4;
  }
  @supports (display: grid) {
    .l-60-40 .inner {
      display: grid;
    }
    .l-60-40 .group-additional:after {
      left: -15.2631578947%; /* 58/380 */
    }
  }
}
.page-header {
  background: #F0F8FB url("/static/img/dots.svg");
}

.page-header .inner {
  grid-column: main;
}

@media (max-width: 60em) {
  .page-header .inner {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    padding: 5em 0 0;
  }
  .page-header .rule {
    margin-bottom: -5px;
    height: 10px;
  }
}
.page-header .rule {
  grid-column: 1/span 2;
  width: 50%;
}

.article-pubdate,
.article-share {
  font-size: 0.875em; /* 14/16 */
  line-height: 1.2142857143; /* 17/14 */
  text-transform: uppercase;
  grid-row: 1;
  margin-bottom: 2em;
}

.article-pubdate {
  grid-column: 1/span 2;
}

.article-share {
  padding-bottom: 2em;
}

@supports (display: grid) {
  .article-share {
    grid-column: 3/span 2;
    padding-bottom: 0;
    text-align: right;
  }
}
.label-share {
  position: absolute;
  left: -1000em;
}

.article-share .is-icon {
  margin-left: 0.5em;
  vertical-align: -0.2em;
}

@media (min-width: 30em) {
  .label-share {
    position: static;
  }
}
.hed-title-page-main {
  align-self: end;
  color: #152961;
  font-size: 1.75em;
  grid-column: 1/span 3;
  line-height: 1.125;
  margin: 0 0 0.5em;
}

@media (min-width: 30em) {
  .hed-title-page-main {
    font-size: 2.5em;
  }
}
.article-meta {
  grid-column: 1/-1;
  margin: 0.25em 0 1.5em;
}

.article-meta a {
  font-weight: 500;
  text-transform: uppercase;
}

.article-header .photo-bio-lead {
  float: right;
  width: 15%;
  margin-top: -1.5em;
  margin-bottom: -2em;
}

.profile-header .photo-bio-lead {
  grid-column: 4;
}

@media (min-width: 30em) {
  .article-header .photo-bio-lead {
    margin-bottom: -5em;
    width: 25%;
  }
  .hed-title-page-main {
    margin-right: 30%;
  }
  @supports (display: grid) {
    .hed-title-page-main {
      margin-right: 0;
    }
  }
}
@media (min-width: 40em) {
  .article-header .photo-bio-lead {
    margin-bottom: -10em;
    width: 22.375%;
  }
}
@media (min-width: 60em) {
  .page-header .inner {
    padding-bottom: 1em;
    padding-top: 10em;
    padding-left: 25.4237288136%; /* 300 / 1180 */
    padding-right: 16.9491525424%; /* 200 / 1180 */
  }
  .article-header .rule {
    margin-left: 25.4237288136%; /* 300 / 1180 */
    margin-right: 16.9491525424%; /* 200 / 1180 */
  }
  .hed-title-page-main {
    font-size: 3.375em; /* 54 / 16 */
    line-height: 1.0740740741; /* 58 / 54 */
  }
  .article-header .photo-bio-lead {
    float: left;
    margin-left: -25.4237288136%; /* 300 / 1180 */
  }
  .article-share {
    padding-bottom: 0;
  }
  @supports (display: grid) {
    .page-header .inner {
      padding: 0;
      grid-template-rows: calc(2em + 12vw) [title-start] minmax(10em, min-content) [title-end byline-start] minmax(1em, min-content) [byline-end] 2em;
    }
    .page-header .rule {
      grid-column: 4/span 4;
      margin-left: 0;
      margin-right: 0;
      width: 100%;
    }
    .hed-title-page-main {
      align-self: end;
      grid-column: 4/span 6;
      grid-row: title;
    }
    .article-share {
      grid-column: 10/span 2;
      grid-row: byline;
    }
    .article-meta {
      grid-column: 4/span 6;
      grid-row: byline;
      margin: 0;
    }
    .article-pubdate {
      grid-column: 1/span 3;
      grid-row: title;
    }
    .article-header .photo-bio-lead {
      margin-bottom: -48.275862069%;
      margin-left: -51.724137931%; /* 300/580 */
      margin-top: -3em;
      width: 48.275862069%; /* 280/580 */
    }
    .profile-header .photo-bio-lead {
      grid-column: 2/span 2;
      grid-row: title;
    }
  }
}
.article-content {
  display: block; /* Disable the grid; we’re going with margins+floats here */
  font-size: 1.125em; /* 18 / 16 */
  line-height: 1.5555555556; /* 28 / 18 */
}

.article-content > * {
  margin-left: 1rem;
  margin-right: 1rem;
}

@media (min-width: 30em) {
  .article-content > * {
    margin-left: 1rem;
    margin-right: 30%;
  }
}
@media (min-width: 40em) {
  .article-content > * {
    margin-left: 0;
  }
}
@media (min-width: 60em) {
  .article-content > * {
    margin-left: 25.4237288136%; /* 300 / 1180 */
    margin-right: 16.9491525424%; /* 200 / 1180 */
  }
}
.article-content p,
.article-content figure {
  margin-bottom: 1.3em;
}

.article-content img {
  display: block;
  width: 100%;
}

.article-content .quote {
  padding: 0.5em;
}

.article-content .quote > p {
  font-style: oblique;
}

.article-content .quote .cite {
  text-align: right;
}

.article-content h3,
.article-content h4,
.article-content h5,
.article-content h6 {
  margin-bottom: 0.5em;
  line-height: 1.115;
}

.article-content h3 {
  font-size: 1.4444444444em; /* 26 / 18 */
}

.article-content h4 {
  font-size: 1.3333333333em; /* 24 / 18 */
}

.article-content h5 {
  font-size: 1.2222222222em; /* 22 / 18 */
}

.article-content h6 {
  font-size: 1.1111111111em; /* 20 / 18 */
}

.article-content ul,
.article-content ol {
  margin-bottom: 1.5em;
  margin-top: 1.5em;
}

.article-content ul {
  padding-left: 0;
}

.article-content ol {
  padding-left: 1.5em;
}

.article-content li ol,
.article-content li ul {
  padding-left: 0;
  margin: 0.5em 0 0.5em 1em;
}

.article-content .results-list {
  padding-left: 0;
}

.article-content .result-item {
  position: relative;
  list-style: none;
  margin-left: 0;
  padding-left: 2.25em;
}

.article-content .result-item:before {
  background-color: #7588C5;
  border-radius: 50%;
  color: #FFF;
  height: 1.5em;
  left: 0;
  line-height: 1.35;
  position: absolute;
  text-align: center;
  top: 0;
  width: 1.5em;
}

@media (min-width: 60em) {
  .article-content ol,
  .article-content ul {
    padding-left: 0;
  }
  .article-content li ol,
  .article-content li ul {
    padding-left: 1.5em;
    margin: 1em 0;
  }
  .article-content .result-item {
    padding-left: 0;
  }
  .article-content .result-item:before {
    left: -2.5em;
  }
}
.nav-pages {
  text-align: center;
}

@media (min-width: 30em) {
  .nav-pages {
    margin-right: 0;
    text-align: left;
  }
}
.nav-pages a,
.nav-pages ol,
.nav-pages li {
  display: inline-block;
}

.nav-pages ol,
.nav-pages li {
  margin: 0;
  padding: 0;
}

.nav-pages a,
.nav-pages ol {
  color: #AAA;
  font-weight: bold;
}

.nav-pages a {
  padding: 0.4em;
  text-decoration: none;
}

.nav-pages a:hover,
.nav-pages a:focus {
  text-decoration: underline;
}

.nav-pages [aria-current] {
  color: #000;
  cursor: default;
}

.nav-pages ol {
  margin: 0 1em;
}

.nav-pages li {
  margin: 0 0.4em;
}

.nav-page {
  background-color: #0D3299;
  background-color: rgba(13, 50, 153, 0.9);
  background-position: 50% 50%;
  background-repeat: no-repeat;
  height: 2em;
  text-indent: -1000em;
  transition: background-color 0.2s, transform 0.2s;
  vertical-align: bottom;
  width: 2em;
}

a.nav-page {
  padding: 0;
}

.nav-page:hover,
.nav-page:focus {
  background-color: #0D3299;
  background-color: rgb(13, 50, 153);
  transform: scale(1.2);
}

.nav-previous {
  background-image: url("/static/img/previous.svg");
  transform-origin: 100% 50%;
}

.nav-next {
  background-image: url("/static/img/next.svg");
  transform-origin: 0 50%;
}

.article-content figure {
  margin-left: 0;
  margin-right: 0;
}

.article-content figure img {
  display: block;
  margin-bottom: 1em;
  width: 100%;
}

.article-content figcaption {
  font-size: 0.72222222em; /* 13 / 18 */
  line-height: 1.2307692308; /* 16 / 13 */
  margin-left: 1rem;
  margin-right: 1rem;
}

@media (min-width: 40em) {
  .article-content figure {
    float: right;
    margin-bottom: 2em;
    margin-left: 1.6949152542%; /* 20/1180 */
    width: 40%;
  }
  .article-content figcaption {
    margin-left: 0;
    margin-right: 0;
  }
  .article-content > figure:not(.full) {
    margin-right: 0;
  }
  .article-content figure.full {
    float: none;
    margin-right: 0;
    overflow: auto;
    width: inherit;
  }
  .full img {
    display: block;
    margin-bottom: 1em;
    width: 100%;
  }
  .full figcaption {
    float: right;
    width: 48%;
  }
}
@media (min-width: 50em) {
  .article-content figure {
    width: 32.2033898305%; /* 380 / 1180 */
  }
  .full {
    display: flex;
    flex-direction: row-reverse;
    justify-content: space-between;
  }
  .article-content figure.full {
    margin-right: 0;
  }
  .article-content .full figcaption {
    width: 23.7288135593%; /* 280/1180 */
  }
  .article-content .full img {
    width: 74.5762711864%; /* 880/1180 */
  }
}
@media (min-width: 60em) {
  .article-content figure.full {
    margin-left: 0;
  }
  .article-content figcaption {
    float: right;
    width: 48%;
  }
}
.text {
  border: 1px solid #A0A0A0;
  box-sizing: border-box;
  display: block;
  padding: 0.5em;
  width: 100%;
}

.text:focus {
  border-color: #333;
}

fieldset {
  border: none;
  padding: 0;
}

.field label {
  display: block;
  margin-bottom: 0.5em;
}

.field label + strong {
  margin-bottom: 0.5em;
  margin-top: -0.25em;
}

.field.has-error label,
.field.has-error strong {
  color: #AB1B1B;
}

.field strong {
  display: block;
}

.field.has-error .text {
  outline: 2px solid #AB1B1B;
  border: none;
}

.msg {
  background: #EEE;
  border: 1px solid #303030;
  margin-bottom: 2em;
  margin-top: 2em;
  padding: 1em;
}

.msg > :last-child {
  margin-bottom: 0;
}

.msg-error {
  background: #FCC;
  color: #611;
  border-color: #FAA;
}

.list-options dd {
  margin-left: 0;
}

.list-options li {
  list-style: none;
  margin-left: 0;
  padding-left: 0;
}

.list-options [type=checkbox] {
  margin-right: 0.5em;
}

.btn {
  background-color: #7588C5;
  border: none;
  color: #FFF;
  padding: 0.35em 0.75em 0.5em;
  transition: background-color 0.2s;
}

.btn:hover,
.btn:focus {
  background-color: #0D3299;
  background-color: rgb(13, 50, 153);
}

.to-table {
  display: block;
  overflow-x: scroll;
}

table td, table th {
  margin: -3px 0 0 -3px;
  color: white;
  box-sizing: border-box;
  padding: 0.8em 1.2em;
  border: solid 3px #5a6673;
  background: rgb(44.5748031496, 51, 57.4251968504);
}

table th {
  background-color: slategrey;
  color: white;
}

.site-footer {
  background-color: #666;
  background-color: rgba(43, 43, 43, 0.9);
  background-image: radial-gradient(circle at 10% 57%, rgba(255, 255, 255, 0.25) 0%, rgba(0, 0, 0, 0.25) 50%), url("/static/img/dots.svg"), radial-gradient(circle at 100% 22%, rgba(229, 254, 255, 0.4) 0%, rgba(0, 0, 0, 0.4) 74%);
  color: #FFF;
}

.site-footer .inner {
  display: block;
  grid-column: main;
  grid-template-rows: 5vw auto 5vw;
}

.site-footer .nav-link {
  color: #EEE;
}

.site-footer .nav-link:hover,
.site-footer .nav-link:focus,
.site-footer [aria-current] {
  color: #FFF;
}

.site-footer [aria-current] {
  font-weight: 500;
}

@supports (display: grid) {
  @media (min-width: 60em) {
    .site-footer .inner {
      padding: 0;
    }
  }
}
.site-footer .site-logo {
  display: inline-block;
  margin-bottom: 1em;
}

.nav-footer,
.info-footer {
  grid-row: 2;
}

.site-footer .rule,
.nav-footer {
  grid-column: content-start/span 6;
}

.info-footer {
  border-top: 1px solid #FFF;
  margin-top: 4em;
  padding-top: 2em;
}

@media (min-width: 24em) {
  .site-footer .inner {
    display: flex;
    justify-content: space-between;
  }
  @supports (display: grid) {
    .site-footer .inner {
      display: grid;
    }
  }
  .nav-footer {
    flex: 1;
  }
  .info-footer {
    flex: 0 0 25%;
    grid-column: 3/content-end;
  }
}
@media (min-width: 60em) {
  .info-footer {
    flex: 0 0 30%;
    grid-column: 10/content-end;
  }
}
/*

“Theme” overrides (primarily/only used on RABET-V for now)

*/
:root {
  --color-main: #1B8348;
  --color-accent: #B028C7;
  --color-border: #979797;
  --gap-flow: 1em;
  --gap-flow-more: 2em;
}

/*

Base rules

*/
.hed {
  font-weight: 500;
}

.flow > *,
figcaption > * {
  margin: 0;
}

.flow > * + *,
figcaption > * + * {
  margin-top: var(--gap-flow);
}

.flow-more > * + * {
  margin-top: var(--gap-flow-more);
}

.site-logo img {
  max-height: 22px;
}

.group-main {
  font-size: 1.25rem;
  line-height: 1.5;
}

@media (min-width: 60em) {
  .group-main {
    font-size: 1.5rem;
  }
}
.group-plain.group-plain:after {
  content: initial;
}

/*

Masthead

*/
.site-mast {
  padding: 22px 0;
}

.site-mast .inner {
  align-items: center;
  gap: var(--gap-flow);
  flex-wrap: wrap;
}

.site-mast .site-logo {
  margin: 0;
}

.site-mast .btn {
  background-color: var(--color-accent);
}

/*

Section: Homepage lead-in

*/
.home-lead {
  background: #1B8348;
  background: radial-gradient(circle at 0 0, rgba(255, 255, 255, 0.4) 0, rgba(255, 255, 255, 0.8) 64%) no-repeat, url("/static/img/swooper.svg") no-repeat 20% 20%/cover, var(--color-main);
}

.home-lead .inner {
  width: 100%;
}

@media (min-width: 60em) {
  .home-lead .inner {
    grid-template-rows: 5em minmax(2em, 1fr) [blurb-start] min-content [blurb-end] minmax(4em, 1fr);
  }
}
.home-lead-blurb {
  margin: 6em 0 4em;
  grid-column: 1/-1;
  max-width: 54.625rem;
  width: initial;
}

@media (min-width: 40em) {
  .home-lead-blurb {
    margin: 2em 0;
  }
}
@media (min-width: 60em) {
  .home-lead-blurb {
    margin: 0;
  }
}
.home-lead-blurb p {
  max-width: 20em;
}

/*

Section: Homepage introductory copy

*/
@media (min-width: 60em) {
  .home-services-blurb {
    grid-column-end: span 8;
  }
  .hed-home-services {
    max-width: 10em;
  }
  .home-services-blurb > :not([class]) {
    max-width: 30em;
  }
}
.hed-section {
  color: var(--color-main);
  font-size: 1.35em;
  font-weight: 500;
}

.promo,
.promo-turnout {
  background: #333;
  background: radial-gradient(circle at 0 0, rgba(255, 255, 255, 0.4) 0, rgba(0, 0, 0, 0.4) 64%) var(--promo-bg);
  box-shadow: 0.5rem 0.5rem 0 rgba(139, 144, 77, 0.3);
  color: #FFF;
  padding: var(--gap-flow-more);
  margin: 0 auto;
  max-width: 20em;
}

.hed-promo {
  font-weight: 500;
  text-transform: uppercase;
}

.promo a {
  color: inherit;
}

.promo {
  --promo-bg: var(--color-main);
}

.promo-turnout {
  --promo-bg: #0D3299;
}

.promo .btn,
.promo-turnout .btn {
  background-color: #FFF;
  color: var(--promo-bg);
  text-decoration: none;
}

.promo p:has(.btn:only-child),
.promo-turnout :has(.btn:only-child) {
  margin-top: var(--gap-flow-more);
  text-align: center;
}

.splash-region {
  background: transparent radial-gradient(circle at center, #EAEAEA 2px, transparent 3px) 0 0/24px 24px;
  margin: var(--gap-flow-more) 0;
}

@media (min-width: 60em) {
  .splash-region {
    margin: 0 var(--gap-flow);
  }
}
/*

Section: Who administers RABET-V?

*/
.partner-logos {
  --gap-flow: 1.5em;
}

.list-logos {
  display: flex;
  gap: var(--gap-flow);
  flex-direction: column;
  padding-left: 0;
  margin: var(--gap-flow-more) 0;
}

@media (min-width: 60em) {
  .list-logos {
    margin: 0;
  }
}
.list-logos li {
  list-style: none;
  margin-left: 0;
  padding-left: 0;
}

.list-logos > * + * {
  margin-top: var(--gap-flow);
  border-top: 1px solid var(--color-border);
  padding-top: var(--gap-flow);
}

.partner-logos picture {
  display: block;
  margin: 0 auto;
  max-width: 260px;
}

/*

Section: How it works

*/
.process-list {
  --gap-flow: 0.5em;
  --content-gutter: 3rem; /* Used for the left-hand gutter in the expanded steps */
  counter-reset: process-list;
  margin: 0 auto;
  padding-left: 0;
}

.process-item {
  list-style: none;
  padding-top: var(--gap-flow);
}

.process-item + .process-item {
  border-top: 1px solid var(--color-border);
  margin-top: var(--gap-flow);
}

.process-step {
  padding-left: var(--content-gutter);
  line-height: 1.3;
}

.process-step summary {
  align-items: center;
  display: flex;
  font-family: var(--fonts-serif);
  font-size: 1.45rem;
  cursor: pointer;
  gap: var(--gap-flow);
}

@media (min-width: 50em) {
  .process-step summary {
    font-size: 2rem;
  }
}
.process-step summary::marker,
.process-step summary::-webkit-details-marker {
  display: none;
}

.process-step > :not(summary) {
  max-width: 30em;
}

.process-step > :not(summary) + :not(summary) {
  margin-top: var(--gap-flow);
}

.process-step summary:before,
.process-step summary:after {
  align-self: center;
}

.process-step summary:before {
  background-color: #303030;
  border-radius: 50%;
  color: #FFF;
  content: counter(process-list);
  counter-increment: process-list;
  flex: 0 0 1em;
  font-family: var(--fonts-sans);
  font-size: 1.25rem;
  line-height: 1;
  margin-left: calc(-1 * var(--content-gutter));
  padding: 0.4em 0.45em 0.5em;
  text-align: center;
  width: 1em;
}

.status-repeat .process-step summary:before {
  background-image: url("/static/img/icon-cycle.svg");
  background-repeat: no-repeat;
  background-position: 50% 50%;
  content: "";
  display: block;
  padding: 0.35em 0.5em;
  width: 20px;
  height: 26px;
}

.process-step summary:after {
  content: "";
  flex: 0 0 2rem;
  margin-left: auto;
  background: url("/static/img/icon-open.svg") no-repeat;
  height: 2rem;
  width: 2rem;
}

.process-step:open summary {
  color: var(--color-accent);
}

.process-step:open summary:before {
  background-color: var(--color-accent);
}

.process-step:open summary:after {
  background-image: url("/static/img/icon-close.svg");
}

/*

Section: Key art (panel photo)

*/
.key-photo picture,
.key-photo img {
  display: block;
  width: 100%;
}

.key-photo picture {
  grid-column: image;
}

.key-photo figcaption {
  font-size: 0.85rem;
  padding: 1em;
}

@media (min-width: 60em) {
  .key-photo {
    align-items: end;
    display: grid;
    grid-template-columns: [image-start] 7fr [image-end caption-start] 3fr [caption-end];
    grid-column-gap: 5.2631578947%; /* 20 / 380 */
  }
  .key-photo figcaption {
    padding: 0;
  }
}
/*

Testimonials

*/
.testimonial {
  display: flex;
  flex-direction: column;
  font-size: 1.25rem;
  line-height: 1.25;
  gap: var(--gap-flow);
  justify-content: space-between;
  padding-left: 4.375rem; /* 70/16 */
  position: relative;
  margin: 0 0 var(--gap-flow-more);
  max-width: 30em;
}

@media (min-width: 60em) {
  .testimonial {
    font-size: 1.75rem;
  }
}
.testimonial:before {
  background: url("/static/img/quote.svg") no-repeat;
  background-size: 100% auto;
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 2em;
  height: 2em;
}

.testimonial address,
.testimonial address:before,
.testimonial address cite {
  display: block;
}

.testimonial address:before,
.testimonial address cite {
  font-weight: bold;
}

.testimonial address,
.testimonial address cite {
  font-style: normal;
}

.testimonial address {
  font-size: 0.85em;
}

.testimonial address:before {
  content: "—";
}

/*

Footer

*/
.footer-content {
  grid-row: 2;
}

@media (min-width: 60em) {
  .footer-content {
    display: grid;
    grid-template-columns: [content-start] repeat(12, 1fr) [content-end];
    grid-column-gap: 1.6666667%; /* 20 / 1200 */
    column-gap: 1.6666667%;
  }
}
.site-footer a {
  text-decoration: underline;
}

.site-footer a:hover,
.site-footer a:focus {
  text-decoration: none;
}

.nav-footer {
  max-width: 20em;
}

.info-footer {
  border-top: none;
  align-self: end;
}

/*

New layout modules
(NB. — These rules could potentially be ported over to the “main” Turnout stylesheet, but they’d require some testing. Leaving these here for now.)

*/
.l-20-80 .inner,
.l-30-70 .inner,
.l-50-50 .inner {
  display: grid;
  grid-column-gap: 5.2631578947%; /* 20 / 380 */
  padding-left: 1em;
  padding-right: 1em;
}

.group-full {
  grid-column: 1/-1;
}

@media (min-width: 60em) {
  .hed-section {
    grid-column: 1/-1;
  }
  /*
  Widescreen treatments for each layout module
  */
  .l-20-80 .inner,
  .l-30-70 .inner,
  .l-50-50 .inner {
    padding-left: 0;
    padding-right: 0;
  }
  .l-20-80 .inner {
    grid-template-columns: [aside-start] 1fr [aside-end content-start] 4fr [content-end];
  }
  .l-30-70 .inner {
    grid-template-columns: [aside-start] 3fr [aside-end content-start] 7fr [content-end];
  }
  .l-50-50 .inner {
    grid-template-columns: 1fr 1fr;
  }
  .l-20-80 .group-additional,
  .l-30-70 .group-additional {
    grid-column: aside;
  }
  .l-20-80 .group-main,
  .l-30-70 .group-main {
    grid-column: content;
  }
  .l-50-50 .inner > .group {
    grid-column: auto;
  }
  .l-60-40 .group-main {
    grid-column-end: span 7;
  }
}
