/* ------------------------------------- FONTS */
/* ------------------------------------- MISC */
/* Eric Meyer's Reset CSS v2.0 - http://cssreset.com */
html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, img, ins, kbd, q, s, samp, small, strike, sub, sup, tt, var, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, embed, figure, figcaption, footer, header, hgroup, menu, nav, output, ruby, section, summary, time, mark, audio, video {
  border: 0;
  font-size: 100%;
  font: inherit;
  vertical-align: baseline;
  margin: 0;
  padding: 0;
}

article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section {
  display: block;
}

body {
  line-height: 1;
}

ol, ul {
  list-style: none;
}

blockquote, q {
  quotes: none;
}

blockquote:before, blockquote:after, q:before, q:after {
  content: none;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

/* boilerplate fixes*/
::-moz-selection {
  background: #b3d4fc;
  text-shadow: none;
}

::selection {
  background: #b3d4fc;
  text-shadow: none;
}

audio,
canvas,
iframe,
img,
svg,
video {
  vertical-align: middle;
}

fieldset {
  border: 0;
  margin: 0;
  padding: 0;
}

textarea {
  resize: vertical;
}

/* hide input spinners */
input[type=number]::-webkit-inner-spin-button,
input[type=number]::-webkit-outer-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

input[type=number] {
  -moz-appearance: textfield;
}

* {
  box-sizing: border-box;
}

html {
  box-sizing: border-box;
}

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

img {
  box-sizing: content-box;
}

html, body {
  overflow-x: hidden;
}

html {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-size: 10px;
  color: #333333;
}
@media (max-width: 1800px) {
  html {
    font-size: 8px;
  }
}
@media (max-width: 1540px) {
  html {
    font-size: 6.5px;
  }
}
@media (max-width: 1190px) {
  html {
    font-size: 5px;
  }
}

body {
  font-family: "Karla", sans-serif;
  font-weight: 400;
  font-size: 30px;
  line-height: 1.2;
}

a {
  color: inherit;
  text-decoration: none;
}

h1, h2, h3, h4, h5, h6 {
  font-family: "Karla", sans-serif;
  font-weight: bold;
  line-height: 1;
}

::-moz-selection {
  background: #333333;
  color: white;
}

::selection {
  background: #333333;
  color: white;
}

.txt-orange {
  color: #E16600 !important;
}

.txt-yellow {
  color: #FAB42A !important;
}

.txt-darkred {
  color: #771A1A !important;
}

.txt-purple {
  color: #915571 !important;
}

.txt-red {
  color: #DE3C3C !important;
}

.txt-grey {
  color: #707070 !important;
}

.txt-brown {
  color: #A36F07 !important;
}

input[type=text],
input[type=button],
input[type=submit],
input[type=password],
input[type=email],
input[type=radio],
textarea,
button,
select {
  background: none;
  border: none;
  border-radius: 0;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  font: inherit;
  color: inherit;
}

input[type=button],
input[type=submit] {
  cursor: pointer;
}

@font-face {
  font-family: "Karla";
  src: url("/css/fonts/Karla-Regular.woff2") format("woff2"), url("/css/fonts/Karla-Regular.woff") format("woff");
  font-weight: normal;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Karla";
  src: url("/css/fonts/Karla-Bold.woff2") format("woff2"), url("/css/fonts/Karla-Bold.woff") format("woff");
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Montserrat";
  src: url("/css/fonts/Montserrat-Regular.woff2") format("woff2"), url("/css/fonts/Montserrat-Regular.woff") format("woff");
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Montserrat";
  src: url("/css/fonts/Montserrat-Bold.woff2") format("woff2"), url("/css/fonts/Montserrat-Bold.woff") format("woff");
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Montserrat";
  src: url("/css/fonts/Montserrat-Light.woff2") format("woff2"), url("/css/fonts/Montserrat-Light.woff") format("woff");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Montserrat";
  src: url("/css/fonts/Montserrat-Thin.woff2") format("woff2"), url("/css/fonts/Montserrat-Thin.woff") format("woff");
  font-weight: 100;
  font-style: normal;
  font-display: swap;
}
@-webkit-keyframes fade-in {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@keyframes fade-in {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@-webkit-keyframes overlay-in {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@keyframes overlay-in {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@-webkit-keyframes slide-up {
  0% {
    opacity: 0;
    transform: translateY(10px);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}
@keyframes slide-up {
  0% {
    opacity: 0;
    transform: translateY(10px);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}
@-webkit-keyframes slide-down {
  0% {
    opacity: 0;
    transform: translateY(-10px);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}
@keyframes slide-down {
  0% {
    opacity: 0;
    transform: translateY(-10px);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}
.grid {
  display: grid;
  grid-template-columns: repeat(12, 1fr);
  grid-gap: 20px;
}
.grid.gap-large {
  grid-gap: 60px;
}
@media (max-width: 875px) {
  .grid {
    grid-gap: 10px !important;
  }
}
.grid.valign {
  align-items: center;
}
.grid .col.s1 {
  grid-column-start: 1;
}
.grid .col.w1 {
  grid-column-end: span 1;
}
.grid .col.s2 {
  grid-column-start: 2;
}
.grid .col.w2 {
  grid-column-end: span 2;
}
.grid .col.s3 {
  grid-column-start: 3;
}
.grid .col.w3 {
  grid-column-end: span 3;
}
.grid .col.s4 {
  grid-column-start: 4;
}
.grid .col.w4 {
  grid-column-end: span 4;
}
.grid .col.s5 {
  grid-column-start: 5;
}
.grid .col.w5 {
  grid-column-end: span 5;
}
.grid .col.s6 {
  grid-column-start: 6;
}
.grid .col.w6 {
  grid-column-end: span 6;
}
.grid .col.s7 {
  grid-column-start: 7;
}
.grid .col.w7 {
  grid-column-end: span 7;
}
.grid .col.s8 {
  grid-column-start: 8;
}
.grid .col.w8 {
  grid-column-end: span 8;
}
.grid .col.s9 {
  grid-column-start: 9;
}
.grid .col.w9 {
  grid-column-end: span 9;
}
.grid .col.s10 {
  grid-column-start: 10;
}
.grid .col.w10 {
  grid-column-end: span 10;
}
.grid .col.s11 {
  grid-column-start: 11;
}
.grid .col.w11 {
  grid-column-end: span 11;
}
.grid .col.s12 {
  grid-column-start: 12;
}
.grid .col.w12 {
  grid-column-end: span 12;
}
@media (max-width: 875px) {
  .grid:not(.not-responsive) .col {
    grid-column-start: 1 !important;
    grid-column-end: 13 !important;
  }
}

.wrap {
  width: 100%;
  max-width: 1700px;
  margin: 0 auto;
}
.wrap.inner {
  max-width: 1200px;
}
@media (max-width: 875px) {
  .wrap {
    max-width: 550px !important;
  }
}
@media (max-width: 875px) {
  .wrap.collapse {
    max-width: none !important;
  }
}

.pad {
  padding-left: 50px;
  padding-right: 50px;
}
@media (max-width: 875px) {
  .pad.collapse {
    padding-left: 0;
    padding-right: 0;
  }
}
@media (max-width: 1540px) {
  .pad {
    padding-left: 40px;
    padding-right: 40px;
  }
}
@media (max-width: 1190px) {
  .pad {
    padding-left: 30px;
    padding-right: 30px;
  }
}
@media (max-width: 875px) {
  .pad {
    padding-left: 24px;
    padding-right: 24px;
  }
}
@media (max-width: 500px) {
  .pad {
    padding-left: 20px;
    padding-right: 20px;
  }
}

input[type=text],
input[type=email],
input[type=submit],
textarea {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  border-radius: 10px;
  background: white;
  width: 100%;
  margin: 0;
  padding: 0;
  font-size: 3rem;
  padding: 1.5rem 2rem;
  outline: none;
}
input[type=text]::-moz-placeholder, input[type=email]::-moz-placeholder, input[type=submit]::-moz-placeholder, textarea::-moz-placeholder {
  font-size: 2.4rem;
  transform: translateY(-0.8rem);
  color: #BEBBBB;
}
input[type=text]:-ms-input-placeholder, input[type=email]:-ms-input-placeholder, input[type=submit]:-ms-input-placeholder, textarea:-ms-input-placeholder {
  font-size: 2.4rem;
  transform: translateY(-0.8rem);
  color: #BEBBBB;
}
input[type=text]::placeholder,
input[type=email]::placeholder,
input[type=submit]::placeholder,
textarea::placeholder {
  font-size: 2.4rem;
  transform: translateY(-0.8rem);
  color: #BEBBBB;
}

textarea {
  height: 6em;
}

input[type=submit] {
  font-size: 2.4rem;
  background: #FAB42A;
  color: white;
  padding-top: 2rem;
  padding-bottom: 2rem;
  transform: translateY(-0.5rem);
}
input[type=submit]:hover {
  background: #55B3D6;
}

section.header {
  font-size: 2.9rem;
}
section.header .container {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  padding: 0.6em 0;
}
@media (max-width: 1190px) {
  section.header .logo img {
    width: 180px;
  }
}
@media (max-width: 875px) {
  section.header .logo img {
    width: 100px;
  }
}
section.header ul.main {
  display: flex;
  align-items: center;
  margin-left: auto;
}
section.header ul.main > li {
  position: relative;
  z-index: 10;
}
section.header ul.main > li + li {
  margin-left: 2.7em;
}
section.header ul.main > li:hover ul {
  display: block;
}
section.header ul.main > li a:hover {
  color: #DE3C3C;
}
@media (max-width: 875px) {
  section.header ul.main {
    display: none;
  }
}
section.header ul.sub {
  display: none;
  background-color: white;
  position: absolute;
  z-index: 20;
  padding: 20px;
  left: -20px;
  color: #DE3C3C;
  font-size: 22px;
  text-transform: uppercase;
  white-space: nowrap;
}
section.header ul.sub:hover {
  display: block;
}
section.header ul.sub li + li {
  margin-top: 0.5em;
}
section.header ul.sub li a:before {
  content: ">";
  color: #707070;
  margin-right: 0.3em;
}
section.header ul.sub li a:hover {
  color: black;
}
section.header .nav-toggle {
  margin-left: 7rem;
}
@media (max-width: 875px) {
  section.header .nav-toggle {
    margin-left: auto;
  }
}
@media (max-width: 875px) {
  section.header .nav-toggle {
    display: block;
  }
}

section.hero {
  background-size: cover;
  background-position: center;
  color: white;
  text-align: center;
  margin-bottom: 10rem;
}
@media (max-width: 875px) {
  section.hero {
    margin-bottom: 1.2em;
  }
}
section.hero .wrap {
  padding: 40px 0;
  min-height: 38vw;
  max-width: none;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  position: relative;
}
@media (max-width: 875px) {
  section.hero .wrap {
    min-height: 60vw;
  }
}
section.hero h1 {
  font-size: 8rem;
  margin-bottom: 0.1em;
}
@media (max-width: 875px) {
  section.hero h1 {
    font-size: 24px;
    margin-bottom: 0.3em;
  }
}
section.hero .subtitle {
  font-size: 3.7rem;
  text-transform: uppercase;
  font-weight: 700;
}
@media (max-width: 875px) {
  section.hero .subtitle {
    font-size: 14px;
  }
}
section.hero .credits {
  position: absolute;
  bottom: -2em;
  right: 0;
  color: #8E3939;
  font-size: 12px;
}
@media (max-width: 875px) {
  section.hero .credits {
    font-size: 9px;
  }
}

section.intro {
  color: #707070;
  text-align: center;
  font-size: 6rem;
  font-family: "Montserrat", sans-serif;
  margin-bottom: 2.5em;
}
@media (max-width: 875px) {
  section.intro {
    font-size: 16px;
    margin-bottom: 4em;
  }
}

section.expander {
  margin-bottom: 2em;
}
section.expander.color-orange {
  color: #E16600;
}
section.expander.color-red {
  color: #DE3C3C;
}
section.expander.color-brown {
  color: #A36F07;
}
@media (max-width: 875px) {
  section.expander {
    margin-bottom: 1em;
  }
}
section.expander .bg-logo {
  position: absolute;
  width: 42.5rem;
  transform: translate(4px, -14rem);
  z-index: -1;
}
@media (max-width: 875px) {
  section.expander .bg-logo {
    width: 150px;
    transform: translate(2px, -45px);
    opacity: 0.6;
  }
}
section.expander h2 {
  text-transform: uppercase;
  font-size: 12.4rem;
  margin-bottom: 0.3em;
}
@media (max-width: 875px) {
  section.expander h2 {
    font-size: 32px;
  }
}
section.expander .txt {
  font-size: 5.4rem;
  font-weight: 700;
  max-width: 70%;
  margin-bottom: 0.3em;
}
@media (max-width: 875px) {
  section.expander .txt {
    font-size: 14px;
    max-width: none;
    margin-bottom: 0;
  }
}
section.expander .expander {
  display: none;
  border: 1px solid #707070;
  padding: 1em;
  font-size: 3.5rem;
  font-family: "Montserrat", sans-serif;
  color: #333333;
  max-width: 800px;
}
@media (max-width: 875px) {
  section.expander .expander {
    font-size: 15px;
    margin-top: 1em;
  }
}
section.expander .toggle {
  color: #939393;
  font-size: 4rem;
  font-weight: 700;
}
@media (max-width: 875px) {
  section.expander .toggle {
    font-size: 15px;
  }
}
section.expander.color-orange .toggle:hover {
  color: #E16600;
}
section.expander.color-red .toggle:hover {
  color: #DE3C3C;
}
section.expander.color-brown .toggle:hover {
  color: #A36F07;
}

section.bar {
  color: white;
  font-size: 5rem;
  text-align: center;
  line-height: 1.08;
  margin-bottom: 10rem;
}
@media (max-width: 875px) {
  section.bar {
    font-size: 15px;
  }
}
section.bar .wrap {
  background: url("/img/bar-grey.svg") center no-repeat;
  background-size: 100% 100%;
  padding: 6rem 10rem 12rem;
}
@media (max-width: 875px) {
  section.bar .wrap {
    padding: 1em 1em 3em 1em;
  }
}

section.products {
  margin-bottom: 10rem;
}
section.products .item + .item {
  margin-top: 10rem;
}
@media (max-width: 875px) {
  section.products .item + .item {
    margin-top: 1.3em;
  }
}
@media (max-width: 875px) {
  section.products .col + .col {
    margin-top: 0.6em;
  }
}
section.products h3 {
  font-size: 10rem;
  text-transform: uppercase;
  margin-bottom: 0.15em;
}
@media (max-width: 875px) {
  section.products h3 {
    font-size: 22px;
    margin-bottom: 0.3em;
  }
}
section.products .txt {
  font-size: 4.2rem;
  color: #707070;
  margin-bottom: 1em;
}
@media (max-width: 875px) {
  section.products .txt {
    font-size: 15px;
    margin-bottom: 1em;
  }
}
section.products .readmore {
  color: #E16600;
  font-weight: bold;
  font-size: 5rem;
  line-height: 0.9;
}
section.products .readmore:before {
  content: "> ";
}
@media (max-width: 875px) {
  section.products .readmore {
    display: block;
    font-size: 15px;
    text-transform: uppercase;
  }
}

section.updates-bar {
  background: #F5F5F5;
  margin-bottom: 4rem;
}
section.updates-bar a.wrap {
  display: block;
  padding: 3rem 0;
  background: url("/img/big-arrow-right-red.svg") right 3rem center no-repeat;
  background-size: 7.3rem auto;
  transition: background-position 0.17s;
}
section.updates-bar a.wrap:hover {
  background-position: right center;
}
@media (max-width: 875px) {
  section.updates-bar a.wrap {
    background-size: 14px auto;
  }
}
section.updates-bar h2 {
  text-transform: uppercase;
  font-size: 12.4rem;
  margin-bottom: 0.15em;
}
@media (max-width: 875px) {
  section.updates-bar h2 {
    font-size: 24px;
  }
}
section.updates-bar .txt {
  font-size: 5.3rem;
  padding-right: 10rem;
}
@media (max-width: 875px) {
  section.updates-bar .txt {
    font-size: 12px;
  }
}

section.clients-bar {
  background: #F5F5F5;
}
section.clients-bar .wrap {
  display: block;
  padding: 3rem 0;
}
section.clients-bar h2 {
  text-transform: uppercase;
  font-size: 12.4rem;
  margin-bottom: 0.15em;
}
@media (max-width: 875px) {
  section.clients-bar h2 {
    font-size: 24px;
  }
}
section.clients-bar .txt {
  font-size: 5.3rem;
  padding-right: 10rem;
}
@media (max-width: 875px) {
  section.clients-bar .txt {
    font-size: 12px;
  }
}

section.logos {
  padding: 5rem 0;
  margin-bottom: 5rem;
}
@media (max-width: 875px) {
  section.logos {
    margin-bottom: 0;
  }
}
section.logos .wrap {
  display: flex;
  align-items: center;
  justify-content: space-around;
  flex-wrap: wrap;
}
@media (max-width: 875px) {
  section.logos .wrap {
    justify-content: center;
  }
}
section.logos .wrap img {
  max-width: 20rem;
  max-height: 11rem;
  margin: 2rem 1rem;
  filter: grayscale(1);
}
@media (max-width: 875px) {
  section.logos .wrap img {
    margin: 5px 20px;
    max-width: 70px;
    max-height: 50px;
  }
}

section.contact {
  background: #F1E9DA;
}
section.contact .wrap {
  display: block;
  padding: 3rem 0;
}
section.contact h2 {
  text-transform: uppercase;
  font-size: 12.4rem;
  margin-bottom: 0.15em;
}
@media (max-width: 875px) {
  section.contact h2 {
    font-size: 24px;
    margin-bottom: 0.5em;
  }
}
section.contact .txt {
  line-height: 1.3;
}
@media (max-width: 875px) {
  section.contact .txt {
    font-size: 15px;
  }
}
section.contact .email {
  font-weight: 700;
}
section.contact .name {
  font-family: "Montserrat", sans-serif;
}
section.contact a:hover {
  color: #55B3D6;
}

section.map {
  height: 28vw;
  min-height: 300px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #ccc;
}
@media (max-width: 875px) {
  section.map {
    font-size: 20px;
  }
}

section.contact-form {
  background: #DE3C3C;
  padding: 5rem 0;
}
section.contact-form .txt1 {
  margin-bottom: 1em;
}
@media (max-width: 875px) {
  section.contact-form .txt1 {
    font-size: 16px;
  }
}
section.contact-form .txt2 {
  color: #BEBBBB;
}
@media (max-width: 875px) {
  section.contact-form .txt2 {
    font-size: 16px;
  }
}
@media (max-width: 875px) {
  section.contact-form .s-hide {
    display: none;
  }
}

section.social {
  background: #666665;
  padding: 3rem;
}
section.social .col:first-child {
  text-align: right;
}
section.social a {
  display: inline-block;
  transition: transform 0.1s;
}
section.social a:hover {
  transform: scale(1.2);
}
@media (max-width: 875px) {
  section.social img {
    max-width: 25px;
    max-height: 25px;
  }
}

section.legal {
  background: #3B3B3B;
  padding: 3rem;
  color: #A8B2BA;
}
section.legal .col:first-child {
  text-align: right;
}
@media (max-width: 875px) {
  section.legal .col:first-child {
    text-align: center;
  }
}
section.legal a:hover {
  color: #FAB42A;
}
@media (max-width: 875px) {
  section.legal {
    text-align: center !important;
    font-size: 15px;
  }
}

.nav-overlay {
  position: fixed;
  left: 0;
  top: 0;
  bottom: 0;
  z-index: 2000;
  transform: translateX(-100%);
  transition: transform 0.6s cubic-bezier(0.13, 0.49, 0.27, 1);
  background: #DE3C3C;
  color: white;
  padding: 5rem 15rem 5rem 5rem;
  width: 660px;
}
.nav-visible .nav-overlay {
  transform: translateX(0);
}
@media (max-width: 1800px) {
  .nav-overlay {
    width: 560px;
  }
}
@media (max-width: 1540px) {
  .nav-overlay {
    width: 500px;
  }
}
@media (max-width: 1190px) {
  .nav-overlay {
    width: 400px;
  }
}
@media (max-width: 875px) {
  .nav-overlay {
    width: auto;
    right: 0;
    padding: 5rem;
  }
}
.nav-overlay .close {
  position: absolute;
  right: 7rem;
  top: 3rem;
}
.nav-overlay h1 {
  font-size: 3.6rem;
  font-weight: 400;
  margin-bottom: 1.5em;
}
.nav-overlay ul {
  text-transform: uppercase;
  font-size: 3.6rem;
  margin-bottom: 1.3em;
}
.nav-overlay ul li {
  border-bottom: 1px solid #BEBBBB;
}
.nav-overlay ul li a {
  display: block;
  padding: 0.5em 0;
}
.nav-overlay ul li a:hover {
  color: black;
}
.nav-overlay .logo {
  width: 190px;
  margin-bottom: 0.5em;
}
.nav-overlay .contact {
  font-size: 14px;
  font-weight: 700;
}

section.content {
  padding-bottom: 10rem;
  font-size: 4.2rem;
}
section.content h2.title {
  font-size: 12.4rem;
  text-transform: uppercase;
  margin-bottom: 0.5em;
}
@media (max-width: 875px) {
  section.content h2.title {
    font-size: 44px;
  }
}
section.content .image-with-credits img {
  width: 100%;
  margin-top: 1em;
  margin-bottom: 1.5rem;
}
section.content .image-with-credits .credits {
  text-align: right;
  font-size: 12px;
  color: #A36F07;
}
section.content .intro {
  border: 1px solid #707070;
  padding: 1em;
  font-size: 5rem;
  font-weight: 700;
  margin-bottom: 1em;
}
section.content .intro h4 {
  font-size: 2.8rem;
  margin-bottom: 1em;
}

section.team {
  margin-bottom: 20rem;
}
section.team .profile {
  position: relative;
  border-radius: 20px;
  color: white;
  font-size: 3.2rem;
  padding: 5rem;
  line-height: 1.56;
}
section.team .profile.blue {
  background-color: #55B3D6;
}
section.team .profile.red {
  background-color: #DE3C3C;
}
section.team .profile.info {
  background-color: #706565;
  font-size: 3.7rem;
  line-height: 1.3;
  color: #D5D5D5;
}
@media (max-width: 875px) {
  section.team .profile {
    text-align: center;
    margin-bottom: 15rem;
  }
}
section.team .profile img {
  width: 220px;
  height: 220px;
  -o-object-fit: cover;
     object-fit: cover;
  border-radius: 9999px;
  display: block;
  margin: 0 auto 0.5em;
}
@media (max-width: 1540px) {
  section.team .profile img {
    width: 180px;
    height: 180px;
  }
}
@media (max-width: 1190px) {
  section.team .profile img {
    width: 150px;
    height: 150px;
  }
}
@media (max-width: 875px) {
  section.team .profile img {
    margin-bottom: 1.2em;
  }
}
section.team .profile h3 {
  text-align: center;
  font-size: 3.9rem;
  font-weight: 400;
  margin-bottom: 1.3em;
}
section.team .profile h4 {
  text-transform: uppercase;
  font-size: 4.5rem;
  margin-bottom: 0.5em;
}
section.team .profile .specs {
  position: absolute;
  color: #DE3C3C;
  font-size: 2.4rem;
  left: 5rem;
  right: 5rem;
  bottom: -8rem;
  line-height: 1.3;
}
@media (max-width: 875px) {
  section.team .profile .specs {
    font-size: 16px;
    bottom: -55px;
  }
}
section.team .profile .specs .twitter {
  letter-spacing: 0.1em;
}
section.team .profile .specs a:hover {
  color: black;
}

section.collective {
  margin-bottom: 10rem;
  color: #706565;
  font-size: 4.2rem;
}
section.collective img {
  width: 100%;
}
@media (max-width: 875px) {
  section.collective img {
    margin-bottom: 1em;
  }
}
section.collective .link {
  margin-top: 1em;
  font-size: 16px;
  text-align: right;
  color: black;
}
section.collective .link a:hover {
  color: #DE3C3C;
}

section.case-study {
  margin-bottom: 10rem;
}
@media (max-width: 875px) {
  section.case-study {
    margin-top: 25rem;
  }
}
section.case-study .box {
  border: 1px solid black;
  padding: 4rem;
  position: relative;
  background-color: white;
}
section.case-study .box .pyramid {
  position: absolute;
  left: -190px;
  top: -130px;
  z-index: -1;
}
section.case-study .box .pretitle {
  font-size: 4rem;
  text-transform: uppercase;
  font-weight: 700;
  margin-bottom: 1em;
}
section.case-study .box h2 {
  font-size: 12.4rem;
  text-transform: uppercase;
  margin-bottom: 0.3em;
}
section.case-study .box .intro {
  color: #E16600;
  font-size: 5.3rem;
  font-weight: 700;
  max-width: 1300px;
  margin-bottom: 1em;
}
section.case-study .box .expander {
  display: none;
  font-size: 2.7rem;
  font-weight: 700;
  max-width: 1300px;
  margin-bottom: 2em;
}
@media (max-width: 1540px) {
  section.case-study .box .expander {
    font-size: 22px;
  }
}
@media (max-width: 1190px) {
  section.case-study .box .expander {
    font-size: 20px;
  }
}
@media (max-width: 875px) {
  section.case-study .box .expander {
    font-size: 18px;
  }
}
section.case-study .box .toggle {
  font-size: 5.3rem;
  font-weight: 700;
}
section.case-study .box .toggle .arrow {
  margin-left: 2em;
  transition: transform 0.3s;
}
@media (max-width: 1540px) {
  section.case-study .box .toggle .arrow {
    width: 100px;
  }
}
@media (max-width: 1190px) {
  section.case-study .box .toggle .arrow {
    width: 80px;
  }
}
@media (max-width: 875px) {
  section.case-study .box .toggle .arrow {
    width: 50px;
  }
}
section.case-study .box .toggle.expanded .arrow {
  transform: scaleX(-1);
}

section.other-products {
  margin-bottom: 10rem;
}
section.other-products .info-box {
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding: 3rem;
  color: white;
  font-size: 4.5rem;
}
@media (max-width: 875px) {
  section.other-products .info-box {
    padding: 10rem 3rem;
    margin-bottom: 5rem;
  }
}
section.other-products .info-box.blue {
  background-color: #55B3D6;
}
section.other-products .product {
  display: grid;
  grid-template-columns: 15rem 1fr;
  font-size: 2.4rem;
}
section.other-products .product + .product {
  margin-top: 2rem;
}
@media (max-width: 875px) {
  section.other-products .product + .product {
    margin-top: 4rem;
  }
}
section.other-products .product img {
  transition: transform 0.15s;
  transform: translateY(0.6rem);
  width: 12rem;
}
section.other-products .product h3 {
  text-transform: uppercase;
  font-size: 7rem;
  line-height: 1;
}
section.other-products .product:hover img {
  transform: translate(1rem, 0.6rem);
}

section.content-legal {
  background: #333333 url("/img/pyramid-grey.png") left -10vw center no-repeat;
  margin-top: -5rem;
  padding: 6rem 0;
}
@media (max-width: 875px) {
  section.content-legal {
    background-size: 400px auto;
  }
}
section.content-legal h2 {
  color: #55B3D6;
  text-transform: uppercase;
  font-size: 13.5rem;
  margin-bottom: 6rem;
}
@media (max-width: 875px) {
  section.content-legal h2 {
    font-size: 40px;
  }
}
section.content-legal .content2 {
  background: white;
  padding: 5rem;
  font-size: 3.2rem;
  line-height: 1.5;
  margin-left: 15vw;
}
@media (max-width: 875px) {
  section.content-legal .content2 {
    margin-left: 0;
  }
}

section.updates {
  background-color: #F5F5F5;
  padding: 6rem 0;
}
section.updates h2 {
  text-transform: uppercase;
  font-size: 12.4rem;
  margin-bottom: 6rem;
  color: #E16600;
}
@media (max-width: 875px) {
  section.updates h2 {
    font-size: 24px;
    margin-bottom: 0.5em;
  }
}
section.updates .outdates {
  margin-top: 6rem;
  border-right: 1px solid #707070;
}
@media (max-width: 875px) {
  section.updates .outdates {
    border: none;
    order: 2;
    margin-top: 10rem;
  }
}
section.updates .outdates h3 {
  color: #55B3D6;
  text-transform: uppercase;
  font-size: 5.3rem;
  margin-bottom: 0.5em;
}
section.updates .outdates a.outdate {
  display: block;
}
section.updates .outdates a.outdate + a.outdate {
  margin-top: 1em;
}
section.updates .outdates a.outdate .product {
  font-size: 18px;
  color: #939393;
  text-transform: uppercase;
  font-weight: 700;
  margin-bottom: 0.1em;
}
section.updates .outdates a.outdate h4 {
  font-weight: 400;
  font-size: 3.2rem;
  margin-bottom: 0.15em;
}
section.updates .outdates a.outdate .date {
  color: #BEBBBB;
  font-size: 18px;
}
section.updates .outdates a.outdate:hover h4 {
  color: #E16600;
}
section.updates .item {
  margin-bottom: 3rem;
}
section.updates .item .item-head {
  display: flex;
  justify-content: flex-end;
  border-bottom: 1px solid #707070;
  padding: 0.3em 0;
  margin-bottom: 1em;
}
section.updates .item .item-head a {
  margin: 0 0.5em;
}
section.updates .item .item-head a:hover {
  opacity: 0.8;
}
@media (max-width: 875px) {
  section.updates .item .item-head a {
    margin: 0 0.2em;
  }
  section.updates .item .item-head a img {
    transform: scale(0.7);
  }
}
section.updates .item h3 {
  color: #E16600;
  text-transform: uppercase;
  font-size: 5.8rem;
  margin-bottom: 0.4em;
}
section.updates .item .intro {
  color: #E16600;
  font-size: 3.8rem;
  font-weight: 700;
  margin-bottom: 0.8em;
}
section.updates .item .txt {
  font-size: 2.7rem;
}
@media (max-width: 875px) {
  section.updates .item .txt {
    font-size: 16px;
  }
}
