/* grid */
.row {
  padding: 0 10px;
}
.row .col-01,
.row .col-02,
.row .col-03,
.row .col-04,
.row .col-05,
.row .col-06,
.row .col-07,
.row .col-08,
.row .col-09,
.row .col-10,
.row .col-11,
.row .col-12 {
  padding: 0 15px;
}
/* Global styles
-------------------------------------------------------------------------------*/
html {
  font-size: 17px;
}
.show-tablet-portrait,
#masthead #main-navigation .show-tablet-portrait {
  display: none;
}
.hide-tablet-portrait,
#masthead #main-navigation .hide-tablet-portrait {
  display: inline-block;
}
.block-button {
  margin-top: 25px;
}
.page-title {
  font-size: 45px;
  margin-bottom: 45px;
  padding-bottom: 45px;
}
.block-title {
  font-size: 30px;
}
.content blockquote {
  font-size: 35px;
  margin: 50px 0;
}
.icon--arrow-down {
  width: 85px;
  height: 85px;
}
/* Header
-------------------------------------------------------------------------------*/
/* Header
-------------------------------------------------------------------------------*/
#masthead {
  top: 0;
  transform: translateY(0);
  transition: transform .3s ease, background 0.5s ease;
}
#masthead .link-logo {
  margin: 25px 5px 25px 25px;
  display: block;
  position: relative;
  float: left;
}
#masthead .link-logo img {
  width: 165px;
  height: auto;
  margin: 0;
  display: block;
}
#masthead .header-content {
  float: right;
  text-align: right;
  display: inline;
  width: auto;
  margin: 17px 25px 5px 0;
}
#masthead .header-content .link-mobile-menu {
  display: none;
}
#masthead .header-content .header-content__icons {
  display: none;
}
#masthead .header-content .header-content__navigation {
  float: right;
}
#masthead .main-navigation {
  font-size: 13px;
  text-align: right;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
  float: right;
  display: block;
  /* Child main navigation
		-------------------------------------------------------------------------------*/
}
#masthead .main-navigation ul {
  margin: 5px 0 0 0;
  list-style: none;
}
#masthead .main-navigation ul li {
  margin: 0 0 0 0;
  padding-left: 7px;
  display: inline-block;
  position: relative;
  line-height: 16px;
}
#masthead .main-navigation ul li a {
  display: block;
  color: #fff;
  font-family: 'NexaBold', Helvetica, serif;
  font-weight: 600;
  text-decoration: none;
  text-transform: uppercase;
}
#masthead .main-navigation ul li a:hover {
  color: #36c726;
}
#masthead .main-navigation ul li.menu-item-has-children > a {
  padding: 1px 22px 1px 5px;
  text-decoration: none;
}
#masthead .main-navigation ul li.menu-item-has-children > a:before {
  content: '';
  width: 22px;
  height: 20px;
  position: absolute;
  top: -1px;
  right: 0px;
  background-color: #fff;
  -webkit-mask: url(../../img/icon-arrow-down.svg) no-repeat 50% 50%;
  mask: url(../../img/icon-arrow-down.svg) no-repeat 50% 50%;
  -webkit-mask-size: 100% 100%;
  mask-size: 100% 100%;
  transition: all .2s;
}
#masthead .main-navigation ul li.menu-item-has-children > a:hover:before {
  background-color: #36c726;
  transition: all .2s;
}
#masthead .main-navigation ul li .sub-menu {
  min-width: 170px;
}
#masthead .main-navigation ul .menu-item-48 .sub-menu {
  min-width: 300px;
}
#masthead .main-navigation ul .current_page_parent ul.children li.current_page_item a,
#masthead .main-navigation ul .current-menu-parent a,
#masthead .main-navigation ul .current_page_parent a,
#masthead .main-navigation ul .current-page-ancestor a,
#masthead .main-navigation ul .current-menu-item a {
  color: #36c726;
}
#masthead .main-navigation ul .current-menu-item.menu-item-has-children > a:before,
#masthead .main-navigation ul .current-menu-parent.menu-item-has-children > a:before {
  background-color: #36c726;
}
#masthead .main-navigation ul li.current-page-ancestor > a:before {
  background-color: #36c726;
}
#masthead .main-navigation > ul > li:last-child > a {
  display: inline-block;
  padding: 10px 35px;
  color: #36c726;
  text-align: center;
  background-color: #fff;
  border-radius: 50px;
  font-size: 13px;
}
#masthead .main-navigation > ul > li:last-child > a:hover {
  background-color: #fff;
  color: #087880;
}
#masthead .main-navigation ul li:hover .sub-menu {
  visibility: visible;
  opacity: 1;
  top: 20px;
  transition: all .2s;
}
#masthead .main-navigation ul li .sub-menu {
  visibility: hidden;
  opacity: 0;
  margin-top: 0;
  padding-top: 20px;
  top: 25px;
  transition: all .3s;
  position: absolute;
  left: 10px;
}
#masthead .main-navigation ul li .sub-menu:before {
  content: '';
  position: absolute;
  top: 11px;
  left: 25px;
  width: 18px;
  height: 18px;
  background-color: #fff;
  transform: rotate(45deg);
}
#masthead .main-navigation ul li .sub-menu li {
  display: block;
  text-align: left;
  margin: 0;
  padding-left: 0;
  position: relative;
}
#masthead .main-navigation ul li .sub-menu li a {
  box-shadow: 2px 2px 3px rgba(0, 0, 0, 0.2);
  padding: 8px 19px 9px 19px;
  color: #4f4f4f;
  display: block;
  width: 100%;
  position: relative;
  background-color: #fff;
  text-transform: unset;
  font-size: 17px;
}
#masthead .main-navigation ul li .sub-menu li a:hover {
  color: #36c726;
}
#masthead .main-navigation ul li .sub-menu li:first-child a {
  padding-top: 20px;
  border-top-left-radius: 4px;
  border-top-right-radius: 4px;
}
#masthead .main-navigation ul li .sub-menu li:last-child a {
  padding-bottom: 20px;
  border-bottom-left-radius: 4px;
  border-bottom-right-radius: 4px;
}
#masthead .main-navigation ul li .sub-menu li.current-menu-item a {
  color: #36c726;
}
#masthead .no-link > a:hover {
  cursor: default;
  color: #fff !important;
}
#masthead .no-link > a:hover:before {
  background-color: #fff !important;
}
/* Header after scroll
-------------------------------------------------------------------------------*/
#masthead.header-appear .link-logo img {
  width: 160px;
}
#masthead.header-appear .main-navigation ul {
  margin: 6px 0 0 0;
}
#masthead.header-appear .main-navigation ul .sub-menu {
  padding-top: 20px;
}
#masthead.header-appear .mini-cart-show-total,
#masthead.header-appear .header-content .header-content__icons .social-icons,
#masthead.header-appear .header-content .header-content__icons .lang-selectors,
#masthead.header-appear .header-content .header-content__icons .wrapper-link-lang-menu {
  display: none;
}
#masthead.header-appear .header-content .header-content__icons {
  margin: 3px 0 0 40px;
}
/* Publications FILTER
-------------------------------------------------------------------------------*/
.publication-items a figure {
  min-height: 215px;
}
/* Gallery slider
-------------------------------------------------------------------------------*/
.gallery {
  margin-top: 60px;
}
.gallery .gallery-cell {
  width: 25%;
  height: 400px;
}
.gallery .gallery-cell figure {
  height: 400px;
}
.gallery-nav .gallery-cell {
  height: 80px;
}
.gallery-nav .gallery-cell figure {
  height: 80px;
}
.slider--team .block-text--slider {
  padding-right: 35px;
}
.slider--team .gallery .gallery-cell {
  height: 450px;
}
.slider--team .gallery .gallery-cell figure {
  height: 450px;
}
/* Content blocks
-------------------------------------------------------------------------------*/
.content {
  padding-bottom: 90px;
}
.content-block {
  padding-top: 90px;
}
.content-block .block-title {
  font-size: 31px;
  margin-top: 10px;
  margin-bottom: 40px;
}
.content-block--cover .block-icon {
  padding-bottom: 15px;
}
.content-block--cover .block-icon img {
  max-width: 75px;
}
.content-block--cover .block-text {
  font-size: 32px;
}
.content-block--cover .wrapper-arrow-down {
  margin-bottom: -70px;
}
.content-block--cover .wrapper-arrow-down.icon-position--outside {
  margin-top: 70px;
}
.content-block--cover .wrapper-arrow-down.icon-position--outside .icon {
  margin-bottom: -70px;
}
.content-block--form .gform_heading .gform_title {
  font-size: 25px;
  margin-bottom: 35px;
}
.content-block--form .gfield {
  padding-right: 25px;
}
.content-block--form .field-1-2-right {
  padding-left: 45px;
  padding-right: 0;
}
.content-block--form .field-1-2-right .textarea {
  height: 164px;
}
.content-block--form .gform_button {
  margin-top: 25px;
}
.content-block--approach .wrapper-images {
  margin-top: -10px;
}
.content-block--approach .wrapper-images .image-icon {
  left: 28%;
}
.content-block--approach .wrapper-images .image-left {
  margin-top: 90px;
}
.content-block--approach .wrapper-images .image-right {
  margin-top: 120px;
  margin-right: -25px;
}
.content-block--values .block-title {
  margin-bottom: 50px;
}
.content-block--values .table {
  display: flex;
  align-items: stretch;
  justify-content: space-between;
  flex-wrap: wrap;
  box-sizing: border-box;
}
.content-block--values .table .table-cell {
  width: 23.5%;
  margin-bottom: 0;
}
.content-block--values .wrapper-block .wrapper-image {
  height: 210px;
}
.content-block--values .wrapper-block .wrapper-content {
  padding: 15px 15px 30px 15px;
}
.content-block--offices .wrapper-content {
  min-height: 130px;
}
.content-block--news .wrapper-news-archive {
  padding-right: 10px;
}
.news-item {
  margin-bottom: 45px;
}
.news-item .block-title {
  font-size: 20px;
  margin-bottom: 5px;
}
.wrapper-news-sidebar section.widget_block .block-title--search {
  margin-top: 0 !important;
}
.wrapper-news-sidebar section.widget_block .block-title--research,
.wrapper-news-sidebar section.widget_block .block-title--most-read {
  padding-bottom: 30px;
  margin-bottom: 30px;
}
.wrapper-news-sidebar section.widget_block .block-title--most-read {
  margin-bottom: 50px;
}
/* SINGLE NEWS page
-------------------------------------------------------------------------------*/
.wrapper-news-single {
  padding-right: 25px;
}
/* SINGLE CASE STUDY page
-------------------------------------------------------------------------------*/
.content-block--case-study-intro .page-title {
  padding-left: 60px;
}
.content-block--case-study-intro .page-title .icon {
  top: 3px;
  width: 45px;
  height: 45px;
}
.content-block--case-study-intro .wrapper-content {
  margin-bottom: 60px;
}
.content-block--case-study-intro .wrapper-image .wrapper-icon .icon,
.content-block--news-single .wrapper-image .wrapper-icon .icon {
  height: 400px;
  width: 400px;
}
.content-block--case-study-intro .wrapper-image .wrapper-icon .icon--location,
.content-block--news-single .wrapper-image .wrapper-icon .icon--location,
.content-block--case-study-intro .wrapper-image .wrapper-icon .icon--drop,
.content-block--news-single .wrapper-image .wrapper-icon .icon--drop {
  width: 320px;
}
.content-block--case-study-map-info .map-info-title {
  font-size: 55px;
  margin-bottom: 20px;
}
.content-block--map .wrapper-icon-bg {
  bottom: -30px;
  left: -150px;
}
.content-block--case-study-publication-link .table .cell-publication-title {
  padding-right: 55px;
}
.content-block--case-study-contact-person .contact-person .table-cell--image {
  min-width: 260px;
}
.content-block--case-study-contact-person .contact-person .wrapper-image {
  width: 260px;
  height: 260px;
}
.content-block--case-study-contact-person .contact-person .wrapper-image .block-link .icon {
  width: 60px;
  height: 60px;
}
.content-block--case-study-contact-person .contact-person .wrapper-content {
  padding-left: 60px;
}
.content-block--text {
  padding-top: 50px;
}
.content-block--text .block-text {
  font-size: 23px;
  padding: 0 30px;
}
/* PILLAR page
-------------------------------------------------------------------------------*/
.content-block--case-study-intro .wrapper-intro-block-1 {
  margin-bottom: 50px;
}
.content-block--case-study-intro .wrapper-intro-block-1 .pillar-intro-content {
  padding-left: 25px;
}
.content-block--case-study-intro .wrapper-intro-block-2 .pillar-intro-content {
  padding-top: 45px;
  padding-right: 25px;
}
.content-block--pillar-services .wrapper-services {
  padding: 60px 20px 50px 20px;
}
.content-block--pillar-services .block-text-intro {
  margin-bottom: 70px;
  padding: 0 80px;
}
.content-block--pillar-services .block-text-intro .block-text {
  margin-top: 30px;
}
.content-block--pillar-services .block-title {
  font-size: 32px;
  text-align: center;
}
.content-block--pillar-services .border-bottom {
  height: 7px;
  margin-top: 13px;
  margin-bottom: 10px;
}
/* Page template: HOME
-------------------------------------------------------------------------------*/
.content--home .content-block--cover {
  padding-bottom: 100px;
}
.content--home .content-block--cover .block-text {
  font-size: 50px;
}
.content--home .content-block--values {
  padding-top: 0;
  margin-top: -100px;
}
.content--home .content-block--values .table .table-cell {
  width: 23%;
}
.content--home .content-block--values .wrapper-image {
  height: 310px;
}
.content-block--spotlight .wrapper-icon-bg,
.content-block--filter .wrapper-icon-bg,
.content-block--spotlight .wrapper-icon-bg--bottom,
.content-block--filter .wrapper-icon-bg--bottom {
  bottom: -240px;
  width: 450px;
  height: 450px;
}
.content-block--spotlight .wrapper-icon-bg .icon,
.content-block--filter .wrapper-icon-bg .icon,
.content-block--spotlight .wrapper-icon-bg--bottom .icon,
.content-block--filter .wrapper-icon-bg--bottom .icon {
  width: 450px;
  height: 450px;
}
.content-block--slider .wrapper-icon-bg {
  top: 480px;
  width: 140px;
  height: 140px;
}
.content-block--slider .wrapper-icon-bg .icon {
  width: 140px;
  height: 140px;
}
.content-block--what-we-do .wrapper-icon-bg {
  bottom: -230px;
  width: 400px;
  height: 400px;
  left: -8%;
}
.content-block--what-we-do .wrapper-icon-bg .icon {
  width: 400px;
  height: 400px;
}
.content--impact .impact-intro-image .wrapper-icon-bg {
  bottom: -600px;
  left: 195px;
  width: 700px;
  height: 700px;
}
.content--impact .impact-intro-image .wrapper-icon-bg .icon {
  width: 700px;
  height: 700px;
}
.content--impact .content-block--filter .wrapper-icon-bg {
  left: -100px;
  bottom: -150px;
  width: 900px;
  height: 900px;
}
.content--impact .content-block--filter .wrapper-icon-bg .icon {
  width: 900px;
  height: 900px;
}
.content--impact .content-block--impact-text .wrapper-icon-bg {
  bottom: -140px;
}
/* PAGE TEMPLATE: TEAM
-------------------------------------------------------------------------------*/
.tab-navigation--what-we-do ul {
  max-width: 1070px;
}
.tab-navigation--what-we-do li {
  width: 25%;
}
.content-block--team .team-members {
  margin-top: 100px;
}
.content-block--supervisory .bg-color--dark-blue {
  padding: 50px 30px 30px 30px;
}
.content-block--supervisory .bg-color--dark-blue > .block-text {
  margin-bottom: 60px;
}
.content-block--supervisory .table .table-cell {
  width: 22% !important;
}
.content-block--what-we-do .wrapper-block .wrapper-content {
  padding: 25px 30px 30px 30px;
}
.content-block--what-we-do .wrapper-block .wrapper-content .block-title {
  margin-bottom: 30px !important;
}
.team-members .table .table-cell {
  width: 33.3333%;
}
.team-members .wrapper-block .wrapper-image {
  width: 100%;
  height: auto;
  padding-top: 100%;
  margin-bottom: 20px;
}
.team-members--archive {
  max-width: 1000px;
  margin: 0 auto 0 auto;
}
.team-members--archive .wrapper-block .wrapper-image {
  width: 250px;
  height: 250px;
  padding-top: 0;
}
/* Layout blocks
-------------------------------------------------------------------------------*/
.content-block--icon-text .wrapper-blocks {
  padding: 60px 30px 20px 30px;
}
.content-block--icon-text .block-image {
  max-width: 70px;
  margin: 0 auto 30px auto;
  min-height: 90px;
}
.content-block--icon-text .block-title {
  font-size: 24px;
  margin-bottom: 15px;
}
.content-block--icon-bullets .flex-block {
  column-gap: 30px;
  row-gap: 30px;
}
.content-block--icon-bullets .flex-block .block-content {
  width: calc(33.3333% - 20px);
}
.content-block--icon-bullets .block-text-intro .block-title {
  margin-bottom: 60px;
}
.content-block--video .content-block__video {
  margin-right: 20px;
}
.content-block--video .block-title {
  margin-bottom: 30px;
}
.wrapper-image-gallery {
  column-gap: 30px;
}
.wrapper-image-gallery .gallery-column {
  width: calc(33.3333% - 20px);
}
/* Footer
-------------------------------------------------------------------------------*/
.footer .footer--contact {
  padding: 50px 0;
}
.footer .footer--contact .footer-block {
  width: 20%;
  float: left;
  padding-right: 10px;
  box-sizing: border-box;
}
.footer .footer--contact .wrapper-icon {
  margin-bottom: 5px;
}
.footer .social-list {
  margin-top: 0;
  margin-bottom: 6px;
}
.absolute-footer {
  padding: 10px 0 30px 0;
}
.absolute-footer .footer-block {
  width: 20%;
  float: left;
  padding-right: 10px;
  box-sizing: border-box;
  display: inline-block;
}
.absolute-footer .copyright-info {
  display: inline-block;
}
