:root {
  font-size: 16px;
  --large-header-height: var(--small-header-height);
  --side-padding: 80px;
}

/* Typography */
.title {
  font-size: 4.4375rem;
}

.subtitle {
  font-size: 2.0625rem;
}

.small-text {
  font-size: 0.8125rem;
  line-height: 1.3;
  letter-spacing: 0.06em;
}

.body-text {
  line-height: 1.3;
}

.card__title, .small-title {
  font-size: 2.4375rem;
}

.small-subtitle {
  font-size: 1.4375rem;
}


/* General */
.button {
  padding: 12px 24px 12px 24px;
  min-width: 120px;
}

.button.link--arrow {
  padding-top: 13px; padding-bottom: 11px;
}

/* Header */
.logo__link--open {
  width: 30px;
}

.header__top {
  height: var(--large-header-height);
}

body:not(.is-menu-open) .is-down .menu-toggle,
.menu-toggle {
  top: 5px;
}

.header__menu .footer__search {
  margin-bottom: 30px;
  padding-top: 60px;
}

/* Footer */

.footer__column:not(:last-child) {
  margin-right: 6vw;
}

.footer__column.footer__column--menu {
  margin-right: 0;
}

.footer__column--menu {
  width: 350px;
}

.menu--main .menu-item {
  font-size: 3.125rem;
  line-height: 1.1;
  margin-bottom: 9px;
}

.footer-block__title {
  margin-bottom: 10px;
}

.footer-block--social {
  margin-bottom: 14px;
}

.footer__column--contact-offices {
  flex: 1;
}

.footer__column--offices {
  flex-basis: 170px;
}

.footer__column--contact {
  flex-basis: 150px
}

.footer__column--social {
  flex-basis: 254px;
}

.footer-block__title {
  font-size: 1.125rem;
}

.search__submit, 
.search__input, 
.search__form .search__submit {
  font-size: 3.125rem;
  padding-bottom: 26px;
}

.footer .search__form {
  margin-top: 103px;
}


@media (max-width: 1190px) {
  :root {
    --side-padding: 60px;
  }

  .footer__column--contact-offices {
    display: block;
    flex: 0 0 250px;
    margin-left: auto;
  }

  .footer__column:not(:last-child) {
    margin-right: 2vw;
  }
}

@media (max-width: 1000px) {
  :root {
    --side-padding: 40px;
  }

  .search__submit, 
  .search__input, 
  .search__form .search__submit,
  .menu--main .menu-item { 
    font-size: 2.3rem; 
  }

  .search__submit, 
  .search__input, 
  .search__form .search__submit {
    padding-bottom: 12px;
    background-size: 27px;
  }

  .search__form .search__submit {
    padding-right: 40px;
  }

  .footer__column--contact-offices { 
    flex-basis: 25%;
  }

  .footer__column--social {
    flex-basis: 230px;
  }
}

/* Custom footer */
.menu__item-wrapper--landing-footer {
  font-size: 1.125rem;
  margin-bottom: -3px;
}

.footer .footer__column.footer__column--logo-landing {
  margin-right: 31px;
}

.is-custom-footer .footer .footer__column--contact-clients {
  display: flex;
  margin-left: auto;
  margin-right: 50px;
}

.is-custom-footer .footer-block__title {
  margin-bottom: 14px;
}

.is-custom-footer .social-link__icon,
.is-custom-footer .social-link__icon * {
  height: 15px;
}

.is-custom-footer .social-link {
  margin-right: 16px;
}

.is-custom-footer .footer__column--social {
  flex: 1;
}

.is-custom-footer .footer__column--clients-landing {
  margin-right: 61px;
}

.is-custom-footer .footer__bottom {
  margin-top: 3px;
  padding-top: 0px;
  margin-bottom: 0;
}

.is-menu-open .header {
  height: calc(var(--large-header-height) + var(--menu-height) + 80px);
}

.is-custom-footer .header .footer__column--header-main {
  flex: 0 0 200px;
  margin-right: 0;
}

.is-custom-footer .header .clients-press--landing-menu .footer-block__link {
  display: inline-block;
}

@media (max-width: 1024px) {
  .is-custom-footer .footer .footer__column--contact-clients {
    display: block;
  }

  .is-custom-footer .footer__column--clients-landing {
    margin-right: 0;
  }

  .is-custom-footer .footer__column--social {
    flex: 1 0 200px;
  }

  .video-carousel--small .video-carousel-thumb__wrapper {
    width: calc(100% / 3);
  }
}

/* Landing page */
  
  /* Hero */
  .section--hero__buttons .link {
    min-width: inherit;
  }

  .titles__before-title {
    margin-bottom: 10px;
  }

  .titles .section--hero__title {
    margin-bottom: 6px;
  }

  .section--hero__subtitle img {
    position: relative;
    top: 8px; margin-left: 5px;
  }

  .section--hero__buttons {
    margin-top: 20px;
  }

  .section--hero__subtitle {
    max-width: 800px;
    line-height: 1.25;
  }

  .section--hero__buttons .link {
    margin: 0 13px;
  }

  /* Titles */
  .section--title--only-subtitle .section--title__subtitle {
    max-width: 850px;
    line-height: 1.5;
  }

  /* Columns */
  .column__title {
    margin-bottom: 55px;
  }

  .column {
    padding: 0 20px;
    max-width: 380px;
  }

  @media (max-width: 900px) {
    .column__title { margin-bottom: 20px;}
  }

  /* Cards */
  .cards {
    padding-left: var(--side-padding);
    padding-right:  var(--side-padding);
  }

  .text-cards__title {
    padding-top: 20px;
    padding-bottom: 20px;
  }

  .card__top {
    margin-bottom: 10px;
  }

  .card__buttons .button {
    min-width: 150px;
  }

  /* Blog */
  .carousel__wrapper--side {
    display: block;
  }

  .carousel__title  {
    margin-bottom: 35px;
  }

  .carousel__sidebar .carousel__nav {
    margin-top: -24px;
    margin-bottom: 22px;
  }

  .carousel__nav-button {
    background-image: url('../images/smaller-left.svg');
    background-size: 26px;
    width: 27px;
    margin-right: 0;
  }

  .carousel__nav-button--next {
    background-image: url('../images/smaller-right.svg');
  }

  .section--blog .thumbnail__wrapper {
    width: calc(100% / 3);
  }

  .thumbnail__title {
    font-size: 1.125rem;
  }

  .thumbnail__excerpt {
    color: var(--lighter-gray);
  }

  .carousel .thumbnail .meta {
    display: flex;
    padding-top: 20px;
    margin-top: 0;
    margin-bottom: 10px;    
  }

  .carousel .thumbnail .meta,
  .thumbnail__button,
  .meta__tag  {
    font-size: 0.75rem;
  }

  .meta__date {
    background-size: 10px;
    padding-left: 17px;
  }

  .carousel .thumbnail .meta__date-duration {
    margin-top: 0;
  }

  /* Contact Us */
  .title.section--contact__title {
    margin-bottom: 10px;
  }

  .section--contact__subtitle {
    max-width: 760px;
  }

  .section--contact__contact {
    width: 440px;
    margin-top: 30px;
  }

  .gfield {
    margin-bottom: 15px;
  }

  .form-item--textarea {
    height: 100px;
  }

  .section--contact__contact .gform_button.button {
    width: 170px;
    padding: 13px;
  }

  .section--contact__contact .gform_footer {
    padding-top: 0;
    bottom: 7px;
  }

  .ginput_recaptcha {
    margin-top: -21px;
  }

  /* Text carousels */
  .thumbnail__image-wrapper {
    margin-bottom: 25px;
  }

  .thumbnail__title {
    margin-bottom: 16px;
  }

  .video-carousel__title {
    margin-bottom: 3px;
  }

  .video-carousel__item {
    width: calc(100% / 3 + 14%);
  }


  .thumbnail__image-wrapper--video:before,
  .deckable__image-link:before, 
  .plyr .plyr__control.plyr__control--overlaid, 
  .plyr .plyr__control.plyr__control--overlaid:hover, 
  .video-carousel__link {
    width: 55px; height: 55px;
    margin-top: -27px; margin-left: -27px;
    background-size: 58px;
    background-position: 0% 50%;
  }

  .video-carousel__image-wrapper {
    margin-bottom: 10px;
  }

  .duration {
    background-size: 11px;
    font-size: 0.685rem;
    padding-left: 16px;
    position: relative;
    top: -1px;
  }

  .video-carousel {
    margin-bottom: 39px;
  }

  .video-carousel__nav.carousel__nav {
    margin-bottom: 0px;
  }

  .video-carousel-thumb--protected .video-carousel__link:before {
    background-size: 12px; right: -5px; top: -4px;
  }

  .video-carousel__protected {
    margin-top: -1px;
  }

/* About */

  /* Intro */
  .lottie-intro__columns {
    max-width: 950px;
    margin: 0 auto;
  }

  /* Team */
  .team-member__text {
    font-size: 0.85rem;
  }

  /* Locations */
  .locations__title {
    margin-bottom: 15px;
  }

  .locations__intro {
    max-width: 450px;
  }

/* Solutions */
.page--solutions .section {
  padding-top: 30px;
  min-height: 0;
}

  /* Text */  
  .section--text__titles > * {
    max-width: 500px; 
  } 
  
  h2.section--text__title.section--text__title--short {
    margin-bottom: 1rem;
  }

  .text-columns {
    max-width: 700px;
    margin: 20px auto;
  }
  
  .section--text__text ul li {
    margin-bottom: 14px;
  }

  .section--text__text.section--text__text--simple-text {
    max-width: 450px;
  }

  /* Columns */
  .section--column-paragraphs__title {
    margin-bottom: 44px;
  }

  .section--column-paragraphs__columns {
    max-width: 1000px;
  }

  /* Thumbnail main */
  .thumbnail-main__section-title {
    margin-bottom: 43px;
  }

  .section--main-thumbnail .thumbnail-main__side {
    margin-right: 50px;
  }



/* Article */
.meta__duration {
  margin-left: 15px; 
}

.article__titles .meta {
  margin-bottom: 10px;
}

.related {
  padding-top: 30px;
}

.related__articles {
  margin-top: 73px;
  margin-bottom: 0;
}

.article__body .meta {
  margin-left: 0;
  padding-top: 55px;
  padding-bottom: 30px;
}

/* Privacy popup */
.wordpress-gdpr-privacy-settings-popup {
  padding: 50px;
  max-width: 760px;
}

.wordpress-gdpr-privacy-settings-popup-info {
  margin-bottom: 30px;
}

.wordpress-gdpr-privacy-settings-popup-services-buttons {
  margin-top: 0;
}

.wordpress-gdpr-privacy-settings-popup-service-categories {
  width: 140px;
}

.wordpress-gdpr-privacy-settings-popup-info {
  margin-left: 108px;
}

/* Presskit */
.download-images {
  --items-per-row: 3;
}

/* Science */
.meta__author-date {
  margin-top: 5px;
} 




/* FAQ */
.page--faq .page__content {
  --base-width: 460px;
}

.faq-intro {
  margin-bottom: 40px;
  padding-bottom: 20px;
}

.faq-column__title {
  margin-bottom: 17px;
}

.faq-column .faq-column__questions {
  margin-bottom: 0;
}

.faq-column:not(:last-of-type) {
  margin-bottom: 40px;
  padding-bottom: 0px;
}

.faq-column .faq-question__link {
  background-position: left 0 top 1px;
}

.is-open .faq-question__text {
  padding-left: 30px;
  padding-top: 19px;
}

/* Newsroom */
  
  /* Press releases */
  .newsroom-releases__wrapper {
    --base-width: 450px;
  }

  .newsroom-releases__title {
    padding-bottom: 2rem;
  }

    
  .press-release-thumb__link span:after {
    margin-left: 6px; margin-top: 6px;
    background-size: 7px;
  }