@media (max-width: 1200px) {

  .header > div > ul > li {
    font-size: 0.75rem;
  }

}

@media (max-width: 1100px) {

  .home__blocks__block {
    min-height: 320px;
  }

  .home__banner__wrapper > div {
    width: 50%;
  }

  .home__banner__wrapper > div:last-of-type {
    
    margin: 0 0 0 0;
  }

  .home__blocks__block h3 {
    font-size: 2rem;
    line-height: 1.375;
  }

  .home__testimonials__testimonial h3 {
    font-size: 1.75rem;
  }

  .home__banner__wrapper > div:first-of-type h2 {
    font-size: 2rem;
  }

  .home__blocks__block > div .button,
  .home__intro > div a.button,
  .bottom__grid__item .button,
  .careers__grid__vacancy .button,
  .buttons a,
  .pure-form button,
  .home__banner__wrapper > div:first-of-type .button {
    font-size: 1rem;
    padding: 10px 12px 8px;
  }

  .contact__columns>div.body h1 {
    font-size: 2.5rem;
  }

  .home__intro > div h2 {
    font-size: 2rem;
  }

  .careers__heading h2 {
    font-size: 2rem;
  }

  .home__intro > div p {
    font-size: 1.5rem;
  }

  .background__box h2,
  .ourPurpose__box h2,
  .ourValues__body h2,
  .people__body h2,
  .articles__featured__columns > div:first-of-type h3 {
    font-size: 2rem;
    line-height: 1.375;
  }

  .people__rows__grid__item h3 {
    font-size: 1.25rem;
  }

  .body h1 {
    font-size: 2.5rem;
  }

  .body h2 {
    font-size: 2rem;
  }

  .body h3 {
    font-size: 1.5rem;
  }

  .bottom__heading h3 {
    font-size: 1.75rem;
  }

  .bottom--services .bottom__grid__item h3 {
    font-size: 1.75rem;
  }

  .heading h1 {
    font-size: 2.5rem;
  }

  .careers__grid__vacancy {
    padding: 24px;
  }

  .contact__columns > div.body p {
    font-size: 1.25rem;
  }

  .home__blocks__block h3 {
    font-size: 1.75rem;
  }

  .home__banner,
  .background,
  .ourValues,
  .textImage__columns,
  .infographic,
  .columns,
  .contact,
  footer,
  .careers,
  .articles__featured,
  .articles__articles, {
    padding: 64px 0;
  }

  .articles--white .articles__featured {
    padding: 64px;
  }
  
  .textImage--whiteBlock {
    padding-bottom: 64px;
  }
  
  .textImage--paddingTop {
    padding-top: 64px;
  }
  
  .textImage--whiteBlock .textImage__columns {
    padding: 24px;
  }

  .home__intro {
    padding: 64px 48px 280px;
  }

  .home__blocks,
  .home__blocks--pullUp {
    margin-bottom: 64px;
  }

  .ourPurpose,
  .home__testimonials {
    padding-bottom: 64px;
  }

  .people {
    padding-top: 64px;
  }

  .bottom {
    padding-top: 64px;
  }

  .heading {
    padding-bottom: 64px;
  }

  .heading {
    min-height: 180px;
  }

  .home__blocks__block {
    padding: 28px;
  }

  .home__blocks__block > div img {
    height: 92px;
  }

  .footer {
    flex-wrap: wrap;
  }

  .footer__column {
    margin-right: 64px;
  }

  .heading h1:after,
  .article__heading h1:after,
  .contact__columns > div.body h1:after {
    height: 8px;
  }

  .background__box>div:last-of-type img {
    max-width: 164px;
  }

  .ourPurpose__box>div:last-of-type {
    width: calc(60% - 48px);
  }

  .ourValues__grid {
    grid-template-columns: repeat(2,1fr);
  }

  .people__rows__grid__item h3 {
    font-size: 1rem;
  }

  .person__profile__details.body h3 {
    font-size: 1.75rem;
  }

  .bottom--services .bottom__grid__item h3 {
    font-size: 1.25rem;
  }

  .textImage--numberedList .textImage__columns {
    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-start;
  }

  .textImage--numberedList .textImage__columns__column {
    width: 100%;
  }

  .careers__grid {
    grid-template-columns: repeat(2,1fr);
  }
  
  .articles__articles__latest__article {
    padding: 0px;
    grid-template-columns: repeat(1,1fr);
    grid-gap: 0;
  }
  
  .articles__articles__latest__article > div:first-of-type {
    margin-bottom: 0;
  }
  
  .articles__articles__latest__article > div:nth-of-type(2) h3 {
    margin-bottom: 20px;
  }
  
  .articles__articles__latest__article > div:last-of-type {
    padding-top: 0;
  }
  
  .articles__articles__heading {
    margin-bottom: 28px;
  }
  
  .articles__articles__latest {
    display: grid;
    grid-template-columns: repeat(2,1fr);
    grid-gap: 20px;
  }
  
  .articles__featured__columns > div:first-of-type,
  .articles__featured__columns > div:last-of-type {
    width: calc(50% - 12px);
  }

}

@media (max-width: 1024px) {

  .container {
    padding: 0 24px;
  }

  .header {
    padding: 24px 0;
    justify-content: space-between;
    align-items: flex-start;
  }

  .header__logo {
    padding: 0;
  }

  .header > div {
    display: none;
  }

  .open-mobile-nav,
  .close-mobile-nav {
    display: flex;
    justify-content: center;
    align-items: center;
    border-radius: 24px;
    width: 48px;
    height: 48px;
    background-color: #dcdcdc;
    color: #6d6d6d;
  }

  .close-mobile-nav {
    position: absolute;
    top: 24px;
    right: 24px;
    background-color: #fff;
    color: #4EB2E5;
  }

  .home__blocks__block > div .button, .home__intro > div a.button, .bottom__grid__item .button, .careers__grid__vacancy .button, .buttons a, .pure-form button, .home__banner__wrapper > div:first-of-type .button, .more-buttons a {
    font-size: 0.75rem;
  }

  .articles--white .articles__featured {
    padding: 48px;
  }

  .footer {
    display: grid;
    grid-template-columns: repeat(3,1fr);
    grid-gap: 24px;
  }

  footer {
    padding: 48px 0;
  }

  .footer__column {
    margin: 0;
  }

  .mobile-nav ul {
    margin-bottom: 20px;
  }
  
  .mobile-nav li {
    font-weight: 400;
  }

  .mobile-nav li {
    text-transform: uppercase;
  }

  .mobile-nav li a {
    display: block;
    margin-bottom: 12px;
    font-size: 1.25rem;
  }

  .mobile-nav li ul {
    padding-left: 12px;
  }

  .mobile-nav li ul li {
    text-transform: none;
  }

  .mobile-nav li a,
  .mobile-nav .social {
    color: #fff;
  }

  .mobile-nav .social {
    font-size: 32px;
  }

  .textImage__columns {
    padding: 48px 0;
  }

  .textImage--numberedList .textImage__columns__column:first-of-type,
  .textImage--numberedList .textImage__columns__column:last-of-type {
    width: 100%;
  }

  .article__heading h1 {
    font-size: 2rem;
  }

  .article__main {
    padding: 48px;
  }

  .article__heading {
    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-start;
  }

  .article {
    padding: 48px 0 0;
  }

  .article__main .body {
    padding: 0;
  }

  .articles__articles__heading h2 {
    font-size: 2rem;
  }

  .articles__articles {
    padding: 48px 0;
  }

}

@media (max-width: 767px) {
  
  .articles__articles__latest__article > div:first-of-type {
    margin-bottom: 20px;
  }
  
  .articles__articles__latest__article > div:nth-of-type(2) h3 {
    margin-bottom: 20px;
  }
  
  .articles__articles__latest__article > div:last-of-type {
    padding-top: 0;
  }
  
  .articles__articles__heading {
    margin-bottom: 20px;
  }
  
  .articles__articles__latest {
    display: grid;
    grid-template-columns: repeat(1,1fr);
    grid-gap: 20px;
  }
  
  .articles__featured__columns {
    flex-direction: column-reverse;
  }
  
  .article__heading>div:last-of-type {
    width: 100%;
  }
  
  .articles__articles__heading h2 {
    font-size: 1.5rem;
  }
  
  .articles__articles__latest__article {
    padding: 20px;
  }
  
  .articles__featured__columns > div:first-of-type,
  .articles__featured__columns > div:last-of-type {
    width: 100%;
  }
  
  .articles__featured__columns > div:last-of-type {
    margin-bottom: 20px;
  }

  .home__banner__wrapper > div {
    width: 100%;
  }

  .home__banner__wrapper > div:first-of-type {
    margin-bottom: 20px;
  }

  .home__banner__wrapper > div:last-of-type {
    width: 100%;
    margin: 0;
  }

  .home__blocks__block h3 {
    font-size: 1.25rem;
    line-height: 1.5;
  }

  .home__testimonials__testimonial h3 {
    font-size: 1.25rem;
  }

  .home__banner__wrapper > div:first-of-type h2 {
    font-size: 1.5rem;
  }

  .home__blocks__block > div .button,
  .home__intro > div a.button,
  .bottom__grid__item .button,
  .careers__grid__vacancy .button,
  .buttons a,
  .pure-form button,
  .home__banner__wrapper > div:first-of-type .button {
    font-size: 0.875rem;
    padding: 10px 12px 8px;
  }

  .contact__columns>div.body h1 {
    font-size: 1.75rem;
  }

  .home__intro > div h2 {
    font-size: 1.5rem;
  }

  .careers__heading h2 {
    font-size: 1.5rem;
  }

  .home__intro > div p {
    font-size: 1.125rem;
  }

  .background__box h2,
  .ourPurpose__box h2,
  .ourValues__body h2,
  .people__body h2,
  .articles__featured__columns > div:first-of-type h3 {
    font-size: 1.5rem;
    line-height: 1.375;
  }

  .people__rows__grid__item h3 {
    font-size: 1.125rem;
  }

  .body h1 {
    font-size: 1.75rem;
  }

  .body h2 {
    font-size: 1.5rem;
  }

  .body h3 {
    font-size: 1.25rem;
  }

  .bottom__heading h3 {
    font-size: 1.25rem;
  }

  .bottom--services .bottom__grid__item h3 {
    font-size: 1.25rem;
  }

  .heading h1 {
    font-size: 1.75rem;
  }

  .careers__grid__vacancy {
    padding: 20px;
  }

  .contact__columns > div.body p {
    font-size: 1.125rem;
  }

  .home__blocks__block h3 {
    font-size: 1.25rem;
  }

  .home__banner,
  .background,
  .ourValues,
  .textImage__columns,
  .infographic,
  .columns,
  .contact,
  footer,
  .careers,
  .articles__featured,
  .articles__articles {
    padding: 20px 0;
  }

  .articles--white .articles__featured {
    padding: 20px;
  }
  
  .textImage--whiteBlock {
    padding-bottom: 20px;
  }
  
  .textImage--paddingTop {
    padding-top: 20px;
  }
  
  .textImage--whiteBlock .textImage__columns {
    padding: 20px;
  }

  .home__intro {
    padding: 20px;
  }

  .home__blocks,
  .home__blocks--pullUp {
    margin-bottom: 20px;
  }

  .ourPurpose,
  .home__testimonials {
    padding-bottom: 20px;
  }

  .people {
    padding-top: 20px;
  }

  .bottom {
    padding-top: 20px;
  }

  .heading {
    padding-bottom: 20px;
  }

  .heading {
    min-height: 120px;
  }

  .home__blocks__block {
    padding: 20px;
  }

  .home__blocks__block > div img {
    height: 80px;
  }

  .footer {
    flex-wrap: wrap;
  }

  .footer__column {
    margin: 0 0 20px;
  }

  .heading h1:after,
  .article__heading h1:after,
  .contact__columns > div.body h1:after {
    height: 4px;
    margin-top: 8px;
  }

  .background__box > div:last-of-type img {
    max-width: 124px;
  }

  .ourPurpose__box>div:last-of-type {
    width: 100%;
  }

  .ourValues__grid {
    grid-template-columns: repeat(1,1fr);
    grid-gap: 20px;
  }

  .people__rows__grid__item h3 {
    font-size: 1rem;
  }

  .person__profile__details.body h3 {
    font-size: 1.25rem;
  }

  .bottom--services .bottom__grid__item h3 {
    font-size: 1.25rem;
  }

  .careers__grid {
    grid-template-columns: repeat(1,1fr);
    grid-gap: 20px;
  }

  .container {
    padding: 0 24px;
  }

  .header {
    height: auto;
    padding: 20px 0;
  }

  .home__banner__wrapper {
    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-start;
  }

  .home__banner__wrapper > div:first-of-type {
    align-items: center;
    text-align: center;
    margin-bottom: 20px;
  }

  .home__banner__wrapper > div:first-of-type h2 {
    line-height: 1.375;
    margin-bottom: 20px;
  }

  .home__intro > div h2 {
    max-width: 280px;
    margin: 0 auto 20px;
  }

  .home__intro {
    padding: 20px 20px 80px;
  }

  .home__blocks--pullUp {
    margin-top: -60px;
  }

  .home__intro > div p {
    font-size: 1rem;
    line-height: 1.75;
    margin-bottom: 20px;
  }

  .home__blocks {
    display: block;
  }

  .home__blocks__block:first-of-type {
    margin-bottom: 20px;
  }

  .home__testimonials__testimonial h4 {
    font-size: 1rem;
  }

  .footer {
    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-start;
  }

  .body p {
    font-size: 1rem;
    line-height: 1.75;
    margin-bottom: 20px;
  }

  .footer__column > ul > li {
    font-size: 1rem;
    line-height: 1.25;
  }

  .footer__column > ul:last-of-type {
    margin-bottom: 0;
  }

  .footer__column > ul > li > ul > li {
    font-size: 1rem;
  }

  .footer__column__social img {
    width: 32px;
    height: auto;
  }

  .footer__column:last-of-type {
    margin-bottom: 0;
  }

  .footer {
    margin-bottom: 20px;
  }

  .footer--legal {
    margin-bottom: 0;
  }

  .footer .body p small {
    font-size: 0.875rem;
  }

  .header__logo img {
    height: 80px;
  }

  .heading h1:after {
    margin-top: 8px;
  }

  .heading {
    min-height: 80px;
  }

  .background__box {
    padding: 20px;
    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-start;
  }

  .background__box > div {
    width: 100%;
  }

  .background__box > div:first-of-type {
    width: 100%;
    margin-bottom: 20px;
  }

  .background__box > div h4 {
    font-size: 0.875rem;
    margin-bottom: 20px;
  }

  .background__box h2, .ourPurpose__box h2, .ourValues__body h2, .people__body h2 {
    margin-bottom: 16px;
  }

  .background__box p {
    font-size: 1rem;
    line-height: 1.75;
    margin-bottom: 20px;
  }

  .ourPurpose__box {
    padding: 20px;
    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-start;
  }

  .ourPurpose__box > div {
    width: 100%;
  }

  .ourPurpose__box > div:first-of-type {
    width: 100%;
    margin-bottom: 20px;
    justify-content: flex-start;
  }

  .ourPurpose__box > div h4 {
    font-size: 0.875rem;
    margin-bottom: 20px;
  }

  .ourPurpose__box p {
    font-size: 1rem;
    line-height: 1.75;
    margin-bottom: 20px;
  }

  .ourPurpose__box > div:first-of-type img {
    width: 140px;
    height: auto;
  }

  .ourValues__body p {
    font-size: 1rem;
    line-height: 1.75;
    margin-bottom: 20px;
  }

  .ourValues__body h4 {
    margin-bottom: 20px;
    font-size: 0.875rem;
  }

  .ourValues__body {
    margin-bottom: 0;
  }

  .ourValues__grid__item {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-start;
    text-align: center;
  }

  .ourValues__grid__item img {
    margin-bottom: 20px;
    width: 120px;
  }

  .ourValues__grid__item .body p {
    margin-bottom: 0;
  }

  .people__body {
    margin-bottom: 20px;
  }

  .people__body h4 {
    font-size: 0.875rem;
    margin-bottom: 20px;
  }

  .people__rows__grid {
    grid-template-columns: repeat(2,1fr);
    grid-gap: 20px;
    margin-bottom: 20px;
  }

  .person {
    padding: 20px;
    margin-bottom: 20px;
  }

  .person__profile {
    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-start;
  }

  .person__profile__details,
  .person__profile__bio {
    width: 100%;
  }

  .person__profile__details.body img {
    margin-bottom: 20px;
  }

  .person__profile__details.body h4 {
    font-size: 1rem;
  }

  .bottom__grid {
    grid-template-columns: repeat(1,1fr);
    grid-gap: 20px;
    margin-bottom: 20px;
  }

  .bottom__grid__item {
    padding: 20px;
  }

  .bottom--services .bottom__grid__item h3 {
    min-height: 0;
    margin-bottom: 20px;
  }

  .bottom__heading {
    margin-bottom: 20px;
  }

  .infographic h2 {
    font-size: 1.5rem;
    margin-bottom: 20px;
  }

  .textImage__columns,
  .columns__column {
    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-start;
  }

  .textImage__columns__column,
  .columns__column > div {
    width: 100%;
  }

  .textImage__columns__column:first-of-type,
  .columns__column > div:first-of-type {
    margin-bottom: 20px;
  }

  .body h2 {
    margin-bottom: 16px;
  }

  .textImage__columns__column:last-of-type > img {
    max-width: 50%;
    margin: 0 auto;
  }

  .careers__heading {
    margin-bottom: 20px;
  }

  .careers__grid__vacancy h5 {
    margin-bottom: 20px;
  }

  .careers__grid__vacancy h4 {
    font-size: 0.875rem;
  }

  .careers__grid__vacancy p {
    font-size: 1rem;
    line-height: 1.75;
    margin-bottom: 20px;
  }

  .numberedList ul {
    grid-template-columns: repeat(1,1fr);
    grid-gap: 20px;
  }

  .numberedList ul li strong {
    font-size: 2rem;
    display: block;
    width: 40px;
  }

  .numberedList ul li span {
    font-size: 1rem;
    line-height: 1.75;
    display: block;
    width: calc(100% - 40px);
  }

  .heading h4 {
    font-size: 1rem;
  }

  .contact__columns {
    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-start;
  }

  .contact__columns > div {
    width: 100%;
  }
  
  .article {
    padding: 28px 0;
  }
  
  .article__main .image {
    margin: 0;
    width: 100%;
  }
  
  .article__main .image__caption {
    width: 100%;
    top: auto;
    bottom: -40px;
  }
  
  .article__main .image__caption:before {
    top: 4px;
  }
  
  .article__main {
    padding: 28px 28px 60px;
  }
  
  .article__heading {
    margin-bottom: 28px;
  }
  
  .article__heading h1 {
    font-size: 1.75rem;
    line-height: 1.25;
  }
  
  .article__main > div {
    margin-bottom: 28px;
  }
  
  .article__heading {
    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-start;
  }
  
  .article__heading > div:first-of-type {
    width: 100%;
  }
  
  .article__heading > div:first-of-type {
    width: 100%;
  }
  
  .article__main .body h3 {
    font-size: 1.25rem;
  }
  
  .article__main {
    padding: 20px;
  }

  body {
    padding-top: 120px;
  }

  .home__blocks__block > div .button, .home__intro > div a.button, .bottom__grid__item .button, .careers__grid__vacancy .button, .buttons a, .pure-form button, .home__banner__wrapper > div:first-of-type .button, .more-buttons a {
    font-size: 0.75rem;
    padding: 10px 12px 8px;
  }

  .footer__column {
    margin: 0;
  }

  .footer {
    grid-template-columns: repeat(1,1fr);
  }

  .mobile-nav li a {
    font-size: 1rem;
  }

  .person__profile__bio .body {
    padding-right: 0;
  }

  .person__profile__details .body h3 {
    font-size: 1.25rem;
  }

  .person__profile__details .body h4 {
    font-size: 1rem;
  }

  .person__profile__details .body:first-of-type {
    margin-bottom: 0;
  }

  .tab__label {
    font-size: 0.875rem;
  }

  .tab__content p {
    padding-right: 0;
  }

  .tab__content div {
    display: flex;
    position: static;
  }

  .get-in-touch__grid {
    grid-template-columns: repeat(1,1fr);
  }

  .get-in-touch__grid > div:first-of-type {
    padding: 24px 0;
  }

  .get-in-touch__grid > div:last-of-type {
    padding: 0;
  }

  .get-in-touch__grid h3 {
    font-size: 1.5rem;
  }

  .get-in-touch__grid p {
    font-size: 1rem;
  }

  .get-in-touch__grid a {
    font-size: 0.75rem;
  }

  .heading {
    padding-top: 28px;
    min-height: 108px;
  }

  .numberedList ul li span strong {
    width: auto;
    padding-top: 8px;
    font-weight: bold !important;
  }

  .articles__articles__filter {
    grid-template-columns: repeat(1,1fr);
    grid-gap: 12px;
  }

  .articles__articles__filter > div:first-of-type h3 {
    font-size: 1rem;
  }

  .articles__articles__latest__article {
    padding: 0;
  }

  .articles__articles__latest__article > div:first-of-type {
    margin-bottom: 0;
  }

  .articles__articles__latest__article > div:nth-of-type(2) h3 {
    font-size: 1.25rem;
  }

  .article__main__blocks {
    grid-template-columns: repeat(1,1fr);
    grid-gap: 12px;
  }

  .article__main .image__caption {
    bottom: 0;
    margin-bottom: 20px;
  }

  .home__banner__wrapper > div:last-of-type {
    padding-right: 36px;
  }

  .home__blocks__block {
    min-height: 240px;
  }

  .home__blocks__block > div img {
    height: auto;
    width: auto;
    max-height: 120px;
    max-width: 100px;
    object-fit: contain;
  }

  .ourPurpose, .home__testimonials {
    padding-bottom: 40px;
  }

  .home__banner, .background, .ourValues, .textImage__columns, .infographic, .columns, .contact, footer, .careers, .articles__featured, .articles__articles {
    padding: 40px 0;
  }

  .world-map h2 {
    font-size: 1.5rem;
  }

  .heading h1 {
    font-size: 2rem;
  }

  .get-in-touch__grid {
    grid-gap: 0;
  }

  .get-in-touch__grid > div:last-of-type {
    display: flex;
    justify-content: center;
  }

  .get-in-touch__grid > div:last-of-type img {
    max-width: 200px;
  }

  .numberedList ul li strong {
    font-size: 1.25rem;
    margin-right: 16px;
    width: 24px;
  }

  .numberedList ul li span strong {
    padding-top: 2px;
  }

  .theme-green .numberedList ul li > span > strong {
    margin-right: 0;
    margin-bottom: 4px;
  }

  .theme-green .numberedList ul li > span br {
    display: none;
  }

  .numberedList ul li span {
    padding-top: 2px;
  }

  .article__main .body.body--excerpt h3 {
    font-weight: bold !important;
  }

}
