/* IFS footer. Menu hierarchy determines groups; CSS aligns their rows.
 * Scope to the new menu element so older footer templates retain their layout.
 * The footer template retains the approved artwork, logo, contact and credits.
 *
 * Text is Alpine Snow on Mugwort at the user's direction. That pair measures
 * 3.1:1, so nothing here is lighter than semibold or smaller than text-s, and
 * hover and current states move onto Pinyon, where the same text measures
 * 7.9:1. Do not thin or shrink this text without changing the surface. */
#brx-footer:has(.ifs-c-site-footer__navigation) {
 --color-text: var(--alpine-snow);
 --color-text-inverse: var(--alpine-snow);
 --color-surface: var(--mugwort);
 --color-border: var(--alpine-snow-30);
 /* Footer actions are Lakebed at rest and Pinyon on hover, the reverse of the
  * site default, at the user's direction. The alias moves the button, the
  * social circles, the link highlight and the phone panel together. */
 --color-action: var(--lakebed);
 --color-action-hover: var(--pinyon);
 --color-focus: var(--lakebed);
 --type-body: var(--text-m);
 --type-body-s: var(--text-s);
 --motion-fast: 180ms ease;
 --motion-standard: 240ms ease;
 /* Phone accordion: panels ease in and out over this; the duration is also
  * needed alone, to delay hiding a closing panel until it has closed. */
 --motion-panel: 280ms ease-in-out;
 --motion-panel-duration: 280ms;
 /* Phone footer: space kept clear for the landscape artwork between the
  * last group and the brand band. The last group's open panel fills this
  * before it pushes anything down. */
 --ifs-footer-art-space: 8rem;
}
#brx-footer:has(.ifs-c-site-footer__navigation) .ifs-c-site-footer {
 position: relative;
 padding-block: var(--space-xl) var(--space-l);
 min-height: 0;
 background-color: var(--color-surface);
 color: var(--color-text);
}
/* Brand band. The seam between the Mugwort footer and the Pinyon legal band
 * is a 5px strip of six equal blocks in the brand's non-green colours, warm
 * to cool: Flicker, Ember, Salmonberry, Elderberry, Lakebed, Glacier. It is
 * the footer's one signature and belongs at this seam only. */
#brx-footer:has(.ifs-c-site-footer__navigation) .ifs-c-site-footer::after {
 content: "";
 position: absolute;
 right: 0;
 bottom: 0;
 left: 0;
 z-index: 2;
 height: 0.5rem;
 background: linear-gradient(to right,
  var(--flicker) 0 16.667%,
  var(--ember) 16.667% 33.333%,
  var(--salmonberry) 33.333% 50%,
  var(--elderberry) 50% 66.667%,
  var(--lakebed) 66.667% 83.333%,
  var(--glacier) 83.333% 100%);
}
/* Desktop: navigation and a 27rem contact column, one space-2xl apart. The
 * contact column's measure is fixed so that whatever width remains goes to
 * the navigation, where the three columns spread across it. Below 1100px the
 * three columns no longer fit beside the contact column at their measure,
 * so the layout stacks. */
#brx-footer:has(.ifs-c-site-footer__navigation) .ifs-c-site-footer__inner {
 display: grid;
 grid-template-columns: minmax(0, 1fr) minmax(0, 27rem);
 gap: var(--space-2xl);
 align-items: start;
}
#brx-footer:has(.ifs-c-site-footer__navigation) .ifs-c-site-footer__navigation,
#brx-footer:has(.ifs-c-site-footer__navigation) .ifs-c-site-footer__contact { min-width: 0; width: 100%; }
#brx-footer:has(.ifs-c-site-footer__navigation) .ifs-c-site-footer__groups,
#brx-footer:has(.ifs-c-site-footer__navigation) .ifs-c-site-footer__groups ul,
#brx-footer:has(.ifs-c-site-footer__navigation) .ifs-c-site-footer__legal-links,
#brx-footer:has(.ifs-c-site-footer__navigation) .ifs-c-site-footer__social-list { list-style: none; padding: 0; margin: 0; }
#brx-footer:has(.ifs-c-site-footer__navigation) a { text-decoration: none; }
#brx-footer:has(.ifs-c-site-footer__navigation) a:focus-visible,
#brx-footer:has(.ifs-c-site-footer__navigation) button:focus-visible { outline: 3px solid var(--color-focus); outline-offset: 3px; }

/* Navigation groups. Three columns beside the contact block, each as wide as
 * its longest entry, spread across the navigation's width so the space
 * between columns is even and none of it pools beside the contact column.
 * Every entry has
 * a maximum measure of 25rem: a long name wraps there, balanced, and no
 * column grows past it. Link rows are 34px on a 1.55 line height, so a
 * wrapped entry's two lines and the list's own pitch read as one rhythm.
 * Groups align at their tops only; each list follows its own label at one
 * constant gap. The row gap between bands of groups is the only larger
 * interval. */
#brx-footer:has(.ifs-c-site-footer__navigation) .ifs-c-site-footer__groups {
 display: grid;
 grid-template-columns: repeat(3, minmax(0, max-content));
 justify-content: space-between;
 gap: var(--space-m);
 align-items: start;
}
#brx-footer:has(.ifs-c-site-footer__navigation) .ifs-c-site-footer__groups li { min-width: 0; margin: 0; }
/* The horizontal padding is the hover surface, pulled back by the same amount
 * so the text itself sits on the column edge. */
#brx-footer:has(.ifs-c-site-footer__navigation) .ifs-c-site-footer__groups a {
 display: flex;
 align-items: center;
 min-height: 3.4rem;
 max-width: 25rem;
 margin-inline: calc(-1 * var(--space-3xs));
 padding: var(--space-4xs) var(--space-3xs);
 border-radius: var(--radius-xs);
 font-family: "josefin-sans", sans-serif;
 font-size: var(--type-body-s);
 font-weight: 600;
 line-height: 1.55;
 color: var(--color-text);
 overflow-wrap: break-word;
 text-wrap: balance;
 transition: color var(--motion-fast), background-color var(--motion-fast);
}
/* Group labels echo the main navigation: uppercase Josefin Sans, tracked.
 * No forced row height, so the label sits one small gap above its list. */
#brx-footer:has(.ifs-c-site-footer__navigation) .ifs-c-site-footer__groups > li > a {
 min-height: 0;
 margin-bottom: var(--space-4xs);
 font-weight: 700;
 letter-spacing: 0.08em;
 line-height: 1.3;
 text-transform: uppercase;
}
/* Hover and the current page share one treatment. Group labels never show a
 * current state: "Explore" links to the home page and would otherwise read as
 * a stuck hover on every visit. */
#brx-footer:has(.ifs-c-site-footer__navigation) .ifs-c-site-footer__groups a:hover,
#brx-footer:has(.ifs-c-site-footer__navigation) .ifs-c-site-footer__groups .sub-menu > .current-menu-item > a {
 color: var(--color-text-inverse);
 background-color: var(--color-action);
}
/* The accordion's disclosure exists only once site-footer.js has run, and only
 * shows on phones. Its text label is for assistive technology. */
#brx-footer:has(.ifs-c-site-footer__navigation) .ifs-c-site-footer__disclosure { display: none; }
#brx-footer:has(.ifs-c-site-footer__navigation) .ifs-c-site-footer__disclosure-label {
 position: absolute;
 width: 1px;
 height: 1px;
 padding: 0;
 margin: -1px;
 overflow: hidden;
 clip: rect(0, 0, 0, 0);
 white-space: nowrap;
 border: 0;
}

/* Contact block. On desktop a left-aligned column that shares the grid's top
 * line with the group labels: mark, address, telephone, action, social. */
#brx-footer:has(.ifs-c-site-footer__navigation) .ifs-c-site-footer__contact {
 display: flex;
 flex-direction: column;
 align-items: flex-start;
 gap: var(--space-xs);
 text-align: left;
 font-family: "josefin-sans", sans-serif;
 color: var(--color-text);
}
#brx-footer:has(.ifs-c-site-footer__navigation) .ifs-c-site-footer__logo {
 width: 9.6rem;
 max-width: 100%;
 margin: 0 0 var(--space-3xs);
}
#brx-footer:has(.ifs-c-site-footer__navigation) .ifs-c-site-footer__address,
#brx-footer:has(.ifs-c-site-footer__navigation) .ifs-c-site-footer__phone {
 margin: 0;
 font-family: "josefin-sans", sans-serif;
 font-size: var(--type-body-s);
 line-height: 1.45;
 font-style: normal;
 font-weight: 500;
 text-transform: none;
 color: inherit;
 text-align: inherit;
}
#brx-footer:has(.ifs-c-site-footer__navigation) .ifs-c-site-footer__address p,
#brx-footer:has(.ifs-c-site-footer__navigation) .ifs-c-site-footer__phone p { margin: 0; }
#brx-footer:has(.ifs-c-site-footer__navigation) .ifs-c-site-footer__phone a {
 display: inline-flex;
 align-items: center;
 min-height: 4.4rem;
 margin: calc((1.45em - 4.4rem) / 2) calc(-1 * var(--space-3xs));
 padding-inline: var(--space-3xs);
 border-radius: var(--radius-xs);
 font-weight: 600;
 font-variant-numeric: lining-nums tabular-nums;
 color: inherit;
 transition: color var(--motion-fast), background-color var(--motion-fast);
}
#brx-footer:has(.ifs-c-site-footer__navigation) .ifs-c-site-footer__phone a:hover {
 background-color: var(--color-action);
 color: var(--color-text-inverse);
}
/* Get Involved is the canonical primary button with no footer override, so it
 * shares its shape with the header and every other primary action. */
#brx-footer:has(.ifs-c-site-footer__navigation) .ifs-c-site-footer__actions {
 display: flex;
 flex-direction: column;
 align-items: flex-start;
 gap: var(--space-s);
 width: 100%;
 margin-top: var(--space-3xs);
}
#brx-footer:has(.ifs-c-site-footer__navigation) .ifs-c-site-footer__actions .ifs-c-button { width: 100%; }
/* Social marks are circles, matching the header's mobile social row. */
#brx-footer:has(.ifs-c-site-footer__navigation) .ifs-c-site-footer__social-list {
 display: flex;
 justify-content: flex-start;
 flex-wrap: wrap;
 gap: var(--space-2xs);
}
#brx-footer:has(.ifs-c-site-footer__navigation) .ifs-c-site-footer__social-list a {
 display: flex;
 align-items: center;
 justify-content: center;
 width: 4.4rem;
 height: 4.4rem;
 border-radius: var(--radius-full);
 background-color: var(--color-action);
 color: var(--color-text-inverse);
 transition: background-color var(--motion-fast);
}
#brx-footer:has(.ifs-c-site-footer__navigation) .ifs-c-site-footer__social-list a:hover {
 background-color: var(--color-action-hover);
 color: var(--color-text-inverse);
}

/* Legal band, on Pinyon. Desktop: the Footer Legal Links menu at the right
 * on the footer's grid line and, at the left, one quiet typographic unit:
 * the copyright as a small tracked title, the notice as a plain note under
 * it, and the photography credit a space-xs apart, wider, with the names
 * carrying the emphasis instead of an underline. All three fine-print lines
 * are faded until the pointer is in the band. Below 1100px the notice is not
 * shown, the order is menu, credit, copyright, all centred, and the copyright
 * keeps its sentence-case weight. The template's element order is unchanged;
 * `order` and, when stacked, `display: contents` on the row arrange it. */
#brx-footer:has(.ifs-c-site-footer__navigation) .ifs-c-site-footer__legal {
 display: flex;
 flex-direction: column;
 align-items: stretch;
 row-gap: 0;
 padding-block: var(--space-2xs) var(--space-m);
 background: var(--pinyon);
 color: var(--color-text-inverse);
 font-family: "josefin-sans", sans-serif;
}
#brx-footer:has(.ifs-c-site-footer__navigation) .ifs-c-site-footer__legal p { margin: 0; }
#brx-footer:has(.ifs-c-site-footer__navigation) .ifs-c-site-footer__legal-row {
 order: 1;
 display: flex;
 flex-direction: row;
 flex-wrap: wrap;
 justify-content: space-between;
 align-items: center;
 gap: var(--space-4xs) var(--space-m);
}
#brx-footer:has(.ifs-c-site-footer__navigation) .ifs-c-site-footer__legal-row > .brxe-text {
 margin: 0;
 font-family: "josefin-sans", sans-serif;
 font-size: var(--text-xs);
 font-weight: 600;
 letter-spacing: 0.06em;
 line-height: 1.3;
 text-transform: uppercase;
 color: var(--alpine-snow-70);
 transition: color var(--motion-fast);
}
#brx-footer:has(.ifs-c-site-footer__navigation) .ifs-c-site-footer__legal-links {
 display: flex;
 flex-wrap: wrap;
 justify-content: flex-end;
 gap: 0 var(--space-2xs);
 margin-inline: calc(-1 * var(--space-3xs));
}
#brx-footer:has(.ifs-c-site-footer__navigation) .ifs-c-site-footer__legal-links a {
 display: flex;
 align-items: center;
 min-height: 3.6rem;
 padding: 0 var(--space-3xs);
 border-radius: var(--radius-xs);
 font-family: "josefin-sans", sans-serif;
 font-size: var(--type-body-s);
 font-weight: 600;
 line-height: 1.3;
 color: inherit;
 transition: color var(--motion-fast), background-color var(--motion-fast);
}
#brx-footer:has(.ifs-c-site-footer__navigation) .ifs-c-site-footer__legal-links a:hover,
#brx-footer:has(.ifs-c-site-footer__navigation) .ifs-c-site-footer__legal-links .current-menu-item > a {
 color: var(--color-text-inverse);
 background-color: var(--color-action);
}
#brx-footer:has(.ifs-c-site-footer__navigation) .ifs-c-site-footer__legal a:focus-visible { outline-color: var(--color-text-inverse); }
/* Notice and credit share one small size and the same faded colour; the
 * notice is a plain note pulled up under the copyright title, the credit is
 * a little apart. Pointer in the band brings the fine print to full colour. */
#brx-footer:has(.ifs-c-site-footer__navigation) .ifs-c-site-footer__utility-row {
 margin-top: 0;
 align-items: flex-start;
 justify-content: flex-start;
 color: var(--alpine-snow-70);
 font-size: var(--text-xs);
 line-height: 1.5;
 text-align: left;
 transition: color var(--motion-fast);
}
#brx-footer:has(.ifs-c-site-footer__navigation) .ifs-c-site-footer__utility-row + .ifs-c-site-footer__utility-row {
 order: 2;
 margin-top: calc(-1 * var(--space-4xs));
}
#brx-footer:has(.ifs-c-site-footer__navigation) .ifs-c-site-footer__utility-row + .ifs-c-site-footer__utility-row strong { font-weight: 400; }
#brx-footer:has(.ifs-c-site-footer__navigation) .ifs-c-site-footer__legal-row + .ifs-c-site-footer__utility-row {
 order: 3;
 margin-top: var(--space-xs);
}
#brx-footer:has(.ifs-c-site-footer__navigation) .ifs-c-site-footer__legal:hover .ifs-c-site-footer__legal-row > .brxe-text,
#brx-footer:has(.ifs-c-site-footer__navigation) .ifs-c-site-footer__legal:hover .ifs-c-site-footer__utility-row { color: var(--color-text-inverse); }
#brx-footer:has(.ifs-c-site-footer__navigation) .ifs-c-site-footer__utility-row .brxe-text {
 margin: 0;
 font-family: "josefin-sans", sans-serif;
 font-size: inherit;
 line-height: inherit;
 color: inherit;
 text-align: inherit;
}
#brx-footer:has(.ifs-c-site-footer__navigation) .ifs-c-site-footer__legal-row + .ifs-c-site-footer__utility-row .brxe-text {
 max-width: 44rem;
 text-wrap: pretty;
}
/* Names in the credit are semibold; the linked one shows its underline on
 * hover and focus only. */
#brx-footer:has(.ifs-c-site-footer__navigation) .ifs-c-site-footer__legal-row + .ifs-c-site-footer__utility-row strong { font-weight: 600; }
#brx-footer:has(.ifs-c-site-footer__navigation) .ifs-c-site-footer__utility-row a {
 color: inherit;
 font-weight: 600;
 text-decoration: none;
 text-underline-offset: 0.18em;
 transition: color var(--motion-fast);
}
#brx-footer:has(.ifs-c-site-footer__navigation) .ifs-c-site-footer__utility-row a:hover,
#brx-footer:has(.ifs-c-site-footer__navigation) .ifs-c-site-footer__utility-row a:focus-visible { color: var(--color-text-inverse); text-decoration: underline; }

/* Stacked layouts, 1099px and below: the identity comes first. The contact
 * block becomes a centred letterhead, the mark beside the address and
 * telephone with the action and social row beneath, then a rule, then the
 * navigation as two equal 25rem columns centred as a block. The contact
 * block is placed first with `order`; its DOM position, after the navigation,
 * is the Bricks template's and is unchanged. */
@media (max-width: 1099px) {
 #brx-footer:has(.ifs-c-site-footer__navigation) .ifs-c-site-footer__inner { grid-template-columns: minmax(0, 1fr); gap: var(--space-l); }
 #brx-footer:has(.ifs-c-site-footer__navigation) .ifs-c-site-footer__groups { grid-template-columns: repeat(2, minmax(0, 25rem)); justify-content: center; column-gap: var(--space-xl); }
 #brx-footer:has(.ifs-c-site-footer__navigation) .ifs-c-site-footer__phone { margin-top: var(--space-4xs); }
 #brx-footer:has(.ifs-c-site-footer__navigation) .ifs-c-site-footer__contact {
  order: -1;
  display: grid;
  grid-template-columns: auto minmax(0, max-content);
  justify-content: center;
  align-items: center;
  column-gap: var(--space-s);
  row-gap: 0;
  padding-bottom: var(--space-l);
  border-bottom: 1px solid var(--color-border);
 }
 #brx-footer:has(.ifs-c-site-footer__navigation) .ifs-c-site-footer__logo { grid-row: 1 / span 2; width: 8rem; margin: 0; }
 /* Stacked band: menu, credit, copyright, all centred; the notice is not
  * shown. The row dissolves so its two children can take their own places. */
 #brx-footer:has(.ifs-c-site-footer__navigation) .ifs-c-site-footer__legal { align-items: center; }
 #brx-footer:has(.ifs-c-site-footer__navigation) .ifs-c-site-footer__legal-row { display: contents; }
 #brx-footer:has(.ifs-c-site-footer__navigation) .ifs-c-site-footer__legal-navigation { order: 1; max-width: 100%; }
 #brx-footer:has(.ifs-c-site-footer__navigation) .ifs-c-site-footer__legal-links { justify-content: center; margin-inline: 0; }
 #brx-footer:has(.ifs-c-site-footer__navigation) .ifs-c-site-footer__legal-row + .ifs-c-site-footer__utility-row { order: 2; margin-top: var(--space-2xs); }
 #brx-footer:has(.ifs-c-site-footer__navigation) .ifs-c-site-footer__legal-row > .brxe-text { order: 3; margin-top: var(--space-xs); font-size: var(--type-body-s); font-weight: 500; letter-spacing: 0; text-transform: none; color: var(--color-text-inverse); text-align: center; }
 #brx-footer:has(.ifs-c-site-footer__navigation) .ifs-c-site-footer__legal-row + .ifs-c-site-footer__utility-row .brxe-text { max-width: min(100% - 2 * var(--space-s), 44rem); }
 #brx-footer:has(.ifs-c-site-footer__navigation) .ifs-c-site-footer__utility-row + .ifs-c-site-footer__utility-row { display: none; }
 #brx-footer:has(.ifs-c-site-footer__navigation) .ifs-c-site-footer__utility-row { align-items: center; justify-content: center; text-align: center; }
 #brx-footer:has(.ifs-c-site-footer__navigation) .ifs-c-site-footer__address { grid-column: 2; align-self: end; }
 #brx-footer:has(.ifs-c-site-footer__navigation) .ifs-c-site-footer__phone { grid-column: 2; align-self: start; }
 #brx-footer:has(.ifs-c-site-footer__navigation) .ifs-c-site-footer__actions { grid-column: 1 / -1; justify-self: center; align-items: center; max-width: 32rem; margin-top: var(--space-s); }
 #brx-footer:has(.ifs-c-site-footer__navigation) .ifs-c-site-footer__social-list { justify-content: center; }
}

/* Phones: the header's mobile accordion. Each group is one row, the label
 * centred and still a link, with a separate 48px disclosure at the right; the
 * open list sits on a Lakebed panel that eases open and closed. A group
 * holding the current page carries the header's inset accent rule. Without
 * the script every list is visible.
 *
 * The accordion runs edge to edge. The section is unpadded and full width, so
 * it becomes the size container and the navigation cancels the Bricks
 * container's gutter exactly, whatever that gutter is: half the container
 * width less half the section width.
 *
 * The last group's panel row is at least --ifs-footer-art-space tall, which
 * keeps the landscape artwork clear below the closed accordion; that group's
 * open panel fills the reserve first and only then pushes the band down. */
@media (max-width: 599px) {
 #brx-footer:has(.ifs-c-site-footer__navigation) .ifs-c-site-footer { container-type: inline-size; }
 #brx-footer:has(.ifs-c-site-footer__navigation) .ifs-c-site-footer__navigation { width: 100cqw; max-width: none; margin-inline: calc(50% - 50cqw); }
 #brx-footer:has(.ifs-c-site-footer__navigation) .ifs-c-site-footer__groups { grid-template-columns: minmax(0, 1fr); gap: 0; }
 #brx-footer:has(.ifs-c-site-footer__navigation) .ifs-c-site-footer__groups > li {
  display: grid;
  grid-row: auto;
  grid-template-columns: 4.8rem minmax(0, 1fr) 4.8rem;
  grid-template-rows: auto auto;
  align-items: center;
  row-gap: 0;
  border-top: 1px solid var(--color-border);
 }
 #brx-footer:has(.ifs-c-site-footer__navigation) .ifs-c-site-footer__groups > li:last-child { grid-template-rows: auto minmax(var(--ifs-footer-art-space), auto); }
 /* The last row's closing divider sits at the top of the reserve. */
 #brx-footer:has(.ifs-c-site-footer__navigation) .ifs-c-site-footer__groups > li:last-child::after {
  grid-column: 1 / -1;
  grid-row: 2;
  align-self: start;
  height: 1px;
  background-color: var(--color-border);
  content: "";
 }
 #brx-footer:has(.ifs-c-site-footer__navigation) .ifs-c-site-footer__groups > li.current-menu-parent { box-shadow: inset 3px 0 0 var(--color-text); }
 #brx-footer:has(.ifs-c-site-footer__navigation) .ifs-c-site-footer__groups > li > a {
  grid-column: 2;
  grid-row: 1;
  justify-content: center;
  min-height: 4.8rem;
  max-width: none;
  margin: 0;
  padding-inline: var(--space-3xs);
  border-radius: 0;
  text-align: center;
 }
 #brx-footer:has(.ifs-c-site-footer__navigation) .ifs-c-site-footer__groups > li > a:hover { background-color: transparent; color: var(--color-text); }
 #brx-footer:has(.ifs-c-site-footer__navigation) .ifs-c-site-footer__disclosure {
  grid-column: 3;
  grid-row: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 4.8rem;
  height: 4.8rem;
  padding: 0;
  border: 0;
  border-left: 1px solid var(--color-border);
  background: none;
  color: var(--color-text);
  cursor: pointer;
 }
 #brx-footer:has(.ifs-c-site-footer__navigation) .ifs-c-site-footer__disclosure::before {
  width: 9px;
  height: 9px;
  border-right: 2px solid currentcolor;
  border-bottom: 2px solid currentcolor;
  transform: translateY(-3px) rotate(45deg);
  transition: transform var(--motion-panel);
  content: "";
 }
 #brx-footer:has(.ifs-c-site-footer__navigation) .ifs-c-site-footer__groups > li.is-open > .ifs-c-site-footer__disclosure::before { transform: translateY(2px) rotate(-135deg); }
 /* The panel. site-footer.js animates its height between 0 and its natural
  * height and then hands the value back here. Closed panels are also
  * invisible, so their links leave the tab order, one duration after the
  * close begins. Item padding lives on the items so a closed panel is 0px. */
 #brx-footer:has(.ifs-c-site-footer__navigation) .ifs-c-site-footer__groups > li > .sub-menu {
  grid-column: 1 / -1;
  grid-row: 2;
  align-self: start;
  background-color: var(--color-action);
 }
 #brx-footer:has(.ifs-c-site-footer__navigation) .ifs-c-site-footer__navigation.is-collapsible .ifs-c-site-footer__groups > li > .sub-menu {
  display: block;
  height: 0;
  overflow: hidden;
  visibility: hidden;
  transition: height var(--motion-panel), visibility 0s linear var(--motion-panel-duration);
 }
 #brx-footer:has(.ifs-c-site-footer__navigation) .ifs-c-site-footer__navigation.is-collapsible .ifs-c-site-footer__groups > li.is-open > .sub-menu {
  height: auto;
  visibility: visible;
  transition: height var(--motion-panel), visibility 0s;
 }
 #brx-footer:has(.ifs-c-site-footer__navigation) .ifs-c-site-footer__groups .sub-menu > li:first-child { padding-top: var(--space-4xs); }
 #brx-footer:has(.ifs-c-site-footer__navigation) .ifs-c-site-footer__groups .sub-menu > li:last-child { padding-bottom: var(--space-4xs); }
 #brx-footer:has(.ifs-c-site-footer__navigation) .ifs-c-site-footer__groups .sub-menu > li + li { border-top: 1px solid var(--alpine-snow-20); }
 #brx-footer:has(.ifs-c-site-footer__navigation) .ifs-c-site-footer__groups .sub-menu a {
  justify-content: center;
  min-height: 4.4rem;
  max-width: none;
  margin: 0;
  padding-inline: var(--space-s);
  border-radius: 0;
  text-align: center;
  color: var(--color-text-inverse);
 }
 #brx-footer:has(.ifs-c-site-footer__navigation) .ifs-c-site-footer__groups .sub-menu a:hover { background-color: var(--color-action-hover); }
 #brx-footer:has(.ifs-c-site-footer__navigation) .ifs-c-site-footer__groups .sub-menu > .current-menu-item > a { background-color: transparent; box-shadow: inset 3px 0 0 var(--color-text-inverse); }
 /* The accordion's first divider already separates the contact block. */
 #brx-footer:has(.ifs-c-site-footer__navigation) .ifs-c-site-footer__contact { padding-bottom: var(--space-m); border-bottom: 0; }
 #brx-footer:has(.ifs-c-site-footer__navigation) .ifs-c-site-footer__legal-links a { min-height: 4.4rem; }
 #brx-footer:has(.ifs-c-site-footer__navigation) .ifs-c-site-footer__legal a:focus-visible,
 #brx-footer:has(.ifs-c-site-footer__navigation) .sub-menu a:focus-visible { outline-color: var(--color-text-inverse); outline-offset: -3px; }
}
@media (prefers-reduced-motion: reduce) {
 #brx-footer:has(.ifs-c-site-footer__navigation) a,
 #brx-footer:has(.ifs-c-site-footer__navigation) .ifs-c-site-footer__disclosure::before,
 #brx-footer:has(.ifs-c-site-footer__navigation) .ifs-c-site-footer__groups > li > .sub-menu { transition: none !important; }
}
