:root {
  --orm-global-header-height: initial;
  --orm-global-header-height--auth: initial;
  --header-background-color: initial;
  --header-padding-inline: initial;
  --padding-block: initial;
  --orm-modern-white: #ffffff;
  --orm-modern-dark: #302f2a;
  --orm-modern-b500: #0071eb;
  --orm-modern-r500: #d30000;
  --orm-modern-n2: #cacbd6;
  --orm-modern-n3: #54595e;
  --menu-element-padding-inline: initial;
  --list-gap: initial;
  --padding: initial;
  --logo-fill-color: initial;
  --logo-height: initial;
  --marketing-nav-height: initial;
  --menu-gap: initial;
  --margin: initial;
  --mobile-pane-padding-block: initial;
  --mobile-pane-padding-inline: initial;
  --toggle-display: initial;

  --font-family-gilroy: "Gilroy", Helvetica, Arial, sans-serif;
  --font-family-guardian-sans-text: "Guardian Sans Text", Helvetica, Arial, sans-serif;
  --fw-bold: 700;
  --fw-semibold: 600;
  --fw-medium: 500;
  --fw-regular: 400;
  --fw-link: var(--fw-bold);
  --fw-button: var(--fw-bold);
  --fw-input: var(--fw-medium);
  --fw-label: var(--fw-bold);
  --fs-link: 1rem;
  --fs-button: 1rem;
  --fs-input: .8rem;
  --fs-label: .8rem;
  --lh-link: 1;
  --lh-button: 1.25;
  --lh-input: 1.25;
  --lh-label: 1.25;
  --font-link: normal var(--fw-link) var(--fs-link) / var(--lh-link) var(--font-family-gilroy);
  --font-button: normal var(--fw-button) var(--fs-button) / var(--lh-button) var(--font-family-gilroy);
  --font-input: normal var(--fw-input) var(--fs-input) / var(--lh-input) var(--font-family-gilroy);
  --font-label: normal var(--fw-label) var(--fs-label) / var(--lh-label) var(--font-family-gilroy);
}

html.loggedIn #orm-global-site-banner *[data-hidden='auth'],
html.loggedIn #orm-global-mobile-pane--navigation *[data-hidden='auth'] {
  display: none;
}
html:not(.loggedIn) #orm-global-site-banner *[data-hidden='notauth'],
html:not(.loggedIn) #orm-global-mobile-pane--navigation *[data-hidden='notauth'] {
  display: none;
}

#orm-global-site-banner {
  --header-background-color: var(--orm-modern-white);
  --header-padding-inline: 2px;
  position: fixed;
  left: 0;
  right: 0;
  top: 0;
  z-index: 1201;
  display: flex;
  flex-direction: column;
  height: var(--orm-global-header-height);
  width: 100%;
  background-color: var(--header-background-color);
  transform: translateY(0);
  transition: transform .25s cubic-bezier(0,.89,0,1),height .25s cubic-bezier(0,.89,0,1);

  a {
    font: var(--font-link);
    cursor: pointer;

    &:hover {
      text-decoration: none;
    }
  }

  input {
    font: var(--font-input);
  }

  button {
    font: var(--font-button);
  }

  .orm-global-site-banner__block {
    align-items: center;
    display: flex;
    gap: 1rem;
  }

  .orm-global-site-banner__list {
    --list-gap: .5rem;
    --padding: 0;
    align-items: center;
    display: flex;
    gap: var(--list-gap);
    margin: 0;
    padding: var(--padding);
    list-style: none;
  }

  .orm-global-site-banner__list-item {
    position: relative;
  }

  #orm-global-site-logo {
    --logo-fill-color: var(--orm-modern-r500);
    --logo-height: 1.25rem;
    fill: var(--logo-fill-color);
    height: var(--logo-height);
    width: auto;
  }

  .orm-global-site-menu__view-all > div {
    -webkit-align-items: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    -webkit-justify-content: center;
    justify-content: center;
    height: 1.5rem;
    width: 1.5rem;
    color: #fff;
    background: radial-gradient(31.94% 34.84% at 38.89% 29.17%, #0054b5 0%, #0071eb 100%);
    border-radius: 50%;
    -webkit-filter: drop-shadow(0px 1px 2px rgba(0, 0, 0, 0.16));
    filter: drop-shadow(0px 1px 2px rgba(0, 0, 0, 0.16));
  }
}

.orm-global-skip-link {
  color: var(--orm-modern-r500);
  font: var(--font-link);
  cursor: pointer;
}

svg.MuiSvgIcon-fontSizeMedium {
  user-select: none;
  width: 1em;
  height: 1em;
  display: inline-block;
  flex-shrink: 0;
  fill: currentcolor;
  font-size: 16px;
  transition: fill 200ms cubic-bezier(0.4, 0, 0.2, 1);
}

.orm-global-mobile-pane {
  a, button {
    font: var(--font-link);
    cursor: pointer;

    &:hover {
      text-decoration: none;
    }
  }

  h2 {
    font: var(--font-family-gilroy);
  }
}





/* #region: General */
html.menu-open {
  overflow: hidden;
  height: 100dvh;
}

body {
  --orm-global-header-height: 52px;
  --orm-global-header-height--auth: 52px;
  
}

@media (width >= 768px) {
  body {
    --orm-global-header-height: 112px;
  }

  body.scrolling #orm-global-site-banner {
    --orm-global-header-height: 72px;
  }
}

@media (width >= 1370px) {
  body {
    --orm-global-header-height--auth: 112px;
  }

  body.scrolling #orm-global-site-banner {
    --orm-global-header-height--auth: 72px;
  }
}

html main#maincontent {
  padding-top: var(--orm-global-header-height--auth);
}

/* #endregion: General */

/* >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> */

/* #region: Site Header */

#orm-global-site-banner {
  --header-background-color: var(--orm-modern-white);
  --header-padding-inline: 2px;

  position: fixed;
  left: 0;
  right: 0;
  top: 0;
  z-index: 1201;

  display: flex;
  flex-direction: column;
  height: var(--orm-global-header-height);
  width: 100%;

  background-color: var(--header-background-color);
  transform: translateY(0);
  transition:
    transform 250ms cubic-bezier(0, 0.89, 0, 1),
    height 250ms cubic-bezier(0, 0.89, 0, 1);

  /* #region: Header Blocks */
  .orm-global-site-banner__block {
    align-items: center;
    display: flex;
    gap: 1rem;
  }
  /* #endregion: Header Blocks */

  /* #region: Header Content */
  #orm-global-site-banner__content {
    --padding-block: 2px;

    position: relative;
    z-index: 2;

    display: flex;
    justify-content: space-between;
    height: 100%;
    padding-block: var(--padding-block);
    padding-inline: var(--header-padding-inline);

    box-shadow: 0px 1px 3px 0px #0000001f;
  }

  @media (width >= 1370px) {
    #orm-global-site-banner__content {
      --padding-block: 1rem;
    }
  }
  /* #endregion: Header Content */

  /* #region: Header Links */
  .orm-global-site-banner__link {
    --menu-element-padding-inline: 0.875rem;

    align-items: center;
    display: inline-flex;
    height: calc(2.5rem - 2px);
    padding-inline: var(--menu-element-padding-inline);

    color: var(--orm-modern-dark);
    text-decoration: none;
    white-space: nowrap;

    appearance: none;
    background: transparent;
    border: 1px solid transparent;
    border-radius: 0.25rem;
    cursor: pointer;
    transition:
      background-color 250ms cubic-bezier(0.4, 0, 0.2, 1),
      box-shadow 250ms cubic-bezier(0.4, 0, 0.2, 1),
      color 250ms cubic-bezier(0.4, 0, 0.2, 1),
      border-color 250ms cubic-bezier(0.4, 0, 0.2, 1),
      opacity 250ms cubic-bezier(0.4, 0, 0.2, 1);
  }

  .orm-global-site-banner__link.orm-global-site--link-as-button {
    color: var(--orm-modern-white);

    background-color: var(--orm-modern-b500);
  }

  @media (hover: hover) {
    .orm-global-site-banner__link:hover {
      color: var(--orm-modern-b500);

      border-color: var(--orm-modern-b500);
    }

    .orm-global-site-banner__link.orm-global-site--link-as-button:hover {
      color: var(--orm-modern-white);

      box-shadow: 0 1px 4px rgba(0, 0, 0, 0.3);
    }
  }

  /* #endregion: Header Links */

  /* #region: Header Lists  */
  .orm-global-site-banner__list {
    --list-gap: 0.5rem;
    --padding: 0;

    align-items: center;
    display: flex;
    gap: var(--list-gap);
    margin: 0;
    padding: var(--padding);

    list-style: none;
  }
  /* #endregion: Header Lists */

  /* #region: Header List Items */
  .orm-global-site-banner__list-item {
    position: relative;
  }
  /* #endregion: Header List Items */

  /* #region: Logo */
  #orm-global-site-logo {
    --logo-fill-color: var(--orm-modern-r500);
    --logo-height: 1.25rem;

    fill: var(--logo-fill-color);

    height: var(--logo-height);
    width: auto;
  }

  #orm-global-site-banner[data-color-mode='dark'] #orm-global-site-logo {
    --logo-fill-color: var(--orm-modern-white);
  }

  @media (width >= 1440px) {
    #orm-global-site-logo {
      --logo-height: 1.5rem;
    }
  }

  #orm-global-site-logo-link {
    align-items: center;
    display: inline-flex;
    justify-content: center;
    height: 100%;
    padding: 0;
  }
  /* #endregion: Logo */

  /* #region: Helpers */
  @media (width < 1370px) {
    *[data-hidden='sm'] {
      display: none;
    }
  }
  /* #endregion: Helpers */
}

#orm-global-site-banner.orm-global-site-header--auth {
  height: var(--orm-global-header-height--auth);
}

#orm-global-site-banner[data-color-mode='dark'] {
  --header-background-color: var(--iron);
  /* TODO: Ask if this should be --orm-modern-dark instead */
}

#orm-global-site-banner[aria-hidden='true'] {
  visibility: hidden;

  transform: translateY(-100%);
}

@media (width >= 1370px) {
  #orm-global-site-banner {
    --header-padding-inline: 1.5rem;
  }
}

@media (width >= 1440px) {
  #orm-global-site-banner {
    --header-padding-inline: 2rem;
  }
}

/* #endregion: Site Header */

/* >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> */

/* #region: Site Marketing Nav */
#orm-global-marketing-nav {
  --marketing-nav-height: 40px;

  flex: 0 0 var(--marketing-nav-height);
  height: var(--marketing-nav-height);
  padding-block: 0.5rem;
  padding-inline: var(--header-padding-inline);

  background-color: rgba(0, 0, 0, 0.85);
  transition: margin 250ms cubic-bezier(0, 0.89, 0, 1);
}

body.scrolling #orm-global-marketing-nav {
  margin-top: -40px;
}

#orm-global-marketing-nav__list {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  margin: 0;
  padding: 0;

  list-style: none;
}

#orm-global-site-banner .orm-global-marketing-nav-list-item__link {
  display: block;
  margin: 0;
  padding: 5px 16px 4px;

  color: rgba(255, 255, 255, 0.8);
  font-size: 0.875rem;
  font-weight: 500;
  line-height: 1rem;
  text-decoration: none;

  background-color: rgba(255, 255, 255, 0);
  border: 1px solid;
  border-radius: 100px;
  border: 1px solid rgba(255, 255, 255, 0.5);
  opacity: 1;
  transition:
    color 150ms,
    background-color 150ms,
    border-color 150ms;
}

#orm-global-site-banner .orm-global-marketing-nav-list-item__link:is(:focus, :hover) {
  color: rgba(0, 0, 0, 1);

  border-color: rgba(255, 255, 255, 1);
  background-color: rgba(255, 255, 255, 1);
  text-decoration: none;
}

/* #endregion: Site Marketing Nav */

/* >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> */

/* #region: Site Menu */
.orm-global-site-menu {
  --menu-gap: 1rem;

  display: flex;
  flex-direction: column;
  flex: 1;
  gap: var(--menu-gap);
  margin: 0;
  min-width: 298px;
  padding: 23px 0;

  list-style: none;
}

.orm-global-site-menu__divider {
  display: block;
  flex: 0 0 1px;
  height: 1px;
  margin: 0 1.5rem;
  width: auto;

  background-color: var(--orm-modern-n2);
  border-top: none;
}

.orm-global-site-menu__footer {
  padding: 0 1.5rem 1.5rem;
}

#orm-global-site-banner .orm-global-site-menu__link {
  align-items: center;
  display: flex;
  padding: 0 1.5rem;
  width: 100%;

  color: var(--orm-modern-b500);
  font-size: 1.125rem;
  font-weight: 700;
  letter-spacing: 0.005em;
  line-height: 1.3334;
  text-decoration: none;
  white-space: nowrap;

  appearance: none;
  background: transparent;
  border: none;
  cursor: pointer;
}

#orm-global-site-banner .orm-global-site-banner-list--open .orm-global-site-menu__link[data-level='1']:not([aria-expanded='true']) {
  opacity: 0.61;
}

#orm-global-site-banner .orm-global-site-menu__link svg {
  margin-left: auto;

  transition:
    fill 200ms cubic-bezier(0.4, 0, 0.2, 1) 0ms,
    transform 150ms ease-in-out;
}

.orm-global-site-menu__link:focus-visible svg {
  transform: translateX(4px);
}

@media (hover: hover) {
  #orm-global-site-banner .orm-global-site-menu__link:hover {
    color: var(--orm-modern-b500);
    text-decoration: underline;

    opacity: 1;
  }

  #orm-global-site-banner .orm-global-site-menu__link:hover svg {
    transform: translateX(4px);
  }
}

.orm-global-site-menu__view-all {
  display: flex;
  align-items: center;
  gap: 0.5rem;

  color: var(--orm-modern-b500);
  text-decoration: none;
}

@media (hover: hover) {
  .orm-global-site-menu__view-all:hover {
    color: var(--orm-modern-b500);
  }
}

/* #endregion: Site Menu */

/* >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> */

/* #region: Site Menu Popover */
.orm-global-site-menu__popover {
  --margin: 0;

  flex-direction: column;
  padding: 0;
  margin: var(--margin);

  appearance: none;
  border: 1px solid var(--orm-modern-b500);
  border-radius: 0.25rem;
}

.orm-global-site-menu__popover[open] {
  display: flex;
}

.orm-global-site-menu__popover[data-level='1'] {
  --margin: 0.5rem 0 0 0;
}

.orm-global-site-menu__popover[data-level='2'] {
  bottom: 0;
  left: calc(100% - 2px);
  top: -1px;
  height: calc(100% + 2px);
  padding-left: 2px;

  border-left: 1px solid var(--orm-modern-white);
  border-radius: 0 0.25rem 0.25rem 0;
}

.orm-global-site-menu__popover[data-level='2']::before {
  position: absolute;
  left: 0;
  top: 1rem;

  height: calc(100% - 2rem);
  width: 1px;

  background-color: var(--orm-modern-b500);
  content: '';
}
/* #endregion: Site Menu Popover */

/* >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> */

/* #region: Site Mobile Drawer */

.orm-global-mobile-drawer {
  left: 0;
  position: fixed;
  top: 0;
  z-index: 2;

  display: flex;
  flex-direction: column;
  height: 100%;
  padding: 52px 0 0;
  width: 100%;

  background-color: var(--orm-modern-white);
  overflow-y: auto;
  overflow-x: hidden;
  transition: transform 250ms cubic-bezier(0.4, 0, 0.2, 1);
}

.orm-global-mobile-drawer[hidden] {
  transform: translate3d(100%, 0, 0);
}

/* #endregion: Site Mobile Drawer */

/* >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> */

/* #region: Site Mobile Menu */

.orm-global-site-mobile-menu {
  --menu-gap: 1rem;

  margin: 0;
  padding: 0 0 1.5rem 0;

  display: flex;
  flex-direction: column;
  flex: 1;
  gap: var(--menu-gap);

  list-style: none;
}

.orm-global-site-mobile-menu__back-button {
  align-items: center;
  display: inline-flex;
  gap: 0.5rem;

  color: var(--orm-modern-b500);

  appearance: none;
  background: transparent;
  border: none;
  cursor: pointer;
}

.orm-global-site-mobile-menu__footer {
  padding: 1.5rem;

  box-shadow: rgba(0, 0, 0, 0.15) 0px -1px 5px;
}

.orm-global-site-mobile-menu .orm-global-site-mobile-menu__link {
  --menu-element-padding-inline: 1.5rem;

  display: inline-flex;
  align-items: center;
  height: calc(2.5rem - 2px);
  padding-inline: var(--menu-element-padding-inline);
  width: 100%;

  color: var(--orm-modern-b500);
  font-size: clamp(1.2657rem, 4vw, 1.42rem);
  text-decoration: none;
  white-space: nowrap;

  appearance: none;
  background: transparent;
  border: none;
  cursor: pointer;
  transition:
    background-color 250ms cubic-bezier(0.4, 0, 0.2, 1),
    box-shadow 250ms cubic-bezier(0.4, 0, 0.2, 1),
    color 250ms cubic-bezier(0.4, 0, 0.2, 1),
    border-color 250ms cubic-bezier(0.4, 0, 0.2, 1),
    opacity 250ms cubic-bezier(0.4, 0, 0.2, 1);
}

button.orm-global-site-mobile-menu__link svg {
  margin-left: auto;
}

.orm-global-site-mobile-menu__link.orm-global-site--link-as-button {
  margin-inline: var(--menu-element-padding-inline);
  padding-inline: 0.5rem;
  width: calc(100% - (var(--menu-element-padding-inline) * 2));

  color: var(--orm-modern-white);

  background: var(--orm-modern-b500);
  border-radius: 0.25rem;
}

.orm-global-site-mobile-menu__header {
  padding: 1rem 1.5rem;
}

.orm-global-site-mobile-menu__title {
  margin: 0;

  font-weight: 700;
  font-size: 1.125rem;
  line-height: 1.3334;
  letter-spacing: 0.005em;
}

/* #endregion: Site Mobile Menu */

/* >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> */

/* #region: Site Mobile Menu Pane */
.orm-global-mobile-pane {
  --mobile-pane-padding-block: 69px 1rem;
  --mobile-pane-padding-inline: 1rem;

  left: 0;
  position: fixed;
  top: 0;
  z-index: 1200;

  display: flex;
  gap: 1rem;
  flex-direction: column;
  height: 100%;
  padding-block: var(--mobile-pane-padding-block);
  padding-inline: var(--mobile-pane-padding-inline);
  width: 100%;

  background-color: var(--orm-modern-white);
  overflow-y: auto;
  overflow-x: hidden;
  transition: transform 250ms cubic-bezier(0.4, 0, 0.2, 1);
}

.orm-global-mobile-pane[aria-hidden='true'] {
  transform: translate3d(0, -100%, 0);
}

#orm-global-mobile-pane--navigation {
  --mobile-pane-padding-inline: 0;
}
/* #endregion: Site Mobile Menu Pane */

/* >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> */

/* #region: Site Mobile Menu Toggle */

.orm-global-mobile-toggle {
  --toggle-display: flex;

  position: relative;

  align-items: center;
  display: var(--toggle-display);
  height: 3rem;
  justify-content: center;
  margin: 0;
  padding: 0;
  width: 3rem;

  color: inherit;

  appearance: none;
  background: transparent;
  border: none;
  cursor: pointer;
}

.orm-global-mobile-toggle:is(:focus-visible, :focus) {
  outline: var(--orm-modern-b500) auto 1px;
}

@media (width >= 1370px) {
  .orm-global-mobile-toggle {
    --toggle-display: none;
  }
}

.orm-global-mobile-toggle svg {
  left: 50%;
  position: absolute;
  top: 50%;

  opacity: 0;
  transition: opacity 150ms ease-in-out;
  transform: translate(-50%, -50%);
}

.orm-global-mobile-toggle[aria-expanded='false'] svg[data-closed-icon] {
  opacity: 1;
}

.orm-global-mobile-toggle[aria-expanded='true'] svg[data-open-icon] {
  opacity: 1;
}

/* #endregion: Site Mobile Menu Toggle */

/* >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> */

/* #region: Site Search */
.orm-global-site-search-form {
  position: relative;
}

@media (width >= 1370px) {
  .orm-global-site-search-form {
    width: 25.5rem;
  }
}

.orm-global-site-search-icon {
  position: absolute;
  left: 0;
  top: 0;

  align-items: center;
  display: flex;
  justify-content: center;

  height: 2rem;
  width: 2rem;
}

.orm-global-site-search-input {
  height: 2rem;
  padding-left: 2rem;
  width: 100%;

  font-weight: 500;
  font-size: 0.8888rem;

  border: 1px solid var(--orm-modern-n3);
  border-radius: 0.25rem;
}

.orm-global-site-search-input::placeholder {
  color: rgba(117, 117, 117, 0.42);
  font-size: 0.875rem;
  font-weight: 500;
}

.orm-global-site-search-label__text {
  clip: rect(0 0 0 0);
  clip-path: inset(50%);
  height: 1px;
  overflow: hidden;
  position: absolute;
  white-space: nowrap;
  width: 1px;
}

/* #endregion: Site Search */

/* >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> */

/* #region: Site Skip Link */
.orm-global-skip-link {
  display: block;
  position: fixed;
  padding: 1rem 1.5rem;
  border-radius: 0.25rem;
  top: 1rem;
  left: 1rem;
  z-index: 3000;
  background-color: var(--orm-modern-white);
  border: 1px solid var(--orm-modern-b500);
  transform: translateX(-120%);
  transition: transform 250ms;
}

.orm-global-skip-link:focus,
.orm-global-skip-link:focus-visible {
  transform: translateX(0);
}
/* #endregion: Site Skip Link */