/**
 * Contains functions and mixins for breakpoints.
 */
/**
 * Map manipulation functions.
 */
.menu-bar {
  width: 100%;
  display: flex;
  padding: 0.5rem 0;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.05);
  justify-content: space-between;
  z-index: 10;
  background: #002957; }
  .menu-bar .contextual-region {
    position: initial !important; }
  .menu-bar .logo {
    flex: 1;
    background-image: var(--logo-color-inline);
    background-size: contain;
    background-repeat: no-repeat;
    filter: brightness(0) invert(1); }
    .menu-bar .logo a {
      color: transparent;
      border: none;
      min-width: 15rem;
      padding: 2.4rem; }
    @media (min-width: 76.5rem) {
      .menu-bar .logo {
        flex: 0;
        margin-left: 4.8rem;
        filter: none; } }
  .menu-bar input[type="checkbox"] {
    display: none; }
  .menu-bar input[type="checkbox"] + * {
    display: none;
    position: absolute !important;
    top: 100%;
    width: 100%;
    z-index: 10;
    background-color: var(--color-navy);
    overflow-x: hidden; }
    .menu-bar input[type="checkbox"] + *.menu-panel {
      top: 0;
      left: 100vw;
      display: block; }
    @media (min-width: 76.5rem) {
      .menu-bar input[type="checkbox"] + * {
        background-color: transparent; } }
  .menu-bar input[type="checkbox"]:checked + * {
    display: block;
    left: inherit;
    right: 0;
    width: 100%; }
    .menu-bar input[type="checkbox"]:checked + *.menu-panel {
      left: 0;
      right: 0;
      bottom: 0;
      transition: all 0.35s;
      overflow-y: auto;
      overflow-x: hidden; }
  .menu-bar label[for] {
    color: var(--color-white);
    display: inline-block;
    box-sizing: border-box;
    cursor: pointer;
    padding: 2.4rem 1rem; }
    .menu-bar label[for]:before {
      content: '';
      display: inline-block;
      background-repeat: no-repeat;
      background-position: center center;
      background-size: contain;
      margin-right: 0.5em;
      width: 1em;
      height: 1em;
      flex-shrink: 0;
      background-image: var(--icon-hamburger);
      background-image: var(--icon-search);
      margin: 0;
      filter: brightness(0) invert(1); }
      @media (min-width: 76.5rem) {
        .menu-bar label[for]:before {
          filter: none; } }
    .menu-bar label[for] span {
      display: none; }
    @media (min-width: 82rem) {
      .menu-bar label[for] {
        padding: 2.4rem; } }
  .menu-bar label.block-toggle[for=system-menu-blockncc-block]::before {
    width: 20px;
    height: 16px; }
  .menu-bar div {
    border: none; }
    .menu-bar div .gsc-input .gsc-input-box {
      min-height: 32px;
      padding-left: 35px;
      background-image: var(--icon-search);
      background-repeat: no-repeat;
      background-position: 15px center;
      border-color: #ddd;
      max-width: calc(100% - 50px);
      border-radius: 0; }
      .menu-bar div .gsc-input .gsc-input-box input.gsc-input {
        min-height: 32px;
        margin-top: 0 !important;
        font-family: var(--font-family); }
      .menu-bar div .gsc-input .gsc-input-box a.gsst_a {
        padding: 3px;
        padding-bottom: 0; }
        .menu-bar div .gsc-input .gsc-input-box a.gsst_a span.gscb_a {
          color: #ddd; }
    @media screen and (max-width: 1223px) {
      .menu-bar div table.gsc-search-box {
        margin-bottom: 10px; }
        .menu-bar div table.gsc-search-box .gsc-input {
          padding: 0 0 0 15px; } }
  .menu-bar a {
    color: var(--color-white);
    font-weight: bold;
    border-bottom: 1px solid var(--color-gray-o2);
    padding: 2.4rem;
    box-sizing: border-box;
    display: block;
    cursor: pointer;
    text-decoration: none; }
  .menu-bar ul,
  .menu-bar li {
    margin: 0;
    padding: 0;
    list-style: none; }
  .menu-bar .block-search ul {
    display: block; }
  .menu-bar h2 {
    color: var(--color-white);
    font-size: var(--font-size-base);
    border-bottom: 1px solid var(--color-gray-o2);
    padding: 2.5rem;
    margin: 0; }
  .menu-bar label.menu-collapse {
    font-weight: bold;
    border-bottom: 1px solid var(--color-gray-o2);
    width: 100%; }
    .menu-bar label.menu-collapse:before {
      content: '';
      display: inline-block;
      background-repeat: no-repeat;
      background-position: center center;
      background-size: contain;
      margin-right: 0.5em;
      width: 1em;
      height: 1em;
      flex-shrink: 0;
      background-image: var(--icon-back); }
  .menu-bar label.menu-expand {
    float: right;
    padding: 2.4rem;
    margin-top: -72px; }
    @media (min-width: 76.5rem) {
      .menu-bar label.menu-expand {
        margin-top: -7.3rem; } }
    .menu-bar label.menu-expand span {
      display: none; }
    .menu-bar label.menu-expand:before {
      content: '';
      display: inline-block;
      background-repeat: no-repeat;
      background-position: center center;
      background-size: contain;
      margin-right: 0.5em;
      width: 1em;
      height: 1em;
      flex-shrink: 0;
      background-image: var(--icon-forward); }
  @media (min-width: 76.5rem) {
    .menu-bar {
      position: absolute;
      top: calc(100% + 0.8rem);
      background-color: var(--color-white);
      align-items: flex-end;
      padding: 0;
      box-sizing: border-box;
      left: -4.8rem;
      width: calc(100% + 7.2rem); }
      body.path-admin .menu-bar {
        position: relative; }
      .menu-bar .menu a,
      .menu-bar .menu h2 {
        color: var(--color-navy);
        font-size: var(--font-size-base);
        padding: var(--space-s);
        margin: 0; }
      .menu-bar .menu a {
        border-bottom: 1px solid var(--color-gray-7);
        text-transform: none;
        font-weight: normal; }
      .menu-bar .menu li {
        display: block; }
        .menu-bar .menu li .block-children {
          display: block;
          position: initial;
          background-color: transparent;
          top: auto;
          padding: 0; }
      .menu-bar .menu-style-standard a {
        display: flex;
        font-weight: normal; }
        .menu-bar .menu-style-standard a:before {
          content: '';
          display: inline-block;
          background-repeat: no-repeat;
          background-position: center center;
          background-size: contain;
          margin-right: 0.5em;
          width: 1em;
          height: 1em;
          flex-shrink: 0;
          display: block;
          background-size: var(--font-size-base);
          width: var(--font-size-l);
          height: var(--font-size-l);
          flex-shrink: 0;
          background-image: var(--icon-follow-purple);
          filter: var(--color-accent-filter); }
      .menu-bar .menu-style-block {
        float: left; }
        .menu-bar .menu-style-block a {
          position: relative;
          display: block;
          width: 22rem;
          height: 22rem;
          margin-right: var(--space-l);
          background-color: var(--color-gray-9);
          padding: var(--space-l);
          border: none; }
          .menu-bar .menu-style-block a:before {
            position: absolute;
            bottom: var(--space-l);
            left: var(--space-l);
            border-radius: 50%;
            border: 2px solid var(--color-accent);
            padding: var(--font-size-s);
            background-size: var(--font-size-xs) var(--font-size-xs); }
          .menu-bar .menu-style-block a.is-active {
            background-color: var(--color-accent);
            color: var(--color-white); }
            .menu-bar .menu-style-block a.is-active:before {
              filter: brightness(0) invert(1); }
      .menu-bar .menu-style-column {
        float: left;
        width: 16vw;
        min-width: 27rem;
        padding: var(--space-l);
        margin-right: var(--space-m); }
        .menu-bar .menu-style-column label {
          display: none; }
        .menu-bar .menu-style-column .menu-panel {
          position: relative;
          left: 0;
          overflow: auto; }
      .menu-bar .menu-style-column-highlighted {
        background-color: var(--color-gray-9); }
        .menu-bar .menu-style-column-highlighted a,
        .menu-bar .menu-style-column-highlighted h2 {
          border: none; } }

#block-anonymous a.menu-link-0,
#block-useraccountmenu a.menu-link-0 {
  flex-flow: row-reverse !important; }

ul.sf-menu li {
  position: unset; }
  ul.sf-menu li:hover > ul, ul.sf-menu li.sfHover > ul {
    top: 7rem;
    width: 99.5em !important;
    backface-visibility: hidden;
    opacity: 1;
    padding: var(--space-xl) 0;
    box-shadow: 0 0.5rem 0.8rem black;
    background: #fff; }

ul.sf-menu.sf-style-white {
  margin-bottom: 1em;
  padding: 0;
  display: flex;
  flex-direction: row;
  list-style: none;
  justify-content: center; }
  ul.sf-menu.sf-style-white a,
  ul.sf-menu.sf-style-white a:visited {
    border: none;
    font-size: var(--font-size-xs);
    text-transform: uppercase;
    font-weight: bold;
    white-space: nowrap;
    color: #222;
    background: #fff; }
  ul.sf-menu.sf-style-white ul li a,
  ul.sf-menu.sf-style-white ul li a:visited {
    display: flex;
    font-weight: normal;
    border-bottom: 1px solid var(--color-gray-7);
    text-transform: none;
    font-weight: normal;
    color: #10519b;
    font-size: var(--font-size-base);
    padding: var(--space-s) var(--space-xl);
    margin: 0;
    align-items: center; }
  ul.sf-menu.sf-style-white ul li a:hover,
  ul.sf-menu.sf-style-white ul li a.focus {
    color: #1197f0; }
  ul.sf-menu.sf-style-white ul li a.sf-depth-2:before {
    content: '';
    display: inline-block;
    background-repeat: no-repeat;
    background-position: center center;
    background-size: contain;
    margin-right: 0.5em;
    width: 1em;
    height: 1em;
    flex-shrink: 0;
    display: block;
    background-size: var(--font-size-base);
    width: var(--font-size-l);
    height: var(--font-size-l);
    flex-shrink: 0;
    background-image: var(--icon-follow-purple);
    filter: var(--color-accent-filter);
    order: 2; }

ul.sf-menu.sf-style-white li:hover,
ul.sf-menu.sf-style-white li.sfHover,
ul.sf-menu.sf-style-white a.is-active,
ul.sf-menu.sf-style-white a:focus,
ul.sf-menu.sf-style-white a:hover,
ul.sf-menu.sf-style-white span.nolink:hover,
ul.sf-menu.sf-style-white li li,
ul.sf-menu.sf-style-white.sf-navbar > li > ul {
  background: #fff;
  vertical-align: baseline; }

div.sf-accordion-toggle.sf-style-white a {
  border: none;
  background: transparent; }

div.sf-accordion-toggle.sf-style-white a.sf-expanded,
ul.sf-menu.sf-style-white.sf-accordion li.sf-expanded {
  background: transparent; }

.sf-accordion-toggle span {
  display: none; }

ul.sf-menu.sf-accordion.sf-expanded {
  width: 100vw;
  left: 0 !important;
  position: absolute;
  display: block;
  margin-top: 4.2rem; }

ul.sf-menu.sf-style-white.sf-accordion li {
  background: var(--color-navy); }
  ul.sf-menu.sf-style-white.sf-accordion li a {
    color: var(--color-white);
    font-weight: bold;
    border-bottom: 1px solid var(--color-gray-o2);
    padding: 2.4rem;
    box-sizing: border-box;
    display: block;
    cursor: pointer;
    text-decoration: none;
    text-transform: none;
    font-size: var(--font-size-base);
    background: var(--color-navy); }

ul.sf-menu.sf-style-white.sf-accordion li a.sf-accordion-button {
  position: relative;
  float: right; }

div.sf-accordion-toggle.sf-style-white > a:after {
  content: '';
  display: inline-block;
  background-repeat: no-repeat;
  background-position: center center;
  background-size: contain;
  margin-right: 0.5em;
  width: 1em;
  height: 1em;
  flex-shrink: 0;
  background-image: var(--icon-hamburger);
  margin: 0;
  filter: brightness(0) invert(1);
  font-size: 1em;
  top: 100%;
  right: 2em; }

div.sf-accordion-toggle.sf-style-white .sf-expanded:after {
  background-image: var(--icon-ncc-x-close); }

ul.sf-menu.sf-style-white.sf-accordion li.sf-expanded a {
  color: #fff;
  display: flex;
  order: 1;
  justify-content: space-between;
  text-wrap: wrap; }
  ul.sf-menu.sf-style-white.sf-accordion li.sf-expanded a:hover {
    color: #1197f0; }

@media (max-width: 1224px) {
  ul.sf-menu li:hover > ul, ul.sf-menu li.sfHover > ul {
    padding: 0; }
  ul.sf-menu ul.sf-menu li {
    position: unset; }
    ul.sf-menu ul.sf-menu li:hover > ul, ul.sf-menu ul.sf-menu li.sfHover > ul {
      width: 100em !important; }
  ul.sf-menu ul.sf-menu.sf-style-white ul li a.sf-depth-2:before {
    order: 2; }
  ul.sf-menu li:hover > ul, ul.sf-menu li.sfHover > ul {
    width: 100% !important; }
  .ncc ul.sf-menu li li:hover > ul, .ncc ul.sf-menu li li.sfHover > ul,
  .watermark ul.sf-menu li li:hover > ul, .watermark ul.sf-menu li li.sfHover > ul {
    display: none; }
  .ncc ul.sf-menu li:hover > ul, .ncc ul.sf-menu li.sfHover > ul,
  .watermark ul.sf-menu li:hover > ul, .watermark ul.sf-menu li.sfHover > ul {
    width: 100% !important; } }

ul.sf-menu.sf-style-white li.sf-multicolumn-wrapper ol,
ul.sf-menu.sf-style-white li.sf-multicolumn-wrapper ol li {
  margin: 0;
  padding: 0;
  width: 100% !important;
  overflow: hidden; }

li.sf-multicolumn-wrapper {
  width: 100% !important; }

.sf-multicolumn-column {
  width: 100% !important; }

ul.sf-menu li.sf-multicolumn-column:nth-child(1):nth-last-child(2), ul.sf-menu li.sf-multicolumn-column:nth-child(2):nth-last-child(1) {
  width: 50% !important; }

.ncc ul.sf-menu.sf-style-white,
.watermark ul.sf-menu.sf-style-white {
  float: none; }

.ncc ul.sf-menu.sf-accordion, .ncc ul.sf-menu.sf-accordion ul, .ncc ul.sf-menu.sf-accordion li,
.watermark ul.sf-menu.sf-accordion, .watermark ul.sf-menu.sf-accordion ul, .watermark ul.sf-menu.sf-accordion li {
  float: none; }

.ncc ul.sf-menu li:hover > ul,
.ncc ul.sf-menu li.sfHover > ul,
.watermark ul.sf-menu li:hover > ul,
.watermark ul.sf-menu li.sfHover > ul {
  top: 12rem;
  width: 99.5em !important; }

.ncc .tbm .tbm-item.level-1 a {
  font-size: 12px; }

@media (min-width: 76.5rem) {
  .ncc .menu-bar, .watermark .menu-bar {
    display: inline-block; } }

@media (min-width: 76.5rem) {
  .ncc .menu-bar .logo, .watermark .menu-bar .logo {
    display: inline-block;
    max-width: 45%; } }

@media (min-width: 76.5rem) {
  .ncc .menu-bar .region.region-search, .ncc .menu-bar span.subscribe, .watermark .menu-bar .region.region-search, .watermark .menu-bar span.subscribe {
    display: inline-block;
    float: right; } }

li.tbm-group-title a {
  font-size: large !important;
  font-weight: 600 !important; }

@media (min-width: 76.5rem) {
  .watermark span.subscribe::before, .ncc span.subscribe::before {
    top: 32%; }
  .watermark .menu-bar, .ncc .menu-bar {
    grid-template-columns: repeat(1, 1fr);
    display: grid; }
    .watermark .menu-bar .logo, .ncc .menu-bar .logo {
      grid-column: 1 / 2;
      grid-row: 1; }
    .watermark .menu-bar .region-search, .ncc .menu-bar .region-search {
      order: 2;
      grid-column: 3 / 4;
      grid-row: 1; }
    .watermark .menu-bar span.subscribe, .ncc .menu-bar span.subscribe {
      order: 3;
      grid-column: 4 / 5;
      grid-row: 1; }
    .watermark .menu-bar .region-menu, .ncc .menu-bar .region-menu {
      grid-column: 1 / 4;
      grid-row: 2; } }

@media (max-width: 1450px) {
  .ncc ul.sf-menu.sf-style-white a, .ncc ul.sf-menu.sf-style-white a:visited {
    font-size: 11px; }
  .ncc ul.sf-menu.sf-style-white {
    justify-content: flex-start; } }

@media (max-width: 450px) {
  .menu-bar a {
    padding: 2.4rem 0; }
  .menu-bar .logo {
    background-position: center; }
    .menu-bar .logo a {
      min-width: auto; }
  div.sf-accordion-toggle.sf-style-white a {
    padding: 2em 3em 1em 1em; }
  div.sf-accordion-toggle.sf-style-white > a:after {
    top: 75%;
    right: 1em; }
  .menu-bar label[for] {
    padding: 2.4rem 2rem 2.4rem 0; } }
