@import url(https://fast.fonts.net/cssapi/372dcb40-99c8-4406-a8b7-5ee47162c4ca.css);
@charset "UTF-8";
/* stylelint-disable color-no-hex */
/* stylelint-enable */
/*
  This mixin can be used to set the object-fit:
  @include object-fit(contain);

  or object-fit and object-position:
  @include object-fit(cover, top);
*/
@font-face {
  /* regular */
  font-family: "Avenir Next";
  src: url("/fonts/069faa0e-9913-48c4-9ef7-89a4bc080b65.eot?#iefix");
  src: url("/fonts/069faa0e-9913-48c4-9ef7-89a4bc080b65.eot?#iefix") format("eot"), url("/fonts/7db1f672-3a8f-4d19-9c49-7f61aed450b5.woff2") format("woff2"), url("/fonts/4ab86b35-c0c2-42b5-98ad-4b6eba66b197.woff") format("woff"), url("/fonts/276b3566-1c3b-4bc1-8915-15314f091f29.ttf") format("truetype"), url("/fonts/5d02f5f4-46e7-453a-aef9-3e7106d7bb68.svg#5d02f5f4-46e7-453a-aef9-3e7106d7bb68") format("svg");
  font-style: normal;
  font-weight: normal; }

@font-face {
  /* italic */
  font-family: "Avenir Next";
  src: url("/fonts/78f55966-cc8e-4f4c-bf8b-8fe59be9fe96.eot?#iefix");
  src: url("/fonts/78f55966-cc8e-4f4c-bf8b-8fe59be9fe96.eot?#iefix") format("eot"), url("/fonts/b17468ea-cf53-4635-984b-4d930a68ed4d.woff2") format("woff2"), url("/fonts/4d1d0d0d-9ea6-4117-901f-8b32ca1ab936.woff") format("woff"), url("/fonts/66b50093-e606-427c-a42a-a44b2f9ff219.ttf") format("truetype"), url("/fonts/78695677-7ebb-4ef8-8996-eff09dc64f26.svg#78695677-7ebb-4ef8-8996-eff09dc64f26") format("svg");
  font-style: italic;
  font-weight: normal; }

@font-face {
  /* medium */
  font-family: "Avenir Next";
  src: url("/fonts/c6970a14-8b0f-4629-9072-71c7e123908f.eot?#iefix");
  src: url("/fonts/c6970a14-8b0f-4629-9072-71c7e123908f.eot?#iefix") format("eot"), url("/fonts/b0b84e4d-2164-45c7-a674-1662f19f3ba6.woff2") format("woff2"), url("/fonts/e91d1bbf-3fea-45e2-b003-a22b12ce6e5f.woff") format("woff"), url("/fonts/ead8b64b-1abd-4d5b-a642-a21dfe2f463b.ttf") format("truetype"), url("/fonts/e536e1c2-92a4-4db4-8a41-1c55354d11b7.svg#e536e1c2-92a4-4db4-8a41-1c55354d11b7") format("svg");
  font-style: normal;
  font-weight: 500; }

@font-face {
  /* bold */
  font-family: "Avenir Next";
  src: url("/fonts/fb4117a5-14ee-4035-8692-935bfff7fc2e.eot?#iefix");
  src: url("/fonts/fb4117a5-14ee-4035-8692-935bfff7fc2e.eot?#iefix") format("eot"), url("/fonts/4c04fb14-abdb-4f93-82bb-734d1b84307b.woff2") format("woff2"), url("/fonts/04d2f223-2786-40c9-8481-be9dd47d8e7f.woff") format("woff"), url("/fonts/bce3274e-f498-48ae-b269-a6930df496e7.ttf") format("truetype"), url("/fonts/68f0375d-f66f-4f88-822a-5a0b61d2efc0.svg#68f0375d-f66f-4f88-822a-5a0b61d2efc0") format("svg");
  font-style: normal;
  font-weight: bold; }

@font-face {
  /* italic bold */
  font-family: "Avenir Next";
  src: url("/fonts/ac2d4349-4327-448f-9887-083a6a227a52.eot?#iefix");
  src: url("/fonts/ac2d4349-4327-448f-9887-083a6a227a52.eot?#iefix") format("eot"), url("/fonts/eaafcb26-9296-4a57-83e4-4243abc03db7.woff2") format("woff2"), url("/fonts/25e83bf5-47e3-4da7-98b1-755efffb0089.woff") format("woff"), url("/fonts/4112ec87-6ded-438b-83cf-aaff98f7e987.ttf") format("truetype"), url("/fonts/ab1835cb-df6f-4d8d-b8ee-3075f5ba758d.svg#ab1835cb-df6f-4d8d-b8ee-3075f5ba758d") format("svg");
  font-style: italic;
  font-weight: bold; }

@font-face {
  /* demi bold */
  font-family: "Avenir Next";
  src: url("/fonts/fbf4298d-ef75-419c-b615-47f209a48ed2.eot?#iefix");
  src: url("/fonts/fbf4298d-ef75-419c-b615-47f209a48ed2.eot?#iefix") format("eot"), url("/fonts/40d36b4a-60c6-460a-bf43-4c948c23563e.woff2") format("woff2"), url("/fonts/45b78f45-e639-4836-8612-e0892e120f14.woff") format("woff"), url("/fonts/cbc021cc-b96f-4c82-ba0d-59cb0b7449c0.ttf") format("truetype"), url("/fonts/c6778bcf-ca82-4a86-8a5f-08b70c9a71fd.svg#c6778bcf-ca82-4a86-8a5f-08b70c9a71fd") format("svg");
  font-style: normal;
  font-weight: 600; }

@font-face {
  /* regular */
  font-family: "Source Serif Pro";
  font-style: normal;
  font-weight: 400;
  src: url("/fonts/013b5cb6-b7ee-4ad1-947b-579d0784c634.eot");
  src: local("Source Serif Pro"), local("SourceSerifPro-Regular"), url("/fonts/013b5cb6-b7ee-4ad1-947b-579d0784c634.eot?#iefix") format("embedded-opentype"), url("/fonts/f3c7dd68-a376-4ec5-9094-308b764ed0fb.woff2") format("woff2"), url("/fonts/1fadcc98-055c-4c8f-83ee-6adb5dab0b14.woff") format("woff"), url("/fonts/671123e3-8b68-4ef6-8b9b-27c371a5a9ab.ttf") format("truetype"), url("/fonts/82d3c314-8b68-4b45-a36c-2374797a55ed.svg#SourceSerifPro") format("svg"); }

.slick-slider {
  position: relative;
  display: block;
  box-sizing: border-box;
  -moz-box-sizing: border-box;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  user-select: none;
  touch-action: pan-y;
  -webkit-tap-highlight-color: transparent;
  /* Dots */
  margin-bottom: 30px; }

.slick-list {
  position: relative;
  overflow: hidden;
  display: block;
  margin: 0;
  padding: 0; }

.slick-list:focus {
  outline: none; }

.slick-loading .slick-list {
  background: #fff url("/img/ajax-loader.gif") center center no-repeat; }

.slick-list.dragging {
  cursor: pointer;
  cursor: hand; }

.slick-slider .slick-track {
  transform: translate3d(0, 0, 0); }

.slick-track {
  position: relative;
  left: 0;
  top: 0;
  display: block; }

.slick-track::after,
.slick-track::before {
  content: "";
  display: table; }

.slick-track::after {
  clear: both; }

.slick-loading .slick-track {
  visibility: hidden; }

.slick-slide {
  float: left;
  height: 100%;
  min-height: 1px;
  display: none; }
  .slick-slide .card__content--text {
    padding-bottom: 160px;
    padding-bottom: 10rem;
    margin-bottom: -144px;
    margin-bottom: -9rem; }

[dir="rtl"] .slick-slide {
  float: right; }

.slick-slide img {
  display: block; }

.slick-slide.slick-loading img {
  display: none; }

.slick-slide.dragging img {
  pointer-events: none; }

.slick-initialized .slick-slide {
  display: block; }

.slick-loading .slick-slide {
  visibility: hidden; }

.slick-vertical .slick-slide {
  display: block;
  height: auto;
  border: 1px solid transparent; }

/* Icons */
@font-face {
  font-family: "slick";
  src: url("/fonts/slick.eot");
  src: url("/fonts/slick.eot?#iefix") format("embedded-opentype"), url("/fonts/slick.woff") format("woff"), url("/fonts/slick.ttf") format("truetype"), url("/fonts/slick.svg#slick") format("svg");
  font-weight: normal;
  font-style: normal; }

/* Arrows */
.slick-next,
.slick-prev {
  position: absolute;
  display: block;
  height: 20px;
  width: 20px;
  line-height: 0;
  font-size: 0;
  cursor: pointer;
  background: transparent;
  color: transparent;
  top: 50%;
  margin-top: -10px;
  padding: 0;
  border: none;
  outline: none; }

.slick-next:focus,
.slick-next:hover,
.slick-prev:focus,
.slick-prev:hover {
  outline: none;
  background: transparent;
  color: transparent; }

.slick-next:focus::before,
.slick-next:hover::before,
.slick-prev:focus::before,
.slick-prev:hover::before {
  opacity: 1; }

.slick-next.slick-disabled::before,
.slick-prev.slick-disabled::before {
  opacity: 0.25; }

.slick-next::before,
.slick-prev::before {
  font-family: "slick";
  font-size: 20px;
  line-height: 1;
  color: #fff;
  opacity: 0.75;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale; }

.slick-prev {
  left: -25px; }

[dir="rtl"] .slick-prev {
  left: auto;
  right: -25px; }

.slick-prev::before {
  content: "←"; }

[dir="rtl"] .slick-prev::before {
  content: "→"; }

.slick-next {
  right: -25px; }

[dir="rtl"] .slick-next {
  left: -25px;
  right: auto; }

.slick-next::before {
  content: "→"; }

[dir="rtl"] .slick-next::before {
  content: "←"; }

/* Dots */
.slick-dots {
  position: absolute;
  bottom: -45px;
  list-style: none;
  display: block;
  text-align: center;
  padding: 0;
  width: 100%; }

.slick-dots li {
  position: relative;
  display: inline-block;
  height: 20px;
  width: 20px;
  margin: 0 5px;
  padding: 0;
  cursor: pointer; }

.slick-dots li button {
  border: 0;
  background: transparent;
  display: block;
  height: 20px;
  width: 20px;
  outline: none;
  line-height: 0;
  font-size: 0;
  color: transparent;
  padding: 5px;
  cursor: pointer; }

.slick-dots li button:focus,
.slick-dots li button:hover {
  outline: none; }

.slick-dots li button:focus::before,
.slick-dots li button:hover::before {
  opacity: 1; }

.slick-dots li button::before {
  position: absolute;
  top: 0;
  left: 0;
  content: "•";
  width: 20px;
  height: 20px;
  font-family: "slick";
  font-size: 6px;
  line-height: 20px;
  text-align: center;
  color: #000;
  opacity: 0.25;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale; }

.slick-dots li.slick-active button::before {
  color: #000;
  opacity: 0.75; }

.category-theme-mobile-strategy .content-object__summary-divider {
  background-color: #124a55; }

.category-theme-mobile-strategy.content-object__summary--light .content-object__summary-divider {
  background-color: #fff; }

.headline-hero__category--mobile-strategy,
.article__category--mobile-strategy {
  color: #083c46; }
  .content-object__summary--light .headline-hero__category--mobile-strategy, .content-object__summary--light
  .article__category--mobile-strategy {
    color: #fff; }

.page__theme--mobile-strategy-category .headline-hero::after,
.page__theme--mobile-strategy-category .article__footer::before {
  background-color: #124a55; }

.category-theme-app-development .content-object__summary-divider {
  background-color: #4357ad; }

.category-theme-app-development.content-object__summary--light .content-object__summary-divider {
  background-color: #fff; }

.headline-hero__category--app-development,
.article__category--app-development {
  color: #2b3f93; }
  .content-object__summary--light .headline-hero__category--app-development, .content-object__summary--light
  .article__category--app-development {
    color: #fff; }

.page__theme--app-development-category .headline-hero::after,
.page__theme--app-development-category .article__footer::before {
  background-color: #4357ad; }

.category-theme-product-design .content-object__summary-divider {
  background-color: #058092; }

.category-theme-product-design.content-object__summary--light .content-object__summary-divider {
  background-color: #fff; }

.headline-hero__category--product-design,
.article__category--product-design {
  color: #058092; }
  .content-object__summary--light .headline-hero__category--product-design, .content-object__summary--light
  .article__category--product-design {
    color: #fff; }

.page__theme--product-design-category .headline-hero::after,
.page__theme--product-design-category .article__footer::before {
  background-color: #058092; }

.category-theme-emerging-tech-prototyping .content-object__summary-divider {
  background-color: #54b4cf; }

.category-theme-emerging-tech-prototyping.content-object__summary--light .content-object__summary-divider {
  background-color: #fff; }

.headline-hero__category--emerging-tech-prototyping,
.article__category--emerging-tech-prototyping {
  color: #2a9fbf; }
  .content-object__summary--light .headline-hero__category--emerging-tech-prototyping, .content-object__summary--light
  .article__category--emerging-tech-prototyping {
    color: #fff; }

.page__theme--emerging-tech-prototyping-category .headline-hero::after,
.page__theme--emerging-tech-prototyping-category .article__footer::before {
  background-color: #54b4cf; }

.category-theme-web-development .content-object__summary-divider {
  background-color: #4357ad; }

.category-theme-web-development.content-object__summary--light .content-object__summary-divider {
  background-color: #fff; }

.headline-hero__category--web-development,
.article__category--web-development {
  color: #2b3f93; }
  .content-object__summary--light .headline-hero__category--web-development, .content-object__summary--light
  .article__category--web-development {
    color: #fff; }

.page__theme--web-development-category .headline-hero::after,
.page__theme--web-development-category .article__footer::before {
  background-color: #4357ad; }

.category-theme-mobile-marketing .content-object__summary-divider {
  background-color: #1578a2; }

.category-theme-mobile-marketing.content-object__summary--light .content-object__summary-divider {
  background-color: #fff; }

.headline-hero__category--mobile-marketing,
.article__category--mobile-marketing {
  color: #1578a2; }
  .content-object__summary--light .headline-hero__category--mobile-marketing, .content-object__summary--light
  .article__category--mobile-marketing {
    color: #fff; }

.page__theme--mobile-marketing-category .headline-hero::after,
.page__theme--mobile-marketing-category .article__footer::before {
  background-color: #1578a2; }

.category-theme-careers.content-object__summary--light .content-object__summary-divider {
  background-color: #fff; }

.headline-hero__category--careers,
.article__category--careers {
  color: #8b741a; }
  .content-object__summary--light .headline-hero__category--careers, .content-object__summary--light
  .article__category--careers {
    color: #fff; }

.card-content-careers {
  background-color: transparent; }

.card-content-contact {
  background-color: transparent; }

.card-content-home {
  background-color: transparent; }

.card-content-about {
  background-color: transparent; }

.card-content-ideas {
  background-color: transparent; }

.card-content-portfolio {
  background-color: transparent; }

.card-content-casestudydarkthemefalse {
  background-color: transparent; }

.card-content-casestudydarkthemetrue {
  background-color: transparent; }

.card-content-error {
  background-color: #1c77c3; }

.small-cta-text {
  font-size: 14px;
  font-size: 0.875rem;
  font-weight: 600;
  line-height: 1.14; }

.large-cta-text {
  font-size: 18px;
  font-size: 1.125rem;
  font-weight: 600;
  line-height: 25px;
  line-height: 1.5625rem; }

.control-cta-text {
  font-size: 16px;
  font-size: 1rem;
  font-weight: 600;
  letter-spacing: 2px;
  letter-spacing: 0.125rem; }

/* Table of Contents - Styles for Global Footer
   1) Container
   2) Headline
   3) Text
   4) Link
*/
.address__container {
  margin: 0 10px 15px 0;
  margin: 0 0.625rem 0.9375rem 0; }

.address__headline {
  color: #c1ccce;
  font-family: font-family("sans");
  font-size: inherit;
  line-height: 1.14;
  margin-bottom: 5px;
  margin-bottom: 0.3125rem; }

.address__text {
  line-height: 1.75;
  margin-top: 0; }
  .address__text--footer {
    color: #c1ccce; }

.address__link.address__link {
  color: #1bd9c4;
  line-height: 1.75;
  display: block;
  margin-top: 1px;
  margin-top: 0.0625rem; }
  .address__link.address__link:hover, .address__link.address__link:focus {
    color: #1bd9c4;
    text-decoration: underline; }

.address__phone-number {
  margin-top: 0; }

.address__tel {
  margin-top: 14px;
  margin-top: 0.875rem;
  margin-right: 27px;
  margin-right: 1.6875rem;
  display: inline-block; }
  .address__tel:last-child {
    margin-right: 0; }

/* Table of Contents - Styles for the Anchor Button Component
  1) Headline
  2) Button
*/
.anchor__headline {
  margin-right: auto;
  margin-left: auto; }

.anchor__button {
  text-align: center; }
  .anchor__button:nth-of-type(n + 2) {
    margin-top: 32px;
    margin-top: 2rem; }
  .anchor__button-group {
    margin-top: 30px;
    margin-top: 1.875rem; }

/* Table of Contents - Styles for the Awards Component
  1) Award Containers
  2) Button
  3) Headline
  4) List Item
  5) Description
  6) Url
  7) Title
  8) Description Link
*/
.awards__page-section-content {
  --grid-cols-width: 10;
  --grid-rows-padding-top: 1;
  --grid-rows-padding-bottom: 1;
  text-align: center; }

.awards__container {
  text-align: left; }

.awards__button {
  display: block;
  margin-left: auto;
  margin-right: auto;
  --grid-rows-margin-top: 3; }

.awards__headline {
  color: #333333;
  font-size: 30px;
  font-size: 1.875rem;
  font-weight: 500;
  padding-bottom: 25px;
  padding-bottom: 1.5625rem;
  font-family: "Avenir Next", "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: 38px;
  font-size: 2.375rem;
  font-weight: 500;
  line-height: 42px;
  line-height: 2.625rem; }

.awards__list-item {
  margin-top: 16px;
  margin-top: 1rem;
  margin-left: 16px;
  margin-left: 1rem;
  display: flex;
  justify-content: flex-start;
  align-items: center;
  /* We need nesting here to animate on the entire section hover */
  /* - */ }
  .awards__list-item:hover .awards__description-link, .awards__list-item:focus .awards__description-link {
    color: #0f416a; }

.awards__description {
  color: #223547;
  margin: 0;
  padding-left: 14px;
  padding-left: 0.875rem; }

.awards__url {
  font-size: 14px;
  font-weight: 500; }

.awards__title {
  font-size: 18px;
  font-weight: 500; }

.awards__description-link {
  color: #1c77c3; }

/* Table of Contents - Styles for Basic Card Component
  1) Basic Card
  2) Card Container
  3) Card Link
  4) Card Image
  5) Card Content
  6) Card Headline
  7) Card Description
*/
.basic-card {
  height: 100%; }
  .basic-card__container {
    position: relative;
    z-index: 1;
    background: #fff;
    border-radius: 0.3125rem;
    box-shadow: 0 0.625rem 1.25rem 0 rgba(0, 0, 0, 0.1);
    overflow: hidden;
    transition: all 0.3s ease;
    width: 100%; }
    .basic-card__container:hover, .basic-card__container:focus {
      box-shadow: 0 0.625rem 2.5rem 0 rgba(0, 0, 0, 0.1);
      transform: translateY(-0.625rem); }
  .basic-card__link {
    display: block;
    height: 100%;
    width: 100%; }
  .basic-card__image {
    /* We need nesting here to animate on the entire section hover */
    /* - */ }
    .basic-card__image .image-container {
      height: 100%;
      width: 100%; }
      .basic-card__image .image-container .image {
        background-size: cover;
        height: 100%;
        width: 100%; }
    .basic-card__image * {
      transition: 0.3s ease-in; }
  .basic-card__content {
    -webkit-backface-visibility: hidden;
            backface-visibility: hidden;
    background-color: #fff;
    color: #333333;
    height: 100%;
    margin: 0;
    padding: 20px;
    padding: 1.25rem; }
    .basic-card__content * {
      transform: translate3d(0, 0, 0); }
  .basic-card__headline, .basic-card__description {
    color: #333333; }
  .basic-card__headline {
    font-size: 24px;
    font-size: 1.5rem;
    line-height: 1.29; }
  .basic-card__description {
    font-size: 16px;
    font-size: 1rem;
    font-weight: 500;
    line-height: 1.44; }

/* Table of Contents - Styles for the Banner Component
  1) Container
  2) Details
    2-A) Details Container
  3) Headline
*/
.banner {
  /* - */ }
  .banner__container {
    position: relative;
    /* - */ }
    .banner__container .image {
      height: auto;
      width: 100%; }
  .banner__details--left {
    margin-left: 0; }
  .banner__details-container {
    width: 100%; }
    .banner__details-container-overlay {
      margin-right: auto;
      margin-left: auto;
      width: 90%; }
  .banner__headline.header__small-caps {
    color: #223547; }
  .banner__page-section-content {
    --grid-rows-padding-bottom: 2; }

/* Table of Contents - Styles for Categories Component
  1) Divider
  2) Headline
    2-A) Headline Link
  3) Section Container
*/
.categories__divider {
  height: 5px;
  height: 0.3125rem;
  margin: 14px 0 21px 0;
  margin: 0.875rem 0 1.3125rem 0;
  display: block;
  width: 60px;
  width: 3.75rem;
  background-color: #1bd9c4;
  transition: width 0.5s ease-out;
  height: 5px;
  height: 0.3125rem;
  margin: 0; }

.categories__headline {
  font-size: 18px;
  font-size: 1.125rem;
  font-weight: 600;
  line-height: 1.5;
  margin-top: 14px;
  margin-top: 0.875rem; }
  .categories__headline-link {
    color: #223547; }

/* Table of Contents - Styles for the Call To Action Component
  1) Header
  2) Description
  3) Arrow Container
    3-A) Arrow Types/Animation
  4) Entire Card Hover Animation
*/
.cta__page-section-content {
  width: 100%;
  max-width: none; }

.cta__header {
  color: #fff;
  font-size: 14px;
  font-size: 0.875rem;
  font-weight: 500; }

.cta__description {
  color: #fff;
  font-size: 40px;
  font-size: 2.5rem;
  font-weight: 600;
  margin-top: 8px;
  margin-top: 0.5rem; }

.cta__arrow-container {
  display: block;
  font-weight: 600;
  position: relative;
  width: 160px;
  width: 10rem;
  margin-top: 0;
  height: 28px;
  height: 1.75rem; }

.cta__arrow {
  animation-name: slideLeft;
  animation-duration: 1s;
  margin-top: 8px;
  margin-top: 0.5rem; }
  .cta__arrow, .cta__arrow--short {
    animation-iteration-count: 1;
    animation-timing-function: ease-in-out;
    animation-fill-mode: forwards;
    position: absolute; }
  .cta__arrow--inline {
    margin-left: 112px;
    margin-left: 7rem;
    margin-top: 0;
    opacity: 0;
    top: 7.2px;
    top: 0.45rem;
    transition: 1s ease-out; }
  .cta__arrow--short {
    animation-name: slideLeftShort;
    animation-duration: 0.5s; }

/* We need nesting here to animate on the entire section hover */
.animation-container--arrow:hover .cta__arrow, .animation-container--arrow:focus .cta__arrow {
  animation-name: slideRight;
  animation-duration: 1s; }
  .animation-container--arrow:hover .cta__arrow, .animation-container--arrow:hover .cta__arrow--short, .animation-container--arrow:focus .cta__arrow, .animation-container--arrow:focus .cta__arrow--short {
    animation-iteration-count: 1;
    animation-timing-function: ease-in-out;
    animation-fill-mode: forwards; }
  .animation-container--arrow:hover .cta__arrow--inline, .animation-container--arrow:focus .cta__arrow--inline {
    opacity: 1; }
  .animation-container--arrow:hover .cta__arrow--short, .animation-container--arrow:focus .cta__arrow--short {
    animation-name: slideRightShort;
    animation-duration: 0.5s; }

/* - */
/* Table of Contents - Styles for the Card Component
  1) General Card
  2) Bordered
  3) Layouts
  4) Content
    4-A) Types
    4-B) Colors
    4-C) Alignments
*/
.card::after {
  content: "";
  display: table;
  clear: both; }

.card:nth-of-type(n + 2) {
  margin-top: 42px;
  margin-top: 2.625rem; }

.card--bordered {
  border: 5px solid transparent;
  border: 0.3125rem solid transparent; }
  .card--bordered-dark-green-blue {
    border-color: #124a55; }
  .card--bordered-dark-blue {
    border-color: #094074; }

.card--columned {
  /* Nesting to avoid having to duplicate layout property on content section. */
  /* - */ }
  .card--columned .card__content--image .image-container {
    width: 100%;
    height: 100%;
    top: 0; }
    .card--columned .card__content--image .image-container .image {
      min-height: 100%;
      min-width: 100%; }

.card__content {
  display: block;
  background: #fff;
  margin: 0;
  padding: 9.17574% 4.58787%; }
  .card__content--ideas {
    padding: 56px 4.58787%;
    padding: 3.5rem 4.58787%; }
  .card__content--contact {
    padding: 56px 4.58787%;
    padding: 3.5rem 4.58787%;
    /* We need nesting here to animate on the entire section hover */
    /* - */ }
    .card__content--contact:hover .contact-shortform__list-item::after {
      width: 100%; }
  .card__content--flush-text {
    padding-right: 0;
    padding-left: 0; }
  .card__content--image {
    position: relative;
    overflow: hidden;
    padding: 0;
    /* We need nesting here because of the image component */
    /* - */ }
    .card__content--image .image {
      width: 100%;
      height: 100%; }
  .card__content--transparent {
    padding-top: 0;
    padding-bottom: 0;
    background: transparent; }
  .card__content--dark {
    background: #252525;
    color: #fff; }
  .card__content--grey {
    background: #efefef; }
  .card__content--left {
    background: #094074; }
  .card__content--right {
    background: #1c77c3; }

/* Table of Contents - Styles for the Card Carousel Component
  A) Local Mixin
  1) Card Carousel
  2) Carousel Arrows
    2-A) Disabled Arrows
    2-B) Left Arrow
    2-C) Right Arrow
    2-D) Arrow Positioning
*/
.card-carousel__card-headline {
  color: #094074; }

.card-carousel__card-description {
  color: #223547; }

.card-carousel__card:nth-of-type(n + 2) {
  margin-top: 0; }

.arrow {
  position: absolute;
  z-index: 2;
  display: block;
  height: auto;
  width: 22px;
  width: 1.375rem; }
  .arrow, .arrow:hover, .arrow:focus {
    background: transparent;
    padding: 0;
    margin: 0;
    outline: 0;
    background: #0d5aa3;
    top: 28vw; }
    .arrow::after, .arrow:hover::after, .arrow:focus::after {
      background: transparent;
      padding: 0;
      margin: 0;
      outline: 0;
      content: url("/img/carousel-arrow-right-focused-new.svg");
      display: block;
      transform-origin: 50% 50%;
      transform: scale(0.6); }
  .arrow--disabled {
    cursor: not-allowed;
    opacity: 0.5; }
  .arrow--left {
    transform-origin: 50% 50%;
    transform: rotate(180deg); }

.arrow--right {
  right: 5px;
  right: 0.3125rem; }

.arrow--left {
  left: 5px;
  left: 0.3125rem; }

/* Table of Contents - Styles for the Card Grid Component
  1) Card Grid Types
    1-A) Three Up
    1-B) Four Up
  2) Card Items
    2-A) Colors
    2-B) Centered
    2-C) Spaced
    2-D) Values
    2-E) Three
    2-F) Four
*/
.card-grid::after {
  content: "";
  display: table;
  clear: both; }

.card-grid__item--light {
  background: #fff; }

.card-grid__item--grey {
  background: #f8f8f8; }

.card-grid__item--centered {
  text-align: center; }

.card-grid__item--spaced {
  margin-bottom: 64px;
  margin-bottom: 4rem; }

.card-grid__item--values:nth-of-type(n + 2) {
  margin-top: 0; }

/* Table of Contents - Styles for Card List Flag Component
  1) Card List Flag
  2) Flag Container
  3) Flag Colors
  4) Flag Alignment
*/
.card-list__flag {
  position: relative;
  z-index: 1;
  text-transform: uppercase;
  font-size: 14px;
  font-size: 0.875rem;
  letter-spacing: 2.628px;
  letter-spacing: 0.16428rem;
  font-weight: 600;
  color: #fff;
  font-size: 16px;
  font-size: 1rem;
  display: inline-block;
  background-color: #1c77c3;
  min-width: 256px;
  min-width: 16rem;
  padding: 20px;
  padding: 1.25rem;
  text-align: center; }
  .card-list__flag + * {
    margin-top: 14px;
    margin-top: 0.875rem; }
  .card-list__flag-container {
    margin: 0 auto;
    max-width: 90%;
    text-align: center;
    transform: translateY(-50%); }
  .card-list__flag--black {
    background-color: #333; }
  .card-list__flag--blue {
    background-color: #1c77c3; }
  .card-list__flag--aqua {
    background-color: #1bd9c4; }
  .card-list__flag--related {
    position: absolute;
    right: 0;
    left: 0;
    z-index: 2; }

.heroCaseStudy2__container {
  --grid-cols-width: 10;
  position: relative;
  margin-bottom: 56px;
  margin-bottom: 3.5rem;
  background-position: bottom right !important; }

.heroCaseStudy2__content {
  --grid-cols-width: 10;
  --grid-rows-padding-top: 2;
  --grid-rows-padding-bottom: 2;
  --grid-rows-margin-bottom: 4;
  position: relative;
  margin-left: auto;
  margin-right: auto;
  z-index: 2;
  height: 336px;
  height: 21rem; }
  .heroCaseStudy2__content--caseStudyLogo {
    width: 42px;
    width: 2.625rem; }
  .heroCaseStudy2__content--projectType-darkthemefalse {
    -webkit-font-smoothing: antialiased;
    color: #fff;
    font-size: 16px;
    font-size: 1rem;
    font-weight: 500;
    line-height: 1.75; }
  .heroCaseStudy2__content--projectType-darkthemetrue {
    -webkit-font-smoothing: antialiased;
    color: #223547;
    font-size: 16px;
    font-size: 1rem;
    font-weight: 500;
    line-height: 1.75; }
  .heroCaseStudy2__content--name-darkthemefalse {
    -webkit-font-smoothing: antialiased;
    font-size: 38px;
    font-size: 2.375rem;
    font-weight: 600;
    line-height: 1.11;
    color: #fff; }
  .heroCaseStudy2__content--name-darkthemetrue {
    -webkit-font-smoothing: antialiased;
    font-size: 38px;
    font-size: 2.375rem;
    font-weight: 600;
    line-height: 1.11;
    color: #223547; }
  .heroCaseStudy2__content--tagline-darkthemefalse {
    -webkit-font-smoothing: antialiased;
    font-size: 16px;
    font-size: 1rem;
    font-weight: 500;
    line-height: 1.5;
    color: #fff;
    padding-top: 0px;
    padding-top: 0rem; }
  .heroCaseStudy2__content--tagline-darkthemetrue {
    -webkit-font-smoothing: antialiased;
    font-size: 16px;
    font-size: 1rem;
    font-weight: 500;
    line-height: 1.5;
    color: #223547;
    padding-top: 0px;
    padding-top: 0rem; }
  .heroCaseStudy2__content--appIcons {
    display: table-cell;
    padding-right: 10px;
    padding-right: 0.625rem;
    padding-top: 28px;
    padding-top: 1.75rem; }
  .heroCaseStudy2__content--iconImages {
    user-drag: none;
    user-select: none;
    -moz-user-select: none;
    -webkit-user-drag: none;
    -webkit-user-select: none;
    -ms-user-select: none; }

.heroCaseStudy2__media {
  --grid-cols-width: 10;
  position: absolute;
  transform: translateX(-50%);
  left: 45%;
  bottom: 0;
  height: 100%;
  z-index: 1; }
  .heroCaseStudy2__media--image {
    position: absolute;
    display: none;
    max-width: 60%;
    right: 0;
    bottom: 0;
    user-drag: none;
    user-select: none;
    -moz-user-select: none;
    -webkit-user-drag: none;
    -webkit-user-select: none;
    -ms-user-select: none; }
  .heroCaseStudy2__media--mobileImage {
    position: absolute;
    display: block;
    max-height: 40%;
    width: auto;
    height: auto;
    right: 0;
    bottom: 0;
    user-drag: none;
    user-select: none;
    -moz-user-select: none;
    -webkit-user-drag: none;
    -webkit-user-select: none;
    -ms-user-select: none; }

.heroCaseStudy2__bottom-edge--curve {
  display: block;
  width: 100%;
  margin: 0;
  user-drag: none;
  user-select: none;
  -moz-user-select: none;
  -webkit-user-drag: none;
  -webkit-user-select: none;
  -ms-user-select: none; }

/* Table of Contents - Styles for Certifications Component
  1) Certifications Container
  2) Certification Container
  3) Headline
  4) Text
*/
.certifications__container {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: baseline;
  margin-bottom: 75px;
  margin-bottom: 4.6875rem; }
  .certifications__container--spaced {
    justify-content: space-around; }

.certification__container {
  margin-top: 18px;
  margin-top: 1.125rem;
  text-align: center;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  align-items: center;
  /* We need nesting here because of the image component */
  /* - */ }
  .certification__container.grid-cols-width {
    --grid-cols-width: 5; }
  .certification__container .image-certification-size {
    max-width: 136px;
    max-width: 8.5rem;
    width: 65%; }

.certification__headline {
  padding-bottom: 84px;
  padding-bottom: 5.25rem; }

.certification__text {
  display: none; }

.client-overview__page-section-content {
  --grid-rows-padding-top: 2;
  --grid-rows-padding-bottom: 2;
  --grid-cols-width: 10; }

.client-overview__logo {
  display: flex;
  justify-content: center;
  margin-bottom: 28px;
  margin-bottom: 1.75rem; }

.client-overview__paragraph {
  font-family: "Avenir Next", "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: 16px;
  font-size: 1rem;
  font-weight: 600;
  line-height: 28px;
  line-height: 1.75rem;
  font-weight: 500;
  line-height: 24px;
  line-height: 1.5rem;
  text-align: center;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale; }

/* Table of Contents - Styles of the Client Summary List Component
  1) Margin Reset
  2) Hover Arrow
  3) Description
  4) List Headline
  5) List Image
  6) List Logo
  7) List Link
  8) Hover Layer Container
  9) Hover Text Container
  10) Hover Text Headline
  11) Hover Text Content
  12) Section
*/
.client-summary-list__page-section-content {
  --grid-rows-padding-top: 1;
  --grid-rows-padding-bottom: 1; }

.client-summary-list__container .client-summary-list__logo:nth-of-type(n + 2), .client-summary-list__hover-text-content {
  margin-top: 0; }

.client-summary-list__arrow {
  align-self: flex-start; }

.client-summary-list__description {
  color: #223547;
  font-size: 14px;
  font-size: 0.875rem;
  font-weight: 500;
  line-height: 1.57;
  height: 92px;
  height: 5.75rem;
  margin: auto;
  padding-top: 20px;
  padding-top: 1.25rem;
  text-decoration: none; }

.client-summary-list__headline {
  padding-top: 0;
  padding-bottom: 45px;
  padding-bottom: 2.8125rem;
  font-size: 16px;
  font-size: 1rem;
  margin: auto;
  text-align: left; }

.client-summary-list__image {
  position: relative;
  margin: auto;
  padding: 0; }

.client-summary-list__logo {
  display: flex;
  justify-content: center;
  flex-direction: column;
  box-sizing: border-box;
  margin-bottom: 20px;
  margin-bottom: 1.25rem;
  padding-bottom: 0;
  text-align: left; }
  .client-summary-list__logo-link {
    display: block;
    position: relative;
    text-decoration: none; }

.client-summary-list__hover-layer-container {
  position: absolute;
  top: 50%;
  left: 50%;
  display: flex;
  justify-content: center;
  flex-direction: column;
  background-color: rgba(0, 0, 0, 0.85);
  color: #fff;
  height: 100%;
  margin: 0;
  width: 100%;
  opacity: 0;
  transform: translateY(-50%) translateX(-50%); }
  .client-summary-list__hover-layer-container:hover, .client-summary-list__hover-layer-container:focus {
    opacity: 1;
    transition: opacity 0.3s linear; }

.client-summary-list__hover-text-container {
  display: flex;
  justify-content: center;
  flex-direction: column;
  padding-left: 10%; }

.client-summary-list__hover-text-headline {
  font-size: 14px;
  font-size: 0.875rem; }

.client-summary-list__hover-text-content {
  font-size: 37.6px;
  font-size: 2.35rem;
  padding-top: 6px;
  padding-top: 0.375rem; }

.client-quote__page-section-content {
  --grid-rows-padding-top: 2;
  --grid-rows-padding-bottom: 2;
  --grid-cols-width: 10; }

.client-quote__image {
  display: flex;
  justify-content: center;
  margin-bottom: 28px;
  margin-bottom: 1.75rem; }
  .client-quote__image .img {
    max-width: 100%; }

.client-quote__quote {
  font-family: "Avenir Next", "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: 16px;
  font-size: 1rem;
  font-weight: 600;
  line-height: 28px;
  line-height: 1.75rem;
  font-weight: 500;
  line-height: 24px;
  line-height: 1.5rem;
  margin-bottom: 28px;
  margin-bottom: 1.75rem;
  text-align: center;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale; }

.client-quote__author {
  display: flex;
  justify-content: center;
  margin: 0 auto;
  text-align: center;
  font-family: "Avenir Next", "Helvetica Neue", Helvetica, Arial, sans-serif; }
  .client-quote__author span + span {
    margin: 0; }
  .client-quote__author__name {
    font-family: "Avenir Next", "Helvetica Neue", Helvetica, Arial, sans-serif;
    font-size: 16px;
    font-size: 1rem;
    font-weight: 600;
    line-height: 28px;
    line-height: 1.75rem; }
  .client-quote__author__position {
    margin-bottom: 10px;
    margin-bottom: 0.625rem;
    font-family: "Avenir Next", "Helvetica Neue", Helvetica, Arial, sans-serif;
    font-size: 16px;
    font-size: 1rem;
    font-weight: 600;
    line-height: 28px;
    line-height: 1.75rem;
    font-weight: 400;
    line-height: 24px;
    line-height: 1.5rem; }
  .client-quote__author__pipe {
    padding: 0 14px;
    padding: 0 0.875rem; }

pre > code,
.hljs-subst {
  color: #223547; }

.hljs-comment,
.hljs-quote,
.hljs-meta {
  color: #b0ad93; }

.hljs-string,
.hljs-doctag {
  color: #659a2c; }

.hljs-title {
  color: #4b7221; }

.hljs-keyword,
.hljs-tag {
  color: #4357ad; }

.hljs-literal,
.hljs-number,
.hljs-regexp,
.hljs-attr {
  color: #dd6e42; }

/* Table of Contents - Styles for Columned List Component
  1) Columned List
  2) List Items
    2-A) Item Alignment
    2-B) Item Columns
      2-B-I) 2 Columns
      2-B-II) 3 Columns
      2-B-III) 4 Columns
      2-B-IV) 5 Columns
*/
.columned-list {
  list-style: none;
  list-style-position: outside;
  padding-left: 0; }
  .columned-list li {
    padding-left: 0; }
  .columned-list::after {
    content: "";
    display: table;
    clear: both; }
  .columned-list__item--left {
    text-align: left; }
  .columned-list__item--center {
    text-align: center; }
  .columned-list__item--right {
    text-align: right; }
  .columned-list__item--3-columns, .columned-list__item--4-columns, .columned-list__item--5-columns {
    display: inline-block;
    margin: 0;
    padding: 0 14px 14px 0;
    padding: 0 0.875rem 0.875rem 0;
    vertical-align: top; }
  .columned-list__item--5-columns {
    /* We need nesting here to animate on the entire section hover */
    /* - */ }
    .columned-list__item--5-columns .columns-list__item--padded:nth-of-type(n + 2) {
      margin-top: 0; }
    .columned-list__item--5-columns .columns-list__item--padded:nth-of-type(n+6) {
      margin-top: 17.6px;
      margin-top: 1.1rem; }

/* Table of Contents - Styles for Contact Form Components
  A) Local Variables
  B) Local Animation
  1) Contact Page Form
    1-A) List
    1-B) Fields
    1-C) Labels
    1-D) Description
    1-E) Button Container
    1-F) Confirmation Message
    1-G) Medium Media Query
  2) Contact Card Form Adjustments
    2-A) Button
    2-B) List
    2-C) Fields
    2-D) Label
    2-E) Confirmation Message
*/
@keyframes autofill {
  to {
    color: #c1ccce;
    background: transparent; } }

.contact-form__list {
  list-style: none;
  list-style-position: outside;
  padding-left: 0;
  font-weight: 500;
  position: relative; }
  .contact-form__list::after {
    content: "";
    display: table;
    clear: both; }
  .contact-form__list li {
    padding-left: 0; }
  .contact-form__list-item:last-of-type {
    margin-top: 40px;
    margin-top: 2.5rem;
    /* We need nesting for the contact page textarea label animation */
    /* - */ }
    .contact-form__list-item:last-of-type .contact-form__label--lowered {
      top: 0; }

.contact-form__field {
  display: block;
  width: 100%; }
  .contact-form__field:focus {
    border-color: #1bd9c4;
    outline: 0; }
  .contact-form__field:-webkit-autofill {
    -webkit-animation-name: autofill;
    -webkit-animation-fill-mode: both; }
  .contact-form__field--input {
    border: none;
    border-bottom: 2px solid #707070;
    border-bottom: 0.125rem solid #707070;
    margin-top: 0;
    padding: 0 0 8px;
    padding: 0 0 0.5rem; }
  .contact-form__field--textarea {
    border: 2px solid #707070;
    border: 0.125rem solid #707070;
    margin-top: 0;
    min-height: 96px;
    min-height: 6rem;
    padding: 1%;
    resize: vertical; }

.contact-form__label {
  position: relative;
  top: 0;
  display: block;
  color: #707070;
  margin-top: -4.8px;
  margin-top: -0.3rem;
  transition: 0.5s; }
  .contact-form__label--lowered {
    top: 30px;
    top: 1.875rem; }

.contact-form__description {
  padding-top: 20px;
  padding-top: 1.25rem; }

.contact-form__button-container {
  display: flex;
  flex-direction: column;
  margin-top: 42px;
  margin-top: 2.625rem;
  text-align: center; }
  .contact-form__button-container .contact-form__button {
    flex-direction: row;
    display: flex;
    justify-content: center;
    margin: 0;
    background-color: #333333;
    padding: 15px 32px;
    padding: 0.9375rem 2rem;
    width: 210px;
    width: 13.125rem; }

.contact-form__confirmation {
  display: block;
  width: 100%; }
  .contact-form__confirmation.-error {
    color: #b60000; }

.contact-form__button {
  background: #333333; }

.contact-shortform__button {
  /* We need nesting fto override global button styles */
  /* - */ }
  .contact-shortform__button.button {
    background-color: inherit;
    border: 1px solid #fff;
    align-self: flex-start;
    margin: 0; }
  .contact-shortform__button-container {
    margin-top: 15px;
    margin-top: 0.9375rem; }

.contact-shortform__list {
  font-size: 14px;
  font-size: 0.875rem; }
  .contact-shortform__list-item {
    margin-top: 0; }
    .contact-shortform__list-item::after {
      content: '';
      margin-top: 0;
      margin-bottom: 16px;
      margin-bottom: 1rem;
      border-top: 2px solid #fff;
      border-top: 0.125rem solid #fff;
      display: inline-block;
      transition: width 0.5s ease;
      width: 100%; }
    .contact-shortform__list-item:last-of-type {
      margin-top: 0; }
      .contact-shortform__list-item:last-of-type .contact-form__label--lowered {
        top: 30px;
        top: 1.875rem; }

.contact-shortform__field {
  color: #fff;
  border: none; }
  .contact-shortform__field:focus {
    border-color: transparent; }
  .contact-shortform__field--textarea {
    margin-top: 0;
    min-height: 0;
    padding: 0;
    resize: none; }

.contact-shortform__label {
  color: #fff; }

.contact-shortform__confirmation {
  color: #fff;
  margin-top: 14px;
  margin-top: 0.875rem; }

.container-image-container {
  width: 100%; }

.container-image {
  border-radius: 0.25rem;
  width: 100%;
  user-drag: none;
  user-select: none;
  -moz-user-select: none;
  -webkit-user-drag: none;
  -webkit-user-select: none;
  -ms-user-select: none; }
  .container-image__page-section-content {
    --grid-rows-padding-top: 2;
    --grid-rows-padding-bottom: 2; }

/* Table of Contents - Styles for the Content Object Summary Component
  A) Local Variables
  1) Links
  2) Summary
    2-A) Headline
    2-B) Time
    2-C) Alignment
    2-D) Color
    2-E) Metadata
    2-F) Summary Links
    2-G) Dividers
    2-H) Description
*/
.content-object__link {
  display: block;
  text-decoration: none;
  /* We need nesting for the animation to work on full card hover */
  /* - */ }
  .content-object__link:hover .content-object__summary-link, .content-object__link:focus .content-object__summary-link {
    text-decoration: none; }
  .content-object__link:hover .content-object__summary-divider, .content-object__link:focus .content-object__summary-divider {
    width: 124px;
    width: 7.75rem; }

.content-object__summary {
  color: #333333;
  max-width: 640px;
  max-width: 40rem;
  transition: color 0.25s ease-out; }
  .content-object__summary--article {
    display: flex;
    flex-direction: column; }
  .content-object__summary-headline {
    margin-top: 14px;
    margin-top: 0.875rem; }
    .content-object__summary-headline--scaled {
      font-size: 25px;
      font-size: 1.5625rem; }
    .content-object__summary-headline--article {
      margin-top: 0;
      margin-bottom: 0; }
      .content-object__summary-headline--article-2.header-two, .content-object__summary-headline--article-3.header-two {
        font-size: 16px;
        font-size: 1rem;
        line-height: 20px;
        line-height: 1.25rem; }
  .content-object__summary-time {
    font-weight: 600; }
  .content-object__summary--center {
    text-align: center; }
  .content-object__summary--light {
    color: #fff; }
  .content-object__summary-metadata {
    font-size: 14px;
    font-size: 0.875rem;
    font-weight: 600;
    display: block;
    /* We need nesting for for normalizeItem.jsx */
    /* - */ }
    .content-object__summary-metadata:first-of-type {
      margin-top: 14px;
      margin-top: 0.875rem; }
    .content-object__summary-metadata--article {
      order: 3; }
      .content-object__summary-metadata--article-1 {
        display: none; }
    .content-object__summary-metadata--scaled {
      font-size: 14px;
      font-size: 0.875rem; }
    .content-object__summary-metadata-intro + .content-object__summary-metadata-item::before {
      content: "\002F";
      display: inline-block;
      margin: 0 8px;
      margin: 0 0.5rem;
      color: #223547; }
    .content-object__summary-metadata-intro + .content-object__summary-metadata-item .content-object__summary--light::before {
      color: #fff; }
    .content-object__summary-metadata-item:nth-of-type(n + 3)::before {
      content: "\00b7";
      display: inline-block;
      margin: 0 8px;
      margin: 0 0.5rem;
      color: #223547; }
    .content-object__summary-metadata-item:nth-of-type(n + 3) .content-object__summary--light::before {
      color: #fff; }
  .content-object__summary-link {
    color: #1c77c3;
    font-weight: 500;
    display: block;
    text-decoration: underline; }
    .content-object__summary-link--light {
      color: #54b4cf; }
    .content-object__summary-link--scaled {
      font-size: 14px;
      font-size: 0.875rem; }
  .content-object__summary-divider--left {
    height: 5px;
    height: 0.3125rem;
    margin: 14px 0 21px 0;
    margin: 0.875rem 0 1.3125rem 0;
    display: block;
    width: 62px;
    width: 3.875rem;
    background-color: #223547;
    transition: width 0.5s ease-out; }
  .content-object__summary-divider--center {
    height: 5px;
    height: 0.3125rem;
    margin: 14px 0 21px 0;
    margin: 0.875rem 0 1.3125rem 0;
    margin-left: auto;
    margin-right: auto;
    display: block;
    width: 62px;
    width: 3.875rem;
    background-color: #223547;
    transition: width 0.5s ease-out; }
  .content-object__summary-divider--light {
    background-color: #fff; }
  .content-object__summary-divider--scaled {
    margin-top: 14px;
    margin-top: 0.875rem;
    margin-bottom: 14px;
    margin-bottom: 0.875rem;
    height: 2px; }
  .content-object__summary-description--article {
    display: none; }

/* Table of Contents - Styles for Core Values component
  1) Card
  2) Card Content Types
*/
.core-values__card {
  /* Duplicating properties get around global card__content display styles */
  /* - */ }

.core-values__card-content--text {
  background: #fff;
  margin: auto; }

.core-values__card-content--image .image-container {
  width: 100%;
  height: 100%;
  top: 0; }
  .core-values__card-content--image .image-container .image {
    min-height: 100%;
    min-width: 100%; }

/* Table of Contents - Styles for the Datagrid Component
  1) Datagrid
  2) Container
  3) Table Tags
  4) Voice Capabilites Grid
*/
.datagrid {
  display: block;
  margin: 0 auto;
  overflow: hidden;
  /* - */ }
  .datagrid thead,
  .datagrid tbody,
  .datagrid th,
  .datagrid td,
  .datagrid tr {
    display: block;
    margin-top: 0; }
  .datagrid thead tr {
    position: absolute;
    top: -9999px;
    left: -9999px; }
  .datagrid tbody td:first-of-type {
    font-family: "Avenir Next", "Helvetica Neue", Helvetica, Arial, sans-serif;
    font-size: 16px;
    font-size: 1rem;
    font-weight: 600;
    line-height: 28px;
    line-height: 1.75rem;
    background: transparent;
    border-width: 0;
    padding: 0 0 14px 0;
    padding: 0 0 0.875rem 0;
    margin-top: 28px;
    margin-top: 1.75rem; }
  .datagrid td {
    border: 1px solid #1bd9c4;
    margin-top: -1px;
    position: relative;
    padding-left: 50%;
    vertical-align: middle; }
    .datagrid td:not(:first-of-type)::before {
      content: attr(data-side);
      padding-top: 10px;
      padding-top: 0.625rem;
      padding-left: 10px;
      padding-left: 0.625rem;
      position: absolute;
      top: 0;
      left: 0;
      background: #f0f0f4;
      border-right: 1px solid #1bd9c4;
      font-weight: 500;
      height: calc(100% - 0.625rem);
      white-space: nowrap;
      width: 45%; }
  .datagrid--voice-capabilities thead td:first-of-type {
    font-size: 100%;
    font-weight: 600; }
  .datagrid--voice-capabilities tbody tr:last-of-type td {
    /* stylelint-disable */
    /* stylint-enable */ }
    .datagrid--voice-capabilities tbody tr:last-of-type td:nth-child(n+2) {
      background: #cddfee; }

/* Table of Contents - Styles for Director Component
   1) Container
   2) Description
   3) Grid
   4) Name
   5) Title
*/
.director__container {
  margin-top: 0;
  position: relative;
  padding-bottom: 27px;
  padding-bottom: 1.6875rem; }
  .director__container::after {
    content: '';
    border-bottom: 3px solid #1bd9c4;
    width: 128px;
    width: 8rem;
    position: absolute;
    bottom: 0; }

.director__description {
  margin-top: 15px;
  margin-top: 0.9375rem; }

.director__name {
  font-size: 22px;
  font-size: 1.375rem;
  font-weight: 600; }

.director__title {
  margin-top: 5px;
  font-size: 16px;
  font-size: 1rem; }

.director__grid.grid {
  row-gap: 42px;
  row-gap: 2.625rem;
  column-gap: 2.625rem;
  grid-template-columns: 1fr 1fr; }

/* Table of Contents - Styles for Core Values component
  1) Card
    1-A) Right Aligned
  2) Description
  3) Link
  4) Info Container
  5) Image and Info
    5A) Image
    5B) Info
  6) Sub Headline
  7) Headline
*/
.description-card__card {
  font-family: "Avenir Next", "Helvetica Neue", Helvetica, Arial, sans-serif;
  line-height: 24px;
  line-height: 1.5rem;
  display: flex;
  flex-direction: column; }

.description-card__description {
  margin-top: 24px;
  margin-top: 1.5rem; }

.description-card__link {
  display: block;
  margin-top: 20px;
  margin-top: 1.25rem; }

.description-card__image {
  --grid-cols-width: 10;
  --grid-container-cols-width: 10; }

.description-card__info {
  --grid-cols-width: 10;
  --grid-container-cols-width: 10;
  --grid-rows-margin-top: 2;
  --grid-rows-margin-bottom: 0; }

.description-card__sub-headline {
  font-family: "Avenir Next", "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: 22px;
  font-size: 1.375rem;
  font-weight: 600;
  line-height: 28px;
  line-height: 1.75rem; }

.description-card__headline {
  margin-bottom: 20px;
  margin-bottom: 1.25rem; }

/* Table of Contents - Styles for the EEOC Questions component
  1) Container
  2) Section
  3) Descriptions
    3-A) Shared Text Styles
  4) List
  5) Label
  6) Fields
  7) Field
    7-A) Field Label
    7-B) Custom Radio Button
*/
.eeoc {
  /* Need to style tags here because class names are not passed to us with the info from greenhouse */ }
  .eeoc__container {
    margin-top: 10px;
    margin-top: 0.625rem; }
  .eeoc__section {
    color: #333;
    font-family: "Avenir Next"; }
    .eeoc__section:nth-of-type(n + 2) {
      margin-top: 20px;
      margin-top: 1.25rem; }
  .eeoc__description {
    /* - */ }
    .eeoc__description p,
    .eeoc__description li,
    .eeoc__description--2 strong {
      font-size: 15px;
      font-size: 0.9375rem;
      line-height: 22px;
      line-height: 1.375rem; }
    .eeoc__description strong {
      font-weight: 600; }
      .eeoc__description strong + p {
        margin-top: 0; }
    .eeoc__description ul {
      margin-top: 0;
      margin-bottom: 40px;
      margin-bottom: 2.5rem;
      padding-left: 20px;
      padding-left: 1.25rem; }
    .eeoc__description li {
      padding-left: 5px;
      padding-left: 0.3125rem; }
      .eeoc__description li:nth-of-type(n + 2) {
        margin-top: 0; }
    .eeoc__description--2 strong:nth-of-type(2) {
      display: block;
      margin-top: 20px;
      margin-top: 1.25rem; }
  .eeoc__title,
  .eeoc__description--0 > strong,
  .eeoc__description--3 > strong {
    color: #263445;
    font-size: 26px;
    font-size: 1.625rem;
    font-weight: 600;
    line-height: 35px;
    line-height: 2.1875rem;
    letter-spacing: -0.12px;
    margin-bottom: 18px;
    margin-bottom: 1.125rem; }
  .eeoc__title,
  .eeoc__description--3 > strong {
    display: block;
    margin-bottom: 18px;
    margin-bottom: 1.125rem; }
  .eeoc__list {
    list-style: none;
    padding: 0; }
    .eeoc__list-item {
      padding: 0; }
  .eeoc__label {
    color: #707070;
    font-size: 18px;
    font-size: 1.125rem;
    font-weight: 600; }
  .eeoc__fields {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between; }
  .eeoc__field {
    --grid-cols-width: 3;
    --grid-container-cols-width: 6;
    margin-top: 0;
    margin-bottom: 20px;
    margin-bottom: 1.25rem; }
    .eeoc__field-label {
      display: flex;
      color: #707070;
      position: relative; }
    .eeoc__field-input {
      border: 0;
      padding: 0;
      cursor: pointer;
      margin: 0 20px 0 0;
      margin: 0 1.25rem 0 0;
      height: 25px;
      height: 1.5625rem;
      width: 25px;
      width: 1.5625rem; }
      .eeoc__field-input::before, .eeoc__field-input:checked::after {
        content: '';
        border-radius: 50%;
        border: 1px solid #707070; }
      .eeoc__field-input::before {
        display: inline-block;
        height: 24px;
        height: 1.5rem;
        width: 24px;
        width: 1.5rem; }
      .eeoc__field-input:checked::after {
        position: absolute;
        top: 0;
        left: 0;
        background: #1bd9c4;
        border-color: #1bd9c4;
        height: 25px;
        height: 1.5625rem;
        width: 25px;
        width: 1.5625rem; }

/* Table of Contents - Expansion Toggle
  A) Local Variables
  1) Toggle Button
  2) Toggle Box Container
  3) Toggle Label
*/
.expansion-toggle__button {
  background: none;
  padding: 0;
  width: 20px;
  width: 1.25rem;
  height: 20px;
  height: 1.25rem;
  position: relative; }

.expansion-toggle__box::before, .expansion-toggle__box::after {
  content: '';
  display: block;
  position: absolute;
  border-radius: 2px;
  background: #223547;
  width: 20px;
  width: 1.25rem;
  height: 2px;
  height: 0.125rem; }

.expansion-toggle__box::after {
  transform: rotate(90deg); }

.expansion-toggle__box--open::after {
  display: none; }

.expansion-toggle__box--error-theme::before, .expansion-toggle__box--error-theme::after {
  background-color: #fff; }

.expansion-toggle__label {
  position: absolute;
  left: -10000px;
  left: -625rem;
  top: auto;
  width: 1px;
  height: 1px;
  overflow: hidden; }

/* Table of Contents - Styles for the Expertise List
  1) List
    1-A) Container
    1-B) Headline
      1-B-I) Headline Container
  2) Grid
    2-A) Grid Items
  3) Tiles
    3-A) Containers
      3-A-I) Image Container
      3-A-II) Text Container
      3-A-III) Divider Container
    3-B) Headline
    3-C) Description
    3-D) Divider
    3-E) Link
*/
.expertise {
  /* We need specifity here to get around global grid styles */
  /* - */ }
  .expertise__list-container {
    margin-top: 0; }
  .expertise__list-headline {
    font-size: 30px;
    font-size: 1.875rem;
    line-height: 1.27;
    padding-top: 20px;
    padding-top: 1.25rem;
    text-align: left; }
    .expertise__list-headline-container {
      margin: 0 auto; }
  .expertise__grid.grid {
    padding-top: 28px;
    padding-top: 1.75rem; }
  .expertise__grid-item {
    display: flex;
    align-items: center;
    border: 1px solid #d2d2d7;
    border-radius: 0.25rem;
    box-shadow: 0 10px 18px -10px rgba(0, 0, 0, 0.08);
    flex-grow: 1;
    height: auto;
    overflow: hidden;
    position: relative;
    /* Specificity needed to override grid item global styles */
    /* - */ }
    .expertise__grid-item:hover, .expertise__grid-item:focus {
      background-color: #fff;
      border-color: #f4f4f4;
      box-shadow: 0 10px 18px 0 rgba(0, 0, 0, 0.08);
      /* We need nesting here to animate on the entire section hover */
      /* - */ }
    .expertise__grid-item * {
      transition: 0.3s ease-out; }
    .expertise__grid-item--m.grid__item:nth-of-type(1n) {
      flex: 1;
      margin-top: 15px;
      margin-top: 0.9375rem; }
  .expertise__tile {
    color: #333333;
    text-decoration: none; }
    .expertise__tile-container {
      display: flex;
      justify-content: left;
      align-items: center;
      background-color: transparent;
      height: 100%;
      margin: 0;
      padding-top: 0;
      width: 100%; }
      .expertise__tile-container--image {
        display: none; }
      .expertise__tile-container--text {
        display: flex;
        flex-direction: column;
        justify-content: center;
        flex: 2;
        margin: 5%; }
      .expertise__tile-container--divider {
        display: none; }
    .expertise__tile-headline {
      color: #333333;
      font-size: 24px;
      font-size: 1.5rem;
      font-weight: 600;
      line-height: 1.27;
      word-break: normal; }
    .expertise__tile-description {
      font-size: 16px;
      font-size: 1rem;
      font-weight: 500;
      line-height: 1.44; }
    .expertise__tile-divider {
      background-color: #000;
      display: block;
      height: 4px;
      height: 0.25rem;
      transition: width 0.6s ease-out;
      width: 0; }
    .expertise__tile-link {
      color: #1c77c3;
      font-size: 14px;
      font-size: 0.875rem;
      font-weight: 500;
      line-height: 1.14;
      margin-top: 6px;
      margin-top: 0.375rem;
      text-decoration: none; }

.fluid-image-container {
  width: 100%; }

.fluid-image {
  width: 100%;
  user-drag: none;
  user-select: none;
  -moz-user-select: none;
  -webkit-user-drag: none;
  -webkit-user-select: none;
  -ms-user-select: none; }
  .fluid-image__page-section-content {
    --grid-rows-padding-top: 2;
    --grid-rows-padding-bottom: 2; }

/* Table of Contents - Style for the form fields
  1) Field
  2) Error color change
  3) Label
  4) Element Groups
  5) Elements
  6) Buttons
  7) Message
  8) File Input
  9) Hidden Input
 */
.field,
.field * {
  font-family: "Avenir Next";
  box-sizing: border-box; }
  .field:focus,
  .field *:focus {
    outline: 0; }

.field {
  color: #707070;
  font-size: 16px;
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.75;
  position: relative;
  padding-bottom: 24px;
  padding-bottom: 1.5rem;
  margin: 0; }
  .field--error {
    color: #d73232; }
  .field__label {
    position: relative;
    bottom: -28px;
    bottom: -1.75rem;
    display: block;
    width: 100%;
    transition: 0.5s;
    pointer-events: none; }
    .field__label--raised, .field__label--textarea {
      bottom: 0; }
    .field__label--select {
      padding-right: 30px;
      padding-right: 1.875rem; }
  .field__element-group {
    display: flex;
    position: relative;
    margin: 0;
    padding: 0; }
  .field__element {
    padding-bottom: 5px;
    padding-bottom: 0.3125rem;
    padding-left: 0;
    color: #223547;
    font-family: inherit;
    font-size: inherit;
    font-weight: 600;
    line-height: inherit;
    -webkit-appearance: none;
            appearance: none;
    border: none;
    border-bottom: 2px solid currentColor;
    border-bottom: 0.125rem solid currentColor;
    border-radius: 0;
    background-color: transparent;
    display: block;
    height: 35px;
    height: 2.1875rem;
    margin: 0;
    width: 100%; }
    .field__element--textarea {
      padding: 5px;
      padding: 0.3125rem;
      border: 2px solid #707070;
      border: 0.125rem solid #707070;
      min-height: 96px;
      min-height: 6rem;
      resize: vertical; }
    .field__element--file {
      text-overflow: ellipsis;
      overflow: hidden;
      white-space: nowrap; }
    .field__element--select {
      background-image: url("/img/icn-arrow-down.svg");
      background-size: 0.875rem;
      background-repeat: no-repeat;
      background-position: calc(100% - 0.4375rem) calc(50% - 0.15625rem); }
  .field__button {
    color: #fff;
    font-size: 14px;
    font-size: 0.875rem;
    line-height: 2;
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 2.5px 28px;
    padding: 0.15625rem 1.75rem;
    margin: 0 0 0 7px;
    margin: 0 0 0 0.4375rem;
    height: 35px;
    height: 2.1875rem;
    background-color: #333;
    border-radius: 0.21875rem; }
    .field__button--group {
      flex-shrink: 0;
      pointer-events: none; }
  .field__message {
    padding: 0;
    margin: 0;
    height: 25px;
    height: 1.5625rem;
    font-size: 14px;
    font-size: 0.875rem; }
  .field__file-input {
    display: flex;
    width: 100%;
    height: 100%; }
  .field--hidden {
    display: none; }

/* Table of Contents - Styles for Filter Component
  1) Bar
  2) Container
  3) Headline
  4) CTA
  5) Icon
  6) Filter List
  7) Filter Item
*/
.filter {
  /* Need specificity to get around global hero-headline styles */
  /* - */ }
  .filter__bar {
    position: relative; }
    .filter__bar--hidden {
      display: hidden; }
  .filter-headline__container {
    display: flex;
    flex-direction: row;
    justify-content: space-between; }
  .filter__headline.hero__headline {
    padding-bottom: 0;
    padding-left: 0; }
    .filter__headline.hero__headline::before {
      margin-bottom: 28px;
      margin-bottom: 1.75rem; }
  .filter__cta {
    display: flex;
    align-items: center;
    position: relative;
    z-index: 5;
    text-transform: uppercase;
    font-size: 14px;
    font-size: 0.875rem;
    letter-spacing: 2.628px;
    letter-spacing: 0.16428rem;
    font-weight: 600;
    align-self: flex-end;
    background: #fff;
    border: 1px solid #1bd9c4;
    border-radius: 0.3125rem;
    padding: 15px;
    padding: 0.9375rem; }
    .filter__cta + * {
      margin-top: 14px;
      margin-top: 0.875rem; }
    .filter__cta--toggled {
      border-bottom: 1px solid #fff;
      border-bottom-left-radius: 0;
      border-bottom-right-radius: 0;
      box-shadow: -0.5px 1px #fff; }
  .filter__icon {
    height: 17px;
    height: 1.0625rem;
    width: 17px;
    width: 1.0625rem; }
  .filter__items {
    position: absolute;
    z-index: 4;
    background: #fff;
    border: 1px solid #1bd9c4;
    border-radius: 0.3125rem;
    border-top-right-radius: 0;
    box-shadow: 0 0.625rem 1.25rem 0 rgba(0, 0, 0, 0.06);
    box-sizing: border-box;
    list-style: none;
    margin-top: 0;
    padding: 18px;
    padding: 1.125rem;
    width: 100%;
    display: grid;
    grid-template-columns: 1fr;
    grid-row-gap: 0.625rem;
    justify-items: center; }
  .filter__item {
    padding: 0;
    margin: 0; }
    .filter__item-button {
      text-transform: uppercase;
      font-size: 14px;
      font-size: 0.875rem;
      letter-spacing: 2.628px;
      letter-spacing: 0.16428rem;
      font-weight: 600;
      background: #f0f0f4;
      border-radius: 0.3125rem;
      padding: 10px;
      padding: 0.625rem; }
      .filter__item-button + * {
        margin-top: 14px;
        margin-top: 0.875rem; }
      .filter__item-button--selected {
        background: #fff;
        box-shadow: 0 0.3125rem 1.25rem 0 rgba(0, 0, 0, 0.1); }
  .filter__label {
    display: none;
    margin-top: 0; }

/* Table of Contents - Styles for Global Footer
   1) Footer Container
   2) Copyright
   3) Content Left
  4) Content Right
    4-A) Navigation
    4-B) Links
  5) Social Container
*/
.footer {
  font-size: 14px;
  font-size: 0.875rem;
  font-weight: 500;
  padding: 32px 0;
  padding: 2rem 0;
  justify-content: space-between; }
  .footer__copyright {
    color: #c1ccce;
    font-size: inherit;
    text-align: left; }
  .footer__content-left {
    --grid-cols-width: 12; }
    .footer__content-left .offices__addresses {
      padding: 0;
      justify-content: space-between; }
    .footer__content-left .address__container {
      --grid-cols-width: 6;
      --grid-container-cols-width: 12;
      margin: 0;
      padding-bottom: 40px;
      padding-bottom: 2.5rem; }
  .footer__content-right {
    --grid-cols-width: 12;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    margin-top: 0; }
    .footer__content-right .footer__navigation {
      --grid-cols-width: 12;
      --grid-container-cols-width: 12; }
    .footer__content-right .footer__social-links {
      --grid-cols-width: 12;
      --grid-container-cols-width: 12; }
  .footer__navigation-items {
    list-style: none;
    list-style-position: outside;
    padding-left: 0; }
    .footer__navigation-items li {
      padding-left: 0; }
  .footer__navigation-item {
    font-weight: 500; }
  .footer__link.footer__link {
    color: #c1ccce;
    font-weight: 500; }
    .footer__link.footer__link:hover, .footer__link.footer__link:focus {
      color: #c1ccce;
      text-decoration: underline; }

.full-width-card__container {
  border-radius: 0.25rem;
  box-shadow: 0 1px 16px 0 rgba(0, 0, 0, 0.1);
  background-color: #fff;
  display: flex;
  flex-direction: column;
  justify-content: space-between; }

.full-width-card__image {
  border-radius: 0.25rem 0.25rem 0 0;
  height: calc(100vw * .5);
  object-fit: cover; }

.full-width-card__content {
  align-items: center;
  display: flex;
  flex-direction: column;
  justify-content: center;
  margin: 42px 0;
  margin: 2.625rem 0; }
  .full-width-card__content__container * + * {
    margin-top: 28px;
    margin-top: 1.75rem; }
  .full-width-card__content__container.grid-cols-width {
    --grid-cols-width: 10; }
  .full-width-card__content--title {
    font-family: "Avenir Next", "Helvetica Neue", Helvetica, Arial, sans-serif;
    font-size: 28px;
    font-size: 1.75rem;
    font-weight: 600;
    line-height: 42px;
    line-height: 2.625rem;
    -webkit-font-smoothing: antialiased; }
  .full-width-card__content--description {
    font-family: "Avenir Next", "Helvetica Neue", Helvetica, Arial, sans-serif;
    font-size: 16px;
    font-size: 1rem;
    font-weight: 400;
    line-height: 28px;
    line-height: 1.75rem;
    -webkit-font-smoothing: antialiased; }
  .full-width-card__content--cta {
    display: flex; }
    .full-width-card__content--cta:hover .full-width-card__content--cta__icon {
      transform: translate(20px); }
    .full-width-card__content--cta__text {
      font-family: "Avenir Next", "Helvetica Neue", Helvetica, Arial, sans-serif;
      font-size: 16px;
      font-size: 1rem;
      font-weight: 400;
      line-height: 28px;
      line-height: 1.75rem;
      font-weight: 500;
      color: #333333;
      -webkit-font-smoothing: antialiased; }
    .full-width-card__content--cta__icon {
      margin-left: 10px;
      margin-left: 0.625rem;
      margin-top: 0;
      transition: transform 0.5s ease-in-out; }

/* Table of Contents - Styles for Generic Content Component
  A) Local Variables
  1) Sectiom Spacing
  2) App Store Link List
*/
.generic-section {
  /* Not pretty... but we need this to ensure that non-transparent bands don't have an extra margin from above...
    and that the bands below them have top padding... */
  /* - */ }
  .generic-section:first-of-type {
    padding: 60px 0;
    padding: 3.75rem 0; }
  .generic-section:nth-of-type(n + 2) {
    margin-bottom: 60px;
    margin-bottom: 3.75rem; }
  .generic-section:not(.section__theme--transparent) {
    margin-bottom: 0; }
    .generic-section:not(.section__theme--transparent) + .section__theme--transparent {
      padding-top: 60px;
      padding-top: 3.75rem; }
  .generic-section__app-store-list {
    margin-top: 0;
    margin-left: -8px;
    margin-left: -0.5rem;
    list-style: none;
    list-style-position: outside;
    padding-left: 0; }
    .generic-section__app-store-list li {
      padding-left: 0; }
    .generic-section__app-store-list-item {
      display: inline-block;
      margin: 8px;
      margin: 0.5rem; }
  .generic-section__app-store-links__page-section {
    --grid-rows-padding-bottom: 2;
    --grid-cols-width: 10; }
  .generic-section__featured-content__page-section-content {
    --grid-cols-width: 12; }
  .generic-section__request-form__page-section-content {
    --grid-cols-width: 8; }
  .generic-section__video__page-section-content {
    --grid-rows-padding-bottom: 2;
    --grid-cols-width: 12; }
  .generic-section__link-section {
    --grid-rows-padding-top: 1;
    --grid-rows-padding-bottom: 1;
    width: 100%;
    max-width: none; }
  .generic-section__two-columned__page-section {
    --grid-rows-padding-bottom: 2;
    --grid-cols-width: 10; }
  .generic-section__quote__page-section {
    --grid-rows-padding-top: 2;
    --grid-rows-padding-bottom: 2;
    width: 100%;
    max-width: none;
    margin-bottom: 56px !important;
    margin-bottom: 3.5rem !important; }
  .generic-section__image-carousel__page-section {
    --grid-rows-padding-bottom: 2; }
  .generic-section__benefits {
    --grid-rows-padding-top: 1;
    --grid-rows-padding-bottom: 1;
    --grid-cols-width: 8; }
  .generic-section__headline-description__page-section-content {
    --grid-cols-width: 10;
    --grid-rows-padding-bottom: 2; }
  .generic-section.banner__page-section {
    --grid-rows-padding-bottom: 2; }
  .generic-section__page-body__page-section-content {
    --grid-cols-width: 10;
    --grid-rows-padding-bottom: 2;
    --grid-rows-padding-top: 2; }

.client-overview__page-section {
  --grid-rows-margin-top: 2;
  --grid-rows-margin-bottom: 2; }

.next-project__page-section {
  --grid-rows-margin-top: 2;
  --grid-rows-margin-bottom: 0; }

.raw-video__page-section {
  --grid-rows-margin-top: 2;
  --grid-rows-margin-bottom: 2; }

.client-overview__page-section +
.fluid-image__page-section .fluid-image__page-section-content {
  padding-top: 0;
  --grid-rows-margin-top: -2; }

.gradient-light {
  background-image: linear-gradient(to bottom, #fff, #f9f9f9); }

/* Table of Contents - Styles for the Grid Component
  A) Local Variables
  B) Local Mixins
  1) Grid
  2) Grid Columns
  3) Articles Grid
*/
.grid {
  display: grid;
  grid-template-columns: 1fr; }
  .grid--s {
    grid-column-gap: 2.5rem;
    grid-row-gap: 2.5rem; }
    .grid--s:nth-child(2n + 1) {
      grid-row-gap: 1.25rem; }
    .grid--s:nth-child(3n + 1) {
      grid-row-gap: 1.25rem; }
    .grid--s:nth-child(4n + 1) {
      grid-row-gap: 1.25rem; }
    .grid--s:nth-child(5n + 1) {
      grid-row-gap: 1.25rem; }
  .grid--m {
    grid-column-gap: 1.25rem;
    grid-row-gap: 2.8125rem; }
  .grid--no-row-gap {
    grid-row-gap: 0;
    /* Duplicating properties because we need to override medium breakpoint above */
    /* - */ }
  .grid__item {
    margin-top: 0; }

.grid__articles:nth-of-type(n + 2) {
  margin-top: 30px;
  margin-top: 1.875rem; }

.grid__articles--2 {
  grid-template-columns: repeat(2, 47%);
  grid-row-gap: 1.875rem; }

.grid__articles--3 {
  grid-row-gap: 1.25rem;
  grid-template-columns: 1fr; }

/* Table of Contents - Styles for Card Grid Component
  1) Grid Card
  2) Content
    2-A) Modified Content
    2-B) Hover Animation
  3) Section
    3-A) Modified Sections
  4) Nested Content Object Summary
*/
.grid-card {
  display: flex;
  height: 100%;
  /* We need nesting here so animations happens on full card hover */
  /* - */ }
  .grid-card__content {
    display: flex;
    flex-direction: column;
    background-color: #fff;
    border-radius: 0.3125rem;
    overflow: hidden;
    transition: transform 0.3s ease, box-shadow 0.3s ease, background-color 0.3s ease;
    width: 100%;
    -webkit-backface-visibility: hidden;
            backface-visibility: hidden;
    position: relative;
    z-index: 1; }
    .grid-card__content * {
      transform: translate3d(0, 0, 0); }
    .grid-card__content--transparent {
      background-color: transparent;
      transition: all 0.3s ease; }
    .grid-card__content--has-shadow {
      box-shadow: 0 0.625rem 1.25rem 0 rgba(0, 0, 0, 0.06); }
    .grid-card__content--grid-1, .grid-card__content--grid-2 {
      /* We need nesting here to not apply this style to 3-up grid */
      /* - */ }
      .grid-card__content--grid-1 .grid-card__section, .grid-card__content--grid-2 .grid-card__section {
        flex: 1; }
    .grid-card__content--grid-3 {
      background: transparent;
      box-shadow: none;
      flex-direction: row; }
  .grid-card__section {
    margin: 0; }
    .grid-card__section--stacked {
      flex: 1; }
    .grid-card__section--columned {
      box-sizing: border-box; }
    .grid-card__section--summary {
      padding: 20px;
      padding: 1.25rem; }
      .grid-card__section--summary-2 {
        padding: 0;
        padding-top: 20px;
        padding-top: 1.25rem;
        padding-bottom: 10px;
        padding-bottom: 0.625rem; }
      .grid-card__section--summary-3 {
        padding-top: 5px;
        padding-top: 0.3125rem; }
    .grid-card__section--image-2, .grid-card__section--image-3 {
      /* We need nesting here because of the image component */
      /* - */ }
      .grid-card__section--image-2::after, .grid-card__section--image-3::after {
        content: "";
        display: block;
        padding-bottom: 25%; }
      .grid-card__section--image-2 .image, .grid-card__section--image-3 .image {
        border-radius: 0.3125rem; }
        .grid-card__section--image-2 .image-container, .grid-card__section--image-3 .image-container {
          height: 100%; }
    .grid-card__section--image-3 .image-container {
      max-height: 150px;
      max-height: 9.375rem; }
  .grid-card .content-object__summary {
    margin: 0;
    color: #333333;
    height: 100%; }
    .grid-card .content-object__summary * {
      margin: 15px 0;
      margin: 0.9375rem 0; }
      .grid-card .content-object__summary *:first-child {
        margin-top: 0;
        margin-bottom: 0; }
      .grid-card .content-object__summary *:last-child {
        margin-bottom: 0; }
    .grid-card .content-object__summary .content-object__summary-metadata {
      font-weight: 500; }
      .grid-card .content-object__summary .content-object__summary-metadata:first-of-type {
        margin-bottom: -10px;
        margin-bottom: -0.625rem; }
    .grid-card .content-object__summary .content-object__summary-metadata-intro {
      display: none; }
    .grid-card .content-object__summary .content-object__summary-metadata-item {
      display: inline-block;
      background-color: #f0f0f4;
      color: #333333;
      border-radius: 0.3125rem;
      margin: 0 10px 10px 0;
      margin: 0 0.625rem 0.625rem 0;
      line-height: 1;
      text-transform: uppercase;
      padding: 6px 9px;
      padding: 0.375rem 0.5625rem;
      letter-spacing: 2px;
      letter-spacing: 0.125rem; }
      .grid-card .content-object__summary .content-object__summary-metadata-item:last-child {
        margin-right: 0; }
      .grid-card .content-object__summary .content-object__summary-metadata-item::before {
        content: none; }
    .grid-card .content-object__summary .content-object__summary-divider {
      background-color: #333333;
      margin-top: 30px;
      margin-top: 1.875rem; }

.headline__h1 {
  --grid-cols-width: 10;
  --grid-rows-padding-top: 3.5;
  --grid-rows-padding-bottom: 1;
  color: #333333;
  margin: 0 auto;
  font-family: "Avenir Next", "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: 38px;
  font-size: 2.375rem;
  font-weight: 500;
  line-height: 42px;
  line-height: 2.625rem;
  font-weight: 600; }
  .headline__h1.contact {
    --grid-rows-padding-bottom: 1; }

.headline__dot {
  color: #1bd9c4; }

/* Table of Contents - Styles for the Headline Hero component
  1) Headline Hero
    1-A) Border Version
  2) Shared Styles
  3) Container
  4) Category
  5) Title
  6) Subtitle
  7) Date
*/
.headline-hero {
  margin-top: 0;
  padding-top: 42px;
  padding-top: 2.625rem; }
  .headline-hero__page-section-content {
    --grid-cols-width: 8;
    --grid-rows-padding-top: 2; }
  .headline-hero--border::after {
    content: '';
    height: 5px;
    height: 0.3125rem;
    margin: 14px 0 21px 0;
    margin: 0.875rem 0 1.3125rem 0;
    margin-left: auto;
    margin-right: auto;
    display: block;
    width: 124px;
    width: 7.75rem;
    background-color: #223547;
    transition: width 0.5s ease-out; }
  .headline-hero__categories:nth-of-type(n + 2), .headline-hero__subtitle {
    margin-top: 0; }
  .headline-hero__subtitle, .headline-hero__date {
    padding-top: 14px;
    padding-top: 0.875rem; }
  .headline-hero__category {
    text-transform: uppercase;
    font-size: 14px;
    font-size: 0.875rem;
    letter-spacing: 2.628px;
    letter-spacing: 0.16428rem;
    font-weight: 600; }
    .headline-hero__category + * {
      margin-top: 14px;
      margin-top: 0.875rem; }
    .headline-hero__category:nth-of-type(n + 2)::before {
      content: "\00b7";
      display: inline-block;
      margin: 0 8px;
      margin: 0 0.5rem;
      color: #223547; }
  .headline-hero__title {
    margin-top: 0; }
    .headline-hero__title--article {
      margin-top: 10px;
      margin-top: 0.625rem; }
  .headline-hero__date--article {
    color: #979799; }

/* Table of Contents - Styles for the Horizontal Rule Component
  1) Text HR
    1-A) Text HR Line
*/
.hr--text {
  color: #223547;
  font-size: 20px;
  font-size: 1.25rem;
  font-weight: 500;
  overflow: hidden;
  position: relative;
  width: 100%;
  white-space: nowrap; }
  .hr--text-rule::before, .hr--text-rule::after {
    content: '';
    border-bottom: 1px solid #d2d2d7;
    display: inline-block;
    margin: 0 20px;
    vertical-align: middle; }
  .hr--text-rule::before {
    width: 5%; }
  .hr--text-rule::after {
    width: 100%; }

/* Table of Contents - Styles for the Hover Tiles Component
  1) Hover Tiles Container
  2) Hover Tile Container
*/
.hover-tiles__container {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: center; }

.hover-tile__container {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: stretch;
  margin-top: 0; }
  .hover-tile__container.grid-cols-width {
    --grid-cols-width: 10; }
  .hover-tile__container.grid-rows-padding {
    --grid-rows-padding-top: 0;
    --grid-rows-padding-bottom: 1; }

.hs-form {
  background-color: #fff; }
  .hs-form .hs-form-required {
    display: none; }
  .hs-form .hs-fieldtype-text {
    padding: 0; }
  .hs-form .actions {
    font-family: "Avenir Next", "Helvetica Neue", Helvetica, Arial, sans-serif;
    display: flex;
    justify-content: flex-end;
    width: 100%;
    align-items: center; }
  .hs-form .hs-error-msgs {
    font-family: "Avenir Next", "Helvetica Neue", Helvetica, Arial, sans-serif;
    color: #d73232;
    list-style-type: none;
    padding-left: 0;
    margin-top: 5px;
    margin-top: 0.3125rem; }
  .hs-form input[type=text], .hs-form input[type=email], .hs-form input[type=tel] {
    font-family: "Avenir Next", "Helvetica Neue", Helvetica, Arial, sans-serif;
    height: 42px;
    height: 2.625rem;
    border: solid 1px #d1d1d7;
    border: solid 0.0625rem #d1d1d7;
    border-radius: 0.125rem;
    font-size: 14px;
    font-size: 0.875rem;
    font-weight: 500;
    font-family: "Avenir Next";
    width: 100%; }
    .hs-form input[type=text]::placeholder, .hs-form input[type=email]::placeholder, .hs-form input[type=tel]::placeholder {
      color: #6f6f6f; }
  .hs-form input[type=submit] {
    font-family: "Avenir Next", "Helvetica Neue", Helvetica, Arial, sans-serif;
    font-size: 14px;
    font-size: 0.875rem;
    width: 100%;
    height: 42px;
    height: 2.625rem;
    border-radius: 0.25rem;
    background-color: #333333;
    color: #fff;
    padding: 0;
    margin-top: 14px;
    margin-top: 0.875rem; }
    .hs-form input[type=submit]:hover {
      cursor: pointer; }

/* Table of Contents - Styles for Ideas Set Display Components
  1) Display Containers
  2) Headline
  3) More Button
  4) Latest Separators
  5) Banded Section Customization
*/
.page__theme--ideas .filter__headline.hero__headline,
.page__theme--ideas .ideas-set__headline.hero__headline {
  font-family: "Avenir Next", "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: 49px;
  font-size: 3.0625rem;
  font-weight: 600;
  line-height: 56px;
  line-height: 3.5rem;
  padding: 0;
  position: relative;
  display: block;
  width: 100%;
  color: #333333; }
  .page__theme--ideas .filter__headline.hero__headline::after,
  .page__theme--ideas .ideas-set__headline.hero__headline::after {
    content: "";
    display: block;
    width: 80px;
    width: 5rem;
    height: 5px;
    height: 0.3125rem;
    background: #1bd9c4;
    position: absolute;
    top: -16px;
    top: -1rem; }

.page__theme--ideas .gradient-light {
  margin-top: 0; }

.ideas-set__title__page-section-content {
  --grid-rows-padding-top: 3;
  --grid-rows-margin-bottom: 1; }

.ideas-set__heading__page-section-content {
  --grid-rows-margin-bottom: 1;
  --grid-cols-width: 10; }

.ideas-set__articles__page-section-content {
  --grid-cols-width: 10;
  --grid-rows-margin-bottom: 2; }
  .ideas-set__articles__page-section-content .content-object__summary-time {
    font-weight: 500; }
  .ideas-set__articles__page-section-content .content-object__summary-description--article.body-type {
    font-size: 16px;
    font-size: 1rem;
    font-weight: 400;
    line-height: 21px;
    line-height: 1.3125rem; }
  .ideas-set__articles__page-section-content .content-object__summary-headline--article-1 {
    font-size: 24px;
    font-size: 1.5rem;
    font-weight: 500;
    line-height: 28px;
    line-height: 1.75rem; }
  .ideas-set__articles__page-section-content .content-object__summary-headline--article-2 {
    font-size: 16px;
    font-size: 1rem;
    font-weight: 600;
    line-height: 20px;
    line-height: 1.25rem; }

.ideas-set__headline.headline__h1 {
  padding: 0;
  margin: 0; }

.ideas-set-display__container {
  display: flex;
  flex-direction: column;
  align-items: center; }

.ideas-set-display__link {
  font-family: "Avenir Next", "Helvetica Neue", Helvetica, Arial, sans-serif;
  color: #1c77c3;
  line-height: 1.75;
  background-color: transparent;
  margin-top: 10px;
  margin-top: 0.625rem; }
  .ideas-set-display__link:hover, .ideas-set-display__link:focus {
    color: #1bd9c4;
    text-decoration: underline; }

.ideas-set__categories__page-section-content {
  --grid-cols-width: 10; }

.ideas-set__button__page-section-content {
  --grid-rows-margin-bottom: 3;
  --grid-rows-padding-bottom: 1; }

.ideas-set__more-button {
  margin: -40px;
  margin: -2.5rem;
  padding: 16px 40px;
  padding: 1rem 2.5rem; }

.ideas-set__latest-bar--top {
  margin-top: 30px;
  margin-top: 1.875rem;
  margin-bottom: -10px;
  margin-bottom: -0.625rem;
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-family: "Avenir Next", "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: 15px;
  font-size: 0.9375rem;
  font-weight: 600;
  text-transform: uppercase;
  display: flex;
  letter-spacing: 1.29px; }
  .ideas-set__latest-bar--top::before {
    content: '';
    margin-left: 10px;
    margin-left: 0.625rem;
    order: 2;
    width: 75%; }

.ideas-set__latest-bar--bottom {
  display: block;
  margin-top: 30px;
  margin-top: 1.875rem;
  width: 100%; }

.ideas-set__latest-bar--top::before, .ideas-set__latest-bar--bottom {
  background: #223547;
  height: 2px; }

.banded-section__ideas-set {
  margin-bottom: 20px;
  margin-bottom: 1.25rem; }

/* Table of Contents - Styles for the Image Carousel Component
  1) Image Animation
  2) Slide Link
  3) Slide Link Container
*/
.image-carousel__image-animation {
  animation: fadeInOut 5s linear infinite; }

.image-carousel__slide-link {
  background: transparent;
  color: #707070;
  padding: 0;
  margin: 0;
  outline: 0;
  margin-right: 8px;
  margin-right: 0.5rem; }
  .image-carousel__slide-link--selected, .image-carousel__slide-link:hover, .image-carousel__slide-link:focus {
    color: #223547;
    text-decoration: underline; }
  .image-carousel__slide-link-container {
    text-align: center; }

/* Table of Contents - Styles for the Introduction Component */
.introduction__container {
  text-align: center;
  margin-left: auto;
  margin-right: auto;
  position: relative;
  min-width: 16.26%;
  height: 208px;
  height: 13rem;
  min-height: 208px;
  min-height: 13rem;
  max-width: 588px;
  max-width: 36.75rem;
  display: flex;
  justify-content: center;
  flex-direction: column;
  font-size: 30px;
  font-size: 1.875rem;
  line-height: 1.6;
  text-align: center;
  height: auto; }
  .introduction__container::before {
    content: '';
    background-image: url("/img/title-badge-bland.svg");
    background-repeat: no-repeat;
    background-position: center;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    position: absolute;
    opacity: 0.22798;
    margin: -5%; }
  .introduction__container > .introduction__content {
    position: relative;
    z-index: 1; }

/* Table of Contents - Styles for Job Listing Tabs
   1) Badge
   2) Tab section
   3) Tabs list
   4) Tab
   5) Tab list item
   6) Tab panel
   7) Benefits Link
*/
.job-listing__badge {
  margin-top: 0;
  color: #fff;
  font-size: 14px;
  font-size: 0.875rem;
  font-weight: 500;
  justify-content: center;
  align-items: center;
  display: inline-flex;
  letter-spacing: -0.6px;
  height: 25px;
  height: 1.5625rem;
  width: 25px;
  width: 1.5625rem;
  border-radius: 50%;
  background: #9a9a9a; }
  .job-listing__badge--active {
    background: #1c77c3; }

.job-listing__tabs__page-section-content {
  --grid-cols-width: 10;
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  align-items: center;
  justify-content: center; }

.job-listing__tabs-left-arrow {
  display: none;
  position: absolute;
  left: -10%; }
  .job-listing__tabs-left-arrow.active {
    display: inline-block; }

.job-listing__tabs-right-arrow {
  display: none;
  margin-top: 0;
  position: absolute;
  right: -10%; }
  .job-listing__tabs-right-arrow.active {
    display: inline-block; }

.job-listing__tabs-list {
  padding-left: 0;
  display: flex;
  flex-direction: row;
  list-style: none;
  order: 2;
  display: flex;
  justify-content: space-between;
  --grid-cols-width: 12;
  overflow-x: scroll;
  scrollbar-width: none;
  margin-top: 0; }
  .job-listing__tabs-list::-webkit-scrollbar {
    display: none; }
  .job-listing__tabs-list__gradient {
    position: absolute;
    z-index: 3;
    width: 3.75%;
    height: 100%;
    display: flex;
    pointer-events: none; }
    .job-listing__tabs-list__gradient.left {
      background-image: linear-gradient(to right, #fff, rgba(255, 255, 255, 0));
      display: none; }
      .job-listing__tabs-list__gradient.left.active {
        display: inline-block; }
    .job-listing__tabs-list__gradient.right {
      margin-top: 0;
      right: 0;
      background-image: linear-gradient(to left, #fff, rgba(255, 255, 255, 0));
      display: none; }
      .job-listing__tabs-list__gradient.right.active {
        display: inline-block; }

.job-listing__tab {
  background: #fff;
  position: relative;
  padding: 0;
  margin: 14px 0px;
  margin: 0.875rem 0rem;
  width: 100%;
  color: #9a9a9a; }
  .job-listing__tab--active {
    z-index: 2;
    color: #223547; }
  .job-listing__tab-item {
    padding-left: 0;
    margin-top: 0;
    flex-grow: 1;
    white-space: nowrap; }
    .job-listing__tab-item + .job-listing__tab-item {
      margin-left: 40px;
      margin-left: 2.5rem; }
    .job-listing__tab-item--active {
      border-bottom: solid 3px #1bd9c4;
      border-bottom: solid 0.1875rem #1bd9c4;
      border-radius: 0.0625rem; }
  .job-listing__tab-panel {
    margin-top: 0; }
    .job-listing__tab-panel--hidden {
      display: none; }

.job-listing__benefits-link {
  margin: -10px auto 20px;
  margin: -0.625rem auto 1.25rem;
  order: 1; }

/* Table of Contents - Styles for the Job Search Form Component
  1) Margin Reset
  2) Form
  3) Input
  4) Select
  5) Search Button
*/
.job-search {
  /* Specificity needed to get around global button styles */
  /* - */ }
  .job-search__form, .job-search__select, .job-search__button {
    margin-top: 0; }
  .job-search__form {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: space-between; }
  .job-search__input {
    --grid-cols-width: 10;
    --grid-container-cols-width: 10;
    height: 48px;
    height: 3rem;
    box-shadow: 0 0 0 0.0625rem #223547;
    border: none;
    border-radius: 0.125rem;
    font-weight: 500;
    font-family: "Avenir Next";
    margin-bottom: 22px;
    margin-bottom: 1.375rem; }
    .job-search__input::placeholder {
      color: #9a9a9a; }
    .job-search__input:focus {
      box-shadow: 0 0 0 0.125rem #1c77c3; }
  .job-search__select {
    margin-bottom: 22px;
    margin-bottom: 1.375rem; }
  .job-search__button {
    font-family: inherit; }
    .job-search__button.button {
      --grid-cols-width: 10;
      --grid-container-cols-width: 10;
      background-color: #333333;
      box-shadow: 0 0.625rem 1.25rem 0 rgba(0, 0, 0, 0.1);
      padding: 16px 0;
      padding: 1rem 0;
      font-size: 13px;
      font-size: 0.8125rem; }

/* Table of Contents - Styles for Job Search Select Component
  A) Local Variables
  1) Margin Reset
  2) Container
  3) Panel
    3A) Label Badge
  4) Button
    4-A) Button Chevron
  5) Menu
    5-A) Menu Item
*/
.job-search-select__container, .job-search-select__panel, .job-search-select__button, .job-search-select__button-chevron, .job-search-select__menu, .job-search-select__menu-item {
  margin-top: 0; }

.job-search-select__container {
  display: inline-block;
  position: relative;
  height: 45px;
  height: 2.8125rem;
  --grid-cols-width: 10;
  --grid-container-cols-width: 10; }

.job-search-select__panel {
  font-family: "Avenir Next", "Helvetica Neue", Helvetica, Arial, sans-serif;
  color: #223547;
  font-size: 16px;
  font-size: 1rem;
  font-weight: 500;
  position: absolute;
  top: 0;
  left: 0;
  letter-spacing: 1px;
  letter-spacing: 0.0625rem;
  background: #fff;
  width: 100%;
  box-shadow: 0 0 0 0.0625rem #223547;
  border-radius: 0.125rem;
  transition: box-shadow 0.1s ease; }
  .job-search-select__panel--focused, .job-search-select__panel--open {
    box-shadow: 0 0 0 0.125rem #1c77c3; }
  .job-search-select__panel--open {
    box-shadow: 0 0 0 0.125rem #1c77c3, 0 0.75rem 1.5rem 0 rgba(0, 0, 0, 0.1);
    z-index: 5; }
  .job-search-select__panel-text {
    white-space: nowrap;
    text-overflow: ellipsis;
    overflow-x: hidden; }
  .job-search-select__panel .job-listing__badge {
    margin-left: 8px;
    margin-left: 0.5rem; }

.job-search-select__button {
  color: #223547;
  font-size: 16px;
  font-size: 1rem;
  font-weight: 600;
  display: flex;
  flex-direction: row;
  align-items: center;
  padding: 0 15px 0 24px;
  padding: 0 0.9375rem 0 1.5rem;
  justify-content: space-between;
  letter-spacing: 1px;
  letter-spacing: 0.0625rem;
  outline: none;
  background: none;
  height: 45px;
  height: 2.8125rem;
  width: 100%;
  font-family: inherit; }
  .job-search-select__button--open {
    cursor: default; }
  .job-search-select__button-chevron--open {
    transform: rotate(180deg); }

.job-search-select__menu {
  list-style: none;
  padding: 0; }
  .job-search-select__menu-item {
    padding-right: 24px;
    padding-right: 1.5rem;
    padding-left: 24px;
    padding-left: 1.5rem;
    cursor: pointer;
    height: 45px;
    height: 2.8125rem;
    line-height: 45px;
    line-height: 2.8125rem;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis; }
    .job-search-select__menu-item--selected {
      color: #1c77c3; }
    .job-search-select__menu-item--highlighted {
      background: #f0f0f4; }

/* Tabel of Contents - Styles for the Loading Component */
.loading {
  box-sizing: border-box;
  display: block;
  height: 100vh;
  min-height: 64px;
  min-height: 4rem;
  min-width: 64px;
  min-width: 4rem;
  padding: 32px;
  padding: 2rem;
  position: relative;
  text-indent: -10000px;
  text-indent: -625rem;
  width: 100vw; }
  .loading::after {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    animation: rotate 0.8s infinite linear;
    border: 8px solid #9b9b9b;
    border: 0.5rem solid #9b9b9b;
    border-radius: 50%;
    border-right-color: transparent;
    height: 32px;
    height: 2rem;
    margin: -32px 0 0 -32px;
    margin: -2rem 0 0 -2rem;
    width: 32px;
    width: 2rem; }

.marketing__summary__page-section-content {
  --grid-cols-width: 10;
  --grid-rows-margin-top: 2; }

.marketing__summary-padded__page-section-content {
  --grid-rows-margin-top: 5; }

.marketing__summary-text {
  font-size: 16px;
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.75;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale; }

.marketing__cta-button {
  margin-top: 28px;
  margin-top: 1.75rem;
  width: 100%;
  border: 3px solid #333333;
  border: 0.1875rem solid #333333; }
  .marketing__cta-button a {
    color: #333333;
    text-transform: none;
    letter-spacing: normal; }

.marketing__subheadline {
  font-size: 28px;
  font-size: 1.75rem;
  font-weight: 600;
  line-height: 1.25; }
  .marketing__subheadline__page-section-content {
    --grid-cols-width: 10;
    --grid-rows-margin-top: 4; }

.marketing__markdown-content {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale; }
  .marketing__markdown-content__page-section-content {
    --grid-cols-width: 10;
    --grid-rows-margin-top: 1; }
  .marketing__markdown-content p + p {
    margin-top: 28px;
    margin-top: 1.75rem; }
  .marketing__markdown-content li {
    margin-top: 0;
    padding-left: 9px;
    padding-left: 0.5625rem; }

.marketing__form__page-section-content {
  --grid-cols-width: 10;
  --grid-rows-margin-top: 2; }

.marketing__page-bottom {
  --grid-rows-padding-bottom: 4; }

.marketing-hero__container {
  --grid-cols-width: 10;
  position: relative;
  margin-bottom: 56px;
  margin-bottom: 3.5rem;
  background-position: bottom right !important; }

.marketing-hero__content {
  --grid-cols-width: 10;
  --grid-rows-padding-top: 3;
  --grid-rows-padding-bottom: 2;
  position: relative;
  margin-left: auto;
  margin-right: auto;
  z-index: 2; }
  .marketing-hero__content--logo {
    width: 42px;
    width: 2.625rem; }
  .marketing-hero__content--tagline-darkthemefalse {
    -webkit-font-smoothing: antialiased;
    color: #fff;
    text-transform: uppercase;
    margin-top: 0;
    font-size: 14px;
    font-size: 0.875rem;
    font-weight: 400;
    line-height: 1.43;
    letter-spacing: 1.4px;
    letter-spacing: 0.0875rem; }
  .marketing-hero__content--tagline-darkthemetrue {
    -webkit-font-smoothing: antialiased;
    color: #223547;
    text-transform: uppercase;
    margin-top: 0;
    font-size: 14px;
    font-size: 0.875rem;
    font-weight: 400;
    line-height: 1.43;
    letter-spacing: 1.4px;
    letter-spacing: 0.0875rem; }
  .marketing-hero__content--name-darkthemefalse {
    font-size: 38px;
    font-size: 2.375rem;
    font-weight: 600;
    line-height: 1.29;
    color: #fff;
    -webkit-font-smoothing: antialiased;
    margin-top: 28px;
    margin-top: 1.75rem; }
  .marketing-hero__content--name-darkthemetrue {
    -webkit-font-smoothing: antialiased;
    font-size: 38px;
    font-size: 2.375rem;
    font-weight: 600;
    line-height: 1.29;
    color: #223547;
    margin-top: 28px;
    margin-top: 1.75rem; }
  .marketing-hero__content--subtitle-darkthemefalse {
    font-size: 16px;
    font-size: 1rem;
    font-weight: 500;
    line-height: 1.5;
    color: #fff;
    padding-top: 0px;
    padding-top: 0rem;
    -webkit-font-smoothing: antialiased; }
  .marketing-hero__content--subtitle-darkthemetrue {
    font-size: 16px;
    font-size: 1rem;
    font-weight: 500;
    line-height: 1.5;
    color: #223547;
    padding-top: 0px;
    padding-top: 0rem; }
  .marketing-hero__content--iconImages {
    user-drag: none;
    user-select: none;
    -moz-user-select: none;
    -webkit-user-drag: none;
    -webkit-user-select: none;
    -ms-user-select: none; }

.marketing-hero__media {
  --grid-cols-width: 10;
  position: absolute;
  transform: translateX(-50%);
  left: 50%;
  bottom: 0;
  height: 100%;
  z-index: 1; }
  .marketing-hero__media--image {
    position: absolute;
    display: none;
    max-width: 60%;
    width: auto;
    height: auto;
    left: 20%;
    bottom: -45%;
    user-drag: none;
    user-select: none;
    -moz-user-select: none;
    -webkit-user-drag: none;
    -webkit-user-select: none;
    -ms-user-select: none; }
  .marketing-hero__media--mobileImage {
    position: absolute;
    display: block;
    max-height: 40%;
    width: auto;
    height: auto;
    bottom: -25%;
    user-drag: none;
    user-select: none;
    -moz-user-select: none;
    -webkit-user-drag: none;
    -webkit-user-select: none;
    -ms-user-select: none; }

.marketing-hero__bottom-edge--curve {
  display: block;
  width: 100%;
  margin: 0;
  user-drag: none;
  user-select: none;
  -moz-user-select: none;
  -webkit-user-drag: none;
  -webkit-user-select: none;
  -ms-user-select: none; }

/* Table of Contents - Styles for the Newsletter Form
  A) Variables
  1) Subscriptions Area
  2) Form
  3) Controls Area
  4) Button
  5) Input
  6) Confirmation Area
*/
.newsletter {
  /* Specificity needed to get around global button styles */
  /* - */ }
  .newsletter__subscription-container {
    color: #333333;
    --grid-cols-width: 8;
    margin: 0 auto;
    /* We need nesting here because of loading component */
    /* - */ }
    .newsletter__subscription-container .loading {
      height: 100%;
      width: 100%; }
  .newsletter__subscription-header {
    margin-top: 10px;
    margin-top: 0.625rem;
    margin-bottom: 0; }
  .newsletter__subscription-cta {
    margin-top: 15px;
    margin-top: 0.9375rem; }
  .newsletter__form {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    padding-bottom: 32px;
    padding-bottom: 2rem;
    padding-top: 32px;
    padding-top: 2rem; }
  .newsletter__controls {
    margin-top: 25px;
    margin-top: 1.5625rem;
    margin-bottom: 32px;
    margin-bottom: 2rem;
    display: flex;
    flex-direction: column;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-grow: 1;
    max-width: 492px;
    max-width: 30.75rem;
    transition: none;
    width: 100%; }
    .newsletter__controls--asking-first {
      justify-content: space-between; }
    .newsletter__controls-container {
      display: flex;
      justify-content: center;
      flex-flow: row wrap;
      width: 100%; }
  .newsletter__button.button {
    margin: 0;
    margin-bottom: 32px;
    margin-bottom: 2rem;
    background-color: #333333;
    --grid-cols-width: 8;
    --grid-container-cols-width: 8; }
    .newsletter__button.button:focus, .newsletter__button.button:hover {
      transform: none; }
  .newsletter__button--asking-first.button {
    white-space: pre; }
  .newsletter__input {
    background-color: #fff;
    border: solid 1px #333333;
    border-radius: 0.25rem;
    color: #979799;
    letter-spacing: 1px;
    padding: 20px;
    padding: 1.25rem;
    width: 100%;
    --grid-cols-width: 12; }
    .newsletter__input::placeholder {
      color: #979799; }
  .newsletter__confirmation-container {
    text-align: center; }
  .newsletter__confirmation-text {
    color: #979799;
    margin: 20px 0 15px 0;
    margin: 1.25rem 0 0.9375rem 0; }
  .newsletter__confirmation-checkmark {
    margin-top: 0; }

.accelo-form {
  background: #f9f9f9; }

.next-project__page-section-content {
  --grid-rows-padding-top: 2;
  --grid-rows-padding-bottom: 0;
  --grid-cols-width: 10;
  --grid-container-cols-width: 10;
  max-height: 772px;
  max-height: 48.25rem; }

.next-project__container {
  display: flex;
  flex-direction: column; }
  .next-project__container * + * {
    margin: 0; }

.next-project__image:hover {
  cursor: pointer; }

.next-project__image.grid-cols-width {
  --grid-cols-width: 10; }

.next-project__image.grid-rows-padding {
  --grid-rows-padding-top: 0;
  --grid-rows-padding-bottom: 3; }

.next-project__image img {
  display: block;
  margin: 0 auto; }

.next-project__next {
  align-items: center;
  display: flex;
  justify-content: left; }
  .next-project__next.grid-rows-padding {
    --grid-rows-padding-top: 0;
    --grid-rows-padding-bottom: 1; }
  .next-project__next.grid-cols-width {
    --grid-cols-width: 10; }
  .next-project__next__link {
    color: #333333;
    -webkit-font-smoothing: antialiased; }
    .next-project__next__link-box {
      display: flex;
      margin-bottom: 24px;
      margin-bottom: 1.5rem; }
    .next-project__next__link-title {
      font-size: 28px;
      font-size: 1.75rem;
      font-weight: 600;
      line-height: 42px;
      line-height: 2.625rem; }
    .next-project__next__link-label {
      font-size: 22px;
      font-size: 1.375rem;
      font-weight: 500;
      line-height: 35px;
      line-height: 2.1875rem;
      margin-right: 10px;
      margin-right: 0.625rem; }
    .next-project__next__link-arrow {
      margin: auto 0; }

/* Table of Contents - Styles for Global Footer
   1) Locations Container
    1-A) Addresses
*/
.offices {
  font-size: 14px;
  font-size: 0.875rem;
  font-weight: 500;
  padding: 32px 5% 45px;
  padding: 2rem 5% 2.8125rem; }
  .offices::after {
    content: "";
    display: table;
    clear: both; }
  .offices__page-section-content {
    --grid-rows-padding-top: 2;
    --grid-rows-padding-bottom: 1; }
    .offices__page-section-content .address .h4 {
      font-family: "Avenir Next", "Helvetica Neue", Helvetica, Arial, sans-serif;
      font-size: 28px;
      font-size: 1.75rem;
      font-weight: 600;
      line-height: 42px;
      line-height: 2.625rem;
      padding-bottom: 14px;
      padding-bottom: 0.875rem; }
  .offices__locations {
    display: flex;
    justify-content: center;
    margin-top: 40px;
    margin-top: 2.5rem; }
  .offices__addresses {
    display: flex;
    flex-direction: column;
    flex-wrap: wrap;
    justify-content: flex-start;
    list-style: none;
    list-style-position: outside;
    padding-left: 0;
    width: 100%; }
    .offices__addresses li {
      padding-left: 0; }

/* Table of Contents - Styles for the Page Container component */
.page__container {
  position: relative;
  width: 100%;
  border-top: 1px solid transparent;
  margin-top: -1px; }

.press-and-analyst__page-section-content {
  --grid-cols-width: 10;
  --grid-rows-padding-top: 1;
  --grid-rows-padding-bottom: 1; }

.press-and-analyst__more-coverage-button {
  display: block;
  margin-left: auto;
  margin-right: auto;
  --grid-rows-margin-top: 3; }

/* Table of Contents - Styles for the Profile Component
  1) Profile
  2) Link Text
  3) Author Text
  4) List
  5) List Item
  6) Media
    6-A) Overlay
    6-B) Item
    6-C) Body
    6-D) Link
    6-E) Valign
  7) Image
  8) Bio
  9) Social
    9-A) List
    9-B) Item
    9-C) Link
    9-D) CTA
  10) Note
  11) Name
  12) Footer
*/
.profile {
  position: relative; }
  .profile__link-text {
    color: #223547; }
  .profile__author-text {
    margin-top: 0; }
  .profile__list {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: flex-start;
    list-style: none;
    list-style-position: outside;
    padding-left: 0; }
    .profile__list li {
      padding-left: 0; }
    .profile__list:nth-of-type(n + 2) {
      margin-top: 0; }
    .profile__list-item {
      flex-basis: 50%; }
      .profile__list-item--hidden {
        visibility: hidden; }
      .profile__list-item--article {
        flex-basis: 100%;
        margin-bottom: 30px;
        margin-bottom: 1.875rem;
        /* Duplicate properties needed to override medium breakpoint above */
        /* - */ }
  .profile__media {
    overflow: hidden; }
    .profile__media-item--valign {
      display: table-cell;
      vertical-align: top; }
    .profile__media-body {
      padding-top: 5px;
      padding-top: 0.3125rem;
      margin-top: 0; }
      .profile__media-body--columned {
        padding-top: 0;
        padding-left: 18px;
        padding-left: 1.125rem;
        display: table-cell;
        vertical-align: middle; }
      .profile__media-body--footer {
        display: flex;
        align-items: center; }
    .profile__media-link {
      position: absolute;
      top: 0;
      left: 0;
      z-index: 3;
      height: 100%;
      margin-top: 0;
      opacity: 0;
      padding: 0;
      transition: 0.25s ease-in-out all; }
      .profile__media-link:hover {
        transform: translateY(-units(2)); }
    .profile__media--valign {
      display: table; }
  .profile__image {
    /* We need nesting here because of the image component */
    /* - */ }
    .profile__image .image {
      border-radius: 3px; }
    .profile__image--circle .image {
      border-radius: 50%; }
  .profile__bio {
    color: #223547;
    font-size: 14px;
    font-size: 0.875rem;
    font-weight: 500;
    padding-top: 10px;
    padding-top: 0.625rem;
    padding-left: 18px;
    padding-left: 1.125rem;
    margin-top: 0; }
  .profile__social-list {
    list-style: none;
    list-style-position: outside;
    padding-left: 0;
    line-height: 1;
    margin-top: 0;
    text-align: center; }
    .profile__social-list li {
      padding-left: 0; }
    .profile__social-list-item {
      margin-right: 8px;
      margin-right: 0.5rem;
      margin-left: 15px;
      margin-left: 0.9375rem;
      display: inline-block;
      vertical-align: middle; }
      .profile__social-list-item:nth-of-type(n + 2) {
        margin-top: 0; }
  .profile__social-link {
    display: block; }
    .profile__social-link--github::before {
      content: url(/img/icn-github-black.svg);
      display: inline-block;
      vertical-align: middle; }
    .profile__social-link--google::before {
      content: url(/img/icn-google-black.svg);
      display: inline-block;
      vertical-align: middle; }
    .profile__social-link--twitter::before {
      content: url(/img/icn-twitter-black.svg);
      display: inline-block;
      vertical-align: middle; }
    .profile__social-link--linkedin::before {
      content: url(/img/icn-linkedin-black.svg);
      display: inline-block;
      vertical-align: middle; }
    .profile__social-link--dribbble::before {
      content: url(/img/icn-dribbble-black.svg);
      display: inline-block;
      vertical-align: middle; }
  .profile__social-cta {
    position: absolute;
    left: -10000px;
    left: -625rem;
    top: auto;
    width: 1px;
    height: 1px;
    overflow: hidden; }
  .profile__note {
    font-size: 14px;
    font-weight: 500; }
    .profile__note-summary, .profile__note-detail {
      margin-top: 0; }
  .profile__name {
    font-weight: 500; }
  .profile__footer {
    display: flex;
    align-items: flex-start;
    flex-basis: 45%; }

.project-detail__page-section-content {
  --grid-rows-padding-top: 2;
  --grid-rows-padding-bottom: 2;
  --grid-cols-width: 10; }

.project-detail__title {
  font-family: "Avenir Next", "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: 28px;
  font-size: 1.75rem;
  font-weight: 600;
  line-height: 42px;
  line-height: 2.625rem;
  margin-bottom: 28px;
  margin-bottom: 1.75rem; }

.project-detail__paragraph {
  margin: 0 auto;
  font-family: "Avenir Next", "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: 16px;
  font-size: 1rem;
  font-weight: 600;
  line-height: 28px;
  line-height: 1.75rem;
  font-weight: 500;
  line-height: 1.75;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale; }

.project-detail__image {
  padding-top: 56px;
  padding-top: 3.5rem; }

.project-statistics__page-section-content {
  --grid-rows-padding-top: 2;
  --grid-rows-padding-bottom: 2; }
  .project-statistics__page-section-content.two-stats {
    --grid-cols-width: 10;
    --grid-container-cols-width: 10; }

.statistics-container {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  flex-direction: column; }
  .statistics-container .statistics-box + .statistics-box {
    padding-top: 84px;
    padding-top: 5.25rem; }
  .statistics-container.two-stats {
    justify-content: space-between; }
  .statistics-container.three-stats {
    justify-content: space-between; }
  .statistics-container * {
    margin: 0; }

.statistics-box {
  display: flex;
  font-family: "Avenir Next", "Helvetica Neue", Helvetica, Arial, sans-serif;
  flex-direction: column;
  text-align: center; }
  .statistics-box.grid-cols-width {
    --grid-cols-width: 10; }

.statistics-value {
  font-size: 58px;
  font-size: 3.625rem;
  font-weight: bold;
  line-height: 56px;
  line-height: 3.5rem;
  padding-bottom: 14px;
  padding-bottom: 0.875rem;
  -webkit-font-smoothing: antialiased; }

.statistics-description {
  color: #333333;
  -webkit-font-smoothing: antialiased;
  font-size: 16px;
  font-size: 1rem;
  font-weight: 600;
  line-height: 1.5; }

/* Table of Contents - Styles for Promo Section Component
  1) Promo Section
  2) Content
  3) Image
  4) Description
  5) Summary
    5-A) Headline
    5-B) Link
*/
.promo {
  /* Specificity needed to override global section styles */
  /* - */
  /* We need nesting here because of the image component */
  /* - */ }
  .promo__section.section__theme--grey {
    background-color: #fff; }
    .promo__section.section__theme--grey:nth-of-type(n + 2) {
      margin: 20px 0;
      margin: 1.25rem 0; }
  .promo__content {
    display: flex;
    transition: all 0.3s ease;
    margin: 0;
    justify-content: space-between;
    --grid-rows-padding-top: 0;
    --grid-rows-padding-bottom: 0;
    --grid-container-cols-width: 10; }
  .promo__image {
    display: none; }
    .promo__image.grid-cols-width {
      --grid-cols-width: 4;
      --grid-container-cols-width: 12; }
  .promo__description {
    align-self: center;
    margin: 0;
    --grid-cols-width: 10;
    --grid-container-cols-width: 10; }
    .promo__description .image-container .image {
      object-fit: scale-down;
      max-height: 150px; }
  .promo__summary {
    /* Specificity needed to get around global header styles */
    /* - */ }
    .promo__summary-container {
      max-width: 100%; }
    .promo__summary-headline.header-two {
      line-height: 1.25;
      margin-top: 0; }
    .promo__summary-link {
      font-size: 18px;
      font-size: 1.125rem; }

/* Table of Contents - Styles for the Quote Rotator Component
  1) Quote
    1-A) Quote Text
    1-B) Quote Source
    1-C) Underlined Quotes
    1-D) Quote Arrows
    1-E) Glassdoor Quotes
    1-F) Quote Atrribution
    1-G) Animated Progress Bar
  2) Quote Rotator
    2-A) Container
    2-B) Quote List
    2-C) List Item
    2-D) Side Quotes
*/
.quote, .quote__prefix {
  color: #223547;
  line-height: 1.27;
  font-style: normal; }

.quote__text {
  position: relative;
  z-index: 2; }

.quote__source {
  margin-bottom: 14px;
  margin-bottom: 0.875rem; }

.quote--underline {
  border-bottom-width: 2px;
  border-bottom-width: 0.125rem;
  border-bottom-style: solid;
  border-bottom-color: #d9d7c4; }

.quote__arrow {
  background: transparent;
  padding: 0;
  margin: 0;
  outline: 0; }
  .quote__arrow:nth-of-type(2) {
    margin-left: 18px;
    margin-left: 1.125rem; }

.quote__glassdoor-link {
  display: block;
  margin-top: 14px;
  margin-top: 0.875rem;
  width: 200px;
  width: 12.5rem; }

.quote__glassdoor-badge {
  width: 100%; }

.quote__attribution {
  color: #707070;
  margin-top: 14px;
  margin-top: 0.875rem;
  white-space: nowrap; }

.quote__progress-bar {
  animation-name: progress;
  animation-duration: 3s;
  /* get overriden inline in app/components/QuoteRotator.js */
  animation-delay: 0s;
  animation-iteration-count: infinite;
  animation-timing-function: linear;
  background-size: 200% auto;
  background-position: 0% 0;
  background-image: linear-gradient(to left, #efefef 50%, #1c77c3 50%);
  border-radius: 0.25rem;
  display: block;
  height: 4px;
  height: 0.25rem;
  width: 64px;
  width: 4rem; }

.quote-rotator {
  font-size: 22px;
  font-size: 1.375rem;
  margin-top: 14px;
  margin-top: 0.875rem;
  text-align: left; }
  .quote-rotator__page-section-content {
    --grid-rows-padding-top: 1;
    --grid-rows-padding-bottom: 1;
    --grid-cols-width: 12; }
  .quote-rotator__container {
    max-width: 560px;
    max-width: 35rem;
    overflow: hidden;
    position: relative; }
  .quote-rotator__list {
    list-style: none;
    list-style-position: outside;
    padding-left: 0;
    display: flex;
    justify-content: center;
    align-items: center;
    overflow: hidden; }
    .quote-rotator__list li {
      padding-left: 0; }
    .quote-rotator__list-item {
      margin-top: 0;
      margin-bottom: 0;
      width: 85%; }
      .quote-rotator__list-item--animated {
        animation: fadeInOut;
        animation-delay: 0s;
        animation-iteration-count: infinite;
        animation-timing-function: linear; }
  .quote-rotator--left, .quote-rotator--right {
    display: none; }

/* Table of Contents - Styles for the Sectino Component
  A) Local Variables
  B) Local Mixin
  1) Content
    1-A) Widths
  2) Paddings
  3) Themes
*/
.section:nth-of-type(n + 2) {
  margin-top: 0; }

.section__content {
  margin-right: auto;
  margin-left: auto;
  max-width: 1470px;
  max-width: 91.875rem;
  width: 90%; }
  .section__content::after {
    content: "";
    display: table;
    clear: both; }
  .section__content--width-100 {
    max-width: none;
    width: 100%; }
  .section__content--width-44 {
    max-width: 700px;
    max-width: 43.75rem; }

.section--padding-xs {
  padding-top: 30px;
  padding-top: 1.875rem;
  padding-bottom: 30px;
  padding-bottom: 1.875rem; }

.section--padding-s {
  padding-top: 27px;
  padding-top: 1.6875rem;
  padding-bottom: 27px;
  padding-bottom: 1.6875rem; }

.section--padding-m {
  padding-top: 45px;
  padding-top: 2.8125rem;
  padding-bottom: 45px;
  padding-bottom: 2.8125rem; }

.section--padding-l {
  padding-top: 52px;
  padding-top: 3.25rem;
  padding-bottom: 52px;
  padding-bottom: 3.25rem; }

.section--padding-none {
  padding-top: 0;
  padding-bottom: 0; }

.section--no-top-padding {
  padding-top: 0; }

.section--no-bottom-padding {
  padding-bottom: 0; }

.section__theme--dark {
  background: #252525;
  color: #fff; }

.section__theme--grey {
  background: #f8f8f8;
  color: #223547; }

.section__theme--light {
  background: #fff;
  color: #223547; }

.section__theme--teal {
  background: #529da8;
  color: #fff; }

.section__theme--blue {
  background: #4357ad;
  color: #fff; }

.section__theme--transparent {
  background: none; }

.section__theme--dark-green-blue {
  background: #124a55;
  color: #fff; }

.section__theme--medium-grey {
  background: #f4f4f4;
  color: #223547; }

/* Table of Contents - Styles for the Service Card Component
  1) Global grid overrides
  2) Service Cards
    2-A) Link
    2-B) Subtitle
    2-C) Chevron
  3) Service Card
    3-A) Link
    3-B) Headline
    3-C) Section
    3-D) Divider
    3-E) CTA
*/
.grid--service-cards {
  margin-top: 0;
  grid-row-gap: 1.25rem; }

.grid__item--service-card:hover, .grid__item--service-card:focus {
  background-color: #fff;
  box-shadow: 0 0.625rem 2.5rem 0 rgba(0, 0, 0, 0.06); }

.service-cards {
  padding-top: 10.4px;
  padding-top: 0.65rem; }
  .service-cards--full {
    padding-top: 0; }
  .service-cards__link {
    display: block;
    order: 3; }
    .service-cards__link-container {
      display: inline-flex;
      align-items: baseline; }
  .service-cards__chevron {
    display: inline-block;
    margin-top: 0;
    padding-left: 9px;
    padding-left: 0.5625rem; }

.service-card {
  display: flex;
  height: 100%;
  margin-bottom: 0; }
  .service-card__link {
    border: 1px solid #d2d2d7;
    text-decoration: none;
    transition: all 0.3s ease; }
    .service-card__link-list {
      list-style: none;
      list-style-position: outside;
      padding-left: 0;
      order: 2; }
      .service-card__link-list li {
        padding-left: 0; }
  .service-card__headline {
    font-size: 30px;
    font-size: 1.875rem;
    font-weight: 600;
    line-height: 1.27; }
  .service-card__section {
    display: flex;
    flex-direction: column;
    justify-content: center;
    color: #223547;
    font-size: 18px;
    font-size: 1.125rem;
    font-weight: 600;
    box-sizing: border-box;
    height: 100%;
    margin: 0;
    padding: 30px;
    padding: 1.875rem;
    text-align: center; }
  .service-card__divider, .service-card__cta {
    margin-top: 15px;
    margin-top: 0.9375rem; }
  .service-card__divider {
    height: 5px;
    height: 0.3125rem;
    margin: 14px 0 21px 0;
    margin: 0.875rem 0 1.3125rem 0;
    margin-left: auto;
    margin-right: auto;
    display: block;
    width: 80px;
    width: 5rem;
    background-color: #1c77c3;
    transition: width 0.5s ease-out;
    margin-bottom: unitds(3);
    transition: width 1s; }
  .service-card__cta {
    position: relative;
    top: 0;
    color: #1c77c3;
    font-size: 14px;
    font-size: 0.875rem;
    display: block;
    opacity: 1; }

.serivces-case-study__page-section-content {
  --grid-rows-padding-top: 2;
  --grid-rows-padding-bottom: 2;
  --grid-cols-width: 10; }

.serivces-case-study__tagline {
  font-family: "Avenir Next", "Helvetica Neue", Helvetica, Arial, sans-serif;
  height: 42px;
  height: 2.625rem;
  margin-bottom: 42px;
  margin-bottom: 2.625rem;
  font-weight: 600;
  color: #333333;
  font-size: 28px;
  font-size: 1.75rem;
  font-weight: 600;
  line-height: 1.11; }

.serivces-case-study__linkholder {
  display: inline-block;
  padding-right: 24px;
  padding-right: 1.5rem;
  padding-top: 0px;
  padding-top: 0rem;
  padding-bottom: 14px;
  padding-bottom: 0.875rem; }

.serivces-case-study__link {
  font-size: 16px;
  font-size: 1rem;
  font-weight: 500;
  line-height: 2.19;
  font-family: "Avenir Next", "Helvetica Neue", Helvetica, Arial, sans-serif;
  display: table-cell;
  color: #333333;
  background-color: #fff;
  height: 35px;
  height: 2.1875rem;
  padding: 10px 28px;
  padding: 0.625rem 1.75rem;
  margin-right: 28px;
  margin-right: 1.75rem;
  border-radius: 0.625rem; }

.serivces-case-study__link:hover {
  transition-duration: 1s;
  color: #fff;
  background-color: #333333; }

/* Table of Contents - Styles for the Services Overview Component
  1) Container
  2) List
  3) List Item
  4) Title
  5) Description
  6) Keywords
*/
.services-overview {
  /* We need nesting here because of the markdown component */
  /* - */ }
  .services-overview__list {
    padding-top: 28px;
    padding-top: 1.75rem;
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap; }
    .services-overview__list-item {
      margin-top: 28px;
      margin-top: 1.75rem; }
      .services-overview__list-item.grid-cols-width {
        --grid-cols-width: 10; }
  .services-overview__title p, .services-overview__title h5 {
    font-size: 22px;
    font-size: 1.375rem;
    line-height: 1.3; }
  .services-overview__description {
    margin-top: 5px;
    margin-top: 0.3125rem; }
  .services-overview__keywords {
    margin: 5px 0px;
    margin: 0.3125rem 0rem;
    font-family: "Avenir Next", "Helvetica Neue", Helvetica, Arial, sans-serif;
    font-size: 16px;
    font-size: 1rem;
    font-weight: 600;
    line-height: 28px;
    line-height: 1.75rem; }

/* Table of Contents - Styles for the Service Table of Contents Component
  1) Service TOC
  2) Link
*/
.service__toc {
  margin-top: 0;
  padding: 60px 0 30px;
  padding: 3.75rem 0 1.875rem;
  --grid-container-cols-width: 10;
  --grid-cols-width: 10; }
  .service__toc-link {
    font-size: 14px;
    font-size: 0.875rem; }

/* Table of Contents - Styles for the Step Section Component
  1) Divider
  2) Headline
  3) Card Content Override
*/
.steps-section__page-section-content {
  --grid-cols-width: 8; }

.steps-section__divider {
  margin-top: 30px;
  margin-top: 1.875rem;
  margin-bottom: 20px;
  margin-bottom: 1.25rem;
  height: 5px;
  height: 0.3125rem;
  margin: 14px 0 21px 0;
  margin: 0.875rem 0 1.3125rem 0;
  display: block;
  width: 60px;
  width: 3.75rem;
  background-color: #1bd9c4;
  transition: width 0.5s ease-out;
  height: 6px;
  height: 0.375rem; }

.steps-section__headline {
  margin-top: 20px;
  margin-top: 1.25rem; }

.card__content--steps {
  padding: 0; }

/* Table of Contents - Styles for the Simple Headline Component
  1) Headline
    1-A) Headline Alignments
  2) Title
  3) Description
  4) Content
*/
.simple-headline__page-section-content {
  text-align: center;
  --grid-rows-margin-top: 1;
  --grid-rows-margin-bottom: 1;
  --grid-cols-width: 10; }

.simple-headline--left {
  text-align: left; }

.simple-headline--center {
  text-align: center; }

.simple-headline--right {
  text-align: right; }

.simple-headline__title {
  font-family: "Avenir Next", "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: 49px;
  font-size: 3.0625rem;
  font-weight: 600;
  line-height: 56px;
  line-height: 3.5rem; }

.simple-headline__description {
  display: flex;
  flex-direction: column;
  align-items: center;
  margin-top: 22px;
  margin-top: 1.375rem;
  /* We need nesting here because of markdown component */
  /* - */ }
  .simple-headline__description a {
    display: inline-block;
    font-size: 20px;
    font-size: 1.25rem; }

/* Table of Contents for the Single Quote Component
  1) Quotation
  2) Container
  3) Attribution
*/
.single-quote {
  font-style: normal;
  text-align: left;
  text-indent: -0.4em; }
  .single-quote__container {
    margin-right: auto;
    margin-left: auto;
    padding: 32px;
    padding: 2rem; }
    .single-quote__container.grid-cols-width {
      --grid-cols-width: 10; }
  .single-quote__attribution {
    font-weight: 500;
    margin-top: 28px;
    margin-top: 1.75rem; }

/* Table of Contents - Styles for the Small Caps Header Component */
.header__small-caps {
  text-transform: uppercase;
  font-size: 14px;
  font-size: 0.875rem;
  letter-spacing: 2.628px;
  letter-spacing: 0.16428rem;
  font-weight: 600;
  color: #707070; }
  .header__small-caps + * {
    margin-top: 14px;
    margin-top: 0.875rem; }
  .header__small-caps--inline {
    display: inline-block; }

/* Table of Contents - Styles for the Stats Section Component
  A) Local Variables
  1) Stat
  2) Caption
  3) Description
  4) Headline
  5) Section Headline
*/
.stats-section__page-content-section {
  --grid-cols-width: 10; }

.stat {
  display: block;
  padding-bottom: 20px;
  padding-bottom: 1.25rem;
  /* - */ }
  .stat.columned-list__item {
    margin-top: 5px;
    margin-top: 0.3125rem; }
  .stat__caption {
    font-size: 16px;
    font-size: 1rem;
    line-height: 28px;
    line-height: 1.75rem;
    margin-top: 3px;
    margin-top: 0.1875rem; }
  .stat__description {
    font-size: 16px;
    font-size: 1rem;
    line-height: 28px;
    line-height: 1.75rem;
    margin-top: 35px;
    margin-top: 2.1875rem; }
  .stat__headline {
    font-size: 22px;
    font-size: 1.375rem;
    font-weight: 500;
    line-height: 28px;
    line-height: 1.75rem;
    margin-top: 6px;
    margin-top: 0.375rem; }
  .stat__section-headline {
    font-size: 30px;
    font-size: 1.875rem;
    line-height: 38px;
    line-height: 2.375rem;
    margin-bottom: 15px;
    margin-bottom: 0.9375rem; }

.project-overview__page-section-content {
  --grid-rows-padding-top: 2;
  --grid-rows-padding-bottom: 2;
  --grid-cols-width: 10; }

.project-overview__text {
  margin-bottom: 56px;
  margin-bottom: 3.5rem;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-family: "Avenir Next", "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: 16px;
  font-size: 1rem;
  font-weight: 600;
  line-height: 28px;
  line-height: 1.75rem;
  font-weight: normal;
  line-height: 1.59; }

.project-overview__title {
  color: #333333;
  font-size: 14px;
  font-size: 0.875rem;
  line-height: 28px;
  line-height: 1.75rem;
  letter-spacing: 2px;
  letter-spacing: 0.125rem; }

.project-overview__services-list {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between; }
  .project-overview__services-list-link {
    color: #333333;
    width: calc(50% - 14px);
    margin-top: 0;
    margin-bottom: 15px;
    margin-bottom: 0.9375rem; }
    .project-overview__services-list-link:hover {
      color: #1c77c3 !important; }

/* Table of Contents - Styles for the Timeline Component
  A) Local Variables
  1) Timeline
  2) Container
  3) Content
    3-A) Content Title
    3-B) Body
  4) Item
  5) Marker
  6) Title
*/
.timeline::before {
  content: "";
  position: absolute;
  top: 100px;
  top: 6.25rem;
  left: 30px;
  left: 1.875rem;
  background: #c5c9cc;
  height: calc(100% - 7.5rem);
  width: 5px;
  width: 0.3125rem; }

.timeline__container {
  position: relative; }

.timeline__content {
  background: #fff;
  box-shadow: 0 0.625rem 1.25rem 0 rgba(0, 0, 0, 0.06), -0.5rem 0 2rem 0 rgba(0, 0, 0, 0.06);
  margin: 0 20px 0 75px;
  margin: 0 1.25rem 0 4.6875rem;
  padding: 20px;
  padding: 1.25rem;
  position: relative; }
  .timeline__content::before {
    content: "";
    position: absolute;
    top: 30px;
    top: 1.875rem;
    right: 100%;
    border: 20px solid transparent;
    border: 1.25rem solid transparent;
    border-right-color: #fff; }
  .timeline__content-title {
    color: #1bd9c4;
    font-size: 20px;
    font-size: 1.25rem; }
  .timeline__content-body {
    color: #223547;
    font-size: 16px;
    font-size: 1rem;
    font-weight: 500;
    margin-top: 0; }

.timeline__item {
  position: relative; }

.timeline__marker {
  position: absolute;
  top: 37px;
  top: 2.3125rem;
  left: 20px;
  left: 1.25rem;
  background: #1bd9c4;
  border-radius: 50%;
  height: 25px;
  height: 1.5625rem;
  margin-top: 0;
  width: 25px;
  width: 1.5625rem; }

.timeline__title {
  font-size: 30px;
  font-size: 1.875rem;
  line-height: 1.27;
  margin-bottom: 30px;
  margin-bottom: 1.875rem;
  max-width: 1040px;
  max-width: 65rem;
  width: 100%; }

/* Table of Contents - Styles for the Tip Section Component
  A) Local Variables
  1) Container
  2) Description
  3) Section
    3-A) Section Headline
    3-B) Section Text
  4) Image Container
  5) Title
*/
.tip__container {
  border: solid 1px #1bd9c4;
  max-width: 375px;
  max-width: 23.4375rem;
  padding: 25px;
  padding: 1.5625rem; }

.tip__description {
  color: #223547;
  font-size: 16px;
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.75;
  padding-top: 20px;
  padding-top: 1.25rem; }

.tip__section {
  display: flex;
  flex-direction: column; }
  .tip__section-headline {
    font-size: 20px;
    font-size: 1.25rem; }
  .tip__section__text {
    margin-top: 0;
    padding: 20px 0;
    padding: 1.25rem 0; }

.tip__image-container {
  margin: 0 calc((100% - 87.90827%) / -2); }

.tip__title {
  font-size: 16px;
  font-size: 1rem;
  letter-spacing: 1px;
  letter-spacing: 0.0625rem; }

.twocolquote-section * + * {
  margin: 0; }

.twocolquote-section__page-section-content {
  --grid-rows-padding-top: 2;
  --grid-rows-padding-bottom: 2;
  --grid-cols-width: 10;
  --grid-container-cols-width: 10; }

.twocolquote-section h3 {
  font-family: "Avenir Next", "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: 28px;
  font-size: 1.75rem;
  font-weight: 600;
  line-height: 42px;
  line-height: 2.625rem;
  margin-bottom: 42px;
  margin-bottom: 2.625rem;
  text-align: left; }

.twocolquote-section :last-child.grid-rows-padding {
  --grid-rows-padding-top: 0;
  --grid-rows-padding-bottom: 0; }

.twocolquote-section__container {
  display: flex;
  flex-direction: column; }
  .twocolquote-section__container.grid-rows-padding {
    --grid-rows-padding-top: 0;
    --grid-rows-padding-bottom: 2; }

.twocolquote-section__headline {
  font-family: "Avenir Next", "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: 22px;
  font-size: 1.375rem;
  font-weight: 600;
  line-height: 28px;
  line-height: 1.75rem;
  font-size: 16px;
  font-size: 1rem;
  font-weight: 600;
  line-height: 26px;
  line-height: 1.625rem;
  margin-right: auto;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale; }
  .twocolquote-section__headline.grid-rows-padding {
    --grid-rows-padding-top: 0;
    --grid-rows-padding-bottom: 1; }

.twocolquote-section__description {
  font-family: "Avenir Next", "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: 16px;
  font-size: 1rem;
  font-weight: 600;
  line-height: 28px;
  line-height: 1.75rem;
  font-weight: 400;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale; }

/* Table of Contents - Styles for the Article Page
  1) Related Content
  2) Featured Image
  3) Content Banded Section
  4) Body
  5) Newsletter Container
  6) Footer
*/
.page__theme--article [itemprop="publisher"] {
  margin-top: 0; }

.article {
  /* We Need nesting here to get around the global newsletter component styling */
  /* - */ }
  .article__related-content__page-section-content {
    --grid-cols-width: 12;
    --grid-rows-margin-top: 4;
    --grid-rows-margin-bottom: 4; }
  .article__featured-image {
    padding-right: 0;
    padding-bottom: 28px;
    padding-bottom: 1.75rem;
    padding-left: 0; }
  .article__content__page-section-content {
    padding-top: 0;
    --grid-cols-width: 10;
    --grid-rows-padding-bottom: 2; }
  .article__body {
    color: #223547;
    font-size: 16px;
    font-size: 1rem;
    font-weight: 500;
    /* We need nesting here because of markdown component */
    /* - */ }
    .article__body img,
    .article__body .embedly-card {
      display: block;
      margin: 42px auto;
      margin: 2.625rem auto; }
    .article__body table {
      margin-top: 42px;
      margin-top: 2.625rem;
      margin-bottom: 42px;
      margin-bottom: 2.625rem; }
  .article__container .newsletter__subscription-container {
    background: #f9f9f9; }
  .article__container .promo__content {
    --grid-cols-width: 10;
    --grid-rows-padding-bottom: 2;
    margin: 0 auto; }
    .article__container .promo__content .promo__image {
      --grid-cols-width: 5;
      --grid-container-cols-width: 10; }
    .article__container .promo__content .promo__description {
      --grid-cols-width: 10;
      --grid-container-cols-width: 10; }
    .article__container .promo__content .promo__image {
      margin-right: 4.5%; }
    .article__container .promo__content .promo__image, .article__container .promo__content .promo__description {
      --grid-cols-width: 5;
      --grid-container-cols-width: 10;
      flex: 1; }
  .article__footer {
    margin-top: 35px;
    margin-top: 2.1875rem;
    padding-top: 35px;
    padding-top: 2.1875rem;
    border-top: 1px solid #d8d8d8;
    /* We need nesting to not override header profile item styles */
    /* - */ }
    .article__footer .profile__list-item {
      flex-basis: 100%; }

/* Table of Contents - Styles for Careers Page
  1) Benefits Section
    1-A) Background
    1-B) Heading Container Width
    1-C) Text Spacing
  2) Description Cards
  3) Careers Search Section
    3-A) Section Width
    3-B) Search Container
    3-C) Search Form
    3-D) Position Count Label
*/

.categories__section-description--benefits,
.categories__text--benefits {
  padding-top: 10px;
  padding-top: 0.625rem; }

.columned-list__item--benefits {
  padding-top: 50px;
  padding-top: 3.125rem; }

.careers__benefits__page-section-content {
  --grid-rows-padding-top: 1;
  --grid-rows-padding-bottom: 1;
  --grid-cols-width: 10; }
  .careers__benefits__page-section-content::after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    background: url("/img/wt-logo-aqua.svg") no-repeat;
    width: 100%;
    height: 100%;
    opacity: 0.1;
    background-position: top -50px right -100px;
    background-position: top -3.125rem right -6.25rem; }
  .careers__benefits__page-section-content .card__content {
    padding: 0; }

.careers__related-content__page-section-content {
  --grid-cols-width: 12; }

.careers__carousel__page-section-content {
  --grid-cols-width: 10;
  --grid-rows-padding-top: 2;
  --grid-rows-padding-bottom: 2; }

.careers__job-search__page-section-content {
  --grid-rows-margin-bottom: 3;
  --grid-cols-width: 10; }

.careers__search-header {
  display: flex;
  justify-content: space-between; }

.careers__search-headline {
  font-family: "Avenir Next", "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: 22px;
  font-size: 1.375rem;
  font-weight: 600;
  line-height: 28px;
  line-height: 1.75rem; }

.careers__search-container {
  display: grid;
  grid-template-columns: 1fr;
  margin-top: 20px;
  margin-top: 1.25rem; }

.careers__search-form {
  margin-top: 24px;
  margin-top: 1.5rem;
  position: relative; }

.careers__description__page-section-content {
  --grid-rows-margin-top: 3;
  --grid-rows-margin-bottom: 1;
  --grid-cols-width: 10; }
  .careers__description__page-section-content img {
    border-radius: 0.25rem; }
  .careers__description__page-section-content .description-card__image {
    display: flex;
    flex-direction: column;
    justify-content: center; }
  .careers__description__page-section-content .description-card__info {
    display: flex;
    flex-direction: column;
    justify-content: center; }

.careers__core-values__page-section-content {
  --grid-cols-width: 12;
  margin: 0 auto; }

.careers__client-summary-list__page-section-content {
  --grid-rows-padding-top: 1;
  --grid-rows-padding-bottom: 1; }

.careers__position-count {
  color: #707070;
  font-size: 16px;
  font-size: 1rem;
  font-weight: 400;
  margin-top: 0;
  display: flex;
  align-items: center; }

.careers__new-grads-and-interns__page-section-content {
  --grid-rows-padding-top: 1;
  --grid-rows-padding-bottom: 1;
  --grid-cols-width: 10; }
  .careers__new-grads-and-interns__page-section-content img {
    border-radius: 0.25rem; }
  .careers__new-grads-and-interns__page-section-content .description-card__image {
    display: flex;
    flex-direction: column;
    justify-content: center; }
  .careers__new-grads-and-interns__page-section-content .description-card__info {
    display: flex;
    flex-direction: column;
    justify-content: center; }

/* Table of Contents - Styles for the Company Page
  1) Headline
  2) Certifications
  3) Grid
  4) Grid Item
*/
.company {
  /* Specificity needed to get around global grid styles */
  /* - */
  /* Specificty needed to get around global grid item styles */
  /* - */ }
  .company__description__page-section-content {
    --grid-cols-width: 10;
    --grid-cols-container-width: 10;
    --grid-rows-padding-bottom: 2; }
  .company__description p {
    margin-bottom: 24px;
    margin-bottom: 1.5rem;
    font-size: 16px;
    font-size: 1rem;
    line-height: 28px;
    line-height: 1.75rem; }
  .company__description--parent {
    display: flex;
    flex-direction: column-reverse;
    --grid-cols-width: 12; }
  .company__description--childleft {
    display: flex;
    flex-direction: column; }
  .company__description--childright {
    display: flex;
    flex-direction: column;
    margin-bottom: 56px;
    margin-bottom: 3.5rem; }
    .company__description--childright img {
      border-radius: 0.25rem; }
  .company__leadership__page-section-content {
    --grid-cols-width: 10;
    --grid-rows-padding-top: 1;
    --grid-rows-padding-bottom: 1; }
  .company__leadership-container {
    margin-top: 0; }
    .company__leadership-container.grid-rows-padding {
      --grid-rows-padding-top: 0;
      --grid-rows-padding-bottom: 0; }
  .company__leadership-container + .company__leadership-container {
    margin-top: 0; }
    .company__leadership-container + .company__leadership-container.grid-rows-padding {
      --grid-rows-padding-top: 4;
      --grid-rows-padding-bottom: 0; }
  .company__leadership-header {
    font-family: "Avenir Next", "Helvetica Neue", Helvetica, Arial, sans-serif;
    font-size: 22px;
    font-size: 1.375rem;
    font-weight: 600;
    line-height: 28px;
    line-height: 1.75rem;
    margin-bottom: 56px;
    margin-bottom: 3.5rem; }
  .company__board-of-directors__page-section-content {
    --grid-cols-width: 10;
    --grid-rows-padding-top: 1;
    --grid-rows-padding-bottom: 1; }
  .company__headline {
    font-family: "Avenir Next", "Helvetica Neue", Helvetica, Arial, sans-serif;
    font-size: 38px;
    font-size: 2.375rem;
    font-weight: 500;
    line-height: 42px;
    line-height: 2.625rem;
    margin-bottom: 28px;
    margin-bottom: 1.75rem; }
  .company__certifications {
    margin-bottom: 0; }
    .company__certifications__page-section-content {
      --grid-cols-width: 10;
      --grid-rows-padding-top: 1;
      --grid-rows-padding-bottom: 1; }
  .company__grid.grid {
    row-gap: 42px;
    row-gap: 2.625rem;
    column-gap: 2.625rem;
    grid-template-columns: 1fr 1fr; }
  .company__grid-item--leadership.grid__item {
    margin-top: 0; }
  .company__social-card {
    display: none;
    border: solid 1px #d1d1d7;
    border-radius: 0.25rem;
    margin-top: 56px;
    margin-top: 3.5rem; }
    .company__social-card__container {
      display: flex;
      flex-direction: column;
      padding: 40px;
      padding: 2.5rem; }
    .company__social-card__content {
      color: #333333; }
    .company__social-card__title {
      font-family: "Avenir Next", "Helvetica Neue", Helvetica, Arial, sans-serif;
      font-size: 22px;
      font-size: 1.375rem;
      font-weight: 600;
      line-height: 28px;
      line-height: 1.75rem; }
    .company__social-card__description {
      font-family: "Avenir Next", "Helvetica Neue", Helvetica, Arial, sans-serif;
      font-size: 16px;
      font-size: 1rem;
      font-weight: 400;
      line-height: 28px;
      line-height: 1.75rem; }
    .company__social-card__cta {
      font-size: 16px;
      font-size: 1rem;
      line-height: 24px;
      line-height: 1.5rem;
      font-weight: 500; }

/* Table of Contents - Styles for the Contact Page
  1) Simple headline
  2) Contact form section
*/
.page__theme--contact {
  /* We need nesting here to get around global simple headline styles */
  /* - */ }
  .page__theme--contact .simple-headline {
    padding-bottom: 20px;
    padding-bottom: 1.25rem; }
  .page__theme--contact .section__contact-form {
    padding-top: 0; }

.contact__page-section-content {
  --grid-cols-width: 10;
  --grid-rows-margin-bottom: 1; }

.contact-subheadline {
  --grid-cols-width: 10;
  margin: 0 auto;
  font-size: 18px;
  font-size: 1.125rem;
  line-height: 38px;
  line-height: 2.375rem; }

/* Table of Contents - Styles for the Error Pages
  A) Local variables
  1) Page Theme
  2) Container
  3) Content
  4) Headline
  5) Description
  6) Troubleshooting List
*/
.page__theme--error {
  background-color: #1c77c3; }
  .page__theme--error .page__container {
    min-height: 100vh;
    display: flex;
    flex-direction: column;
    justify-content: space-between; }
  .page__theme--error .header__banded-section,
  .page__theme--error .navigation__child-list {
    background: #1c77c3; }

.error__page-section {
  display: flex;
  align-items: center;
  flex-grow: 1; }

.error__page-section-content {
  display: flex;
  justify-content: center;
  flex-direction: column;
  --grid-rows-padding-top: 1;
  --grid-cols-width: 10; }

.error__headline {
  text-transform: uppercase;
  font-size: 14px;
  font-size: 0.875rem;
  letter-spacing: 2.628px;
  letter-spacing: 0.16428rem;
  font-weight: 600;
  color: #fff;
  font-size: 52px;
  font-size: 3.25rem;
  font-weight: 600; }
  .error__headline + * {
    margin-top: 14px;
    margin-top: 0.875rem; }

.error__description {
  color: #fff;
  font-size: 25px;
  font-size: 1.5625rem;
  margin-bottom: 40px;
  margin-bottom: 2.5rem; }
  .error__description--headline {
    font-weight: 600;
    line-height: 1.25;
    margin-bottom: 35px;
    margin-bottom: 2.1875rem; }

.error__troubleshooting-list {
  margin-top: 0;
  margin-bottom: 40px;
  margin-bottom: 2.5rem;
  color: #fff;
  font-size: 20px;
  font-size: 1.25rem;
  line-height: 1.27;
  padding-left: 1em; }

/* Table of Contents - Styles for the Home Page
  1) Page Theme
  2) CTA Button
  3) Promos
  4) Featured 
  5) Expertise
  6) Services
  7) Extra Promos
  8) Certifications
  9) New Home Hero
  10) Acquisition
  11) Our Company
*/
.page__theme--home {
  background-color: #f8f8f8; }
  .page__theme--home .header__banded-section,
  .page__theme--home .navigation__child-list {
    background: #fff; }
  .page__theme--home .client-list__columned-list {
    margin-left: -1.6%;
    margin-right: -1.6%; }
    .page__theme--home .client-list__columned-list::after {
      content: none; }
  .page__theme--home .client-list__logo {
    padding: 0;
    width: 16.9%;
    min-width: 144px;
    min-width: 9rem;
    margin-left: auto;
    margin-right: auto;
    height: 56px;
    height: 3.5rem;
    margin-bottom: 56px;
    margin-bottom: 3.5rem; }
    .page__theme--home .client-list__logo:nth-child(n + 9) {
      margin-left: 1.5%;
      margin-right: 1.5%; }
  .page__theme--home .client-list__logo-link {
    padding: 0;
    margin-left: auto;
    margin-right: auto;
    width: 84%; }
    .page__theme--home .client-list__logo-link .image-client-size .image {
      position: relative;
      top: auto;
      right: auto;
      bottom: auto;
      left: auto;
      height: 56px;
      height: 3.5rem; }
    .page__theme--home .client-list__logo-link .image-client-size::before {
      content: none;
      padding: 0; }
  .page__theme--home .client-list__headline-container {
    margin-bottom: 28px;
    margin-bottom: 1.75rem; }

.home__hero-cta-button {
  padding: 0;
  white-space: nowrap;
  width: 100%;
  line-height: 56px;
  line-height: 3.5rem; }

.home__promos__page-section-content {
  --grid-rows-padding-top: 2;
  --grid-rows-padding-bottom: 2;
  --grid-cols-width: 10; }
  .home__promos__page-section-content .content-object__link {
    border: 1px solid #d2d2d7;
    border-radius: 0.25rem;
    box-shadow: 0 10px 18px -10px rgba(0, 0, 0, 0.1);
    color: #333; }
    .home__promos__page-section-content .content-object__link .promo__description {
      margin: 5%; }

.home__featured__page-section-content {
  --grid-cols-width: 12;
  --grid-rows-padding-top: 2; }

.home__expertise__page-section-content {
  --grid-cols-width: 10;
  --grid-rows-padding-top: 1;
  --grid-rows-padding-bottom: 1; }

.home__services__page-section-content {
  --grid-cols-width: 10;
  --grid-rows-padding-top: 2;
  --grid-rows-padding-bottom: 2; }

.home__extra-promos {
  margin-top: 0; }

.home__certification__page-section-content {
  --grid-cols-width: 10;
  --grid-container-cols-width: 10;
  --grid-rows-padding-top: 1;
  --grid-rows-padding-bottom: 1; }

.home__certification__headline {
  font-size: 30px;
  font-size: 1.875rem;
  line-height: 1.27;
  padding-bottom: 28px;
  padding-bottom: 1.75rem; }
  .home__certification__headline-container {
    font-size: 16px;
    font-size: 1rem;
    margin-bottom: 0;
    text-align: left;
    width: 100%; }

.home__hero {
  overflow: visible;
  display: flex;
  flex-direction: column;
  justify-content: space-between; }
  .home__hero.aquisition {
    flex-direction: column-reverse; }
  .home__hero__page-section.page-section__theme--dark-grey {
    background-image: url("/img/home-hero/hero-bg-texture.svg");
    background-repeat: repeat-x;
    background-position-x: 50%; }
  .home__hero__page-section-content {
    --grid-cols-width: 10;
    --grid-container-cols-width: 10;
    --grid-rows-padding-top: 4;
    --grid-rows-padding-bottom: 2;
    -webkit-font-smoothing: antialiased; }
  .home__hero-header-container {
    display: flex;
    flex-direction: column; }
  .home__hero-header-preheader {
    font-family: "Avenir Next", "Helvetica Neue", Helvetica, Arial, sans-serif;
    font-size: 22px;
    font-size: 1.375rem;
    font-weight: 600;
    line-height: 28px;
    line-height: 1.75rem;
    font-weight: 500;
    z-index: 1; }
    .home__hero-header-preheader::after {
      content: '';
      background-color: #1bd9c4;
      display: inline-block;
      width: 112px;
      height: 12px;
      position: relative;
      opacity: 0.2;
      transform: translate(-74%, 7px);
      z-index: -1; }
  .home__hero-header-title, .home__hero-header-quotation {
    font-size: 28px;
    font-size: 1.75rem;
    font-weight: 600;
    line-height: 35px;
    line-height: 2.1875rem;
    text-indent: -0.4em; }
  .home__hero-header-title {
    font-style: normal;
    text-align: left;
    color: #333333; }
    .home__hero-header-title.dark {
      color: white; }
  .home__hero-header-quotation {
    color: #1bd9c4;
    font-style: italic; }
  .home__hero-header-subtitle {
    font-family: "Avenir Next", "Helvetica Neue", Helvetica, Arial, sans-serif;
    font-size: 16px;
    font-size: 1rem;
    font-weight: 600;
    line-height: 28px;
    line-height: 1.75rem;
    color: #333333;
    display: flex;
    flex-direction: column;
    margin-bottom: 60px;
    margin-bottom: 3.75rem; }
    .home__hero-header-subtitle.dark {
      color: white; }
    .home__hero-header-subtitle.dark > .home__hero-header-subtitle--desc {
      margin-bottom: 0; }
    .home__hero-header-subtitle--desc {
      font-weight: 400;
      line-height: 28px;
      line-height: 1.75rem;
      margin-bottom: 24px;
      margin-bottom: 1.5rem; }
    .home__hero-header-subtitle--plats {
      font-size: 20px;
      font-size: 1.25rem;
      line-height: 28px;
      line-height: 1.75rem;
      margin-top: 0; }
    .home__hero-header-subtitle-container {
      padding-top: 22px;
      padding-top: 1.375rem;
      padding-bottom: 56px;
      padding-bottom: 3.5rem;
      margin-left: 0;
      text-align: left;
      width: 100%; }
  .home__hero-header-button {
    font-family: "Avenir Next", "Helvetica Neue", Helvetica, Arial, sans-serif;
    font-size: 16px;
    font-size: 1rem;
    font-weight: 600;
    line-height: 28px;
    line-height: 1.75rem;
    line-height: 24px;
    line-height: 1.5rem; }
  .home__hero-header-author {
    display: inline-block;
    color: #333333;
    font-size: 20px;
    font-size: 1.25rem;
    font-weight: 600;
    line-height: 28px;
    line-height: 1.75rem;
    margin-top: 28px;
    margin-top: 1.75rem;
    border-left: 3px solid #1bd9c4;
    height: 28px;
    height: 1.75rem;
    padding-left: 28px;
    padding-left: 1.75rem; }
  .home__hero-company-container {
    display: grid;
    grid-template-columns: 1fr 1fr;
    row-gap: 65px;
    row-gap: 4.0625rem;
    column-gap: 1rem;
    justify-items: center;
    align-items: center;
    margin-top: 0; }
    .home__hero-company-container img + img {
      margin: 0; }
    .home__hero-company-container--img {
      max-height: 40px;
      max-height: 2.5rem;
      max-width: 80px;
      max-width: 5rem; }
  .home__hero-dynamit-img {
    display: none; }

.home__aquisition-bg {
  position: absolute;
  z-index: 9; }

.home__our-company__page-section-content {
  align-items: center;
  display: flex;
  flex-direction: column;
  --grid-rows-padding-top: 2;
  --grid-rows-padding-bottom: 2; }

.home__our-company--title {
  padding-bottom: 28px;
  padding-bottom: 1.75rem;
  font-size: 30px;
  font-size: 1.875rem;
  font-weight: 600;
  margin-bottom: 24px;
  margin-bottom: 1.5rem; }
  .home__our-company--title.grid-cols-width {
    --grid-cols-width: 10; }

/* Table of Contents - Styles for the Job/Job Application Pages
  1) Button Bar
  2) Description
  3) Headline
  4) Copy Icon
  5) Application Title
  6) Application
*/
.job {
  /* Specificity needed to get around global button styling */
  /* - */ }
  .job__page-section-content {
    --grid-cols-width: 10;
    --grid-rows-padding-top: 2; }
  .job__button {
    box-sizing: border-box;
    width: 100%; }
    .job__button-bar {
      margin-top: 0;
      margin-bottom: 45px;
      margin-bottom: 2.8125rem;
      --grid-rows-padding-top: 0.5;
      --grid-rows-padding-bottom: 0.5; }
  .job__button.button {
    display: flex;
    justify-content: center;
    align-items: center; }
  .job__description {
    margin-top: 30px;
    margin-top: 1.875rem;
    margin-bottom: 45px;
    margin-bottom: 2.8125rem;
    /* Need to style tags because of how the description is pulled from GreenHouse */
    /* - */ }
    .job__description p,
    .job__description li {
      color: #223547;
      font-size: 15px;
      font-size: 0.9375rem;
      line-height: 25px;
      line-height: 1.5625rem;
      margin-top: 0; }
    .job__description h2 {
      color: #223547;
      font-size: 28px;
      font-size: 1.75rem;
      letter-spacing: -0.09px;
      margin-bottom: 20px;
      margin-bottom: 1.25rem; }
    .job__description h3 {
      margin-top: 0;
      margin-bottom: 20px;
      margin-bottom: 1.25rem;
      color: #223547;
      font-size: 20px;
      font-size: 1.25rem;
      font-weight: 400; }
    .job__description li {
      margin-top: 5px;
      margin-top: 0.3125rem; }
  .job__headline {
    padding-top: 0;
    padding-bottom: 30px;
    padding-bottom: 1.875rem; }
    .job__headline--application {
      padding-top: 0;
      padding-bottom: 0; }
  .job__copy-icon {
    margin-right: 10px;
    margin-right: 0.625rem; }
  .job__application-title {
    font-size: 26px;
    font-size: 1.625rem;
    line-height: 36px;
    line-height: 2.25rem;
    margin-top: 30px;
    margin-top: 1.875rem; }
  .job__application-form {
    padding-top: 10px;
    padding-top: 0.625rem;
    padding-bottom: 80px;
    padding-bottom: 5rem;
    margin-top: 0; }

/* Table of Contents - Styles for the Job List Component
  1) Margin Reset
  2) List
  2-A) List Message
  3) List Item
  4) Info
  5) Title
  6) Location
  7) Learn More Button
  8) Additional Info
    8-A) Divider
  9) Empty state
  10) Tab label
    10-A) Tab label badge
  11) Tab label suffix
  12) Tabs section
  13) Listing border
  14) Image card width
*/
/* stylelint-disable color-no-hex */
/* stylelint-enable */
.job {
  /* Specificity needed to get around global button styles */
  /* - */ }
  .job__search-form__page-section-content {
    --grid-cols-width: 10;
    --grid-rows-margin-bottom: 2; }
  .job__list-item, .job__location, .job__learn-more-button {
    margin-top: 0; }
  .job__list {
    padding-left: 0; }
    .job__list__page-section {
      border-top: solid 2px #f1f1f1; }
    .job__list__page-section-content {
      --grid-cols-width: 10;
      --grid-rows-padding-top: 1;
      --grid-rows-padding-bottom: 1; }
    .job__list__message {
      background-color: #f9f9f9; }
      .job__list__message-container {
        --grid-cols-width: 10;
        display: flex;
        justify-content: space-between;
        flex-direction: column;
        margin: 0 auto; }
        .job__list__message-container.additional {
          --grid-cols-width: 12; }
      .job__list__message-content {
        padding: 40px 0;
        padding: 2.5rem 0;
        padding-right: 24px;
        padding-right: 1.5rem;
        width: 100%;
        margin: 0; }
        .job__list__message-content::before {
          content: '';
          background: #1bd9c4;
          display: block;
          height: 3px;
          height: 0.1875rem;
          margin-bottom: 28px;
          margin-bottom: 1.75rem;
          width: 48px;
          width: 3rem;
          border-radius: 0.0625rem; }
        .job__list__message-content-title {
          font-size: 20px;
          font-size: 1.25rem;
          line-height: 42px;
          line-height: 2.625rem; }
          .job__list__message-content-title span {
            color: #1bd9c4; }
        .job__list__message-content-message {
          font-size: 16px;
          font-size: 1rem;
          line-height: 28px;
          line-height: 1.75rem; }
      .job__list__message-image {
        display: flex;
        justify-content: center;
        margin-top: 0;
        padding-bottom: 40px;
        padding-bottom: 2.5rem; }
    .job__list-item {
      padding-top: 30px;
      padding-top: 1.875rem;
      padding-bottom: 30px;
      padding-bottom: 1.875rem;
      padding-left: 0;
      display: flex;
      flex-direction: column;
      border-bottom: 2px solid #f1f1f1;
      --grid-cols-width: 10;
      --grid-container-cols-width: 10;
      justify-content: space-between; }
      .job__list-item:first-of-type {
        padding-top: 0; }
  .job__info {
    padding-bottom: 30px;
    padding-bottom: 1.875rem;
    --grid-cols-width: 10;
    --grid-container-cols-width: 10; }
  .job__title, .job__location {
    font-family: "Avenir Next", "Helvetica Neue", Helvetica, Arial, sans-serif;
    letter-spacing: 0.4px;
    letter-spacing: 0.025rem; }
  .job__title {
    font-size: 18px;
    font-size: 1.125rem;
    font-weight: 600; }
  .job__location {
    color: #707070;
    font-size: 15px;
    font-size: 0.9375rem; }
  .job__learn-more-button.button {
    --grid-cols-width: 10;
    --grid-container-cols-width: 10;
    padding: 16px 0;
    padding: 1rem 0;
    font-size: 13px;
    font-size: 0.8125rem; }
    .job__learn-more-button.button:hover, .job__learn-more-button.button:focus {
      transform: none;
      background: #333333;
      border-color: #333333;
      box-shadow: 0 0.625rem 1.25rem 0 rgba(0, 0, 0, 0.1);
      color: #fff; }
  .job__additional-info {
    font-family: "Avenir Next", "Helvetica Neue", Helvetica, Arial, sans-serif;
    margin-top: 50px;
    margin-top: 3.125rem;
    margin-bottom: 44px;
    margin-bottom: 2.75rem; }
    .job__additional-info .job__list__message-container {
      margin: 0; }
  .job__empty-state {
    font-family: "Avenir Next", "Helvetica Neue", Helvetica, Arial, sans-serif;
    padding-top: 0; }
  .job__tabs-total-count {
    color: #6d6d6d;
    font-weight: 400;
    --grid-cols-width: 10;
    margin: -10px auto 28px auto;
    margin: -0.625rem auto 1.75rem auto;
    text-align: center; }
  .job__tab-label {
    font-family: "Avenir Next", "Helvetica Neue", Helvetica, Arial, sans-serif;
    font-size: 20px;
    font-size: 1.25rem;
    font-weight: 600;
    letter-spacing: 0.7px;
    /* We need nesting here to get around global badge styles */
    /* - */ }
    .job__tab-label .job-listing__badge {
      transform: translateY(-0.125rem); }
    .job__tab-label-title {
      font-weight: 600;
      display: inline-block; }
  .job__tab-label-suffix {
    display: none; }
  .job__tabs-section.section {
    margin-top: 50px;
    margin-top: 3.125rem; }

/* All three classes are required to override width due to specificity of original card style */

/* - */
/* Table of Contents - Styles for the Portfolio Page
  1) Page Theme Overrides
  2) Filter Container
  3) Project List
  4) Project Grid
*/
.page__theme--portfolio {
  margin: 0;
  /* - */ }
  .page__theme--portfolio .expertise-list-container.section--padding--s {
    padding-top: 0; }
  .page__theme--portfolio .filter__headline.hero__headline {
    font-family: "Avenir Next", "Helvetica Neue", Helvetica, Arial, sans-serif;
    font-size: 49px;
    font-size: 3.0625rem;
    font-weight: 600;
    line-height: 56px;
    line-height: 3.5rem;
    padding: 0;
    position: relative;
    display: block;
    width: 100%; }
    .page__theme--portfolio .filter__headline.hero__headline::after {
      content: "";
      display: block;
      width: 80px;
      width: 5rem;
      height: 5px;
      height: 0.3125rem;
      background: #1bd9c4;
      position: absolute;
      top: -16px;
      top: -1rem; }
  .page__theme--portfolio .client-summary-list__page-section-content {
    --grid-cols-width: 10; }
  .page__theme--portfolio .client-summary-list__headline {
    margin-bottom: 28px;
    margin-bottom: 1.75rem;
    padding: 0; }
    .page__theme--portfolio .client-summary-list__headline * {
      font-family: "Avenir Next", "Helvetica Neue", Helvetica, Arial, sans-serif;
      font-size: 38px;
      font-size: 2.375rem;
      font-weight: 500;
      line-height: 42px;
      line-height: 2.625rem;
      padding: 0;
      margin: 0; }

.portfolio__filter-container {
  --grid-rows-margin-bottom: 2; }

.portfolio__project-list {
  margin-top: 0; }
  .portfolio__project-list__page-section-content {
    --grid-cols-width: 10; }
  .portfolio__project-list-title * {
    font-family: "Avenir Next", "Helvetica Neue", Helvetica, Arial, sans-serif;
    font-size: 38px;
    font-size: 2.375rem;
    font-weight: 500;
    line-height: 42px;
    line-height: 2.625rem;
    margin-bottom: 28px;
    margin-bottom: 1.75rem;
    text-align: left; }

.portfolio__projects-grid {
  margin-top: 0; }
  .portfolio__projects-grid-item {
    margin-top: 0; }
    .portfolio__projects-grid-item h2 {
      font-family: "Avenir Next", "Helvetica Neue", Helvetica, Arial, sans-serif;
      font-size: 28px;
      font-size: 1.75rem;
      font-weight: 600;
      line-height: 42px;
      line-height: 2.625rem; }

.portfolio__expertise__page-section-content {
  --grid-rows-padding-top: 1;
  --grid-rows-padding-bottom: 1; }

.page__theme--research .navigation__child-list {
  background: transparent; }

.page__theme--research .hero__media img {
  transform-origin: bottom;
  object-fit: contain;
  transform: scale(0.4) translate(-135%, 9.5rem);
  width: 566px;
  max-width: none;
  left: 50%; }

.research__content {
  margin-bottom: 56px;
  margin-bottom: 3.5rem;
  margin-top: 0; }
  .research__content p,
  .research__content em {
    font-family: "Avenir Next", "Helvetica Neue", Helvetica, Arial, sans-serif;
    font-size: 16px;
    font-size: 1rem;
    font-weight: 400;
    line-height: 28px;
    line-height: 1.75rem;
    margin: 28px 0 0 0;
    margin: 1.75rem 0 0 0; }
  .research__content h2 + p:last-of-type,
  .research__content h3 + p:last-of-type,
  .research__content h4 + p:last-of-type,
  .research__content h5 + p:last-of-type,
  .research__content h6 + p:last-of-type,
  .research__content p:first-child:last-of-type,
  .research__content p + p:last-of-type {
    margin-bottom: 28px;
    margin-bottom: 1.75rem; }
  .research__content .timeline__item p:last-of-type {
    margin: 0; }
  .research__content br {
    display: none; }
  .research__content * + blockquote,
  .research__content blockquote + * {
    margin-top: 28px;
    margin-top: 1.75rem; }
  .research__content blockquote p {
    font-family: "Avenir Next", "Helvetica Neue", Helvetica, Arial, sans-serif;
    font-size: 28px;
    font-size: 1.75rem;
    font-weight: 600;
    line-height: 42px;
    line-height: 2.625rem;
    font-weight: 500;
    margin: 0; }
  .research__content h3 {
    font-family: "Avenir Next", "Helvetica Neue", Helvetica, Arial, sans-serif;
    font-size: 28px;
    font-size: 1.75rem;
    font-weight: 600;
    line-height: 42px;
    line-height: 2.625rem;
    margin: 98px 0 14px 0;
    margin: 6.125rem 0 0.875rem 0; }
    .research__content h3 + p,
    .research__content h3 + * p:first-child,
    .research__content h3 + h4 {
      margin-top: 0; }
  .research__content h4 {
    font-family: "Avenir Next", "Helvetica Neue", Helvetica, Arial, sans-serif;
    font-size: 22px;
    font-size: 1.375rem;
    font-weight: 600;
    line-height: 28px;
    line-height: 1.75rem;
    font-weight: 500;
    margin: 42px 0 14px 0;
    margin: 2.625rem 0 0.875rem 0; }
    .research__content h4 + p {
      margin-top: 0; }
    .research__content h4 + h5 {
      margin: 14px 0 0;
      margin: 0.875rem 0 0; }
  .research__content h5 {
    font-family: "Avenir Next", "Helvetica Neue", Helvetica, Arial, sans-serif;
    font-size: 16px;
    font-size: 1rem;
    font-weight: 600;
    line-height: 28px;
    line-height: 1.75rem;
    margin: 28px 0 0 0;
    margin: 1.75rem 0 0 0; }
    .research__content h5 + p {
      margin-top: 0; }
  .research__content img[alt*="divider"] {
    margin: 28px 0;
    margin: 1.75rem 0; }
  .research__content .page-section__content {
    --grid-cols-width: 10; }

.research__headline-description__page-section-content {
  --grid-cols-width: 8; }

.research__timeline__page-section-content {
  --grid-cols-width: 6;
  --grid-rows-padding-top: 1;
  --grid-rows-padding-bottom: 1; }

.research__stats-section .columned-list__item h5 {
  margin: 0; }

.research__stats-section__page-section-content {
  --grid-cols-width: 8; }

.research__content__page-section-content {
  --grid-cols-width: 6; }

.research__hero__page-section-content {
  --grid-rows-padding-bottom: 1;
  width: 100%;
  max-width: none; }

/* Table of Contents - Styles for the Services Page
  1) List
  2) List Item
  3) Title
  4) Description
  5) Anchor
*/
.service__lvl1-details__page-section-content {
  --grid-cols-width: 10;
  --grid-rows-padding-top: 3;
  --grid-rows-padding-bottom: 1; }
  .service__lvl1-details__page-section-content .card__content {
    padding: 0; }
    .service__lvl1-details__page-section-content .card__content:last-of-type {
      margin-top: 9.17574%; }

.service__lvl2-list__page-section-content {
  --grid-cols-width: 10;
  --grid-rows-padding-top: 1;
  --grid-rows-padding-bottom: 4; }
  .service__lvl2-list__page-section-content .card__content {
    margin: 0 -36.8px;
    margin: 0 -2.3rem;
    padding: 9.17574% 36.8px;
    padding: 9.17574% 2.3rem; }
  .service__lvl2-list__page-section-content .card--columned {
    padding-top: 32px;
    padding-top: 2rem;
    background-color: transparent; }

.service__lvl2-related__page-section-content {
  --grid-cols-width: 12; }

.services__overview__page-section-content {
  --grid-cols-width: 10;
  --grid-container-cols-width: 10;
  --grid-rows-padding-bottom: 1; }
  .services__overview__page-section-content .card__content {
    padding: 0;
    margin: 9.17574% 0; }

.services__overview-content {
  display: flex;
  justify-content: space-between;
  flex-direction: column-reverse; }

.services__overview-services__list {
  display: flex;
  flex-wrap: wrap;
  margin-top: 0; }

.services__overview-services__description {
  font-family: "Avenir Next", "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: 16px;
  font-size: 1rem;
  font-weight: 400;
  line-height: 28px;
  line-height: 1.75rem;
  margin-top: 35px;
  margin-top: 2.1875rem; }

.services__overview-service {
  width: 50%;
  margin-top: 50px;
  margin-top: 3.125rem;
  font-size: 14px;
  font-size: 0.875rem;
  line-height: 24px;
  line-height: 1.5rem;
  font-weight: 600; }
  .services__overview-service a {
    color: #333333; }
  .services__overview-service::before {
    content: '';
    background-color: #1bd9c4;
    display: block;
    width: 18%;
    height: 3px;
    height: 0.1875rem;
    border-radius: 0.0625rem;
    margin-bottom: 18px;
    margin-bottom: 1.125rem; }

.services__overview-image {
  margin-top: 0; }
  .services__overview-image img {
    border-radius: 0.25rem; }

.services__list {
  list-style: none;
  list-style-position: outside;
  padding-left: 0; }
  .services__list li {
    padding-left: 0; }
  .services__list__page-section-content {
    --grid-cols-width: 10;
    --grid-rows-padding-top: 1;
    --grid-rows-padding-bottom: 4; }
  .services__list-item {
    --grid-rows-padding-top: 2;
    --grid-rows-padding-bottom: 2; }
    .services__list-item:first-of-type {
      margin-top: 0;
      --grid-rows-padding-top: 0; }

.services__title {
  margin-bottom: 15px;
  margin-bottom: 0.9375rem; }

.services__anchor {
  display: block;
  height: 100px;
  height: 6.25rem;
  margin-top: -100px;
  margin-top: -6.25rem;
  visibility: hidden; }

.page__theme--voice .hero__headline--media-artwork {
  --grid-cols-width: 12;
  font-size: 36px;
  font-size: 2.25rem; }

.page__theme--voice .hero__content-additional--media-artwork .voice__subheader {
  font-size: 12px;
  font-size: 0.75rem;
  line-height: 20px;
  line-height: 1.25rem; }

.page__theme--voice .hero__media img.image {
  transform: scale(0.4) translate(-125%, 9.5rem); }

.voice__content {
  margin-bottom: 0; }
  .voice__content *[data-automation="description-4FNgUNh9V608kYaoAaq02O"] p:first-child:last-of-type {
    margin: 56px 0;
    margin: 3.5rem 0; }
  .voice__content *[data-automation="description-5EH3YXCtZCa4yCMoywqass"] h4 {
    margin-top: 56px;
    margin-top: 3.5rem; }
  .voice__content *[data-automation="description-5rp4HuWYW4yEeACk0owgiU"] p {
    font-size: 14px;
    font-size: 0.875rem;
    font-style: italic;
    margin-top: 14px;
    margin-top: 0.875rem; }
  .voice__content *[data-automation="data-grid-description-60xSxVvHj2c6aGcqYcgMSs"] h4 {
    font-family: "Avenir Next", "Helvetica Neue", Helvetica, Arial, sans-serif;
    font-size: 28px;
    font-size: 1.75rem;
    font-weight: 600;
    line-height: 42px;
    line-height: 2.625rem;
    padding-top: 0; }
  .voice__content *[data-automation="data-grid-description-60xSxVvHj2c6aGcqYcgMSs"] p {
    font-style: italic; }
  .voice__content .generic-section:first-of-type {
    margin-top: 30px;
    margin-top: 1.875rem; }
  .voice__content *[class*='tip__container--'] {
    margin: 0;
    max-width: none; }
    .voice__content *[class*='tip__container--'] p:last-of-type {
      margin-bottom: 0; }
  .voice__content .banner__page-section-content {
    --grid-rows-padding-bottom: 0; }
  .voice__content .datagrid__container > table:first-child:last-child {
    margin-top: 0; }
  .voice__content .page-section__content {
    --grid-cols-width: 10; }

.voice__stats-section__page-section .card--columned {
  display: block; }

.voice__stats-section__page-section .columned-list,
.voice__stats-section__page-section .columned-list > .columned-list__item {
  margin-top: 0; }
  .voice__stats-section__page-section .columned-list:last-child,
  .voice__stats-section__page-section .columned-list > .columned-list__item:last-child {
    padding-bottom: 0; }

.voice__stats-section__page-section .columned-list__item h5 {
  font-family: "Avenir Next", "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: 22px;
  font-size: 1.375rem;
  font-weight: 600;
  line-height: 28px;
  line-height: 1.75rem;
  font-weight: 500;
  margin: 0; }

.voice__stats-section__page-section .image-container .image {
  object-fit: fill; }

.voice__steps-section__page-section .columned-list__item p:last-of-type {
  margin: 0; }

.voice__data-grid__page-section .page-section__content, .voice__timeline__page-section .page-section__content {
  --grid-rows-padding-top: 2;
  --grid-rows-margin-top: 2;
  --grid-rows-padding-bottom: 2; }

.voice__data-grid__page-section + .voice__data-grid__page-section .page-section__content, .voice__timeline__page-section + .voice__data-grid__page-section .page-section__content, .voice__data-grid__page-section + .voice__timeline__page-section .page-section__content, .voice__timeline__page-section + .voice__timeline__page-section .page-section__content {
  --grid-rows-margin-top: 0;
  --grid-rows-padding-top: 0;
  --grid-rows-padding-bottom: 2; }

.voice__data-grid__page-section p {
  margin: 0; }

.voice__data-grid__page-section h2 {
  font-family: "Avenir Next", "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: 28px;
  font-size: 1.75rem;
  font-weight: 600;
  line-height: 42px;
  line-height: 2.625rem; }

.voice__data-grid__page-section h4 {
  margin: 0;
  padding-top: 28px;
  padding-top: 1.75rem; }

.voice__data-grid__page-section .page-section__content .datagrid__container > table:first-child tr:first-of-type td:first-child {
  margin-top: 0; }

.voice__data-grid__page-section + .voice__data-grid__page-section .page-section__content h4 {
  margin: 0;
  padding-top: 0; }

.voice__timeline__page-section .timeline__title {
  font-family: "Avenir Next", "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: 28px;
  font-size: 1.75rem;
  font-weight: 600;
  line-height: 42px;
  line-height: 2.625rem;
  margin-top: 0;
  margin-bottom: 42px;
  margin-bottom: 2.625rem; }

.voice__timeline__page-section .page-section__content {
  --grid-rows-margin-top: 1; }

.voice__tip__page-section-content {
  --grid-rows-margin-top: 1; }
  .voice__tip__page-section-content .tip__title {
    margin-top: 0; }
  .voice__tip__page-section-content .tip__description {
    margin-top: 0;
    padding-top: 0; }
    .voice__tip__page-section-content .tip__description p:first-child {
      margin-top: 0; }

.voice__hero {
  width: 100%;
  max-width: none; }

.trademark {
  display: inline-block;
  font-size: 8px;
  font-size: 0.5rem;
  line-height: 3;
  vertical-align: top;
  margin: 0; }

.sb-show-main .container__dark,
.sb-show-main .social__footer {
  background: #223547; }

#story-root {
  display: flex;
  justify-content: center;
  margin-top: 0; }

body .buorg {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 7;
  color: #223547;
  font-family: "Avenir Next";
  font-size: 18px;
  font-size: 1.125rem;
  /* stylelint-disable */
  background-color: #fffbf3;
  /* styline-enabled */
  border-bottom: none;
  box-shadow: 0 0.3125rem 0.9375rem 0 rgba(0, 0, 0, 0.1); }

body .buorg-pad {
  padding: 30px;
  padding: 1.875rem; }

body .buorg-icon {
  background: no-repeat 0 center; }
  body .buorg-icon::before {
    content: '';
    position: relative;
    top: -10px;
    top: -0.625rem;
    left: -20px;
    left: -1.25rem;
    background-image: url("/img/alert-circle.svg");
    background-repeat: no-repeat;
    display: inline-block;
    height: 30px;
    height: 1.875rem;
    width: 30px;
    width: 1.875rem; }

body .buorg-buttons {
  display: flex;
  justify-content: center; }

body #buorgig,
body #buorgul,
body #buorgpermanent {
  font-size: 15px;
  font-size: 0.9375rem;
  font-weight: 600;
  line-height: 1;
  text-transform: uppercase;
  border-radius: 0.3125rem;
  letter-spacing: 2px;
  letter-spacing: 0.125rem;
  min-width: 200px;
  min-width: 12.5rem;
  padding: 15px 20px;
  padding: 0.9375rem 1.25rem; }

body #buorgig,
body #buorgpermanent {
  color: #223547;
  background: transparent;
  border-color: #223547;
  box-shadow: 0 0 0 0.0625rem #223547; }

body #buorgul {
  background: #1bd9c4;
  box-shadow: none;
  color: #fff;
  margin-left: 40px;
  margin-left: 2.5rem;
  order: 2; }

/* Table of Contents - Global Sticky Style */
.sticky {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 6; }
@media (min-width: 25em) {
    .card-list__flag--left {
      text-align: left; }
    .heroCaseStudy2__container {
      margin-bottom: 3.5rem; }
    .heroCaseStudy2__content {
      --grid-rows-padding-top: 3;
      height: 28rem; }
      .heroCaseStudy2__content--name-darkthemefalse {
        font-size: 2.375rem;
        line-height: 1.11; }
      .heroCaseStudy2__content--tagline-darkthemefalse {
        padding-top: 0rem; }
      .heroCaseStudy2__content--tagline-darkthemetrue {
        padding-top: 0rem; }
    .heroCaseStudy2__media {
      left: 45%; }
      .heroCaseStudy2__media--image {
        display: none; }
      .heroCaseStudy2__media--mobileImage {
        display: block;
        max-height: 55%;
        width: auto;
        height: auto; }
        .footer__content-left .offices__addresses {
          flex-direction: row; }
    .marketing__summary-padded__page-section-content {
      --grid-rows-margin-top: 6; }
      .marketing-hero__content--name-darkthemefalse {
        font-size: 2.375rem;
        line-height: 1.11; }
      .marketing-hero__content--name-darkthemetrue {
        font-size: 2.375rem;
        line-height: 1.11; }
      .marketing-hero__media--mobileImage {
        bottom: -33%;
        max-height: 55%;
        width: auto;
        height: auto; }
      .newsletter__button.button {
        --grid-cols-width: 6; }
    .project-detail__title {
      font-size: 1.75rem;
      line-height: 1.5;
      margin-bottom: 1.75rem; }
    .project-detail__image {
      padding-top: 3.5rem; }
    .statistics-value {
      font-size: 3.625rem; }
    .statistics-description {
      font-weight: 500; }
    .serivces-case-study__page-section-content {
      --grid-cols-width: 10; }
    .serivces-case-study__tagline {
      margin-bottom: 2.625rem;
      font-size: 1.75rem;
      font-weight: 600;
      line-height: 1.27; }
    .project-overview__text {
      font-size: 1rem;
      font-weight: 400;
      line-height: 1.75rem; }
    .twocolquote-section__headline {
      font-family: "Avenir Next", "Helvetica Neue", Helvetica, Arial, sans-serif;
      font-size: 1rem;
      font-weight: 600;
      line-height: 1.75rem;
      font-size: 1rem;
      font-weight: 600;
      line-height: 1.625rem; }
    .contact__page-section-content {
      --grid-rows-margin-bottom: 4; }
    .contact__page-section-content {
      --grid-rows-margin-bottom: 2; } }
@media (min-width: 40em) {
    .large-cta-text {
      font-size: 1.875rem;
      line-height: 2.375rem; }
    .address__link.address__link {
      margin-top: 0; }
    .awards__headline {
      padding-bottom: 2.8125rem;
      font-size: 2.5rem; }
        .banner__details-container-overlay {
          position: absolute;
          top: 3.75rem;
          left: 3.75rem;
          z-index: 2;
          text-align: left; }
    .banner__details {
      max-width: 50%; }
      .banner__details-overlay {
        margin-right: 0;
        margin-left: 0; }
    .cta__arrow {
      margin-top: 1rem; }
    .card__content--single {
      text-align: center;
      padding: 0 7.5%; }
    .arrow {
      background: none; }
      .arrow::after, .arrow:hover::after, .arrow:focus::after {
        transform: none; }
      .arrow, .arrow:hover, .arrow:focus {
        background: none;
        height: 100%;
        top: 0; }
    .arrow--right, .arrow--right:hover, .arrow--right:focus {
      top: 1%; }
  .arrow--right {
    right: -1.75rem; }
  .arrow--left {
    left: -1.75rem; }
  .card-grid--values {
    display: flex;
    flex-wrap: wrap;
    align-items: stretch; }
  .card-grid--three-up, .card-grid--four-up {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between; }
  .card-grid--three-up {
    align-items: stretch; }
  .card-grid--four-up {
    align-items: flex-start; }
  .card-grid__item--three, .card-grid__item--four {
    float: left;
    width: 48%; }
    .card-grid__item--three:nth-of-type(n + 2), .card-grid__item--four:nth-of-type(n + 2) {
      margin-top: 0;
      margin-left: 4%; }
    .card-grid__item--three:nth-of-type(2n+1), .card-grid__item--four:nth-of-type(2n+1) {
      clear: left;
      margin-left: 0; }
  .card-grid__item--values {
    float: left;
    width: 100%;
    /* We need nesting here for the core value component */
    /* - */ }
    .card-grid__item--values:nth-of-type(even) .core-values__card-content--text {
      order: 2; }
  .card-grid__item--three {
    margin-bottom: 2.6rem; }
  .card-grid__item--four {
    margin-bottom: 4%; }
    .heroCaseStudy2__content {
      --grid-rows-padding-top: 4;
      height: 35rem; }
      .heroCaseStudy2__content--name-darkthemefalse {
        font-size: 3.0625rem;
        line-height: 1.14; }
      .heroCaseStudy2__content--name-darkthemetrue {
        font-size: 3.0625rem;
        line-height: 1.14; }
      .heroCaseStudy2__content--tagline-darkthemefalse {
        font-size: 1.375rem;
        line-height: 1.45;
        padding-top: 0rem; }
      .heroCaseStudy2__content--tagline-darkthemetrue {
        font-size: 1.375rem;
        line-height: 1.45;
        padding-top: 0rem; }
    .certifications__container {
      display: flex;
      flex-wrap: wrap;
      justify-content: space-around;
      align-items: baseline; }
      .certification__container.grid-cols-width {
        --grid-cols-width: 4; }
    .certification__text {
      display: block; }
    .client-overview__page-section-content {
      --grid-rows-padding-top: 4;
      --grid-rows-padding-bottom: 4; }
    .client-overview__paragraph {
      font-family: "Avenir Next", "Helvetica Neue", Helvetica, Arial, sans-serif;
      font-size: 1.375rem;
      font-weight: 600;
      line-height: 1.75rem;
      font-weight: 500;
      font-size: 1.125rem;
      line-height: 1.75rem; }
    .client-summary-list__arrow {
      margin-top: 2rem; }
    .client-quote__page-section-content {
      --grid-rows-padding-top: 4;
      --grid-rows-padding-bottom: 4;
      --grid-cols-width: 10; }
    .client-quote__quote {
      font-family: "Avenir Next", "Helvetica Neue", Helvetica, Arial, sans-serif;
      font-size: 1.375rem;
      font-weight: 600;
      line-height: 1.75rem;
      font-size: 1.125rem;
      font-weight: 500;
      line-height: 1.75rem; }
      .client-quote__author__name {
        font-family: "Avenir Next", "Helvetica Neue", Helvetica, Arial, sans-serif;
        font-size: 1.375rem;
        font-weight: 600;
        line-height: 1.75rem;
        font-size: 1.125rem;
        font-weight: 600; }
      .client-quote__author__position {
        font-family: "Avenir Next", "Helvetica Neue", Helvetica, Arial, sans-serif;
        font-size: 1.375rem;
        font-weight: 600;
        line-height: 1.75rem;
        font-size: 1.125rem;
        font-weight: 400; }
      .client-quote__author__pipe {
        font-family: "Avenir Next", "Helvetica Neue", Helvetica, Arial, sans-serif;
        font-size: 1.375rem;
        font-weight: 600;
        line-height: 1.75rem;
        font-weight: 600;
        line-height: 2.1875rem; }
    .columned-list__item {
      box-sizing: border-box;
      padding: 1rem; }
      .columned-list__item:nth-of-type(n + 2) {
        margin-top: 0; }
    .columned-list__item--2-columns {
      float: left;
      width: 50%; }
      .columned-list__item--2-columns:nth-of-type(2n + 1) {
        clear: left; }
      .columned-list__item--2-columns:nth-of-type(odd) {
        padding-right: 5%; }
      .columned-list__item--2-columns:nth-of-type(even) {
        padding-left: 5%; }
      .container-image__page-section-content {
        --grid-rows-padding-top: 4;
        --grid-rows-padding-bottom: 4; }
      .content-object__summary--article-1 {
        padding-right: 1.25rem;
        padding-left: 1.25rem;
        justify-content: center; }
        .content-object__summary-headline--scaled {
          font-size: 2.75rem; }
        .content-object__summary-metadata--scaled {
          font-size: 1.25rem; }
        .content-object__summary-link--scaled {
          font-size: 1.125rem; }
      .content-object__summary-divider--scaled {
        margin-top: 1.75rem;
        margin-bottom: 1.75rem;
        height: 0.25rem; }
      .content-object__summary-description--article-1 {
        display: block; }
    .core-values__card {
      display: flex;
      min-height: 22.375rem; }
  .core-values__card-content--image .image-container {
    position: absolute; }
  .core-values__card-content--text, .core-values__card-content--image {
    box-sizing: border-box;
    display: block;
    width: 50%; }
    .director__grid.grid {
      grid-template-columns: 1fr 1fr 1fr 1fr; }
      .expertise__grid.grid {
        grid-template-columns: 1fr; }
        .expertise__grid-item:hover .expertise__tile-container--divider, .expertise__grid-item:focus .expertise__tile-container--divider {
          display: block;
          opacity: 1;
          padding: 4% 0;
          visibility: visible; }
        .expertise__grid-item:hover .expertise__tile-divider, .expertise__grid-item:focus .expertise__tile-divider {
          width: 5rem; }
      .expertise__grid-item--s.grid__item:nth-of-type(1n) {
        margin-top: 1.25rem; }
        .expertise__tile-container {
          margin-top: 0;
          margin-bottom: 0;
          display: flex;
          justify-content: center;
          align-items: center; }
          .expertise__tile-container--image {
            flex: 1;
            display: block; }
          .expertise__tile-container--text {
            margin: 0 3%; }
          .expertise__tile-container--divider {
            display: block;
            margin-top: 0;
            opacity: 0;
            padding: 0.3125rem 0;
            visibility: hidden; }
        .expertise__tile-link {
          display: inline; }
      .fluid-image__page-section-content {
        --grid-rows-padding-top: 4;
        --grid-rows-padding-bottom: 4; }
    .footer {
      padding: 3rem 0; }
        .footer__content-left .address__container {
          --grid-cols-width: 6;
          --grid-container-cols-width: 12; }
      .footer__navigation-item {
        line-height: 1.5;
        min-width: 0;
        vertical-align: middle; }
    .client-overview__page-section {
      --grid-rows-margin-top: 4;
      --grid-rows-margin-bottom: 4; }
    .next-project__page-section {
      --grid-rows-margin-top: 4;
      --grid-rows-margin-bottom: 0; }
    .raw-video__page-section {
      --grid-rows-margin-top: 4;
      --grid-rows-margin-bottom: 4; }
    .client-overview__page-section +
.fluid-image__page-section .fluid-image__page-section-content {
      --grid-rows-margin-top: -4; }
  .grid__columns--2 {
    grid-template-columns: 1fr 1fr; }
  .grid__columns--3 {
    grid-template-columns: 1fr 1fr; }
  .grid__columns--4 {
    grid-template-columns: 1fr 1fr; }
  .grid__columns--5 {
    grid-template-columns: 1fr 1fr; }
  .grid__columns--6 {
    grid-template-columns: 1fr 1fr; }
    .grid__articles--3 {
      grid-template-columns: repeat(3, 1fr); }
        .grid-card__content--grid-1, .grid-card__content--grid-2 {
          flex-direction: row; }
        .grid-card__content--grid-3 {
          background: #fff;
          box-shadow: 0 0.625rem 1.25rem 0 rgba(0, 0, 0, 0.06);
          flex-direction: column; }
          .grid-card__section--summary-2 {
            padding-top: 0;
            padding-left: 0.9375rem;
            max-width: 75%; }
          .grid-card__section--summary-3 {
            padding-top: 1.25rem; }
      .grid-card__section--image-2 {
        max-height: 5rem;
        max-width: 25%; }
        .grid-card__section--image-3 .image-container {
          max-height: inherit; }
    .hover-tiles__container {
      display: flex;
      flex-direction: row;
      flex-wrap: wrap;
      justify-content: space-between; }
      .hover-tile__container.grid-cols-width {
        --grid-cols-width: 6; }
      .hs-form input[type=submit] {
        width: unset;
        padding: 0 1.5625rem; }
    .page__theme--ideas .filter__headline.hero__headline,
    .page__theme--ideas .ideas-set__headline.hero__headline {
      font-family: "Avenir Next", "Helvetica Neue", Helvetica, Arial, sans-serif;
      font-size: 4.1875rem;
      font-weight: 600;
      line-height: 4.375rem; }
      .page__theme--ideas .filter__headline.hero__headline::after,
      .page__theme--ideas .ideas-set__headline.hero__headline::after {
        top: -1.75rem; }
      .ideas-set__latest-bar--top::before {
        width: 85%; }
    .job-listing__tabs-left-arrow {
      display: none; }
      .job-listing__tabs-left-arrow.active {
        display: none; }
    .job-listing__tabs-right-arrow {
      display: none; }
      .job-listing__tabs-right-arrow.active {
        display: none; }
    .job-listing__tabs-list {
      overflow-x: visible; }
      .job-listing__tabs-list__gradient {
        display: none; }
    .marketing__summary__page-section-content {
      --grid-rows-margin-top: 4; }
    .marketing__summary-padded__page-section-content {
      --grid-rows-margin-top: 10; }
    .marketing__summary-text {
      font-size: 1.375rem;
      line-height: 1.59; }
    .marketing__cta-button {
      width: unset; }
    .marketing__subheadline {
      font-size: 2.375rem;
      font-weight: 600;
      line-height: 1.29; }
    .marketing-hero__content {
      --grid-rows-padding-top: 4; }
      .marketing-hero__content--name-darkthemefalse {
        font-size: 3.0625rem;
        line-height: 1.14; }
      .marketing-hero__content--name-darkthemetrue {
        font-size: 3.0625rem;
        line-height: 1.14; }
      .marketing-hero__content--subtitle-darkthemefalse {
        font-size: 1.375rem;
        line-height: 1.45;
        padding-top: 0rem; }
      .marketing-hero__content--subtitle-darkthemetrue {
        font-size: 1.375rem;
        line-height: 1.45;
        padding-top: 0rem; }
      .marketing-hero__media--image {
        display: block; }
      .marketing-hero__media--mobileImage {
        display: none; }
    .next-project__page-section-content {
      --grid-rows-padding-top: 4;
      --grid-rows-padding-bottom: 0;
      --grid-cols-width: 8;
      --grid-container-cols-width: 8; }
    .next-project__image.grid-cols-width {
      --grid-cols-width: 8; }
    .next-project__image.grid-rows-padding {
      --grid-rows-padding-top: 3;
      --grid-rows-padding-bottom: 3; }
      .next-project__next.grid-cols-width {
        --grid-cols-width: 8; }
        .next-project__next__link-box {
          margin-bottom: 1.75rem; }
      .offices__locations {
        margin-top: 2rem;
        width: 100%; }
      .offices__addresses {
        flex-direction: row;
        justify-content: space-between;
        align-items: stretch;
        text-align: left; }
          .profile__list-item--article {
            flex-basis: 50%;
            margin-top: 0; }
    .project-detail__page-section-content {
      --grid-rows-padding-top: 2;
      --grid-rows-padding-bottom: 2;
      --grid-cols-width: 8; }
    .project-detail__image {
      padding-top: 3.5rem; }
    .project-statistics__page-section-content {
      --grid-rows-padding-top: 4;
      --grid-rows-padding-bottom: 4; }
    .statistics-box.grid-cols-width {
      --grid-cols-width: 6; }
    .statistics-value {
      font-size: 4.5rem;
      line-height: 4.375rem;
      padding-bottom: 1.75rem; }
    .statistics-description {
      font-size: 1.125rem;
      font-weight: 500;
      line-height: 1.75rem; }
      .promo__content {
        --grid-container-cols-width: 12; }
      .promo__image {
        display: block;
        min-width: 0; }
      .promo__description {
        --grid-cols-width: 8;
        --grid-container-cols-width: 12; }
        .promo__summary-headline.header-two {
          font-size: 1.25rem; }
        .promo__summary-link {
          font-size: 1rem; }
      .service-cards__link {
        display: inline-block;
        padding-left: 1.5625rem; }
    .service-cards__subtitle {
      margin-bottom: 1.25rem; }
    .serivces-case-study__page-section-content {
      --grid-cols-width: 8;
      --grid-rows-padding-top: 4;
      --grid-rows-padding-bottom: 4; }
    .serivces-case-study__tagline {
      font-size: 1.75rem;
      font-weight: 600;
      line-height: 1.5; }
    .serivces-case-study__linkholder {
      padding-right: 1.75rem; }
    .services-overview__container {
      margin: 0 auto; }
        .services-overview__list-item {
          margin-bottom: 3.5rem; }
          .services-overview__list-item.grid-cols-width {
            --grid-cols-width: 6; }
    .simple-headline__title {
      font-size: 3.4rem; }
      .stat.columned-list__item {
        margin-top: 0.625rem; }
    .project-overview__page-section-content {
      --grid-rows-padding-top: 4;
      --grid-rows-padding-bottom: 4;
      --grid-cols-width: 8; }
    .project-overview__text {
      font-size: 1.125rem;
      font-weight: 400;
      line-height: 1.75rem; }
    .timeline::before {
      top: 3.75rem;
      left: 5.625rem; }
    .timeline__content {
      margin-left: 8.4375rem; }
      .timeline__content-title {
        font-size: 1.875rem; }
    .timeline__marker {
      left: 5rem; }
    .tip__container {
      max-width: 30.9375rem; }
    .tip__container--center {
      margin: auto; }
    .tip__container--left {
      margin-right: 6.25rem; }
    .tip__container--right {
      margin-right: 0;
      margin-left: calc(100% - 30.9375rem); }
    .tip__description-container {
      max-width: 43.75rem;
      padding: 0; }
    .tip__section {
      padding: 1.875rem 0; }
      .tip__section-headline {
        font-size: 1.875rem; }
    .tip__image-container {
      margin: 0; }
    .twocolquote-section__page-section-content {
      --grid-rows-padding-top: 4;
      --grid-rows-padding-bottom: 4;
      --grid-cols-width: 8;
      --grid-container-cols-width: 8; }
      .twocolquote-section__container.grid-rows-padding {
        --grid-rows-padding-top: 0; }
    .twocolquote-section__container {
      flex-direction: row;
      justify-content: center; }
    .twocolquote-section__headline {
      font-family: "Avenir Next", "Helvetica Neue", Helvetica, Arial, sans-serif;
      font-size: 1rem;
      font-weight: 600;
      line-height: 1.75rem;
      font-size: 1.125rem;
      font-weight: 500;
      line-height: 1.75rem; }
    .twocolquote-section__headline.grid-cols-width {
      --grid-cols-width: 3; }
      .twocolquote-section__headline.grid-rows-padding {
        --grid-rows-padding-top: 0;
        --grid-rows-padding-bottom: 0; }
    .twocolquote-section__description.grid-cols-width {
      --grid-cols-width: 5; }
        .article__container .promo__content .promo__description {
          --grid-cols-width: 5;
          --grid-container-cols-width: 10; }
  .categories__section-headline-container--benefits {
    width: 60%; }
    .columned-list__item--benefits {
      width: 50%; }
      .careers__benefits__page-section-content::after {
        display: block;
        background-position: top 5% right; }
    .careers__search-container {
      grid-template-columns: 2fr 1fr; }
    .careers__search-form {
      grid-column-start: 1;
      grid-column-end: 3;
      order: 3; }
    .careers__core-values__page-section-content {
      --grid-cols-width: 100%; }
      .company__grid.grid {
        grid-template-columns: 1fr 1fr 1fr 1fr; }
    .home__promos__page-section-content {
      --grid-cols-width: 12; }
        .home__promos__page-section-content .content-object__link .promo__description {
          margin: 0; }
    .home__expertise__page-section-content {
      --grid-cols-width: 12; }
    .home__services__page-section-content {
      --grid-cols-width: 12; }
    .home__certification__page-section-content {
      --grid-cols-width: 12;
      --grid-container-cols-width: 12; }
      .home__hero-header-preheader {
        margin-bottom: 0; }
      .home__hero-header-title, .home__hero-header-quotation {
        font-family: "Avenir Next", "Helvetica Neue", Helvetica, Arial, sans-serif;
        font-size: 3.0625rem;
        font-weight: 600;
        line-height: 3.5rem;
        font-size: 2.1875rem;
        line-height: 3.0625rem; }
        .home__hero-header-subtitle--desc {
          font-size: 1.125rem;
          font-weight: 400;
          line-height: 1.75rem;
          margin-bottom: 1.75rem; }
        .home__hero-header-subtitle-container.aquisition {
          width: 100%; }
      .home__hero-company-container {
        row-gap: 4rem;
        column-gap: 2rem;
        grid-template-columns: repeat(12, 1fr); }
        .home__hero-company-container :not(:nth-child(4)),
        .home__hero-company-container :not(:nth-child(5)),
        .home__hero-company-container :not(:nth-child(9)),
        .home__hero-company-container :not(:nth-child(10)) {
          grid-column-start: span 4; }
        .home__hero-company-container :nth-child(4) {
          grid-row-start: 2;
          grid-column: 3 / span 4; }
        .home__hero-company-container :nth-child(9) {
          grid-row-start: 4;
          grid-column: 3 / span 4; }
        .home__hero-company-container--img {
          max-height: 3.5rem;
          max-width: 8rem;
          min-width: 4rem; }
      .home__hero-dynamit-img {
        display: inline-block;
        width: 14.75rem;
        align-self: flex-end;
        margin-bottom: -4%; }
    .home__our-company__page-section-content {
      align-items: baseline; }
      .home__our-company--title.grid-cols-width {
        --grid-cols-width: 12; }
    .home__our-company--title {
      --grid-cols-width: 12;
      font-family: "Avenir Next", "Helvetica Neue", Helvetica, Arial, sans-serif;
      font-size: 2.375rem;
      font-weight: 500;
      line-height: 2.625rem;
      font-weight: 600; }
      .job__button {
        width: inherit; }
        .job__button--apply {
          margin-top: 0;
          margin-left: 2.5rem;
          border: 2px solid #1bd9c4; }
        .job__button-bar {
          display: flex;
          --grid-rows-padding-top: 0;
          --grid-rows-padding-bottom: 0; }
      .job__description {
        margin-top: 2.1875rem; }
        .job__list-item {
          flex-direction: row;
          justify-content: space-between;
          align-items: center; }
      .job__info {
        --grid-cols-width: 6;
        --grid-container-cols-width: 10;
        padding-bottom: 0;
        max-width: 50%; }
      .job__title {
        font-size: 1.25rem;
        font-weight: 500; }
      .job__location {
        font-size: 1rem; }
      .job__learn-more-button.button {
        --grid-cols-width: 4; }
      .job__empty-state {
        flex: 2; }
        .job__empty-state-columns {
          display: flex;
          flex-direction: row; }
        .job__empty-state--image {
          flex: 1; }
      .job__tabs-total-count {
        text-align: left; }
      .page__theme--portfolio .filter__headline.hero__headline {
        font-family: "Avenir Next", "Helvetica Neue", Helvetica, Arial, sans-serif;
        font-size: 4.1875rem;
        font-weight: 600;
        line-height: 4.375rem; }
    .page__theme--research .hero__media img {
      left: auto;
      width: 1000px;
      transform: scale(0.57) translate(44%, 2.5rem);
      max-width: 100%; }
    .research__content .columned-list__item--3-columns {
      width: 33.333%;
      display: inline-block; }
      .service__lvl2-list__page-section-content .card__content {
        margin: 0 -3.5rem;
        padding: 9.17574% 3.5rem; }
    .services__overview-service {
      width: 33%; }
    .page__theme--voice .hero__content-additional--media-artwork .voice__subheader {
      font-size: 1.125rem;
      line-height: 1.625rem; }
    .page__theme--voice .hero__media img.image {
      transform: scale(0.57) translate(42%, 2.5rem); }
    .voice__stats-section__page-section .columned-list,
    .voice__stats-section__page-section .columned-list > .columned-list__item {
      padding-bottom: 0; }
    .trademark {
      font-size: 0.625rem;
      line-height: 3.5; } }
@media all and (min-width: 40em) and (-ms-high-contrast: none), (min-width: 40em) and (-ms-high-contrast: active) {
    .core-values__card-content--image .image-container {
      /* IE10+ CSS styles go here */
      position: relative; } }
@media (min-width: 45.0625rem) {
      .newsletter__button.button {
        margin: 1.5625rem 0 2rem; } }
@media (min-width: 50em) {
        .promo__summary-link {
          font-size: 1.125rem; } }
@media (min-width: 800px) {
    .page__theme--research .hero__media img {
      max-width: none;
      transform: scale(0.35) translate(62.5rem, 4rem); }
    .page__theme--voice .hero__media img.image {
      transform: scale(0.35) translate(60rem, 4rem); } }
@media (min-width: 56.6875em) {
      .page__theme--home .client-list__logo:nth-child(n + 8) {
        margin-left: auto;
        margin-right: auto; } }
@media (min-width: 60em) {
    .large-cta-text {
      font-size: 2.5rem;
      line-height: 1.27; }
    .address__headline {
      margin-bottom: 0.9375rem; }
      .anchor__button-group {
        margin-top: 0; }
    .awards__page-section-content {
      --grid-rows-padding-top: 2;
      --grid-rows-padding-bottom: 2; }
      .basic-card__headline {
        font-size: 1.75rem; }
      .basic-card__description {
        font-size: 1.125rem; }
    .banner__details {
      max-width: 25%; }
    .categories__divider {
      height: 0.3125rem;
      margin: 0.875rem 0 1.3125rem 0;
      display: block;
      width: 5rem;
      background-color: #1bd9c4;
      transition: width 0.5s ease-out; }
  .categories__section-headline-container {
    width: 75%; }
    .categories__section-headline-container::after {
      content: "";
      display: table;
      clear: both; }
    .cta__arrow {
      margin-top: 2rem; }
    .card--columned .card__content--image .image-container {
      position: absolute; }
    .card--columned {
      display: table;
      width: 100%;
      table-layout: fixed;
      /* Nesting to avoid having to duplicate layout property on content section. */
      /* - */ }
      .card--columned .card__content {
        display: table-cell;
        box-sizing: border-box;
        width: 50%; }
  .card--stacked {
    display: flex;
    flex-direction: column; }
    .card__content--single {
      padding: 0 25%; }
    .card__content--middle {
      display: table-cell;
      vertical-align: middle; }
    .card__content--top {
      vertical-align: top; }
    .card__content--baseline {
      vertical-align: baseline; }
  .arrow--right {
    right: -2.625rem; }
  .arrow--left {
    left: -2.625rem; }
  .card-grid--three-up {
    justify-content: flex-start; }
  .card-grid--four-up {
    justify-content: flex-start; }
  .card-grid__item--values {
    display: flex;
    flex-direction: row;
    width: 50%;
    /* We need nesting here for the core value component */
    /* - */ }
    .card-grid__item--values:nth-of-type(4n+1) .core-values__card-content--text, .card-grid__item--values:nth-of-type(4n+2) .core-values__card-content--text {
      order: 1; }
    .card-grid__item--values:nth-of-type(4n+1) .core-values__card-content--image, .card-grid__item--values:nth-of-type(4n+2) .core-values__card-content--image {
      order: 2; }
  .card-grid__item--three {
    width: 32%;
    margin-bottom: 1.54%; }
    .card-grid__item--three:nth-of-type(n + 2) {
      margin-top: 0;
      margin-left: 2%; }
    .card-grid__item--three:nth-of-type(2n+1) {
      clear: none;
      margin-left: 2%; }
    .card-grid__item--three:nth-of-type(3n+1) {
      clear: left;
      margin-left: 0; }
  .card-grid__item--four {
    margin-bottom: 1.54%;
    width: 23.1%; }
    .card-grid__item--four:nth-of-type(n + 2) {
      margin-top: 0;
      margin-left: 1.54%; }
    .card-grid__item--four:nth-of-type(4n+1) {
      margin-left: 0; }
    .heroCaseStudy2__container {
      margin-bottom: 7rem; }
    .heroCaseStudy2__content {
      --grid-rows-padding-top: 6;
      height: 21rem; }
      .heroCaseStudy2__content--caseStudyLogo {
        width: 3.5rem;
        padding-top: 5%;
        padding-bottom: 0.875rem; }
      .heroCaseStudy2__content--projectType-darkthemefalse {
        padding-bottom: 0.875rem; }
      .heroCaseStudy2__content--projectType-darkthemetrue {
        padding-bottom: 0.875rem; }
      .heroCaseStudy2__content--name-darkthemefalse {
        font-size: 3.0625rem;
        line-height: 1.04;
        width: 40%; }
      .heroCaseStudy2__content--name-darkthemetrue {
        font-size: 3.0625rem;
        line-height: 1.04;
        width: 40%; }
      .heroCaseStudy2__content--tagline-darkthemefalse {
        font-size: 1.375rem;
        line-height: 1.5;
        width: 35%;
        padding-top: 0.875rem; }
      .heroCaseStudy2__content--tagline-darkthemetrue {
        font-size: 1.375rem;
        line-height: 1.5;
        width: 35%;
        padding-top: 0.875rem; }
      .heroCaseStudy2__content--appIcons {
        padding-top: 2.625rem; }
    .heroCaseStudy2__media {
      left: 55%; }
      .heroCaseStudy2__media--image {
        display: block; }
      .heroCaseStudy2__media--mobileImage {
        display: none;
        max-height: 55%;
        width: auto;
        height: auto; }
    .certifications__container {
      display: flex;
      flex-wrap: wrap;
      justify-content: space-between;
      align-items: baseline; }
      .certification__container.grid-cols-width {
        --grid-cols-width: 3; }
    .client-overview__page-section-content {
      --grid-rows-padding-top: 4;
      --grid-rows-padding-bottom: 4;
      --grid-cols-width: 10; }
    .client-overview__paragraph {
      font-family: "Avenir Next", "Helvetica Neue", Helvetica, Arial, sans-serif;
      font-size: 1.375rem;
      font-weight: 600;
      line-height: 1.75rem;
      font-weight: 500;
      font-size: 1.25rem;
      line-height: 2rem; }
    .client-summary-list__page-section-content {
      --grid-rows-padding-top: 2;
      --grid-rows-padding-bottom: 2; }
    .client-summary-list__arrow {
      margin-top: 2.5rem; }
    .client-summary-list__description {
      height: 6.75rem; }
    .client-quote__page-section-content {
      --grid-rows-padding-top: 4;
      --grid-rows-padding-bottom: 4;
      --grid-cols-width: 10; }
    .client-quote__quote {
      font-family: "Avenir Next", "Helvetica Neue", Helvetica, Arial, sans-serif;
      font-size: 1.375rem;
      font-weight: 600;
      line-height: 1.75rem;
      font-size: 1.25rem;
      font-weight: 500;
      line-height: 2rem; }
      .client-quote__author__name {
        font-family: "Avenir Next", "Helvetica Neue", Helvetica, Arial, sans-serif;
        font-size: 1.375rem;
        font-weight: 600;
        line-height: 1.75rem;
        font-size: 1.25rem;
        font-weight: 600;
        line-height: 2rem; }
      .client-quote__author__position {
        font-family: "Avenir Next", "Helvetica Neue", Helvetica, Arial, sans-serif;
        font-size: 1.375rem;
        font-weight: 600;
        line-height: 1.75rem;
        font-size: 1.25rem;
        font-weight: 400;
        line-height: 2rem; }
      .client-quote__author__pipe {
        font-family: "Avenir Next", "Helvetica Neue", Helvetica, Arial, sans-serif;
        font-size: 1.375rem;
        font-weight: 600;
        line-height: 1.75rem;
        font-size: 1.25rem;
        font-weight: 600;
        line-height: 2rem; }
    .columned-list__item--3-columns {
      width: 33%; }
    .columned-list__item--4-columns {
      width: 25%; }
      .columned-list__item--4-columns:nth-of-type(4n + 1) {
        clear: left; }
      .columned-list__item--5-columns {
        width: 20%; }
        .columned-list__item--5-columns:nth-of-type(5n + 1) {
          clear: left; }
    .contact-form__list-item:nth-of-type(-2n + 5) {
      float: left;
      position: relative;
      width: 47.5%; }
    .contact-form__list-item:nth-of-type(-2n + 4) {
      overflow: hidden;
      padding-left: 5%;
      position: relative;
      width: 47.5%; }
    .contact-form__list-item:last-of-type {
      float: left;
      padding-left: 0;
      position: relative;
      width: 100%; }
      .contact-form__field--textarea {
        min-height: 10rem; }
    .contact-form__description {
      padding-top: 3.125rem; }
    .contact-form__button-container {
      padding-left: 0;
      text-align: left;
      flex-direction: row; }
      .contact-form__button-container::after {
        content: "";
        display: table;
        clear: both; }
    .contact-form__confirmation {
      box-sizing: border-box;
      margin: 1.75rem auto 0 auto;
      order: 1;
      text-align: center;
      width: calc(100% - 13.5rem); }
  .contact-form__button {
    margin: 0;
    order: 2;
    width: 13.5rem; }
        .contact-shortform__list-item::after {
          width: 94%; }
    .contact-shortform__field {
      width: 95%; }
      .contact-shortform__field--textarea {
        min-height: 0; }
    .contact-shortform__confirmation {
      display: inline-block;
      max-width: 60%; }
          .content-object__summary-headline--article-2.header-two, .content-object__summary-headline--article-3.header-two {
            font-size: 1.375rem;
            line-height: 1.875rem; }
      .content-object__summary-description--article {
        display: block;
        order: 2; }
        .content-object__summary-description--article.body-type {
          font-size: 0.875rem;
          font-weight: 400;
          line-height: 1.3125rem; }
    .core-values__card {
      display: flex;
      min-height: 22.8125rem; }
    .core-values__card-content--text {
      order: 2; }
  .core-values__card-content--image {
    order: 1; }
    .datagrid {
      margin: 0.875rem auto 0 auto;
      display: table; }
    .datagrid thead {
      display: table-header-group;
      font-size: 1.3rem;
      text-align: center; }
      .datagrid thead tr {
        position: static;
        top: none;
        left: none; }
    .datagrid thead td {
      font-family: "Avenir Next", "Helvetica Neue", Helvetica, Arial, sans-serif;
      font-size: 1rem;
      font-weight: 600;
      line-height: 1.75rem;
      background: #f0f0f4; }
    .datagrid tbody {
      display: table-row-group; }
      .datagrid tbody td:first-of-type {
        font-size: 1rem;
        font-weight: 600;
        border-width: 1px;
        padding: 0.625rem; }
    .datagrid tr {
      display: table-row; }
        .datagrid td:not(:first-of-type)::before {
          display: none; }
      .datagrid td {
        display: table-cell;
        padding: 0.625rem;
        position: static;
        width: 13.75rem; }
      .datagrid--voice-capabilities thead td:first-of-type {
        background: #f0f0f4; }
      .datagrid--voice-capabilities tbody tr:last-of-type td {
        background: #cddfee; }
    .director__container {
      padding-bottom: 2.25rem; }
    .director__title {
      margin-top: 0.9375rem; }
    .description-card__card {
      flex-direction: row;
      position: relative;
      justify-content: space-between; }
      .description-card__card:nth-of-type(n + 2) {
        margin-top: 4.375rem; }
    .description-card__card--right {
      flex-direction: row-reverse; }
    .description-card__card--right .description-card__section--info {
      padding: 0; }
    .description-card__card--left .description-card__section--info {
      padding: 0; }
  .description-card__info-container {
    margin: 0 auto; }
    .description-card__image {
      --grid-cols-width: 5; }
    .description-card__info {
      --grid-cols-width: 4;
      --grid-rows-margin-top: .5;
      --grid-rows-margin-bottom: 0; }
    .description-card__headline {
      margin-bottom: 1.5rem; }
        .eeoc__section:nth-of-type(n + 2) {
          margin-top: 2.5rem; }
        .eeoc__description p,
        .eeoc__description li,
        .eeoc__description--2 strong {
          font-size: 0.75rem;
          line-height: 1.3125rem; }
      .eeoc__title,
      .eeoc__description--0 > strong,
      .eeoc__description--3 > strong {
        font-size: 1.375rem;
        line-height: 1.75rem;
        letter-spacing: -0.06px; }
      .eeoc__label {
        font-size: 1rem; }
      .expertise__list-headline {
        font-size: 2.5rem;
        line-height: 1.25; }
        .expertise__list-headline-container {
          max-width: 91.875rem; }
      .expertise__grid.grid {
        grid-template-columns: 1fr 1fr; }
        .expertise__grid-item--m.grid__item:nth-of-type(1n) {
          flex-direction: row;
          flex-basis: calc(50% - 40px); }
      .expertise__tile {
        border-color: none;
        box-shadow: none; }
        .expertise__tile-container {
          align-items: stretch; }
          .expertise__tile-container--image {
            position: unset;
            top: -5%;
            height: auto;
            margin-right: 0;
            width: auto; }
          .expertise__tile-container--text {
            flex: 1.4;
            margin-top: 3%; }
        .expertise__tile-headline {
          font-size: 130%; }
        .expertise__tile-description {
          font-size: 1.125rem; }
      .filter__headline.hero__headline {
        padding-left: 1.875rem; }
        .filter__headline.hero__headline::before {
          margin-bottom: 1.125rem; }
      .filter__icon {
        margin-right: 0.9375rem; }
      .filter__items {
        grid-template-columns: repeat(4, 1fr);
        grid-row-gap: 1.875rem;
        justify-items: inherit;
        padding: 2.5rem 1.875rem; }
      .filter__label {
        display: inline-block; }
    .footer {
      padding: 4rem 0;
      display: flex; }
      .footer__content-left {
        --grid-cols-width: 9; }
        .footer__content-left .address__container {
          --grid-cols-width: 2;
          --grid-container-cols-width: 9; }
      .footer__content-right {
        --grid-cols-width: 4; }
        .footer__content-right .footer__navigation {
          margin-left: auto;
          margin-right: 0;
          --grid-cols-width: 2;
          --grid-container-cols-width: 4; }
        .footer__content-right .footer__social-links {
          margin-left: auto;
          margin-right: 0;
          --grid-cols-width: 4;
          --grid-container-cols-width: 4; }
        .footer__content-right .footer__social-links .social__footer {
          float: right; }
      .generic-section__app-store-links__page-section {
        --grid-cols-width: 6; }
      .generic-section__featured-content__page-section-content {
        --grid-rows-padding-bottom: 4; }
    .generic-section__introduction__page-section-content {
      --grid-cols-width: 6; }
    .generic-section__app-store-links {
      --grid-cols-width: 6; }
      .generic-section__link-section {
        --grid-rows-padding-top: 2;
        --grid-rows-padding-bottom: 2; }
      .generic-section__quote__page-section {
        --grid-rows-padding-top: 4;
        --grid-rows-padding-bottom: 4; }
      .generic-section__image-carousel__page-section {
        --grid-cols-width: 6; }
      .generic-section__benefits {
        --grid-rows-padding-top: 2;
        --grid-rows-padding-bottom: 2; }
      .generic-section__headline-description__page-section-content {
        --grid-cols-width: 6; }
      .generic-section__page-body__page-section-content {
        --grid-cols-width: 6; }
        .grid--s:nth-child(2n + 1) {
          grid-row-gap: 2.5rem; }
        .grid--s:nth-child(3n + 1) {
          grid-row-gap: 2.5rem; }
        .grid--s:nth-child(4n + 1) {
          grid-row-gap: 2.5rem; }
        .grid--s:nth-child(5n + 1) {
          grid-row-gap: 2.5rem; }
      .grid--m {
        grid-row-gap: 5.625rem; }
      .grid--no-row-gap {
        grid-row-gap: 0; }
  .grid__columns--2 {
    grid-template-columns: repeat(2, 1fr); }
  .grid__columns--3 {
    grid-template-columns: repeat(3, 1fr); }
  .grid__columns--4 {
    grid-template-columns: repeat(4, 1fr); }
  .grid__columns--5 {
    grid-template-columns: repeat(5, 1fr); }
  .grid__columns--6 {
    grid-template-columns: repeat(6, 1fr); }
    .grid__articles:nth-of-type(n + 2) {
      margin-top: 3.125rem; }
  .grid__articles--1 {
    min-height: 22.5rem; }
    .grid__articles--2 {
      grid-row-gap: 3.125rem; }
    .grid__articles--3 {
      grid-row-gap: 3.125rem; }
      .grid-card__content--columned {
        flex-direction: row; }
        .grid-card__content--has-shadow:hover {
          box-shadow: 0 0.625rem 2.5rem 0 rgba(0, 0, 0, 0.06); }
    .grid-card:hover .grid-card__content--transparent .content-object__summary {
      color: #1c77c3; }
    .grid-card--hover-move:hover .grid-card__content {
      transform: translateY(-0.625rem); }
        .grid-card__section--columned {
          width: 50%; }
          .grid-card__section--columned:first-child {
            position: relative;
            overflow: hidden; }
            .grid-card__section--columned:first-child .image-container {
              width: 100%;
              height: 100%;
              top: 0; }
              .grid-card__section--columned:first-child .image-container .image {
                min-height: 100%;
                min-width: 100%; }
            .grid-card__section--columned:first-child .image-container {
              position: absolute; }
        .grid-card__section--summary {
          padding: 1.875rem; }
          .grid-card__section--summary-2 {
            padding-top: 0;
            padding-right: 0;
            padding-left: 0.9375rem; }
          .grid-card__section--image-2::after, .grid-card__section--image-3::after {
            display: none; }
      .grid-card__section--image-2 {
        max-height: 6.875rem; }
      .grid-card__section--image-3 .image {
        border-radius: 0; }
    .headline__h1 {
      --grid-rows-padding-top: 5.5;
      --grid-rows-padding-bottom: 1.5;
      font-family: "Avenir Next", "Helvetica Neue", Helvetica, Arial, sans-serif;
      font-size: 3.0625rem;
      font-weight: 600;
      line-height: 3.5rem; }
      .headline__h1.contact {
        --grid-cols-width: 8; }
    .headline-hero__container {
      padding-top: 7.25rem; }
    .hr--text {
      font-size: 1.875rem; }
      .hover-tile__container.grid-cols-width {
        --grid-cols-width: 4; }
    .ideas-set__title__page-section-content {
      --grid-rows-margin-bottom: 1.5;
      --grid-rows-padding-top: 6;
      --grid-cols-width: 10; }
      .ideas-set__articles__page-section-content .content-object__summary-description--article.body-type {
        font-family: "Avenir Next", "Helvetica Neue", Helvetica, Arial, sans-serif;
        font-size: 1rem;
        font-weight: 400;
        line-height: 1.75rem; }
      .ideas-set__articles__page-section-content .content-object__summary-headline--article-1 {
        font-family: "Avenir Next", "Helvetica Neue", Helvetica, Arial, sans-serif;
        font-size: 2.375rem;
        font-weight: 500;
        line-height: 2.625rem; }
      .ideas-set__articles__page-section-content .content-object__summary-headline--article-2 {
        font-size: 1.375rem;
        line-height: 1.875rem; }
    .ideas-set__latest-bar--top {
      font-size: 1.5625rem;
      letter-spacing: 2.14px;
      margin-top: 2.5rem; }
    .ideas-set__latest-bar--bottom {
      margin-top: 3.125rem; }
    .banded-section__ideas-set {
      margin-bottom: 2.5rem; }
    .introduction__container {
      height: 14rem;
      min-height: 14.625rem; }
    .introduction__container {
      font-size: 2.1875rem;
      height: auto; }
    .job-listing__tabs__page-section-content {
      flex-direction: row;
      align-items: center; }
    .job-listing__tabs-list {
      order: 1;
      --grid-cols-width: 10;
      --grid-container-cols-width: 10;
      justify-content: flex-start; }
    .job-listing__tab {
      margin: 1.5rem 0rem; }
      .job-listing__tab-item {
        flex-grow: 0;
        --grid-cols-width: 4;
        --grid-container-cols-width: 8;
        font-size: 1.75rem; }
        .job-listing__tab-item + .job-listing__tab-item {
          margin-left: 5.3125rem; }
    .job-listing__benefits-link {
      margin: auto 0 auto auto;
      order: 2; }
      .job-search__form {
        flex-direction: row; }
      .job-search__input {
        --grid-cols-width: 5;
        --grid-container-cols-width: 12;
        margin-bottom: 0; }
      .job-search__select {
        margin-bottom: 0; }
        .job-search__button.button {
          --grid-cols-width: 2;
          --grid-container-cols-width: 10;
          font-size: 0.875rem; }
    .job-search-select__container {
      --grid-cols-width: 2;
      --grid-container-cols-width: 10;
      height: 3rem; }
    .job-search-select__button {
      padding-right: 1.5rem;
      padding-left: 1.5rem;
      height: 3rem; }
    .marketing__summary-padded__page-section-content {
      --grid-rows-margin-top: 2;
      --grid-cols-width: 8; }
      .marketing__subheadline__page-section-content {
        --grid-cols-width: 8; }
      .marketing__markdown-content__page-section-content {
        --grid-cols-width: 8; }
    .marketing__form__page-section-content {
      --grid-cols-width: 8; }
    .marketing-hero__content {
      --grid-rows-padding-top: 6; }
      .marketing-hero__content--logo {
        width: 3.5rem;
        padding-top: 5%;
        padding-bottom: 0.875rem; }
      .marketing-hero__content--tagline-darkthemefalse {
        padding-bottom: 0.875rem; }
      .marketing-hero__content--tagline-darkthemetrue {
        padding-bottom: 0.875rem; }
      .marketing-hero__content--name-darkthemefalse {
        font-size: 3.0625rem;
        line-height: 1.29;
        width: 50%; }
      .marketing-hero__content--name-darkthemetrue {
        font-size: 3.0625rem;
        line-height: 1.29;
        width: 50%; }
      .marketing-hero__content--subtitle-darkthemefalse {
        font-size: 1.375rem;
        line-height: 1.5;
        width: 40%;
        padding-top: 0.875rem; }
      .marketing-hero__content--subtitle-darkthemetrue {
        font-size: 1.375rem;
        line-height: 1.5;
        width: 40%;
        padding-top: 0.875rem; }
    .marketing-hero__media {
      left: 55%; }
      .marketing-hero__media--image {
        left: unset;
        right: 0;
        top: 25%; }
      .newsletter__controls {
        flex-direction: row;
        margin-right: 2rem;
        margin-right: 2.1875rem; }
        .newsletter__controls-container {
          flex-wrap: nowrap; }
      .newsletter__button.button {
        padding: 1.25rem 1.5625rem;
        --grid-container-cols-width: 8;
        --grid-cols-width: 2; }
      .newsletter__input {
        margin-top: 0;
        margin-right: 0.9375rem;
        max-width: 12.875rem;
        padding: 1.125rem 0.625rem;
        --grid-container-cols-width: 6;
        --grid-cols-width: 2; }
        .newsletter__input:last-of-type {
          max-width: 16.875rem;
          margin-right: 0; }
        .newsletter__input:only-child {
          max-width: 30.75rem; }
    .next-project__page-section-content {
      --grid-rows-padding-top: 0;
      --grid-rows-padding-bottom: 0;
      --grid-cols-width: 10;
      --grid-container-cols-width: 10; }
    .next-project__container {
      flex-direction: row;
      justify-content: space-between;
      padding: 0; }
    .next-project__image.grid-cols-width {
      --grid-cols-width: 5; }
    .next-project__image.grid-rows-padding {
      --grid-rows-padding-top: 4;
      --grid-rows-padding-bottom: 3; }
    .next-project__next {
      justify-content: center; }
      .next-project__next.grid-cols-width {
        --grid-cols-width: 5; }
      .next-project__next__link.grid-cols-width {
        --grid-cols-width: 5.9; }
        .next-project__next__link-box {
          margin-bottom: 3rem; }
        .next-project__next__link-title {
          font-size: 2.375rem;
          font-weight: 600;
          line-height: 2.625rem; }
      .offices__page-section-content {
        --grid-rows-padding-top: 3;
        --grid-rows-padding-bottom: 2; }
      .offices__locations {
        margin-top: 0; }
      .offices__addresses {
        justify-content: flex-start;
        padding-right: 1rem; }
    .page__container {
      top: 0; }
    .press-and-analyst__page-section-content {
      --grid-rows-padding-top: 2;
      --grid-rows-padding-bottom: 2; }
        .profile__list-item {
          flex-basis: 25%; }
          .profile__list-item--article {
            flex-basis: 75%; }
      .profile__media--overlay {
        position: relative;
        transition: 0.25s ease-in-out; }
        .profile__media--overlay:hover, .profile__media--overlay:focus {
          transform: translateY(-0.625rem);
          /* We need nesting here in order to animation on section hover */
          /* - */ }
          .profile__media--overlay:hover::after, .profile__media--overlay:focus::after {
            content: '';
            position: absolute;
            top: 0;
            right: 0;
            bottom: 0;
            left: 0;
            display: block;
            background: linear-gradient(to top, #223547 0%, rgba(34, 53, 71, 0) 100%);
            border-radius: 3px; }
          .profile__media--overlay:hover .profile__media-body--overlay,
          .profile__media--overlay:hover .profile__media-link, .profile__media--overlay:focus .profile__media-body--overlay,
          .profile__media--overlay:focus .profile__media-link {
            opacity: 1; }
        .profile__media-body--overlay {
          position: absolute;
          bottom: 0;
          left: 0;
          z-index: 2;
          color: #fff;
          line-height: 1.39rem;
          border-radius: 3px;
          opacity: 0;
          padding: 0.75rem;
          text-align: left;
          transition: 0.25s ease-in-out;
          vertical-align: middle;
          width: calc(100% - 1.5rem); }
    .project-detail__page-section-content {
      --grid-rows-padding-top: 4;
      --grid-rows-padding-bottom: 4;
      --grid-cols-width: 8; }
    .project-detail__title {
      margin-bottom: 2.625rem; }
    .project-detail__image {
      padding-top: 3.5rem; }
      .statistics-container .statistics-box + .statistics-box {
        padding-top: 0; }
    .statistics-container {
      flex-direction: row;
      align-items: baseline; }
    .statistics-box.grid-cols-width {
      --grid-cols-width: 4; }
    .statistics-value {
      /* tablet */
      font-size: 4.5rem;
      line-height: 2.06;
      padding-bottom: 1.75rem; }
    .statistics-description {
      font-size: 1.25rem;
      font-weight: 500;
      line-height: 2rem; }
      .promo__section.section__theme--grey {
        background-color: #f8f8f8; }
        .promo__section.section__theme--grey:nth-of-type(n + 2) {
          margin: 0; }
    .promo__section--extra.section--padding-m {
      padding-top: 2.625rem;
      padding-bottom: 2.625rem; }
      .promo__section--extra.section--padding-m:first-child {
        padding-top: 0; }
      .promo__section--extra.section--padding-m:last-child {
        margin-bottom: 5.25rem; }
      .promo__content:hover {
        background-color: #fff;
        box-shadow: 0 0.625rem 1.25rem 0 rgba(0, 0, 0, 0.06); }
        .promo__summary-headline.header-two {
          font-size: 1.875rem;
          padding-right: 0.3125rem; }
    .quote-rotator {
      font-size: 1.875rem; }
      .quote-rotator__page-section-content {
        --grid-rows-padding-top: 2;
        --grid-rows-padding-bottom: 2;
        width: 100%;
        max-width: none; }
      .quote-rotator__container {
        max-width: none; }
        .quote-rotator__list-item {
          width: 50%; }
      .quote-rotator--left, .quote-rotator--right {
        display: block;
        /* We need nesting here to stop fade animation on leftright quotes */
        /* - */ }
        .quote-rotator--left .quote-rotator__list-item--animated, .quote-rotator--right .quote-rotator__list-item--animated {
          animation: none; }
    .quote-rotator--left {
      position: absolute;
      top: 0;
      left: -30%;
      opacity: 0.25; }
    .quote-rotator--right {
      position: absolute;
      top: 0;
      right: -30%;
      opacity: 0.25; }
    .section__content--width-100 {
      width: 100%; }
    .section__content--width-96 {
      width: 96%; }
    .section__content--width-90 {
      width: 90%; }
    .section__content--width-80 {
      width: 80%; }
    .section__content--width-70 {
      width: 70%; }
    .section__content--width-60 {
      width: 60%; }
    .section__content--width-55 {
      width: 55%; }
    .section__content--width-47 {
      width: 47%; }
    .section__content--width-44 {
      width: 44%; }
    .section__content--width-31 {
      width: 31%; }
    .section--padding-xs {
      padding-top: 1.875rem;
      padding-bottom: 1.875rem; }
    .section--padding-s {
      padding-top: 3.375rem;
      padding-bottom: 3.375rem; }
    .section--padding-m {
      padding-top: 5.625rem;
      padding-bottom: 5.625rem; }
    .section--padding-l {
      padding-top: 7.5rem;
      padding-bottom: 7.5rem; }
    .section--no-top-padding {
      padding-top: 0; }
    .section--no-bottom-padding {
      padding-bottom: 0; }
    .service-cards {
      margin-top: 0;
      width: 65%; }
      .service-cards--full {
        width: 100%; }
    .service-cards__subtitle {
      margin-bottom: 1.5625rem; }
      .service-card__section:hover, .service-card__section:focus {
        /* We need nesting here to animate on the entire section hover */
        /* - */ }
        .service-card__section:hover .service-card__divider, .service-card__section:focus .service-card__divider {
          width: 6.25rem; }
      .service-card__cta {
        transition: top 1s, opacity 1s; }
    .serivces-case-study__page-section-content {
      --grid-cols-width: 8;
      --grid-rows-padding-top: 4;
      --grid-rows-padding-bottom: 4; }
    .serivces-case-study__linkholder {
      padding-right: 1.75rem; }
          .services-overview__list-item.grid-cols-width {
            --grid-cols-width: 4; }
    .service__toc {
      --grid-cols-width: 8;
      margin: 0 auto; }
    .steps-section__divider {
      height: 0.3125rem;
      margin: 0.875rem 0 1.3125rem 0;
      display: block;
      width: 5rem;
      background-color: #1bd9c4;
      transition: width 0.5s ease-out; }
    .steps-section__headline {
      margin-top: 0; }
    .simple-headline__page-section-content {
      --grid-rows-margin-top: 5;
      --grid-rows-margin-bottom: 2; }
    .simple-headline__title {
      font-family: "Avenir Next", "Helvetica Neue", Helvetica, Arial, sans-serif;
      font-size: 4.1875rem;
      font-weight: 600;
      line-height: 4.375rem; }
    .single-quote {
      font-size: 2.8125rem; }
      .single-quote__container {
        padding: 0; }
      .stat.columned-list__item {
        display: inline-block;
        margin-top: 1.25rem; }
    .project-overview__text {
      font-size: 1.25rem;
      font-weight: 400;
      line-height: 2rem; }
    .project-overview__services-list {
      justify-content: flex-start; }
      .project-overview__services-list-link {
        width: 33%; }
    .timeline::before {
      left: calc(50% - 2.5px); }
    .timeline__content {
      max-width: 26.25rem; }
    .timeline__content--left {
      margin-right: calc(50% + 4.375rem);
      margin-left: 0;
      box-shadow: 0.5rem 0 2rem 0 rgba(0, 0, 0, 0.06); }
      .timeline__content--left::before {
        display: none; }
      .timeline__content--left::after {
        content: "";
        position: absolute;
        top: 1.875rem;
        left: 100%;
        border: 1.25rem solid transparent;
        border-left-color: #fff; }
    .timeline__content--right {
      margin-left: calc(50% + 4.375rem); }
    .timeline__marker {
      left: calc(50% - 0.78125rem); }
    .tip__section {
      flex-direction: row; }
      .tip__section__text {
        padding: 0.625rem 1.25rem; }
        .tip__section__text--center {
          padding-top: 2.5rem; }
    .tip__image-container--right {
      order: 2; }
    .tip__image-container--center {
      flex-direction: column;
      align-items: center; }
    .twocolquote-section__page-section-content {
      --grid-cols-width: 8;
      --grid-container-cols-width: 6; }
    .twocolquote-section h3 {
      margin-bottom: 1.75rem; }
      .twocolquote-section__container.grid-rows-padding {
        --grid-rows-padding-top: 0;
        --grid-rows-padding-bottom: 1.5; }
    .twocolquote-section__headline {
      font-family: "Avenir Next", "Helvetica Neue", Helvetica, Arial, sans-serif;
      font-size: 1rem;
      font-weight: 600;
      line-height: 1.75rem;
      font-size: 1.125rem;
      font-weight: 500;
      line-height: 1.75rem; }
    .twocolquote-section__headline.grid-cols-width {
      --grid-cols-width: 2; }
    .twocolquote-section__description.grid-cols-width {
      --grid-cols-width: 4; }
      .article__related-content__page-section-content .image-container .image {
        object-fit: scale-down; }
      .article__content__page-section-content {
        --grid-cols-width: 6; }
        .article__body table {
          margin-left: -30%;
          width: 160%; }
        .article__container .promo__content .promo__image {
          --grid-cols-width: 4;
          --grid-container-cols-width: 8; }
        .article__container .promo__content .promo__description {
          --grid-cols-width: 4;
          --grid-container-cols-width: 8; }
      .article__container .promo__content {
        --grid-cols-width: 8; }
        .article__container .promo__content .promo__image, .article__container .promo__content .promo__description {
          --grid-cols-width: 4;
          --grid-container-cols-width: 8; }
        .article__footer .profile__list-item {
          flex-basis: 45%; }
  .categories__section-headline-container--benefits {
    width: 75%; }
      .careers__benefits__page-section-content::after {
        background-position: top 5% right 5%; }
    .careers__benefits__page-section-content {
      --grid-rows-padding-top: 2;
      --grid-rows-padding-bottom: 2; }
    .careers__related-content__page-section-content {
      --grid-rows-padding-top: 2;
      --grid-rows-padding-bottom: 4; }
      .careers__related-content__page-section-content .image-container .image {
        object-fit: scale-down; }
    .careers__carousel__page-section-content {
      --grid-rows-padding-top: 3;
      --grid-rows-padding-bottom: 3; }
    .careers__job-search__page-section-content {
      --grid-rows-margin-bottom: 3; }
    .careers__search-header {
      justify-content: start; }
    .careers__search-headline {
      font-size: 1.75rem;
      line-height: 2.25rem;
      margin-right: 1.5rem; }
    .careers__description__page-section-content {
      --grid-rows-margin-bottom: 8; }
    .careers__client-summary-list__page-section-content {
      --grid-rows-padding-top: 2;
      --grid-rows-padding-bottom: 2; }
    .careers__new-grads-and-interns__page-section-content {
      --grid-rows-padding-top: 2;
      --grid-rows-padding-bottom: 3; }
      .company__description--parent {
        --grid-cols-width: 10;
        --grid-container-cols-width: 10;
        flex-direction: row;
        justify-content: space-between; }
      .company__description--childleft {
        --grid-cols-width: 4;
        --grid-container-cols-wdith: 10; }
      .company__description--childright {
        --grid-cols-width: 5;
        --grid-container-cols-with: 10;
        margin-top: -1.75rem; }
      .company__leadership__page-section-content {
        --grid-rows-padding-top: 2;
        --grid-rows-padding-bottom: 2; }
      .company__board-of-directors__page-section-content {
        --grid-rows-padding-top: 2;
        --grid-rows-padding-bottom: 2; }
        .company__certifications__page-section-content {
          --grid-rows-padding-top: 2;
          --grid-rows-padding-bottom: 2; }
      .company__social-card {
        display: block; }
    .contact__page-section-content {
      --grid-cols-width: 8;
      --grid-rows-margin-bottom: 2; }
    .contact-subheadline {
      font-family: "Avenir Next", "Helvetica Neue", Helvetica, Arial, sans-serif;
      font-size: 1.375rem;
      font-weight: 600;
      line-height: 1.75rem;
      --grid-cols-width: 8; }
    .error__page-section-content {
      --grid-rows-padding-top: 4;
      --grid-cols-width: 8; }
    .error__headline {
      font-size: 4.5rem; }
    .error__description {
      font-size: 2.5rem; }
    .error__troubleshooting-list {
      font-size: 1.875rem; }
    .home__featured__page-section-content {
      --grid-rows-padding-top: 4; }
    .home__expertise__page-section-content {
      --grid-rows-padding-top: 2;
      --grid-rows-padding-bottom: 2; }
    .home__certification__page-section-content {
      --grid-rows-padding-top: 2;
      --grid-rows-padding-bottom: 2; }
    .home__certification__headline {
      font-size: 2.5rem;
      line-height: 1.25; }
      .home__hero__page-section-content {
        --grid-rows-padding-bottom: 5;
        --grid-rows-padding-top: 8; }
      .home__hero-header-title, .home__hero-header-quotation {
        font-size: 2.375rem; }
      .home__hero-header-subtitle {
        font-family: "Avenir Next", "Helvetica Neue", Helvetica, Arial, sans-serif;
        font-size: 1.375rem;
        font-weight: 600;
        line-height: 1.75rem; }
        .home__hero-header-subtitle--desc {
          font-size: 1.375rem;
          font-weight: 500;
          line-height: 1.45; }
        .home__hero-header-subtitle-container {
          width: 70%; }
      .home__hero-company-container {
        row-gap: 3rem;
        column-gap: 4rem; }
      .home__hero-dynamit-img {
        width: 17.25rem; }
      .job__page-section-content {
        --grid-cols-width: 6; }
        .job__description p,
        .job__description li {
          font-size: 1rem;
          line-height: 1.75rem; }
        .job__description h2 {
          font-size: 2rem; }
        .job__description h3 {
          font-size: 1.5rem; }
      .job__application-title {
        font-size: 2.375rem;
        line-height: 3.3125rem; }
        .job__list__page-section-content {
          --grid-rows-padding-top: 2;
          --grid-rows-padding-bottom: 2; }
          .job__list__message-container {
            flex-direction: row; }
          .job__list__message-content {
            width: 60%; }
            .job__list__message-content-title {
              font-size: 1.75rem;
              line-height: 2.625rem; }
          .job__list__message-image {
            padding-top: 2.5rem;
            padding-bottom: 0; }
        .job__list-item:first-of-type {
          margin-top: -0.9375rem;
          padding-top: 0; }
      .job__info {
        --grid-cols-width: 8;
        --grid-container-cols-width: 10; }
      .job__learn-more-button.button {
        --grid-cols-width: 2;
        font-size: 0.875rem; }
      .job__additional-info {
        margin-top: 3.125rem;
        margin-bottom: 3.125rem; }
      .job__tabs-total-count {
        margin: -1.5rem auto 0.9375rem auto; }
      .job__tab-label {
        font-size: 1.75rem;
        font-weight: 600; }
        .job__tab-label .job-listing__badge {
          margin-left: 1rem;
          transform: translateY(-0.375rem); }
      .job__tabs-section.section {
        margin-top: 5rem; }
  .card--columned .card__content.job__empty-state--image {
    width: 30%; }
    .page__theme--portfolio {
      background: #f4f4f4; }
    .portfolio__project-list {
      width: 100%; }
      .portfolio__project-list__page-section-content {
        --grid-rows-padding-bottom: 3;
        --grid-cols-width: 10; }
    .portfolio__projects-grid {
      grid-template-columns: repeat(3, 1fr);
      grid-column-gap: 2.5%;
      grid-row-gap: 1.75rem;
      width: 97%; }
    .portfolio__expertise__page-section-content {
      --grid-rows-padding-top: 2;
      --grid-rows-padding-bottom: 2; }
    .page__theme--research .hero__media img {
      transform: scale(0.4) translate(51rem, 4rem); }
      .research__content .page-section__content {
        --grid-cols-width: 6; }
    .research__timeline__page-section-content {
      --grid-rows-padding-top: 2;
      --grid-rows-padding-bottom: 2; }
    .research__hero__page-section-content {
      --grid-rows-padding-bottom: 2; }
    .service__lvl1-details__page-section-content .card__content:first-of-type {
      padding-right: 4.58787%; }
      .service__lvl2-list__page-section-content .card__content {
        margin: 0;
        padding: 9.17574% 4.58787%; }
      .service__lvl2-list__page-section-content .card--columned {
        padding-top: 4rem;
        margin-top: -2rem; }
      .service__lvl2-list__page-section-content .card--columned .card__content--image {
        padding: 0; }
    .service__lvl2-related__page-section-content {
      --grid-rows-margin-bottom: 4; }
    .services__overview__page-section-content {
      --grid-rows-padding-bottom: 3; }
    .services__overview-content {
      flex-direction: row; }
  .services__overview-services {
    --grid-cols-width: 4; }
    .services__overview-services__description {
      margin-top: 1.75rem; }
    .services__overview-service {
      font-size: 1.125rem;
      width: 50%; }
    .services__overview-image {
      --grid-cols-width: 5; }
      .services__list__page-section-content {
        --grid-rows-padding-top: 2;
        --grid-rows-padding-bottom: 5; }
      .services__list-item {
        display: flex; }
        .services__list-item:hover, .services__list-item:focus {
          /* We need nesting here to animate on the entire section hover */
          /* - */ }
          .services__list-item:hover .service-card__link, .services__list-item:focus .service-card__link {
            background: #fff; }
  .services__description {
    width: 35%;
    padding-right: 2.5625rem; }
    .services__anchor {
      height: 9.375rem;
      margin-top: -9.375rem; }
    .page__theme--voice .hero__headline--media-artwork {
      font-size: 3.5rem;
      margin-bottom: 1.5rem; }
    .page__theme--voice .hero__content-additional--media-artwork .voice__subheader {
      font-size: 1.75rem;
      line-height: 2.25rem; }
    .page__theme--voice .hero__media img.image {
      transform: scale(0.4) translate(49rem, 6rem); }
      .voice__content .page-section__content {
        --grid-cols-width: 6; }
    .voice__data-grid__page-section .page-section__content, .voice__timeline__page-section .page-section__content {
      --grid-cols-width: 10; } }
@media all and (min-width: 60em) and (-ms-high-contrast: none), (min-width: 60em) and (-ms-high-contrast: active) {
    .card--columned .card__content--image .image-container {
      /* IE10+ CSS styles go here */
      position: relative; }
        .grid-card__section--columned:first-child .image-container {
          /* IE10+ CSS styles go here */
          position: relative; } }
@media (min-width: 60.1875rem) {
      .newsletter__button--asking-first.button {
        margin: 1.5625rem 0 2rem; } }
@media (min-width: 76.25rem) {
        .expertise__tile-headline {
          font-size: 1.875rem; } }
@media (min-width: 80em) {
      .heroCaseStudy2__content--name-darkthemefalse {
        font-size: 4.1875rem;
        line-height: 1.04; }
      .heroCaseStudy2__content--name-darkthemetrue {
        font-size: 4.1875rem;
        line-height: 1.04; }
      .certification__container.grid-cols-width {
        --grid-cols-width: 2; }
    .client-overview__paragraph {
      font-family: "Avenir Next", "Helvetica Neue", Helvetica, Arial, sans-serif;
      font-size: 1.375rem;
      font-weight: 600;
      line-height: 1.75rem;
      font-weight: 500;
      font-size: 1.375rem;
      line-height: 2.1875rem; }
    .director__grid.grid {
      grid-template-columns: 1fr 1fr 1fr 1fr 1fr 1fr; }
    .full-width-card__container {
      flex-direction: row; }
    .full-width-card__image {
      height: unset;
      border-radius: 0.25rem 0 0 0.25rem; }
      .full-width-card__image.grid-cols-width {
        --grid-cols-width: 6; }
    .full-width-card__content {
      margin-top: 4.375rem; }
      .full-width-card__content.grid-cols-width {
        --grid-cols-width: 6; }
    .full-width-card__content__container {
      padding-right: 2rem; }
    .marketing__summary-padded__page-section-content {
      --grid-cols-width: 6; }
      .marketing__subheadline__page-section-content {
        --grid-cols-width: 6; }
      .marketing__markdown-content__page-section-content {
        --grid-cols-width: 6; }
    .marketing__form__page-section-content {
      --grid-cols-width: 6; }
    .marketing-hero__container {
      margin-bottom: 7rem; }
      .marketing-hero__media--image {
        max-width: 50%; }
    .project-detail__page-section-content {
      --grid-rows-padding-top: 4;
      --grid-rows-padding-bottom: 4;
      --grid-cols-width: 6; }
    .project-detail__title {
      margin-bottom: 2.625rem; }
    .project-detail__image {
      padding-top: 3.5rem; }
    .statistics-description {
      font-size: 1.375rem;
      line-height: 2.1875rem; }
    .serivces-case-study__page-section-content {
      --grid-cols-width: 6;
      --grid-rows-padding-top: 4;
      --grid-rows-padding-bottom: 4; }
    .serivces-case-study__linkholder {
      padding-right: 1.75rem; }
    .project-overview__page-section-content {
      --grid-cols-width: 6; }
    .project-overview__text {
      font-size: 1.375rem;
      font-weight: 400;
      line-height: 2.1875rem; }
    .twocolquote-section__page-section-content {
      --grid-cols-width: 6; }
      .twocolquote-section__container.grid-rows-padding {
        --grid-rows-padding-top: 0;
        --grid-rows-padding-bottom: 2; }
    .twocolquote-section__headline {
      font-family: "Avenir Next", "Helvetica Neue", Helvetica, Arial, sans-serif;
      font-size: 1rem;
      font-weight: 600;
      line-height: 1.75rem;
      font-size: 1.125rem;
      font-weight: 500;
      line-height: 1.75rem; }
    .careers__description__page-section-content {
      --grid-rows-margin-bottom: 5; }
      .company__grid.grid {
        grid-template-columns: 1fr 1fr 1fr 1fr 1fr 1fr; }
        .company__social-card__container {
          flex-direction: row; }
        .company__social-card__content {
          width: 70%;
          margin-left: 2.75rem; }
      .home__hero.aquisition {
        flex-direction: row; }
      .home__hero__page-section-content {
        --grid-rows-padding-bottom: 6; }
    .home__hero {
      flex-direction: row; }
      .home__hero-header-container.grid-cols-width {
        --grid-cols-width: 6;
        --grid-container-cols-width: 10; }
      .home__hero-header-title.grid-cols-width {
        --grid-cols-width: 5;
        --grid-container-cols-width: 6; }
        .home__hero-header-subtitle-container.aquisition {
          width: 80%; }
      .home__hero-company-container.grid-cols-width {
        --grid-cols-width: 4; }
      .home__hero-company-container {
        grid-template-columns: 1fr 1fr;
        margin-top: -1.75rem;
        row-gap: 1rem;
        column-gap: 3rem; }
        .home__hero-company-container :nth-child(n) {
          grid-column-start: span 1; }
      .home__hero-dynamit-img {
        width: 28.9375rem;
        align-self: baseline;
        margin-top: 6rem; }
    .home__our-company--title {
      font-size: 2.75rem; }
    .page__theme--voice .hero__headline--media-artwork {
      font-size: 4.5rem; }
    .trademark {
      font-size: 0.875rem;
      line-height: 2; } }
@media (min-width: 105em) {
    .awards__page-section-content {
      --grid-cols-width: 12; }
    .core-values__card {
      min-height: 25rem; }
          .grid-card__section--summary-2 {
            padding-left: 1.875rem; }
      .grid-card__section--image-2 {
        max-height: 10.625rem; }
    .headline__h1 {
      --grid-cols-width: 12; }
    .ideas-set__heading__page-section-content {
      --grid-cols-width: 12; }
    .ideas-set__articles__page-section-content {
      --grid-cols-width: 12; }
      .ideas-set__latest-bar--top::before {
        width: 90%; }
    .job-listing__tabs__page-section-content {
      --grid-cols-width: 12; }
      .marketing-hero__content--name-darkthemefalse {
        font-size: 3.9375rem;
        line-height: 1.22; }
      .marketing-hero__content--name-darkthemetrue {
        font-size: 3.9375rem;
        line-height: 1.22; }
      .marketing-hero__media--image {
        max-width: 60%; }
    .press-and-analyst__page-section-content {
      --grid-cols-width: 12; }
          .profile__list-item--article {
            flex-basis: 50%; }
    .statistics-value {
      /* desktop */
      font-size: 6rem;
      line-height: 1.14;
      padding-bottom: 1.75rem; }
    .columned-list__item--benefits {
      padding-top: 3.125rem; }
      .careers__benefits__page-section-content::after {
        background-position: top 2.5rem right 13%; }
    .careers__benefits__page-section-content {
      --grid-cols-width: 12; }
    .careers__carousel__page-section-content {
      --grid-cols-width: 12
      ; }
    .careers__job-search__page-section-content {
      --grid-cols-width: 12; }
    .careers__description__page-section-content {
      --grid-cols-width: 12; }
    .careers__new-grads-and-interns__page-section-content {
      --grid-cols-width: 12; }
      .company__description__page-section-content {
        --grid-cols-width: 12; }
      .company__description--childleft {
        --grid-cols-width: 5;
        --grid-container-cols-width: 12; }
      .company__description--childright {
        --grid-cols-width: 6;
        --grid-container-cols-width: 12; }
      .company__leadership__page-section-content {
        --grid-cols-width: 12; }
      .company__board-of-directors__page-section-content {
        --grid-cols-width: 12; }
        .company__certifications__page-section-content {
          --grid-cols-width: 12; }
      .job__search-form__page-section-content {
        --grid-cols-width: 12; }
        .job__list__page-section-content {
          --grid-cols-width: 12; }
          .job__list__message-container {
            --grid-cols-width: 12; }
      .job__tabs-total-count {
        --grid-cols-width: 12; }
      .job__tab-label-suffix {
        display: inline; }
      .portfolio__project-list__page-section-content {
        --grid-cols-width: 12; }
    .portfolio__projects-grid {
      grid-template-columns: repeat(3, 1fr);
      width: 100%; }
    .services__overview__page-section-content {
      --grid-cols-width: 12;
      --grid-container-cols-width: 12; }
  .services__overview-services {
    --grid-cols-width: 5; }
    .services__overview-image {
      --grid-cols-width: 6; }
      .services__list__page-section-content {
        --grid-cols-width: 12; } }
@media (hover: none) {
    .cta__arrow {
      animation: none; }
    .animation-container--arrow:hover .cta__arrow, .animation-container--arrow:focus .cta__arrow {
      animation: none; } }
@media (max-width: 40em) {
      .client-quote__author__pipe {
        position: absolute;
        left: -625rem;
        top: auto;
        width: 1px;
        height: 1px;
        overflow: hidden; }
    .client-quote__author {
      flex-direction: column; }
      .generic-section__video__page-section-content {
        width: 100%;
        max-width: none; }
      .service-cards--full {
        display: flex;
        flex-direction: column; }
      .home__hero-header-button {
        width: 100%; } }
@media (max-width: 60em) {
        .footer__content-right .footer__navigation-item {
          margin: 0;
          display: inline-block;
          padding-right: 1rem;
          padding-bottom: 0.5rem; }
      .offices__page-section-content .card__content--text {
        padding: 9.17574% 8.58787%; }
    .careers__related-content__page-section-content .card__content--text {
      padding: 9.17574% 8.58787%; }
    .careers__job-search__page-section-content .card__content--text {
      padding: 9.17574% 8.58787%; }
    .careers__core-values__page-section-content .card__content--text {
      padding: 9.17574% 8.58787%; } }
@media only screen and (max-width: 700px) {
  body .buorg div {
    padding: 0.3125rem 0.75rem 0.3125rem 0.5625rem;
    line-height: 1.3em; } }

