/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */

/* Document
   ========================================================================== */

/**
 * 1. Correct the line height in all browsers.
 * 2. Prevent adjustments of font size after orientation changes in iOS.
 */

html {
  line-height: 1.15; /* 1 */
  -webkit-text-size-adjust: 100%; /* 2 */
}

/* Sections
   ========================================================================== */

/**
 * Remove the margin in all browsers.
 */

body {
  margin: 0;
}

/**
 * Render the `main` element consistently in IE.
 */

main {
  display: block;
}

/**
 * Correct the font size and margin on `h1` elements within `section` and
 * `article` contexts in Chrome, Firefox, and Safari.
 */

h1 {
  font-size: 2em;
  margin: 0.67em 0;
}

/* Grouping content
   ========================================================================== */

/**
 * 1. Add the correct box sizing in Firefox.
 * 2. Show the overflow in Edge and IE.
 */

hr {
  box-sizing: content-box; /* 1 */
  height: 0; /* 1 */
  overflow: visible; /* 2 */
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */

pre {
  font-family: monospace, monospace; /* 1 */
  font-size: 1em; /* 2 */
}

/* Text-level semantics
   ========================================================================== */

/**
 * Remove the gray background on active links in IE 10.
 */

a {
  background-color: transparent;
}

/**
 * 1. Remove the bottom border in Chrome 57-
 * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
 */

abbr[title] {
  border-bottom: none; /* 1 */
  text-decoration: underline; /* 2 */
  -webkit-text-decoration: underline dotted;
          text-decoration: underline dotted; /* 2 */
}

/**
 * Add the correct font weight in Chrome, Edge, and Safari.
 */

b,
strong {
  font-weight: bolder;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */

code,
kbd,
samp {
  font-family: monospace, monospace; /* 1 */
  font-size: 1em; /* 2 */
}

/**
 * Add the correct font size in all browsers.
 */

small {
  font-size: 80%;
}

/**
 * Prevent `sub` and `sup` elements from affecting the line height in
 * all browsers.
 */

sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

/* Embedded content
   ========================================================================== */

/**
 * Remove the border on images inside links in IE 10.
 */

img {
  border-style: none;
}

/* Forms
   ========================================================================== */

/**
 * 1. Change the font styles in all browsers.
 * 2. Remove the margin in Firefox and Safari.
 */

button,
input,
optgroup,
select,
textarea {
  font-family: inherit; /* 1 */
  font-size: 100%; /* 1 */
  line-height: 1.15; /* 1 */
  margin: 0; /* 2 */
}

/**
 * Show the overflow in IE.
 * 1. Show the overflow in Edge.
 */

button,
input { /* 1 */
  overflow: visible;
}

/**
 * Remove the inheritance of text transform in Edge, Firefox, and IE.
 * 1. Remove the inheritance of text transform in Firefox.
 */

button,
select { /* 1 */
  text-transform: none;
}

/**
 * Correct the inability to style clickable types in iOS and Safari.
 */

button,
[type="button"],
[type="reset"],
[type="submit"] {
  -webkit-appearance: button;
}

/**
 * Remove the inner border and padding in Firefox.
 */

button::-moz-focus-inner,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
  border-style: none;
  padding: 0;
}

/**
 * Restore the focus styles unset by the previous rule.
 */

button:-moz-focusring,
[type="button"]:-moz-focusring,
[type="reset"]:-moz-focusring,
[type="submit"]:-moz-focusring {
  outline: 1px dotted ButtonText;
}

/**
 * Correct the padding in Firefox.
 */

fieldset {
  padding: 0.35em 0.75em 0.625em;
}

/**
 * 1. Correct the text wrapping in Edge and IE.
 * 2. Correct the color inheritance from `fieldset` elements in IE.
 * 3. Remove the padding so developers are not caught out when they zero out
 *    `fieldset` elements in all browsers.
 */

legend {
  box-sizing: border-box; /* 1 */
  color: inherit; /* 2 */
  display: table; /* 1 */
  max-width: 100%; /* 1 */
  padding: 0; /* 3 */
  white-space: normal; /* 1 */
}

/**
 * Add the correct vertical alignment in Chrome, Firefox, and Opera.
 */

progress {
  vertical-align: baseline;
}

/**
 * Remove the default vertical scrollbar in IE 10+.
 */

textarea {
  overflow: auto;
}

/**
 * 1. Add the correct box sizing in IE 10.
 * 2. Remove the padding in IE 10.
 */

[type="checkbox"],
[type="radio"] {
  box-sizing: border-box; /* 1 */
  padding: 0; /* 2 */
}

/**
 * Correct the cursor style of increment and decrement buttons in Chrome.
 */

[type="number"]::-webkit-inner-spin-button,
[type="number"]::-webkit-outer-spin-button {
  height: auto;
}

/**
 * 1. Correct the odd appearance in Chrome and Safari.
 * 2. Correct the outline style in Safari.
 */

[type="search"] {
  -webkit-appearance: textfield; /* 1 */
  outline-offset: -2px; /* 2 */
}

/**
 * Remove the inner padding in Chrome and Safari on macOS.
 */

[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none;
}

/**
 * 1. Correct the inability to style clickable types in iOS and Safari.
 * 2. Change font properties to `inherit` in Safari.
 */

::-webkit-file-upload-button {
  -webkit-appearance: button; /* 1 */
  font: inherit; /* 2 */
}

/* Interactive
   ========================================================================== */

/*
 * Add the correct display in Edge, IE 10+, and Firefox.
 */

details {
  display: block;
}

/*
 * Add the correct display in all browsers.
 */

summary {
  display: list-item;
}

/* Misc
   ========================================================================== */

/**
 * Add the correct display in IE 10+.
 */

template {
  display: none;
}

/**
 * Add the correct display in IE 10.
 */

[hidden] {
  display: none;
}

:root {
  --max-width: 1280px;
  --gutter: 3.125%;

  --font: "Roboto", Helvetica, Arial, sans-serif;
  --background-color: #fff;
  --background-i-color: #1e1e1d;
  --placeholder-color: #ededed;
  --text-color: #000000;
  --text-light-color: #757575;
  --text-i-color: #ffffff;
  --text-light-i-color: #c4c4c4;
}

*,
*:before,
*:after {
  box-sizing: border-box;
}

body {
  background: #fff;
  background: var(--background-color);
  color: #000000;
  color: var(--text-color);
  font: 400 14px/1.64 "Roboto", Helvetica, Arial, sans-serif;
  font: 400 14px/1.64 var(--font);
}

h2 {
  font: 500 43px/1.1 "Roboto", Helvetica, Arial, sans-serif;
  font: 500 43px/1.1 var(--font);
  letter-spacing: 2.9px;
  text-transform: uppercase;
  margin: 0px 0px 30px 0px;
}

h3 {
  font: 500 19px/1.53 "Roboto", Helvetica, Arial, sans-serif;
  font: 500 19px/1.53 var(--font);
  margin: 0px 0px 20px 0px;
}

blockquote {
  margin: 0px;
  padding: 0px;
  font: 400 24px/1.33 "Roboto", Helvetica, Arial, sans-serif;
  font: 400 24px/1.33 var(--font);
  font-style: italic;
}

blockquote cite {
    display: block;
    margin-top: 10px;
    font: 400 14px/1.64 "Roboto", Helvetica, Arial, sans-serif;
    font: 400 14px/1.64 var(--font);
    font-style: normal;
  }

header nav {
  font: 400 14px/32px "Roboto", Helvetica, Arial, sans-serif;
  font: 400 14px/32px var(--font);
  letter-spacing: 0.2px;
  text-transform: uppercase;
}

section .inner h1,section .inner h2,section .inner  > p {
    text-align: center;
  }

section .inner  > p {
    font: 400 24px/1.33 "Roboto", Helvetica, Arial, sans-serif;
    font: 400 24px/1.33 var(--font);
    margin-bottom: 90px;
  }

@media screen and (max-width: 780px) {

section .inner  > p {
      font: 400 22px/1.33 "Roboto", Helvetica, Arial, sans-serif;
      font: 400 22px/1.33 var(--font);
      margin-bottom: 60px;
  }
    }

p {
  margin: 0px 0px 1em 0px;
}

a,
a:visited {
  color: #757575;
  color: var(--text-light-color);
  -webkit-text-decoration: underline;
  text-decoration: underline;
  transition: color 0.5s;
}

a:focus,
a:hover {
  color: #000000;
  color: var(--text-color);
}

.grid .column p,.team-members .member p {
    color: #757575;
    color: var(--text-light-color);
  }

.inner {
  width: 90%;
  max-width: 1280px;
  max-width: var(--max-width);
  margin: 0px auto;
}

section .inner {
    padding: 120px 0px;
  }

@media screen and (max-width: 780px) {

section .inner {
      padding: 70px 0px;
  }
    }

footer,
section.hero,
section.services,
section.contact,
section.endorsement {
  background: #1e1e1d;
  background: var(--background-i-color);
  color: #ffffff;
  color: var(--text-i-color);
}

footer:not(.does-not-exist) .grid .column p,section.hero .grid .column p,section.services .grid .column p,section.contact .grid .column p,section.endorsement .grid .column p,footer:not(.does-not-exist) .team-members .member p,section.hero .team-members .member p,section.services .team-members .member p,section.contact .team-members .member p,section.endorsement .team-members .member p {
      color: #c4c4c4;
      color: var(--text-light-i-color);
    }

footer:not(.does-not-exist) a:visited {
    color: #c4c4c4;
    color: var(--text-light-i-color);
    -webkit-text-decoration: underline;
    text-decoration: underline;
  }

section.hero a:visited {
    color: #c4c4c4;
    color: var(--text-light-i-color);
    -webkit-text-decoration: underline;
    text-decoration: underline;
  }

section.services a:visited {
    color: #c4c4c4;
    color: var(--text-light-i-color);
    -webkit-text-decoration: underline;
    text-decoration: underline;
  }

section.contact a:visited {
    color: #c4c4c4;
    color: var(--text-light-i-color);
    -webkit-text-decoration: underline;
    text-decoration: underline;
  }

section.endorsement a:visited {
    color: #c4c4c4;
    color: var(--text-light-i-color);
    -webkit-text-decoration: underline;
    text-decoration: underline;
  }

footer:not(.does-not-exist) a,section.hero a,section.services a,section.contact a,section.endorsement a {
    color: #c4c4c4;
    color: var(--text-light-i-color);
    -webkit-text-decoration: underline;
    text-decoration: underline;
  }

footer:not(.does-not-exist) a:hover,section.hero a:hover,section.services a:hover,section.contact a:hover,section.endorsement a:hover,footer:not(.does-not-exist) a:focus,section.hero a:focus,section.services a:focus,section.contact a:focus,section.endorsement a:focus {
    color: #ffffff;
    color: var(--text-i-color);
  }

footer {
  padding: 0px 0px 90px 0px;
  text-align: center;
  color: #c4c4c4;
  color: var(--text-light-i-color);
}

footer .logo {
    width: 131px;
    height: 32px;
    margin: 0px auto 20px auto;
  }

.grid:after {
    content: "";
    display: table;
    clear: both;
  }

@media screen and (max-width: 1000px) {

.grid {
    --total-columns: 2;
}
  }

.grid .column {
    width: 22.65625%;
    width: calc(25% - var(--gutter)*3/4);
    float: left;
    margin-left: 3.125%;
    margin-left: var(--gutter);
    margin-bottom: 40px;
  }

.grid .column:nth-child(4n + 1) {
      margin-left: 0px;
      clear: both;
    }

@media screen and (max-width: 1000px) {

.grid .column {
      width: 48.4375%;
      width: calc(50% - var(--gutter)*1/2);
  }
      .grid .column:nth-child(2n + 1) {
        margin-left: 0px;
        clear: both;
      }
    }

@media screen and (max-width: 780px) {

.grid .column {
      width: 100%;
      margin-left: 0px;
      margin-bottom: 20px;
  }
    }

.team-members:after {
    content: "";
    display: table;
    clear: both;
  }

.team-members .member {
    width: 31.25%;
    width: calc(33.3333333333% - var(--gutter)*2/3);
    float: left;
    margin-left: 3.125%;
    margin-left: var(--gutter);
  }

.team-members .member:nth-child(3n + 1) {
      margin-left: 0px;
      clear: both;
    }

@media screen and (max-width: 780px) {

.team-members .member {
      margin-bottom: 20px;
      width: 100%;
      margin-left: 0px;
  }
    }

.grid .image,.team-members .image {
    position: relative;
    width: 100%;
    padding-bottom: 100%;
    margin-bottom: 30px;
  }

.grid .image,.team-members .image,.grid .image img,.team-members .image img {
      transition: all 1s ease-out;
    }

.grid .image img,.team-members .image img {
      position: absolute;
      width: 100%;
      height: auto;
      opacity: 1;
    }

.grid .image.hidden,.team-members .image.hidden {
      transform: translateY(20px);
    }

.grid .image.hidden,.team-members .image.hidden,.grid .image.hidden img,.team-members .image.hidden img {
        transition: all 0s;
      }

.grid .image.hidden img,.team-members .image.hidden img {
        opacity: 0;
      }

.logo {
  display: block;
  background: url('data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20width%3D%22620%22%20height%3D%22151%22%20viewBox%3D%220%200%20620%20151%22%3E%3Cdefs%3E%3Cpath%20id%3D%22a%22%20d%3D%22M0%20150.837h619.779V.001H0z%22%2F%3E%3C%2Fdefs%3E%3Cg%20fill%3D%22none%22%20fill-rule%3D%22evenodd%22%3E%3Cpath%20fill%3D%22%23FFF%22%20d%3D%22m82.85%2054.77%209.724%2027.696h-19.45l9.725-27.695zm-18.436%2052.598%205.439-15.547h25.993l5.485%2015.547h12.166L88.104%2040.603H77.64l-25.347%2066.765h12.12zm83.401-22.011-1.15-29.393%2019.77%2051.404h8.34l19.817-51.453-1.15%2029.442v22.011h11.613V40.603h-15.072l-19.309%2051.173-19.357-51.173h-15.115v66.765h11.613zM265.94%2096.66q3.065-2.45%203.064-6.49.001-4.4-3.11-6.785-3.11-2.386-11.22-4.815-8.113-2.43-12.905-5.409-9.17-5.735-9.171-14.95%200-8.07%206.614-13.299%206.61-5.23%2017.167-5.228%207.004.001%2012.49%202.567%205.48%202.571%208.615%207.316t3.136%2010.522h-11.616q0-5.227-3.295-8.182-3.294-2.96-9.425-2.96-5.711.002-8.869%202.43-3.16%202.43-3.159%206.788.001%203.67%203.413%206.12%203.408%202.453%2011.244%204.77%207.834%202.313%2012.581%205.273%204.748%202.956%206.958%206.786%202.214%203.832%202.214%208.965c0%205.567-2.145%209.989-6.43%2013.276q-6.43%204.93-17.444%204.93-7.281%200-13.386-2.685-6.109-2.679-9.494-7.405c-2.26-3.146-3.39-6.817-3.39-11.004h11.662q0%205.686%203.779%208.804t10.829%203.118q6.082%200%209.148-2.452zm56.05%2010.708h11.567V49.955h20.922v-9.352h-53.227v9.352h20.738zm68.054-57.412h12.304q6.082.091%209.146%203.026%203.067%202.935%203.067%208.3%200%205.14-3.32%208.093-3.317%202.96-9.215%202.96h-11.982zm0%2031.731h12.996l13.458%2025.682h12.489v-.596l-15.072-27.805q5.808-2.431%209.056-6.954%203.252-4.518%203.252-11.22%200-9.82-6.318-15.008-6.313-5.184-17.926-5.185h-23.597v66.768h11.662zm86.902-26.917%209.722%2027.696h-19.446zM463.95%2091.822h25.99l5.488%2015.547h12.166l-25.396-66.765h-10.46l-25.35%2066.765h12.123zm76.81%2015.546h11.566V49.955h20.923v-9.352H520.02v9.352h20.738z%22%2F%3E%3Cmask%20id%3D%22b%22%20fill%3D%22%23fff%22%3E%3Cuse%20xlink%3Ahref%3D%22%23a%22%2F%3E%3C%2Fmask%3E%3Cpath%20fill%3D%22%23FFF%22%20d%3D%22M9.033%20141.849h601.715V8.987H9.033zM610.748.001H0v150.836h619.782V.001z%22%20mask%3D%22url%28%23b%29%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E') no-repeat;
  background-position: 50% 50%;
  background-size: contain;
  text-indent: -9000px;
}

header {
  position: fixed;
  z-index: 100;
  background-color: rgba(30, 30, 29, 0);
  width: 100%;
  padding: 20px 0px;
  transition: background-color 0.3s ease-out;
}

header .logo {
    float: left;
    width: 132px;
    height: 32px;
  }

@media screen and (max-width: 780px) {

header .logo {
      display: none;
  }
    }

header nav {
    float: right;
  }

header nav a:visited {
      color: #ffffff;
      color: var(--text-i-color);
      -webkit-text-decoration: none;
      text-decoration: none;
      margin-left: 20px;
    }

header nav a {
      color: #ffffff;
      color: var(--text-i-color);
      -webkit-text-decoration: none;
      text-decoration: none;
      margin-left: 20px;
    }

@media screen and (max-width: 780px) {

header nav a:visited {
        display: none;
    }

header nav a {
        display: none;
    }
        header nav a.language-toggle:visited {
          display: inline-block;
        }
        header nav a.language-toggle:not(.does-not-exist) {
          display: inline-block;
        }
      }

header nav a:hover,header nav a:focus {
      color: #c4c4c4;
      color: var(--text-light-i-color);
    }

header.scrolled {
    background-color: rgba(30, 30, 29, 0.9);
  }

section {
  position: relative;
}

section .overlay,section .background {
    position: absolute;
    background-size: cover;
    background-position: 50% 50%;
    width: 100%;
    height: 100%;
  }

section .background {
    transition: opacity 1.5s ease-in;
    -webkit-transform: translateZ(0px);
  }

section .background.hidden {
    opacity: 0 !important;
    transition: opacity 0s !important;
  }

section .overlay {
    background: #1e1e1d;
    background: var(--background-i-color);
  }

section .inner {
    position: relative;
  }

section.hero .logo {
    width: 620px;
    height: 151px;
    margin: 0px auto;
    margin-bottom: 90px;
  }

@media screen and (max-width: 1000px) {

section.hero .logo {
      width: 90%;
  }
    }

@media screen and (max-width: 780px) {

section.hero .logo {
      height: 100px;
      margin-bottom: 40px;
  }
    }

section.hero .inner {
    padding: 330px 0px 200px 0px;
  }

@media screen and (max-width: 780px) {

section.hero .inner {
      padding: 80px 0px 40px 0px;
  }
    }

section.hero .background {
    background-image: url("/assets/bg-hero-25d0485b.jpg");
    opacity: 0.5;
    transition: opacity 2s ease-in;
  }

section.team .overlay,section.team .background {
    height: 600px;
  }

section.team .background {
    background-image: url("/assets/bg-team-b218c266.jpg");
    opacity: 0.5;
  }

section.team .inner h2,section.team .inner  > p {
      color: #ffffff;
      color: var(--text-i-color);
    }

section.team .team-members {
    margin-top: 60px;
  }

section.team .team-members .image {
      background: #1e1e1d;
      background: var(--background-i-color);
    }

section.references .column {
    margin-bottom: 40px;
  }

@media screen and (max-width: 780px) {

section.references .column {
      width: 48.4375%;
      width: calc(50% - var(--gutter)*1/2);
      margin-left: 3.125%;
      margin-left: var(--gutter);
  }
      section.references .column:nth-child(2n + 1) {
        margin-left: 0px;
        clear: both;
      }
    }

section.endorsement .background {
    background-image: url("/assets/bg-endorsement-cd385e8f.jpg");
    opacity: 0.5;
  }

section.endorsement blockquote {
    width: 62.5%;
    width: calc(66.6666666667% - var(--gutter)*2/3*2);
  }

@media screen and (max-width: 780px) {

section.endorsement blockquote {
      width: 100%;
  }
    }

section.services .background {
    background-image: url("/assets/bg-services-11ab28d3.jpg");
    opacity: 0.5;
  }

@media screen and (max-width: 780px) {

section.services .background {
      opacity: 0.3;
  }
    }

section.contact .grid {
    margin-top: 60px;
  }

@media screen and (max-width: 780px) {

section.services .column,section.contact .column {
      text-align: center;
  }
    }
