@font-face {
  font-family: 'Space Mono';
  font-style: normal;
  font-weight: 700;
  src: url('../../fonts/2023/spacemono.bold.woff2');
}

@font-face {
  font-family: 'Rational Display';
  font-style: normal;
  font-weight: 500;
  src: url('../../fonts/2023/rationaldisplay.medium.woff2');
}

@font-face {
  font-family: 'Rational Display';
  font-style: normal;
  font-weight: 600;
  src: url('../../fonts/2023/rationaldisplay.semibold.woff2');
}

@font-face {
  font-family: 'Rational Display';
  font-style: normal;
  font-weight: 700;
  src: url('../../fonts/2023/rationaldisplay.bold.woff2');
}

@media (max-width: 699px) {
  body.-has-menu-open {
    overflow: hidden;
  }
}

.rb-header {
  display: flex;
  align-items: center;
  height: 2.75rem;
  color: #004;
  background-color: #fff;
  position: sticky;
  top: 0;
  z-index: 10;
  border-bottom: 0.0625rem solid transparent;
  border-top: 0.0625rem solid transparent;

  -webkit-font-smoothing: antialiased;
  font-family: 'Rational Display', system-ui, sans-serif;
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: -0.01em;
}

@media (min-width: 700px) {
  .rb-header {
    height: 4.5rem;
  }
}

@media (min-width: 1280px) {
  .rb-header {
    height: 5.5rem;
  }
}

.rb-header.-has-menu-open {
  background-color: #fff;
}

@media (max-width: 699px) {
  .rb-header.-has-menu-open {
    position: fixed;
    top: 0;
    width: 100%;
  }
}

.rb-header.-window-scrolled-true:not(.-has-menu-open) {
  border-color: #c4c6c8;
}

.rb-header button {
  width: max-content;
  border: none;
  padding: 0;
  outline: 0;
  background-color: transparent;
  color: inherit;
}

.rb-header li {
  border: 0;
  margin: 0;
  padding: 0;
  outline: 0;
  color: inherit;
  display: block;
}

.rb-header a {
  display: block;
  text-decoration: none;
  color: inherit;
}

.rb-header p {
  margin: 0;
}

.rb-header a.cta-link {
  margin: -0.25rem;
  padding: 0.25rem;
}

.rb-header a span.cta-link,
.rb-header a.cta-link {
  color: #ee8469;
  display: block;
  max-width: 100%;
  width: max-content;

  -webkit-font-smoothing: antialiased;
  font-family: 'Space Mono', ui-monospace, monospace;
  font-size: 16px;
  font-weight: 700;
  letter-spacing: 0.8px;
  line-height: 1.5;
  text-transform: uppercase;
}

.rb-header a:hover span.cta-link {
  text-decoration: underline;
}

@media (min-width: 700px) {
  .rb-header .subnav .subnav-card .cta-link {
    align-self: end;
    grid-row: 2;
  }
}

@media (min-width: 700px) and (max-width: 1279px) {
  .rb-header .subnav .highlight-bar .cta-link {
    justify-self: end;
  }
}

.rb-header img {
  display: flex;
  vertical-align: baseline;
}

.rb-header .set-bg-pulse {
  color: #fff;
  background-color: #3204ad;
}

.rb-header .set-bg-yellow {
  color: #004;
  background-color: #eceb7f;
}

.rb-header .set-bg-pulse-dark {
  color: #fff;
  background-color: #004;
}

.rb-header .layout-container {
  width: 100%;
  max-width: calc(100vw - 2rem);
  margin: 0 auto;
}

@media (min-width: 700px) {
  .rb-header .layout-container {
    max-width: calc(100vw - 4rem);
  }
}

@media (min-width: 1000px) {
  .rb-header .layout-container {
    max-width: calc(100vw - 5rem);
  }
}

@media (min-width: 1440px) {
  .rb-header .layout-container {
    max-width: 1360px;
  }
}

.rb-header .header-row {
  display: flex;
  align-items: center;
  gap: 1.5rem;
  justify-content: space-between;
  vertical-align: baseline;
}

@media (min-width: 1280px) {
  .rb-header .header-row {
    gap: 3.25rem;
  }
}

.rb-header .logo-link {
  transform: translateZ(0);
  margin: -0.25rem;
  padding: 0.25rem;
  transition: color 0.2s ease-out;
}

.rb-header .logo-link img {
  vertical-align: bottom;
  max-width: 6.5rem;
}

@media (min-width: 700px) {
  .rb-header .logo-link img {
    max-width: calc(100vw - 2rem);
  }
}

@media (min-width: 1440px) {
  .rb-header .logo-link img {
    max-width: 1360px;
  }
}

.rb-header .header-row .logo-link .rb-logo-svg {
  /* https://css-tricks.com/change-color-of-svg-on-hover/ */
  display: block;
  -webkit-mask: url('../../img/logo/2023/logo.svg');
  -webkit-mask-size: cover;
  width: 132px;
  height: 32px;
  background: black;
}

.rb-header .header-row .logo-link:hover .rb-logo-svg {
  background: #3204ad;
}

@media (min-width: 1280px) {
  .rb-header .header-row .logo-link {
    position: relative;
    top: -0.203125rem;
  }
}

.rb-header .menu-group {
  display: flex;
  align-items: center;
  flex-grow: 1;
}

@media (max-width: 699px) {
  .rb-header .menu-group {
    display: none;
  }
}

@media (min-width: 700px) {
  .rb-header .menu-group {
    justify-content: flex-end;
  }
}

@media (max-width: 699px) {
  .rb-header .menu-group.-menu-open {
    background-color: #fff;
    display: flex;
    flex-direction: column;
    gap: 2.5rem;
    height: calc(100vh - 2.75rem);
    justify-content: space-between;
    left: 0;
    overflow: scroll;
    padding: 2rem 1rem 1.5rem;
    position: fixed;
    top: 2.75rem;
    width: 100%;
  }
}

@media (max-width: 699px) {
  @supports (height: 100dvh) {
    .rb-header .menu-group.-menu-open {
      height: calc(100dvh - 2.75rem);
    }
  }
}

@media (max-width: 699px) {
  .rb-header .menu-group.-menu-open .main-nav {
    display: block;
    width: 100%;
  }
}

@media (min-width: 700px) and (max-width: 1279px) {
  .rb-header .menu-group.-menu-open .main-nav {
    padding: 1.25rem 2rem;
  }
}

@media (min-width: 1000px) and (max-width: 1279px) {
  .rb-header .menu-group.-menu-open .main-nav {
    padding: 1.25rem 2.5rem;
  }
}

@media (min-width: 700px) and (max-width: 1279px) {
  .rb-header .menu-group.-menu-open .main-nav {
    background-color: #fff;
    border-bottom: 1px solid #c4c6c8;
    border-top: 0.0625rem solid transparent;
    display: block;
    left: 0;
    margin-top: -0.0625rem;
    position: absolute;
    top: 4.5rem;
    width: 100%;
  }
}

@media (min-width: 1280px) {
  .rb-header .menu-group {
    gap: 1.5rem;
    justify-content: space-between;
  }
}

@media (max-width: 1279px) {
  .rb-header .main-nav {
    display: none;
  }
}

/* HEADER BUTTONS */
.rb-header .main-ctas {
  display: flex;
  align-items: stretch;
  gap: 0.5rem;
}

@media (max-width: 699px) {
  .rb-header .menu-group .main-ctas {
    display: none;
  }
}

@media (max-width: 699px) {
  .rb-header .menu-group.-menu-open .main-ctas {
    display: flex;
    width: 100%;
  }
}

@media (min-width: 1280px) {
  .rb-header .main-ctas {
    gap: 0.75rem;
  }
}

.rb-header .main-ctas .button {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 11px 23px;
  max-width: 100%;
  border: 0.0625rem solid transparent;
  border-radius: 2rem;
  color: #fff;
  background-color: #3204ad;

  -webkit-font-smoothing: antialiased;
  font-family: 'Space Mono', ui-monospace, monospace;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.05rem;
  text-transform: uppercase;

  transition-duration: 0.2s;
  transition-property: background-color, border-color, color;
  transition-timing-function: ease-out;
}

@media (max-width: 699px) {
  .rb-header .menu-group.-menu-open .main-ctas .button {
    padding: 7px 8px;
    width: 100%;
  }
}

@media (max-width: 699px) {
  .rb-header .subnav .subnav-layout.-config-md .block-link:nth-of-type(3) {
    grid-column: 1/3;
  }
}

@media (min-width: 700px) {
  .rb-header .main-ctas .button {
    padding: 11px 19px;
  }
}

@media (min-width: 1280px) {
  .rb-header .main-ctas .button {
    padding: 11px 23px;
  }
}

.rb-header .main-ctas .button:focus,
.rb-header .main-ctas .button:hover {
  background-color: #24037b;
}

.rb-header .main-ctas .button.-filled-false {
  color: #004;
  border: 0.0625rem solid #c4c6c8;
  background-color: transparent;
}

.rb-header .main-ctas .button.-filled-false:hover {
  border-color: #004;
}

.rb-header .menu-toggle {
  align-items: center;
  display: flex;
  justify-content: center;
  margin: -0.25rem;
  padding: 0.25rem;
}

@media (min-width: 1280px) {
  .rb-header .menu-toggle {
    display: none;
  }
}

/* MAIN NAV */
.rb-header .main-nav>ul {
  display: flex;
  gap: 2rem;
}

@media (max-width: 699px) {
  .rb-header .menu-group.-menu-open .main-nav>ul {
    gap: 2.5rem;
    flex-direction: column;
    width: 100%;
  }
}

@media (max-width: 699px) {
  .rb-header .menu-group .main-nav>ul li {
    display: flex;
    flex-direction: column;
    gap: 1.25rem;
  }
}

.rb-header .main-nav>ul li:hover {
  color: #3204ad;
}

.rb-header .main-nav>ul li .arrow-down-svg {
  display: inline-block;
  -webkit-mask: url('../../img/icons/2023/arrow-down.svg');
  -webkit-mask-size: cover;
  height: 16px;
  width: 16px;
  background: black;
  transition: transform 1.25s cubic-bezier(0.16, 1, 0.3, 1);
}

.rb-header .main-nav>ul li:hover .arrow-down-svg {
  background: #3204ad;
}

.rb-header .main-nav>ul li .nav-control {
  display: flex;
  align-items: center;
  margin: -0.25rem;
  padding: 0.25rem;
  gap: 0.5rem;
  transition: color 0.2s ease-out;

  -webkit-font-smoothing: antialiased;
  font-family: 'Space Mono', ui-monospace, monospace;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.05rem;
  text-transform: uppercase;
}

@media (max-width: 699px) {
  .rb-header .menu-group .main-nav>ul li .nav-control {
    justify-content: space-between;
    width: 100%;
  }
}

.rb-header .main-nav>ul li:active .nav-control {
  color: #3204ad;
}

.rb-header .main-nav>ul li .nav-control.-subnav-true.-subnav-open .arrow-down-svg {
  transform: rotateX(180deg) translateY(-0.0625rem);
}

@media (min-width: 700px) {
  .rb-header .menu-group .main-nav>ul li .nav-control:not(.-subnav-true) .arrow-down-svg {
    display: none;
  }
}

.rb-header .main-nav>ul li .nav-control.-subnav-true.-subnav-open {
  color: #3204ad;
}

.rb-header .main-nav>ul li .nav-control.-subnav-true.-subnav-open .arrow-down-svg {
  background-color: #3204ad;
}

/* SUBNAV */
.rb-header .subnav {
  color: #004;
  background-color: #fff;
  display: none;

  -webkit-font-smoothing: antialiased;
  font-family: 'Rational Display', system-ui, sans-serif;
  font-weight: 500;
  letter-spacing: -0.16px;
}

@media (min-width: 700px) {
  .rb-header .subnav {
    border-radius: 2rem;
    box-shadow: 0 1.5rem 4rem rgba(0, 0, 68, 0.2);
    margin-left: -23px;
    margin-top: 8px;
    max-height: calc(100vh - 5.5rem - 4.125rem);
    overflow: scroll;
    padding: 1.5rem;
    position: absolute;
    display: none;
  }
}

@media (min-width: 1280px) {
  .rb-header .subnav {
    margin-left: -55px;
    padding: 2rem;
    max-height: calc(100vh - 5.5rem);
  }
}

.rb-header .nav-control.-subnav-open+.subnav {
  display: block;
}

.rb-header .subnav .subnav-layout.-config-md {
  display: grid;
  gap: 0.75rem;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

@media (min-width: 700px) {
  .rb-header .subnav .subnav-layout.-config-md {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

.rb-header .subnav .subnav-layout.-config-lg {
  display: grid;
  gap: 0.75rem;
}

@media (min-width: 700px) {
  .rb-header .subnav .subnav-layout.-config-lg {
    grid-template-columns: repeat(2, min-content);
  }
}

.rb-header .subnav .subnav-card {
  padding: 1.25rem;
  row-gap: 1.25rem;
  background-color: #f8f7f6;
  border-radius: 1.25rem;
  display: grid;
}

@media (min-width: 700px) {
  .rb-header .subnav .subnav-card {
    padding: 1.5rem;
    row-gap: 1.25rem;
  }
}

@media (min-width: 1000px) {
  .rb-header .subnav .subnav-layout.-config-lg .subnav-card:first-child {
    grid-column: 1;
    grid-row: 1;
  }
}

.rb-header .subnav .subnav-layout.-config-md .subnav-card {
  grid-column: 1/3;
}

@media (min-width: 700px) {
  .rb-header .subnav .subnav-layout.-config-md .subnav-card {
    grid-column: 1/4;
  }
}

@media (max-width: 699px) {
  .rb-header .subnav .subnav-card.-columns-2 {
    row-gap: 2rem;
    flex-direction: column;
  }
}

@media (min-width: 700px) {
  .rb-header .subnav .subnav-card.-columns-2 {
    column-gap: 2.5rem;
  }
}

@media (min-width: 700px) and (max-width: 1279px) {
  .rb-header .subnav .subnav-card.-columns-2 {
    grid-template-columns: repeat(2, max-content);
  }
}

@media (min-width: 700px) and (max-width: 999px) {

  .rb-header .subnav .subnav-layout.-config-lg .subnav-card:first-child,
  .rb-header .subnav .subnav-layout.-config-lg .subnav-card:nth-child(2) {
    grid-column: 1/3;
  }
}

@media (min-width: 700px) and (max-width: 999px) {
  .rb-header .subnav .subnav-layout.-config-lg .subnav-card:nth-child(3) {
    grid-column: 1;
  }
}

@media (min-width: 700px) and (max-width: 999px) {
  .rb-header .subnav .subnav-layout.-config-lg .subnav-card:nth-child(4) {
    grid-column: 2;
  }
}

@media (min-width: 1000px) {
  .rb-header .subnav-layout.-config-lg .subnav-card:nth-child(3) {
    grid-column: 2;
    grid-row: 1;
  }
}

@media (min-width: 1000px) {
  .rb-header .subnav .subnav-layout.-config-lg .subnav-card:nth-child(4) {
    grid-column: 2;
    grid-row: 2;
  }
}

.rb-header .subnav .highlight-bar {
  align-items: center;
  background-color: #004;
  border-radius: 1.25rem;
  color: #fff;
  display: flex;
  gap: 1.25rem;
  justify-content: space-between;
  padding: 1.25rem;
}

@media (min-width: 700px) and (max-width: 1279px) {
  .rb-header .subnav .highlight-bar {
    display: grid;
    gap: 0.75rem;
    grid-template-columns: repeat(2, auto);
  }
}

@media (min-width: 700px) and (max-width: 999px) {
  .rb-header .subnav .highlight-bar {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (min-width: 700px) and (max-width: 999px) {
  .rb-header .subnav .subnav-layout.-config-lg .highlight-bar {
    grid-column: 1/3;
  }
}

.rb-header .subnav .block-link {
  align-items: center;
  border-radius: 0.75rem;
  display: flex;
  justify-content: center;
  padding: 1rem 1rem;
  text-align: center;
}

@media (min-width: 1280px) {
  .rb-header .subnav .block-link {
    padding: 1.5rem 1rem;
  }
}

.rb-header .subnav .block-link,
.rb-header .subnav .highlight-bar .description {
  font-weight: 600;
}

@media (max-width: 699px) {
  .rb-header .subnav .highlight-bar {
    flex-wrap: wrap;
  }
}

@media (min-width: 700px) {
  .rb-header .subnav .highlight-bar {
    padding: 1.5rem;
  }
}

@media (min-width: 1000px) {
  .rb-header .subnav .subnav-layout.-config-lg .highlight-bar {
    grid-column: 1/3;
  }
}

@media (min-width: 700px) {
  .rb-header .subnav .subnav-card {
    padding: 1.5rem;
    row-gap: 1.25rem;
  }
}

.rb-header .subnav .subnav-card .info {
  display: flex;
  flex-direction: column;
}

@media (min-width: 700px) {
  .rb-header .subnav .subnav-card .info {
    width: 11.75rem;
  }
}

.rb-header .subnav .subnav-card .links {
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
}

@media (min-width: 700px) {
  .rb-header .subnav .subnav-card .links {
    width: 17.25rem;
    grid-column: 2;
    grid-row: 1/3;
  }
}

@media (min-width: 700px) {
  .subnav .subnav-card .links.-minimal-true {
    width: 13rem;
  }
}

@media (min-width: 1000px) {
  .rb-header .subnav .subnav-card .links.-minimal-true {
    width: 14.5rem;
  }
}

.rb-header .subnav .subnav-card .info .title {
  font-size: 1.25rem;
  font-weight: 600;
  line-height: 1.4;
  margin-bottom: 0.25rem;
}

.rb-header .subnav .subnav-card .info .description {
  max-width: 16rem;
  color: #717271;
  font-size: 14px;
  line-height: 1.3;
}

@media (min-width: 700px) {
  .rb-header .subnav .subnav-card .info .description {
    max-width: 10.625rem;
  }
}

.rb-header .subnav .subnav-card .links li a {
  align-items: center;
  display: grid;
  gap: 0.125rem 1rem;
  grid-template-columns: min-content minmax(0, 1fr) auto;
  justify-items: start;
  margin: -0.25rem;
  padding: 0.25rem;
}

.rb-header .subnav .subnav-card .links.-minimal-true {
  justify-content: space-between;
}

.rb-header .subnav .subnav-card .links.-minimal-true li a {
  grid-row: auto;
  grid-template-columns: minmax(0, 1fr) auto;
}

.rb-header .subnav .subnav-card .links li a .icon {
  align-items: center;
  background-color: #5b67f6;
  border-radius: 50%;
  display: flex;
  grid-column: 1;
  grid-row: 1/3;
  height: 3rem;
  justify-content: center;
  transition: background-color 0.2s ease-out;
  width: 3rem;
}

.rb-header .subnav .subnav-card .links li a .title {
  align-self: end;
  font-weight: 600;
  grid-column: 2;
  grid-row: 1;
}

.rb-header .subnav .subnav-card .links.-minimal-true li a .title {
  grid-column: 1;
}

.rb-header .subnav .subnav-card .links li a:hover .title {
  text-decoration: underline;
}

.rb-header .subnav .subnav-card .links li a .description {
  align-self: start;
  color: #717271;
  font-size: 14px;
  grid-column: 2;
  grid-row: 2;
  line-height: 1.3;
  transition: color 0.2s ease-out;
}

.rb-header .subnav .subnav-card .links li a .arrow-right-svg {
  display: inline-block;
  -webkit-mask: url('../../img/icons/2023/arrow-right.svg');
  -webkit-mask-size: cover;
  height: 16px;
  width: 16px;
  background: #989999;

  grid-column: 3;
  grid-row: 1/3;
  transition-duration: 0.2s;
  transition-property: color, transform;
  transition-timing-function: ease-out;
}

.rb-header .subnav .subnav-card .links.-minimal-true .arrow-right-svg {
  grid-column: 2;
  grid-row: 1;
}

.rb-header .subnav .subnav-card .links li a:focus .icon,
.rb-header .subnav .subnav-card .links li a:hover .icon {
  background-color: #3204ad;
}

.rb-header .subnav .subnav-card .links li a:focus .arrow-right-svg,
.rb-header .subnav .subnav-card .links li a:hover .arrow-right-svg {
  transform: translate(0.125rem);
}

.rb-header .subnav .subnav-card .links li a:focus .arrow-right-svg,
.rb-header .subnav .subnav-card .links li a:hover .arrow-right-svg {
  background: #3204ad;
}

.rb-header .subnav .subnav-card .links li a:focus .arrow-right-svg,
.rb-header .subnav .subnav-card .links li a:hover .arrow-right-svg {
  background-color: #004;
}

.rb-header .subnav .subnav-card .links li a:focus .description,
.rb-header .subnav .subnav-card .links li a:hover .description {
  color: #004;
}

.rb-header .subnav .block-link:focus,
.rb-header .subnav .block-link:hover {
  text-decoration: underline;
}