.bg-color-pink {
  background-color: #ff2150;
}

.bg-color-cyan {
  background-color: #21beba;
}

html,
body {
  -webkit-font-smoothing: antialiased;
  font-family: "Titillium Web", "Titillium", sans-serif;
}

@font-face {
  font-family: 'KlartextMono';
  src: url("/assets/fonts/florian_klauer_-_klartextmono-light-webfont.eot");
  src: url("/assets/fonts/florian_klauer_-_klartextmono-light-webfont.eot?#iefix") format("embedded-opentype"), url("/assets/fonts/florian_klauer_-_klartextmono-light-webfont.woff2") format("woff2"), url("/assets/fonts/florian_klauer_-_klartextmono-light-webfont.woff") format("woff"), url("/assets/fonts/florian_klauer_-_klartextmono-light-webfont.ttf") format("truetype"), url("/assets/fonts/florian_klauer_-_klartextmono-light-webfont.svg#encode_sans_narrowblack") format("svg");
  font-weight: 300;
  font-style: normal;
}

@font-face {
  font-family: 'KlartextMono';
  src: url("/assets/fonts/florian_klauer_-_klartextmono-medium-webfont.eot");
  src: url("/assets/fonts/florian_klauer_-_klartextmono-medium-webfont.eot?#iefix") format("embedded-opentype"), url("/assets/fonts/florian_klauer_-_klartextmono-medium-webfont.woff2") format("woff2"), url("/assets/fonts/florian_klauer_-_klartextmono-medium-webfont.woff") format("woff"), url("/assets/fonts/florian_klauer_-_klartextmono-medium-webfont.ttf") format("truetype"), url("/assets/fonts/florian_klauer_-_klartextmono-medium-webfont.svg#encode_sans_narrowblack") format("svg");
  font-weight: 400;
  font-style: normal;
}

@font-face {
  font-family: 'KlartextMono';
  src: url("/assets/fonts/florian_klauer_-_klartextmono-webfont.eot");
  src: url("/assets/fonts/florian_klauer_-_klartextmono-webfont.eot?#iefix") format("embedded-opentype"), url("/assets/fonts/florian_klauer_-_klartextmono-webfont.woff2") format("woff2"), url("/assets/fonts/florian_klauer_-_klartextmono-webfont.woff") format("woff"), url("/assets/fonts/florian_klauer_-_klartextmono-webfont.ttf") format("truetype"), url("/assets/fonts/florian_klauer_-_klartextmono-webfont.svg#encode_sans_narrowblack") format("svg");
  font-weight: 500;
  font-style: normal;
}

@font-face {
  font-family: 'KlartextMono';
  src: url("/assets/fonts/florian_klauer_-_klartextmono-bold-webfont.eot");
  src: url("/assets/fonts/florian_klauer_-_klartextmono-bold-webfont.eot?#iefix") format("embedded-opentype"), url("/assets/fonts/florian_klauer_-_klartextmono-bold-webfont.woff2") format("woff2"), url("/assets/fonts/florian_klauer_-_klartextmono-bold-webfont.woff") format("woff"), url("/assets/fonts/florian_klauer_-_klartextmono-bold-webfont.ttf") format("truetype"), url("/assets/fonts/florian_klauer_-_klartextmono-bold-webfont.svg#encode_sans_narrowblack") format("svg");
  font-weight: 700;
  font-style: normal;
}

/**
 * 1. Set default font styles
 * 2. Prevent iOS text size adjust after orientation change, without disabling
 *    user zoom.
 * 3. Set border-box sizing */

html {
  font-family: "Titillium Web", "Titillium", sans-serif;
  -ms-text-size-adjust: 100%;
  -webkit-text-size-adjust: 100%;
  box-sizing: border-box;
}

html * {
  box-sizing: inherit;
}

/**
 * 1. Remove default margin. */

body {
  margin: 0;
}

/* HTML5 display definitions
 * ========================================================================== */

/**
 * Correct `block` display not defined for any HTML5 element in IE 8/9.
 * Correct `block` display not defined for `details` or `summary` in IE 10/11
 * and Firefox.
 * Correct `block` display not defined for `main` in IE 11. */

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

/**
 * 1. Correct `inline-block` display not defined in IE 8/9.
 * 2. Normalize vertical alignment of `progress` in Chrome, Firefox, and Opera. */

audio,
canvas,
progress,
video {
  display: inline-block;
  vertical-align: baseline;
}

/**
 * Prevent modern browsers from displaying `audio` without controls.
 * Remove excess height in iOS 5 devices. */

audio:not([controls]) {
  display: none;
  height: 0;
}

/**
 * Address `[hidden]` styling not present in IE 8/9/10.
 * Hide the `template` element in IE 8/9/11, Safari, and Firefox < 22. */

[hidden],
template {
  display: none;
}

/* Links
 * ========================================================================== */

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

a {
  text-decoration: none;
  background-color: transparent;
}

a:active,
a:hover {
  outline: 0;
}

/**
 * Improve readability when focused and also mouse hovered in all browsers. */

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

/**
 * Address styling not present in IE 8/9/10/11, Safari, and Chrome. */

abbr[title] {
  border-bottom: 1px dotted;
}

/**
 * Address style set to `bolder` in Firefox 4+, Safari, and Chrome. */

b,
strong {
  font-weight: bold;
}

/**
 * Address styling not present in Safari and Chrome. */

dfn {
  font-style: italic;
}

/**
 * Reset heading margins */

h1,
h2,
h3,
h4,
h5,
h6 {
  margin: 0;
}

/**
 * Address styling not present in IE 8/9. */

mark {
  background: #ff0;
  color: #000;
}

/**
 * Address inconsistent and variable font size in all browsers. */

small {
  font-size: 80%;
}

/**
 * Prevent `sub` and `sup` affecting `line-height` in all browsers. */

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

sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
  top: -0.5em;
}

sub {
  bottom: -0.25em;
}

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

/**
 * Remove border when inside `a` element in IE 8/9/10. */

img {
  border: 0;
}

/**
 * Correct overflow not hidden in IE 9/10/11. */

svg:not(:root) {
  overflow: hidden;
}

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

/**
 * Address margin not present in IE 8/9 and Safari. */

figure {
  margin: 1em 40px;
}

/**
 * Address differences between Firefox and other browsers. */

hr {
  height: 0;
}

/**
 * Contain overflow in all browsers. */

pre {
  overflow: auto;
}

/**
 * Address odd `em`-unit font size rendering in all browsers. */

code,
kbd,
pre,
samp {
  font-family: monospace, monospace;
  font-size: 1em;
}

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

/**
 * Known limitation: by default, Chrome and Safari on OS X allow very limited
 * styling of `select`, unless a `border` property is set. */

/**
 * 1. Correct color not being inherited.
 *    Known issue: affects color of disabled elements.
 * 2. Correct font properties not being inherited.
 * 3. Address margins set differently in Firefox 4+, Safari, and Chrome. */

button,
input,
optgroup,
select,
textarea {
  color: inherit;
  font: inherit;
  margin: 0;
}

/* 3 */

/**
 * Address `overflow` set to `hidden` in IE 8/9/10/11. */

button {
  overflow: visible;
  text-transform: none;
}

/**
 * Address inconsistent `text-transform` inheritance for `button` and `select`.
 * All other form control elements do not inherit `text-transform` values.
 * Correct `button` style inheritance in Firefox, IE 8/9/10/11, and Opera.
 * Correct `select` style inheritance in Firefox. */

select {
  text-transform: none;
}

/**
 * 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio`
 *    and `video` controls.
 * 2. Correct inability to style clickable `input` types in iOS.
 * 3. Improve usability and consistency of cursor style between image-type
 *    `input` and others. */

button,
html input[type="button"] {
  -webkit-appearance: button;
  cursor: pointer;
}

/* 3 */

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

/* 3 */

/**
 * Re-set default cursor for disabled elements. */

button[disabled],
html input[disabled] {
  cursor: default;
}

/**
 * Remove inner padding and border in Firefox 4+. */

button::-moz-focus-inner {
  border: 0;
  padding: 0;
}

input {
  line-height: normal;
}

input::-moz-focus-inner {
  border: 0;
  padding: 0;
}

input[type="checkbox"],
input[type="radio"] {
  box-sizing: border-box;
  padding: 0;
}

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

input[type="search"] {
  -webkit-appearance: textfield;
}

input[type="search"]::-webkit-search-cancel-button,
input[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none;
}

/**
 * Define consistent border, margin, and padding. */

fieldset {
  border: 1px solid #c0c0c0;
  margin: 0 2px;
  padding: 0.35em 0.625em 0.75em;
}

/**
 * 1. Correct `color` not being inherited in IE 8/9/10/11.
 * 2. Remove padding so people aren't caught out if they zero out fieldsets. */

legend {
  border: 0;
  padding: 0;
}

/* 2 */

/**
 * Remove default vertical scrollbar in IE 8/9/10/11. */

textarea {
  overflow: auto;
}

/**
 * Don't inherit the `font-weight` (applied by a rule above).
 * NOTE: the default cannot safely be changed in Chrome and Safari on OS X. */

optgroup {
  font-weight: bold;
}

/* Tables
 * ========================================================================== */

/**
 * Remove most spacing between table cells. */

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

td,
th {
  padding: 0;
}

.arrow-icon {
  display: inline-block;
  height: 0.1875em;
  width: 0.9375em;
  background-color: #686868;
  transform: rotate(-45deg);
  transition: background-color 0.2s;
}

.arrow-icon:after {
  content: '';
  position: relative;
  display: inline-block;
  height: 0.1875em;
  width: 0.9375em;
  background-color: #686868;
  transform: rotate(90deg);
  top: -10px;
  left: -7px;
  transition: background-color 0.2s;
}

@media not all and (min-width: 48em) {
  .arrow-icon:after {
    top: -9px;
    left: -6px;
  }
}

.arrow-indian-icon,
.arrow-indian-icon--right {
  position: relative;
  width: 2.5em;
}

.arrow-indian-icon,
.arrow-indian-icon--right,
.arrow-indian-icon:before,
.arrow-indian-icon--right:before,
.arrow-indian-icon:after,
.arrow-indian-icon--right:after {
  display: inline-block;
  height: 0.1875em;
  background-color: lightblue;
}

.arrow-indian-icon:before,
.arrow-indian-icon--right:before,
.arrow-indian-icon:after,
.arrow-indian-icon--right:after {
  content: '';
  display: inline-block;
  position: absolute;
  background-color: inherit;
}

.arrow-indian-icon:before,
.arrow-indian-icon--right:before {
  left: -0.3125em;
  top: -0.5625em;
  width: 1.75em;
  transform: rotate(-45deg);
}

.arrow-indian-icon:after,
.arrow-indian-icon--right:after {
  left: -0.3125em;
  top: 0.5625em;
  width: 1.75em;
  transform: rotate(45deg);
}

.arrow-indian-icon--right {
  transform: rotate(180deg);
}

.comment-icon {
  display: inline-block;
  position: relative;
  height: 2em;
  width: 3.125em;
  background-color: #fff;
}

.comment-icon:after {
  left: 50%;
  top: 100%;
  border: solid transparent;
  content: "";
  height: 0;
  width: 0;
  position: absolute;
  pointer-events: none;
  border-color: transparent;
  border-left-color: #fff;
  border-width: 20px;
  margin-top: -30px;
}

.close-icon {
  position: relative;
  display: inline-block;
  width: 2em;
  height: 2em;
}

.close-icon:hover {
  opacity: 1;
}

.close-icon:before,
.close-icon:after {
  position: absolute;
  left: 1em;
  content: ' ';
  height: 2.0625em;
  width: 0.25em;
  background-color: #21beba;
  top: 0;
}

.close-icon:before {
  transform: rotate(45deg);
}

.close-icon:after {
  transform: rotate(-45deg);
}

.close-icon.inactive:before,
.close-icon.inactive:after {
  transition: height 0.2s, top 0.2s;
  top: 50%;
  height: 0;
}

.hamburger-icon {
  background: #000;
  display: block;
  position: relative;
  transform: translate3d(0, 0, 0);
  width: 100%;
  height: .2em;
  transition: background 0.2s;
}

.hamburger-icon:before,
.hamburger-icon:after {
  width: 100%;
  height: .2em;
  transition: all 0.5s;
  transform: translate3d(0, 0, 0);
  background-color: #000;
}

.hamburger-icon:before {
  content: " ";
  margin-top: -.5em;
  position: absolute;
}

.hamburger-icon:after {
  content: " ";
  position: absolute;
  margin-top: .5em;
}

.hamburger-icon.on {
  background: transparent;
}

.hamburger-icon.on:before {
  transform: rotateZ(45deg) translate3d(0.4em, 0.3em, 0);
}

.hamburger-icon.on:after {
  transform: rotateZ(-45deg) translate3d(0.45em, -0.35em, 0);
}

.container,
.container--small,
.container--header,
.container--form {
  margin: 0 auto;
  padding: 0 0.75em;
  width: 100%;
}

.container:after,
.container--small:after,
.container--header:after,
.container--form:after {
  content: "";
  display: table;
  clear: both;
}

@media all and (min-width: 64.1em) {
  .container,
  .container--small,
  .container--header,
  .container--form {
    min-width: 67.5em;
  }
}

@media all and (min-width: 48em) {
  .container--small {
    min-width: 0;
    max-width: 60em;
  }
}

.container--header {
  padding: 0 1.125em;
}

@media all and (min-width: 48em) {
  .container--header {
    padding: 0 3em;
  }
}

@media all and (min-width: 64.1em) {
  .container--form {
    padding: 0;
    min-width: 43.75em;
    width: 43.75em;
  }
}

.paragraph {
  margin: 0;
}

.link--block {
  display: block;
}

.link--arrow {
  font-size: 0.875em;
  position: relative;
  padding-left: 2.14286em;
  color: #fff;
  cursor: pointer;
  font-weight: 300;
  letter-spacing: 1px;
  overflow: hidden;
}

.link--arrow:after {
  content: '';
  position: absolute;
  left: 0;
  top: 0;
  height: 100%;
  width: 1.07143em;
  z-index: 1;
  background-image: url("/assets//icons/arrow-right-cyan.svg");
  background-repeat: no-repeat;
  background-position: right center;
  transition: width 0.2s;
}

.no-svg .link--arrow:after {
  background-image: asset-url("/assets//icons/arrow-right-cyan.png");
}

.link--arrow.clicked:after {
  width: 100% !important;
}

@media all and (min-width: 64.1em) {
  .link--arrow {
    font-size: 1.0625em;
    padding-left: 1.76471em;
  }

  .link--arrow:after {
    width: 0.88235em;
  }

  .link--arrow:hover:after {
    width: 20px;
  }
}

.page-loader__container {
  position: fixed;
  height: 100%;
  width: 100%;
  z-index: 666;
  background-color: #000;
  opacity: 1;
  transition: opacity 0.8s;
}

.page-loader__inner {
  vertical-align: top;
  position: absolute;
  bottom: 0;
  display: inline-block;
  height: 0%;
  width: 100%;
  background-color: #fff;
}

.page-loader__54 {
  position: absolute;
  top: 13em;
  left: 50%;
  width: 200px;
  height: 126px;
  transform: translateX(-50%);
  background-position: center;
  background-size: cover;
  z-index: 667;
}

@media all and (min-width: 768px) {
  .page-loader__54 {
    top: 13em;
    width: 250px;
    height: 158px;
  }
}

@media all and (min-width: 1026px) {
  .page-loader__54 {
    top: 20em;
    width: 340px;
    height: 190px;
  }
}

.menu__outer {
  position: fixed;
  right: -80%;
  top: 0;
  min-height: 100%;
  height: 100vh;
  width: 80%;
  padding: 0.9375em 1.875em;
  background-color: #2f2f2f;
  transition: transform 0.5s, right 0.5s;
  z-index: 0;
  overflow: initial;
  transform: translate3d(0, 0, 0);
}

@media all and (min-width: 64.1em) {
  .menu__outer {
    z-index: 9;
    position: absolute;
    right: 0;
    background-color: transparent;
    height: 100%;
    width: 100%;
    padding: 0;
    overflow: initial;
    transform: translate3d(0, 0, 0);
  }
}

@media all and (min-width: 64.1em) {
  .menu__outer nav {
    height: 100%;
    text-align: center;
  }
}

@media not all and (min-width: 48em) {
  .menu__inner {
    height: 100%;
    overflow: auto;
    -webkit-overflow-scrolling: touch;
  }
}

.menu__icon {
  display: inline-block;
  position: absolute;
  height: 4.375em;
  width: 1.875em;
  left: -2.625em;
  top: 0;
  padding-top: 2.0625em;
  cursor: pointer;
}

@media all and (min-width: 64.1em) {
  .menu__icon {
    display: none;
  }
}

.menu__logo {
  display: block;
  height: 2.8125em;
  width: 4.0625em;
  margin-bottom: 3.125em;
  background-image: url("/assets//rdt-logo-menu.svg");
  background-repeat: no-repeat;
  background-size: contain;
}

.no-svg .menu__logo {
  background-image: asset-url("/assets//rdt-logo-menu.png");
}

@media all and (min-width: 64.1em) {
  .menu__logo {
    display: none;
  }
}

.menu {
  margin: 0 0 3.125em;
  padding: 0;
  list-style-type: none;
}

.menu li {
  position: relative;
  padding-bottom: 0.625em;
  margin-bottom: 0.625em;
  line-height: normal;
}

@media not all and (min-width: 64.1em) {
  .menu li:after {
    position: absolute;
    content: '';
    bottom: 0;
    left: 0;
    height: 1px;
    width: 1.625em;
    background-color: #686868;
  }
}

.menu a {
  font-size: 0.875em;
  color: #fff;
  font-weight: 300;
  letter-spacing: 2px;
  text-transform: uppercase;
}

@media all and (min-width: 64.1em) {
  .menu {
    height: 100%;
    margin: 0 auto;
    display: inline-block;
  }

  .menu li {
    display: inline-block;
    line-height: inherit;
    padding: 0 0.9375em;
    margin: 0;
    height: inherit;
  }

  .menu li:last-child {
    position: absolute;
    right: 1.2375em;
    top: 0;
    padding: 0;
  }

  .menu a {
    font-size: 0.9375em;
    display: inline-block;
    color: #000;
    height: 100%;
    vertical-align: top;
  }
}

@media all and (min-width: 64.1em) and (min-width: 64.1em) {
  .menu a {
    position: relative;
  }

  .menu a:after {
    content: '';
    position: absolute;
    left: 0;
    bottom: 0;
    height: 4px;
    background-color: #000;
    width: 0;
    transition: width 0.2s;
  }

  .menu a:hover:after,
  .menu a.active:after {
    width: 100%;
  }
}

.menu__social {
  padding: 0;
  line-height: normal;
}

@media all and (min-width: 64.1em) {
  .menu__social {
    display: none !important;
  }
}

.menu__address {
  padding: 0.9375em 0 0;
  border: 0;
}

@media all and (min-width: 64.1em) {
  .menu__address {
    display: none !important;
  }
}

.menu__address p {
  line-height: normal;
}

.contact {
  position: fixed;
  visibility: visible;
  right: 0;
  top: 0;
  height: 100%;
  width: 100%;
  padding: 0 0.75em;
  transition: visibility 0s .8s, transform 0.7s;
  overflow: auto;
  -webkit-overflow-scrolling: touch;
  background-color: #2f2f2f;
}

@media not all and (min-width: 64.1em) {
  .contact {
    border-left: 2px solid #222222;
    transform: translateX(100%);
    transition: transform 0.7s;
    z-index: 12;
  }
}

@media all and (min-width: 64.1em) {
  .contact {
    position: fixed;
    visibility: visible;
    width: 26.875em;
    padding: 0 2.5em 0 1.5em;
    transform: translateX(430px);
    z-index: 1;
  }
}

.contact__inner {
  height: auto;
}

.contact__inner .contact__header {
  position: relative;
  height: 4.375em;
  line-height: 4.375em;
}

.contact__inner .contact__title,
.contact__inner .contact__close {
  display: inline-block;
  cursor: pointer;
}

.contact__inner .contact__title {
  font-size: 1em;
  color: #959595;
  font-weight: 700;
  letter-spacing: 1px;
  text-transform: uppercase;
}

.contact__inner .contact__close {
  position: absolute;
  right: 0;
  height: 100%;
  width: 1.5625em;
  padding-top: 0.3125em;
}

.contact__inner .contact__close .close-icon {
  font-size: 0.6875em;
}

.contact__inner .contact__close .close-icon:before,
.contact__inner .contact__close .close-icon:after {
  background-color: #ffb600;
}

.contact__inner .contact__block {
  padding-left: 3em;
  margin-bottom: 1.25em;
}

.contact__inner .contact__block a,
.contact__inner .contact__block p {
  font-size: 0.875em;
  color: #bcbcc4;
  font-weight: 500;
  letter-spacing: 1px;
}

.contact__inner .contact__block.-personal {
  background-image: url("/assets//icons/form-input-icon.svg");
  background-repeat: no-repeat;
  background-position: 0.25em 0.375em;
}

@media not all and (min-width: 64.1em) {
  .contact__inner .contact__block.-personal {
    background: none;
    padding: 0;
  }
}

.no-svg .contact__inner .contact__block.-personal {
  background-image: asset-url("/assets//icons/form-input-icon.png");
}

.contact__inner .contact__block.-address {
  background-image: url("/assets//icons/form-address-icon.svg");
  background-repeat: no-repeat;
  background-position: 0.25em 0.375em;
}

.no-svg .contact__inner .contact__block.-address {
  background-image: asset-url("/assets//icons/form-address-icon.png");
}

.contact__inner .contact__block.-mail {
  background-image: url("/assets//icons/form-mail-icon.svg");
  background-repeat: no-repeat;
  background-position: 0.25em 0.25em;
}

.no-svg .contact__inner .contact__block.-mail {
  background-image: asset-url("/assets//icons/form-mail-icon.png");
}

.contact__inner .contact__block.-telephone {
  background-image: url("/assets//icons/form-phone-icon.svg");
  background-repeat: no-repeat;
  background-position: 0.25em 0.25em;
}

.no-svg .contact__inner .contact__block.-telephone {
  background-image: asset-url("/assets//icons/form-phone-icon.png");
}

.contact label {
  font-size: 0.9375em;
  display: block;
  color: #bcbcc4;
  font-weight: 500;
  margin: 0 0 0.35714em;
}

.input,
.textarea {
  border: 0;
  outline: 0;
  width: 100%;
  padding: 0.3125em 0.625em;
  margin: 0 0 0.625em;
  background-color: #3e3e3e;
  border-radius: 0;
  color: #fff;
  transition: background-color 0.5s;
}

.input:active,
.input:focus,
.input:hover,
.textarea:active,
.textarea:focus,
.textarea:hover {
  background-color: #575757;
}

.input--error {
  border: 1px solid red;
}

.textarea {
  resize: none;
}

.submit {
  position: relative;
  height: 2em;
  line-height: 2em;
  padding: 0 0 0 2.6875em;
  border: 0;
  outline: 0;
  background-color: transparent;
  color: #949494;
}

.submit:hover .submit__icon:after {
  opacity: 1;
}

.submit .submit__icon,
.submit .submit__text {
  display: inline-block;
  vertical-align: middle;
}

.submit .submit__icon {
  position: absolute;
  left: 0;
  top: 0.25em;
  height: 1.75em;
  width: 1.75em;
  border: 2px solid;
  background-image: url("/assets//icons/form-send-icon.svg");
  background-repeat: no-repeat;
  background-position: center;
}

.no-svg .submit .submit__icon {
  background-image: asset-url("/assets//icons/form-send-icon.png");
}

@media all and (min-width: 64.1em) {
  .submit .submit__icon:after {
    content: '';
    position: absolute;
    height: 100%;
    width: 100%;
    left: 0;
    top: 0;
    opacity: 0;
    transition: opacity 0.2s;
    background-image: url("/assets//icons/form-send-icon-black.svg");
    background-repeat: no-repeat;
    background-color: #9c9c9c;
    background-position: center;
  }

  .no-svg .submit .submit__icon:after {
    background-image: asset-url("/assets//icons/form-send-icon-black.png");
  }
}

.submit .submit__icon__inner {
  vertical-align: top;
  position: absolute;
  bottom: 0;
  display: inline-block;
  height: 0%;
  width: 100%;
  background-color: #9c9c9c;
  display: none;
}

.submit .submit__fixed__icon {
  display: none;
  vertical-align: top;
  position: absolute;
  position: absolute;
  left: 0;
  top: 0.25em;
  height: 1.75em;
  width: 1.75em;
  background-color: transparent;
  background-image: url("/assets//icons/form-send-icon-black.svg");
  background-repeat: no-repeat;
  background-position: center;
}

.no-svg .submit .submit__fixed__icon {
  background-image: asset-url("/assets//icons/form-send-icon-black.png");
}

.submit .submit__text {
  font-size: 0.875em;
  color: #bcbcc4;
  font-weight: 500;
  letter-spacing: 1px;
}

.submit.-inactive .submit__icon {
  background-image: url("/assets//icons/form-complete-icon.svg");
  background-repeat: no-repeat;
  background-color: #9c9c9c;
  background-position: center;
}

.no-svg .submit.-inactive .submit__icon {
  background-image: asset-url("/assets//icons/form-complete-icon.png");
}

.submit.-inactive .submit__icon:after {
  display: none;
}

.contact__loader {
  position: absolute;
  height: 100%;
  top: 0;
  left: 0;
  width: 100%;
  background-color: rgba(0, 0, 0, 0.5);
  opacity: 0;
  visibility: hidden;
  transition: visibility 0.2s 0.6, opacity 0.5s;
}

.contact.is-sending .submit__icon {
  background-image: none;
  animation: loader 4s infinite ease;
  animation-fill-mode: backwards;
}

.contact.is-sending .submit__icon:after {
  display: none;
}

.contact.is-sending .submit__icon__inner {
  display: block;
  animation: loader-inner 4s infinite ease;
}

.contact.is-sending .submit__fixed__icon {
  display: block;
}

.gallery__head {
  padding: 0 0.75em;
  position: relative;
  z-index: 1;
}

@media all and (min-width: 48em) {
  .gallery__head {
    position: absolute;
    right: 0;
    top: -7.5em;
  }
}

@media all and (min-width: 64.1em) {
  .gallery__head {
    position: relative;
    right: auto;
    top: auto;
    padding: 0;
  }

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

.gallery__head .gallery__info {
  border: 2px solid #21beba;
}

@media all and (min-width: 48em) {
  .gallery__head .gallery__info {
    display: inline-block;
    float: right;
    position: relative;
    right: -0.3125em;
  }
}

@media all and (min-width: 64.1em) {
  .gallery__head .gallery__info {
    right: -2em;
    border: 0;
  }

  .gallery__head .gallery__info:before,
  .gallery__head .gallery__info:after {
    content: '';
    position: absolute;
    left: 0;
    bottom: 0;
    background-color: #21beba;
    transition: background-color 0.2s, width 0.5s, height 0.5s;
  }

  .gallery__head .gallery__info:before {
    height: 2px;
    width: 0;
    left: auto;
    right: 0;
    transition: background-color 0.2s, width 0.5s 0.2s, height 0.5s 0.2s;
  }

  .gallery__head .gallery__info:after {
    height: 0;
    width: 2px;
    transition: background-color 0.2s, width 0.5s 0.2s, height 0.5s 0.2s;
  }
}

.gallery__head .gallery__info hr {
  margin: 0;
  height: 2px;
  width: 100%;
  background-color: #21beba;
  border: 0;
}

.gallery__head .gallery__info__inner {
  padding: 1.25em 1.875em 2.1875em;
  display: inline-block;
  width: 100%;
}

@media all and (min-width: 64.1em) {
  .gallery__head .gallery__info__inner:before,
  .gallery__head .gallery__info__inner:after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    background-color: #21beba;
    transition: background-color 0.2s, width 0.5s, height 0.5s;
  }

  .gallery__head .gallery__info__inner:before {
    height: 2px;
    width: 0;
    transition: background-color 0.2s, width 0.5s 0.2s, height 0.5s 0.2s;
  }

  .gallery__head .gallery__info__inner:after {
    height: 0;
    width: 2px;
    left: auto;
    right: 0;
    transition: background-color 0.2s, width 0.5s 0.2s, height 0.5s 0.2s;
  }
}

.gallery__head .gallery__border {
  position: absolute;
  left: 0;
  top: 0;
  height: 100%;
  width: 100%;
}

@media not all and (min-width: 64.1em) {
  .gallery__head .gallery__border {
    display: none;
  }
}

.gallery__head .gallery__border rect {
  fill: transparent;
  stroke: #21beba;
  stroke-width: 4px;
  stroke-dasharray: 0 1000;
}

.gallery__head .gallery__cta,
.gallery__head .gallery__project-title {
  position: relative;
  color: #fff;
  margin: 0;
  overflow: hidden;
}

.gallery__head .gallery__cta {
  padding-bottom: 0.5em;
}

@media all and (min-width: 64.1em) {
  .gallery__head .gallery__cta {
    padding-bottom: 0.47059em;
  }
}

.gallery__head .gallery__cta p {
  margin: 0;
  font-size: 0.875em;
}

@media all and (min-width: 64.1em) {
  .gallery__head .gallery__cta p {
    font-size: 1.0625em;
  }
}

.gallery__head .gallery__project-title {
  padding-top: 0.5em;
}

@media all and (min-width: 64.1em) {
  .gallery__head .gallery__project-title {
    padding-top: 0.4em;
  }
}

.gallery__head .gallery__project-title p {
  font-size: 1.125em;
  margin: 0;
  font-weight: 700;
  letter-spacing: 2px;
  text-transform: uppercase;
}

@media all and (min-width: 64.1em) {
  .gallery__head .gallery__project-title p {
    font-size: 1.25em;
  }
}

.gallery__body {
  position: relative;
  top: -1.25em;
  width: 100%;
  overflow: hidden;
}

.gallery__project-photo {
  height: 15em;
  padding: 0;
  margin: 0;
  list-style-type: none;
}

@media all and (min-width: 48em) {
  .gallery__project-photo {
    height: 22.5em;
  }
}

@media all and (min-width: 64.1em) {
  .gallery__project-photo {
    height: 33.75em;
  }
}

.gallery__project-photo > div {
  height: 100%;
}

.gallery__slide {
  display: inline-block;
  height: 100%;
  background-position: center;
  background-size: cover;
}

.gallery__project-arrow {
  position: absolute;
  left: 50%;
  top: 50%;
  margin: -1.09375em 0 0 -1.09375em;
  height: 2.1875em;
  width: 2.1875em;
  padding-left: 0.25em;
  background-color: #686868;
  border-radius: 100%;
  background-image: url("/assets//icons/swipe-arrow.svg");
  background-repeat: no-repeat;
  background-position: center;
  background-size: 1.25em;
}

.no-svg .gallery__project-arrow {
  background-image: asset-url("/assets//icons/swipe-arrow.png");
}

@media all and (min-width: 64.1em) {
  .gallery__project-arrow {
    display: none;
  }
}

.gallery__project-arrow .arrow-indian-icon,
.gallery__project-arrow .arrow-indian-icon--right {
  background-color: #fff;
  font-size: 0.5625em;
  transform: rotate(180deg);
}

.gallery__navigation,
.gallery__navigation--left {
  position: absolute;
  right: 0;
  top: 0;
  height: 100%;
  width: 20%;
  background-color: transparent;
  cursor: pointer;
  overflow: hidden;
}

@media not all and (min-width: 64.1em) {
  .gallery__navigation,
  .gallery__navigation--left {
    display: none;
  }
}

.gallery__navigation:after,
.gallery__navigation--left:after {
  content: '';
  position: absolute;
  top: 0;
  right: 0;
  height: 100%;
  width: 5em;
  background-color: transparent;
  transition: background-color .4s ease-out;
}

.gallery__navigation .gallery__navigation__preview,
.gallery__navigation--left .gallery__navigation__preview {
  position: relative;
  height: 100%;
  width: 5em;
  opacity: 0;
  background-image: url("/assets//hp-carousel.jpg");
  background-repeat: no-repeat;
  background-position: -2px center;
  background-size: cover;
  transform: translateX(-100%);
  transition: transform .3s, opacity .3s;
}

.gallery__navigation .gallery__navigation-arrow,
.gallery__navigation--left .gallery__navigation-arrow {
  height: 1.5em;
  width: 1.875em;
  position: absolute;
  right: 0;
  top: 50%;
  margin-top: -0.75em;
  transform: translateX(-40px);
  transition: transform .3s ease-out;
  z-index: 1;
}

.gallery__navigation .gallery__navigation-arrow:before,
.gallery__navigation--left .gallery__navigation-arrow:before {
  content: '';
  position: absolute;
  height: 100%;
  width: 100%;
  background-image: url("/assets//icons/gallery-arrow.svg");
  background-repeat: no-repeat;
  background-position: center;
  opacity: 1;
  transition: opacity 0.5s;
}

.no-svg .gallery__navigation .gallery__navigation-arrow:before,
.no-svg .gallery__navigation--left .gallery__navigation-arrow:before {
  background-image: asset-url("/assets//icons/gallery-arrow.png");
}

.gallery__navigation .gallery__navigation-arrow:after,
.gallery__navigation--left .gallery__navigation-arrow:after {
  position: absolute;
  content: '';
  height: 100%;
  width: 100%;
  background-image: url("/assets//icons/gallery-arrow-white.svg");
  background-repeat: no-repeat;
  background-position: center;
  opacity: 0;
  transition: opacity 0.5s;
}

.no-svg .gallery__navigation .gallery__navigation-arrow:after,
.no-svg .gallery__navigation--left .gallery__navigation-arrow:after {
  background-image: asset-url("/assets//icons/gallery-arrow-white.png");
}

.gallery__navigation .arrow-indian-icon,
.gallery__navigation--left .arrow-indian-icon,
.gallery__navigation .arrow-indian-icon--right,
.gallery__navigation--left .arrow-indian-icon--right {
  position: relative;
  top: 50%;
  background-color: #21beba;
  left: 100%;
  transform: translateX(-40px) rotate(180deg);
  transition: transform 0.3s ease-out, background-color 0.2s;
  z-index: 1;
}

.gallery__navigation:hover .gallery__navigation-arrow,
.gallery__navigation--left:hover .gallery__navigation-arrow {
  transform: translateX(-30px);
}

.gallery__navigation:hover .gallery__navigation-arrow:before,
.gallery__navigation--left:hover .gallery__navigation-arrow:before {
  opacity: 0;
}

.gallery__navigation:hover .gallery__navigation-arrow:after,
.gallery__navigation--left:hover .gallery__navigation-arrow:after {
  opacity: 1;
}

.gallery__navigation:hover .gallery__navigation__preview,
.gallery__navigation--left:hover .gallery__navigation__preview {
  opacity: 1;
  transform: translateX(0);
}

.gallery__navigation:hover:after,
.gallery__navigation--left:hover:after {
  background-color: rgba(0, 0, 0, 0.25);
}

.gallery__navigation--left {
  left: 0;
  right: auto;
}

.gallery__navigation--left:after {
  left: 0;
}

.gallery__navigation--left .gallery__navigation__preview {
  transform: translateX(100%);
}

.gallery__navigation--left .gallery__navigation-arrow {
  right: auto;
  transform: translateX(40px) rotate(180deg);
}

.gallery__navigation--left:hover .gallery__navigation-arrow {
  transform: translateX(30px) rotate(180deg);
}

.gallery__navigation--left:hover .gallery__navigation__preview {
  opacity: 1;
  transform: translateX(0);
}

.gallery__footer {
  padding: 0.75em;
  text-align: right;
  position: relative;
  top: -2em;
}

@media all and (min-width: 64.1em) {
  .gallery__footer {
    top: -1.5625em;
    padding-left: 0;
    padding-right: 0;
  }
}

.gallery__footer .gallery__detail__arrow,
.gallery__footer .gallery__detail__text {
  display: inline-block;
  vertical-align: middle;
}

.gallery__footer .gallery__detail__arrow {
  height: 0.9375em;
  width: 0.9375em;
}

@media all and (min-width: 64.1em) {
  .gallery__head .gallery__info .gallery__border rect {
    transition: stroke-dasharray 1s ease-out;
  }

  .gallery__head .gallery__info hr {
    width: 0;
    transition: background-color 0.2s, width 0.5s 0.5s;
  }

  .gallery__head .gallery__info p {
    transition: transform 0.2s 1s;
  }

  .gallery__head .gallery__info .gallery__cta p {
    transform: translateY(50px);
  }

  .gallery__head .gallery__info .gallery__project-title p {
    transform: translateY(-50px);
  }
}

.gallery__project-arrow {
  transition: opacity 0.5s, transform 0.5s;
}

.-in-viewport .gallery__head .gallery__info hr {
  width: 100%;
}

.-in-viewport .gallery__head .gallery__info p {
  opacity: 1;
  transform: translateY(0);
}

.-in-viewport .gallery__project-arrow {
  opacity: 0;
  transform: scale(2);
  transition-delay: 1s;
}

.-in-viewport .gallery__info__inner:before {
  width: 100%;
  transition: background-color 0.2s, width 0.5s 0s, height 0.5s 0s;
  transition-timing-function: ease-in;
}

.-in-viewport .gallery__info__inner:after {
  height: 100%;
  transition: background-color 0.2s, width 0.5s 0.5s, height 0.5s 0.5s;
  transition-timing-function: linear;
}

.-in-viewport .gallery__info:before {
  width: 100%;
  transition: background-color 0.2s, width 0.5s 1s, height 0.5s 1s;
  transition-timing-function: linear;
}

.-in-viewport .gallery__info:after {
  height: 100%;
  transition: background-color 0.2s, width 0.5s 1.5s, height 0.5s 1.5s;
  transition-timing-function: ease-out;
}

@media all and (min-width: 64.1em) {
  .gallery__info:hover:before,
  .gallery__info:hover:after,
  .gallery__info:hover .gallery__info__inner:before,
  .gallery__info:hover .gallery__info__inner:after,
  .gallery__info:hover hr {
    background-color: #0df5ef;
  }
}

.news {
  padding: 0;
  margin: 0;
  list-style-type: none;
  font-family: "KlartextMono", sans-serif;
  height: calc(100% + 4px);
}

@media all and (min-width: 48em) {
  .news {
    height: 100%;
  }
}

.news__outer {
  position: relative;
}

@media all and (min-width: 48em) {
  .news__outer:before,
  .news__outer:after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    background-color: #ff2150;
    transition: width 0.5s, height 0.5s;
  }

  .news__outer:before {
    height: 2px;
    width: 0;
    transition-delay: 0.2s;
  }

  .news__outer:after {
    height: 0;
    width: 2px;
    left: auto;
    right: 0;
    transition-delay: 0.2s;
  }
}

.news__inner {
  position: relative;
  padding: 0 1.5625em;
  height: 22.5em;
  border: 2px solid #ff2150;
  overflow: hidden;
}

@media all and (min-width: 48em) {
  .news__inner {
    border: 0;
  }

  .news__inner:before,
  .news__inner:after {
    content: '';
    position: absolute;
    left: 0;
    bottom: 0;
    background-color: #ff2150;
    transition: width 0.5s, height 0.5s;
  }

  .news__inner:before {
    height: 2px;
    width: 0;
    left: auto;
    right: 0;
    transition-delay: 0.2s;
  }

  .news__inner:after {
    height: 0;
    width: 2px;
    transition-delay: 0.2s;
  }
}

@media all and (min-width: 64.1em) {
  .news__inner {
    padding: 0 2.1875em;
    height: 23.875em;
    border: 0;
  }
}

.news__element {
  position: relative;
  padding: 1.5625em 0;
  border-bottom: 2px solid #ff2150;
  height: 180px;
  overflow: hidden;
  transition: height 0.5s, padding 0.5s, opacity 0.2s ease 0.2s;
}

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

@media all and (min-width: 64.1em) {
  .news__element {
    height: 11.9375em;
  }
}

.news__sidebar {
  padding-left: 0.75em;
  float: left;
}

.news__date {
  text-align: center;
  border-bottom: 1px solid #ff2150;
  padding-bottom: 0.3125em;
  margin-bottom: 0.3125em;
}

.news__date p,
.news__date span:nth-child(2) {
  font-size: 0.75em;
  margin: 0;
}

.news__date span {
  font-size: 2.5em;
  height: 1em;
  display: block;
}

@media all and (min-width: 64.1em) {
  .news__date {
    padding-bottom: 0.75em;
    margin-bottom: 0.75em;
  }

  .news__date p,
  .news__date span:nth-child(2) {
    font-size: 0.9375em;
  }

  .news__date span {
    font-size: 2.33333em;
  }
}

.news__social .news__social__icon,
.news__social .news__social__icon--fb,
.news__social .news__social__icon--tw {
  display: inline-block;
  width: 50%;
  height: 0.9375em;
  background-size: contain;
  background-position: left center;
}

.news__social .news__social__icon--fb {
  background-image: url("/assets//icons/facebook-icon-news.svg");
  background-repeat: no-repeat;
}

.no-svg .news__social .news__social__icon--fb {
  background-image: asset-url("/assets//icons/facebook-icon-news.png");
}

.news__social .news__social__icon--tw {
  background-image: url("/assets//icons/twitter-icon-news.svg");
  background-repeat: no-repeat;
}

.no-svg .news__social .news__social__icon--tw {
  background-image: asset-url("/assets//icons/twitter-icon-news.png");
}

.news__content {
  padding-left: 4.0625em;
}

.news__content p {
  font-size: 0.875em;
  line-height: 1.5;
  margin: 0;
}

.news__content .news__text {
  font-weight: 300;
}

.news__content .news__text a {
  color: inherit;
  font-weight: 700;
}

.news__plus {
  position: absolute;
  height: 1.5625em;
  width: 1.5625em;
  color: #ff2150;
  bottom: 1.4375em;
  left: 50%;
  margin-left: -0.78125em;
  cursor: pointer;
  z-index: 2;
}

.news__plus .plus-icon {
  font-size: 2em;
  display: inline-block;
  transition: transform 0.2s;
}

.news__border {
  position: absolute;
  left: 0;
  top: 0;
  height: 100%;
  width: 100%;
}

@media not all and (min-width: 64.1em) {
  .news__border {
    display: none;
  }
}

.news__border rect {
  fill: transparent;
  stroke: #ff2150;
  stroke-width: 4px;
  stroke-dasharray: 0 1500;
}

.news__element.-zoomed {
  padding: 1.5625em 0;
  height: 22.625em;
  border-width: 2px;
  opacity: 1;
}

.news__element.-zoomed .news__plus .plus-icon {
  transform: rotate(45deg);
}

@media all and (min-width: 64.1em) {
  .news__element.-zoomed {
    height: 24em;
  }
}

.news__navigator {
  position: absolute;
  left: 0;
  bottom: 2.25em;
  width: 100%;
  padding: 0 2.625em;
  z-index: 0;
  transition: opacity 0.5s 2s;
}

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

@media all and (min-width: 64.1em) {
  .news__navigator {
    top: 0;
    left: -2.25em;
    height: 3.75em;
    width: 1.5625em;
    padding: 3.125em 0 0;
  }
}

.news__navigator .news__navigator__next,
.news__navigator .news__navigator__prev {
  display: inline-block;
  position: relative;
  height: 1.25em;
  width: 1.25em;
  cursor: pointer;
  background-image: url("/assets//icons/news-arrow-off.svg");
  background-repeat: no-repeat;
  background-position: center;
  background-size: auto 0.75em;
  transform: rotate(-90deg);
}

.no-svg .news__navigator .news__navigator__next,
.no-svg
    .news__navigator .news__navigator__prev {
  background-image: asset-url("/assets//icons/news-arrow-off.png");
}

.news__navigator .news__navigator__next .news__arrow,
.news__navigator .news__navigator__prev .news__arrow {
  position: relative;
  display: block;
  height: 100%;
  width: 100%;
  background-image: url("/assets//icons/news-arrow-on.svg");
  background-repeat: no-repeat;
  background-position: center;
  background-size: auto 0.75em;
  opacity: 0;
  transition: opacity 0.2s;
}

.no-svg .news__navigator .news__navigator__next .news__arrow,
.no-svg
      .news__navigator .news__navigator__prev .news__arrow {
  background-image: asset-url("/assets//icons/news-arrow-on.png");
}

.news__navigator .news__navigator__next.active .news__arrow,
.news__navigator .news__navigator__prev.active .news__arrow {
  opacity: 1;
}

.news__navigator .news__navigator__next {
  transform: rotate(90deg);
}

.news__navigator .news__navigator__next {
  float: right;
}

@media all and (min-width: 64.1em) {
  .news__navigator .news__navigator__next {
    float: none;
    transform: rotate(-180deg);
  }
}

.news__navigator .news__navigator__prev {
  float: left;
}

@media all and (min-width: 64.1em) {
  .news__navigator .news__navigator__prev {
    float: none;
    transform: rotate(0deg);
    margin-bottom: 1.25em;
  }
}

@media all and (min-width: 48em) {
  .section--news .news__border rect {
    transition: stroke-dasharray 1s ease-out;
  }

  .section--news .section__title,
  .section--news .news__element,
  .section--news .news__navigator {
    opacity: 0;
  }

  .section--news .section__title {
    transition: opacity 0.5s 1s;
  }
}

@media all and (min-width: 48em) {
  .section--news.-in-viewport rect {
    stroke-dasharray: 1500;
  }

  .section--news.-in-viewport .news__element,
  .section--news.-in-viewport .section__title,
  .section--news.-in-viewport .news__navigator {
    opacity: 1;
  }

  .section--news.-in-viewport .news__element {
    transition: height 0.5s, padding 0.5s, opacity 0.2s ease 2s;
  }

  .section--news.-in-viewport .news__inner:before {
    width: 100%;
    transition-delay: 1s;
    transition-timing-function: linear;
  }

  .section--news.-in-viewport .news__inner:after {
    height: 100%;
    transition-delay: 1.5s;
    transition-timing-function: ease-out;
  }

  .section--news.-in-viewport .news__outer:before {
    width: 100%;
    transition-delay: 0s;
    transition-timing-function: ease-in;
  }

  .section--news.-in-viewport .news__outer:after {
    height: 100%;
    transition-delay: 0.5s;
    transition-timing-function: linear;
  }
}

.header {
  position: relative;
  height: 4.375em;
  line-height: 4.375em;
  background-color: #fff;
  padding: 0 0.75em;
  transition: transform 0.7s cubic-bezier(0.23, 1, 0.32, 1), left 0.7s;
  z-index: 10;
  left: 0;
  transform: translateZ(0);
}

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

@media all and (min-width: 64.1em) {
  .header {
    padding: 0 1.2375em;
    position: fixed;
    top: 0;
    width: 100%;
  }
}

.header .header__logo,
.header .header__menu-icon,
.header .menu__outer {
  box-sizing: border-box;
}

.header .header__logo {
  display: inline-block;
  width: 4.0625em;
  margin: 0 0 0 0.375em;
  transition: opacity 0.2s;
}

@media all and (min-width: 64.1em) {
  .header .header__logo {
    position: relative;
    z-index: 10;
  }
}

.header .header__logo img {
  width: 100%;
  height: auto;
  vertical-align: middle;
}

.header .header__menu-icon {
  position: relative;
  display: inline-block;
  float: right;
  height: 100%;
  width: 1.875em;
  right: 0;
  padding-top: 2.0625em;
  cursor: pointer;
  transition: right 0.5s;
}

@media all and (min-width: 64.1em) {
  .header .header__menu-icon {
    display: none;
  }
}

@media not all and (min-width: 48em) {
  .header.headroom {
    top: 0;
    left: 0;
    position: fixed;
    width: 100%;
  }

  .header.headroom.headroom--pinned {
    transform: translateY(0%);
  }

  .header.headroom.headroom--unpinned {
    transform: translateY(-100%);
  }
}

.landing-logo {
  position: absolute;
  left: 0%;
  top: 30%;
  width: 100%;
  mix-blend-mode: darken;
  text-align: center;
}

.landing-logo__text {
  position: relative;
  margin: 0 auto;
  left: -1.5625em;
  height: 3.125em;
  line-height: 3.125em;
  width: 10.75em;
  color: #ff2150;
}

.landing-logo__text p {
  font-size: 2.1875em;
  margin: -0.14286em 0 0;
  letter-spacing: 1px;
  font-weight: 700;
  text-align: center;
}

@media all and (min-width: 64.1em) {
  .landing-logo__text {
    height: 6.875em;
    width: auto;
    display: inline-block;
    line-height: 6.875em;
    padding: 0 1.875em 0 1.375em;
  }

  .landing-logo__text p {
    font-size: 5.3125em;
    margin-top: -2px;
    font-weight: 700;
  }
}

.landing-logo__text:before,
.landing-logo__text:after,
.landing-logo__text p:before,
.landing-logo__text p:after {
  content: '';
  position: absolute;
  background-color: #ff2150;
  bottom: 0;
  right: 0;
  transition: height 0.2s, width 0.4s;
}

.landing-logo__text:before,
.landing-logo__text p:before {
  width: 0;
  height: 5px;
}

.landing-logo__text:after,
.landing-logo__text p:after {
  width: 5px;
  height: 0;
}

@media all and (min-width: 64.1em) {
  .landing-logo__text:before,
  .landing-logo__text p:before {
    height: 9px;
  }

  .landing-logo__text:after,
  .landing-logo__text p:after {
    width: 9px;
  }
}

.landing-logo__text.loaded:before,
.landing-logo__text.loaded p:before {
  width: 100%;
}

.landing-logo__text.loaded:after,
.landing-logo__text.loaded p:after {
  height: 100%;
}

.landing-logo__text p:before,
.landing-logo__text p:after {
  transition-delay: 0.4s;
}

.landing-logo__text p:before {
  top: 0;
  bottom: auto;
  transition-delay: 0.2s;
}

.landing-logo__text p:after {
  left: 0;
}

.landing-logo__square {
  position: relative;
  display: block;
  height: 3.125em;
  width: 3.125em;
  margin: 0 auto;
  left: 5em;
  top: -0.3125em;
  background-color: #ff2150;
  cursor: pointer;
}

.landing-logo__square:after,
.landing-logo__square:before {
  content: '';
  position: absolute;
  background-color: #fff;
  opacity: 0;
  transition: opacity 0.5s;
}

@media not all and (min-width: 64.1em) {
  .landing-logo__square:after,
  .landing-logo__square:before {
    opacity: 1;
  }
}

.landing-logo__square:before {
  top: 33%;
  left: calc(50% - 1px);
  height: 33%;
  width: 2px;
}

.landing-logo__square:after {
  top: calc(50% - 1px);
  left: 33%;
  height: 2px;
  width: 33%;
}

@media all and (min-width: 64.1em) {
  .landing-logo__square {
    height: 7.1875em;
    width: 7.1875em;
    left: 13em;
    top: -0.5625em;
  }

  .landing-logo__square:before {
    left: calc(50% - 2px);
    width: 4px;
  }

  .landing-logo__square:after {
    top: calc(50% - 2px);
    height: 4px;
  }

  .landing-logo__square:hover:before,
  .landing-logo__square:hover:after,
  .landing-logo__square.hovered:before,
  .landing-logo__square.hovered:after {
    opacity: 1;
  }
}

@media all and (min-width: 64.1em) {
  .landing-logo.qualite .landing-logo__square {
    left: 12.375em;
  }
}

.section {
  padding: 0.75em;
  transition: opacity 0.2s;
}

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

@media all and (min-width: 64.1em) {
  .section {
    padding: 1.2375em;
  }
}

.section .section__content {
  position: relative;
  padding: 8.625em 0 0;
  height: 31.25em;
}

@media all and (min-width: 64.1em) {
  .section .section__content {
    height: 50em;
    padding-top: 16.75em;
  }
}

.section .section__text {
  position: relative;
  margin-top: -5.625em;
  padding: 0 0.75em;
}

@media all and (min-width: 64.1em) {
  .section .section__text {
    margin-top: -15em;
    padding: 0 5.3125em;
  }
}

.section .paragraph {
  font-size: 1.25em;
  color: #ff2150;
  font-weight: 600;
  line-height: 1.4;
}

@media all and (min-width: 64.1em) {
  .section .paragraph {
    font-size: 2.25em;
    width: 14.72222em;
    line-height: 1.35;
    letter-spacing: 2px;
  }

  .section .paragraph br {
    display: none;
  }
}

.section .underline {
  border-bottom: 2px solid #ff2150;
  transition: border-color 0.2s;
}

.section .underline a {
  position: relative;
  display: inline-block;
  height: 1.3em;
  color: inherit;
  z-index: 1;
}

@media all and (min-width: 64.1em) {
  .section .underline a {
    height: 1.44444em;
  }
}

@media all and (min-width: 64.1em) {
  .section .underline {
    position: relative;
    display: inline-block;
    padding: 0 4px;
    left: -4px;
    border-width: 4px;
    transition: color 0.2s;
  }

  .section .underline:after {
    content: '';
    position: absolute;
    left: 0;
    bottom: 0;
    height: 0;
    width: 100%;
    background-color: #ff2150;
    transition: height .15s;
  }

  .section .underline:hover,
  .section .underline.hovered {
    color: #fff;
    border-color: #ff2150;
  }

  .section .underline:hover:after,
  .section .underline.hovered:after {
    height: 100%;
  }
}

@media all and (min-width: 64.1em) {
  .section--landing {
    height: auto;
  }
}

.section--landing .section__content {
  padding: 0;
  background-color: #fff;
}

@media all and (min-width: 64.1em) {
  .section--landing .section__content {
    min-height: 80vh;
  }
}

.section--landing .section__scroll {
  position: absolute;
  left: 50%;
  bottom: 1.75em;
  transform: rotate(-90deg);
}

@media not all and (min-width: 64.1em) {
  .section--landing .section__scroll {
    display: none;
  }
}

.section--landing .section__scroll .arrow-indian-icon,
.section--landing .section__scroll .arrow-indian-icon--right {
  background-color: #ff2150;
}

.section--landing h2.section__text {
  font-size: 1em;
}

.carousel {
  position: relative;
  padding: 0;
  margin: 0;
  list-style-type: none;
  height: 100%;
  width: 100%;
}

.carousel__slide {
  position: absolute;
  height: 100%;
  width: 100%;
  left: 0;
  top: 0;
  background-position: center;
  background-size: cover;
  opacity: 1;
  visibility: hidden;
}

@media all and (min-width: 64.1em) {
  .section__group {
    position: relative;
    padding: 0 5.3125em;
    min-height: 45em;
  }
}

@media all and (min-width: 1500px) {
  .section__group {
    padding: 0;
    width: 81.25em;
    margin: 0 auto 3.75em;
  }
}

.section--news {
  position: relative;
  margin: 3.125em 0 5em;
  color: #fff;
}

@media all and (min-width: 48em) {
  .section--news {
    position: absolute;
    left: 0;
    margin: 3.125em 0 0;
    width: 23.125em;
    z-index: 2;
  }
}

@media all and (min-width: 64.1em) {
  .section--news {
    left: 5.3125em;
    margin: 15.625em 0 0;
  }
}

@media all and (min-width: 1500px) {
  .section--news {
    left: 2.5em;
  }

  .section--news .section__title p {
    font-size: 1.25em;
  }
}

.section--news .section__title {
  margin-bottom: 0.625em;
}

.section--news .section__title p {
  font-size: 1.125em;
  margin: 0;
  font-family: "KlartextMono", sans-serif;
  font-weight: 500;
  text-align: center;
}

@media all and (min-width: 48em) {
  .section--news .section__title p {
    text-align: left;
  }
}

.section--news {
  opacity: 0;
  transition: opacity 0.2s;
}

.section--news.-in-viewport {
  opacity: 1;
}

.section--gallery {
  margin: 0 0 3.75em;
  padding: 0;
  position: relative;
}

@media all and (min-width: 48em) {
  .section--gallery:after {
    content: "";
    display: table;
    clear: both;
  }

  .section--gallery .gallery {
    float: right;
    width: calc(100% - 330px);
    padding-right: 0.75em;
    right: 0;
  }
}

@media all and (min-width: 64.1em) {
  .section--gallery .gallery {
    padding-right: 0;
    rigth: 0;
  }
}

@media all and (min-width: 1500px) {
  .section--gallery .gallery {
    width: calc(100% - 370px);
  }
}

.section--gallery {
  opacity: 0;
  transition: opacity 0.2s;
}

.section--gallery.-in-viewport {
  opacity: 1;
}

.section--prestations {
  margin: 0 0 4.0625em;
  color: #fff;
}

.section--prestations:after {
  content: "";
  display: table;
  clear: both;
}

@media all and (min-width: 64.1em) {
  .section--prestations {
    padding: 0 5.3125em;
    margin-bottom: 7.5em;
  }
}

@media all and (min-width: 1500px) {
  .section--prestations {
    padding: 0;
    width: 81.25em;
    margin: 0 auto 7.5em;
  }
}

@media all and (min-width: 64.1em) {
  .section--prestations .section__inner {
    min-height: 23.75em;
  }
}

.section--prestations {
  opacity: 0;
  transition: opacity 0.5s;
}

.section--prestations.-in-viewport {
  opacity: 1;
}

.section--prestations .section__inner:after {
  content: "";
  display: table;
  clear: both;
}

@media all and (min-width: 64.1em) {
  .section--prestations .section__inner {
    float: right;
    width: 66%;
  }
}

@media all and (min-width: 48em) {
  .section--prestations .section__block {
    float: left;
    width: 50%;
  }

  .section--prestations .section__block:first-child {
    padding-right: 1.5em;
  }
}

@media all and (min-width: 64.1em) {
  .section--prestations .section__block {
    width: 60%;
    padding: 0;
  }

  .section--prestations .section__block:last-child {
    padding-top: 5.625em;
    width: 40%;
  }
}

.section--prestations .section__title {
  font-size: 1.25em;
  position: relative;
  font-weight: 700;
  padding-bottom: 0.75em;
  margin: 0 0 0.75em;
  letter-spacing: 2px;
  text-transform: uppercase;
}

.section--prestations .section__title:after {
  content: '';
  position: absolute;
  left: 0;
  bottom: 0;
  height: 5px;
  width: 5px;
  background-color: #fff;
}

@media all and (min-width: 64.1em) {
  .section--prestations .section__title {
    font-size: 1.875em;
    padding-bottom: 0.66667em;
    margin: 0 0 0.66667em;
  }
}

.section--prestations .section__description {
  font-size: 0.875em;
  margin: 0 0 1.42857em;
  font-weight: 300;
}

@media all and (min-width: 64.1em) {
  .section--prestations .section__description {
    font-size: 1.125em;
    margin: 0 0 2.22222em;
    padding-right: 5.55556em;
  }
}

.section--prestations .section__informations {
  font-size: 0.75em;
  display: inline-block;
  padding: 0.33333em 0.66667em;
  margin: 0 0 4.16667em;
  border: 1px solid #fff;
  color: inherit;
  font-weight: 500;
  letter-spacing: 1px;
  text-transform: uppercase;
}

@media all and (min-width: 64.1em) {
  .section--prestations .section__informations {
    position: relative;
    font-size: 0.875em;
    padding: 0.28571em 0.57143em;
    margin: 0;
    overflow: hidden;
    transition: color 0.2s;
  }

  .section--prestations .section__informations:after {
    content: '';
    position: absolute;
    left: 0;
    top: 100%;
    height: 100%;
    width: 100%;
    background-color: #fff;
    transition: top 0.2s;
    z-index: -1;
  }

  .section--prestations .section__informations:hover {
    color: #000;
  }

  .section--prestations .section__informations:hover:after {
    top: 0;
  }
}

.section--gallery .gallery__body {
  opacity: 0;
  transition: opacity 0.5s;
}

.section--gallery.-in-viewport .gallery__body {
  opacity: 1;
}

.section--contact {
  padding-bottom: 0;
  margin-bottom: 1.25em;
}

.section--contact:after {
  content: "";
  display: table;
  clear: both;
}

@media all and (min-width: 48em) {
  .section--contact {
    width: 40%;
    margin: 0 auto 3.125em;
  }
}

@media all and (min-width: 64.1em) {
  .section--contact {
    padding: 0 13.125em;
    width: 100%;
  }
}

.section--contact .section__outer {
  position: relative;
  padding: 0.9375em 1.5625em;
  border: 2px solid #ff2150;
}

@media all and (min-width: 64.1em) {
  .section--contact .section__outer {
    margin-left: 34%;
    width: 20.625em;
    border: 0;
  }

  .section--contact .section__outer:before,
  .section--contact .section__outer:after {
    content: '';
    position: absolute;
    left: 0;
    bottom: 0;
    background-color: #ff2150;
    transition: width 0.2s, height 0.2s;
  }

  .section--contact .section__outer:before {
    height: 2px;
    width: 0;
    left: auto;
    right: 0;
    transition-delay: 0.2s;
  }

  .section--contact .section__outer:after {
    height: 0;
    width: 2px;
    transition-delay: 0s;
  }
}

@media all and (min-width: 64.1em) {
  .section--contact .section__inner:before,
  .section--contact .section__inner:after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    background-color: #ff2150;
    transition: width 0.2s, height 0.2s;
  }

  .section--contact .section__inner:before {
    height: 2px;
    width: 0;
    transition-delay: 0.6s;
  }

  .section--contact .section__inner:after {
    height: 0;
    width: 2px;
    left: auto;
    right: 0;
    transition-delay: 0.4s;
  }
}

.section--contact .section__cta {
  margin: 0;
  padding-bottom: 0.5em;
  color: #fff;
  overflow: hidden;
}

@media all and (min-width: 64.1em) {
  .section--contact .section__cta {
    padding-bottom: 0.5em;
  }

  .section--contact .section__cta:after {
    content: '';
    position: absolute;
    top: -5.625em;
    left: -8.75em;
    height: 6em;
    width: 9.0625em;
    background-image: url("/assets//rdt-logo-contact.svg");
    background-repeat: no-repeat;
    z-index: -1;
  }

  .no-svg .section--contact .section__cta:after {
    background-image: asset-url("/assets//rdt-logo-contact.png");
  }
}

.section--contact .section__cta p {
  font-size: 0.9375em;
  margin: 0;
  font-weight: 700;
  letter-spacing: 1px;
  text-transform: uppercase;
}

@media all and (min-width: 64.1em) {
  .section--contact .section__cta p {
    font-size: 1em;
    letter-spacing: 2px;
  }
}

.section--contact hr {
  margin: 0;
  height: 2px;
  width: 100%;
  background-color: #ff2150;
  border: 0;
}

.section--contact .section__contacts {
  padding-top: 0.5em;
  overflow: hidden;
}

.section--contact .section__contacts a {
  font-size: 0.875em;
  display: inline-block;
  width: 50%;
  color: #fff;
  border-right: 1px solid;
}

@media all and (min-width: 64.1em) {
  .section--contact .section__contacts a {
    font-size: 1em;
  }
}

.section--contact .section__contacts a:last-child {
  text-align: right;
  border: 0;
}

.section--contact .section__border rect {
  transition: stroke-dasharray 1s ease-out;
}

.section--contact hr {
  width: 0;
  transition: width 0.5s 0.5s;
}

.section--contact p,
.section--contact a {
  transition: transform 0.5s 1s;
}

.section--contact .section__cta p {
  transform: translateY(50px);
}

.section--contact .section__contacts a {
  transform: translateY(-50px);
}

.section--contact.-in-viewport .section__border rect {
  stroke-dasharray: 1000;
}

.section--contact.-in-viewport hr {
  width: 100%;
}

.section--contact.-in-viewport p,
.section--contact.-in-viewport a {
  transform: translateY(0);
}

.section--contact.-in-viewport .section__inner:before {
  width: 100%;
  transition-delay: 0s;
  transition-timing-function: ease-in;
}

.section--contact.-in-viewport .section__inner:after {
  height: 100%;
  transition-delay: 0.2s;
  transition-timing-function: linear;
}

.section--contact.-in-viewport .section__outer:before {
  width: 100%;
  transition-delay: 0.4s;
  transition-timing-function: linear;
}

.section--contact.-in-viewport .section__outer:after {
  height: 100%;
  transition-delay: 0.6s;
  transition-timing-function: ease-out;
}

.prestations__tab-selector {
  margin: 0 0 1.5625em;
  padding: 0;
  list-style-type: none;
}

.prestations__selector {
  display: inline-block;
  width: 25%;
  text-align: justify;
}

.prestations__selector__icon {
  position: relative;
  display: inline-block;
  height: 2.8125em;
  width: 2.8125em;
  cursor: pointer;
}

@media all and (min-width: 64.1em) {
  .prestations__selector__icon {
    height: 3.125em;
    width: 3.125em;
  }
}

.prestations__selector__icon g,
.prestations__selector__icon path {
  transition: stroke 0.2s, fill 0.2s;
}

.prestations__selector__icon.developpement g {
  stroke: #414141;
}

.prestations__selector__icon.commercialisation path {
  stroke: #414141;
}

.prestations__selector__icon.realisation path {
  stroke: #414141;
}

.prestations__selector__icon.exploitation path {
  fill: #414141;
}

.prestations__selector__icon:hover.developpement g,
.prestations__selector__icon.active.developpement g {
  stroke: #ffb600;
}

.prestations__selector__icon:hover.commercialisation path,
.prestations__selector__icon.active.commercialisation path {
  stroke: #1092ff;
}

.prestations__selector__icon:hover.realisation path,
.prestations__selector__icon.active.realisation path {
  stroke: #ff2150;
}

.prestations__selector__icon:hover.exploitation path,
.prestations__selector__icon.active.exploitation path {
  fill: #37bb31;
}

.prestations__icon,
.prestations__icon--hover {
  width: 100%;
  height: 100%;
  background-size: cover;
  background-position: bottom center;
}

.developpement .prestations__icon,
.developpement .prestations__icon--hover {
  background-image: url("/assets//icons/pt-dev-icon-home.svg");
  background-repeat: no-repeat;
}

.no-svg .developpement .prestations__icon,
.no-svg .developpement .prestations__icon--hover {
  background-image: asset-url("/assets//icons/pt-dev-icon-home.png");
}

.commercialisation .prestations__icon,
.commercialisation .prestations__icon--hover {
  background-image: url("/assets//icons/pt-com-icon-home.svg");
  background-repeat: no-repeat;
}

.no-svg .commercialisation .prestations__icon,
.no-svg .commercialisation .prestations__icon--hover {
  background-image: asset-url("/assets//icons/pt-com-icon-home.png");
}

.realisation .prestations__icon,
.realisation .prestations__icon--hover {
  background-image: url("/assets//icons/pt-rea-icon-home.svg");
  background-repeat: no-repeat;
}

.no-svg .realisation .prestations__icon,
.no-svg .realisation .prestations__icon--hover {
  background-image: asset-url("/assets//icons/pt-rea-icon-home.png");
}

.exploitation .prestations__icon,
.exploitation .prestations__icon--hover {
  background-image: url("/assets//icons/pt-exp-icon-home.svg");
  background-repeat: no-repeat;
}

.no-svg .exploitation .prestations__icon,
.no-svg .exploitation .prestations__icon--hover {
  background-image: asset-url("/assets//icons/pt-exp-icon-home.png");
}

.prestations__icon--hover {
  position: absolute;
  left: 0;
  bottom: 0;
  height: 0;
  transition: height 0.2s;
}

.developpement .prestations__icon--hover {
  background-image: url("/assets//icons/pt-dev-icon-hover.svg");
  background-repeat: no-repeat;
}

.no-svg .developpement .prestations__icon--hover {
  background-image: asset-url("/assets//icons/pt-dev-icon-hover.png");
}

.commercialisation .prestations__icon--hover {
  background-image: url("/assets//icons/pt-com-icon-hover.svg");
  background-repeat: no-repeat;
}

.no-svg .commercialisation .prestations__icon--hover {
  background-image: asset-url("/assets//icons/pt-com-icon-hover.png");
}

.realisation .prestations__icon--hover {
  background-image: url("/assets//icons/pt-rea-icon-hover.svg");
  background-repeat: no-repeat;
}

.no-svg .realisation .prestations__icon--hover {
  background-image: asset-url("/assets//icons/pt-rea-icon-hover.png");
}

.exploitation .prestations__icon--hover {
  background-image: url("/assets//icons/pt-exp-icon-hover.svg");
  background-repeat: no-repeat;
}

.no-svg .exploitation .prestations__icon--hover {
  background-image: asset-url("/assets//icons/pt-exp-icon-hover.png");
}

.prestations__selector__icon:hover .prestations__icon--hover,
.prestations__selector__icon.active .prestations__icon--hover {
  height: 100%;
}

.prestations__tab {
  position: relative;
  padding: 0;
  margin: 0;
  list-style-type: none;
}

.prestations__tab li {
  position: absolute;
  left: 0;
  top: 0;
  visibility: hidden;
}

.prestations__tab .prestations__tab--active {
  visibility: visible;
}

.prestations__tab-title {
  padding-bottom: 0.57143em;
  margin-bottom: 0.85714em;
  border-bottom: 2px solid;
  color: #ffb600;
}

@media all and (min-width: 64.1em) {
  .prestations__tab-title {
    padding-bottom: 0.5em;
    margin-bottom: 0.75em;
  }
}

.prestations__tab-title p {
  font-size: 0.875em;
  margin: 0;
  font-weight: 700;
  letter-spacing: 1px;
  text-transform: uppercase;
}

@media all and (min-width: 64.1em) {
  .prestations__tab-title p {
    font-size: 1em;
    letter-spacing: 2px;
  }
}

.prestations__tab-title.developpement {
  color: #ffb600;
}

.prestations__tab-title.commercialisation {
  color: #1092ff;
}

.prestations__tab-title.realisation {
  color: #ff2150;
}

.prestations__tab-title.exploitation {
  color: #37bb31;
}

.prestations__tab-text {
  margin: 0;
  color: #919191;
  overflow: hidden;
}

.prestations__tab-text p {
  font-size: 0.875em;
  margin: 0;
  font-weight: 300;
}

@media all and (min-width: 64.1em) {
  .prestations__tab-text p {
    font-size: 1em;
  }
}

.prestations__tab li {
  opacity: 0;
  transition: opacity 0.5s;
}

.prestations__tab .prestations__tab-title,
.prestations__tab .prestations__tab-title p {
  width: 0;
  overflow: hidden;
}

.prestations__tab .prestations__tab-text p {
  transform: translateY(-100%);
}

.prestations__tab .prestations__tab--active {
  position: relative;
  opacity: 1;
  transition: none;
}

.prestations__tab .prestations__tab--active .prestations__tab-title {
  width: 100%;
  transition: width .5s;
}

.prestations__tab .prestations__tab--active .prestations__tab-title p {
  width: 100%;
  transition: width .5s .3s;
}

.prestations__tab .prestations__tab--active .prestations__tab-text p {
  transform: translateY(0);
  transition: transform 0.5s 0.3s;
}

.footer {
  padding: 1.25em 1.25em;
  background-color: #2f2f2f;
  z-index: 2;
}

@media all and (min-width: 64.1em) {
  .footer {
    position: relative;
    padding: 0 6.5625em;
    height: 5em;
    line-height: 5em;
    overflow: hidden;
    width: 100%;
  }

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

.footer__social,
.menu__social {
  margin: 0;
  padding: 0;
  list-style-type: none;
}

@media all and (min-width: 64.1em) {
  .footer__social,
  .menu__social {
    padding: 0;
    display: inline-block;
  }
}

@media all and (min-width: 64.1em) {
  .footer__social {
    float: left;
  }
}

.footer__social__icon,
.menu__social__icon {
  display: inline-block;
  height: 1.875em;
  width: 1.875em;
  margin-right: 0.625em;
  background-position: center;
  background-size: cover;
  cursor: pointer;
  vertical-align: top;
}

.footer__social__icon a,
.menu__social__icon a {
  text-indent: -9999px;
  display: inline-block;
  position: relative;
  height: 100%;
  width: 100%;
}

.footer__social__icon.facebook,
.menu__social__icon.facebook {
  background-image: url("/assets//icons/facebook-icon.svg");
  background-repeat: no-repeat;
}

.no-svg .footer__social__icon.facebook,
.no-svg
    .menu__social__icon.facebook {
  background-image: asset-url("/assets//icons/facebook-icon.png");
}

.footer__social__icon.twitter,
.menu__social__icon.twitter {
  background-image: url("/assets//icons/twitter-icon.svg");
  background-repeat: no-repeat;
}

.no-svg .footer__social__icon.twitter,
.no-svg
    .menu__social__icon.twitter {
  background-image: asset-url("/assets//icons/twitter-icon.png");
}

.footer__social__icon.linkedin,
.menu__social__icon.linkedin {
  background-image: url("/assets//icons/linkedin-icon.svg");
  background-repeat: no-repeat;
}

.no-svg .footer__social__icon.linkedin,
.no-svg
    .menu__social__icon.linkedin {
  background-image: asset-url("/assets//icons/linkedin-icon.png");
}

.footer__social__icon.instagram,
.menu__social__icon.instagram {
  background-image: url("/assets//icons/instagram-icon.svg");
  background-repeat: no-repeat;
}

.no-svg .footer__social__icon.instagram,
.no-svg
    .menu__social__icon.instagram {
  background-image: asset-url("/assets//icons/instagram-icon.png");
}

.footer__social__icon.googleplus,
.menu__social__icon.googleplus {
  background-image: url("/assets//icons/googleplus-icon.svg");
  background-repeat: no-repeat;
}

.no-svg .footer__social__icon.googleplus,
.no-svg
    .menu__social__icon.googleplus {
  background-image: asset-url("/assets//icons/googleplus-icon.png");
}

@media all and (min-width: 64.1em) {
  .footer__social__icon,
  .menu__social__icon {
    opacity: 0.8;
    transition: opacity 0.2s;
  }

  .footer__social__icon:hover,
  .menu__social__icon:hover {
    opacity: 1;
  }
}

.footer__address,
.menu__address {
  padding: 0.9375em 0;
  margin-bottom: 0.9375em;
  color: #686868;
}

.footer__address p,
.menu__address p {
  font-size: 0.875em;
  margin: 0;
}

@media not all and (min-width: 48em) {
  .footer__address span.separator,
  .menu__address span.separator {
    display: none;
  }
}

@media all and (min-width: 64.1em) {
  .footer__address,
  .menu__address {
    display: inline-block;
    padding: 0 0 0 0.625em;
    margin: 0;
    border: 0;
  }

  .footer__address br,
  .menu__address br {
    display: none;
  }
}

.footer__address {
  border-bottom: 1px solid;
}

@media all and (min-width: 64.1em) {
  .footer__address {
    float: left;
    border: 0;
  }
}

.footer__menu {
  padding: 0;
  margin: 0;
  list-style-type: none;
  display: none;
  float: right;
}

@media all and (min-width: 1500px) {
  .footer__menu {
    display: inline-block;
    height: 100%;
    overflow: hidden;
  }
}

.footer__menu__element {
  position: relative;
  display: inline-block;
  color: #686868;
  padding-right: 1.25em;
}

.footer__menu__element:after {
  content: '|';
  color: inherit;
  position: absolute;
  top: 0;
  right: 8%;
}

.footer__menu__element:last-child {
  padding-right: 2.5em;
}

.footer__menu__element:last-child:after {
  content: '';
}

.footer__menu__element a {
  font-size: 0.875em;
  color: #686868;
  letter-spacing: 1px;
  transition: color 0.2s;
}

@media all and (min-width: 64.1em) {
  .footer__menu__element:hover a {
    color: #828282;
  }
}

.footer__cite {
  font-size: 0.875em;
  color: #686868;
  position: absolute;
  right: 0.75em;
  top: 0;
  height: 100%;
  letter-spacing: 1px;
}

@media not all and (min-width: 64.1em) {
  .footer__cite {
    display: none;
  }
}

.superhuit-logo {
  display: block;
  color: #686868;
  text-align: center;
  height: 1.5625em;
  width: 16.25em;
  background-image: url("/assets//superhuit-logo-mobile.svg");
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  text-indent: -9999px;
}

.no-svg .superhuit-logo {
  background-image: asset-url("/assets//superhuit-logo-mobile.png");
}

@media all and (min-width: 64.1em) {
  .superhuit-logo {
    float: right;
    display: inline-block;
    height: 100%;
    width: 7.5em;
    background-image: url("/assets//superhuit-logo.svg");
    background-repeat: no-repeat;
    opacity: .8;
    transition: opacity 0.2s;
  }

  .no-svg .superhuit-logo {
    background-image: asset-url("/assets//superhuit-logo.png");
  }

  .superhuit-logo:hover {
    opacity: 1;
  }
}

.footer__social__icon,
.footer__address,
.superhuit-logo,
.footer__cite {
  vertical-align: middle;
}

.history {
  position: relative;
  height: 2.5em;
  line-height: 2.5em;
  margin: 0 0 0.75em;
  background-color: #2f2f2f;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}

@media not all and (min-width: 64.1em) {
  .history:before,
  .history:after {
    content: '';
    position: absolute;
    height: 100%;
    width: 3em;
    left: 0;
    top: 0;
    background-color: #1e1e1e;
    background-image: linear-gradient(to right,#1e1e1e, transparent);
    background-color: transparent;
    z-index: 2;
  }

  .history:after {
    left: auto;
    right: 0;
    background-color: transparent;
    background-image: linear-gradient(to right,transparent, #1e1e1e);
    background-color: transparent;
  }
}

@media all and (min-width: 48em) {
  .history {
    display: none;
  }
}

@media all and (min-width: 64.1em) {
  .history {
    display: block;
    position: fixed;
    right: 0;
    top: 6.25em;
    height: 100%;
    width: 15.625em;
    padding: 0 2.5em 0 0;
    line-height: initial;
    background-color: transparent;
    z-index: 1;
  }
}

@media not all and (min-width: 64.1em) {
  .history.headroom {
    position: fixed;
    left: 0;
    top: 70px;
    width: 100%;
    transition: transform 0.7s cubic-bezier(0.23, 1, 0.32, 1);
    transform: translateY(0);
    z-index: 6;
  }

  .history.headroom.headroom--unpinned {
    transform: translateY(-110px);
  }
}

.history__title {
  position: relative;
  height: 5.625em;
  color: #fff;
}

@media not all and (min-width: 48em) {
  .history__title {
    display: none;
  }
}

.history__title p {
  position: relative;
  font-size: 0.6875em;
  margin: 0;
  padding: 0 0 0.45455em 10%;
  letter-spacing: 1px;
  line-height: 1.5;
  font-weight: 600;
  text-align: right;
  text-transform: uppercase;
}

.history__title p:after {
  content: '';
  position: absolute;
  height: 100%;
  width: 0.54545em;
  right: -2.27273em;
  top: 0;
  background-color: #21beba;
  z-index: 1;
}

.history__inner {
  overflow-x: scroll;
  -webkit-overflow-scrolling: touch;
}

@media all and (min-width: 64.1em) {
  .history__inner {
    overflow: hidden;
  }
}

.history__fake {
  position: absolute;
  height: 100%;
  width: 100%;
  right: 2.5em;
  margin-top: 0.4375em;
  background-image: url("/assets//fake-tick.svg");
  background-repeat: no-repeat;
  background-repeat: repeat-y;
}

@media not all and (min-width: 64.1em) {
  .history__fake {
    display: none;
  }
}

.no-svg .history__fake {
  background-image: asset-url("/assets//fake-tick.png");
}

.history__years-list {
  margin: 0;
  padding: 0;
  list-style-type: none;
}

@media all and (min-width: 64.1em) {
  .history__years-list {
    width: 100% !important;
  }
}

.history__year {
  display: inline-block;
  width: 4.375em;
}

@media not all and (min-width: 48em) {
  .history__year.-placeholder {
    display: none;
  }
}

.history__year.-placeholder .history__year__mark {
  color: #fff;
  font-weight: 700;
}

.history__year.-placeholder .history__year__mark:after {
  background-color: #21beba;
}

@media all and (min-width: 48em) {
  .history__year {
    width: 100%;
    display: block;
  }
}

.history__year .history__year__mark {
  color: #fff;
  font-weight: 500;
  text-align: center;
  cursor: pointer;
  text-transform: uppercase;
}

@media all and (min-width: 48em) {
  .history__year .history__year__mark {
    font-size: 0.875em;
    position: relative;
    text-align: right;
    padding-right: 3.21429em;
    color: #686868;
    font-weight: 600;
    letter-spacing: 2px;
  }

  .history__year .history__year__mark:after {
    content: '';
    position: absolute;
    right: 0;
    top: 50%;
    width: 2.28571em;
    height: 3px;
    background-color: #686868;
  }
}

.history__projects-list {
  display: none;
  padding: 0;
  margin: 0;
  list-style-type: none;
}

@media all and (min-width: 48em) {
  .history__projects-list {
    display: block;
  }
}

.history__project {
  position: relative;
  text-align: right;
  padding-right: 100%;
  height: 0.75em;
  cursor: pointer;
  text-indent: -9999px;
  transition: height 0.1s;
}

.history__project .history__project__tick {
  content: '';
  position: absolute;
  right: 0;
  top: 50%;
  height: 2px;
  width: 0.9375em;
  background-color: #686868;
  transition: all 0.2s ease-out;
}

.history__project .history__project__tick.-to-do:after {
  position: absolute;
  content: '';
  height: 100%;
  width: 5px;
  right: 25%;
  background-color: #000;
}

.history__project a {
  font-size: 0.75em;
  color: #fff;
  text-transform: uppercase;
}

.history__project.-with-details .history__project__tick {
  background-color: #fff;
}

.history__project.-active .history__project__tick {
  background-color: #21beba;
}

.history__slider {
  display: none;
  position: absolute;
  right: 0.75em;
  top: 0;
  height: 100%;
  width: 0.8125em;
  transform: translate3d(0, 0, 0);
}

@media all and (min-width: 64.1em) {
  .history__slider {
    display: block;
  }
}

.history__slider__inner {
  position: relative;
  height: 100%;
  width: 100%;
}

.history__slider__inner:after {
  content: '';
  position: absolute;
  left: 50%;
  top: 0;
  margin-left: -1px;
  height: 100%;
  width: 2px;
  background-color: #686868;
}

.history__cursor {
  position: relative;
  height: 0.8125em;
  width: 0.8125em;
  background-color: #21beba;
  cursor: initial;
  z-index: 2;
  transition: top 0.5s ease-in;
  transform: translate3d(0, 0, 0);
}

.projects__years-list {
  padding: 0 0 1.5em;
  margin: 0;
  list-style-type: none;
}

@media all and (min-width: 48em) {
  .projects__years-list {
    padding: 4.375em 6.5625em 7.5em;
  }
}

@media all and (min-width: 64.1em) {
  .projects__years-list {
    padding: 7.5em 13.125em 16.25em 6.5625em;
  }
}

@media all and (min-width: 1500px) {
  .projects__years-list {
    width: 78.75em;
    margin: 0 auto;
    padding: 0 0 16.25em;
  }
}

@media all and (min-width: 48em) {
  .projects__year {
    padding: 3.75em 0 2.5em;
    border-bottom: 1px solid #2f2f2f;
  }

  .projects__year:last-child {
    border: 0;
  }
}

.projects__year-title {
  height: 2.5em;
  line-height: 2.5em;
  margin: 0 0 1.25em;
  background-color: #2f2f2f;
  color: #fff;
  cursor: pointer;
  text-align: center;
}

@media all and (min-width: 48em) {
  .projects__year-title {
    font-size: 2.375em;
    color: #333;
    background-color: transparent;
    height: auto;
    border: 2px solid;
    line-height: 1;
    display: inline-block;
    margin: 0;
    padding: 0.18519em 0.27778em;
    cursor: initial;
  }
}

.projects__list {
  margin: 0;
  padding: 0;
  list-style-type: none;
}

@media all and (min-width: 48em) {
  .projects__list {
    margin-top: -0.5625em;
  }
}

.project__block {
  margin: 0 0 0.75em;
}

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

@media all and (min-width: 48em) {
  .project__block {
    position: relative;
    padding: 1.875em 0;
  }
}

@media all and (min-width: 64.1em) {
  .project__block {
    min-height: 43.75em;
    padding: 7.875em 0 10.5em;
  }
}

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

@media not all and (min-width: 48em) {
  .project__block .project__block__inner {
    position: relative;
  }
}

.project__block .project__block__img {
  height: 19.375em;
  background-position: center;
  background-size: cover;
  background-color: #eee;
}

@media all and (min-width: 48em) {
  .project__block .project__block__img {
    float: right;
    position: relative;
    width: calc(100% - 280px);
    height: 21.875em;
  }
}

@media all and (min-width: 64.1em) {
  .project__block .project__block__img {
    width: calc(100% - 410px);
    height: 34.375em;
  }

  .project__block .project__block__img:after {
    content: '';
    position: absolute;
    left: 50%;
    top: 50%;
    margin-left: -1.40625em;
    margin-top: -1.40625em;
    height: 2.8125em;
    width: 2.8125em;
    background-color: #21beba;
    opacity: 0;
    transition: opacity 0.2s;
  }

  .project__block .project__block__img:hover:after {
    opacity: 1;
  }

  .project__block .project__block__img:hover .project__block__link:after,
  .project__block .project__block__img:hover .project__block__link:before {
    opacity: 1;
  }
}

.project__block .project__block__link {
  position: absolute;
  display: block;
  height: 100%;
  width: 100%;
  z-index: 1;
}

.project__block .project__block__link:after,
.project__block .project__block__link:before {
  content: '';
  position: absolute;
  background-color: rgba(255, 255, 255, 0.9);
  opacity: 0;
  transition: opacity 0.2s;
  z-index: 2;
}

.project__block .project__block__link:before {
  height: 1.5625em;
  width: 0.1875em;
  top: calc(50% - 12.5px);
  left: calc(50% - 1.5px);
}

.project__block .project__block__link:after {
  height: 0.1875em;
  width: 1.5625em;
  top: calc(50% - 1.5px);
  left: calc(50% - 12.5px);
}

.project__block .project__info {
  position: relative;
  margin: -0.625em 0 0;
  padding: 0 0.75em;
}

@media all and (min-width: 48em) {
  .project__block .project__info {
    position: absolute;
    left: 0;
    width: 18.75em;
    padding: 0;
  }
}

@media all and (min-width: 64.1em) {
  .project__block .project__info {
    width: 26.875em;
    margin: -2em 0 0;
  }

  .project__block .project__info:before,
  .project__block .project__info:after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    background-color: #21beba;
    transition: background-color 0.2s, width 0.5s, height 0.5s;
  }

  .project__block .project__info:before {
    height: 2px;
    width: 0;
    transition: background-color 0.2s, width 0.5s 0.5s, height 0.5s 0.5s;
  }

  .project__block .project__info:after {
    height: 0;
    width: 2px;
    left: auto;
    right: 0;
    transition: background-color 0.2s, width 0.5s 0s, height 0.5s 0s;
  }
}

.project__block .project__info__inner {
  border: 2px solid #21beba;
  padding: 1.8em;
}

@media all and (min-width: 64.1em) {
  .project__block .project__info__inner {
    border: 0;
    padding: 1.32em 1.8em;
  }

  .project__block .project__info__inner:before,
  .project__block .project__info__inner:after {
    content: '';
    position: absolute;
    left: 0;
    bottom: 0;
    background-color: #21beba;
    transition: background-color 0.2s, width 0.5s, height 0.5s;
  }

  .project__block .project__info__inner:before {
    height: 2px;
    width: 0;
    left: auto;
    right: 0;
    transition: background-color 0.2s, width 0.5s 1.5s, height 0.5s 1.5s;
  }

  .project__block .project__info__inner:after {
    height: 0;
    width: 2px;
    transition: background-color 0.2s, width 0.5s 1s, height 0.5s 1s;
  }
}

.project__block .project__title {
  font-size: 1.5em;
  position: relative;
  padding: 0 0 0.625em;
  margin: 0 0 0.625em;
  color: #21beba;
  font-weight: 600;
  line-height: 1.3;
  letter-spacing: 1px;
  text-transform: uppercase;
  transition: color 0.2s;
}

.project__block .project__title:after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  height: 4px;
  width: 4px;
  background-color: #fff;
}

@media all and (min-width: 64.1em) {
  .project__block .project__title {
    font-size: 2.5em;
    padding-bottom: 0.75em;
    margin-bottom: 0.75em;
    line-height: 1.3;
    font-weight: 700;
    letter-spacing: 3px;
  }

  .project__block .project__title:after {
    height: 8px;
    width: 8px;
  }
}

.project__block .project__description {
  font-size: 0.9375em;
  margin: 0 0 1.33333em;
  color: #fff;
  font-weight: 700;
}

@media all and (min-width: 64.1em) {
  .project__block .project__description {
    font-size: 1.375em;
    margin: 0 0 1.81818em;
    line-height: 1.6;
    letter-spacing: 1px;
    font-weight: 600;
  }
}

.project__block .project__points {
  padding: 0;
  margin: 0;
  list-style-type: none;
}

.project__block .project__point {
  display: inline-block;
  height: 2.375em;
  width: 2.375em;
  margin-right: 0.625em;
  background-size: cover;
  background-position: center;
}

.project__block .project__point.developpement {
  background-image: url("/assets//icons/pt-dev-icon-ref.svg");
  background-repeat: no-repeat;
}

.no-svg .project__block .project__point.developpement {
  background-image: asset-url("/assets//icons/pt-dev-icon-ref.png");
}

.project__block .project__point.commercialisation {
  background-image: url("/assets//icons/pt-com-icon-ref.svg");
  background-repeat: no-repeat;
}

.no-svg .project__block .project__point.commercialisation {
  background-image: asset-url("/assets//icons/pt-com-icon-ref.png");
}

.project__block .project__point.realisation {
  background-image: url("/assets//icons/pt-rea-icon-ref.svg");
  background-repeat: no-repeat;
}

.no-svg .project__block .project__point.realisation {
  background-image: asset-url("/assets//icons/pt-rea-icon-ref.png");
}

.project__block .project__point.exploitation {
  background-image: url("/assets//icons/pt-exp-icon-ref.svg");
  background-repeat: no-repeat;
}

.no-svg .project__block .project__point.exploitation {
  background-image: asset-url("/assets//icons/pt-exp-icon-ref.png");
}

.project__block .project__detail {
  padding: 0.625em 0.75em;
  text-align: right;
}

@media all and (min-width: 48em) {
  .project__block .project__detail {
    display: none;
  }
}

.project__block .project__detail-text {
  font-size: 0.875em;
  display: inline-block;
  position: relative;
  padding-left: 2.14286em;
  margin: 0;
  color: #fff;
  cursor: pointer;
  font-weight: 300;
  letter-spacing: 1px;
  overflow: hidden;
  vertical-align: middle;
}

.project__block .project__detail-text:after {
  content: '';
  position: absolute;
  left: 0;
  top: 1px;
  height: 100%;
  width: 1.07143em;
  z-index: 1;
  background-image: url("/assets//icons/arrow-right-cyan.svg");
  background-repeat: no-repeat;
  background-position: right center;
  transition: width 0.2s;
}

.no-svg .project__block .project__detail-text:after {
  background-image: asset-url("/assets//icons/arrow-right-cyan.png");
}

@media all and (min-width: 48em) {
  .project__block .-even .project__block__img {
    float: left;
    width: calc(100% - 285px);
  }

  .project__block .-even .project__info {
    right: 0;
    left: auto;
  }
}

@media all and (min-width: 64.1em) {
  .project__block .-even .project__block__img {
    width: calc(100% - 415px);
  }
}

.project__block.-no-details {
  padding: 0 0.75em;
  margin: 0 0 1.25em;
}

@media all and (min-width: 48em) {
  .project__block.-no-details {
    display: inline-block;
    height: auto;
    min-height: 0;
    padding: 0;
    margin: 0 0 1.875em;
    width: 33.33%;
    vertical-align: top;
  }
}

.project__block.-no-details .project__block__title {
  font-size: 0.75em;
  position: relative;
  padding: 0.75em 1.8em 0.75em 2.16em;
  color: #686868;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 2px;
  border: 1px solid #2f2f2f;
}

@media not all and (min-width: 48em) {
  .project__block.-no-details .project__block__title {
    color: #757575;
  }
}

@media all and (min-width: 48em) {
  .project__block.-no-details .project__block__title {
    padding: 0 0 0 8em;
    border: 0;
  }
}

.project__block.-no-details .project__block__title:after {
  position: absolute;
  content: '';
  left: 1.125em;
  top: 1.25em;
  height: 0.5em;
  width: 0.5em;
  background-color: #686868;
}

@media all and (min-width: 48em) {
  .project__block.-no-details .project__block__title:after {
    left: 6.66667em;
    top: 0.5em;
  }
}

.project__block__img {
  filter: url("data:image/svg+xml;utf8,<svg xmlns=http://www.w3.org/2000/svg><filter id=grayscale><feColorMatrix type=matrix values=0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0 0 0 1 0/></filter></svg>#grayscale");
  filter: gray;
  filter: grayscale(100%);
}

.project__block__img:hover {
  filter: url("data:image/svg+xml;utf8,<svg xmlns=http://www.w3.org/2000/svg><filter id=grayscale><feColorMatrix type=matrix values=1 0 0 0 0, 0 1 0 0 0, 0 0 1 0 0, 0 0 0 1 0/></filter></svg>#grayscale");
  filter: grayscale(0%);
}

@media all and (min-width: 64.1em) {
  .project__block__inner .project__block__img {
    opacity: 0;
    transition: opacity 0.5s ease-in, filter 0.6s ease-in;
  }

  .project__block__inner .project__info__inner .project__title,
  .project__block__inner .project__info__inner .project__description,
  .project__block__inner .project__info__inner .project__points {
    opacity: 0;
    transition: color 0.5s, opacity 0.5s;
  }

  .project__block__inner.-in-viewport .project__block__img {
    opacity: 1;
  }

  .project__block__inner.-in-viewport .project__info:before {
    width: 100%;
    transition: background-color 0.2s, width 0.5s 0s, height 0.5s 0s;
    transition-timing-function: ease-in;
  }

  .project__block__inner.-in-viewport .project__info:after {
    height: 100%;
    transition: background-color 0.2s, width 0.5s 0.5s, height 0.5s 0.5s;
    transition-timing-function: linear;
  }

  .project__block__inner.-in-viewport .project__info__inner:before {
    width: 100%;
    transition: background-color 0.2s, width 0.5s 1s, height 0.5s 1s;
    transition-timing-function: linear;
  }

  .project__block__inner.-in-viewport .project__info__inner:after {
    height: 100%;
    transition: background-color 0.2s, width 0.5s 1.5s, height 0.5s 1.5s;
    transition-timing-function: ease-out;
  }

  .project__block__inner.-in-viewport .project__info__inner .project__title,
  .project__block__inner.-in-viewport .project__info__inner .project__description,
  .project__block__inner.-in-viewport .project__info__inner .project__points {
    opacity: 1;
    transition-delay: 0s;
  }
}

@media all and (min-width: 64.1em) {
  .project__info:hover:before,
  .project__info:hover:after,
  .project__info:hover .project__info__inner:before,
  .project__info:hover .project__info__inner:after,
  .project__info:hover hr {
    background-color: #0df5ef;
  }

  .project__info:hover .project__title {
    color: #0df5ef;
  }
}

.project-detail {
  color: #fff;
  padding: 2.625em 0 1.5em;
}

.project-detail:after {
  content: "";
  display: table;
  clear: both;
}

@media all and (min-width: 64.1em) {
  .project-detail {
    min-height: 53.75em;
    padding: 2.625em 4.6875em 0 6.5625em;
  }
}

@media all and (min-width: 1600px) {
  .project-detail {
    padding: 2.625em 0 0;
    width: 93.125em;
    margin: 0 auto;
  }
}

.project-detail__inner {
  position: relative;
}

.project-detail__close {
  position: fixed;
  height: 3.125em;
  width: 3.125em;
  line-height: 3.125em;
  right: 0;
  top: 0;
  cursor: pointer;
  text-align: center;
  z-index: 1;
}

@media not all and (min-width: 64.1em) {
  .project-detail__close {
    height: 3em;
    line-height: 2.5625em;
  }
}

.project-detail__close .close-icon {
  left: -2px;
  vertical-align: bottom;
}

@media all and (min-width: 64.1em) {
  .project-detail__close {
    position: absolute;
    top: 4.375em;
    right: 1.2375em;
    padding-right: 0.3125em;
    background-color: transparent;
    text-align: right;
  }
}

.project-detail__info {
  padding: 0.75em;
}

@media all and (min-width: 48em) {
  .project-detail__info {
    width: 45%;
    float: left;
    margin-bottom: 2.5em;
    padding-right: 6%;
  }
}

.project-detail__info .project-detail__title {
  font-size: 1.25em;
  position: relative;
  padding: 0 0 0.75em;
  margin: 0 0 0.75em;
  font-weight: 700;
  letter-spacing: 2px;
  text-transform: uppercase;
}

.project-detail__info .project-detail__title:after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  height: 4px;
  width: 4px;
  background-color: #fff;
}

@media all and (min-width: 48em) {
  .project-detail__info .project-detail__title {
    font-size: 1.875em;
    padding: 0 0 0.83333em;
    margin: 0 0 0.66667em;
    line-height: 1.2;
  }

  .project-detail__info .project-detail__title:after {
    height: 8px;
    width: 8px;
  }
}

.project-detail__info .project-detail__description p {
  font-size: 0.875em;
  margin: 0 0 1.78571em;
  font-weight: 300;
}

@media all and (min-width: 64.1em) {
  .project-detail__info .project-detail__description p {
    font-size: 1em;
    margin: 0 0 1.875em;
  }
}

.project-detail__service {
  padding: 0.75em;
  margin: 0 0 3.125em;
}

@media all and (min-width: 48em) {
  .project-detail__service {
    width: 45%;
  }
}

.project-detail__service .project-detail__service-title {
  margin: 0 0 0.9375em;
  padding: 0 0 0.3125em;
  border-bottom: 2px solid #21beba;
  font-weight: 700;
  letter-spacing: 2px;
  text-transform: uppercase;
}

@media all and (min-width: 64.1em) {
  .project-detail__service .project-detail__service-title {
    font-size: 1.125em;
    width: 17.77778em;
  }
}

.project-detail__service .prestations__selector {
  height: 2.5em;
  width: 2.5em;
  margin-right: 1.25em;
}

@media all and (min-width: 64.1em) {
  .project-detail__service .prestations__selector {
    margin-right: 2.5em;
  }
}

.project-detail__service .prestations__selector__icon {
  height: 100%;
  width: 100%;
  padding: 0;
  margin: 0 !important;
  background-position: center;
  background-size: cover;
}

.project-detail__service .prestations__selector__icon:after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 0;
  background-position: bottom;
  background-size: cover;
  transition: height 0.2s;
}

.project-detail__service .prestations__selector__icon.developpement {
  background-image: url("/assets//icons/pt-dev-icon-service.svg");
  background-repeat: no-repeat;
}

.no-svg .project-detail__service .prestations__selector__icon.developpement {
  background-image: asset-url("/assets//icons/pt-dev-icon-service.png");
}

.project-detail__service .prestations__selector__icon.developpement:after {
  background-image: url("/assets//icons/pt-dev-icon-white.svg");
  background-repeat: no-repeat;
}

.no-svg .project-detail__service .prestations__selector__icon.developpement:after {
  background-image: asset-url("/assets//icons/pt-dev-icon-white.png");
}

.project-detail__service .prestations__selector__icon.commercialisation {
  background-image: url("/assets//icons/pt-com-icon-service.svg");
  background-repeat: no-repeat;
}

.no-svg .project-detail__service .prestations__selector__icon.commercialisation {
  background-image: asset-url("/assets//icons/pt-com-icon-service.png");
}

.project-detail__service .prestations__selector__icon.commercialisation:after {
  background-image: url("/assets//icons/pt-com-icon-white.svg");
  background-repeat: no-repeat;
}

.no-svg .project-detail__service .prestations__selector__icon.commercialisation:after {
  background-image: asset-url("/assets//icons/pt-com-icon-white.png");
}

.project-detail__service .prestations__selector__icon.realisation {
  background-image: url("/assets//icons/pt-rea-icon-service.svg");
  background-repeat: no-repeat;
}

.no-svg .project-detail__service .prestations__selector__icon.realisation {
  background-image: asset-url("/assets//icons/pt-rea-icon-service.png");
}

.project-detail__service .prestations__selector__icon.realisation:after {
  background-image: url("/assets//icons/pt-rea-icon-white.svg");
  background-repeat: no-repeat;
}

.no-svg .project-detail__service .prestations__selector__icon.realisation:after {
  background-image: asset-url("/assets//icons/pt-rea-icon-white.png");
}

.project-detail__service .prestations__selector__icon.exploitation {
  background-image: url("/assets//icons/pt-exp-icon-service.svg");
  background-repeat: no-repeat;
}

.no-svg .project-detail__service .prestations__selector__icon.exploitation {
  background-image: asset-url("/assets//icons/pt-exp-icon-service.png");
}

.project-detail__service .prestations__selector__icon.exploitation:after {
  background-image: url("/assets//icons/pt-exp-icon-white.svg");
  background-repeat: no-repeat;
}

.no-svg .project-detail__service .prestations__selector__icon.exploitation:after {
  background-image: asset-url("/assets//icons/pt-exp-icon-white.png");
}

.project-detail__service .prestations__selector__icon:hover:after,
.project-detail__service .prestations__selector__icon.active:after {
  height: 100%;
}

.project-detail__service .prestations__tab-title {
  color: #fff;
  padding: 0;
  margin: 0;
  border: 0;
  width: 100%;
}

.project-detail__service .prestations__tab-title p {
  width: 100%;
  height: 1.5em;
}

.project-detail__service .prestations__tab-list {
  margin: 0;
  padding: 0.625em 0 0;
  list-style-type: none;
}

@media all and (min-width: 48em) {
  .project-detail__service .prestations__tab-list {
    display: inline-block;
    width: 50%;
    vertical-align: top;
  }
}

@media not all and (min-width: 48em) {
  .project-detail__service .prestations__tab-list:nth-child(3) {
    padding: 0;
  }
}

.project-detail__service .prestations__tab-list li {
  font-size: 0.875em;
  position: relative;
  padding-left: 0.71429em;
  color: #686868;
  font-weight: 300;
  opacity: 1;
  visibility: visible;
  transition: color 0.2s;
}

.project-detail__service .prestations__tab-list li:after {
  content: '';
  position: absolute;
  height: 3px;
  width: 3px;
  left: 0;
  top: 50%;
  background-color: #686868;
  transition: background-color 0.2s;
}

@media all and (min-width: 64.1em) {
  .project-detail__service .prestations__tab-list li {
    font-size: 1em;
    margin-bottom: 0.3125em;
  }

  .project-detail__service .prestations__tab-list li:after {
    height: 5px;
    width: 5px;
    margin-top: -1px;
  }
}

.project-detail__service .prestations__tab-list.developpement .developpement,
.project-detail__service .prestations__tab-list.commercialisation .commercialisation,
.project-detail__service .prestations__tab-list.realisation .realisation,
.project-detail__service .prestations__tab-list.exploitation .exploitation {
  color: #fff;
}

.project-detail__service .prestations__tab-list.developpement .developpement:after,
.project-detail__service .prestations__tab-list.commercialisation .commercialisation:after,
.project-detail__service .prestations__tab-list.realisation .realisation:after,
.project-detail__service .prestations__tab-list.exploitation .exploitation:after {
  background-color: #fff;
}

.project-detail__gallery {
  margin: 0 0 2.5em;
}

@media all and (min-width: 48em) {
  .project-detail__gallery {
    width: 50%;
    position: absolute;
    top: 2.5em;
    right: 0.75em;
  }
}

@media all and (min-width: 64.1em) {
  .project-detail__gallery {
    width: 55%;
    right: 0;
  }
}

.project-detail__gallery .gallery__head {
  display: none;
}

.project-detail__gallery .gallery__body {
  margin-top: 0;
}

@media all and (min-width: 64.1em) {
  .project-detail__gallery .gallery__project-photo {
    height: 30.625em;
  }
}

@media all and (min-width: 64.1em) {
  .project-detail__gallery .gallery__detail {
    text-align: left;
  }
}

.project-detail__gallery .gallery__detail__text:after {
  background-color: transparent;
}

.project-detail__comment {
  padding: 0.75em;
}

.project-detail__comment:after {
  content: "";
  display: table;
  clear: both;
}

@media all and (min-width: 48em) {
  .project-detail__comment {
    padding: 0;
    position: absolute;
    right: 0.75em;
    top: 28.75em;
    width: 50%;
  }
}

@media all and (min-width: 64.1em) {
  .project-detail__comment {
    right: 0;
    width: 35%;
  }
}

@media all and (min-width: 64.1em) {
  .project-detail__comment.-no-navigator .comments__container {
    width: 90%;
  }
}

.project-detail__comment.-no-navigator .comments__navigator {
  display: none;
}

.comments__container {
  position: relative;
  border: 2px solid #21beba;
  font-family: "KlartextMono", sans-serif;
}

@media all and (min-width: 64.1em) {
  .comments__container {
    float: left;
    width: 80%;
    border: 0;
  }

  .comments__container:before,
  .comments__container:after {
    content: '';
    position: absolute;
    left: 0;
    bottom: 0;
    background-color: #21beba;
    transition: width 0.5s, height 0.5s;
  }

  .comments__container:before {
    height: 2px;
    width: 0;
    left: auto;
    right: 0;
    transition-delay: 0.5s;
  }

  .comments__container:after {
    height: 0;
    width: 2px;
    transition-delay: 0s;
  }
}

.comment__inner {
  position: relative;
  overflow: hidden;
  height: 100%;
  width: 100%;
}

@media all and (min-width: 64.1em) {
  .comment__inner:before,
  .comment__inner:after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    background-color: #21beba;
    transition: width 0.5s, height 0.5s;
  }

  .comment__inner:before {
    height: 2px;
    width: 0;
    transition-delay: 1.5s;
  }

  .comment__inner:after {
    height: 0;
    width: 2px;
    left: auto;
    right: 0;
    transition-delay: 1s;
  }
}

.comment__text {
  margin: 0 0 3.125em;
  font-weight: 400;
  line-height: 1.5;
}

.comment__author {
  font-size: 0.9375em;
  margin: 0;
  text-align: right;
}

.comment__author strong {
  display: block;
}

.comment__author a {
  color: inherit;
}

.comments__navigator {
  padding: 0.625em 0 0;
  margin: 0;
  list-style-type: none;
  text-align: center;
}

@media all and (min-width: 64.1em) {
  .comments__navigator {
    float: right;
    width: 20%;
    padding: 3.4375em 0 0 1.25em;
  }
}

.comments__selector {
  font-size: 0.375em;
  display: inline-block;
  margin: 0 4.16667em 0 0;
  height: 2em;
  width: 2em;
  cursor: pointer;
}

.comments__selector:last-child {
  margin: 0;
}

.comments__selector .close-icon:before,
.comments__selector .close-icon:after {
  background-color: #686868;
  transition: background-color 0.5s;
}

.comments__selector.active .close-icon:after,
.comments__selector.active .close-icon:before {
  background-color: #21beba;
}

@media all and (min-width: 64.1em) {
  .comments__selector {
    display: block;
    margin: 0 0 1.66667em;
  }
}

.comment__icon {
  position: absolute;
  top: -0.9375em;
  left: 1.875em;
  z-index: 1;
}

.comment__list {
  position: relative;
  padding: 0;
  margin: 0;
  list-style-type: none;
}

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

.comment {
  position: relative;
  display: inline-block;
  width: 100%;
  top: 0;
  left: 0;
  padding: 3.75em 1.875em 1.875em;
  vertical-align: top;
}

.comment.active {
  transition: opacity 0.5s 0.2s;
}

.comments__border {
  position: absolute;
  left: 0;
  top: 0;
  height: 100%;
  width: 100%;
}

@media not all and (min-width: 64.1em) {
  .comments__border {
    display: none;
  }
}

.comments__border rect {
  fill: transparent;
  stroke: #21beba;
  stroke-width: 4px;
  stroke-dasharray: 0 1000;
}

.project-detail__articles-title {
  font-size: 0.875em;
  font-weight: 700;
}

@media all and (min-width: 64.1em) {
  .project-detail__articles-title {
    font-size: 1em;
  }
}

.project-detail__articles-list {
  padding: 0;
  margin: 0;
  list-style-type: none;
}

.project-detail__article {
  display: inline-block;
  position: relative;
  padding-right: 0.625em;
  color: #686868;
  font-weight: 500;
}

.project-detail__article:after {
  content: '|';
  position: absolute;
  right: 2px;
  top: 0;
}

.project-detail__article:last-child:after {
  content: '';
}

.project-detail__article a {
  font-size: 0.875em;
  color: #21beba;
}

@media all and (min-width: 64.1em) {
  .project-detail__article a {
    font-size: 1em;
  }
}

.project-detail:after {
  content: '';
  position: absolute;
  height: 100%;
  width: 100%;
  top: 0;
  left: 0;
  background-color: #000;
  opacity: 1;
  z-index: -1;
  transition: opacity 0.5s;
}

.project-detail .project-detail__info,
.project-detail .project-detail__service,
.project-detail .project-detail__gallery {
  opacity: 0;
}

.project-detail .comment__icon,
.project-detail .comment__list,
.project-detail .comments__navigator,
.prestation--detail .comment__icon,
.prestation--detail .comment__list,
.prestation--detail .comments__navigator {
  opacity: 0;
}

.project-detail.-in-viewport:after {
  opacity: 0;
}

.project-detail.-in-viewport .project-detail__info,
.project-detail.-in-viewport .project-detail__service,
.project-detail.-in-viewport .project-detail__gallery {
  opacity: 1;
  transition: opacity 0.5s 0.2s;
}

.project-detail.-in-viewport .comment__inner:before,
.prestation--detail.-in-viewport .comment__inner:before {
  width: 100%;
  transition-delay: 0s;
  transition-timing-function: ease-in;
}

.project-detail.-in-viewport .comment__inner:after,
.prestation--detail.-in-viewport .comment__inner:after {
  height: 100%;
  transition-delay: 0.5s;
  transition-timing-function: linear;
}

.project-detail.-in-viewport .comments__container:before,
.prestation--detail.-in-viewport .comments__container:before {
  width: 100%;
  transition-delay: 1s;
  transition-timing-function: linear;
}

.project-detail.-in-viewport .comments__container:after,
.prestation--detail.-in-viewport .comments__container:after {
  height: 100%;
  transition-delay: 1.5s;
  transition-timing-function: ease-out;
}

.project-detail.-in-viewport .comment__icon,
.project-detail.-in-viewport .comment__list,
.project-detail.-in-viewport .comments__navigator,
.prestation--detail.-in-viewport .comment__icon,
.prestation--detail.-in-viewport .comment__list,
.prestation--detail.-in-viewport .comments__navigator {
  opacity: 1;
  transition: opacity 0.5s 1s;
}

.project-detail.-in-viewport .comment__icon,
.prestation--detail.-in-viewport .comment__icon {
  transition-delay: 0s;
}

.project-detail.-is-closing .project-detail__inner {
  opacity: 0;
  transition: opacity 0.5s;
}

.presentation__page {
  padding: 0.75em;
  color: #fff;
}

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

@media all and (min-width: 64.1em) {
  .presentation__page {
    padding: 3.75em 6.5625em 0;
  }
}

@media all and (min-width: 1600px) {
  .presentation__page {
    padding: 3.75em 1.25em;
    width: 93.125em;
    margin: 0 auto;
  }
}

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

.presentation__intro {
  margin: 0 0 3.125em;
}

@media all and (min-width: 64.1em) {
  .presentation__intro {
    float: left;
    width: 50%;
    padding-right: 8%;
  }
}

.presentation__intro .presentation__title {
  font-size: 1.25em;
  position: relative;
  padding: 0 0 0.75em;
  margin: 0 0 0.75em;
  font-weight: 700;
  text-transform: uppercase;
}

.presentation__intro .presentation__title:after {
  content: '';
  position: absolute;
  left: 0;
  bottom: 0;
  height: 4px;
  width: 4px;
  background-color: #fff;
}

@media all and (min-width: 64.1em) {
  .presentation__intro .presentation__title {
    font-size: 1.875em;
    padding: 0 0 0.83333em;
    margin: 0 0 0.83333em;
  }

  .presentation__intro .presentation__title:after {
    height: 6px;
    width: 6px;
  }
}

.presentation__intro .presentation__description p {
  font-size: 0.875em;
  margin: 0 0 1.42857em;
}

@media all and (min-width: 64.1em) {
  .presentation__intro .presentation__description p {
    font-size: 1em;
    line-height: 1.6;
  }
}

.presentation__intro .presentation__description p.subtitle {
  font-size: 1em;
  font-weight: 700;
  margin: 0 0 0.3125em;
}

@media all and (min-width: 64.1em) {
  .presentation__intro .presentation__description p.subtitle {
    font-size: 1.125em;
    margin: 0 0 0.27778em;
  }
}

.presentation__intro .presentation__read-all {
  height: 2.125em;
  width: 8.125em;
  margin: 0 auto;
  border: 2px solid;
  color: #fff;
  display: none;
}

@media all and (min-width: 64.1em) {
  .presentation__intro .presentation__read-all {
    display: none;
  }
}

.presentation__intro .presentation__read-all p {
  margin: -2px 0 0;
  line-height: 2.125em;
  font-weight: 300;
  text-align: center;
}

.presentation__resume {
  margin: 0 0 3.125em;
}

@media all and (min-width: 48em) {
  .presentation__resume {
    width: 50%;
    float: left;
    padding: 1.125em 5% 0 0;
  }
}

@media all and (min-width: 64.1em) {
  .presentation__resume {
    width: 12%;
    float: left;
    padding: 6.25em 0 0;
  }
}

.resume__list {
  margin: 0;
  padding: 0;
  list-style-type: none;
  font-family: "KlartextMono", sans-serif;
}

.resume__list .resume__element {
  display: inline-block;
  position: relative;
  width: 50%;
  margin: 0 0 1.5625em;
  border-bottom: 2px solid #686868;
}

.resume__list .resume__element:after {
  content: '';
  position: absolute;
  bottom: -2px;
  left: 0;
  height: 2px;
  width: 0%;
  background-color: #ff8400;
  transition: width 1s ease-in .25s;
}

@media not all and (min-width: 64.1em) {
  .resume__list .resume__element:nth-child(2n+1) {
    width: 48%;
    margin-right: 2%;
  }
}

@media all and (min-width: 64.1em) {
  .resume__list .resume__element {
    width: 100%;
  }
}

.resume__list .resume__number {
  font-size: 1.5625em;
  padding: 0;
  margin: 0;
  color: #ff8400;
  font-weight: 500;
  letter-spacing: 2px;
}

@media all and (min-width: 64.1em) {
  .resume__list .resume__number {
    font-size: 2.5em;
  }
}

.resume__list .resume__description {
  font-size: 0.78125em;
  padding: 0 0 0.4em;
  margin: 0;
  color: #686868;
  font-weight: 500;
  letter-spacing: 1px;
  text-transform: uppercase;
}

@media all and (min-width: 64.1em) {
  .resume__list .resume__description {
    font-size: 0.8125em;
  }
}

.presentation__qualite {
  margin: 0 0 3.125em;
  position: relative;
}

@media all and (min-width: 48em) {
  .presentation__qualite {
    width: 50%;
    float: right;
  }
}

@media all and (min-width: 64.1em) {
  .presentation__qualite {
    width: 30%;
    float: right;
    margin: 0;
    padding: 6.25em 0 0;
  }
}

.presentation__qualite .presentation__title {
  font-size: 0.875em;
  margin: 0 0 0.35714em;
  font-weight: 700;
  letter-spacing: 2px;
  text-align: right;
  text-transform: uppercase;
}

@media all and (min-width: 64.1em) {
  .presentation__qualite .presentation__title {
    display: none;
  }
}

.presentation__qualite .presentation__icon {
  position: absolute;
  left: 2.1875em;
  height: 2.8125em;
  width: 1.875em;
  margin-top: -1.8125em;
  background-image: url("/assets//icons/bulb-icon.svg");
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  z-index: 1;
}

.no-svg .presentation__qualite .presentation__icon {
  background-image: asset-url("/assets//icons/bulb-icon.png");
}

.presentation__qualite .presentation__comments {
  position: relative;
}

@media not all and (min-width: 48em) {
  .presentation__qualite .presentation__comments {
    border: 2px solid #ff8400;
  }
}

@media all and (min-width: 48em) {
  .presentation__qualite .presentation__comments:before,
  .presentation__qualite .presentation__comments:after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    background-color: #ff8400;
    transition: width 0.5s, height 0.5s;
  }

  .presentation__qualite .presentation__comments:before {
    height: 2px;
    width: 0;
    transition-delay: 1.5s;
  }

  .presentation__qualite .presentation__comments:after {
    height: 0;
    width: 2px;
    left: auto;
    right: 0;
    transition-delay: 1s;
  }
}

.presentation__qualite .presentation__comments__inner {
  overflow: hidden;
}

@media all and (min-width: 48em) {
  .presentation__qualite .presentation__comments__inner {
    border: 0;
  }

  .presentation__qualite .presentation__comments__inner:before,
  .presentation__qualite .presentation__comments__inner:after {
    content: '';
    position: absolute;
    left: 0;
    bottom: 0;
    background-color: #ff8400;
    transition: width 0.5s, height 0.5s;
  }

  .presentation__qualite .presentation__comments__inner:before {
    height: 2px;
    width: 0;
    left: auto;
    right: 0;
    transition-delay: 0.5s;
  }

  .presentation__qualite .presentation__comments__inner:after {
    height: 0;
    width: 2px;
    transition-delay: 0s;
  }
}

.presentation__qualite .presentation__motto {
  padding: 1.875em 1.25em;
  display: inline-block;
  width: 100%;
  vertical-align: top;
}

@media all and (min-width: 64.1em) {
  .presentation__qualite .presentation__motto {
    padding: 1.875em;
  }
}

.presentation__qualite .presentation__motto p {
  margin: 0;
  letter-spacing: 1px;
  line-height: 1.5;
  font-family: "KlartextMono", sans-serif;
}

@media all and (min-width: 64.1em) {
  .presentation__qualite .presentation__motto p {
    font-size: 1.5625em;
  }
}

.presentation__qualite .presentation__list {
  position: relative;
  padding: 0;
  margin: 0;
  list-style-type: none;
}

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

.presentation__qualite .presentation__keyword-list {
  padding: 1.25em 0 0;
  margin: 0;
  list-style-type: none;
  display: none;
}

@media all and (min-width: 64.1em) {
  .presentation__qualite .presentation__keyword-list {
    display: block;
  }
}

.presentation__qualite .presentation__keyword {
  position: relative;
  display: inline-block;
  width: 25%;
  cursor: pointer;
}

.presentation__qualite .presentation__keyword p {
  font-size: 0.75em;
  margin: 0;
  text-transform: uppercase;
  color: #686868;
  font-weight: 600;
  letter-spacing: 2px;
  transition: color 0.5s;
}

@media all and (min-width: 1280px) {
  .presentation__qualite .presentation__keyword p {
    font-size: 1em;
  }
}

@media all and (min-width: 1500px) {
  .presentation__qualite .presentation__keyword p:after {
    position: absolute;
    content: '-';
    font-size: 1.625em;
    left: 80%;
    top: -10px;
    color: #686868;
  }
}

.presentation__qualite .presentation__keyword:last-child p:after {
  content: '' !important;
}

.presentation__qualite .presentation__keyword.active p {
  color: #d0d0d0;
}

.presentation__equipe {
  margin-bottom: 3.125em;
}

@media all and (min-width: 64.1em) {
  .presentation__equipe {
    margin-bottom: 5em;
  }
}

@media all and (min-width: 1660px) {
  .presentation__equipe {
    margin-bottom: 3.125em;
  }
}

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

@media all and (min-width: 64.1em) {
  .presentation__equipe .presentation__info {
    float: right;
    width: 50%;
    padding-left: 8%;
  }
}

.presentation__equipe .presentation__title {
  font-size: 1.25em;
  position: relative;
  margin: 0 0 0.75em;
  padding-bottom: 0.75em;
  font-weight: 700;
  letter-spacing: 2px;
  text-transform: uppercase;
}

.presentation__equipe .presentation__title:after {
  content: '';
  position: absolute;
  left: 0;
  bottom: 0;
  height: 4px;
  width: 4px;
  background-color: #fff;
}

@media all and (min-width: 64.1em) {
  .presentation__equipe .presentation__title {
    font-size: 1.875em;
    padding: 0 0 0.83333em;
    margin: 0 0 0.83333em;
  }

  .presentation__equipe .presentation__title br {
    display: none;
  }

  .presentation__equipe .presentation__title:after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    height: 6px;
    width: 6px;
    background-color: #fff;
  }
}

@media all and (min-width: 64.1em) {
  .presentation__equipe .presentation__description {
    display: block;
    margin-bottom: 5.625em;
  }
}

.presentation__equipe .presentation__description p {
  font-size: 0.875em;
  margin-bottom: 1.875em;
  letter-spacing: 1px;
}

@media all and (min-width: 64.1em) {
  .presentation__equipe .presentation__description p {
    font-size: 1em;
  }
}

.equipe {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: distribute;
  justify-content: space-around;
  -ms-flex-flow: row wrap;
  flex-flow: row wrap;
  margin: 0;
  padding: 0 2.5em;
  list-style-type: none;
}

@media all and (min-width: 48em) {
  .equipe {
    padding: 0;
  }
}

@media all and (min-width: 48em) and (min-width: 64.1em) {
  .equipe {
    -ms-flex-pack: justify;
    justify-content: space-between;
  }
}

@media all and (min-width: 48em) {
  .presentation__equipe-list {
    position: relative;
  }
}

@media all and (min-width: 64.1em) {
  .presentation__equipe-list {
    float: left;
    width: 50%;
  }
}

.presentation__equipe-list .equipe__element {
  position: relative;
  margin: 0 5% 1.5625em;
  cursor: pointer;
  text-align: center;
}

@media all and (min-width: 48em) {
  .presentation__equipe-list .equipe__element {
    display: inline-block;
    margin-bottom: 2.1875em;
    -ms-flex-preferred-size: 30%;
    flex-basis: 30%;
    opacity: .3;
    transition: opacity 0.5s;
    vertical-align: top;
  }
}

@media all and (min-width: 64.1em) {
  .presentation__equipe-list .equipe__element {
    margin: 0 0 2.1875em;
    padding: 0 0.625em;
    -ms-flex-preferred-size: 15em;
    flex-basis: 15em;
  }

  .presentation__equipe-list .equipe__element:hover {
    opacity: 1;
    z-index: 2;
  }

  .presentation__equipe-list .equipe__element:hover .equipe__info {
    opacity: 1;
  }

  .presentation__equipe-list .equipe__element:hover .equipe__photo__plus {
    opacity: 1;
  }
}

.presentation__equipe-list .equipe__photo {
  height: 13.75em;
  width: 13.75em;
  max-width: 100%;
  margin: 0 auto;
  background-size: cover;
  background-position: top center;
  background-repeat: no-repeat;
}

.presentation__equipe-list .equipe__photo__plus {
  position: absolute;
  height: 1.5em;
  width: 1.5em;
  top: 0.625em;
  right: 0.625em;
  background-image: url("/assets//icons/plus-icon-orange.svg");
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  opacity: 0;
  transition: opacity 0.2s;
}

.no-svg .presentation__equipe-list .equipe__photo__plus {
  background-image: asset-url("/assets//icons/plus-icon-orange.png");
}

.presentation__equipe-list .equipe__info {
  position: relative;
  display: inline-block;
  padding: 0.9375em 1.25em;
  margin: -0.625em auto 0;
  border: 2px solid #ff8400;
  text-align: center;
  display: none;
}

@media all and (min-width: 64.1em) {
  .presentation__equipe-list .equipe__info {
    display: block;
    width: 80%;
    left: 50%;
    margin-left: -40%;
    padding-left: 0;
    padding-right: 0;
    opacity: 0;
    transition: opacity 0.2s;
  }
}

.presentation__equipe-list .equipe__name {
  font-size: 0.9375em;
  margin: 0 0;
  color: #ff8400;
  letter-spacing: 2px;
  font-weight: 700;
  text-transform: uppercase;
}

.presentation__equipe-list .equipe__role {
  margin: 0;
}

.equipe-modal {
  position: fixed;
  left: 0;
  top: 0;
  height: 100%;
  width: 100%;
  padding: 3.125em 0 0;
  background-color: rgba(0, 0, 0, 0.85);
  overflow: scroll;
  z-index: 12;
  transform: translateZ(0);
  -webkit-overflow-scrolling: touch;
}

@media all and (min-width: 48em) {
  .equipe-modal {
    padding: 0;
    overflow: initial;
    z-index: 12;
  }
}

.equipe-modal .equipe-modal__inner:after {
  content: "";
  display: table;
  clear: both;
}

@media all and (min-width: 48em) {
  .equipe-modal .equipe-modal__inner {
    position: relative;
    padding: 20% 0 0;
    width: 80%;
    margin: 0 auto;
  }
}

@media all and (min-width: 64.1em) {
  .equipe-modal .equipe-modal__inner {
    position: relative;
    padding: 10% 0 0;
    width: 57.5em;
    margin: 0 auto;
  }
}

.equipe-modal .equipe-modal__close {
  position: absolute;
  right: 0;
  height: 3.125em;
  width: 3.125em;
  cursor: pointer;
}

@media all and (min-width: 48em) {
  .equipe-modal .equipe-modal__close {
    right: -1.625em;
    margin-left: 12.5em;
  }
}

.equipe-modal .equipe-modal__close .close-icon {
  font-size: 0.75em;
}

.equipe-modal .equipe-modal__close .close-icon:after,
.equipe-modal .equipe-modal__close .close-icon:before {
  background-color: #ff8400;
}

.equipe-modal .equipe-modal__photo {
  height: 15.3125em;
  width: 100%;
  margin: 0 auto;
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
}

@media all and (min-width: 48em) {
  .equipe-modal .equipe-modal__photo {
    position: absolute;
    right: 54%;
    margin: 0 auto;
    height: 100%;
    width: 16em;
    background-position: top center;
  }
}

.equipe-modal .equipe-modal__info {
  width: 90%;
  padding: 1.875em 1.25em 1.25em;
  margin: -1.25em auto 0;
}

@media all and (min-width: 48em) {
  .equipe-modal .equipe-modal__info {
    width: 55%;
    padding: 1.25em 1.5625em 1.5625em;
    margin: 2.5em auto 0;
    float: right;
  }
}

.equipe-modal .equipe-modal__name {
  font-size: 1.0625em;
  color: #ff8400;
  font-weight: 700;
  text-align: center;
  text-transform: uppercase;
}

.equipe-modal .equipe-modal__role {
  font-size: 0.875em;
  padding: 0 0 0.71429em;
  margin: 0 0 0.71429em;
  font-weight: 300;
  text-align: center;
  border-bottom: 2px solid #ff8400;
}

.equipe-modal .equipe-modal__description {
  padding: 1.5625em 0 0;
}

.equipe-modal .equipe-modal__description p {
  font-size: 0.875em;
  margin: 0;
}

@media all and (min-width: 64.1em) {
  .equipe-modal .equipe-modal__description p {
    font-size: 1em;
  }
}

.equipe-modal {
  opacity: 0;
  transition: opacity 0.5s;
}

.equipe-modal .equipe-modal__photo,
.equipe-modal .equipe-modal__name,
.equipe-modal .equipe-modal__role,
.equipe-modal .equipe-modal__close,
.equipe-modal .equipe-modal__description p {
  opacity: 0;
  transition: opacity 0.5s ease-in 0.7s;
}

.equipe-modal .equipe-modal__info {
  position: relative;
}

.equipe-modal .equipe-modal__info:before,
.equipe-modal .equipe-modal__info:after {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  background-color: #ff8400;
  transition: height 0.2s, width 0.2s;
}

.equipe-modal .equipe-modal__info:before {
  height: 2px;
  width: 0;
}

.equipe-modal .equipe-modal__info:after {
  left: auto;
  right: 0;
  height: 0;
  width: 2px;
  transition-delay: 0.2s;
}

.equipe-modal .equipe-modal__description:before,
.equipe-modal .equipe-modal__description:after {
  content: '';
  position: absolute;
  bottom: 0;
  right: 0;
  background-color: #ff8400;
  transition: height 0.2s, width 0.2s;
}

.equipe-modal .equipe-modal__description:before {
  height: 2px;
  width: 0;
  transition-delay: 0.4s;
}

.equipe-modal .equipe-modal__description:after {
  left: 0;
  right: auto;
  height: 0;
  width: 2px;
  transition-delay: 0.6s;
}

.equipe-modal.-active {
  opacity: 1;
}

.equipe-modal.-active .equipe-modal__photo,
.equipe-modal.-active .equipe-modal__name,
.equipe-modal.-active .equipe-modal__role,
.equipe-modal.-active .equipe-modal__close,
.equipe-modal.-active .equipe-modal__description p {
  opacity: 1;
}

.equipe-modal.-active .equipe-modal__info:before,
.equipe-modal.-active .equipe-modal__description:before {
  width: 100%;
}

.equipe-modal.-active .equipe-modal__info:after,
.equipe-modal.-active .equipe-modal__description:after {
  height: 100%;
}

.presentation__skills-title {
  font-size: 1.25em;
  position: relative;
  margin: 0 0 0.75em;
  padding-bottom: 1em;
  font-weight: 700;
  letter-spacing: 2px;
  text-transform: uppercase;
}

.presentation__skills-title:after {
  content: '';
  position: absolute;
  left: 0;
  bottom: 0;
  height: 4px;
  width: 4px;
  background-color: #fff;
}

@media all and (min-width: 64.1em) {
  .presentation__skills-title {
    font-size: 1.875em;
    padding: 0 0 0.83333em;
    margin: 0 0 0.83333em;
  }

  .presentation__skills-title:after {
    height: 6px;
    width: 6px;
  }
}

.skill-list {
  margin: 0;
  padding: 0.9375em 0 0;
  list-style-type: none;
}

.skill-list:after {
  content: "";
  display: table;
  clear: both;
}

.skill__block {
  margin-bottom: 3.125em;
}

@media all and (min-width: 48em) {
  .skill__block {
    float: left;
    width: 50%;
    min-height: 11.25em;
    padding-right: 3%;
  }
}

@media all and (min-width: 64.1em) {
  .skill__block {
    float: left;
    width: 25%;
    min-height: auto;
  }
}

.skill__block-title {
  font-size: 0.875em;
  display: block;
  position: relative;
  padding: 0 0 0.35714em;
  margin: 0 0 0.35714em;
  border-bottom: 2px solid #bebebe;
  color: #fff;
  font-weight: 600;
  letter-spacing: 2px;
  text-transform: uppercase;
  transition: border-color 0.2s;
}

@media all and (min-width: 64.1em) {
  .skill__block-title {
    font-size: 1.125em;
  }

  .skill__block-title:after {
    position: absolute;
    content: '';
    bottom: -2px;
    left: 0;
    height: 2px;
    width: 0;
    background-color: #ff8400;
    transition: width 0.2s ease-out;
  }
}

.skill__block-subtitle {
  font-size: 0.875em;
  position: relative;
  padding: 0 0 0.35714em;
  margin: 0 0 0.35714em;
  color: #bebebe;
  font-weight: 400;
}

@media all and (min-width: 64.1em) {
  .skill__block-subtitle {
    font-size: 1em;
  }
}

.skill__block-description {
  font-size: 0.875em;
  margin: 0;
}

@media all and (min-width: 64.1em) {
  .skill__block-description {
    font-size: 1em;
  }
}

.skill__block.-with-link:hover .skill__block-title:after {
  width: 100%;
}

.presentation__social .presentation__title {
  font-size: 1.25em;
  position: relative;
  margin: 0 0 0.75em;
  padding-bottom: 1em;
  font-weight: 700;
  letter-spacing: 2px;
  text-transform: uppercase;
}

.presentation__social .presentation__title:after {
  content: '';
  position: absolute;
  left: 0;
  bottom: 0;
  height: 4px;
  width: 4px;
  background-color: #fff;
}

@media all and (min-width: 64.1em) {
  .presentation__social .presentation__title {
    font-size: 1.875em;
    padding: 0 0 0.83333em;
    margin: 0 0 0.83333em;
  }

  .presentation__social .presentation__title:after {
    height: 6px;
    width: 6px;
  }
}

.presentation__social .presentation__description {
  margin: 0 0 3.125em;
}

.presentation__social .presentation__description p {
  font-size: 0.875em;
  margin: 0 0 2.14286em;
}

@media all and (min-width: 64.1em) {
  .presentation__social .presentation__description p {
    font-size: 1em;
    margin-bottom: 1.875em;
  }
}

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

@media all and (min-width: 64.1em) {
  .presentation__social__text {
    float: right;
    width: 50%;
    padding-left: 5%;
  }
}

@media all and (min-width: 64.1em) {
  .presentation__social__gallery {
    float: left;
    width: 50%;
  }

  .presentation__social__gallery .gallery {
    padding-top: 1.875em;
  }
}

.presentation__social__gallery .gallery__head,
.presentation__social__gallery .gallery__footer {
  display: none;
}

.presentation__page .presentation__intro,
.presentation__page .presentation__resume,
.presentation__page .presentation__list,
.presentation__page .presentation__keyword-list,
.presentation__page .presentation__equipe,
.presentation__page .presentation__skills,
.presentation__page .presentation__social {
  opacity: 0;
  transition: opacity 0.5s;
}

.presentation__page.-in-viewport .presentation__intro,
.presentation__page.-in-viewport .presentation__resume,
.presentation__page.-in-viewport .presentation__list,
.presentation__page.-in-viewport .presentation__keyword-list,
.presentation__page.-in-viewport .presentation__equipe,
.presentation__page.-in-viewport .presentation__skills,
.presentation__page.-in-viewport .presentation__social {
  opacity: 1;
}

.presentation__page.-in-viewport .resume__element:after {
  width: 100%;
}

.presentation__page.-in-viewport .presentation__comments:before {
  width: 100%;
  transition-delay: 0s;
  transition-timing-function: linear;
}

.presentation__page.-in-viewport .presentation__comments:after {
  height: 100%;
  transition-delay: 0.5s;
  transition-timing-function: linear;
}

.presentation__page.-in-viewport .presentation__comments__inner:before {
  width: 100%;
  transition-delay: 1s;
  transition-timing-function: linear;
}

.presentation__page.-in-viewport .presentation__comments__inner:after {
  height: 100%;
  transition-delay: 1.5s;
  transition-timing-function: ease-out;
}

.prestation--page {
  background-color: transparent;
  transition: background-color 0.5s;
}

@media all and (min-width: 48em) {
  .prestation--page {
    height: calc(100% - 70px);
    height: calc(100vh - 70px);
  }
}

.prestation--page.-loading {
  background-color: #000;
}

.prestation--page.-loading .prestation__block:before {
  opacity: 1;
}

.prestation--page.-loading .prestation__block-title {
  opacity: 0;
}

.prestation__list {
  padding: 0;
  margin: 0;
  list-style-type: none;
}

@media all and (min-width: 48em) {
  .prestation__list {
    height: 100%;
  }
}

.prestation__block {
  position: relative;
  padding: 1.5625em 0 1.25em;
  cursor: pointer;
}

@media all and (min-width: 48em) {
  .prestation__block {
    position: absolute;
    display: inline-block;
    height: calc(100% - 70px);
    width: 25%;
    overflow: hidden;
  }
}

@media not all and (min-width: 48em) {
  .prestation__block {
    width: 100% !important;
    left: 0 !important;
  }
}

.prestation__block:after,
.prestation__block:before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
  opacity: 0;
  transition: opacity 0.5s;
  z-index: 0;
}

.prestation__block:before {
  background-color: #000;
}

@media all and (min-width: 48em) {
  .prestation__block-inner {
    position: absolute;
    left: 0;
    top: 50%;
    margin-top: -4.1875em;
    width: 100%;
  }
}

.prestation__block-icon {
  height: 3.25em;
  width: 3.25em;
  margin: 0 auto 0.9375em;
}

@media all and (min-width: 48em) {
  .prestation__block-icon {
    height: 5.5em;
    width: 5.5em;
    margin-bottom: 1.5625em;
  }
}

.prestation__block-icon {
  position: relative;
  background-size: cover;
  background-position: center;
}

.prestation__block-icon:after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  height: 0;
  width: 100%;
  background-position: center bottom;
  background-size: cover;
  transition: height 0.5s;
}

.prestation__block-icon.developpement {
  background-image: url("/assets//icons/pt-dev-icon-white.svg");
  background-repeat: no-repeat;
}

.no-svg .prestation__block-icon.developpement {
  background-image: asset-url("/assets//icons/pt-dev-icon-white.png");
}

.prestation__block-icon.developpement:after {
  background-image: url("/assets//icons/pt-dev-icon-hover.svg");
  background-repeat: no-repeat;
}

.no-svg .prestation__block-icon.developpement:after {
  background-image: asset-url("/assets//icons/pt-dev-icon-hover.png");
}

.prestation__block-icon.commercialisation {
  background-image: url("/assets//icons/pt-com-icon-white.svg");
  background-repeat: no-repeat;
}

.no-svg .prestation__block-icon.commercialisation {
  background-image: asset-url("/assets//icons/pt-com-icon-white.png");
}

.prestation__block-icon.commercialisation:after {
  background-image: url("/assets//icons/pt-com-icon-hover.svg");
  background-repeat: no-repeat;
}

.no-svg .prestation__block-icon.commercialisation:after {
  background-image: asset-url("/assets//icons/pt-com-icon-hover.png");
}

.prestation__block-icon.realisation {
  background-image: url("/assets//icons/pt-rea-icon-white.svg");
  background-repeat: no-repeat;
}

.no-svg .prestation__block-icon.realisation {
  background-image: asset-url("/assets//icons/pt-rea-icon-white.png");
}

.prestation__block-icon.realisation:after {
  background-image: url("/assets//icons/pt-rea-icon-hover.svg");
  background-repeat: no-repeat;
}

.no-svg .prestation__block-icon.realisation:after {
  background-image: asset-url("/assets//icons/pt-rea-icon-hover.png");
}

.prestation__block-icon.exploitation {
  background-image: url("/assets//icons/pt-exp-icon-white.svg");
  background-repeat: no-repeat;
}

.no-svg .prestation__block-icon.exploitation {
  background-image: asset-url("/assets//icons/pt-exp-icon-white.png");
}

.prestation__block-icon.exploitation:after {
  background-image: url("/assets//icons/pt-exp-icon-hover.svg");
  background-repeat: no-repeat;
}

.no-svg .prestation__block-icon.exploitation:after {
  background-image: asset-url("/assets//icons/pt-exp-icon-hover.png");
}

.prestation__block-title {
  font-size: 0.75em;
  margin: 0;
  color: #fff;
  font-weight: 500;
  letter-spacing: 2px;
  text-align: center;
  text-transform: uppercase;
  transition: font-size 0.2s, font-weight 0.2s, opacity 0.5s;
}

@media all and (min-width: 64.1em) {
  .prestation__block-title {
    font-size: 0.875em;
  }
}

.prestation__block-link {
  position: absolute;
  display: block;
  height: 100%;
  width: 100%;
  color: inherit;
  z-index: 2;
}

@media not all and (min-width: 48em) {
  .prestation__block-link {
    position: relative;
  }
}

.prestation__loader {
  display: none;
  position: absolute;
  height: 5.5em;
  width: 5.5em;
  line-height: 5.5em;
  left: 50%;
  top: 50%;
  margin: -0.4375em 0 0 -2.75em;
  background-image: url("/assets//icons/prestations-loader.svg");
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
  background-color: #fff;
  z-index: 12;
}

.no-svg .prestation__loader {
  background-image: asset-url("/assets//icons/prestations-loader.png");
}

.prestation__loader p {
  font-size: 2.625em;
  margin: 0;
  font-family: "KlartextMono", sans-serif;
  font-weight: 700;
  text-align: center;
}

.prestation__svg {
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
}

@media not all and (min-width: 64.1em) {
  .prestation__svg {
    display: none;
  }
}

.prestation__svg svg {
  height: 100%;
  overflow: visible;
  opacity: 0;
}

.prestation__block.-transition {
  left: 0 !important;
  width: 100% !important;
  background-color: #000;
  transition: left 0.8s 0.2s, width 0.8s 0.2s;
  z-index: 4;
}

.prestation__block.-transition .prestation__block-inner,
.prestation__block.-transition .prestation__svg {
  transition: opacity 0.2s;
  opacity: 0;
}

.prestation__block {
  overflow: hidden;
}

.prestation__block.loading .prestation__block-title {
  opacity: 0;
}

.prestation__block:after {
  background-size: cover;
  background-position: center;
  background-image: url("/assets//pt-mobile-bg.svg");
  background-repeat: no-repeat;
}

.no-svg .prestation__block:after {
  background-image: asset-url("/assets//pt-mobile-bg.png");
}

@media all and (min-width: 48em) {
  .prestation__block {
    background-image: url("/assets//pt-desktop-bg.svg");
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center;
  }

  .no-svg .prestation__block {
    background-image: asset-url("/assets//pt-desktop-bg.png");
  }

  .prestation__block.developpement {
    left: 0;
  }

  .prestation__block.developpement:after {
    background-image: url("/assets//pt-dev-bg.svg");
    background-repeat: no-repeat;
  }

  .no-svg .prestation__block.developpement:after {
    background-image: asset-url("/assets//pt-dev-bg.png");
  }

  .prestation__block.commercialisation {
    left: 25%;
  }

  .prestation__block.commercialisation:after {
    background-image: url("/assets//pt-com-bg.svg");
    background-repeat: no-repeat;
  }

  .no-svg .prestation__block.commercialisation:after {
    background-image: asset-url("/assets//pt-com-bg.png");
  }

  .prestation__block.realisation {
    left: 50%;
  }

  .prestation__block.realisation:after {
    background-image: url("/assets//pt-rea-bg.svg");
    background-repeat: no-repeat;
  }

  .no-svg .prestation__block.realisation:after {
    background-image: asset-url("/assets//pt-rea-bg.png");
  }

  .prestation__block.exploitation {
    left: 75%;
  }

  .prestation__block.exploitation:after {
    background-image: url("/assets//pt-exp-bg.svg");
    background-repeat: no-repeat;
  }

  .no-svg .prestation__block.exploitation:after {
    background-image: asset-url("/assets//pt-exp-bg.png");
  }
}

.prestation__block.-active:after,
.prestation_block:hover:after {
  opacity: 1;
}

@media all and (min-width: 64.1em) {
  .prestation__block.-active .prestation__block-title,
  .prestation_block:hover .prestation__block-title {
    font-size: 1em;
    font-weight: 700;
  }

  .prestation__block.-active .prestation__block-icon:after,
  .prestation_block:hover .prestation__block-icon:after {
    height: 100%;
  }
}

.prestation--detail {
  color: #fff;
}

.prestation--detail:after {
  content: "";
  display: table;
  clear: both;
}

@media all and (min-width: 48em) {
  .prestation--detail {
    padding: 3.125em 1.5em 0;
    min-height: 100%;
    min-height: 100vh;
  }
}

@media all and (min-width: 64.1em) {
  .prestation--detail {
    padding: 6.875em 5.3125em 0 5.3125em;
  }
}

@media all and (min-width: 1400px) {
  .prestation--detail {
    width: 77.5em;
    padding-left: 0;
    padding-right: 0;
    margin: 0 auto;
  }
}

@media all and (min-width: 48em) {
  .prestation--detail .project-detail__inner {
    padding-left: 9.375em;
  }
}

@media all and (min-width: 64.1em) {
  .prestation--detail .project-detail__inner {
    float: left;
    width: 50%;
  }
}

@media all and (min-width: 48em) {
  .prestation--detail .project-detail__description {
    padding-right: 30%;
  }
}

@media all and (min-width: 64.1em) {
  .prestation--detail .project-detail__description {
    padding-right: 0;
  }
}

@media all and (min-width: 48em) {
  .prestation--detail .project-detail__info,
  .prestation--detail .project-detail__service {
    width: 100%;
    float: none;
    padding: 0;
  }
}

@media all and (min-width: 48em) {
  .prestation--detail .project-detail__service-title {
    width: 30%;
  }
}

@media all and (min-width: 64.1em) {
  .prestation--detail .project-detail__service-title {
    width: 100%;
  }
}

@media all and (min-width: 64.1em) {
  .prestation--detail .project-detail__service {
    width: 100%;
  }
}

@media all and (min-width: 64.1em) {
  .prestation--detail .prestations__tab-list {
    width: 100%;
  }
}

.prestation--detail .prestations__tab-list li {
  color: #fff;
}

.prestation--detail .prestations__tab-list li:after {
  background-color: #fff;
}

.prestation--detail .project-detail__icon {
  height: 3.125em;
  width: 3.125em;
  margin: 0 0 0.9375em;
  background-size: cover;
  background-position: center;
}

@media all and (min-width: 48em) {
  .prestation--detail .project-detail__icon {
    position: absolute;
    left: 0.75em;
    top: 0.75em;
    height: 4.5em;
    width: 4.5em;
  }
}

@media all and (min-width: 64.1em) {
  .prestation--detail .project-detail__icon {
    left: 0;
  }
}

.prestation--detail .comments__navigator .close-icon:before,
.prestation--detail .comments__navigator .close-icon:after {
  background-color: #fff;
}

@media all and (min-width: 64.1em) {
  .prestation--detail .project-detail__comment.-no-navigator .comments__container {
    width: 100%;
  }
}

.prestation--detail .project-detail__comment .comments__navigator {
  display: none;
}

@media all and (min-width: 48em) {
  .prestation--detail .project-detail__comment {
    position: relative;
    top: 0;
    left: 0;
    right: 0;
    width: 70%;
    padding-left: 9.375em;
  }
}

@media all and (min-width: 64.1em) {
  .prestation--detail .project-detail__comment {
    position: relative;
    float: right;
    right: auto;
    top: auto;
    width: 43.5%;
    padding-left: 0;
  }
}

.prestation--detail .project-detail__comment .comments__container {
  transition: height .5s ease;
}

.prestation--detail .prestation__partner {
  padding: 0.75em;
  margin: 0 0 5em;
}

@media all and (min-width: 48em) {
  .prestation--detail .prestation__partner {
    width: 100%;
    padding: 2.5em 0 0 9.375em;
  }
}

@media all and (min-width: 64.1em) {
  .prestation--detail .prestation__partner {
    padding: 5em 0 0;
    width: 43.5%;
    float: right;
  }
}

.prestation--detail .prestation__partner__title {
  color: #686868;
  padding-bottom: 3px;
  border-bottom: 2px solid;
  font-weight: 600;
  letter-spacing: 2px;
  text-transform: uppercase;
}

@media all and (min-width: 48em) {
  .prestation--detail .prestation__partner__title {
    width: 47%;
  }
}

@media all and (min-width: 64.1em) {
  .prestation--detail .prestation__partner__title {
    font-size: 1.125em;
    width: 100%;
    border: 0;
    font-weight: 400;
    padding: 0;
  }
}

.prestation--detail .prestation__partner__list {
  padding: 1.5em 0 0;
  margin: 0;
  list-style-type: none;
}

@media all and (min-width: 64.1em) {
  .prestation--detail .prestation__partner__list {
    padding: 1.125em 0 0;
  }
}

.prestation--detail .prestation__partner__list li {
  margin: 0 0 1.5em;
}

@media all and (min-width: 48em) {
  .prestation--detail .prestation__partner__list li {
    display: inline-block;
    margin: 0 3em 0 0;
  }
}

@media all and (min-width: 64.1em) {
  .prestation--detail .prestation__partner__list li {
    opacity: 0.8;
    transition: opacity 0.2s;
  }

  .prestation--detail .prestation__partner__list li:hover {
    opacity: 1;
  }
}

.prestation--detail .prestation__partner__list img {
  height: 1.75em;
}

@media all and (min-width: 64.1em) {
  .prestation--detail .prestation__partner__list img {
    height: 1.625em;
  }
}

.prestation--detail--developpement .project-detail__icon rect,
.prestation--detail--developpement .project-detail__icon path,
.prestation--detail--developpement .project-detail__icon line {
  stroke: #ffb600;
}

.prestation--detail--developpement .project-detail__service-title {
  border-color: #ffb600;
}

@media not all and (min-width: 64.1em) {
  .prestation--detail--developpement .comments__container {
    border-color: #ffb600;
  }
}

.prestation--detail--developpement .comments__container:before,
.prestation--detail--developpement .comments__container:after,
.prestation--detail--developpement .comment__inner:before,
.prestation--detail--developpement .comment__inner:after {
  background-color: #ffb600;
}

.prestation--detail--developpement .close-icon:before,
.prestation--detail--developpement .close-icon:after {
  background-color: #ffb600;
}

.prestation--detail--developpement .comments__selector.active .close-icon:before,
.prestation--detail--developpement .comments__selector.active .close-icon:after {
  background-color: #ffb600;
}

.prestation--detail--commercialisation .project-detail__icon rect,
.prestation--detail--commercialisation .project-detail__icon path,
.prestation--detail--commercialisation .project-detail__icon line {
  stroke: #1092ff;
}

.prestation--detail--commercialisation .project-detail__service-title {
  border-color: #1092ff;
}

@media not all and (min-width: 64.1em) {
  .prestation--detail--commercialisation .comments__container {
    border-color: #1092ff;
  }
}

.prestation--detail--commercialisation .comments__container:before,
.prestation--detail--commercialisation .comments__container:after,
.prestation--detail--commercialisation .comment__inner:before,
.prestation--detail--commercialisation .comment__inner:after {
  background-color: #1092ff;
}

.prestation--detail--commercialisation .close-icon:before,
.prestation--detail--commercialisation .close-icon:after {
  background-color: #1092ff;
}

.prestation--detail--commercialisation .comments__selector.active .close-icon:before,
.prestation--detail--commercialisation .comments__selector.active .close-icon:after {
  background-color: #1092ff;
}

.prestation--detail--realisation .project-detail__icon rect,
.prestation--detail--realisation .project-detail__icon path,
.prestation--detail--realisation .project-detail__icon line {
  stroke: #ff2150;
}

.prestation--detail--realisation .project-detail__service-title {
  border-color: #ff2150;
}

@media not all and (min-width: 64.1em) {
  .prestation--detail--realisation .comments__container {
    border-color: #ff2150;
  }
}

.prestation--detail--realisation .comments__container:before,
.prestation--detail--realisation .comments__container:after,
.prestation--detail--realisation .comment__inner:before,
.prestation--detail--realisation .comment__inner:after {
  background-color: #ff2150;
}

.prestation--detail--realisation .close-icon:before,
.prestation--detail--realisation .close-icon:after {
  background-color: #ff2150;
}

.prestation--detail--realisation .comments__selector.active .close-icon:before,
.prestation--detail--realisation .comments__selector.active .close-icon:after {
  background-color: #ff2150;
}

.prestation--detail--exploitation .project-detail__icon rect,
.prestation--detail--exploitation .project-detail__icon path,
.prestation--detail--exploitation .project-detail__icon line {
  stroke: #37bb31;
}

.prestation--detail--exploitation .project-detail__icon .rect-in {
  fill: #37bb31;
}

.prestation--detail--exploitation .project-detail__service-title {
  border-color: #37bb31;
}

@media not all and (min-width: 64.1em) {
  .prestation--detail--exploitation .comments__container {
    border-color: #37bb31;
  }
}

.prestation--detail--exploitation .comments__container:before,
.prestation--detail--exploitation .comments__container:after,
.prestation--detail--exploitation .comment__inner:before,
.prestation--detail--exploitation .comment__inner:after {
  background-color: #37bb31;
}

.prestation--detail--exploitation .close-icon:before,
.prestation--detail--exploitation .close-icon:after {
  background-color: #37bb31;
}

.prestation--detail--exploitation .comments__selector.active .close-icon:before,
.prestation--detail--exploitation .comments__selector.active .close-icon:after {
  background-color: #37bb31;
}

.prestation--detail {
  opacity: 0;
  transition: opacity 0.2s;
}

.prestation--detail:after {
  content: '';
  position: absolute;
  height: 100%;
  width: 100%;
  top: 0;
  left: 0;
  background-color: #000;
  opacity: 1;
  z-index: -1;
  transition: opacity 0.5s;
}

.prestation--detail .project-detail__inner,
.prestation--detail .prestation__partner {
  opacity: 0;
  transition: opacity 0.5s 0.2s;
}

.prestation--detail.-in-viewport {
  opacity: 1;
  transition: none;
}

.prestation--detail.-in-viewport:after {
  opacity: 0;
}

.prestation--detail.-in-viewport .project-detail__inner,
.prestation--detail.-in-viewport .prestation__partner {
  opacity: 1;
}

.prestation--detail .project-detail__comment {
  padding-top: 0.5em;
}

.prestation--detail .comment__icon {
  position: absolute;
  left: 2.1875em;
  height: 2.8125em;
  width: 1.875em;
  margin-top: -0.875em;
  background-image: url("/assets//icons/bulb-icon.svg");
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  z-index: 1;
}

.no-svg .prestation--detail .comment__icon {
  background-image: asset-url("/assets//icons/bulb-icon.png");
}

.prestation--detail .comment__icon .comment-icon {
  display: none;
}

.prestation--detail .comment {
  padding: 1.875em 1.875em 3.75em;
}

.prestation--detail .comment__text {
  margin: 0;
  letter-spacing: 1px;
  line-height: 1.5;
  font-family: "KlartextMono", sans-serif;
}

@media all and (min-width: 64.1em) {
  .prestation--detail .comment__text {
    font-size: 1.5625em;
  }
}

html {
  height: 100% !important;
  max-height: 100%;
}

.-no--scroll {
  overflow: hidden;
}

@media not all and (min-width: 64.1em) {
  .-no--scroll .___iso-html___ {
    overflow: hidden;
    position: relative;
    height: 100%;
    max-height: 100%;
  }
}

.app,
.___iso-html___ {
  transition: transform 0.7s cubic-bezier(0.23, 1, 0.32, 1);
}

@media not all and (min-width: 48em) {
  .app,
  .___iso-html___ {
    height: 100%;
    min-height: 100%;
    position: relative;
  }
}

@media all and (min-width: 64.1em) {
  .app,
  .___iso-html___ {
    height: 100%;
    min-height: 100%;
  }
}

body {
  background-color: #000;
}

@media all and (min-width: 64.1em) {
  body {
    height: 100%;
    min-height: 100%;
  }
}

.main {
  position: relative;
  z-index: 1;
  transition: transform 0.7s cubic-bezier(0.23, 1, 0.32, 1), left 0.7s;
  background-color: #000;
  left: 0;
}

@media all and (min-width: 64.1em) {
  .main {
    height: auto;
    min-height: 100%;
  }
}

@media not all and (min-width: 48em) {
  .main {
    padding-top: 4.375em;
  }
}

@media all and (min-width: 64.1em) {
  .main {
    padding-top: 4.375em;
  }
}

.backdrop {
  position: absolute;
  left: 0;
  top: 0;
  height: 100%;
  width: 100%;
  background-color: rgba(0, 0, 0, 0.5);
  opacity: 0;
  transition: opacity .8s;
  z-index: -1;
  visibility: hidden;
  transition: visibility 0.2s 0.5s, z-index 0.2s 0.5s, opacity 0.5s;
}

@media all and (min-width: 64.1em) {
  .-contact--open .contact {
    visibility: visible;
    transform: translateX(0%);
  }
}

@media not all and (min-width: 64.1em) {
  .-contact--open .contact {
    transform: translateX(0%);
  }
}

@media all and (min-width: 64.1em) {
  .-contact--open .backdrop {
    opacity: 1;
    visibility: visible;
    transition: opacity 0.2s;
    z-index: 10;
  }
}

@media all and (min-width: 64.1em) {
  .-contact--open .menu li:last-child {
    opacity: 0;
  }
}

@media all and (min-width: 64.1em) {
  .-contact--open .project__block__img {
    left: auto !important;
    position: relative !important;
    transform: none !important;
  }

  .-contact--open .project__info {
    position: absolute !important;
    left: auto !important;
    transform: none !important;
  }

  .-contact--open.home .section__text,
  .-contact--open.home .section--news > div,
  .-contact--open.home .gallery__head,
  .-contact--open.home .gallery {
    left: auto !important;
    position: relative !important;
    transform: none !important;
  }
}

.-menu--open .header {
  transform: translateX(-80%) translateY(0%);
}

.-menu--open .backdrop {
  opacity: 1;
  z-index: 0;
  visibility: visible;
  transition: opacity 0.2s;
}

.header.-menu--open {
  transform: translateX(-80%) translateY(0%) !important;
}

@media all and (min-width: 48em) {
  body.prestations-list .main {
    height: 100%;
    min-height: 37.5em;
  }
}

@media not all and (min-width: 64.1em) {
  body.reference-detail .header,
  body.prestation-detail .header {
    display: none;
  }

  body.reference-detail .main,
  body.prestation-detail .main {
    padding-top: 0;
  }
}

body.prestations-list .main,
body.prestation-detail .main,
body.reference-detail .main {
  background-image: url("/assets//pt-bg.jpg");
  background-position: center;
  background-size: cover;
}

@media all and (min-width: 64.1em) {
  body.prestation-detail .main {
    height: 100%;
    min-height: 56.25em;
  }
}

body.references-list .main,
body.presentation .main,
body.references .main {
  background-image: url("/assets//pt-bg.jpg");
  background-position: center;
  background-attachment: fixed;
}

@media all and (min-width: 64.1em) {
  body.references-list.-no--scroll {
    overflow: initial !important;
  }
}

@media not all and (min-width: 48em) {
  body.references-list .main,
  body.references .main {
    padding-top: 120px;
  }
}

.no-js .section--news {
  opacity: 1 !important;
}

@media all and (min-width: 48em) {
  .no-js .section--news rect {
    stroke-dasharray: 1500;
  }

  .no-js .section--news .news__element,
  .no-js .section--news .section__title,
  .no-js .section--news .news__navigator {
    opacity: 1;
  }

  .no-js .section--news .news__inner:before {
    width: 100%;
    transition-delay: 1s;
  }

  .no-js .section--news .news__inner:after {
    height: 100%;
    transition-delay: 1.5s;
  }

  .no-js .section--news .news__outer:before {
    width: 100%;
    transition-delay: 0s;
  }

  .no-js .section--news .news__outer:after {
    height: 100%;
    transition-delay: 0.5s;
  }
}

.no-js .section--gallery {
  opacity: 1 !important;
}

.no-js .gallery__body {
  opacity: 1;
}

.no-js .gallery__project-photo {
  visibility: visible !important;
}

.no-js .gallery__head .gallery__info hr {
  width: 100%;
}

.no-js .gallery__head .gallery__info p {
  opacity: 1;
  transform: translateY(0);
}

.no-js .gallery__project-arrow {
  opacity: 0;
  transform: scale(2);
  transition-delay: 1s;
}

.no-js .gallery__info__inner:before {
  width: 100%;
  transition: background-color 0.2s, width 0.5s 0s, height 0.5s 0s;
}

.no-js .gallery__info__inner:after {
  height: 100%;
  transition: background-color 0.2s, width 0.5s 0.5s, height 0.5s 0.5s;
}

.no-js .gallery__info:before {
  width: 100%;
  transition: background-color 0.2s, width 0.5s 1s, height 0.5s 1s;
}

.no-js .gallery__info:after {
  height: 100%;
  transition: background-color 0.2s, width 0.5s 1.5s, height 0.5s 1.5s;
}

.no-js .section--prestations {
  opacity: 1 !important;
}

.no-js .section--contact .section__border rect {
  stroke-dasharray: 1000;
}

.no-js .section--contact hr {
  width: 100%;
}

.no-js .section--contact p,
.no-js .section--contact a {
  transform: translateY(0);
}

.no-js .section--contact .section__inner:before {
  width: 100%;
  transition-delay: 0s;
}

.no-js .section--contact .section__inner:after {
  height: 100%;
  transition-delay: 0.2s;
}

.no-js .section--contact .section__outer:before {
  width: 100%;
  transition-delay: 0.4s;
}

.no-js .section--contact .section__outer:after {
  height: 100%;
  transition-delay: 0.6s;
}

.no-js .project__block__img {
  opacity: 1 !important;
}

.no-js .project__info:before {
  width: 100%;
  transition: none;
  transition-timing-function: ease-in;
  transition-delay: 0;
}

.no-js .project__info:after {
  height: 100%;
  transition: none;
  transition-timing-function: linear;
  transition-delay: 0;
}

.no-js .project__info__inner:before {
  width: 100%;
  transition: none;
  transition-timing-function: linear;
  transition-delay: 0;
}

.no-js .project__info__inner:after {
  height: 100%;
  transition: none;
  transition-timing-function: ease-out;
  transition-delay: 0;
}

.no-js .project__info__inner .project__title,
.no-js .project__info__inner .project__description,
.no-js .project__info__inner .project__points {
  opacity: 1;
  transition-delay: 0;
}

.no-js .project-detail .project-detail__info,
.no-js .project-detail .project-detail__service,
.no-js .project-detail .project-detail__gallery,
.no-js .prestation--detail .project-detail__info,
.no-js .prestation--detail .project-detail__service,
.no-js .prestation--detail .project-detail__gallery {
  opacity: 1;
  transition: none;
}

.no-js .project-detail .comment__icon,
.no-js .project-detail .comment__list,
.no-js .project-detail .comments__navigator,
.no-js .prestation--detail .comment__icon,
.no-js .prestation--detail .comment__list,
.no-js .prestation--detail .comments__navigator {
  opacity: 1;
  transition: none;
}

.no-js .prestation__block-title {
  opacity: 1 !important;
}

.no-js .prestation--detail {
  opacity: 1;
}

.no-js .prestation--detail .project-detail__inner {
  opacity: 1;
}

.no-js .prestation--detail--developpement .comments__container {
  border: 2px solid #ffb600;
}

.no-js .prestation--detail--commercialisation .comments__container {
  border: 2px solid #1092ff;
}

.no-js .prestation--detail--realisation .comments__container {
  border: 2px solid #ff2150;
}

.no-js .prestation--detail--exploitation .comments__container {
  border: 2px solid #37bb31;
}

.no-js .prestation__partner {
  opacity: 1 !important;
}

.no-js .presentation__page .presentation__intro,
.no-js .presentation__page .presentation__resume,
.no-js .presentation__page .presentation__list,
.no-js .presentation__page .presentation__keyword-list,
.no-js .presentation__page .presentation__equipe,
.no-js .presentation__page .presentation__skills,
.no-js .presentation__page .presentation__social {
  opacity: 1;
}

.no-js .presentation__page .resume__element:after {
  width: 100%;
}

.no-js .presentation__page .presentation__comments:before {
  width: 100%;
  transition-delay: 0s;
}

.no-js .presentation__page .presentation__comments:after {
  height: 100%;
  transition-delay: 0.5s;
}

.no-js .presentation__page .presentation__comments__inner:before {
  width: 100%;
  transition-delay: 1s;
}

.no-js .presentation__page .presentation__comments__inner:after {
  height: 100%;
  transition-delay: 1.5s;
}