/* ==========================================================================
   user.css -- KBiles Pty Ltd
   --------------------------------------------------------------------------
   1.  Custom properties (:root)   -- palette, focus ring, z-index ceiling
   2.  @font-face + reset
   3.  Base elements + focus visibility
   4.  Menu / slide-in overlay      -- nav + footer
   5.  Background video + navy wash
   6.  Typography                   (6b: fluid font-size ladder)
   7.  Forms + close button         (7b: columns / grid)
   8.  Components                   -- buttons, social, video, page chrome,
                                       vertical title, loader
   9.  Page-specific
   10. JS state classes             -- Barba / GSAP / Pace, runtime only
   11. Utilities

   Media queries are deliberately left inline with the rules they modify
   rather than collected into a responsive section: there are ~68 distinct
   breakpoints and consolidating them without visual regression testing is
   not safe.
   ========================================================================== */

/* ==========================================================================
   1. CUSTOM PROPERTIES
   ========================================================================== */
:root {
  --navy: #13294b;
  --surface: #e5e7eb;
  --border: #dcdfe4;
  --white: #fff;

  /* Muted variants. Both are the smallest bump off the originals that clears
     WCAG AA 4.5:1 -- rgba(19,41,75,.5) on --surface was 2.90:1 and
     rgba(255,255,255,.35) on --navy was 3.06:1. */
  --navy-muted: rgba(19, 41, 75, 0.72);
  --white-muted: rgba(255, 255, 255, 0.55);

  --font-stack: "Akkurat", "Helvetica Neue", Helvetica, Arial, sans-serif;

  --focus-ring: 3px solid var(--navy);
  --focus-ring-inverse: 3px solid var(--white);

  /* Top of the stacking ladder. Replaces a handful of 30- to 77-digit
     z-index values which every browser clamped to the same 32-bit maximum
     anyway -- they were already tied, so one shared tier is equivalent and
     still sits above the highest real value in the file (3000000). */
  --z-top: 3000100; }

/* ==========================================================================
   2. @FONT-FACE  (see the Typo section below)
   3. RESET
   ========================================================================== */
@keyframes sDown {
  from {
    transform: translateY(5px); }
  to {
    transform: translateY(-5px); } }

*, *:after, *:before {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale; }

/* ==========================================================================
   4. BASE ELEMENTS
   ========================================================================== */
html {
  overflow-y: scroll;
  overflow-x: hidden; }

a {
  text-decoration: none !important; }

/* Folded from five separate `body` rules. Each property keeps the value that
   actually won: the last `background` shorthand (var(--white)), the !important
   background-color (navy) that overrode it, and the !important overflow.
   `color` was var(--surface) -- identical to the page background, i.e. a 1:1
   contrast ratio for anything that inherited it. */
body {
  background: var(--white);
  background-color: var(--navy) !important;
  color: var(--navy);
  overflow: hidden !important; }

img {
  width: 100%; }

/* <address> defaults to italic in every UA stylesheet; the postal address in
   the footer is not meant to be italic. */
address {
  font-style: normal; }

/* ---- Focus visibility -------------------------------------------------
   `* { outline: none }` used to strip every focus indicator sitewide. The
   only :focus rules in this file targeted a contact form that no longer
   exists, so keyboard users had no indicator at all. */
:focus-visible {
  outline: var(--focus-ring);
  outline-offset: 2px; }

/* Light ring for anything sitting on the navy panels, the navy menu overlay
   or the background video, where a navy ring would be invisible. */
nav :focus-visible,
footer :focus-visible,
#contact :focus-visible,
#siteBody.bgBlue :focus-visible,
.bgBlue :focus-visible,
.white:focus-visible,
.whiteClip:focus-visible,
#logo1:focus-visible,
#logo3:focus-visible,
#logoHoverMenu :focus-visible,
#homePage :focus-visible,
.menuHome :focus-visible,
#colRight1 :focus-visible,
.menuOpen .m:focus-visible {
  outline: var(--focus-ring-inverse);
  outline-offset: 2px; }

/* ==========================================================================
   5. BACKGROUND VIDEO + NAVY WASH
   ========================================================================== */
#bgvid {
  position: fixed;
  top: 0;
  left: 50%;
  min-width: 120%;
  min-height: 120%;
  width: 120%;
  height: 120%;
  z-index: -100;
  transform: translateX(-50%);
  opacity: 1;
  background: black;
  margin-top: 0;
  background-size: cover; }

/* Folded from two `#bgBlue` rules; the later `transition` won. */
#bgBlue {
  content: '';
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 100%;
  background: var(--navy);
  z-index: 0;
  opacity: 0;
  -webkit-transition: all 650ms cubic-bezier(0.645, 0.045, 0.355, 1);
  transition: all 650ms cubic-bezier(0.645, 0.045, 0.355, 1);
  -webkit-transition-timing-function: cubic-bezier(0.645, 0.045, 0.355, 1);
  transition-timing-function: cubic-bezier(0.645, 0.045, 0.355, 1); }

.bgWhite {
  background: var(--white); }

.bgGreyLight {
  background: var(--surface); }

.bgGreyDark {
  background: var(--surface); }

/* ==========================================================================
   6. TYPOGRAPHY
   @font-face, base heading/body scales, title + label classes.
   The fluid font-size ladder lives further down (section 6b).
   ========================================================================== */
/* One family, two real weights. The 700 face is AkkuratPro-Regular -- the same
   file the old "AkkuratBold" family pointed at -- so anything that used
   AkkuratBold renders identically, and `strong`/`b` now get a real face
   instead of a synthetic bold of Akkurat-Light. */
@font-face {
  font-family: "Akkurat";
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("font/Akkurat-Light.woff2") format("woff2"), url("font/Akkurat-Light.woff") format("woff"); }

@font-face {
  font-family: "Akkurat";
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("font/AkkuratPro-Regular.woff2") format("woff2"), url("font/AkkuratPro-Regular.woff") format("woff"); }

/* Outside index.html, `h1`/`h2` are newly promoted elements that used to be
   `<p>`s, so the UA bold weight would be a regression. Reset to the weight
   those paragraphs rendered at; components (and index's hero, below) opt
   back in explicitly. */
h1, h2, h3, h4, h5, h6 {
  font-weight: 400; }

/* `#siteHeader` exists on index.html only, and index.html is the one page that
   already had an <h1> before the restructure -- so these element-level `h1`
   rules were only ever live there. `:where()` keeps specificity at exactly
   (0,0,1), identical to the bare `h1` they replace, so index.html's cascade
   is unchanged while the newly promoted `<h1>`s on the other six pages
   (which used to be `<p>`s) are left alone. */
:where(#siteHeader) h1 {
  font-weight: 700 !important;
  width: 100%;
  max-width: 80vw; }

.textBody,
.textBody p {
  font-size: 15px;
  opacity: 0.75;
  color: var(--navy);
  letter-spacing: 0.5px;
  line-height: 1.75em; }

.textTitle,
.textTitle p {
  font-size: 38px !important;
  color: var(--navy);
  line-height: 1.4em !important; }

.wideTextBlock h1,
.textTitle p {
  line-height: 1.4em !important; }

.textIntro,
.textIntro p {
  font-size: 22px;
  color: var(--navy);
  letter-spacing: 0.5px;
  padding: 0.5vw 0; }

.blockTitle {
  border-bottom: 1px solid rgba(255, 255, 255, 0.35);
  padding: 9vw 2vw 2vw; }

#colRight2 .blockTitle {
  border-color: var(--surface); }
  #colRight2 .blockTitle h2 {
    color: var(--navy-muted) !important; }

.miniTitle,
.miniTitle h2 {
  font-size: 10px !important;
  text-transform: uppercase;
  font-family: var(--font-stack) !important;
  font-weight: 700;
  letter-spacing: 3px;
  color: var(--navy-muted);
  padding-bottom: 2vw; }

.noPadTop {
  padding-top: 5px !important; }

@media (max-width: 1240px) {
  .textTitle,
  .textTitle h1,
  .textTitle p {
    font-size: 34px !important;
    line-height: 1.4em !important; } }
@media (max-width: 959px) {
  .blockTitle {
    padding: 5vw; }

  .textTitle,
  .textTitle h1,
  .textTitle p {
    font-size: 32px !important;
    line-height: 1.4em !important; } }
@media (max-width: 500px) {
  .blockTitle {
    padding: 10vw 5vw; }

  .textTitle,
  .textTitle h1,
  .textTitle p {
    font-size: 22px;
    line-height: 1.4em !important; }

  .textIntro,
  .textIntro p {
    font-size: 18px;
    color: var(--navy);
    padding: 5vw 0 !important; } }
#colRight1 .miniTitle {
  color: var(--white-muted);
  border-color: rgba(255, 255, 255, 0.35) !important; }

#colRight2 .miniTitle {
  color: var(--navy-muted);
  border-color: var(--surface) !important; }

.verticalTitleClip p {
  font-size: 12px !important; }

.wideTextBlock {
  width: 50%;
  min-width: 50%; }

.teamPage .wideTextBlock {
  width: 70%;
  min-width: 70%; }

#contactBlock a {
  border-bottom: 1px solid transparent;
  color: var(--navy);
  padding-left: 0;
  padding-right: 0;
  position: relative;
  transition: 0.25s ease-in-out;
  padding-bottom: 0px !important; }
  #contactBlock a:after {
    content: '';
    background-color: var(--navy);
    display: block;
    position: absolute;
    width: 100%;
    height: 1px;
    bottom: 3px;
    opacity: 0;
    transition: 0.25s ease-in-out; }
  #contactBlock a:hover {
    transition: 0s ease-in-out; }
    #contactBlock a:hover:after {
      opacity: 0.5;
      transition: 0s ease-in-out; }

.legal .add_bhntt a {
  border-bottom: 1px solid rgba(19, 41, 75, 0.5) !important;
  padding-left: 0;
  padding-right: 0;
  transition: 0.25s ease-in-out;
  padding-bottom: 1px !important;
  transition: 0.25s ease-in-out; }
  .legal .add_bhntt a:hover {
    padding-bottom: 1px !important;
    transition: 0s ease-in-out;
    border-bottom: 1px solid transparent !important; }

/* Folded from two `.textJust` rules; `justify` was the one that won. */
.textJust {
  text-align: justify !important;
  -webkit-hyphens: auto;
  hyphens: auto; }

/* ==========================================================================
   7. COMPONENTS -- MENU / SLIDE-IN OVERLAY
   ==========================================================================
   The overlay is made of two siblings inside `.barba-container`:
     <nav>    -- the navy panel (::after) plus #menu and #copyright
     <footer> -- #contact (postal address, email, social)
   #contact used to live inside <nav>; it was moved into <footer> when the
   pages were restructured, so <footer> now needs the same fixed, off-canvas
   treatment or #contact falls back to `position: static` and drops out of
   the menu entirely. */
nav,
footer {
  position: fixed;
  top: 0;
  transform: translateX(100%);
  right: 0;
  bottom: 0;
  width: 100%;
  transition: 0.5s ease-in-out;
  -webkit-transition: all 650ms cubic-bezier(0.645, 0.045, 0.355, 1);
  transition: all 650ms cubic-bezier(0.645, 0.045, 0.355, 1);
  -webkit-transition-timing-function: cubic-bezier(0.645, 0.045, 0.355, 1);
  transition-timing-function: cubic-bezier(0.645, 0.045, 0.355, 1);
  transition-delay: 0.75s;
  /* The panel is only moved off-canvas by translateX, so without this its
     links stay in the tab order while the menu is closed -- keyboard users
     would tab through invisible off-screen links. `visibility` is delayed on
     close so the slide-out animation still plays, and applied immediately on
     open (see `.menuOpen nav, .menuOpen footer`). */
  visibility: hidden;
  transition: transform 650ms cubic-bezier(0.645, 0.045, 0.355, 1) 0.75s, visibility 0s linear 1.4s; }

nav {
  z-index: 560; }

/* Above nav so #contact sits on top of the navy `nav::after` wash, but
   click-through everywhere except on #contact itself -- otherwise the
   full-viewport footer would swallow every click meant for the menu list. */
footer {
  z-index: 561;
  pointer-events: none; }
  footer #contact {
    pointer-events: auto; }

  nav:after {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: var(--navy);
    opacity: 0.85;
    display: block;
    content: '';
    z-index: 9; }
  #contact {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    color: var(--white);
    z-index: 11;
    opacity: 0;
    left: 200px;
    transition: 0.5s ease-in-out;
    transition-delay: 0.25s; }
    #contact > div {
      padding: 3px 0;
      display: block; }
      #contact > div p {
        color: var(--white);
        letter-spacing: 0.75px;
        line-height: 1.6em;
        font-size: 15px;
        text-align: justify;
        opacity: 0.5; }
        #contact > div p span {
          font-weight: 900;
          padding-right: 10px; }
        #contact > div p a {
          color: var(--white);
          text-decoration: none; }
      #contact > div p.linkText {
        opacity: 1; }
        #contact > div p.linkText a {
          opacity: 0.5;
          transition: 0.5s ease-in-out; }
          #contact > div p.linkText a:hover {
            opacity: 1;
            transition: 0.0125s; }
    #contact address {
      font-style: normal; }
  nav #menu {
    position: absolute;
    left: 0;
    text-align: right;
    z-index: 10;
    top: 50%;
    transform: translateY(-50%); }
    nav #menu li {
      list-style-type: none;
      position: relative;
      opacity: 0;
      margin-right: -200px;
      transition: 0.5s ease-in-out; }
      nav #menu li a {
        text-decoration: none;
        color: var(--white);
        font-size: 30px;
        padding: 5px 0;
        display: inline-block;
        opacity: 0.5;
        transition: 0.5s ease-in-out; }
        nav #menu li a:hover {
          opacity: 1;
          transition: 0.0125s; }
        nav #menu li a.active {
          opacity: 1; }
          nav #menu li a.active:after {
            width: 3.5%; }
      nav #menu li:nth-child(2) {
        transition-delay: 0.05s; }
      nav #menu li:nth-child(3) {
        transition-delay: 0.1s; }
      nav #menu li:nth-child(4) {
        transition-delay: 0.15s; }
      nav #menu li:nth-child(5) {
        transition-delay: 0.2s; }
      nav #menu li:nth-child(6) {
        transition-delay: 0.25s; }
      nav #menu li:nth-child(7) {
        transition-delay: 0.3s; }
      nav #menu li:nth-child(8) {
        transition-delay: 0.35s; }
    nav #menu li.current-menu-item a {
      pointer-events: none;
      opacity: 1; }
  nav #copyright {
    position: absolute;
    bottom: 5vh;
    left: 7vw;
    color: var(--white) !important;
    z-index: 99;
    font-size: 11px !important;
    letter-spacing: 2px;
    opacity: 0;
    font-size: 15px;
    letter-spacing: 0.75px;
    line-height: 1.6em;
    text-align: justify;
    left: 200px;
    transition: 0.5s ease-in-out;
    transition-delay: 0.25s; }
    nav #copyright a {
      color: white !important;
      opacity: 0.5; }
    nav #copyright:hover {
      opacity: 1; }

#copyright span {
  height: 10px;
  width: 16px;
  max-height: 10px;
  max-width: 16px;
  display: inline-block; }
  #copyright span > img {
    max-width: 16px;
    display: block; }

.menuOpen nav,
.menuOpen footer {
  width: 100%;
  transform: translateX(0);
  /* Visible immediately (no delay) so the panel and its links are focusable
     as soon as the menu starts opening. */
  visibility: visible;
  -webkit-transition: all 650ms cubic-bezier(0.645, 0.045, 0.355, 1);
  transition: transform 650ms cubic-bezier(0.645, 0.045, 0.355, 1), visibility 0s linear 0s;
  -webkit-transition-timing-function: cubic-bezier(0.645, 0.045, 0.355, 1);
  transition-timing-function: cubic-bezier(0.645, 0.045, 0.355, 1); }
  .menuOpen #contact, .menuOpen #copyright {
    left: 4.8vw;
    opacity: 1;
    transition: 0.5s ease-in-out;
    transition-delay: 0.43s; }
  .menuOpen nav #menu li {
    margin-right: 0;
    opacity: 1;
    transition: 0.5s ease-in-out;
    transition-delay: 0.5s; }
    .menuOpen nav #menu li:nth-child(2) {
      transition-delay: 0.54s; }
    .menuOpen nav #menu li:nth-child(3) {
      transition-delay: 0.58s; }
    .menuOpen nav #menu li:nth-child(4) {
      transition-delay: 0.62s; }
    .menuOpen nav #menu li:nth-child(5) {
      transition-delay: 0.66s; }
    .menuOpen nav #menu li:nth-child(6) {
      transition-delay: 0.7s; }
    .menuOpen nav #menu li:nth-child(7) {
      transition-delay: 0.74s; }
    .menuOpen nav #menu li:nth-child(8) {
      transition-delay: 0.78s; }
    .menuOpen nav #menu li:nth-child(9) {
      transition-delay: 0.82s; }
  .menuOpen nav #copyright {
    opacity: 1; }
    .menuOpen nav #copyright a {
      opacity: 0.5; }
      .menuOpen nav #copyright a:hover {
        opacity: 1; }

@media (max-width: 739px) {
  /* Was a bare `header` rule (scraped-theme leftover). No page carried a
     <header> element until index.html's `<div id="siteHeader">` became
     `<header id="siteHeader">`, so leaving it unscoped pushes the whole hero down
     9.6vw on phones. `#siteHeader` has its own sizing. */
  header:not(#siteHeader) {
    margin-top: 9.6vw; }

  #logoNav, .menuOpen #contact, .menuOpen #copyright {
    left: 9.6vw; }

  #contact, #copyright {
    display: none !important; }

  #menu {
    right: 7vw; }

  #menu > li > a {
    font-size: 18px !important; }
    #menu > li > a:after {
      right: -7vw !important;
      margin-left: 4vw !important; }
    #menu > li > a.active:after {
      width: 4vw !important; }

  li.current-menu-item a:after {
    width: 4vw !important; } }
@media (min-width: 740px) and (max-width: 959px) {
  #logoNav, .menuOpen #contact, .menuOpen #copyright {
    left: 4.8vw; }

  #menu {
    right: 4.8vw; }

  #menu > li > a {
    font-size: 18px !important; }
    #menu > li > a:after {
      right: -4vw !important;
      margin-left: 1vw !important; }
    #menu > li > a.active:after {
      width: 3vw !important; }

  li.current-menu-item a:after {
    width: 3vw !important;
    right: -4vw !important;
    margin-left: 1vw !important; } }
@media (min-width: 960px) {
  /* Same story as the 739px block above. */
  header:not(#siteHeader) {
    margin-top: 1.2vw; }

  #logoNav, .menuOpen #contact, .menuOpen #copyright {
    left: 8vw !important; }

  .menuOpen #contact {
    left: 7vw !important; }

  #menu {
    right: 7vw; }

  #menu > li > a {
    font-size: 20px !important; }
    #menu > li > a:after {
      right: -6vw !important;
      margin-left: 1vw !important; }
    #menu > li > a.active:after {
      width: 4vw !important; }

  li.current-menu-item a:after {
    width: 4vw !important;
    right: -6vw !important;
    margin-left: 1vw !important; } }
@media (min-width: 1440px) {
  #logoNav, .menuOpen #contact, .menuOpen #copyright {
    left: 7vw !important; }

  #menu {
    right: 7vw !important; }

  .opera #menu,
  .chrome #menu {
    right: 7vw !important; }

  #menu > li > a {
    font-size: 30px !important; }
    #menu > li > a:after {
      right: -4.5vw !important;
      margin-left: 1vw !important; }
    #menu > li > a.active:after {
      width: 3vw !important; }

  li.current-menu-item a:after {
    width: 3vw !important;
    right: -4.5vw !important;
    margin-left: 1vw !important; } }
.menuOpen #bgBlue {
  right: 100%;
  -webkit-transition: all 650ms cubic-bezier(0.645, 0.045, 0.355, 1);
  transition: all 650ms cubic-bezier(0.645, 0.045, 0.355, 1);
  -webkit-transition-timing-function: cubic-bezier(0.645, 0.045, 0.355, 1);
  transition-timing-function: cubic-bezier(0.645, 0.045, 0.355, 1); }

.menuOpen .logoClip svg {
  fill: white; }
.menuOpen .m div span {
  background: white; }

#siteHeader, #bgVid {
  overflow: hidden; }

/* ==========================================================================
   7. COMPONENTS -- FORMS + CLOSE BUTTON
   Mostly legacy: the WordPress contact form this was written for is gone.
   What survives is the shared `form` skin plus #close, which JS still uses.
   ========================================================================== */

form {
  max-width: 960px;
  margin-left: 5vw;
  margin-right: 5vw; }
  form > div {
    float: left;
    width: 100%;
    padding: 0 1vw;
    margin-bottom: 5vw; }
    form > div > span input {
      background: none;
      border: none;
      width: 100%;
      padding-bottom: 5px;
      text-transform: uppercase;
      opacity: 0.5;
      color: var(--white); }
      form > div > span input:focus {
        opacity: 1;
        transition: 0.5s; }
  form input[type="file"] {
    opacity: 0 !important; }
    form input[type="file"]:hover + label, form input[type="file"]:focus + label, form input[type="file"].written + label,
    form input[type="file"] + label {
      top: 17px !important;
      transition: 0.5s; }
    form input[type="file"]:hover {
      cursor: pointer; }
  form textarea {
    order: 2 !important;
    width: 100%;
    background: none;
    border: 1px solid white;
    min-height: 200px;
    opacity: 0.5;
    color: var(--white);
    text-transform: none;
    transition: 0.5s;
    padding: 15px;
    font-size: 13px;
    font-size: 15px;
    letter-spacing: 0.75px;
    line-height: 1.6em;
    text-align: justify; }
    form textarea + label {
      opacity: 0.5;
      transition: 0.5s; }
    form textarea:focus {
      opacity: 1;
      transition: 0.5s;
      border: 1px solid white;
      opacity: 1; }
      form textarea:focus + label {
        opacity: 1;
        transition: 0.5s; }
  form .btn {
    z-index: 66;
    display: inline-block;
    width: auto;
    float: right !important;
    margin-right: 1vw;
    padding: 0; }
    form .btn button {
      border-bottom: none;
      position: relative;
      color: var(--white);
      opacity: 1;
      z-index: 88;
      display: block;
      text-transform: none;
      display: inline-block;
      width: auto; }
    form .btn:hover button {
      color: var(--navy);
      transition: 0.25s;
      cursor: pointer; }

@media (min-width: 960px) {
  form > div {
    width: 50%;
    margin-bottom: 2vw; } }
button {
  background: none;
  border: none; }

/* Folded from two `#close` rules; the !important z-index always won. */
#close {
  position: absolute;
  top: 6vw;
  right: 6vw;
  width: 2vw;
  height: 2vw;
  opacity: 0.5;
  transition: 0.25s;
  z-index: var(--z-top) !important; }

#close:after, #close:before {
  content: '';
  display: block;
  position: absolute;
  top: 50%;
  left: 5%;
  right: 5%;
  height: 2px;
  margin-top: -1px;
  background: var(--white); }

#close:after {
  transform: rotate(-45deg); }

#close:before {
  transform: rotate(45deg); }

#close:hover {
  opacity: 1;
  transition: 0.25s; }

@keyframes rotationClose {
  from {
    transform: rotate(0); }
  to {
    transform: rotate(90deg); } }
#close.spinning {
  animation: rotationClose 0.25s ease-in-out; }

@media (max-width: 959px) {
  #close {
    width: 4vw;
    height: 4vw; } }
@media (max-width: 499px) {
  #close {
    width: 6vw;
    height: 6vw; } }
/* `* { outline: none }` removed -- see the :focus-visible rules near the top. */

@media (max-width: 499px) {
  form label {
    font-size: 10px !important; } }
.clearThis {
  position: absolute !important;
  bottom: 8px;
  right: 1vw !important;
  width: 14px !important;
  height: 14px;
  z-index: 8;
  opacity: 0;
  display: none; }
  .clearThis:hover {
    opacity: 1;
    cursor: pointer; }
  .clearThis:after, .clearThis:before {
    display: block;
    position: absolute;
    width: 10px;
    left: 2px;
    top: 50%;
    height: 1px;
    background-color: white;
    content: '';
    transform: rotate(-45deg); }
  .clearThis:before {
    transform: rotate(45deg); }

@media (max-width: 499px) {
  form label,
  .titleUpload {
    font-size: 10px !important; } }
/* ==========================================================================
   7b. LAYOUT PRIMITIVES -- COLUMNS + GRID
   ========================================================================== */
@media (max-width: 959px) {
  /* Folded from two `.colLeft` rules in this same breakpoint; the later
     `width: 84vw !important` is the one that won. */
  .colLeft {
    left: 0;
    width: 84vw !important;
    position: relative; } }
@media (min-width: 960px) {
  .colLeft {
    left: 0;
    width: 50%;
    position: relative; }
    .colLeft > .contentBlock {
      padding-right: 0 !important; } }
@media (min-width: 960px) {
  .multicol .colLeft {
    left: 0;
    width: 90%;
    position: relative; }
    .multicol .colLeft > .contentBlock {
      width: 80% !important;
      padding-right: 0 !important; } }
.colHalf {
  width: 33.333%; }

.centerVertical {
  position: absolute !important;
  top: 50% !important;
  transform: translateY(-50%) !important; }

#colCenter {
  position: fixed;
  top: 0;
  right: 30%;
  height: 80%;
  width: 23% !important; }

@media (max-width: 959px) {
    .colLeft > .contentBlock {
      width: 100% !important;
      max-width: 100% !important; }

  .colLeftFeature {
    width: 100vw !important;
    padding: 10vw 0 5vw 0 !important; }
    .colLeftFeature > .contentBlock {
      width: 90vw !important;
      max-width: 90vw !important;
      margin-left: 5vw !important; }

  #siteBody .contentInner.menuRightDouble {
    position: static !important;
    display: block !important;
    width: 50% !important;
    float: left; } }
@media (max-width: 500px) {
  #siteBody .contentInner,
  #siteBody .contentInner.menuRightDouble {
    position: static !important;
    display: block !important;
    width: 100% !important;
    left: 0 !important;
    right: 0 !important; }

  .colLeft {
    width: 78vw !important;
    left: 0; }
    .colLeft > .contentBlock {
      width: 100% !important;
      max-width: 100% !important; }

  .colLeftFeature {
    width: 100vw !important;
    padding: 20vw 0 10vw 0 !important; }
    .colLeftFeature > .contentBlock {
      width: 90vw !important;
      max-width: 90vw !important;
      margin-left: 5vw !important; } }
@media (max-width: 959px) {
  .tripleCol .contentBlock {
    width: 88vw;
    max-width: 88vw; } }
@media (min-width: 960px) {
  .tripleCol .contentBlock {
    width: 39vw;
    max-width: 39vw; } }

#colRight2.white {
  border-right: 1px solid rgba(255, 255, 255, 0.35);
  border-left: 1px solid rgba(255, 255, 255, 0.35); }

@media (max-width: 500px) {
  .textTitle.white {
    margin: 10vw;
    max-width: 78vw !important;
    padding-left: 0; } }
/* ==========================================================================
   9. PAGE-SPECIFIC -- HOME (#homePage, .menuHome, .smBoxHome)
   ========================================================================== */
.menuHome {
  position: absolute;
  right: 7%;
  left: 50%;
  top: 0;
  bottom: 0;
  display: flex;
  flex-wrap: wrap; }

  .smBoxHome {
    position: relative;
  }

  .smBoxHome > div {
    position: absolute;
    bottom: 2.4vw; /* Only one bottom declaration */
    left: 2.4vw;
    right: 2.4vw;
  }

  .smBoxHome > div p.nav {
    text-transform: uppercase;
    letter-spacing: 3px;
    font-size: 20px;
    font-weight: 700; /* Use numeric value for bold */
  }

  .smBoxHome > div p.nav + p {
    padding: 20px 0;
    font-size: 15px;
    font-weight: 700; /* Use numeric value for bold */
    letter-spacing: 0.75px;
    line-height: 1.6em;
    text-align: justify;
  }

@media (min-width: 960px) {
  .menuHome > a {
    width: 50%;
    border-right: 1px solid rgba(255, 255, 255, 0.35);
    border-left: 1px solid rgba(255, 255, 255, 0.35);
    border-top: 1px solid rgba(255, 255, 255, 0.35); }
    .menuHome > a > div {
      z-index: 4;
      position: absolute; }
    .menuHome > a .nav, .menuHome > a .nav + div {
      transform: translateY(0px);
      transition: 0.25s ease-in-out; }
    .menuHome > a:after {
      content: '';
      position: absolute;
      top: -1px;
      left: -1px;
      right: -1px;
      bottom: -1px;
      border: 1px solid white;
      background: var(--navy);
      display: block;
      z-index: 3;
      opacity: 0;
      transition: 0.25s ease-in-out; }
    .menuHome > a.activeBox:after, .menuHome > a:hover:after {
      opacity: 0.6;
      transition: 0.25s ease-in-out; }
    .menuHome > a.activeBox .nav, .menuHome > a.activeBox .nav + div, .menuHome > a:hover .nav, .menuHome > a:hover .nav + div {
      transform: translateY(-20px);
      transition: 0.25s ease-in-out; }
    .menuHome > a:first-child, .menuHome > a:nth-child(2) {
      border-top: none; }
    .menuHome > a:first-child, .menuHome > a:nth-child(3) {
      border-right: none; } }
@media (max-width: 959px) {
  .menuHome > a:after {
    content: '';
    position: absolute;
    top: -1px;
    left: -1px;
    right: -1px;
    bottom: -1px;
    border: 1px solid white;
    background: var(--navy);
    display: block;
    z-index: 3;
    opacity: 0;
    transition: 0.25s ease-in-out; }
  .menuHome > a.activeBox:after, .menuHome > a:hover:after {
    opacity: 0.6;
    transition: 0.25s ease-in-out; }
  .menuHome > a.activeBox .nav, .menuHome > a.activeBox .nav + div, .menuHome > a:hover .nav, .menuHome > a:hover .nav + div {
    z-index: 4; } }
@media (max-width: 499px) {
  .menuHome > a:after {
    content: '';
    position: absolute;
    top: -1px;
    left: -5px;
    right: -5px;
    bottom: -1px;
    border: 1px solid white;
    background: var(--navy);
    display: block;
    z-index: 3;
    opacity: 0;
    transition: 0.25s ease-in-out; }
  .menuHome > a.activeBox:after, .menuHome > a:hover:after {
    opacity: 0.6;
    transition: 0.25s ease-in-out; }
  .menuHome > a.activeBox .nav, .menuHome > a.activeBox .nav + div, .menuHome > a:hover .nav, .menuHome > a:hover .nav + div {
    z-index: 4;
    position: relative; } }

/* The hero headline used to be wrapped in a dead `<a href="#">`, which is
   where its left offset and max-width lived. That anchor was removed (it was
   a focusable tab stop that went nowhere), so these styles now sit directly
   on the h1. The :hover underline went with the anchor -- it was never a real
   link, so there is nothing left to indicate. */
#homePage > h1 {
  margin-left: 7vw;
  max-width: 650px !important;
  display: block;
  padding-top: 0;
  width: auto; }

@media (max-width: 959px) {
  #homePage h1 {
    position: absolute;
    bottom: 50%;
    left: 5vw;
    right: 5vw;
    transform: translateY(-5vw); }

  .menuHome {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    top: 50%;
    height: 50%; }
    .menuHome a {
      width: 50%;
      border-top: 1px solid rgba(255, 255, 255, 0.35); }
      .menuHome a:first-child, .menuHome a:nth-child(3) {
        border-right: 1px solid rgba(255, 255, 255, 0.35); }
      .menuHome a > div {
        bottom: 5vw;
        left: 5vw; } }
@media (max-width: 499px) {
  #homePage h1 {
    left: 0vw;
    right: 5vw;
    transform: translateY(0vw); }

  .menuHome {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    top: 50%;
    height: 50%; }
    .menuHome a {
      border-top: 1px solid rgba(255, 255, 255, 0.35);
      width: 100%;
      border-right: none !important;
      display: flex;
      align-items: center; }
      .menuHome a > div {
        height: auto;
        overflow: hidden;
        position: static;
        display: block;
        margin-left: 5vw;
        margin-right: 5vw; }
        .menuHome a > div .readmore {
          display: none; } }
#contactBlock {
  border-bottom: 1px solid var(--surface);
  display: flex;
  align-items: flex-end;
  padding-bottom: 2vw;
  height: 23vw; }
  #contactBlock > div * {
    opacity: 1 !important; }
  #contactBlock a {
    display: inline-block;
    padding: 0;
    text-align: left;
    height: auto; }

#contactBlock.chrome,
#contactBlock.opera {
  height: calc(23vw - 4px); }

@media (max-width: 959px) {
  #contactBlock {
    height: 50vw;
    padding-bottom: 4vw; }
    #contactBlock > div * {
      opacity: 1 !important; }
    #contactBlock a {
      display: inline-block;
      padding: 0;
      text-align: left;
      height: auto; } }
@media (max-width: 500px) {
  #contactBlock {
    border-bottom: 1px solid var(--surface);
    position: relative;
    height: auto; }
    #contactBlock > div {
      padding-bottom: 5vw !important; }
      #contactBlock > div * {
        opacity: 1 !important; }
    #contactBlock a {
      display: inline-block;
      padding: 0;
      text-align: left;
      height: auto; } }
.hidden {
  display: none; }

.g {
  overflow: hidden;
  border: 1px solid rgba(255, 255, 255, 0.35);
  padding: 3vw;
  width: 100% !important; }
  .g * {
    color: white !important; }
  .g p {
    padding-bottom: 1vw; }
  .g p.articleTitle.textTitle {
    padding-bottom: 2vw; }
  .g .articleTitle {
    width: 100% !important; }
  .g .articleTitle,
  .g .jobListing {
    width: 100% !important; }

@media (max-width: 499px) {
  .readmore.read:before,
  .readmore.close:before {
    display: none;
    margin-left: 0 !important; } }
@media (min-width: 960px) and (max-width: 1139px) {
  .g {
    max-width: 50vw !important; } }
@media (min-width: 1140px) {
  .g {
    width: 60vw !important;
    max-width: 700px !important; } }
@media (max-width: 499px) {
  .g {
    padding: 5vw; } }
@media (min-width: 960px) {
  .g {
    padding: 1vw 3vw 1.25vw; }

  .g p.articleTitle.textTitle {
    padding-bottom: 1vw; } }
@media (min-width: 1920px) {
  .g {
    padding: 20px 50px 30px; }

  .g p.articleTitle.textTitle {
    padding-bottom: 20px; } }
.ajax-overlay .m, .ajax-overlay .logoClip {
  position: fixed !important;
  color: white !important; }
  .ajax-overlay .m div > span, .ajax-overlay .logoClip div > span {
    background-color: white !important; }
  .ajax-overlay .m > svg, .ajax-overlay .logoClip > svg {
    fill: white !important; }
.ajax-overlay .m {
  display: block !important; }

@media (max-width: 959px) {

  .contentBlock.hideMO.textTitle.memberTitle {
    margin-bottom: 0.5vw !important; } }
@media (max-width: 500px) {

  .contentBlock.hideMO.textTitle.memberTitle {
    margin-bottom: 1vw !important; } }
@media (min-width: 500px) and (max-width: 959px) {
  .role.teamSubtitle {
    padding-bottom: 10vw; }

  .teamPage h1 {
    padding-left: 7vw; } }
@media (min-width: 1240px) {
  .contentBlock.hideMO.noPadBot.miniTitle.colorBlue.teamSubtitle {
    margin-bottom: 0px !important;
    padding-bottom: 0px !important; }
    .contentBlock.hideMO.noPadBot.miniTitle.colorBlue.teamSubtitle + * {
      padding-top: 20px !important; } }
@media (max-width: 959px) {
  .mobile-team-member .contentBlock.hideMO.textTitle.memberTitle {
    padding-bottom: 0 !important; }
  .mobile-team-member .contentBlock.noPadTop.hideMO.role.teamSubtitle {
    padding-top: 0 !important; }
  .mobile-team-member .contentBlock.hideMO.noPadBot.textBody.textJust {
    padding-top: 0 !important;
    padding-bottom: 5vw !important; }
  .mobile-team-member .contentBlock.hideMO.textBody.noPadBot a {
    color: var(--navy); } }
@media (max-width: 499px) {
  .txt-box {
    padding-bottom: 5vw; }

  .contentBlock.hideMO.textIntro {
    padding-left: 5vw !important;
    page-break-after: 5vw !important; }

  .contentBlock.noPadTop.hideMO.role.teamSubtitle {
    padding-bottom: 8vw !important; }

  .row-1 {
    padding-bottom: 8vw; }

  .row-2 {
    padding: 8vw 0 8vw; }

  .row-3 {
    padding: 5vw 0 16vw; }
    .row-3 .contentBlock:last-of-type {
      padding-bottom: 0 !important; }

  .row-4 {
    padding: 10vw 0;
    text-align: left !important; }

  .teamInfo > span {
    height: 5px !important;
    display: block;
    clear: both; }
    .teamInfo > span:first-child {
      height: 0 !important; }

  .miniTitle.colorBlue.teamSubtitle {
    padding-bottom: 2px !important;
    padding-top: 8vw !important; } }
@media (min-width: 500px) and (max-width: 959px) {
  /* `.row-2 > p` before the restructure. One of these paragraphs is now an
     <h2> (the "Summary of Experience and Skills" label), which silently
     dropped out of this rule and lost its 12vw gutter. */
  .row-2 > p,
  .row-2 > h1,
  .row-2 > h2,
  .row-2 > h3 {
    padding-left: 12vw !important;
    padding-right: 12vw !important; }

  .row-3 > div:first-child {
    padding-left: 7vw !important;
    padding-right: 0vw !important; }
  .row-3 > div:last-child {
    padding-left: 0vw !important;
    padding-right: 7vw !important; } }

.legal .add_bhntt {
  border-bottom: 1px solid rgba(19, 41, 75, 0.25);
  margin-bottom: 1vw;
  padding-top: 0;
  margin-top: -2vw; }
  .legal .add_bhntt a {
    color: var(--navy); }
.legal .contentBlock:last-of-type {
  padding-bottom: 6vw;
  border-bottom: none; }
.legal .textIntro {
  padding-bottom: 2vw;
  margin-top: -1vw;
  padding-top: 1vw; }

/* ==========================================================================
   8. COMPONENTS -- BUTTONS + READ-MORE LINKS
   ========================================================================== */
@keyframes goRightHover {
  from {
    padding-left: 25px;
    padding-right: 25px;
    opacity: 1; }
  49% {
    padding-left: 35px;
    padding-right: 15px;
    opacity: 0; }
  51% {
    padding-left: 15px;
    padding-right: 35px;
    opacity: 0; }
  to {
    padding-left: 25px;
    padding-right: 25px;
    opacity: 1; } }
/* Folded from three identical `.btn` groups (and two `.btn.blue` groups).
   Where they disagreed the later value is kept, which is what won before:
   `.btn span` transition -> `color 0.25s`, `.btn.blue` transition-delay ->
   0.000001s. Within-rule duplicates (font-size, letter-spacing, text-align)
   collapsed to the winning declaration too. */
.btn {
  display: inline-block;
  border: 1px solid var(--white);
  position: relative;
  text-align: center;
  -webkit-transition: opacity 0.2s cubic-bezier(0.4, 0, 0.2, 1) 0.025s, -webkit-transform 0.2s cubic-bezier(0.4, 0, 0.2, 1) 0.025s;
  transition: transform 0.2s cubic-bezier(0.4, 0, 0.2, 1) 0.025s, opacity 0.2s cubic-bezier(0.4, 0, 0.2, 1) 0.025s, -webkit-transform 0.2s cubic-bezier(0.4, 0, 0.2, 1) 0.025s; }
  .btn span, .btn input, .btn button {
    position: relative;
    z-index: 5;
    padding-left: 25px;
    padding-right: 25px;
    padding-top: 15px !important;
    padding-bottom: 15px !important;
    font-size: 13px;
    letter-spacing: 2px;
    line-height: 1.6em;
    display: block;
    text-align: center;
    transition: color 0.25s ease-in-out; }
  .btn:after {
    z-index: 3;
    position: absolute;
    top: 0;
    left: 0;
    width: 0;
    bottom: 0;
    content: '';
    display: block;
    transition: 0.25s ease-in-out; }
  .btn:hover, .btn:active {
    transition: 0.25s ease-in-out; }
    .btn:hover span, .btn:hover input, .btn:hover button, .btn:active span, .btn:active input, .btn:active button {
      animation: goRightHover 0.25s ease-out; }
    .btn:hover:after, .btn:active:after {
      width: 100%;
      transition: 0.25s ease-in-out; }

.btn.blue {
  color: var(--navy);
  border-color: var(--navy);
  transition-delay: 0.000001s !important; }
  .btn.blue > span {
    color: var(--navy); }
  .btn.blue:after {
    background: var(--navy); }
  .btn.blue:active > span, .btn.blue:hover > span {
    color: var(--white); }

.readmore {
  position: relative;
  color: var(--white);
  text-decoration: none;
  text-transform: uppercase;
  font-size: 10px !important;
  letter-spacing: 2px;
  margin-left: 50px; }
  .readmore:before {
    content: '';
    background: var(--white);
    width: 30px;
    height: 1px;
    display: block;
    position: absolute;
    top: 6px;
    left: -50px;
    transition: 0.25s ease-in-out; }

.readmore > span {
  position: relative;
  color: var(--white);
  text-decoration: none;
  text-transform: uppercase;
  font-size: 10px !important;
  letter-spacing: 2px; }

@keyframes hoverRM {
  from {
    left: -50px;
    width: 30px; }
  49% {
    left: -20px;
    width: 0; }
  51% {
    left: -50px;
    width: 0; }
  to {
    left: -50px;
    width: 30px; } }

@media (min-width: 960px) {
  .readmore {
    position: relative;
    color: var(--white);
    text-decoration: none;
    text-transform: uppercase;
    font-size: 10px !important;
    letter-spacing: 2px;
    margin-left: 50px; }
    .readmore:before {
      content: '';
      background: var(--white);
      width: 30px;
      height: 1px;
      display: block;
      position: absolute;
      top: 6px;
      left: -50px;
      transition: 0.25s ease-in-out; }

  .readmore > span {
    position: relative;
    color: var(--white);
    text-decoration: none;
    text-transform: uppercase;
    font-size: 10px !important;
    letter-spacing: 2px; }

  @keyframes hoverRM {
    from {
      left: -50px;
      width: 30px; }
    49% {
      left: -20px;
      width: 0; }
    51% {
      left: -50px;
      width: 0; }
    to {
      left: -50px;
      width: 30px; } }
  .readmore:hover:before {
    animation: hoverRM 0.33s ease-in-out; } }

/* ==========================================================================
   8b. COMPONENTS -- SOCIAL LINKS
   ========================================================================== */
.socialBox a {
  height: 54px;
  width: 54px;
  border-radius: 100%;
  border: 1px solid var(--white);
  display: inline-block;
  position: relative;
  margin-right: 8px;
  opacity: 1;
  transition: 0.25s; }
  .socialBox a:after {
    border-radius: 100%;
    display: block;
    content: '';
    position: absolute;
    top: -1px;
    right: -1px;
    bottom: -1px;
    left: -1px;
    z-index: 0;
    border: 0px solid var(--white);
    transition: 0.25s;
    opacity: 0.5; }
  .socialBox a img, .socialBox a svg {
    z-index: 1;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translateX(-50%) translateY(-50%);
    display: block;
    max-width: 24px;
    max-height: 24px;
    transition: 0.25s;
    fill: var(--white); }
  .socialBox a:hover {
    opacity: 1;
    transition: 0.125s;
    background: var(--white); }
    .socialBox a:hover:after {
      transition: 0.25s;
      opacity: 1; }
    .socialBox a:hover svg {
      fill: var(--navy);
      transition: 0.125s; }

/* #social/.socialBox moved into <footer> along with #contact. */
nav .socialBox a,
footer .socialBox a {
  opacity: 0.5; }
  nav .socialBox a:hover,
  footer .socialBox a:hover {
    opacity: 1; }
/* ==========================================================================
   8c. COMPONENTS -- EMBEDDED VIDEO
   ========================================================================== */
iframe {
  border: none !important; }
.currentPlay {
  pointer-events: none; }
  .currentPlay img {
    opacity: 0.5; }

/* ==========================================================================
   8d. COMPONENTS -- FIXED PAGE CHROME
   Logo clips, the `.m` menu toggle, the scroll cue, the fixed side
   columns (#colRight1/2) and the block/divider primitives.
   ========================================================================== */
#siteHeader {
  overflow: hidden;
  position: relative;
  z-index: 100;
  height: 100%;
  color: white; }
  #siteHeader h1 {
    font-size: 38px;
    letter-spacing: 2px;
    line-height: 1.1em;
    font-weight: 100 !important; }

#siteBody {
  background: white;
  overflow: hidden;
  z-index: 1;
  width: 100%; }

#logo1, #f1, #verticalTitle1, #menuLink1, #colRight1 {
  color: white;
  z-index: 101;
  position: absolute; }
  #logo1 div > span, #f1 div > span, #verticalTitle1 div > span, #menuLink1 div > span, #colRight1 div > span {
    background: white; }

#f1 {
  z-index: 103; }

#logo1 svg,
#logo3 svg {
  fill: white !important; }

#menuLink3.m div > span {
  background-color: white; }

#logo2, #f2, #verticalTitle2, #menuLink2, #colRight2 {
  color: white;
  position: fixed;
  z-index: 2; }
  #logo2 div > span, #f2 div > span, #verticalTitle2 div > span, #menuLink2 div > span, #colRight2 div > span {
    background: white; }

#logo4, #f4, #menuLink4 {
  position: fixed; }

@media (min-width: 960px) {
  #siteHeader h1 {
    max-width: 50%; } }
.menuOpen #menuLink1 {
  opacity: 0; }

.logoClip {
  top: 40px;
  left: 7vw;
  text-transform: uppercase;
  width: 160px; }

/* `.m` and `.scrollDown` used to be anchors and are now <button>s. Strip the
   UA button chrome (background, border, padding, centred bold text, system
   font) so they render exactly as the anchors did. Everything else below --
   positioning, the hamburger spans, the .menuOpen states -- matches on
   `.m` / `.scrollDown` regardless of tag, so it still applies. */
button.m,
button.scrollDown,
button#scrollDown {
  appearance: none;
  -webkit-appearance: none;
  background: none;
  border: 0;
  padding: 0;
  margin: 0;
  font: inherit;
  color: inherit;
  text-align: inherit;
  cursor: pointer; }

.m {
  top: 80px;
  right: 0;
  text-transform: uppercase;
  letter-spacing: 2px;
  width: auto !important;
  width: 7%;
  height: 16px; }
  .m:hover {
    cursor: pointer; }
  .m > div {
    height: 10px;
    width: 10px;
    margin-left: 0.35vw;
    display: inline-block; }
    .m > div span {
      display: block;
      position: absolute;
      top: 8px;
      width: 10px;
      height: 1px;
      margin-top: -1px; }
    .m > div span:first-child {
      margin-top: -5px; }
    .m > div span:last-child {
      margin-top: 3px; }

@media (min-width: 960px) {
  .menuHover .m > div > span:first-child {
    margin-top: -7px;
    transition-delay: 0s !important; }

  .menuHover .m > div > span:last-child {
    margin-top: 5px;
    transition-delay: 0s !important; } }
.menuOpen .m > div > span {
  opacity: 0; }

.menuOpen .m > div > span:first-child {
  opacity: 1;
  margin-top: -1px;
  transform: rotate(45deg); }

.menuOpen .m > div > span:last-child {
  opacity: 1;
  margin-top: -1px;
  transform: rotate(-45deg); }

#menuLink4.m {
  color: var(--navy); }
  #menuLink4.m div > span {
    background: var(--navy); }

@media (min-width: 960px) {
  .m {
    width: 7% !important;
    text-align: center; } }
@media (min-width: 960px) {
  #menuLink3, #logo3 {
    z-index: 3000000 !important;
    position: fixed;
    opacity: 0; }

  .menuOpen #menuLink3, .menuOpen #logo3 {
    position: fixed;
    opacity: 1; }

  #logo4,
  #menuLink4,
  #menuMaskWhite {
    display: none; } }

#verticalTitle1.verticalTitleClip.blueClip,
#verticalTitle2.verticalTitleClip.blueClip,
#verticalTitle3.verticalTitleClip.blueClip,
#verticalTitle4.verticalTitleClip.blueClip {
  color: var(--navy); }

#logo1.logoClip.blueClip svg,
#logo2.logoClip.blueClip svg,
#logo3.logoClip.blueClip svg,
#logo4.logoClip.blueClip svg {
  fill: var(--navy); }

#menuLink1.m.blueClip,
#menuLink2.m.blueClip,
#menuLink3.m.blueClip,
#menuLink4.m.blueClip {
  color: var(--navy); }
  #menuLink1.m.blueClip div > span,
  #menuLink2.m.blueClip div > span,
  #menuLink3.m.blueClip div > span,
  #menuLink4.m.blueClip div > span {
    background-color: var(--navy); }

#verticalTitle1.verticalTitleClip.whiteClip,
#verticalTitle2.verticalTitleClip.whiteClip,
#verticalTitle3.verticalTitleClip.whiteClip,
#verticalTitle4.verticalTitleClip.whiteClip {
  color: white; }

#logo1.logoClip.whiteClip svg,
#logo2.logoClip.whiteClip svg,
#logo3.logoClip.whiteClip svg,
#logo4.logoClip.whiteClip svg {
  fill: white; }

#menuLink1.m.whiteClip,
#menuLink2.m.whiteClip,
#menuLink3.m.whiteClip,
#menuLink4.m.whiteClip {
  color: white; }
  #menuLink1.m.whiteClip div > span,
  #menuLink2.m.whiteClip div > span,
  #menuLink3.m.whiteClip div > span,
  #menuLink4.m.whiteClip div > span {
    background-color: white; }

@media (max-width: 959px) {
  .ajax-overlay .logoClip,
  #logo1.logoClip,
  #logo2.logoClip,
  #logo3.logoClip,
  #logo4.logoClip {
    position: absolute; }

  .ajax-overlay .m,
  #menuLink1.m,
  #menuLink2.m,
  #menuLink3.m,
  #menuLink4.m {
    position: absolute; }

  #logo1.logoClip,
  #logo2.logoClip {
    display: none; }

  #menuLink1.m,
  #menuLink2.m {
    display: none; }

  .logoClip {
    top: 9px;
    left: 5vw;
    width: 100px; }

  .m {
    top: 30px;
    right: 5vw; }

  #logo4.logoClip,
  #menuLink4.m {
    position: fixed !important;
    margin-top: -150px;
    opacity: 1;
    transition: 0.575s; }

  .scrollUp #logo4,
  .scrollUp #menuLink4 {
    margin-top: 0px;
    opacity: 1;
    transition: 0.575s; }

  .scrollUp.scrollTop #logo4,
  .scrollUp.scrollTop #menuLink4 {
    margin-top: -150px;
    transition: 0.575s; }

  #menuMaskWhite {
    position: fixed;
    top: -100px;
    left: 0;
    right: 0;
    height: 75px !important;
    background-color: white;
    opacity: 1;
    transition: 0.575s top, 0.75s opacity; }

  .scrollUp #menuMaskWhite {
    top: 0 !important;
    opacity: 1; }

  @keyframes backToTop {
    from {
      top: 0;
      opacity: 1; }
    50% {
      top: 0;
      opacity: 0; }
    to {
      top: -150px;
      opacity: 0; } }
  .scrollTop.scrollUp #menuMaskWhite {
    top: -150px !important;
    transition: top 0.5s ease !important; }

  .scrollTop.scrollDown #menuMaskWhite {
    top: -100px !important;
    opacity: 0;
    transition: 0s; }

  #logo3, #menuLink3 {
    z-index: 570 !important; }

  #logo4, #menuLink4 {
    z-index: 590 !important; }

  #menuMaskWhite {
    z-index: 580 !important; } }
/* Folded from four separate `#scrollDown` blocks; opacity/transition keep the
   values from the last one, which is what won before. */
#scrollDown {
  position: fixed;
  bottom: 2.5vw;
  left: 2.5vw;
  width: 2vw;
  height: 1vw;
  opacity: 0;
  z-index: 58;
  animation: sDown 0.5s infinite ease-in-out alternate;
  transition: 0.25s; }

#scrollDown:before {
  position: absolute;
  top: 0px;
  bottom: 0px;
  left: 50%;
  width: 2px;
  margin-left: -1px;
  display: block;
  content: '';
  background: var(--navy); }

#scrollDown:after {
  position: absolute;
  height: 10px;
  bottom: 0px;
  left: 50%;
  width: 10px;
  margin-left: -5px;
  display: block;
  content: '';
  transform: rotate(-45deg);
  border-bottom: 2px solid var(--navy);
  border-left: 2px solid var(--navy); }

#scrollDown.hide {
  opacity: 0; }

@media (max-width: 959px) {
  #scrollDown {
    display: none; } }

.scrollTop #scrollDown {
  opacity: 1 !important; }

.scrollTop.menuOpen #scrollDown {
  opacity: 0 !important; }

#colRight1 {
  top: 0;
  height: 100%; }

#colRight2 {
  top: 0;
  height: 100%; }

#colRight1.verticalMenu a {
  border-bottom: 1px solid rgba(255, 255, 255, 0.35);
  color: white !important; }

#colRight2.verticalMenu a {
  border-bottom: 1px solid rgba(19, 41, 75, 0.5);
  color: blue !important; }

.menuRight {
  right: 7%;
  width: 23%; }

.menuRight a {
  display: block;
  text-align: center; }

@media (max-width: 499px) {
  .textTitle.white, :where(#siteHeader) h1 {
    width: 90vw !important;
    max-width: 90vw !important; } }
.contentBlock {
  padding: 2vw; }

@media (max-width: 959px) {
  .contentBlock {
    padding: 5vw; } }
@media (max-width: 499px) {
  .contentBlock {
    padding: 5vw; } }

.colLeft .contentBlock {
  padding: 2vw 0 0 0; }

.contentBlock:last-of-type {
  padding-bottom: 6vw; }

#colRight1.verticalMenu {
  border-right: 1px solid rgba(255, 255, 255, 0.35);
  border-left: 1px solid rgba(255, 255, 255, 0.35); }

#colRight2.verticalMenu {
  border-right: 1px solid var(--surface);
  border-left: 1px solid var(--surface); }

#siteHeader {
  transition: 0.75s;
  -webkit-transition: all 650ms cubic-bezier(0.645, 0.045, 0.355, 1);
  transition: all 650ms cubic-bezier(0.645, 0.045, 0.355, 1);
  -webkit-transition-timing-function: cubic-bezier(0.645, 0.045, 0.355, 1);
  transition-timing-function: cubic-bezier(0.645, 0.045, 0.355, 1); }

.colLeftContent {
  padding-top: 7vw; }
  .colLeftFeature .contentBlock, .colLeftFeature .divider {
    max-width: 80%;
    margin-left: 7vw; }
  .colLeftFeature .bgGreyDark {
    width: 100%; }

#menuMaskRight {
  position: absolute;
  top: 0;
  left: 70%;
  right: 7%;
  background: white;
  height: 10000%;
  display: none;
  z-index: 1; }

#colRight2 h2,
#colRight2 a.scroll-to span {
  color: var(--navy); }
.colLeftFeature {
  width: 70%;
  left: 0 !important }

#siteBody.noHide {
  display: block; }

:where(#siteHeader) h1 {
  padding-left: 7vw; }

#siteBody {
  display: none; }

.noPadBot {
  padding-bottom: 0 !important; }

.white > p,
.textTitle.white,
.textBody.white {
  color: white !important; }

.boldCont {
  font-weight: 900; }

.miniTitle.teamPage {
  color: var(--navy) !important;
  font-size: 14px !important;
  margin-bottom: -5px; }

@media (min-width: 960px) {
  .fullHeight {
    min-height: 100vh; } }

.textBody {
  position: relative;
  z-index: 9; }

#bgBlue.isFixed {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  height: 100%; }

@media (min-width: 960px) {
  #bgBlue.isFixed {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 100%; } }
#menuSpacer {
  background: var(--surface);
  display: block;
  position: absolute;
  height: 100%;
  right: 0;
  width: 7%;
  bottom: 0;
  transition: 0.75s;
  -webkit-transition: all 650ms cubic-bezier(0.645, 0.045, 0.355, 1);
  transition: all 650ms cubic-bezier(0.645, 0.045, 0.355, 1);
  -webkit-transition-timing-function: cubic-bezier(0.645, 0.045, 0.355, 1);
  transition-timing-function: cubic-bezier(0.645, 0.045, 0.355, 1); }

@media (max-width: 959px) {
  #menuSpacer {
    display: none; } }

#colRight2.white h2.blockTitle.miniTitle {
  border-bottom: 1px solid rgba(255, 255, 255, 0.35) !important;
  color: var(--white-muted); }
#colRight2.white .textBody {
  color: white !important;
  opacity: 1 !important;
  z-index: 8 !important;
  position: relative !important; }

@media (max-width: 959px) {
  .verticalMenu a span {
    padding-left: 0 !important;
    margin-left: 0vw;
    z-index: 4 !important;
    transition: 0.25s ease-in-out; }
  .verticalMenu a:last-of-type {
    border-bottom: none !important; } }
@media (min-width: 960px) {
  .verticalMenu a span {
    margin-left: 2vw !important;
    margin-right: 2vw !important;
    z-index: 4 !important;
    transition: 0.25s ease-in-out; }
  .verticalMenu a:before {
    width: 0;
    display: block;
    background: var(--surface);
    height: 1px;
    content: '';
    margin: 0 0 5px;
    z-index: 4 !important;
    position: absolute;
    top: 50%;
    left: 2vw;
    transition: 0.25s ease-in-out; }
  .verticalMenu a.active span, .verticalMenu a:hover span {
    margin-left: 4vw !important;
    margin-right: 0vw !important;
    transition: 0.25s ease-in-out; }
  .verticalMenu a.active:before, .verticalMenu a:hover:before {
    width: 1vw;
    transition: 0.25s ease-in-out; }
  .verticalMenu a.active {
    pointer-events: none; }
  .verticalMenu a:last-of-type {
    border-bottom: none !important; } }

#colRight2 a {
  color: var(--navy) !important; }
  #colRight2 a.readmore:before {
    background: var(--navy) !important; }
  #colRight2 a:before {
    border-color: var(--navy) !important; }

#colRight2.white a {
  color: white !important; }
  #colRight2.white a.readmore:before {
    background: var(--white) !important; }
  #colRight2.white a:before {
    border-color: var(--white) !important; }

#colRight2 .blockTitle h2,
#colRight2 .blockTitle h2 * {
  color: var(--navy-muted) !important;
  opacity: 1 !important;
  color: white !important; }
@media (max-width: 959px) {
  #siteHeader {
    display: static;
    height: auto;
    min-height: 100vh; }
    #siteHeader .colLeft {
      padding-top: 100px;
      position: static;
      transform: translateY(0); } }

:where(#siteHeader) h1 {
  width: 80% !important;
  max-width: 1000px !important; }

/* Was a bare `h2` rule. Before the pages were restructured no `<h2>` existed
   anywhere, so this only ever hit the vertical-menu / block-title components
   it was authored for. Left unscoped it underlines every promoted section
   label. */
.blockTitle h2,
.verticalMenu h2 {
  border-bottom: 1px solid var(--navy-muted) !important; }

#v .blockTitle h2,
#v .verticalMenu h2 {
  border-bottom: 1px solid rgba(19, 41, 75, 0.25) !important; }
@media (max-width: 959px) {
  .m, .logoClip {
    z-index: 100 !important; } }
@media (max-width: 959px) {
  #menuMaskWhite {
    height: 80px; } }
@media (max-width: 499px) {
  .colLeftFeature .contentBlock, .colLeftFeature .divider {
    max-width: 80vw;
    margin-left: 10vw; } }
@media (min-width: 960px) {
  .twoCol .colLeft,
  .multicol .colLeft {
    padding-top: 10vw !important;
    padding-bottom: 10vw !important; } }
@media (min-width: 500px) and (max-width: 959px) {
  .twoCol .colLeft,
  .multicol .colLeft {
    padding-top: 18vw !important;
    padding-bottom: 0vw !important; } }
@media (max-width: 499px) {
  .twoCol .colLeft,
  .multicol .colLeft {
    padding-top: 15vw !important;
    padding-bottom: 5vw !important; } }
.teamSubtitle {
  text-transform: uppercase;
  letter-spacing: 2px; }
@media (min-width: 960px) and (max-width: 1240px) {

  .newsDetail {
    width: 60vw !important;
    max-width: 60vw !important; }

  .multicol .newsDetail.colLeft > .contentBlock {
    width: 100% !important;
    padding-right: 7vw !important; } }
@media (min-width: 500px) and (max-width: 959px) {

  .multicol .newsDetail.colLeft > .contentBlock {
    padding-right: 7vw !important; }

  #colRight2 {
    width: 100vw;
    left: 0; } }

/* ==========================================================================
   8e. COMPONENTS -- VERTICAL PAGE TITLE (.verticalTitleClip)
   ========================================================================== */
.verticalTitleClip {
  top: 0;
  left: 0;
  width: 7%;
  height: 100vh; }
  .verticalTitleClip p {
    position: absolute;
    top: 50%;
    text-align: center;
    font-size: 11px;
    letter-spacing: 5px;
    text-transform: uppercase;
    top: 50%;
    left: 3.5vw;
    width: 400px;
    -webkit-transform: translate(-50%, -50%) rotate(-90deg);
  transform: translate(-50%, -50%) rotate(-90deg); }

@media (max-width: 959px) {
  .verticalTitleClip {
    display: none; } }
/* ==========================================================================
   6b. TYPOGRAPHY -- FLUID FONT-SIZE LADDER
   One `font-size` ramp per text role, expressed as calc() between
   breakpoints. Left exactly as authored -- see the note in the header.
   ========================================================================== */
:where(#siteHeader) h1, :where(#siteHeader) h1 span {
  font-size: 24px !important; }
  @media (min-width: 500px) {
    :where(#siteHeader) h1, :where(#siteHeader) h1 span {
      font-size: calc(0vw + 28px) !important; } }
  @media (min-width: 768px) {
    :where(#siteHeader) h1, :where(#siteHeader) h1 span {
      font-size: calc(0.72115vw + 22.46154px) !important; } }
  @media (min-width: 1600px) {
    :where(#siteHeader) h1, :where(#siteHeader) h1 span {
      font-size: 34px !important; } }
  @media (max-width: 959px) {
    :where(#siteHeader) h1, :where(#siteHeader) h1 span {
      margin-bottom: 2vw !important; } }
  @media (max-width: 499px) {
    :where(#siteHeader) h1, :where(#siteHeader) h1 span {
      margin-bottom: 4vw !important; } }
  @media (max-width: 750px) and (orientation: landscape) {
    :where(#siteHeader) h1, :where(#siteHeader) h1 span {
      font-size: 16px !important;
      margin-top: -2.5vw !important; } }

@media (max-width: 750px) and (orientation: landscape) {
  .teamPage h1,
  .textTitle.white.jobTitle,
  h1.servicesTitle.textTitle.white.padTopOnSmall {
    font-size: 16px !important;
    margin-top: -2.5vw !important; } }
.textTitle {
  font-size: 28px !important; }
  @media (min-width: 500px) {
    .textTitle {
      font-size: calc(0vw + 28px) !important; } }
  @media (min-width: 768px) {
    .textTitle {
      font-size: calc(0.72115vw + 22.46154px) !important; } }
  @media (min-width: 1600px) {
    .textTitle {
      font-size: 34px !important; } }
  @media (max-width: 959px) {
    .textTitle {
      margin-bottom: 2vw !important; } }
  @media (max-width: 499px) {
    .textTitle {
      margin-bottom: 4vw !important; } }

#menu li a {
  font-size: 22px !important; }
  @media (min-width: 576px) {
    #menu li a {
      font-size: calc(1.04167vw + 16px) !important; } }
  @media (min-width: 768px) {
    #menu li a {
      font-size: calc(0.24038vw + 22.15385px) !important; } }
  @media (min-width: 1600px) {
    #menu li a {
      font-size: 26px !important; } }
  @media (max-height: 499px) and (max-width: 959px) {
    #menu li a {
      font-size: 14px !important;
      padding: 0 !important; } }

.my_tweets_block *,
.juiz_lt_content,
.btn > span, .textBody,
.textBody p,
.textBody a {
  font-size: 13px !important; }
  @media (min-width: 576px) {
    .my_tweets_block *,
    .juiz_lt_content,
    .btn > span, .textBody,
    .textBody p,
    .textBody a {
      font-size: calc(0.2611vw + 11.49608px) !important; } }
  @media (min-width: 960px) {
    .my_tweets_block *,
    .juiz_lt_content,
    .btn > span, .textBody,
    .textBody p,
    .textBody a {
      font-size: calc(0.71429vw + 5.14286px) !important; } }
  @media (min-width: 1240px) {
    .my_tweets_block *,
    .juiz_lt_content,
    .btn > span, .textBody,
    .textBody p,
    .textBody a {
      font-size: 14px !important; } }

.btn > span {
  font-size: 13px !important; }
  @media (min-width: 576px) {
    .btn > span {
      font-size: calc(0.2611vw + 11.49608px) !important; } }
  @media (min-width: 960px) {
    .btn > span {
      font-size: calc(0.71429vw + 5.14286px) !important; } }
  @media (min-width: 1240px) {
    .btn > span {
      font-size: 14px !important; } }

.date,
.dateArticle {
  font-size: 11px !important; }
  @media (min-width: 576px) {
    .date,
    .dateArticle {
      font-size: calc(0.52083vw + 7px) !important; } }
  @media (min-width: 768px) {
    .date,
    .dateArticle {
      font-size: calc(0.89286vw + 4.14286px) !important; } }
  @media (min-width: 992px) {
    .date,
    .dateArticle {
      font-size: 13px !important; } }

.miniTitle, .teamSubtitle, .teamSubtitle *,
.verticalTitleClip > p {
  font-size: 10px !important; }
  @media (min-width: 576px) {
    .miniTitle, .teamSubtitle, .teamSubtitle *,
    .verticalTitleClip > p {
      font-size: calc(0.26042vw + 14px) !important; } }
  @media (min-width: 960px) {
    .miniTitle, .teamSubtitle, .teamSubtitle *,
    .verticalTitleClip > p {
      font-size: calc(0.71429vw + 3.14286px) !important; } }
  @media (min-width: 1240px) {
    .miniTitle, .teamSubtitle, .teamSubtitle *,
    .verticalTitleClip > p {
      font-size: 12px !important; } }

.miniTitle,
.miniTitle > span {
  font-size: 18px !important; }

.textIntro,
.textIntro > p {
  font-size: 18px !important;
  line-height: 1.5em; }
  @media (min-width: 576px) {
    .textIntro,
    .textIntro > p {
      font-size: calc(0vw + 18px) !important;
      line-height: 1.5em; } }
  @media (min-width: 768px) {
    .textIntro,
    .textIntro > p {
      font-size: calc(0.89286vw + 11.14286px) !important; } }
  @media (min-width: 992px) {
    .textIntro,
    .textIntro > p {
      font-size: 20px !important; } }
  @media (max-width: 500px) {
    .textIntro,
    .textIntro > p {
      padding-bottom: 1vw; } }

.verticalMenu,
.verticalMenu a,
.verticalMenu a > span {
  font-size: 10px !important; }
  @media (min-width: 576px) {
    .verticalMenu,
    .verticalMenu a,
    .verticalMenu a > span {
      font-size: calc(0.2611vw + 8.49608px) !important; } }
  @media (min-width: 768px) {
    .verticalMenu,
    .verticalMenu a,
    .verticalMenu a > span {
      line-height: 1.65em !important;
      font-size: calc(0.35714vw + 6.57143px) !important; } }
  @media (min-width: 1240px) {
    .verticalMenu,
    .verticalMenu a,
    .verticalMenu a > span {
      font-size: 12px !important;
      line-height: 1.5em !important; } }

.form,
.form label,
.form label > span {
  font-size: 9px !important; }
  @media (min-width: 500px) {
    .form,
    .form label,
    .form label > span {
      font-size: calc(0.21786vw + 8.91068px) !important; } }
  @media (min-width: 768px) {
    .form,
    .form label,
    .form label > span {
      line-height: 1.65em !important;
      font-size: calc(0.35714vw + 6.57143px) !important; } }
  @media (min-width: 1240px) {
    .form,
    .form label,
    .form label > span {
      font-size: 12px !important;
      line-height: 1.5em !important; } }

.menu-item > a {
  font-size: 18px !important; }
  @media (min-width: 576px) {
    .menu-item > a {
      font-size: calc(-3.125vw + 36px) !important; } }
  @media (min-width: 768px) {
    .menu-item > a {
      font-size: calc(0vw + 12px) !important; } }
  @media (min-width: 960px) {
    .menu-item > a {
      font-size: calc(0.71429vw + 3.14286px) !important; } }
  @media (min-width: 1240px) {
    .menu-item > a {
      font-size: 32px !important; } }

.m {
  font-size: 11px !important; }
  @media (min-width: 576px) {
    .m {
      font-size: calc(0.52083vw + 8px) !important; } }
  @media (min-width: 768px) {
    .m {
      font-size: calc(0vw + 12px) !important; } }
  @media (min-width: 960px) {
    .m {
      font-size: calc(0.71429vw + 3.14286px) !important; } }
  @media (min-width: 1240px) {
    .m {
      font-size: 12px !important; } }

@media (min-width: 960px) {
  .verticalTitleClip {
    display: block !important; } }

#colRight2.verticalMenu a {
  color: var(--navy) !important; }
  #colRight2.verticalMenu a:before {
    background: var(--navy); }

#colRight2.verticalMenu a {
  border-color: var(--surface) !important; }
#homePage h1 {
  max-width: 650px !important;
  width: 75% !important }

.flexHead {
  display: flex;
  align-items: center;
  height: 100%; }
@media (min-height: 720px) {
  .flexHead {
    height: 100vh; } }
@media (max-height: 1000px) and (min-width: 960px) {
  .flexHead .padTopOnSmall {
    padding-top: 5vh !important; } }
@media (max-height: 720px) and (min-width: 960px) {
  .flexHead .padTopOnSmall {
    padding-top: 10vh !important; } }
@media (max-height: 520px) and (min-width: 960px) {
  .flexHead .padTopOnSmall {
    padding-top: 15vh !important; } }

@media (min-width: 500px) and (max-width: 959px) {
  #siteHeader {
    height: auto;
    min-height: 100vh;
    padding-top: 0vh;
    padding-bottom: 0vh;
    padding-left: 7vw;
    padding-right: 7vw; } }
@media (max-width: 499px) {
  #siteHeader {
    height: auto;
    min-height: 100vh;
    padding-top: 100px;
    padding-bottom: 100px; } }
@media (max-width: 959px) {
  .role.teamSubtitle {
    padding-bottom: 4vw !important; } }
@media (max-width: 499px) {
  .role.teamSubtitle {
    padding-bottom: 4vw !important; } }

@media (max-width: 1029px) {
  .btn > span {
    font-size: 13px !important;
    letter-spacing: 0.5px !important; } }
@media (max-width: 499px) {
  .btn > span {
    font-size: 12px !important;
    letter-spacing: 0.5px !important; } }
@media (max-width: 349px) {
  .btn > span {
    font-size: 12px !important;
    letter-spacing: 0px !important; } }
@media (max-width: 959px) {
  #v {
    margin-top: 100px; } }
@media (max-width: 959px) {
  .teamPage {
    height: auto !important;
    min-height: 60vh !important; } }
@media (min-width: 960px) {
  #logo4, #menuLink4 {
    opacity: 0; } }
@media (max-width: 959px) {
  #siteHeader h1 {
    max-width: 50%; } }
@media (max-width: 1240px) {
  #contactBlock p,
  #contactBlock a,
  #contactBlock span {
    font-size: 12px !important; } }
.colorBlue {
  color: var(--navy) !important;
  opacity: 1; }
@media (min-width: 960px) {

  #siteHeader.services {
    height: auto; } }

.verticalMenu {
  display: flex;
  min-height: 100%;
  flex-direction: column; }
  .verticalMenu > a {
    position: relative; }
    .verticalMenu > a > span {
      position: absolute;
      top: 50%;
      left: 0;
      text-align: left;
      transform: translateX(0vw) translateY(-50%);
      text-transform: uppercase;
      letter-spacing: 2px;
      font-size: 13px;
      margin-left: 2vw;
      right: 2vw; }
      .verticalMenu > a > span:before {
        width: 0;
        margin-right: 0;
        height: 1px;
        background: rgba(255, 255, 255, 0.35);
        display: inline-block;
        content: '';
        margin-bottom: 4px; }
    .verticalMenu > a.active span {
      right: 2vw;
      transform: translateX(0vw) translateY(-50%); }

@media (min-width: 500px) and (max-width: 1239px) {
  .teamInfo {
    font-size: 12px !important;
    letter-spacing: 0 !important; } }
.teamSubtitle {
  margin-bottom: 0vw; }

@media (max-width: 959px) {
  .teamSubtitle {
    margin-bottom: -3vw; }

  .colLeft.colLeftContent.white.colLeftFeature.hideMO {
    padding-bottom: 0 !important; } }
@media (min-width: 1240px) {
  .teamSubtitle {
    font-size: 18px !important; } }
@media (max-width: 459px) {

  .teamPage .wideTextBlock {
    padding: 60px 0 0 !important; }

  #siteHeader.teamPage {
    min-height: 75vh !important; }

  .memberTitle {
    padding-top: 40px !important; }

  .role {
    padding-bottom: 20px !important; } }
@media (max-width: 959px) {
  #colRight1.verticalMenu,
  #colRight2.verticalMenu {
    display: block;
    position: fixed !important;
    left: 0 !important;
    right: 0 !important;
    margin: 0;
    width: 100vw;
    height: auto !important;
    overflow: hidden;
    background: white;
    transform: translateY(calc(-84px)); }
    #colRight1.verticalMenu h2,
    #colRight2.verticalMenu h2 {
      height: 54px;
      padding: 18px;
      color: var(--navy);
      position: relative;
      border: 2px solid var(--navy) !important;
      margin: 15px 11vw 0;
      transform: translateX(-2px);
      width: calc(80vw-40px); }
    #colRight1.verticalMenu a,
    #colRight2.verticalMenu a {
      color: var(--navy) !important;
      height: 0px !important;
      padding: 0 !important;
      display: block;
      border-right: 2px solid var(--navy) !important;
      border-left: 2px solid var(--navy) !important;
      border-top: none !important;
      border-bottom: 1px solid rgba(19, 41, 75, 0.5);
      margin: 0 11vw;
      transition: 0.25s !important;
      opacity: 0;
      transform: translateX(-2px);
      display: none; }
      #colRight1.verticalMenu a > span,
      #colRight2.verticalMenu a > span {
        display: block;
        padding: 10px 10px; }
      #colRight1.verticalMenu a:after,
      #colRight2.verticalMenu a:after {
        border-top: none !important; }
      #colRight1.verticalMenu a:last-of-type, #colRight1.verticalMenu a:last-child,
      #colRight2.verticalMenu a:last-of-type,
      #colRight2.verticalMenu a:last-child {
        border-bottom: 2px solid var(--navy) !important; }
        #colRight1.verticalMenu a:last-of-type:after, #colRight1.verticalMenu a:last-child:after,
        #colRight2.verticalMenu a:last-of-type:after,
        #colRight2.verticalMenu a:last-child:after {
          border-bottom: none !important; }

  .colOpen #colRight1.verticalMenu,
  .colOpen #colRight2.verticalMenu {
    height: auto !important;
    transform: translateY(-390px); }
    .colOpen #colRight1.verticalMenu a,
    .colOpen #colRight2.verticalMenu a {
      height: 50px !important;
      transition: 0.25s;
      opacity: 1;
      display: block; } }
@media (max-width: 499px) {
  #colRight1.verticalMenu h2,
  #colRight2.verticalMenu h2 {
    height: 54px;
    padding: 18px;
    color: var(--navy);
    position: relative;
    border: 2px solid var(--navy) !important;
    margin: 15px 5vw 0;
    transform: translateX(-2px); }
    #colRight1.verticalMenu h2:after,
    #colRight2.verticalMenu h2:after {
      content: '';
      display: block;
      position: absolute;
      top: 50%;
      right: 15px !important;
      width: 6px;
      height: 6px;
      margin-top: -2px;
      border-bottom: var(--navy) 1px solid;
      border-right: var(--navy) 1px solid;
      transform: translateY(-50%) rotate(45deg); }
  #colRight1.verticalMenu a,
  #colRight2.verticalMenu a {
    color: var(--navy) !important;
    height: 0px !important;
    padding: 0 !important;
    display: block;
    border-right: 2px solid var(--navy) !important;
    border-left: 2px solid var(--navy) !important;
    border-bottom: 1px solid rgba(19, 41, 75, 0.5);
    margin: 0 5vw;
    transition: 0.25s;
    opacity: 0;
    transform: translateX(-2px);
    display: none; }
    #colRight1.verticalMenu a > span,
    #colRight2.verticalMenu a > span {
      display: block;
      padding: 10px 10px; }
    #colRight1.verticalMenu a:last-of-type, #colRight1.verticalMenu a:last-child,
    #colRight2.verticalMenu a:last-of-type,
    #colRight2.verticalMenu a:last-child {
      border-bottom: 2px solid var(--navy) !important; } }
@media (min-width: 500px) and (max-width: 959px) {
  .colLeftFeature > .contentBlock,
  .contentBlock.white.newsListItem {
    width: 80vw !important;
    min-width: 80vw !important;
    left: 0vw !important;
    right: 0vw !important;
    margin-left: 12vw !important;
    margin-right: 12vw !important; } }

@media (max-width: 959px) {
  .newsDetail.colLeft.colLeftContent.bgGreyLight.colLeftFeature.tripleCol.fullHeight.hideMO {
    padding-top: 50px !important; }

  #v.nav {
    height: 100px !important;
    margin-top: 0 !important; } }
@media (max-width: 499px) {

  #homePage h1.textTitle.white {
    margin: 5vw !important; }

  .menuHome a > div {
    left: 5vw !important; } }

@media (max-width: 499px) {
  :where(#siteHeader) h1 {
    margin-left: 5vw !important;
    padding-left: 0 !important; } }

.menuRight.verticalMenu a:after {
  content: '';
  position: absolute;
  top: -1px;
  left: -1px;
  right: -1px;
  bottom: -1px;
  background: var(--navy);
  display: block;
  z-index: 3;
  opacity: 0;
  transition: 0.25s ease-in-out; }
  .menuRight.verticalMenu a:after span {
    z-index: 4 !important; }
.menuRight.verticalMenu a.active:after {
  opacity: 0.6;
  transition: 0.25s ease-in-out; }

  @media (min-width: 960px) {
    .menuRight.verticalMenu a:after {
      content: '';
      position: absolute;
      top: -1px;
      left: -1px;
      right: -1px;
      bottom: -1px;
      border: 1px solid white;
      background: var(--navy);
      display: block;
      z-index: 3;
      opacity: 0;
      transition: 0.25s ease-in-out;
    }

    .menuRight.verticalMenu a.active:after {
      opacity: 0.6;
      transition: 0.25s ease-in-out;
    }
  }

@media (max-width: 499px) {
  .add_bhntt + .contentBlock.hideMO.textIntro {
    padding-left: 0 !important;
    margin-top: 20px !important;
    padding-top: 0 !important; }

  /* Tightens the gap above the LAST of several stacked paragraphs. The
     `:not(:first-child)` guard matters: when a block holds a single
     paragraph it is both first and last, and without the guard the -15px
     pulls it up underneath the preceding heading. (That is exactly what
     happened once the trailing <br><br><br> spacers were removed and these
     paragraphs became :last-child.) */
  .add_bhntt .textBody.textJust:last-of-type:not(:first-child), .add_bhntt .textBody.textJust:last-child:not(:first-child) {
    margin-top: -15px !important; } }
@media (min-width: 500px) and (max-width: 1180px) {
  .add_bhntt + .contentBlock.hideMO.textIntro {
    padding-left: 0 !important;
    margin-top: 4vw !important;
    padding-top: 0 !important; }

  .add_bhntt.contentBlock.hideMO.textJust {
    padding-right: 0 !important;
    width: 65vw !important;
    max-width: 65vw !important;
    min-width: 65vw !important; } }
@media (min-width: 500px) and (max-width: 959px) {
  .add_bhntt + .contentBlock.hideMO.textIntro {
    padding-left: 0 !important;
    margin-top: 4vw !important;
    padding-top: 0 !important; }

  .add_bhntt.contentBlock.hideMO.textJust {
    padding-right: 0 !important;
    width: 76vw !important;
    max-width: 76vw !important;
    min-width: 76vw !important; } }
@media (min-width: 960px) and (max-width: 1239px) {
  .add_bhntt + .contentBlock.hideMO.textIntro {
    padding-left: 0 !important;
    margin-top: 3vw !important;
    padding-top: 0 !important; }

  .add_bhntt.contentBlock.hideMO.textJust {
    padding-right: 0 !important;
    width: 65vw !important;
    max-width: 65vw !important;
    min-width: 65vw !important; } }
.fullTitle {
  display: none !important; }

#legalLink a,
a .nav,
a .textLeft,
.linkText a {
  color: white; }
.textBody ul > li {
  position: relative;
  margin-left: 15px;
  list-style-type: none !important; }
  .textBody ul > li:before {
    width: 5px;
    height: 1px;
    content: '';
    background-color: white;
    margin-right: 10px;
    top: 11px;
    left: -15px;
    position: absolute; }

@media (min-width: 1120px) {
  .textBody ul > li:before {
    top: 12px; } }
a, .toggle-header {
  -webkit-tap-highlight-color: transparent;
  -webkit-tap-highlight-color: transparent; }

@media (max-width: 959px) {
  body {
    margin: 0 !important;
    padding: 0 !important;
    width: 100% !important;
    height: 100% !important;
    overflow: hidden !important; }

  .wrapper {
    position: relative !important;
    width: 100% !important;
    height: 100% !important; } }
@media (min-width: 960px) and (max-width: 1440px) {
  body {
    margin: 0 !important;
    padding: 0 !important;
    width: 100% !important;
    height: 100% !important;
    overflow: hidden !important; }

  .twoCol .colLeft, .multicol .colLeft {
    padding-top: 12vw !important; } }
@media (max-width: 959px) {
  #colRight2 a.readmore:before {
    background: none !important; } }

.sa.fadeIn {
  opacity: 1;
  transition: 0.5s ease-in-out; }

.sa-in.fadeIn {
  opacity: 1;
  transition: 0.85s ease-in-out; }
@media screen and (max-width: 1024px) {
  html {
    -webkit-overflow-scrolling: touch; } }
@media (max-width: 499px) {

  #v.colLeftFeature {
    padding-top: 0 !important; } }
.menuOpen #logo1.logoClip,
.menuOpen #logo2.logoClip,
.menuOpen #logo3.logoClip,
.menuOpen #logo4.logoClip,
.menuOpen #menuLink1.m,
.menuOpen #menuLink2.m,
.menuOpen #menuLink3.m,
.menuOpen #menuLink4.m,
.scrollUp #logo1.logoClip,
.scrollUp #logo2.logoClip,
.scrollUp #logo3.logoClip,
.scrollUp #logo4.logoClip,
.scrollUp #menuLink1.m,
.scrollUp #menuLink2.m,
.scrollUp #menuLink3.m,
.scrollUp #menuLink4.m {
  transform: translateY(0); }

.menuOpen #logo1.logoClip,
.menuOpen #logo2.logoClip,
.menuOpen #logo3.logoClip,
.menuOpen #logo4.logoClip,
.menuOpen #menuLink1.m,
.menuOpen #menuLink2.m,
.menuOpen #menuLink3.m,
.menuOpen #menuLink4.m {
  transition: 0.5s; }
@media (max-width: 499px) {
  #aboutPage,
  .contentBlock.hideMO.noPadofLast.dateText.dateArticle.hideOnXL,
  .newsDetail.colLeft.colLeftContent.bgGreyLight.colLeftFeature.tripleCol.fullHeight.hideMO {
    padding-top: 1vw !important; } }
@media (min-width: 500px) and (max-width: 959px) {
  .colLeftFeature > .contentBlock, .contentBlock.white.newsListItem.jobItem {
    width: 74vw !important;
    min-width: 74vw !important;
    left: 0vw !important;
    right: 0vw !important;
    margin-left: 12vw !important;
    margin-right: 12vw !important; } }
@media (max-width: 959px) {
  #colRight2.verticalMenu a {
    border-bottom: none !important;
    border-top: none !important;
    position: relative; }
    #colRight2.verticalMenu a:after {
      display: block;
      position: absolute;
      bottom: 0;
      left: 0;
      right: 0;
      height: 1px;
      content: ''; } }

.menu-item {
  position: relative; }
  .menu-item:after {
    position: absolute;
    top: 50%;
    height: 1px;
    background: white;
    content: '';
    right: -2vw;
    width: 0vw;
    transition: 0.25s ease-in-out; }

@media (min-width: 1440px) {
  .menu-item.current-menu-item:after {
    right: -5vw;
    width: 3vw; } }
@media (max-width: 1439px) {
  .menu-item.current-menu-item:after {
    right: -6vw;
    width: 4vw; } }
@media (max-width: 959px) {
  .menu-item.current-menu-item:after {
    right: -3.5vw;
    width: 2.5vw; } }
@media (max-width: 500px) {
  .menu-item.current-menu-item:after {
    right: -4.5vw;
    width: 2.5vw; } }

/* ==========================================================================
   11. UTILITIES
   ========================================================================== */
.hideMO {
  opacity: 1;
  transition: 1s opacity !important;
  transition-delay: 0.6s !important; }

.cvOpen .hideMO,
.menuOpen .hideMO {
  opacity: 0;
  transition: 1s opacity !important;
  transition-delay: 0s !important; }
.logoClip svg {
  opacity: 1;
  transition: 1s opacity !important }

@media (max-width: 959px) {
  #colRight1.menuRight.verticalMenu a,
  #colRight2.menuRight.verticalMenu a {
    border-top: none !important;
    border-bottom: none !important; }

  #colRight1.menuRight.verticalMenu a:after,
  #colRight2.menuRight.verticalMenu a:after {
    content: '';
    position: absolute;
    top: -1px;
    left: 0px !important;
    right: 0px !important;
    bottom: -1px;
    border-top: none !important;
    border-bottom: 1px solid var(--border) !important;
    background: none !important;
    display: block;
    z-index: 3;
    opacity: 1;
    transition: 0.25s ease-in-out; }

  #colRight1.menuRight.verticalMenu a.active:after,
  #colRight2.menuRight.verticalMenu a.active:after {
    border-color: var(--border) !important;
    background: var(--border) !important;
    opacity: 1; }

  #colRight1.menuRight.verticalMenu a:last-child,
  #colRight1.menuRight.verticalMenu a:last-of-type,
  #colRight2.menuRight.verticalMenu a:last-child,
  #colRight2.menuRight.verticalMenu a:last-of-type {
    border-bottom: 2px solid var(--navy) !important; } }
@media (max-width: 767px) {
  #colRight1 .blockTitle.miniTitle span,
  #colRight2 .blockTitle.miniTitle span {
    padding-left: 0px !important; }

  #colRight1.verticalMenu h2,
  #colRight2.verticalMenu h2 {
    padding-left: 2vw !important; } }
@media (max-width: 959px) and (min-width: 500px) {
  .multicol .newsDetail.colLeft > .contentBlock {
    padding-right: 0vw !important; } }
.date,
.date > p,
.dateText,
.dateText > p {
  font-size: 12px !important; }

@media (min-width: 959px) {
  .menuOpen .logoClip svg {
    transition: 1s !important;
    transition-delay: 0.5s !important; } }
@media (max-width: 499px) {
  #homePage h1 {
    width: 100% !important; } }
.flexHead,
#bgvid {
  transition: 0.5s opacity; }

.colOpen #v,
.colOpen #bgvid,
.colOpen .flexHead {
  opacity: 0.15;
  transition: 0.5s opacity; }

.menuOpen #menuMaskWhite {
  opacity: 0;
  transition: 1s opacity !important;
  transition-delay: 0.5s !important; }

.bgGreyLight + #logo3.logoClip.whiteClip,
.bgGreyLight ~ #logo3.logoClip.whiteClip,
.bgGreyLight + #menuLink3.m.whiteClip,
.bgGreyLight ~ #menuLink3.m.whiteClip {
  color: var(--navy) !important; }
  .bgGreyLight + #logo3.logoClip.whiteClip svg,
  .bgGreyLight ~ #logo3.logoClip.whiteClip svg,
  .bgGreyLight + #menuLink3.m.whiteClip svg,
  .bgGreyLight ~ #menuLink3.m.whiteClip svg {
    fill: var(--navy) !important; }
  .bgGreyLight + #logo3.logoClip.whiteClip div > span,
  .bgGreyLight ~ #logo3.logoClip.whiteClip div > span,
  .bgGreyLight + #menuLink3.m.whiteClip div > span,
  .bgGreyLight ~ #menuLink3.m.whiteClip div > span {
    background-color: var(--navy) !important; }

/* The 700 face is AkkuratPro-Regular, which is exactly the file the old
   "AkkuratBold" family resolved to -- same rendering, but now a real face
   rather than a synthetic bold of Akkurat-Light. */
strong, b {
  font-family: var(--font-stack) !important;
  font-weight: 700 !important; }

.my_tweets_block *,
.juiz_lt_content,
.textBody,
.textBody p,
.textBody a {
  font-size: 13px !important; }
  @media (min-width: 576px) {
    .my_tweets_block *,
    .juiz_lt_content,
    .textBody,
    .textBody p,
    .textBody a {
      font-size: calc(0.2611vw + 11.49608px) !important; } }
  @media (min-width: 960px) {
    .my_tweets_block *,
    .juiz_lt_content,
    .textBody,
    .textBody p,
    .textBody a {
      font-size: calc(0.71429vw + 5.14286px) !important; } }
  @media (min-width: 1240px) {
    .my_tweets_block *,
    .juiz_lt_content,
    .textBody,
    .textBody p,
    .textBody a {
      font-size: 16px !important; } }

@media (max-width: 959px) and (min-width: 500px) {
  .colLeftFeature > .contentBlock, .contentBlock.white.newsListItem {
    width: 76vw !important;
    min-width: 76vw !important; } }
* {
  font-family: var(--font-stack);
  -webkit-overflow-scrolling: auto !important }
#menuLink1, #logo1,
#menuLink2, #logo2,
#menuLink3, #logo3,
#menuLink4, #logo4 {
  transition: 0.5s opacity; }

.menuOpen #menuLink1, .menuOpen #logo1,
.menuOpen #menuLink2, .menuOpen #logo2,
.menuOpen #menuLink3, .menuOpen #logo3,
.menuOpen #menuLink4, .menuOpen #logo4 {
  opacity: 0;
  transition: 0.5s opacity;
  transition-delay: 0.5s !important; }
.m div > span {
  transition: 0.5s !important;
  transition-delay: 0s !important }

@media (max-width: 959px) {

  .scrollTop #logoHoverMenu, .scrollUp #logoHoverMenu {
    display: block; } }
.colLeft .contentBlock .contentBlock.hideMO.textTitle {
  padding: 1.5vw 0 0 0; }

.mobile-team-member {
  background-color: var(--surface) !important; }

.row-1 {
  background-color: white !important; }

.row-2 {
  background-color: var(--surface) !important; }

@media (min-width: 960px) {
  .barba-container {
    min-height: 100vh; } }
@media (max-width: 960px) {
  html {
    overflow: hidden; }

  .barba-container {
    overflow-y: scroll !important;
    position: fixed;
    top: 0; } }
@media (max-width: 959px) {
  #logoHoverMenu {
    display: block !important;
    position: fixed !important }

  .scrollTop {
    display: block !important; } }
@media (max-width: 499px) {
  #siteHeader {
    padding-bottom: 0 !important; } }
@media (max-width: 959px) {
  #colRight1.verticalMenu,
  #colRight2.verticalMenu {
    margin-top: 0;
    opacity: 1;
    transform: translateY(-84px);
    transition: 0.5s ease-in-out all !important;
    transition-delay: 0.5s; }

  #closeCol {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 50%; } }

@media (max-height: 499px) and (max-width: 959px) {
  #menu > li > a {
    font-size: 14px !important; }

  #twitterBoxHome > div,
  .menuHome a > div {
    bottom: 2vw !important; }

  /* Was `#homePage a h1` -- the wrapping anchor has been removed. */
  #homePage h1 {
    transform: translateY(1vw); } }
[data-namespace="home-template.php"] {
  background: black; }

.menuOpen #colRight2 * {
  transition: 0.5s opacity; }
.jb {
  height: 0px;
  overflow: hidden; }
  .jb * {
    opacity: 1 !important; }

.jb p:last-of-type,
.jb p:last-child {
  margin-bottom: 15px; }

#logoHoverMenu {
  z-index: var(--z-top) !important;
  position: relative; }
  #logoHoverMenu * {
    transition: 0.5s ease-in-out all !important; }
  #logoHoverMenu > .logoClip, #logoHoverMenu > .m {
    position: fixed !important;
    opacity: 0 !important;
    z-index: var(--z-top) !important; }
  #logoHoverMenu .logoClip svg {
    fill: white !important; }
  #logoHoverMenu .m {
    color: white !important; }
    #logoHoverMenu .m div > span {
      background-color: white !important; }

@media (min-width: 960px) {
  #logoHoverMenu {
    z-index: var(--z-top) !important;
    position: relative; }
    #logoHoverMenu * {
      transition: 0.5s ease-in-out all !important; }
    #logoHoverMenu > .logoClip, #logoHoverMenu > .m {
      position: fixed !important;
      opacity: 0 !important;
      z-index: var(--z-top) !important; }
    #logoHoverMenu .logoClip svg {
      fill: white !important; }
    #logoHoverMenu .m {
      color: white !important; }
      #logoHoverMenu .m div > span {
        background-color: white !important; }

  .menuOpen .m {
    transition-delay: 0s !important; }
    .menuOpen .m div > span {
      transition-delay: 0s !important; } }
.menuOpen .logoClip, .menuOpen .m {
  opacity: 0 !important; }
.menuOpen #logoHoverMenu {
  opacity: 1 !important; }
  .menuOpen #logoHoverMenu * {
    transition: 0.5s ease-in-out all !important; }
  .menuOpen #logoHoverMenu > .logoClip, .menuOpen #logoHoverMenu > .m {
    opacity: 1 !important;
    position: fixed !important }
  .menuOpen #logoHoverMenu .logoClip {
    transition-delay: 0.3s !important; }
  .menuOpen #logoHoverMenu .m {
    transition-delay: 0s !important; }
    .menuOpen #logoHoverMenu .m div > span {
      transition-delay: 0s !important; }

#logoHoverMenu > .logoClip, #logoHoverMenu > .m,
.menuOpen #logoHoverMenu > .logoClip, .menuOpen #logoHoverMenu > .m {
  position: fixed !important;
  z-index: var(--z-top) !important; }

@media (max-width: 959px) {
  form > div {
    margin-bottom: 6vw !important; } }
@media (max-width: 499px) {
  form > div {
    margin-bottom: 9vw !important } }
@media (max-width: 959px) {
  .m {
    height: 30px; } }
@media (max-width: 959px) {
  .m div > span {
    transition: 0.5s !important; } }
@media (max-height: 500px) {
  #colRight1,
  #colRight2 {
    max-height: 100% !important; } }

@media (max-width: 959px) {
  #colRight1.verticalMenu h2:after, #colRight2.verticalMenu h2:after {
    content: '';
    display: block;
    position: absolute;
    top: 50%;
    right: 15px !important;
    width: 6px;
    height: 6px;
    margin-top: -2px;
    border-bottom: var(--navy) 1px solid;
    border-right: var(--navy) 1px solid;
    transform: translateY(-50%) rotate(45deg);
    transition: 0.5s ease-in-out }

  #colRight1.verticalMenu h2:before, #colRight2.verticalMenu h2:before {
    content: '';
    display: block;
    position: absolute;
    top: 50%;
    right: 15px !important;
    width: 6px;
    height: 6px;
    margin-top: 0px;
    opacity: 0;
    border-top: var(--navy) 1px solid;
    border-left: var(--navy) 1px solid;
    transform: translateY(-50%) rotate(45deg);
    transition: 0.5s ease-in-out; }

  .colOpen #colRight1.verticalMenu h2:after, .colOpen #colRight2.verticalMenu h2:after {
    margin-top: -5px !important; }
  .colOpen #colRight1.verticalMenu h2:before, .colOpen #colRight2.verticalMenu h2:before {
    opacity: 1;
    margin-top: 2px !important; } }
.menuOpen #menuMaskWhite {
  opacity: 0 !important; }

#menuMaskWhite.displayNone {
  display: none !important; }

#logoHoverMenu.whiteImportant,
#logoHoverMenu.whiteImportant * {
  opacity: 1 !important; }

#scrollValue {
  display: none; }

@media (max-width: 959px) {
  #scrollValue {
    position: fixed;
    top: 150px;
    left: 10px;
    color: white;
    font-size: 8px; }

  nav {
    z-index: 581; }
    nav > * {
      z-index: 582; }

  /* footer carries #contact and has to stay above the nav wash here too. */
  footer {
    z-index: 583; } }
@media (min-width: 500px) and (max-width: 959px) {
  .smBoxHome > div p.nav {
    text-transform: uppercase;
    letter-spacing: 3px;
    font-size: 13px;
    z-index: 4;
    position: absolute; } }
.menuOpen #menuMaskWhite {
  opacity: 0;
  transition: 1s opacity !important;
  transition-delay: 0.5s !important; }

@media (max-width: 750px) and (orientation: landscape) {
  .verticalMenu {
    max-height: 100vh !important;
    overflow: auto !important;
    z-index: var(--z-top) !important; }

  .colOpen .verticalMenu {
    top: 390px !important; }
  .colOpen .m, .colOpen .logoClip {
    opacity: 0 !important; }
  .colOpen #menuMaskWhite {
    display: none !important; }

  .menuHome a > div {
    bottom: 5vw !important; } }
@media (max-width: 959px) {
  #colRight1.verticalMenu,
  #colRight2.verticalMenu {
    margin-top: 0;
    opacity: 1;
    transform: translateY(-84px);
    transition: opacity 1s ease-in-out 0s, transform 0.25s ease-in-out 0s !important; }
  .cvOpen #colRight1.verticalMenu, .cvOpen #colRight2.verticalMenu, .menuOpen #colRight1.verticalMenu, .menuOpen #colRight2.verticalMenu {
    transition: opacity 0.75s ease-in-out 0.25s, transform 0.25s ease-in-out 0s !important;
    opacity: 0 } }

/* ==========================================================================
   8f. COMPONENTS -- PAGE LOADER (JS-injected dots)
   ========================================================================== */
#loader-dot {
  opacity: 0;
  color: white !important;
  transition: opacity 0.25s ease-in-out;
  margin-top: 4vw;
  margin-bottom: calc(4vw * -1); }
  @media (min-width: 1240px) {
    #loader-dot {
      margin-left: calc(100px + 7vw) !important; } }
  @media (max-width: 1239px) {
    #loader-dot {
      margin-left: 7vw !important; } }
  @media (max-width: 959px) {
    #loader-dot {
      margin-left: 12vw !important; } }
  @media (max-width: 499px) {
    #loader-dot {
      margin-left: 5vw !important; } }

#loader-dot.loading {
  opacity: 1;
  transition: opacity 0.25s ease-in-out; }

.loader-dots {
  display: flex;
  position: relative; }

.loader-dot {
  margin: 2px;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--white);
  transform: scale(0.5);
  animation: scale-dot 1.2s ease-out infinite; }
  .loader-dot:nth-of-type(2) {
    animation-delay: 0.2s; }
  .loader-dot:nth-of-type(3) {
    animation-delay: 0.3s; }
  .loader-dot:nth-of-type(4) {
    animation-delay: 0.4s; }
  .loader-dot:nth-of-type(5) {
    animation-delay: 0.5s; }

@keyframes scale-dot {
  0% {
    transform: scale(0.5); }
  25% {
    transform: scale(1); }
  75% {
    transform: scale(0.5); }
  100% {
    transform: scale(0.5); } }

/* ==========================================================================
   10. JS STATE CLASSES
   Added/removed at runtime by main.js, Barba, GSAP, Modernizr and the
   Pace CDN script. None of these appear in the HTML -- do not delete
   them on the strength of an HTML-only scan.
   ========================================================================== */
.menuTrans .hideMO {
  opacity: 0 !important; }

.ajax-overlay.menuTrans {
  visibility: visible !important;
  opacity: 1 !important; }

p.contactTel {
  opacity: 1 !important; }
  p.contactTel span {
    opacity: 0.5; }
  p.contactTel a {
    opacity: 0.5; }
    p.contactTel a:hover {
      opacity: 1; }

/* The menu overlay stays hidden until main.js puts `siteReady` on <body>.
   <footer> is included because #contact used to live inside <nav> and was
   hidden by this rule; now that it is a sibling it needs the same gate. */
nav,
footer {
  display: none; }

.siteReady nav,
.siteReady footer {
  display: block; }

@media (max-width: 499px) {
	.menuHome {
		padding-bottom: 10vw;
	}
}

.newsDetail.colLeft.colLeftContent.bgGreyLight.colLeftFeature.tripleCol.fullHeight.hideMO ul  {
	    font-size: 13px !important;

    color: var(--navy);
    letter-spacing: 0.5px;
    line-height: 1.75em;
	padding-bottom: 10px;
}

.newsDetail.colLeft.colLeftContent.bgGreyLight.colLeftFeature.tripleCol.fullHeight.hideMO ul li {
	    font-size: 13px !important;
   opacity: 0.75;
    color: var(--navy);
    letter-spacing: 0.5px;
    line-height: 1.75em;
	padding-bottom: 10px;
}

@media (min-width: 576px) {
	.newsDetail.colLeft.colLeftContent.bgGreyLight.colLeftFeature.tripleCol.fullHeight.hideMO ul li {
	    font-size: calc(0.2611vw + 11.49608px) !important;
	}
}

@media (min-width: 960px) {
	.newsDetail.colLeft.colLeftContent.bgGreyLight.colLeftFeature.tripleCol.fullHeight.hideMO ul li {
	      font-size: calc(0.71429vw + 5.14286px) !important;
	}
}

@media (min-width: 1240px) {
	.newsDetail.colLeft.colLeftContent.bgGreyLight.colLeftFeature.tripleCol.fullHeight.hideMO ul li {
	    font-size: 14.5px !important;
	}
}
#logo-container {
   position: relative;
   z-index: 2;
 }
 #logo1 {
   text-shadow: 2px 2px 4px rgba(0,0,0,0.5);
 }
 .no-transition {
  -webkit-transition: none !important;/* Missing semicolon added */
  transition: none !important; /* Standard property */
}

 .preload * {
     -webkit-transition: none !important; }

 .wrapper {
   opacity: 0;
   transition: 0.5s;
 }

 .wrapper.loaded {
   opacity: 1;
 }

 .ajax-overlay {
   position: fixed;
   visibility: hidden;
   opacity: 0;
   width: 100%;
   height: 100%;
   top: 0;
   left: 0;
   z-index: 99999;
   background: var(--navy);
 }
 .ajax-overlay.transparent {
   background: transparent;
 }
 .ajax-overlay.transparent .m {
   display: none;
 }

 /* STORY */

 #contentFrame::after, #teamList::after {
   content: '';
   display: block;
   position: absolute;
   top: 0;
   left: 0;
   width: 100%;
   height: 100%;
   background: var(--navy);
   opacity: 0;
   visibility: hidden;
   transition: opacity 0.5s ease-in-out, visibility 0.5s ease-in-out;
   z-index: 8;
 }

 #contentFrame.overlayed::after, #teamList.overlayed::after {
   opacity: 0.3;
   visibility: visible;
 }
 #colRight2 {
   z-index: 10;
 }

 .ajax-overlay .logoClip {
   position: absolute;
   pointer-events: none;
 }

 .ajax-overlay .m{
   position: absolute;
   pointer-events: none;
 }

 .wrapper {
   width: 100%;
   height: 100%;
 }
 .barba-container {
   position: relative;
   height: 100%;
   overflow: hidden;
 }
 .barba-container.no-click {
   pointer-events: none;
 }
 .pace {
   pointer-events: none;
   -webkit-user-select: none;
   user-select: none;
 }
 .pace-inactive {
   display: none;
 }

 .pace .pace-progress {
   background: var(--white);
   position: fixed;
   z-index: 100000;
   top: 0;
   right: 100%;
   width: 100%;
   height: 3px;
 }
 /*.object-fit .bg-vid-home {
     object-fit: cover;
     left: 0;
     top: 0;
 }*/
 /*.no-object-fit*/
 .bg-vid-home {
   display: block;
   width: auto;
   height: auto;
   position: absolute;
   min-width: 100%;
   min-height: 100%;
   top: 50%;
   left: 50%;
   transform: translate(-50%, -50%);
   opacity: 1;
   transition: opacity 1s;
   z-index: 2 }
 .bg-vid-home.fade-out {
   opacity: 0;
 }
 .bg-vid-home.zindex {
   opacity: 1;
   z-index: 1;
 }

 .mobile-team-member {
   display: none;
 }

 @media (max-width: 959px) {
   .desktop-team-member {
     display: none !important;
   }
   .mobile-team-member {
     display: block;
     padding-top: 75px !important;
     background: var(--white) }
   .mobile-team-member .row-1 {
     display: flex;
     align-items: flex-start;
     background: var(--surface);
   }
   .mobile-team-member .row-1 img, .mobile-team-member .row-1 .txt-box {
     width: 50%;
   }
   .mobile-team-member .row-2 {
     background: var(--white);
   }
   .mobile-team-member .row-3 {
     background: var(--border);
     display: flex;
   }
   .mobile-team-member .row-3 > div {
     width: 50%;
   }
   .mobile-team-member .row-4 {
     text-align: center;
   }
 }

 @media (max-width: 499px) {
   .mobile-team-member .row-1, .mobile-team-member .row-3  {
     display: block;
   }
   .mobile-team-member .row-1 img, .mobile-team-member .row-1 .txt-box, .mobile-team-member .row-3 > div {
     width: 100%;
   }
 }
