/* Generated by scripts/build-css-shell.py. */

/*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */

/**
 * 1. Set default font family to sans-serif.
 * 2. Prevent iOS and IE text size adjust after device 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;
}

/* HTML5 display definitions
   ========================================================================== */

/**
 * Correct `block` display not defined for any HTML5 element in IE 8/9.
 * Correct `block` display not defined for `details` or `summary` in IE 10/11
 * and Firefox.
 * Correct `block` display not defined for `main` in IE 11.
 */

article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
main,
menu,
nav,
section,
summary {
  display: block;
}

/**
 * 1. Correct `inline-block` display not defined in IE 8/9.
 * 2. Normalize vertical alignment of `progress` in Chrome, Firefox, and Opera.
 */

audio,
canvas,
progress,
video {
  display: inline-block; /* 1 */
  vertical-align: baseline; /* 2 */
}

/**
 * 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/10.
 * Hide the `template` element in IE 8/9/10/11, Safari, and Firefox < 22.
 */

[hidden],
template {
  display: none;
}

/* Links
   ========================================================================== */

/**
 * Remove the gray background color from active links in IE 10.
 */

a {
  background-color: transparent;
}

/**
 * Improve readability of focused elements when they are also in an
 * active/hover state.
 */

a:active,
a:hover {
  outline: 0;
}

/* Text-level semantics
   ========================================================================== */

/**
 * Address styling not present in IE 8/9/10/11, Safari, and Chrome.
 */

abbr[title] {
  border-bottom: 1px dotted;
}

/**
 * Address style set to `bolder` in Firefox 4+, Safari, and Chrome.
 */

b,
strong {
  font-weight: bold;
}

/**
 * Address styling not present in Safari and Chrome.
 */

dfn {
  font-style: italic;
}

/**
 * Address variable `h1` font-size and margin within `section` and `article`
 * contexts in Firefox 4+, Safari, and Chrome.
 */

h1 {
  font-size: 2em;
  margin: 0.67em 0;
}

/**
 * Address styling not present in IE 8/9.
 */

mark {
  background: #ff0;
  color: #000;
}

/**
 * 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/10.
 */

img {
  border: 0;
}

/**
 * Correct overflow not hidden in IE 9/10/11.
 */

svg:not(:root) {
  overflow: hidden;
}

/* Grouping content
   ========================================================================== */

/**
 * Address margin not present in IE 8/9 and Safari.
 */

figure {
  margin: 1em 40px;
}

/**
 * Address differences between Firefox and other browsers.
 */

hr {
  box-sizing: content-box;
  height: 0;
}

/**
 * Contain overflow in all browsers.
 */

pre {
  overflow: auto;
}

/**
 * Address odd `em`-unit font size rendering in all browsers.
 */

code,
kbd,
pre,
samp {
  font-family: monospace, monospace;
  font-size: 1em;
}

/* Forms
   ========================================================================== */

/**
 * Known limitation: by default, Chrome and Safari on OS X allow very limited
 * styling of `select`, unless a `border` property is set.
 */

/**
 * 1. Correct color not being inherited.
 *    Known issue: affects color of disabled elements.
 * 2. Correct font properties not being inherited.
 * 3. Address margins set differently in Firefox 4+, Safari, and Chrome.
 */

button,
input,
optgroup,
select,
textarea {
  color: inherit; /* 1 */
  font: inherit; /* 2 */
  margin: 0; /* 3 */
}

/**
 * Address `overflow` set to `hidden` in IE 8/9/10/11.
 */

button {
  overflow: visible;
}

/**
 * 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 Firefox, IE 8/9/10/11, and Opera.
 * Correct `select` style inheritance in Firefox.
 */

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"], /* 1 */
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;
}

/**
 * Remove inner padding and border in Firefox 4+.
 */

button::-moz-focus-inner,
input::-moz-focus-inner {
  border: 0;
  padding: 0;
}

/**
 * Address Firefox 4+ setting `line-height` on `input` using `!important` in
 * the UA stylesheet.
 */

input {
  line-height: normal;
}

/**
 * It's recommended that you don't attempt to style these elements.
 * Firefox's implementation doesn't respect box-sizing, padding, or width.
 *
 * 1. Address box sizing set to `content-box` in IE 8/9/10.
 * 2. Remove excess padding in IE 8/9/10.
 */

input[type="checkbox"],
input[type="radio"] {
  box-sizing: border-box; /* 1 */
  padding: 0; /* 2 */
}

/**
 * Fix the cursor style for Chrome's increment/decrement buttons. For certain
 * `font-size` values of the `input`, it causes the cursor style of the
 * decrement button to change from `default` to `text`.
 */

input[type="number"]::-webkit-inner-spin-button,
input[type="number"]::-webkit-outer-spin-button {
  height: auto;
}

/**
 * 1. Address `appearance` set to `searchfield` in Safari and Chrome.
 * 2. Address `box-sizing` set to `border-box` in Safari and Chrome.
 */

input[type="search"] {
  -webkit-appearance: textfield; /* 1 */
  box-sizing: content-box; /* 2 */
}

/**
 * Remove inner padding and search cancel button in Safari and Chrome on OS X.
 * Safari (but not Chrome) clips the cancel button when the search input has
 * padding (and `textfield` appearance).
 */

input[type="search"]::-webkit-search-cancel-button,
input[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none;
}

/**
 * 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/10/11.
 * 2. Remove padding so people aren't caught out if they zero out fieldsets.
 */

legend {
  border: 0; /* 1 */
  padding: 0; /* 2 */
}

/**
 * Remove default vertical scrollbar in IE 8/9/10/11.
 */

textarea {
  overflow: auto;
}

/**
 * Don't inherit the `font-weight` (applied by a rule above).
 * NOTE: the default cannot safely be changed in Chrome and Safari on OS X.
 */

optgroup {
  font-weight: bold;
}

/* Tables
   ========================================================================== */

/**
 * Remove most spacing between table cells.
 */

table {
  border-collapse: collapse;
  border-spacing: 0;
}

td,
th {
  padding: 0;
}

meta.foundation-version {
  font-family: "/5.5.3/"; }
meta.foundation-mq-small {
  font-family: "/only screen/";
  width: 0; }
meta.foundation-mq-small-only {
  font-family: "/only screen and (max-width: 40em)/";
  width: 0; }
meta.foundation-mq-medium {
  font-family: "/only screen and (min-width:40.0625em)/";
  width: 40.0625em; }
meta.foundation-mq-medium-only {
  font-family: "/only screen and (min-width:40.0625em) and (max-width:64em)/";
  width: 40.0625em; }
meta.foundation-mq-large {
  font-family: "/only screen and (min-width:64rem)/";
  width: 64rem; }
meta.foundation-mq-large-only {
  font-family: "/only screen and (min-width:64rem) and (max-width:90em)/";
  width: 64rem; }
meta.foundation-mq-xlarge {
  font-family: "/only screen and (min-width:90.0625em)/";
  width: 90.0625em; }
meta.foundation-mq-xlarge-only {
  font-family: "/only screen and (min-width:90.0625em) and (max-width:120em)/";
  width: 90.0625em; }
meta.foundation-mq-xxlarge {
  font-family: "/only screen and (min-width:120.0625em)/";
  width: 120.0625em; }
meta.foundation-data-attribute-namespace {
  font-family: false; }
html, body {
  height: 100%; }
*,
*:before,
*:after {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box; }
html,
body {
  font-size: 100%; }
body {
  background: #fff;
  color: #222;
  cursor: auto;
  font-family: "Helvetica Neue", Helvetica, Roboto, Arial, sans-serif;
  font-style: normal;
  font-weight: normal;
  line-height: 1.5;
  margin: 0;
  padding: 0;
  position: relative; }
a:hover {
  cursor: pointer; }
img {
  max-width: 100%;
  height: auto; }
img {
  -ms-interpolation-mode: bicubic; }
#map_canvas img,
#map_canvas embed,
#map_canvas object,
.map_canvas img,
.map_canvas embed,
.map_canvas object,
.mqa-display img,
.mqa-display embed,
.mqa-display object {
  max-width: none !important; }
.left {
  float: left !important; }
.right {
  float: right !important; }
.clearfix:before, .clearfix:after {
  content: " ";
  display: table; }
.clearfix:after {
  clear: both; }
.hide {
  display: none; }
.invisible {
  visibility: hidden; }
.antialiased {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale; }
img {
  display: inline-block;
  vertical-align: middle; }
textarea {
  height: auto;
  min-height: 50px; }
select {
  width: 100%; }
.row {
  margin: 0 auto;
  max-width: 62.5rem;
  width: 100%; }
  .row:before, .row:after {
    content: " ";
    display: table; }
  .row:after {
    clear: both; }
  .row.collapse > .column,
  .row.collapse > .columns {
    padding-left: 0;
    padding-right: 0; }
  .row.collapse .row {
    margin-left: 0;
    margin-right: 0; }
  .row .row {
    margin: 0 -0.9375rem;
    max-width: none;
    width: auto; }
    .row .row:before, .row .row:after {
      content: " ";
      display: table; }
    .row .row:after {
      clear: both; }
    .row .row.collapse {
      margin: 0;
      max-width: none;
      width: auto; }
      .row .row.collapse:before, .row .row.collapse:after {
        content: " ";
        display: table; }
      .row .row.collapse:after {
        clear: both; }
.column,
.columns {
  padding-left: 0.9375rem;
  padding-right: 0.9375rem;
  width: 100%;
  float: left; }
.column + .column:last-child,
.columns + .column:last-child, .column +
.columns:last-child,
.columns +
.columns:last-child {
  float: right; }
.column + .column.end,
.columns + .column.end, .column +
.columns.end,
.columns +
.columns.end {
  float: left; }
@media only screen {
  .small-12 {
    width: 100%; } }
meta.foundation-mq-topbar {
  font-family: "/only screen and (min-width:40.0625em)/";
  width: 64; }
.contain-to-grid {
  width: 100%;
  background: #333333; }
  .contain-to-grid .top-bar {
    margin-bottom: 0; }
.fixed {
  position: fixed;
  top: 0;
  width: 100%;
  z-index: 99;
  left: 0; }
  .fixed.expanded:not(.top-bar) {
    height: auto;
    max-height: 100%;
    overflow-y: auto;
    width: 100%; }
    .fixed.expanded:not(.top-bar) .title-area {
      position: fixed;
      width: 100%;
      z-index: 99; }
    .fixed.expanded:not(.top-bar) .top-bar-section {
      margin-top: 2.8125rem;
      z-index: 98; }
.top-bar {
  height: 2.8125rem;
  line-height: 2.8125rem;
  margin-bottom: 0;
  overflow: hidden;
  position: relative; }
  .top-bar ul {
    list-style: none;
    margin-bottom: 0; }
  .top-bar .row {
    max-width: none; }
  .top-bar form,
  .top-bar input,
  .top-bar select {
    margin-bottom: 0; }
  .top-bar input,
  .top-bar select {
    font-size: 0.75rem;
    height: 1.75rem;
    padding-bottom: .35rem;
    padding-top: .35rem; }
  .top-bar .button, .top-bar button {
    font-size: 0.75rem;
    margin-bottom: 0;
    padding-bottom: 0.4125rem;
    padding-top: 0.4125rem; }
    @media only screen and (max-width: 64em) {
      .top-bar .button, .top-bar button {
        position: relative;
        top: -1px; } }
  .top-bar .title-area {
    margin: 0;
    position: relative; }
  .top-bar .name {
    font-size: 16px;
    height: 2.8125rem;
    margin: 0; }
    .top-bar .name h1, .top-bar .name h2, .top-bar .name h3, .top-bar .name h4, .top-bar .name p, .top-bar .name span {
      font-size: 1.0625rem;
      line-height: 2.8125rem;
      margin: 0; }
      .top-bar .name h1 a, .top-bar .name h2 a, .top-bar .name h3 a, .top-bar .name h4 a, .top-bar .name p a, .top-bar .name span a {
        color: #FFFFFF;
        display: block;
        font-weight: normal;
        padding: 0 0.9375rem;
        width: 75%; }
  .top-bar .toggle-topbar {
    position: absolute;
    right: 0;
    top: 0; }
    .top-bar .toggle-topbar a {
      color: #FFFFFF;
      display: block;
      font-size: 0.8125rem;
      font-weight: bold;
      height: 2.8125rem;
      line-height: 2.8125rem;
      padding: 0 0.9375rem;
      position: relative;
      text-transform: uppercase; }
    .top-bar .toggle-topbar.menu-icon {
      margin-top: -16px;
      top: 50%; }
      .top-bar .toggle-topbar.menu-icon a {
        color: #FFFFFF;
        height: 34px;
        line-height: 33px;
        padding: 0 2.5rem 0 0.9375rem;
        position: relative; }
        .top-bar .toggle-topbar.menu-icon a span::after {
          content: "";
          display: block;
          height: 0;
          position: absolute;
          margin-top: -8px;
          top: 50%;
          right: 0.9375rem;
          box-shadow: 0 0 0 1px #FFFFFF, 0 7px 0 1px #FFFFFF, 0 14px 0 1px #FFFFFF;
          width: 16px; }
        .top-bar .toggle-topbar.menu-icon a span:hover:after {
          box-shadow: 0 0 0 1px "", 0 7px 0 1px "", 0 14px 0 1px ""; }
  .top-bar.expanded {
    height: auto; }
    .top-bar.expanded .title-area {
}
    .top-bar.expanded .toggle-topbar a {
      color: #888888; }
      .top-bar.expanded .toggle-topbar a span::after {
        box-shadow: 0 0 0 1px #888888, 0 7px 0 1px #888888, 0 14px 0 1px #888888; }
    @media screen and (-webkit-min-device-pixel-ratio: 0) {
      .top-bar.expanded .top-bar-section .has-dropdown.moved > .dropdown,
      .top-bar.expanded .top-bar-section .dropdown {
        clip: initial; }
      .top-bar.expanded .top-bar-section .has-dropdown:not(.moved) > ul {
        padding: 0; } }
.top-bar-section {
  left: 0;
  position: relative;
  width: auto;
  transition: left 300ms ease-out; }
  .top-bar-section ul {
    display: block;
    font-size: 16px;
    height: auto;
    margin: 0;
    padding: 0;
    width: 100%; }
  .top-bar-section .divider,
  .top-bar-section [role="separator"] {
    border-top: solid 1px #1a1a1a;
    clear: both;
    height: 1px;
    width: 100%; }
  .top-bar-section ul li {
    }
    .top-bar-section ul li > a {
      color: #FFFFFF;
      display: block;
      font-family: "Helvetica Neue", Helvetica, Roboto, Arial, sans-serif;
      font-size: 0.8125rem;
      font-weight: normal;
      padding-left: 0.9375rem;
      padding: 12px 0 12px 0.9375rem;
      text-transform: none;
      width: 100%; }
      .top-bar-section ul li > a.button {
        font-size: 0.8125rem;
        padding-left: 0.9375rem;
        padding-right: 0.9375rem;
        border-color: #007095;
        color: #FFFFFF; }
        .top-bar-section ul li > a.button:hover, .top-bar-section ul li > a.button:focus {
}
        .top-bar-section ul li > a.button:hover, .top-bar-section ul li > a.button:focus {
          color: #FFFFFF; }
      .top-bar-section ul li > a.button.secondary {
        border-color: #b9b9b9;
        color: #333333; }
        .top-bar-section ul li > a.button.secondary:hover, .top-bar-section ul li > a.button.secondary:focus {
}
        .top-bar-section ul li > a.button.secondary:hover, .top-bar-section ul li > a.button.secondary:focus {
          color: #333333; }
      .top-bar-section ul li > a.button.success {
        border-color: #368a55;
        color: #FFFFFF; }
        .top-bar-section ul li > a.button.success:hover, .top-bar-section ul li > a.button.success:focus {
}
        .top-bar-section ul li > a.button.success:hover, .top-bar-section ul li > a.button.success:focus {
          color: #FFFFFF; }
      .top-bar-section ul li > a.button.alert {
        border-color: #cf2a0e;
        color: #FFFFFF; }
        .top-bar-section ul li > a.button.alert:hover, .top-bar-section ul li > a.button.alert:focus {
}
        .top-bar-section ul li > a.button.alert:hover, .top-bar-section ul li > a.button.alert:focus {
          color: #FFFFFF; }
      .top-bar-section ul li > a.button.warning {
        border-color: #cf6e0e;
        color: #FFFFFF; }
        .top-bar-section ul li > a.button.warning:hover, .top-bar-section ul li > a.button.warning:focus {
}
        .top-bar-section ul li > a.button.warning:hover, .top-bar-section ul li > a.button.warning:focus {
          color: #FFFFFF; }
      .top-bar-section ul li > a.button.info {
        border-color: #61b6d9;
        color: #333333; }
        .top-bar-section ul li > a.button.info:hover, .top-bar-section ul li > a.button.info:focus {
}
        .top-bar-section ul li > a.button.info:hover, .top-bar-section ul li > a.button.info:focus {
          color: #FFFFFF; }
    .top-bar-section ul li > button {
      font-size: 0.8125rem;
      padding-left: 0.9375rem;
      padding-right: 0.9375rem;
      border-color: #007095;
      color: #FFFFFF; }
      .top-bar-section ul li > button:hover, .top-bar-section ul li > button:focus {
}
      .top-bar-section ul li > button:hover, .top-bar-section ul li > button:focus {
        color: #FFFFFF; }
      .top-bar-section ul li > button.secondary {
        border-color: #b9b9b9;
        color: #333333; }
        .top-bar-section ul li > button.secondary:hover, .top-bar-section ul li > button.secondary:focus {
}
        .top-bar-section ul li > button.secondary:hover, .top-bar-section ul li > button.secondary:focus {
          color: #333333; }
      .top-bar-section ul li > button.success {
        background-color: #43AC6A;
        border-color: #368a55;
        color: #FFFFFF; }
        .top-bar-section ul li > button.success:hover, .top-bar-section ul li > button.success:focus {
}
        .top-bar-section ul li > button.success:hover, .top-bar-section ul li > button.success:focus {
          color: #FFFFFF; }
      .top-bar-section ul li > button.alert {
        border-color: #cf2a0e;
        color: #FFFFFF; }
        .top-bar-section ul li > button.alert:hover, .top-bar-section ul li > button.alert:focus {
}
        .top-bar-section ul li > button.alert:hover, .top-bar-section ul li > button.alert:focus {
          color: #FFFFFF; }
      .top-bar-section ul li > button.warning {
        border-color: #cf6e0e;
        color: #FFFFFF; }
        .top-bar-section ul li > button.warning:hover, .top-bar-section ul li > button.warning:focus {
}
        .top-bar-section ul li > button.warning:hover, .top-bar-section ul li > button.warning:focus {
          color: #FFFFFF; }
      .top-bar-section ul li > button.info {
        border-color: #61b6d9;
        color: #333333; }
        .top-bar-section ul li > button.info:hover, .top-bar-section ul li > button.info:focus {
}
        .top-bar-section ul li > button.info:hover, .top-bar-section ul li > button.info:focus {
          color: #FFFFFF; }
    .top-bar-section ul li:hover:not(.has-form) > a {
      color: #FFFFFF;
}
    .top-bar-section ul li.active > a {
      color: #FFFFFF; }
      .top-bar-section ul li.active > a:hover {
        color: #FFFFFF; }
  .top-bar-section .has-form {
    padding: 0.9375rem; }
  .top-bar-section .has-dropdown {
    position: relative; }
    .top-bar-section .has-dropdown > a:after {
      border: inset 5px;
      content: "";
      display: block;
      height: 0;
      width: 0;
      border-color: transparent transparent transparent rgba(255, 255, 255, 0.4);
      border-left-style: solid;
      margin-right: 0.9375rem;
      margin-top: -4.5px;
      position: absolute;
      top: 50%;
      right: 0; }
    .top-bar-section .has-dropdown.moved {
      position: static; }
      .top-bar-section .has-dropdown.moved > .dropdown {
        position: static !important;
        height: auto;
        width: auto;
        overflow: visible;
        clip: auto;
        display: block;
        position: absolute !important;
        width: 100%; }
      .top-bar-section .has-dropdown.moved > a:after {
        display: none; }
  .top-bar-section .dropdown {
    clip: rect(1px, 1px, 1px, 1px);
    height: 1px;
    overflow: hidden;
    position: absolute !important;
    width: 1px;
    display: block;
    padding: 0;
    position: absolute;
    top: 0;
    z-index: 99;
    left: 100%; }
    .top-bar-section .dropdown li {
      height: auto;
      width: 100%; }
      .top-bar-section .dropdown li a {
        font-weight: normal;
        padding: 8px 0.9375rem; }
        .top-bar-section .dropdown li a.parent-link {
          font-weight: normal; }
      .top-bar-section .dropdown li.title h5, .top-bar-section .dropdown li.parent-link {
        margin-bottom: 0;
        margin-top: 0;
        font-size: 1.125rem; }
        .top-bar-section .dropdown li.title h5 a, .top-bar-section .dropdown li.parent-link a {
          color: #FFFFFF;
          display: block; }
          .top-bar-section .dropdown li.title h5 a:hover, .top-bar-section .dropdown li.parent-link a:hover {
            background: none; }
      .top-bar-section .dropdown li.has-form {
        padding: 8px 0.9375rem; }
      .top-bar-section .dropdown li .button,
      .top-bar-section .dropdown li button {
        top: auto; }
    .top-bar-section .dropdown label {
      color: #777777;
      font-size: 0.625rem;
      font-weight: bold;
      margin-bottom: 0;
      padding: 8px 0.9375rem 2px;
      text-transform: uppercase; }
.js-generated {
  display: block; }
@media only screen and (min-width: 64rem) {
  .top-bar {
    overflow: visible; }
    .top-bar:before, .top-bar:after {
      content: " ";
      display: table; }
    .top-bar:after {
      clear: both; }
    .top-bar .toggle-topbar {
      display: none; }
    .top-bar .title-area {
      float: left; }
    .top-bar .name h1 a,
    .top-bar .name h2 a,
    .top-bar .name h3 a,
    .top-bar .name h4 a,
    .top-bar .name h5 a,
    .top-bar .name h6 a {
      width: auto; }
    .top-bar input,
    .top-bar select,
    .top-bar .button,
    .top-bar button {
      font-size: 0.875rem;
      height: 1.75rem;
      position: relative;
      top: 0.53125rem; }
    .top-bar .has-form > .button,
    .top-bar .has-form > button {
      font-size: 0.875rem;
      height: 1.75rem;
      position: relative;
      top: 0.53125rem; }
    .top-bar.expanded {
}
  .contain-to-grid .top-bar {
    margin: 0 auto;
    margin-bottom: 0;
    max-width: 62.5rem; }
  .top-bar-section {
    transition: none 0 0;
    left: 0 !important; }
    .top-bar-section ul {
      display: inline;
      height: auto !important;
      width: auto; }
      .top-bar-section ul li {
        float: left; }
        .top-bar-section ul li .js-generated {
          display: none; }
    .top-bar-section li.hover > a:not(.button) {
      color: #FFFFFF; }
    .top-bar-section li:not(.has-form) a:not(.button) {
        line-height: 2.8125rem;
        padding: 0 0.9375rem;
    }
      .top-bar-section li:not(.has-form) a:not(.button):hover {
    }
    .top-bar-section li.active:not(.has-form) a:not(.button) {
      color: #FFFFFF;
      line-height: 2.8125rem;
      padding: 0 0.9375rem; }
      .top-bar-section li.active:not(.has-form) a:not(.button):hover {
        color: #FFFFFF; }
    .top-bar-section .has-dropdown > a {
      padding-right: 2.1875rem !important; }
      .top-bar-section .has-dropdown > a:after {
        border: inset 5px;
        content: "";
        display: block;
        height: 0;
        width: 0;
        border-color: rgba(255, 255, 255, 0.4) transparent transparent transparent;
        border-top-style: solid;
        margin-top: -2.5px;
        top: 1.40625rem; }
    .top-bar-section .has-dropdown.moved {
      position: relative; }
      .top-bar-section .has-dropdown.moved > .dropdown {
        clip: rect(1px, 1px, 1px, 1px);
        height: 1px;
        overflow: hidden;
        position: absolute !important;
        width: 1px;
        display: block; }
    .top-bar-section .has-dropdown.hover > .dropdown, .top-bar-section .has-dropdown.not-click:hover > .dropdown {
      position: static !important;
      height: auto;
      width: auto;
      overflow: visible;
      clip: auto;
      display: block;
      position: absolute !important; }
    .top-bar-section .has-dropdown > a:focus + .dropdown {
      position: static !important;
      height: auto;
      width: auto;
      overflow: visible;
      clip: auto;
      display: block;
      position: absolute !important; }
    .top-bar-section .has-dropdown .dropdown li.has-dropdown > a:after {
      border: none;
      content: "\00bb";
      top: 0.1875rem;
      right: 5px; }
    .top-bar-section .dropdown {
      left: 0;
      background: transparent;
      min-width: 100%;
      top: auto; }
      .top-bar-section .dropdown li a {
        color: #FFFFFF;
        line-height: 2.8125rem;
        padding: 12px 0.9375rem;
        white-space: nowrap; }
      .top-bar-section .dropdown li:not(.has-form):not(.active) > a:not(.button) {
        color: #FFFFFF; }
      .top-bar-section .dropdown li:not(.has-form):not(.active):hover > a:not(.button) {
        color: #FFFFFF;
    }
      .top-bar-section .dropdown li label {
        white-space: nowrap; }
      .top-bar-section .dropdown li .dropdown {
        left: 100%;
        top: 0; }
    .top-bar-section > ul > .divider,
    .top-bar-section > ul > [role="separator"] {
      border-right: solid 1px #4e4e4e;
      border-bottom: none;
      border-top: none;
      clear: none;
      height: 2.8125rem;
      width: 0; }
    .top-bar-section .has-form {
      height: 2.8125rem;
      padding: 0 0.9375rem; }
    .top-bar-section .right li .dropdown {
      left: auto;
      right: 0; }
      .top-bar-section .right li .dropdown li .dropdown {
        right: 100%; }
    .top-bar-section .left li .dropdown {
      right: auto;
      left: 0; }
      .top-bar-section .left li .dropdown li .dropdown {
        left: 100%; }
  .no-js .top-bar-section ul li:hover > a {
    color: #FFFFFF; }
  .no-js .top-bar-section ul li:active > a {
    color: #FFFFFF; }
  .no-js .top-bar-section .has-dropdown:hover > .dropdown {
    position: static !important;
    height: auto;
    width: auto;
    overflow: visible;
    clip: auto;
    display: block;
    position: absolute !important; }
  .no-js .top-bar-section .has-dropdown > a:focus + .dropdown {
    position: static !important;
    height: auto;
    width: auto;
    overflow: visible;
    clip: auto;
    display: block;
    position: absolute !important; } }
div,
dl,
dt,
dd,
ul,
ol,
li,
h1,
h2,
h3,
h4,
h5,
h6,
pre,
form,
p,
blockquote,
th,
td {
  margin: 0;
  padding: 0; }
p {
  font-family: inherit;
  font-size: 1rem;
  font-weight: normal;
  line-height: 1.6;
  margin-bottom: 1.25rem;
  text-rendering: optimizeLegibility; }
h1, h2, h3, h4, h5, h6 {
  color: #222222;
  font-family: "Helvetica Neue", Helvetica, Roboto, Arial, sans-serif;
  font-style: normal;
  font-weight: normal;
  line-height: 1.4;
  margin-bottom: 0.5rem;
  margin-top: 0.2rem;
  text-rendering: optimizeLegibility; }
  h1 small, h2 small, h3 small, h4 small, h5 small, h6 small {
    color: #6f6f6f;
    font-size: 60%;
    line-height: 0; }
h1 {
  font-size: 2.125rem; }
h2 {
  font-size: 1.6875rem; }
h3 {
  font-size: 1.375rem; }
h4 {
  font-size: 1.125rem; }
h5 {
  font-size: 1.125rem; }
h6 {
  font-size: 1rem; }
.subheader {
  line-height: 1.4;
  color: #6f6f6f;
  font-weight: normal;
  margin-top: 0.2rem;
  margin-bottom: 0.5rem; }
hr {
  border: solid #DDDDDD;
  border-width: 1px 0 0;
  clear: both;
  height: 0;
  margin: 1.25rem 0 1.1875rem; }
em,
i {
  font-style: italic;
  line-height: inherit; }
strong,
b {
  font-weight: bold;
  line-height: inherit; }
small {
  font-size: 60%;
  line-height: inherit; }
code {
  background-color: #f8f8f8;
  border-color: #dfdfdf;
  border-style: solid;
  border-width: 1px;
  color: #333333;
  font-family: Consolas, "Liberation Mono", Courier, monospace;
  font-weight: normal;
  padding: 0.125rem 0.3125rem 0.0625rem; }
ul,
ol,
dl {
  font-family: inherit;
  font-size: 1rem;
  line-height: 1.6;
  list-style-position: outside;
  margin-bottom: 1.25rem; }
ul {
  margin-left: 1.1rem; }
ul li ul,
ul li ol {
  margin-left: 1.25rem;
  margin-bottom: 0; }
ul.square li ul, ul.circle li ul, ul.disc li ul {
  list-style: inherit; }
ul.square {
  list-style-type: square;
  margin-left: 1.1rem; }
ul.circle {
  list-style-type: circle;
  margin-left: 1.1rem; }
ul.disc {
  list-style-type: disc;
  margin-left: 1.1rem; }
ol {
  margin-left: 1.4rem; }
  ol li ul,
  ol li ol {
    margin-left: 1.25rem;
    margin-bottom: 0; }

body {
  background: #030303;
  color: #fff;
}

.contain-to-grid
{
	padding-top: 2rem;
	padding-bottom: 0.5rem;
}
.top-bar, .contain-to-grid
{
	background-color: #030303;
}

.contain-to-grid.sticky:not(.fixed),
.top-bar
{
	position: relative;
	z-index: 2000;
}

/* When Foundation pins the bar it swaps to `.fixed`. Foundation's own
   `.fixed` rule only gives z-index:99, and a plain override here can lose to
   its cascade, so page content paints over the pinned nav. Force the full
   fixed-bar contract with !important — the same contract the detail-template
   and anchor-page rules use — so the nav always clips above page content. */
.contain-to-grid.fixed
{
	position: fixed !important;
	top: 0 !important;
	left: 0 !important;
	width: 100% !important;
	z-index: 2000 !important;
}

.top-bar-section ul li > a
{
	font-family: "Montserrat-Bold", Helvetica, Arial, sans-serif;
	text-transform: uppercase;
	font-size: 1rem;
	text-decoration: none;
	transition: color 0.2s ease;
}
#menu-menu-jp li > a
{
/* 	font-size: smaller; */
}
.top-bar-section ul li > a:hover, .top-bar-section ul li > a.selected
{
	color: #D90500 !important;
	text-decoration: none;
}

.top-bar-section .has-dropdown > a 
{
	padding-right: 0.9375rem !important; 
	background: #030303 !important;
	padding-bottom: 0 !important;
	text-decoration: none;
}

.top-bar-section a
{
	-webkit-touch-callout: none;
	-webkit-user-select: none;
	user-select: none;
	-webkit-user-drag: none;
}
.top-bar-section,
.top-bar-section *
{
	-webkit-user-select: none;
	user-select: none;
	-webkit-user-drag: none;
}
/*
.top-bar-section .has-dropdown > a.lang-chooser 
{
	padding-right: 2.1875rem !important;
}
*/

.top-bar-section .has-dropdown > a:after {
   display: none;
}
.top-bar-section .has-dropdown > a.lang-chooser:after {
   display:inherit;
}

.top-bar .name h1 a
{
	background-image: url('../design/exa_logo_white.png');
	float: left;
	display: block;
	background-position: center center;
	background-repeat: no-repeat;
	background-size: contain;
	text-indent:-99999em;
	white-space: nowrap;
	overflow: hidden;
	height:auto;
	width: 5rem;
}
@media only screen and (max-width: 63.9375rem) {
	.top-bar .title-area
	{
		margin-right: 6rem;
	}
	.top-bar .title-area-ja
	{
		margin-right: 6rem;
	}

	.header-cart-badge
	{
		top: -0.05rem;
		right: -0.2rem;
		min-width: 1.15rem;
		height: 1.15rem;
		font-size: 0.6rem;
	}
}

:root {
	--header-topbar-icon-box: 3rem;
	--header-topbar-icon-size-search: 1.5rem;
	--header-topbar-icon-size-cart: 2.5rem;
	--header-topbar-icon-size-globe: 2rem;
	--header-topbar-height: 2.8125rem;

	/* Mobile hamburger → X morph. Single source of truth for the geometry and
	   timing curve, so the main header toggle and the About Products sub-nav
	   toggle animate identically instead of each carrying its own copy. */
	--renewal-burger-bar-w: 20px;
	--renewal-burger-bar-h: 2px;
	--renewal-burger-gap: 6px;
	--renewal-burger-dur: 0.42s;
	--renewal-burger-ease: cubic-bezier(0.4, 0.02, 0.2, 1);
}

.nav-search a,
.nav-language-toggle
{
	background-image: url('../design/search.png') !important;
	float: right;
	display: block;
	background-position: center center;
	background-repeat: no-repeat;
	background-size: var(--header-topbar-icon-size-search) var(--header-topbar-icon-size-search);
	text-indent:-99999em;
	white-space: nowrap;
	overflow: hidden;
	height: var(--header-topbar-height);
	width: var(--header-topbar-icon-box);
	padding: 0rem;
	margin: 0rem;
	margin-top: 0.5rem;
	z-index: 99 !important;
}

.nav-shop a
{
	float: right;
	display: block;
	height: var(--header-topbar-height);
	width: var(--header-topbar-icon-box);
	padding: 0;
	margin: 0;
	margin-top: 0.5rem;
	position: relative;
	text-indent: 0;
	white-space: normal;
	overflow: visible;
	z-index: 99 !important;
}

.nav-language-toggle
{
	display: block;
	float: right;
	width: var(--header-topbar-icon-box);
	height: var(--header-topbar-height);
	margin: 0.5rem 0 0;
	padding: 0;
	background-image: url('../design/icons/globe-icon.svg') !important;
	background-size: var(--header-topbar-icon-size-globe) var(--header-topbar-icon-size-globe);
	background-position: center center;
	background-repeat: no-repeat;
	background-color: transparent !important;
	border: 0;
	outline: none;
	cursor: pointer;
	/* Hide the visible label text; the anchor already exposes an aria-label
	   so the toggle remains accessible. Globe icon stands alone for parity
	   with the cart, person, and search icons. */
	font-size: 0;
	color: transparent;
	text-indent: -9999em;
	white-space: nowrap;
	overflow: hidden;
}

.nav-language--desktop
{
	position: relative;
	height: auto;
	overflow: visible;
	z-index: 2001;
}

#menu-menu-us .lang-item,
#menu-menu-jp .lang-item {
	display: none !important;
}

.nav-search a:hover,
.nav-search a:focus,
.nav-search a:focus-visible,
.nav-search a.touch-hover-active,
.nav-language-toggle:hover,
.nav-language-toggle:focus,
.nav-language-toggle:focus-visible,
.nav-language-toggle.touch-hover-active,
.nav-language.is-open .nav-language-toggle
{
	filter: brightness(0) saturate(100%) invert(18%) sepia(100%) saturate(7240%) hue-rotate(359deg) brightness(85%) contrast(118%);
	outline: none;
}

.header-cart-icon
{
	position: relative;
	display: block;
	width: 100%;
	height: 100%;
}

.header-cart-icon-art
{
	display: block;
	width: 100%;
	height: 100%;
	background-image: url('../design/shop.png') !important;
	background-position: center center;
	background-repeat: no-repeat;
	background-size: var(--header-topbar-icon-size-cart) var(--header-topbar-icon-size-cart);
	transition: filter 0.2s ease;
}

.nav-shop a:hover .header-cart-icon-art,
.nav-shop a:focus .header-cart-icon-art,
.nav-shop a:focus-visible .header-cart-icon-art,
.nav-shop a.touch-hover-active .header-cart-icon-art
{
	filter: brightness(0) saturate(100%) invert(18%) sepia(100%) saturate(7240%) hue-rotate(359deg) brightness(85%) contrast(118%);
}

.header-cart-badge
{
	position: absolute;
	top: -0.05rem;
	right: -0.15rem;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 1.25rem;
	height: 1.25rem;
	padding: 0 0.25rem;
	border-radius: 999px;
	background: #CC0000;
	color: #FFFFFF;
	font-family: "Montserrat-Bold", Helvetica, Arial, sans-serif;
	font-size: 0.65rem;
	line-height: 1;
	text-indent: 0;
	white-space: nowrap;
	box-sizing: border-box;
}

.header-cart-label
{
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

/* V77 — Person/account nav icon (shop funnel only). Matches .nav-shop sizing. */
.nav-account a
{
	float: right;
	display: block;
	height: var(--header-topbar-height);
	width: var(--header-topbar-icon-box);
	padding: 0;
	margin: 0;
	margin-top: 0.5rem;
	position: relative;
	text-indent: 0;
	white-space: normal;
	overflow: visible;
	color: #ffffff;
	z-index: 99 !important;
}

.header-account-icon
{
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 100%;
}

.header-account-icon-art
{
	display: block;
	width: var(--header-topbar-icon-size-cart);
	height: var(--header-topbar-icon-size-cart);
	color: inherit;
	transition: color 0.2s ease;
}

.nav-account a:hover .header-account-icon-art,
.nav-account a:focus .header-account-icon-art,
.nav-account a:focus-visible .header-account-icon-art,
.nav-account a.touch-hover-active .header-account-icon-art
{
	color: #e30613;
	outline: none;
}

.header-account-label
{
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

/* Language selector — same Spline.design style as main nav dropdown */
.nav-language-menu
{
	list-style: none;
	margin: 0;
	padding: 0.55rem 0 0.2rem;
	position: absolute;
	top: 100%;
	right: 0;
	inline-size: max-content;
	min-inline-size: 0;
	max-inline-size: calc(100vw - 1rem);
	background: rgba(10, 10, 12, 0.75);
	backdrop-filter: blur(18px) saturate(1.2);
	-webkit-backdrop-filter: blur(18px) saturate(1.2);
	border: 1px solid rgba(255, 255, 255, 0.1);
	border-radius: 14px;
	box-shadow: 0 12px 40px rgba(0, 0, 0, 0.5);
	opacity: 0;
	visibility: hidden;
	transform: translateY(-0.4rem);
	pointer-events: none;
	transition: opacity 0.3s ease, transform 0.3s ease, visibility 0.3s ease;
	z-index: 2100;
}

.nav-language-menu::before
{
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	bottom: 100%;
	height: 0.5rem;
}

.nav-language-menu li
{
	margin: 0;
	padding: 0;
	transition: background-color 0.15s ease;
}

.nav-language-menu li:hover
{
	background-color: rgba(255, 255, 255, 0.08);
}

.nav-language-menu li.touch-hover-active
{
	background-color: rgba(255, 255, 255, 0.08);
}

/* ==========================================================================
   Anchor-aware page utility
   Add `data-renewal-anchor-root` to a page root to opt into:
   - fixed main header parity
   - consistent hash anchor offsets under the main nav
   - optional secondary-nav offset via CSS var override
   ========================================================================== */
body:has([data-renewal-anchor-root]) header .contain-to-grid.sticky,
body:has([data-renewal-anchor-root]) header .contain-to-grid.fixed,
body.renewal-anchor-page-active header .contain-to-grid.sticky,
body.renewal-anchor-page-active header .contain-to-grid.fixed {
	position: fixed !important;
	top: 0 !important;
	left: 0 !important;
	width: 100% !important;
	z-index: 1200 !important;
}

body:has([data-renewal-anchor-root]),
body.renewal-anchor-page-active {
	scroll-padding-top: calc(
		var(--renewal-main-nav-height, 5.3125rem)
		+ var(--renewal-anchor-secondary-offset, 0px)
		+ var(--renewal-anchor-offset-extra, 0.5rem)
	);
}

[data-renewal-anchor-root] {
	--renewal-anchor-secondary-offset: 0px;
	--renewal-anchor-offset-extra: 0.5rem;
}

[data-renewal-anchor-root] [id] {
	scroll-margin-top: calc(
		var(--renewal-main-nav-height, 5.3125rem)
		+ var(--renewal-anchor-secondary-offset, 0px)
		+ var(--renewal-anchor-offset-extra, 0.5rem)
	);
}

body:has([data-renewal-anchor-root]) footer,
body.renewal-anchor-page-active footer {
	margin-top: 0 !important;
}

@media only screen and (min-width: 64rem) {
	.topbaricons {
		float: right;
		margin: 0;
		padding: 0;
	}

	.topbaricons::before,
	.topbaricons::after {
		content: " ";
		display: table;
	}

	.topbaricons::after {
		clear: both;
	}

	.topbaricons > li {
		float: left;
		position: relative;
	}

	.topbaricons > li > a,
	.topbaricons > li > .nav-language-toggle {
		float: none !important;
		margin-top: 0 !important;
	}

	.nav-language--desktop:hover .nav-language-toggle {
		filter: brightness(0) saturate(100%) invert(18%) sepia(100%) saturate(7240%) hue-rotate(359deg) brightness(85%) contrast(118%);
		outline: none;
	}

	.nav-language--desktop:hover .nav-language-menu {
		opacity: 1;
		visibility: visible;
		transform: translateY(0);
		pointer-events: auto;
	}
}

.nav-language.is-open .nav-language-menu
{
	opacity: 1;
	visibility: visible;
	transform: translateY(0);
	pointer-events: auto;
}

.nav-language-link
{
	display: flex;
	align-items: center;
	justify-content: flex-start;
	min-height: 0;
	padding: 0.35rem 0.85rem;
	font-family: "Montserrat-Bold", Helvetica, Arial, sans-serif;
	font-size: 0.85rem;
	font-weight: 700;
	letter-spacing: 0;
	white-space: nowrap;
	text-transform: uppercase;
	text-decoration: none !important;
	color: #ffffff;
	line-height: 1.3;
	transition: color 0.15s ease;
}

.nav-language-link:hover,
.nav-language-link:focus,
.nav-language-link:focus-visible,
.nav-language-menu li.touch-hover-active .nav-language-link
{
	color: #D90500;
	text-decoration: none !important;
}

.nav-language-link.is-active
{
	background-color: transparent;
	color: #ffffff;
	font-weight: 700;
}

.nav-language-mobile
{
	display: none !important;
}

@media only screen and (max-width: 63.9375rem) {
	.top-bar {
		position: relative;
	}

	.top-bar.is-language-open {
		overflow: visible;
	}

	.top-bar.is-language-open:not(.expanded) > .top-bar-section {
		display: none;
	}

	.top-bar .title-area {
		margin-right: 0 !important;
		padding-right: calc(var(--header-topbar-icon-box) * 3);
	}

	.top-bar.top-bar--icons-2 .title-area {
		padding-right: calc(var(--header-topbar-icon-box) * 2);
	}

	.top-bar.top-bar--icons-4 .title-area {
		padding-right: calc(var(--header-topbar-icon-box) * 4);
	}

	.topbaricons {
		position: absolute;
		top: 0;
		right: 0;
		transform: none;
		height: var(--header-topbar-height);
		margin: 0;
		padding: 0;
		display: flex;
		flex-direction: row;
		align-items: stretch;
		justify-content: flex-end;
		gap: 0;
		overflow: visible;
		z-index: 1312;
	}

	.topbaricons > li {
		float: none;
		position: relative;
		flex: 0 0 auto;
		width: var(--header-topbar-icon-box);
		margin: 0 !important;
		padding: 0 !important;
	}

	.topbaricons > li > a,
	.topbaricons > li > .nav-language-toggle {
		float: none !important;
		margin-top: 0 !important;
		width: 100%;
	}

	.nav-language--desktop {
		display: block !important;
		z-index: 1314;
	}
	.nav-language-menu {
		z-index: 1315;
	}

	.topbaricons .toggle-topbar.menu-icon {
		position: relative;
		right: auto;
		top: auto;
		margin: 0;
		height: var(--header-topbar-height);
		display: block;
		flex: 0 0 auto;
		z-index: 1316;
	}

	.topbaricons .toggle-topbar.menu-icon a {
		width: var(--header-topbar-icon-box);
		height: var(--header-topbar-height);
		line-height: var(--header-topbar-height);
		padding: 0;
		overflow: hidden;
		text-indent: -99999em;
	}

	/* ----------------------------------------------------------------------
	   Morphing hamburger → X (mobile only; Foundation hides .toggle-topbar at
	   min-width: 64rem, and every rule below lives inside this query).

	   Foundation draws the icon as three box-shadow rings on `a span::after`
	   (foundation.css), and `.top-bar.expanded` only recolours those rings to
	   grey — box-shadows cannot be transformed, so there is nothing to animate.
	   Here the icon is rebuilt as three real bars that rotate into an X, using
	   the same geometry and timing curve as the About Products sub-nav toggle
	   (the --renewal-burger-* tokens are the single source for both).

	   The bars are absolutely positioned against the already-relative <a>, so
	   the `text-indent: -99999em` that hides the "Menu" label never touches
	   them, and the icon box keeps its width — no layout shift.
	   ---------------------------------------------------------------------- */
	.topbaricons .toggle-topbar.menu-icon a span::before,
	.topbaricons .toggle-topbar.menu-icon a span::after,
	.topbaricons .toggle-topbar.menu-icon a::after {
		content: "";
		display: block;
		position: absolute;
		left: 50%;
		top: 50%;
		width: var(--renewal-burger-bar-w);
		height: var(--renewal-burger-bar-h);
		margin: 0 0 0 calc(var(--renewal-burger-bar-w) / -2);
		border-radius: 2px;
		background: #FFFFFF;
		box-shadow: none;
		transform-origin: center;
		transition: transform var(--renewal-burger-dur) var(--renewal-burger-ease),
		            background-color var(--renewal-burger-dur) ease,
		            opacity calc(var(--renewal-burger-dur) * 0.6) ease;
	}

	/* Top bar. */
	.topbaricons .toggle-topbar.menu-icon a span::before {
		transform: translate(0, calc(var(--renewal-burger-gap) * -1 - var(--renewal-burger-bar-h) / 2));
	}

	/* Middle bar — fades out so the two remaining bars read as a clean X. */
	.topbaricons .toggle-topbar.menu-icon a::after {
		transform: translate(0, calc(var(--renewal-burger-bar-h) / -2));
	}

	/* Bottom bar. */
	.topbaricons .toggle-topbar.menu-icon a span::after {
		right: auto;
		transform: translate(0, calc(var(--renewal-burger-gap) - var(--renewal-burger-bar-h) / 2));
	}

	/* Foundation's hover rule re-declares the box-shadow rings; keep them off. */
	.topbaricons .toggle-topbar.menu-icon a span:hover::after {
		box-shadow: none;
	}

	/* Open state. Foundation already puts `.expanded` on the bar, so the morph
	   needs no JS and no second click listener. Grey tint retained. */
	.top-bar.expanded .topbaricons .toggle-topbar.menu-icon a span::before,
	.top-bar.expanded .topbaricons .toggle-topbar.menu-icon a span::after,
	.top-bar.expanded .topbaricons .toggle-topbar.menu-icon a::after {
		background: #888888;
		box-shadow: none;
	}

	.top-bar.expanded .topbaricons .toggle-topbar.menu-icon a span::before {
		transform: translate(0, calc(var(--renewal-burger-bar-h) / -2)) rotate(45deg);
	}

	.top-bar.expanded .topbaricons .toggle-topbar.menu-icon a::after {
		opacity: 0;
	}

	.top-bar.expanded .topbaricons .toggle-topbar.menu-icon a span::after {
		transform: translate(0, calc(var(--renewal-burger-bar-h) / -2)) rotate(-45deg);
	}

	@media (prefers-reduced-motion: reduce) {
		.topbaricons .toggle-topbar.menu-icon a span::before,
		.topbaricons .toggle-topbar.menu-icon a span::after,
		.topbaricons .toggle-topbar.menu-icon a::after {
			transition: none;
		}
	}
}

/* ==========================================================================
   Dropdown panel — Spline.design style: rounded, blurred, dark transparency.
   Applied to main nav dropdowns, language selector, and mobile hamburger.
   ========================================================================== */
.top-bar-section .dropdown
{
	background: rgba(10, 10, 12, 0.75) !important;
	backdrop-filter: blur(18px) saturate(1.2);
	-webkit-backdrop-filter: blur(18px) saturate(1.2);
	border: 1px solid rgba(255, 255, 255, 0.1);
	border-radius: 14px !important;
	overflow: hidden;
	padding: 0 !important;
	box-shadow: 0 12px 40px rgba(0, 0, 0, 0.5);
}

.top-bar-section .dropdown li
{
	background: transparent !important;
	transition: background-color 0.15s ease;
}

.top-bar-section .dropdown li:hover
{
	background-color: rgba(255, 255, 255, 0.08) !important;
}

.top-bar-section .dropdown li.touch-hover-active
{
	background-color: rgba(255, 255, 255, 0.08) !important;
}

/* Dropdown corner-radius: first & last visible .menu-item match the 14px
   container radius so hover backgrounds don't bleed past rounded edges.
   Uses :has() and sibling combinators to skip Foundation-injected <li>s. */
.top-bar-section .dropdown > li.menu-item:not(li.menu-item ~ *)
{
	border-radius: 14px 14px 0 0;
}

.top-bar-section .dropdown > li.menu-item:not(:has(~ li.menu-item))
{
	border-radius: 0 0 14px 14px;
}

.top-bar-section .dropdown > li.menu-item:not(li.menu-item ~ *):not(:has(~ li.menu-item))
{
	border-radius: 14px;
}

.top-bar-section .dropdown li a
{
	background-color: transparent !important;
	text-decoration: none;
	transition: color 0.15s ease;
	padding-top: 0.5rem !important;
	padding-bottom: 0.5rem !important;
	line-height: 1.4 !important;
}

.top-bar-section .dropdown li a:hover
{
	text-decoration: none;
	color: #D90500 !important;
}

.top-bar-section .dropdown li.touch-hover-active > a
{
	text-decoration: none;
	color: #D90500 !important;
}

body.renewal-nav-pointer-down .top-bar-section .has-dropdown > .dropdown
{
	clip: rect(1px, 1px, 1px, 1px);
	height: 1px !important;
	overflow: hidden !important;
	position: absolute !important;
	width: 1px !important;
	display: none !important;
	visibility: hidden !important;
	opacity: 0 !important;
	pointer-events: none !important;
}

body.renewal-nav-pointer-down .top-bar-section .has-dropdown.renewal-hover-active > .dropdown
{
	height: auto !important;
	width: auto !important;
	overflow: visible !important;
	clip: auto !important;
	display: block !important;
	position: absolute !important;
	visibility: visible !important;
	opacity: 1 !important;
	pointer-events: auto !important;
}

body.renewal-nav-pointer-down .top-bar-section .has-dropdown.hover:not(.renewal-hover-active) > .dropdown,
body.renewal-nav-pointer-down .top-bar-section .has-dropdown.not-click:not(.renewal-hover-active):hover > .dropdown,
body.renewal-nav-pointer-down .top-bar-section .has-dropdown:not(.renewal-hover-active) > a:focus + .dropdown
{
	clip: rect(1px, 1px, 1px, 1px) !important;
	height: 1px !important;
	overflow: hidden !important;
	position: absolute !important;
	width: 1px !important;
	display: none !important;
	visibility: hidden !important;
	opacity: 0 !important;
	pointer-events: none !important;
}

@media only screen and (min-width: 40.0625em) {
	.top-bar-section li.parent-link.hide-for-medium-up
	{
		display: none !important;
	}
}

@media only screen and (min-width: 64rem) {
	.top-bar-section.renewal-nav-single-owner .menu > .has-dropdown > .dropdown
	{
		clip: rect(1px, 1px, 1px, 1px) !important;
		display: none !important;
		height: 1px !important;
		overflow: hidden !important;
		pointer-events: none !important;
		position: absolute !important;
		visibility: hidden !important;
		width: 1px !important;
	}

	.top-bar-section.renewal-nav-single-owner .menu > .has-dropdown.renewal-hover-active > .dropdown
	{
		clip: auto !important;
		display: block !important;
		height: auto !important;
		overflow: visible !important;
		pointer-events: auto !important;
		position: absolute !important;
		visibility: visible !important;
		width: auto !important;
	}
}

body.renewal-nav-pointer-down .top-bar-section li.renewal-hover-active > a:not(.button)
{
	color: #FFFFFF;
}
.top-bar-selection #menu-menu-us
{
	height:1rem;
}
.active
{
/* 	text-decoration: underline; */
}
.toggle-topbar.menu-icon
{
/* 	margin-right: 6rem; */
}
.top-bar-section ul li
{
/* 	float: left; */
}

/* ==========================================================================
   Mobile hamburger menu — dark drawer + frosted isolation veil
   Applied when the top-bar is expanded on mobile (≤ 48rem / 768px).
   ========================================================================== */
@media only screen and (max-width: 48rem), only screen and (max-width: 58.25rem) and (orientation: landscape) {
	.top-bar.expanded .top-bar-section
	{
		position: fixed;
		top: var(--renewal-main-nav-height);
		left: 0;
		right: 0;
		width: 100vw;
		z-index: 1310;
		max-height: calc(100dvh - var(--renewal-main-nav-height));
		overflow-x: hidden;
		overflow-y: auto;
		transform: translate3d(0, 0, 0);
		overscroll-behavior: contain;
		touch-action: pan-y;
		background: #030303 !important;
		backdrop-filter: none;
		-webkit-backdrop-filter: none;
		border-bottom: 1px solid rgba(217, 217, 217, 0.72);
		border-radius: 0;
		box-shadow: none;
	}

	.top-bar.expanded .top-bar-section ul
	{
		background: transparent !important;
	}

	.top-bar.expanded .top-bar-section ul li
	{
		background: transparent !important;
		transition: background-color 0.15s ease;
	}

	.top-bar.expanded .top-bar-section ul li:hover
	{
		background-color: rgba(255, 255, 255, 0.08) !important;
	}

	.top-bar.expanded .top-bar-section ul li.touch-hover-active
	{
		background-color: rgba(255, 255, 255, 0.08) !important;
	}

	.top-bar.expanded .top-bar-section ul li > a
	{
		background: transparent !important;
		padding-top: 0.45rem !important;
		padding-bottom: 0.45rem !important;
		line-height: 1.3 !important;
	}

	.top-bar.expanded .top-bar-section .dropdown
	{
		z-index: 1320;
		background: rgba(255, 255, 255, 0.04) !important;
		backdrop-filter: none;
		border: none;
		border-radius: 0 !important;
		box-shadow: none;
		padding: 0 !important;
	}

	.top-bar.expanded .top-bar-section .dropdown > li.menu-item
	{
		border-radius: 0 !important;
	}

	.top-bar.expanded .top-bar-section .dropdown li a
	{
		padding-left: 2rem !important;
	}

	body.renewal-mobile-menu-open
	{
		overflow: hidden;
	}

	.renewal-mobile-menu-veil
	{
		position: fixed;
		left: 0;
		right: 0;
		bottom: 0;
		top: var(--renewal-mobile-menu-veil-top, var(--renewal-main-nav-height));
		z-index: 1305;
		opacity: 0;
		pointer-events: none;
		background: rgba(3, 3, 3, 0.22);
		backdrop-filter: blur(14px) brightness(60%);
		-webkit-backdrop-filter: blur(14px) brightness(60%);
		transition: opacity 0.22s ease;
	}

	.renewal-mobile-menu-veil.is-active
	{
		opacity: 1;
		pointer-events: auto;
	}

	body.renewal-mobile-menu-open .back-to-top-trapezoid-wrap,
	body.renewal-dp-subnav-open .back-to-top-trapezoid-wrap
	{
		z-index: 1200;
	}
}

/* ==========================================================================
   Mobile portrait accordion (≤ 480px): Blizzard-style parent/child hierarchy.
   ========================================================================== */
@media only screen and (max-width: 30rem), only screen and (max-width: 58.25rem) and (orientation: landscape) {
	.top-bar.expanded .top-bar-section
	{
		text-align: left;
	}

	.top-bar.expanded .top-bar-section .menu > .menu-item-has-children > a
	{
		position: relative;
		display: flex;
		align-items: center;
		justify-content: flex-start;
		gap: 0.58rem;
		min-height: 44px;
		padding: 0.625rem 0.9375rem !important;
		text-align: left;
		background-color: rgba(255, 255, 255, 0.04) !important;
	}

	.top-bar.expanded .top-bar-section .menu > .menu-item-has-children > a::after
	{
		content: '';
		display: block;
		position: relative;
		width: 0.42rem;
		height: 0.42rem;
		border: 0;
		border-right: 1.5px solid rgba(255, 255, 255, 0.88);
		border-bottom: 1.5px solid rgba(255, 255, 255, 0.88);
		transform: rotate(45deg);
		transform-origin: center;
		transition: transform 0.25s ease, border-color 0.2s ease;
		pointer-events: none;
		flex: 0 0 auto;
		align-self: center;
	}

	.top-bar.expanded .top-bar-section .menu > .menu-item-has-children.is-expanded > a
	{
		background-color: rgba(217, 5, 0, 0.18) !important;
	}

	.top-bar.expanded .top-bar-section .menu > .menu-item-has-children.is-expanded > a::after
	{
		transform: translateY(0.04rem) rotate(-135deg);
		border-color: #ffffff;
	}

	.top-bar.expanded .top-bar-section .menu > .menu-item-has-children > .sub-menu
	{
		position: static !important;
		top: auto !important;
		left: auto !important;
		right: auto !important;
		display: block !important;
		width: 100% !important;
		height: auto !important;
		clip: auto !important;
		max-height: 0;
		margin: 0 !important;
		padding: 0 !important;
		overflow: hidden;
		background: rgba(255, 255, 255, 0.03) !important;
		border-radius: 0 !important;
		box-shadow: none !important;
		backdrop-filter: none !important;
		-webkit-backdrop-filter: none !important;
		transition: max-height 0.32s ease;
	}

	.top-bar.expanded .top-bar-section .menu > .menu-item-has-children > .sub-menu > .js-generated
	{
		display: none !important;
	}

	.top-bar.expanded .top-bar-section .menu > .menu-item-has-children > .sub-menu > li.title.back,
	.top-bar.expanded .top-bar-section .menu > .menu-item-has-children > .sub-menu > li.parent-link,
	.top-bar.expanded .top-bar-section .menu > .menu-item-has-children > .sub-menu > li > a.parent-link
	{
		display: none !important;
	}

	.top-bar.expanded .top-bar-section .menu > .menu-item-has-children > .sub-menu > li > a
	{
		display: block;
		min-height: 44px;
		padding: 0.56rem 1rem 0.56rem 1.4rem !important;
		text-align: left;
	}
}
