/*------------------------------------------------------------------------------
    CSS Document (http://www.w3.org/Style/CSS/)

    project:    Ideance
    created:    2021-02-08
    author:     Christophe ANDRIEU (http://www.stpo.fr)

    summary:    VARIABLES
                    main colorz
                    default font-size (px)
                    typography
                IMPORTS
                ANIMATIONS
                GLOBAL LAYOUT
                TYPOGRAPHY
                LINKS
                HEADER
                FOOTER
                CORE
                MEDIA QUERIES
                    wide
                    tablet
                    mobile
                    extra-mobile
                    portrait
                    reduced motion
                IE11
                PRINT
----------------------------------------------------------------------------- */
/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */
/* Document
   ========================================================================== */
/**
 * 1. Correct the line height in all browsers.
 * 2. Prevent adjustments of font size after orientation changes in iOS.
 */
html {
  line-height: 1.15;
  /* 1 */
  -webkit-text-size-adjust: 100%;
  /* 2 */ }

/* Sections
   ========================================================================== */
/**
 * Remove the margin in all browsers.
 */
body {
  margin: 0; }

/**
 * Render the `main` element consistently in IE.
 */
main {
  display: block; }

/**
 * Correct the font size and margin on `h1` elements within `section` and
 * `article` contexts in Chrome, Firefox, and Safari.
 */
h1 {
  font-size: 2em;
  margin: 0.67em 0; }

/* Grouping content
   ========================================================================== */
/**
 * 1. Add the correct box sizing in Firefox.
 * 2. Show the overflow in Edge and IE.
 */
hr {
  box-sizing: content-box;
  /* 1 */
  height: 0;
  /* 1 */
  overflow: visible;
  /* 2 */ }

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
pre {
  font-family: monospace, monospace;
  /* 1 */
  font-size: 1em;
  /* 2 */ }

/* Text-level semantics
   ========================================================================== */
/**
 * Remove the gray background on active links in IE 10.
 */
a {
  background-color: transparent; }

/**
 * 1. Remove the bottom border in Chrome 57-
 * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
 */
abbr[title] {
  border-bottom: none;
  /* 1 */
  text-decoration: underline;
  /* 2 */
  text-decoration: underline dotted;
  /* 2 */ }

/**
 * Add the correct font weight in Chrome, Edge, and Safari.
 */
b,
strong {
  font-weight: bolder; }

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
code,
kbd,
samp {
  font-family: monospace, monospace;
  /* 1 */
  font-size: 1em;
  /* 2 */ }

/**
 * Add the correct font size in all browsers.
 */
small {
  font-size: 80%; }

/**
 * Prevent `sub` and `sup` elements from affecting the line height in
 * all browsers.
 */
sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline; }

sub {
  bottom: -0.25em; }

sup {
  top: -0.5em; }

/* Embedded content
   ========================================================================== */
/**
 * Remove the border on images inside links in IE 10.
 */
img {
  border-style: none; }

/* Forms
   ========================================================================== */
/**
 * 1. Change the font styles in all browsers.
 * 2. Remove the margin in Firefox and Safari.
 */
button,
input,
optgroup,
select,
textarea {
  font-family: inherit;
  /* 1 */
  font-size: 100%;
  /* 1 */
  line-height: 1.15;
  /* 1 */
  margin: 0;
  /* 2 */ }

/**
 * Show the overflow in IE.
 * 1. Show the overflow in Edge.
 */
button,
input {
  /* 1 */
  overflow: visible; }

/**
 * Remove the inheritance of text transform in Edge, Firefox, and IE.
 * 1. Remove the inheritance of text transform in Firefox.
 */
button,
select {
  /* 1 */
  text-transform: none; }

/**
 * Correct the inability to style clickable types in iOS and Safari.
 */
button,
[type="button"],
[type="reset"],
[type="submit"] {
  -webkit-appearance: button; }

/**
 * Remove the inner border and padding in Firefox.
 */
button::-moz-focus-inner,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
  border-style: none;
  padding: 0; }

/**
 * Restore the focus styles unset by the previous rule.
 */
button:-moz-focusring,
[type="button"]:-moz-focusring,
[type="reset"]:-moz-focusring,
[type="submit"]:-moz-focusring {
  outline: 1px dotted ButtonText; }

/**
 * Correct the padding in Firefox.
 */
fieldset {
  padding: 0.35em 0.75em 0.625em; }

/**
 * 1. Correct the text wrapping in Edge and IE.
 * 2. Correct the color inheritance from `fieldset` elements in IE.
 * 3. Remove the padding so developers are not caught out when they zero out
 *    `fieldset` elements in all browsers.
 */
legend {
  box-sizing: border-box;
  /* 1 */
  color: inherit;
  /* 2 */
  display: table;
  /* 1 */
  max-width: 100%;
  /* 1 */
  padding: 0;
  /* 3 */
  white-space: normal;
  /* 1 */ }

/**
 * Add the correct vertical alignment in Chrome, Firefox, and Opera.
 */
progress {
  vertical-align: baseline; }

/**
 * Remove the default vertical scrollbar in IE 10+.
 */
textarea {
  overflow: auto; }

/**
 * 1. Add the correct box sizing in IE 10.
 * 2. Remove the padding in IE 10.
 */
[type="checkbox"],
[type="radio"] {
  box-sizing: border-box;
  /* 1 */
  padding: 0;
  /* 2 */ }

/**
 * Correct the cursor style of increment and decrement buttons in Chrome.
 */
[type="number"]::-webkit-inner-spin-button,
[type="number"]::-webkit-outer-spin-button {
  height: auto; }

/**
 * 1. Correct the odd appearance in Chrome and Safari.
 * 2. Correct the outline style in Safari.
 */
[type="search"] {
  -webkit-appearance: textfield;
  /* 1 */
  outline-offset: -2px;
  /* 2 */ }

/**
 * Remove the inner padding in Chrome and Safari on macOS.
 */
[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none; }

/**
 * 1. Correct the inability to style clickable types in iOS and Safari.
 * 2. Change font properties to `inherit` in Safari.
 */
::-webkit-file-upload-button {
  -webkit-appearance: button;
  /* 1 */
  font: inherit;
  /* 2 */ }

/* Interactive
   ========================================================================== */
/*
 * Add the correct display in Edge, IE 10+, and Firefox.
 */
details {
  display: block; }

/*
 * Add the correct display in all browsers.
 */
summary {
  display: list-item; }

/* Misc
   ========================================================================== */
/**
 * Add the correct display in IE 10+.
 */
template {
  display: none; }

/**
 * Add the correct display in IE 10.
 */
[hidden] {
  display: none; }

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

ul {
  padding-left: 0;
  list-style-type: none; }

h1:first-child, h2:first-child, h3:first-child, h4:first-child, h5:first-child, h6:first-child, p, ul, ol {
  margin-top: 0; }

p:last-child, ul:last-child, ol:last-child, dl:last-child, blockquote:last-child, pre:last-child, table:last-child {
  margin-bottom: 0; }

address {
  font-style: normal; }

kbd {
  padding: 0 .5rem;
  border: 1px solid #ccc;
  border-radius: .3rem;
  background: #eef;
  font-family: Courier New, Courier,Lucida Sans Typewriter, Lucida Typewriter, monospace;
  font-size: inherit; }

hr {
  border: none;
  color: transparent; }

.txt-r {
  text-align: right !important; }

.txt-c {
  text-align: center !important; }

.pos-r {
  position: relative; }

.clearfix {
  display: block; }
  .clearfix:after, .clearfix:before {
    content: "";
    display: table; }
  .clearfix:after {
    clear: both; }

.svg-icon {
  width: 1em;
  height: 1em;
  vertical-align: -0.15em;
  fill: currentColor;
  overflow: hidden; }

.sr-only {
  border: 0 !important;
  clip: rect(1px, 1px, 1px, 1px) !important;
  /* 1 */
  -webkit-clip-path: inset(50%) !important;
  clip-path: inset(50%) !important;
  /* 2 */
  height: 1px !important;
  overflow: hidden !important;
  padding: 0 !important;
  position: absolute !important;
  width: 1px !important;
  white-space: nowrap !important;
  /* 3 */ }

.sr-only-focusable:focus,
.sr-only-focusable:active {
  clip: auto !important;
  -webkit-clip-path: none !important;
  clip-path: none !important;
  height: auto !important;
  overflow: visible !important;
  /*position: static !important; 1. */
  width: auto !important;
  white-space: normal !important; }

@font-face {
  font-family: 'lato';
  src: url("../fonts/lato-400.woff2") format("woff2"), url("../fonts/lato-400.woff") format("woff");
  font-weight: normal;
  font-style: normal;
  font-display: swap; }

@font-face {
  font-family: 'lato';
  src: url("../fonts/lato-400-italic.woff2") format("woff2"), url("../fonts/lato-400-italic.woff") format("woff");
  font-weight: normal;
  font-style: italic;
  font-display: swap; }

@font-face {
  font-family: 'lato';
  src: url("../fonts/lato-900.woff2") format("woff2"), url("../fonts/lato-900.woff") format("woff");
  font-weight: bold;
  font-style: normal;
  font-display: swap; }

@font-face {
  font-family: 'lato';
  src: url("../fonts/lato-900-italic.woff2") format("woff2"), url("../fonts/lato-900-italic.woff") format("woff");
  font-weight: bold;
  font-style: italic;
  font-display: swap; }

@font-face {
  font-family: "icons";
  src: url("../../static/fonts/icon-font.eot?f06557aef74cb26f48b312756cf40033");
  src: url("../../static/fonts/icon-font.eot?f06557aef74cb26f48b312756cf40033#iefix") format("embedded-opentype"), url("../../static/fonts/icon-font.woff?f06557aef74cb26f48b312756cf40033") format("woff"), url("../../static/fonts/icon-font.ttf?f06557aef74cb26f48b312756cf40033") format("truetype");
  font-weight: normal;
  font-style: normal; }

.icon {
  font-family: "icons";
  display: inline-block;
  line-height: 1;
  font-weight: normal;
  font-style: normal;
  speak: none;
  text-decoration: inherit;
  text-transform: none;
  text-rendering: auto;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale; }

.icon_arrow-1-left:before {
  content: "\f101"; }

.icon_arrow-1-right:before {
  content: "\f102"; }

.icon_arrow-2-top:before {
  content: "\f103"; }

.icon_checkbox-checked:before {
  content: "\f104"; }

.icon_checkbox:before {
  content: "\f105"; }

.icon_checklist:before {
  content: "\f106"; }

.icon_design:before {
  content: "\f107"; }

.icon_dot:before {
  content: "\f108"; }

.icon_edit:before {
  content: "\f109"; }

.icon_global:before {
  content: "\f10a"; }

.icon_mobile:before {
  content: "\f10b"; }

.icon_pilot:before {
  content: "\f10c"; }

.icon_programming:before {
  content: "\f10d"; }

.icon_radio-checked:before {
  content: "\f10e"; }

.icon_radio:before {
  content: "\f10f"; }

.icon_tools:before {
  content: "\f110"; }

.icon_understand:before {
  content: "\f111"; }

@keyframes fadeIn {
  from {
    opacity: 0; }
  to {
    opacity: 1; } }

@keyframes fadeInTop {
  from {
    opacity: 0;
    transform: translateY(-3.5rem); }
  to {
    opacity: 1;
    transform: translateY(0); } }

@keyframes scale {
  from {
    transform: scale(1.035); }
  to {
    transform: scale(1); } }

::selection {
  color: #fff;
  background-color: #9801ff; }

* {
  text-decoration-thickness: 1px !important;
  scroll-padding-top: 12.5rem;
  scroll-padding-bottom: 12.5rem; }

html {
  font-size: calc(1em * .625);
  background: #eee url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMyIgaGVpZ2h0PSIzIiB2aWV3Qm94PSIwIDAgMyAzIg0KICB4bWxuczpzdmc9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciDQogIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIj48cmVjdCB4PSIwIiB5PSIwIiB3aWR0aD0iMSIgaGVpZ2h0PSIxIiBzdHlsZT0iZmlsbDpyZ2JhKDAsMCwwLC4yKSIvPjwvc3ZnPg==");
  scroll-behavior: smooth; }
  html body {
    font-size: 160%;
    max-width: 200rem;
    margin: 0 auto;
    background: #fff;
    box-shadow: 0 0 5rem rgba(0, 0, 0, 0.15);
    text-align: left;
    color: #2c3e50;
    font-family: "lato", Arial, Helvetica, sans-serif;
    line-height: 1.5; }

body::before {
  display: none;
  content: '';
  z-index: 10000;
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  height: 3px;
  background: greenyellow; }

.page {
  position: relative;
  padding: 2rem 0 16rem; }
  .page::before {
    content: '';
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    height: 40rem;
    background-image: linear-gradient(to top, #f8fafb 0%, rgba(248, 250, 251, 0) 100%); }
  .page > * {
    position: relative; }

.wrapper {
  width: 100%;
  margin: 0 auto;
  max-width: 154rem;
  padding: 0 4rem; }
  .wrapper .wrapper__inner {
    max-width: 120rem;
    margin: 0 auto; }

.hasJS img[loading="lazy"] {
  transition: opacity 400ms linear;
  opacity: 0; }
  .hasJS img[loading="lazy"].is-loaded {
    opacity: 1; }

p, li, a, button, input, select, textarea, label, address {
  font-size: 2rem; }

.title--1 {
  margin-bottom: .5em;
  font-size: 6rem;
  font-weight: bold;
  line-height: 1; }

.title--2 {
  margin-bottom: .5em;
  font-size: 3.6rem;
  font-weight: bold;
  line-height: 1; }

.title--3 {
  margin-bottom: .5em;
  color: #3C7D9F;
  font-size: 2rem;
  font-weight: bold;
  line-height: 1; }

.title--4 {
  padding: 1rem 2rem 1rem 2rem;
  margin-top: 2em;
  margin-bottom: .5em;
  background: #e8efef;
  border-left: 0.5rem solid #99b3ca;
  font-size: 1.6rem;
  font-weight: normal;
  line-height: 1.15;
  letter-spacing: .25rem; }
  .title--3 + .title--4 {
    margin-top: 0; }


*:focus-visible {
  outline: solid #678CFF .25rem;
  outline-offset: .25rem; }

div.map *:focus, header:not(.is-pinned) *:focus-visible,
.editorial .boost *:focus-visible {
  outline-color: #ffd100; }

a {
  cursor: pointer;
  color: inherit;
  text-decoration-thickness: 1px;
  text-underline-offset: .25em;
  text-decoration-color: #9801ff;
  transition: text-decoration-color 400ms ease-out; }
  a:hover, a:focus {
    text-decoration-color: transparent;
    transition-duration: 50ms; }
  a.link--alt {
    text-decoration-color: transparent; }
    a.link--alt:hover, a.link--alt:focus {
      text-decoration-color: #9801ff; }
  a.link--arrow {
    position: relative;
    display: inline-block;
    padding-left: 1.25em;
    text-decoration: none;
    font-weight: bold; }
    a.link--arrow .icon {
      position: absolute;
      left: 0;
      top: .65em;
      margin-right: .5em;
      color: #f93643;
      font-size: .75em; }
    a.link--arrow strong {
      text-decoration: underline;
      text-decoration-color: #fff;
      transition: text-decoration-color 400ms ease-out; }
    a.link--arrow:hover strong, a.link--arrow:focus strong {
      text-decoration-color: transparent;
      transition-duration: 50ms; }
    .map a.link--arrow .icon {
      color: #ffd100; }

.button {
  display: inline-block;
  min-width: 36rem;
  padding: 1.5rem 3rem;
  background-image: linear-gradient(to left, #9801ff 0%, rgba(152, 1, 255, 0) 100%);
  border-radius: 4rem;
  color: #fff;
  text-decoration: none;
  font-weight: bold;
  line-height: 1.25;
  background-color: #0b44f7;
  transition: background-color ease-in-out 400ms; }
  .button .icon {
    position: relative;
    top: -.1em;
    margin-right: .5em;
    color: #ffd100;
    font-size: .75em; }
  .button:hover, .button:focus {
    background: #ffd100;
    background-image: linear-gradient(to right, #ffd100 0%, rgba(255, 209, 0, 0) 100%);
    color: #2c3e50; }
    .button:hover .icon, .button:focus .icon {
      color: #f93643; }

.link--back {
  display: block;
  margin-top: 4rem;
  padding: 1rem;
  border-top: 1px solid #e8efef;
  text-align: right;
  text-decoration-color: transparent;
  font-size: 1.6rem; }
  .link--back .icon {
    margin-left: .5rem;
    padding: .5rem;
    background: #9801ff;
    border-radius: 50%;
    color: #fff;
    font-size: .75em; }
  .link--back span {
    text-decoration: underline;
    text-decoration-thickness: 1px;
    text-underline-offset: .25em;
    text-decoration-color: transparent;
    transition: text-decoration-color 400ms ease-out; }
  .link--back:hover span, .link--back:focus span {
    text-decoration-color: #9801ff; }

header {
  position: relative;
  z-index: 10;
  padding: 1rem 0;
  color: #fff;
  transition: background-color ease-in-out 300ms, box-shadow ease-in-out 300ms; }
  .hasJS header {
    position: sticky;
    top: 0; }
  header.sticky-watch {
    top: -1px; }
    header.sticky-watch.is-pinned {
      background: #fff;
      box-shadow: 0 0 5rem rgba(0, 0, 0, 0.25);
      transition-duration: 150ms; }
      header.sticky-watch.is-pinned a {
        color: #2c3e50; }
        header.sticky-watch.is-pinned a:hover, header.sticky-watch.is-pinned a:focus {
          text-decoration-color: transparent; }
      header.sticky-watch.is-pinned .wrapper .header__logo {
        filter: none;
        width: 5rem;
        margin-right: 8rem;
        margin-top: 0;
        transition-duration: 50ms; }
      header.sticky-watch.is-pinned .wrapper .header__content .header__top a, header.sticky-watch.is-pinned .wrapper .header__content .header__top li {
        font-size: 1.2rem; }
      header.sticky-watch.is-pinned .wrapper .header__content .header__top a:hover, header.sticky-watch.is-pinned .wrapper .header__content .header__top a:focus {
        text-decoration-color: #99b3ca; }
      header.sticky-watch.is-pinned .wrapper .header__content .header__top .active a {
        color: #0b44f7;
        text-decoration-color: #0b44f7; }
        header.sticky-watch.is-pinned .wrapper .header__content .header__top .active a:hover, header.sticky-watch.is-pinned .wrapper .header__content .header__top .active a:focus {
          text-decoration-color: transparent; }
      header.sticky-watch.is-pinned .wrapper .header__content .header__nav ul .active a strong {
        color: #0b44f7;
        text-decoration-color: #0b44f7; }
      header.sticky-watch.is-pinned .wrapper .header__content .header__nav ul a {
        font-size: 1.6rem; }
        header.sticky-watch.is-pinned .wrapper .header__content .header__nav ul a span {
          max-height: 0;
          transition-duration: 50ms; }
        header.sticky-watch.is-pinned .wrapper .header__content .header__nav ul a:hover strong, header.sticky-watch.is-pinned .wrapper .header__content .header__nav ul a:focus strong {
          text-decoration-color: #99b3ca; }
  header a {
    color: #fff;
    text-decoration-color: transparent; }
    header a:hover, header a:focus {
      text-decoration-color: #99b3ca; }
  header .wrapper {
    display: flex;
    justify-content: flex-start;
    align-items: center; }
    header .wrapper .header__logo {
      display: flex;
      height: auto;
      filter: brightness(0) invert(1);
      width: 8rem;
      margin-bottom: 0;
      margin-right: 5rem;
      transition: width ease-in-out 300ms, margin ease-in-out 300ms; }
      header .wrapper .header__logo a {
        width: 100%; }
      header .wrapper .header__logo img {
        width: 100%;
        height: 100%; }
    header .wrapper .header__burger {
      display: none; }
    header .wrapper .header__content {
      flex-grow: 1;
      line-height: 1; }
      header .wrapper .header__content .header__top {
        display: flex;
        justify-content: space-between;
        align-items: center;
        padding-bottom: 1rem;
        border-bottom: 1px solid #99b3ca; }
        header .wrapper .header__content .header__top li, header .wrapper .header__content .header__top a {
          font-size: 1.6rem; }
        header .wrapper .header__content .header__top ul {
          margin: 0; }
          header .wrapper .header__content .header__top ul li {
            display: inline-block; }
            header .wrapper .header__content .header__top ul li::before {
              content: ' / ';
              margin: 0 .5em;
              color: #ffd100; }
            header .wrapper .header__content .header__top ul li:first-child::before {
              display: none; }
            header .wrapper .header__content .header__top ul li.active a {
              color: #ffd100;
              text-decoration: underline; }
              header .wrapper .header__content .header__top ul li.active a:hover, header .wrapper .header__content .header__top ul li.active a:focus {
                text-decoration-color: #ffd100; }
      header .wrapper .header__content .header__nav ul {
        display: flex;
        justify-content: space-between;
        align-items: flex-start;
        margin-top: 1.25rem;
        margin-bottom: 0; }
        header .wrapper .header__content .header__nav ul .active a strong {
          color: #ffd100;
          text-decoration-color: #ffd100; }
        header .wrapper .header__content .header__nav ul a {
          display: block;
          font-size: 2rem;
          font-weight: bold;
          text-transform: uppercase;
          text-decoration: none; }
          header .wrapper .header__content .header__nav ul a strong {
            display: block;
            text-decoration: underline;
            text-decoration-color: transparent;
            transition: text-decoration-color 400ms ease-out; }
          header .wrapper .header__content .header__nav ul a span {
            overflow: hidden;
            display: block;
            margin-top: .5rem;
            color: #ffd100;
            text-transform: none;
            font-weight: normal;
            font-size: 1.6rem;
            line-height: 1.25;
            max-height: 2em;
            transition: max-height ease-in-out 400ms; }
          header .wrapper .header__content .header__nav ul a:hover strong, header .wrapper .header__content .header__nav ul a:focus strong {
            text-decoration-color: #fff;
            transition-duration: 50ms; }
        header .wrapper .header__content .header__nav ul .header__burger-contacts {
          display: none; }
  header + main .hero {
    margin-top: -8.1em; }

footer {
  padding: 4rem 0;
  background: #fff;
  border-top: 2rem solid #e8efef; }
  footer p, footer li, footer a, footer address {
    font-size: 1.6rem; }
  footer p {
    margin-bottom: 0; }
    footer p + ul {
      margin-top: 1.5em; }
  footer a {
    text-decoration-color: #5b6a78; }
  footer .active a {
    color: #0b44f7;
    text-decoration-color: transparent; }
    footer .active a:hover, footer .active a:focus {
      text-decoration-color: #0b44f7; }
  footer ul li {
    margin-bottom: .25em;
    line-height: 1.25; }
  footer .wrapper {
    display: flex;
    justify-content: space-between; }
    footer .wrapper > div:first-child {
      width: 7.5%;
      padding-right: 2rem; }
      footer .wrapper > div:first-child img {
        width: 100%;
        max-width: 6rem; }
    footer .wrapper > div:nth-child(2) {
      width: 42.5%;
      padding-right: 2rem; }
    footer .wrapper > div:nth-child(3) {
      width: 20%;
      padding: 0 2rem; }
    footer .wrapper > div:last-child {
      width: 30%;
      padding-left: 2rem; }
      footer .wrapper > div:last-child ul {
        display: flex;
        align-items: center;
        flex-wrap: wrap;
        padding: 2rem 4rem 1rem;
        border: 1px solid #b4cbd9; }
        footer .wrapper > div:last-child ul li {
          margin: 0 2rem 1rem 0; }
          footer .wrapper > div:last-child ul li img {
            max-height: 6rem;
            width: auto;
            max-width: 15rem; }

.cookies {
  padding: 2rem 0;
  background: #e8efef; }
  .cookies .wrapper {
    display: flex;
    justify-content: center;
    align-items: center; }
    .cookies .wrapper img {
      width: 3rem;
      height: auto;
      margin-right: 1rem; }
    .cookies .wrapper p {
      margin: 0;
      font-size: 1.4rem;
      line-height: 1.25; }

.map {
  position: relative;
  background: #0b44f7 url(../../static/img/generic/bg_pattern.png) center top/1rem auto; }
  .map.hero, .map.moar {
    overflow: hidden; }
  .map.error-404 main {
    margin: 0;
    background: none;
    border-top: none; }
  .map::before {
    content: '';
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
    background-image: linear-gradient(to top, #9801ff 0%, rgba(152, 1, 255, 0) 100%); }
  .map .map__background {
    position: absolute;
    height: auto; }
  .map .map__wave {
    position: absolute;
    left: -2%;
    right: -2%;
    width: 104%; }
  .map main {
    margin-top: 1rem;
    background: #fff;
    border-top: 2rem solid #e8efef; }

.hero {
  display: flex;
  align-items: center;
  height: 90vh;
  min-height: 75rem; }
  .hero .map__background {
    bottom: 0;
    left: 50%;
    margin-left: -15.5rem;
    width: 101.3rem; }
  .hero .map__wave {
    bottom: -1px; }
  .hero .wrapper {
    position: relative;
    color: #fff; }
    .hero .wrapper .hero__core {
      width: 50%;
      padding-left: 15%; }
      .hero .wrapper .hero__core .title--1 {
        display: block;
        margin-bottom: 1rem;
        text-transform: uppercase; }
      .hero .wrapper .hero__core .hero__baseline {
        display: block;
        position: relative;
        text-transform: uppercase;
        margin-bottom: 1rem;
        margin-left: -8rem;
        margin-right: -8rem;
        padding: 1.5rem 10rem 1.5rem 8rem;
        background: #ffd100;
        border-radius: 7.5rem; }
        .hero .wrapper .hero__core .hero__baseline .title--2 {
          display: block;
          margin: 0;
          color: #2c3e50;
          line-height: 1; }
        .hero .wrapper .hero__core .hero__baseline img {
          position: absolute;
          top: 50%;
          left: 100%;
          transform: translateY(-50%);
          width: 26rem;
          height: auto;
          margin-left: -8rem; }
      .hero .wrapper .hero__core ul li {
        position: relative;
        padding-left: 4rem;
        margin-bottom: .25em;
        font-weight: bold;
        line-height: 1.25; }
        .hero .wrapper .hero__core ul li::before {
          content: '';
          position: absolute;
          left: 0;
          top: .65em;
          width: 2rem;
          height: 1px;
          background: #ffd100; }

.services {
  position: relative;
  margin-top: -1.85rem; }
  .services + .services {
    margin-top: 0;
    border-top: 1px dashed #3C7D9F; }
  .services .wrapper {
    display: flex;
    justify-content: space-between; }
    .services .wrapper > div {
      display: flex;
      justify-content: space-between;
      align-items: center;
      flex-direction: column;
      width: 50%;
      padding: 4rem 8rem 10rem;
      text-align: center; }
      .services .wrapper > div:first-child {
        border-right: 1px dashed #3C7D9F; }
      .services .wrapper > div img {
        display: block;
        width: 100%;
        max-width: 50rem;
        margin: 0 auto; }
      .services .wrapper > div .title--2 {
        margin-top: .5rem; }
        .services .wrapper > div .title--2 + .title--3 {
          display: block;
          margin-top: -1rem;
          margin-bottom: 3rem; }
      .services .wrapper > div p {
        flex-grow: 1; }

.references {
  position: relative;
  padding: 10rem 0 20rem;
  background-image: linear-gradient(to bottom, #fbfbfb 0%, rgba(251, 251, 251, 0) 100%); }
  .references::before {
    content: '';
    position: absolute;
    top: 0;
    left: 50%;
    width: 5px;
    height: 5px;
    transform: rotate(45deg);
    margin: -2px 0 0 -3px;
    background: #3C7D9F; }
  .references .title--2 {
    margin-bottom: 1em;
    text-align: center; }
    .references .title--2 img {
      width: 3em;
      height: auto;
      vertical-align: middle; }
  .references + .editorial {
    margin-top: 2rem; }

.moar {
  padding: 30rem 0 15rem; }
  .moar .map__wave {
    top: -1px; }
  .moar .map__background {
    top: 0;
    left: 50%;
    margin-left: -25.5rem;
    width: 106.5rem; }
  .moar .wrapper {
    position: relative;
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    color: #fff; }
    .moar .wrapper a {
      text-decoration-color: #e8efef; }
      .moar .wrapper a:hover, .moar .wrapper a:focus {
        text-decoration-color: transparent; }
    .moar .wrapper > div {
      width: 50%; }
      .moar .wrapper > div:first-child {
        padding-right: 2rem; }
      .moar .wrapper > div:last-child {
        padding-left: 2rem; }
        .moar .wrapper > div:last-child > div {
          margin-bottom: 1.5em;
          padding: 1.5em 4rem;
          background: rgba(0, 0, 0, 0.35); }
          .moar .wrapper > div:last-child > div img {
            float: right;
            position: relative;
            margin: calc(-1.5em - 2rem) -6rem 0.5rem 0.5rem;
            width: 10rem;
            height: auto;
            padding: 2rem;
            background: #fff; }
      .moar .wrapper > div .list-dots {
        margin: 2em 0 0; }
        .moar .wrapper > div .list-dots li .icon {
          color: #ffd100; }

.intro {
  overflow: hidden; }
  .intro .wrapper__inner {
    margin-bottom: 8rem; }
    .intro .wrapper__inner .intro__heading {
      width: 100%;
      display: flex;
      justify-content: space-between;
      align-items: center;
      margin-bottom: 2em; }
      .intro .wrapper__inner .intro__heading > img {
        z-index: 1;
        order: 2;
        align-self: flex-start;
        position: relative;
        width: 50%;
        margin-left: 2rem; }
      .intro .wrapper__inner .intro__heading > div {
        order: 1;
        width: 50%;
        margin-right: 2rem; }
        .intro .wrapper__inner .intro__heading > div .title--1 + .title--3 {
          margin-top: -1em; }
        .intro .wrapper__inner .intro__heading > div .title--3 {
          position: relative;
          padding-top: 1rem;
          padding-bottom: 1rem;
          display: block;
          color: #fff; }
        .intro .wrapper__inner .intro__heading h1 .title--3 {
          margin-top: 0.5em; }
          .intro .wrapper__inner .intro__heading > div .title--3::before, .intro .wrapper__inner .intro__heading > div .title--3::after {
            content: '';
            position: absolute;
            left: -60em;
            right: -60em;
            top: 0;
            bottom: 0; }
          .intro .wrapper__inner .intro__heading > div .title--3::before {
            background: #f93643; }
          .intro .wrapper__inner .intro__heading > div .title--3::after {
            background-image: linear-gradient(to left, #9801ff 0%, rgba(152, 1, 255, 0) 100%); }
          .intro .wrapper__inner .intro__heading > div .title--3 > span {
            z-index: 1;
            position: relative; }
    .intro .wrapper__inner .intro__core .chapo {
      margin-bottom: 1em;
      padding: 2rem 4rem;
      background: #e8efef; }
      .intro .wrapper__inner .intro__core .chapo + .title--2 {
        margin-top: 2em; }
    .intro .wrapper__inner .intro__core div > div {
      padding-left: 4rem;
      padding-right: 4rem; }
      .intro .wrapper__inner .intro__core div > div + .title--2 {
        margin-top: 2em;
        padding-top: 1em;
        border-top: 1px dashed #b4cbd9; }
  .intro + .editorial {
    margin-top: 0; }
    .intro + .editorial .wrapper__inner > .title--2:first-child {
      margin-top: 0; }

.reference {
  position: relative;
  margin-bottom: 8rem; }
  .reference::before {
    content: '';
    position: absolute;
    left: 0;
    right: 0;
    top: 9.5rem;
    bottom: 0;
    border-top: 1px dashed #99b3ca; }
  .reference .wrapper > div {
    position: relative;
    padding: 6rem 6rem 12rem;
    background: #fbfbfb;
    border-top: 1rem solid #e8efef;
    border-bottom: 1rem solid #e8efef; }
    .reference .wrapper > div::before, .reference .wrapper > div::after {
      content: '';
      position: absolute;
      top: 8.5rem;
      width: 5px;
      height: 5px;
      transform: rotate(45deg);
      margin: -2px 0 0 -3px;
      background: #3C7D9F; }
    .reference .wrapper > div::before {
      left: 0; }
    .reference .wrapper > div::after {
      right: -2px; }
    .reference .wrapper > div .title--2 {
      display: inline-block;
      padding: .5rem 2rem;
      background: #ffd100; }
    .reference .wrapper > div > div {
      position: relative;
      margin-top: 4rem; }
      .reference .wrapper > div > div .reference__logo {
        position: absolute;
        left: 0;
        top: 4rem;
        width: 15%;
        height: auto;
        margin: 0;
        padding: 2rem;
        background: #fff;
        border: 0.5rem solid #ffd100;
        border-radius: 50%; }
        .reference .wrapper > div > div .reference__logo img {
          display: block;
          width: 100%;
          height: auto; }
      .reference .wrapper > div > div > div {
        margin-left: 7.5%;
        padding: 4rem 6rem 4rem 10%;
        border: 1px solid #b4cbd9;
        border-top-right-radius: 2rem;
        border-bottom-left-radius: 2rem;
        background: rgba(255, 255, 255, 0.5); }

.team {
  overflow: hidden;
  position: relative; }
  .team::before {
    content: '';
    position: absolute;
    bottom: 0;
    left: 50%;
    margin-left: -20rem;
    width: 40rem;
    height: 1px;
    background: #3C7D9F; }

.editorial {
  margin-top: 8rem;
  overflow-x: hidden; }
  .editorial .title--2, .editorial .title--3 {
    margin-top: 3em;
    margin-bottom: 1.5em; }
    .editorial .title--2:first-child, .editorial .title--3:first-child {
      margin-top: 0; }
  .editorial .chapo {
    color: #3C7D9F;
    margin-bottom: 1em;
    padding-bottom: 1em;
    border-bottom: 1px dashed #ffd100; }
  .editorial blockquote {
    margin-left: 0;
    padding: 2rem 4rem;
    background: #fbfbfb;
    border-left: 1rem solid #ffd100; }
  .editorial .boost {
    position: relative;
    margin-bottom: 2em;
    padding: 4rem 17.5% 4rem 4rem;
    background: #3C7D9F;
    border-top-right-radius: 2rem;
    border-bottom-left-radius: 2rem;
    color: #fff; }
    .editorial .boost::before {
      content: '';
      position: absolute;
      left: 1rem;
      right: 1rem;
      top: 1rem;
      bottom: 1rem;
      border: 1px solid #b4cbd9;
      border-top-right-radius: 2rem;
      border-bottom-left-radius: 2rem; }
    .editorial .boost > * {
      position: relative; }
    .editorial .boost .chapo {
      color: #fff; }
    .editorial .boost a {
      text-decoration-color: #99b3ca; }
      .editorial .boost a:hover, .editorial .boost a:focus {
        text-decoration-color: transparent; }
    .editorial .boost > div {
      columns: 2;
      column-gap: 4rem; }
      .editorial .boost > div > * {
        display: inline-block; }
    .editorial .boost .list-dots li .icon {
      color: #ffd100; }
  .editorial .figure {
    z-index: 1;
    position: relative;
    float: right;
    width: 40%;
    margin: 0 0 2rem 8rem; }

.offers {
  margin-bottom: 12rem; }

.error-404 main {
  position: relative;
  display: flex;
  align-items: center;
  width: 100%;
  min-height: 100vh;
  color: #fff; }
  .error-404 main .title--1 {
    margin-bottom: .25em; }
  .error-404 main .title--3 {
    color: #ffd100; }
  .error-404 main a {
    text-decoration-color: #ffd100; }
    .error-404 main a:hover, .error-404 main a:focus {
      text-decoration-color: transparent; }
  .error-404 main .wrapper__inner {
    display: flex;
    align-items: center;
    padding-top: 2rem;
    padding-bottom: 2rem; }
    .error-404 main .wrapper__inner > div, .error-404 main .wrapper__inner > img {
      position: relative;
      width: 50%; }

.chapo {
  font-weight: bold; }

.figure {
  position: relative;
  margin: 0; }
  .figure::before {
    content: '';
    position: absolute;
    left: calc(100% - 8rem);
    top: -2rem;
    height: 12rem;
    width: 10rem;
    border: 1px solid #ffd100;
    border-top-right-radius: 2rem;
    border-bottom-left-radius: 2rem; }
  .figure img {
    width: 100%;
    border-top-right-radius: 2rem;
    border-bottom-left-radius: 2rem;
    box-shadow: -1rem 1rem 0 #ffd100;
    filter: sepia(0.5); }
  .figure figcaption {
    margin-top: 2rem;
    color: #3C7D9F;
    font-style: italic;
    font-size: 1.6rem; }
    .figure figcaption a {
      font-size: 1.6rem; }

.section-spacer {
  position: relative;
  margin-top: 16rem; }
  .section-spacer::before {
    content: '';
    position: absolute;
    left: -900em;
    right: -900em;
    top: -6rem;
    height: 30rem;
    background-image: linear-gradient(to bottom, #e8efef 0%, rgba(232, 239, 239, 0) 100%);
    opacity: .5; }
  .section-spacer ~ * {
    position: relative; }
.list-dots {
  margin-bottom: 2em;
}
.list-dots.list-dots--columns {
  columns: 2;
  column-gap: 4rem; }
  .list-dots.list-dots--columns > * {
    display: inline-block; }
.list-dots.list-dots--glossary {
      columns: 1; }

.list-dots li {
  display: block;
  position: relative;
  padding-left: 1.25em;
  margin-bottom: .75em; }
  .list-dots li:last-child {
    margin-bottom: 0; }
  .list-dots li .icon {
    position: absolute;
    left: 0;
    top: .65em;
    margin-right: .5em;
    color: #3C7D9F;
    font-size: .75em; }
  .list-dots li ul {
    margin-top: 1rem;
    margin-bottom: 2rem; }
    .list-dots li ul li {
      margin-bottom: .5em; }
      .list-dots li ul li .icon {
        top: 1.25em;
        font-size: .5em; }

.list-social li {
  display: inline-block;
  margin-right: .5rem;
  margin-bottom: 0; }
  .list-social li a {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 4rem;
    height: 4rem;
    padding: .5rem;
    border-radius: 50%;
    line-height: 1;
    background: #0b44f7;
    transition: background-color ease-in-out 400ms; }
    .list-social li a img {
      width: 70%;
      height: auto; }
    .list-social li a:hover, .list-social li a:focus {
      background: #2c3e50;
      transition-duration: 50ms; }

.list-references {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  margin-left: -2rem;
  margin-right: -2rem; }
  .list-references li {
    width: calc(16.6667% - 4rem);
    margin: 2rem;
    background: #e8efef;
    border-radius: 50%; }
    .list-references li img {
      display: block;
      max-width: 100%;
      height: auto;
      padding: 2rem; }

.list-columns {
  display: flex;
  margin: 6rem -1rem 4rem;
  padding: 0; }
  .list-columns.list-columns--wrap {
    margin-bottom: 0;
    flex-wrap: wrap;
    justify-content: center; }
    .list-columns.list-columns--wrap .list-columns__column {
      flex: inherit;
      width: calc(25% - 2rem);
      margin-bottom: 4rem; }
  .list-columns .list-dots .icon {
    color: #ffd100; }
  .list-columns .list-columns__column {
    flex: 1 1 0;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    margin: 0 1rem;
    padding: 0 2rem 6rem;
    background: #0b44f7;
    background-image: linear-gradient(to top, #9801ff 0%, rgba(152, 1, 255, 0) 100%);
    border-radius: 5rem;
    color: #fff; }
    .list-columns .list-columns__column:nth-child(3n+1) {
      background-color: #073ce1; }
    .list-columns .list-columns__column:nth-child(3n+2) {
      background-color: #0735c8; }
    .list-columns .list-columns__column div > .icon {
      position: relative;
      left: 50%;
      transform: translateX(-50%);
      margin: -2rem auto 0;
      padding: 2rem;
      background: #ffd100;
      border-radius: 50%;
      color: #0b44f7;
      font-size: 5rem;
      line-height: 1; }
      .list-columns .list-columns__column div > .icon::after {
        content: '';
        position: absolute;
        left: -1rem;
        right: -1rem;
        top: -1rem;
        bottom: -1rem;
        border: 0.2rem solid #ffd100;
        border-radius: 50%; }
    .list-columns .list-columns__column div .title--3 {
      color: #fff;
      text-align: center; }
    .list-columns .list-columns__column div p {
      margin-top: -.5em;
      padding-bottom: 1em;
      border-bottom: 1px dashed #b4cbd9;
      color: #ffd100;
      text-align: center; }
    .list-columns .list-columns__column .list-columns__footer {
      margin: 4rem -2rem -6.25rem;
      padding: 2rem 2rem 4rem;
      background: #ffd100;
      border-radius: 0 0 5rem 5rem;
      color: #2c3e50; }

.list-team {
  position: relative;
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  margin: 0 -2rem;
  padding: 4rem 0 8rem; }
  .list-team::before {
    content: '';
    position: absolute;
    top: 14.5rem;
    left: -900em;
    right: -900em;
    height: 1px;
    background: #b4cbd9; }
  .list-team > li {
    position: relative;
    width: 33.3333%;
    padding: 0 2rem 4rem; }
    .list-team > li .list-team__img {
      position: relative;
      width: 66.6667%;
      max-width: 20rem; }
      .list-team > li .list-team__img img {
        display: block;
        border-radius: 50%;
        width: 100%;
        height: 100%; }
      .list-team > li .list-team__img::before {
        content: '';
        position: absolute;
        left: -1rem;
        right: -1rem;
        top: -1rem;
        bottom: -1rem;
        border: 0.2rem solid #ffd100;
        border-radius: 50%; }
    .list-team > li .list-item__job {
      text-transform: uppercase;
      font-size: .8em;
      line-height: 1; }

.list-numbers {
  display: flex;
  justify-content: space-around;
  margin-top: -2rem;
  padding: 2rem 2rem 4rem;
  text-align: center;
  background: #fff;
  box-shadow: 0 -2rem 2rem #e8efef;
  border-top: 1rem solid #0b44f7;
  border-bottom: 1px dashed #b4cbd9; }
  .list-numbers li {
    max-width: 25rem;
    margin: 0 2rem; }
    .list-numbers li strong {
      display: block;
      color: #3C7D9F;
      text-transform: uppercase;
      font-size: 7.5rem;
      font-weight: bold; }

@media screen and (max-width: 95.625em) {
  body:before {
    background-color: aqua; }
  p, li, a, button, input, select, textarea, label, address {
    font-size: 1.8rem; }
  .title--1 {
    font-size: 5rem; }
  .title--2 {
    font-size: 3rem; }
  .title--3 {
    font-size: 1.8rem; }
  .title--4 {
    font-size: 1.5rem; }
  header .wrapper .header__logo {
    width: 7rem; }
  header .wrapper .header__content .header__nav ul a {
    font-size: 1.8rem; }
  .hero .wrapper .hero__core .hero__baseline img {
    width: 22rem; }
  .services {
    margin-top: -1.5rem; }
  .list-columns, .list-columns.list-columns--wrap {
    flex-wrap: wrap;
    justify-content: center; }
    .list-columns .list-columns__column, .list-columns.list-columns--wrap .list-columns__column {
      flex: inherit;
      max-width: 38rem;
      width: calc(50% - 2rem);
      margin-bottom: 4rem; } }

@media screen and (max-width: 81.25em) {
  body:before {
    background-color: violet; }
  .wrapper {
    padding: 0 2rem; }
  p, li, a, button, input, select, textarea, label, address {
    font-size: 1.55rem; }
  .title--1 {
    font-size: 4.5rem; }
  .title--2 {
    font-size: 2.8rem; }
  .title--3 {
    font-size: 1.55rem; }
  .title--4 {
    font-size: 1.4rem; }
  header .wrapper .header__logo {
    align-self: flex-end;
    width: 4rem;
    margin-right: 3rem; }
  header .wrapper .header__content .header__top {
    margin-left: -7rem; }
    header .wrapper .header__content .header__top a, header .wrapper .header__content .header__top li {
      font-size: 1.4rem; }
  header .wrapper .header__content .header__nav ul a {
    font-size: 1.55rem; }
    header .wrapper .header__content .header__nav ul a span {
      font-size: 1.4rem; }
  header.sticky-watch.is-pinned .wrapper .header__logo {
    width: 4rem;
    margin-right: 3rem;
    align-self: center; }
  header.sticky-watch.is-pinned .wrapper .header__content .header__top {
    margin-left: 0;
    border-color: transparent; }
  header.sticky-watch.is-pinned .wrapper .header__content .header__nav ul {
    margin-top: .25rem; }
    header.sticky-watch.is-pinned .wrapper .header__content .header__nav ul a {
      font-size: 1.55rem; }
  footer a, footer li, footer p, footer address {
    font-size: 1.4rem; }
  .hero {
    min-height: 65rem; }
    .hero .map__background {
      width: 80rem; }
    .hero .wrapper .hero__core {
      margin-top: 4rem;
      padding-left: 8.5%; }
      .hero .wrapper .hero__core .hero__baseline img {
        width: 20rem; }
  .services {
    margin-top: -1.25rem; }
  .references {
    padding: 7.5rem 0 10rem; }
    .references .title--2 {
      margin-bottom: 1.25em; }
  .moar .map__background {
    width: 92.5rem; }
  .moar .wrapper > div:last-child > div img {
    margin: calc(-1.5em - 1rem) -5rem 1rem 2rem; }
  .section-spacer {
    margin-top: 10rem; }
  .list-references {
    margin-left: -1rem;
    margin-right: -1rem; }
    .list-references li {
      width: calc(16.6667% - 2rem);
      margin: 1rem; } }

@media screen and (max-width: 63.125em) {
  body:before {
    background-color: orange; }
  html.is-freezed {
    height: 100vh !important;
    overflow: hidden !important; }
  .page {
    padding-bottom: 8rem; }
  * {
    scroll-padding-top: 2rem;
    scroll-padding-bottom: 2rem; }
  p, li, a, button, input, select, textarea, label, address {
    font-size: 1.5rem; }
  .title--1 {
    font-size: 4rem; }
  .title--2 {
    font-size: 2.6rem; }
  .title--3 {
    font-size: 1.5rem; }
  .title--4 {
    padding: .5rem 1rem .5rem 1.5rem; }
  header.sticky-watch.is-pinned .wrapper .header__content .header__top a:focus-visible,
  header .wrapper .header__burger:focus-visible {
    outline-color: #ffd100; }
  .button {
    min-width: 20rem; }
  .link--back {
    font-size: 1.4rem; }
  header {
    position: relative;
    color: #2c3e50; }
    .hasJS header {
      position: relative; }
    header.sticky-watch.is-pinned {
      background: transparent;
      box-shadow: none; }
      header.sticky-watch.is-pinned .wrapper .header__logo {
        width: 5rem;
        filter: brightness(0) invert(1); }
      header.sticky-watch.is-pinned .wrapper .header__content .header__top ul .active a {
        color: #ffd100; }
        header.sticky-watch.is-pinned .wrapper .header__content .header__top ul .active a:hover, header.sticky-watch.is-pinned .wrapper .header__content .header__top ul .active a:focus {
          text-decoration-color: #ffd100; }
      header.sticky-watch.is-pinned .wrapper .header__content .header__nav ul li a {
        font-size: 2rem; }
        header.sticky-watch.is-pinned .wrapper .header__content .header__nav ul li a span {
          max-height: none; }
    header .wrapper .header__content .header__top {
      justify-content: flex-start;
      margin-left: 0;
      border-bottom: none;
      padding-bottom: 0; }
      header .wrapper .header__content .header__top a {
        color: #fff; }
      header .wrapper .header__content .header__top ul::before {
        content: ' / ';
        margin: 0 .5em;
        color: #ffd100;
        font-size: 1.2rem; }
      header .wrapper .header__content .header__top ul:first-child::before {
        display: none; }
    header .wrapper .header__content .header__nav {
      overflow: hidden;
      position: fixed;
      left: 0;
      right: 0;
      top: 0;
      bottom: 100%;
      display: flex;
      align-items: center;
      justify-content: center; }
      header .wrapper .header__content .header__nav > ul {
        overflow: auto;
        max-height: 95vh;
        margin-left: -1rem;
        margin-right: -1rem;
        padding: 1rem 3rem 0;
        flex-direction: column; }
        header .wrapper .header__content .header__nav > ul li {
          margin-bottom: 1em; }
          header .wrapper .header__content .header__nav > ul li a {
            font-size: 2rem; }
            header .wrapper .header__content .header__nav > ul li a span {
              color: #3C7D9F; }
            header .wrapper .header__content .header__nav > ul li a strong {
              color: #2c3e50; }
      header .wrapper .header__content .header__nav.is-active {
        bottom: 0;
        background: #fff;
        animation: fadeIn ease-in-out 150ms forwards; }
    header .wrapper .header__burger {
      display: block;
      z-index: 1;
      position: fixed;
      right: 1rem;
      top: 1.75rem;
      width: 4.4rem;
      height: 4.4rem;
      background: #0b44f7;
      border: 1px solid #ffd100;
      border-radius: 50%;
      cursor: pointer;
      transition: transform 400ms ease-in-out, box-shadow 400ms ease-in-out; }
      header .wrapper .header__burger span {
        display: block;
        position: absolute;
        border-top: .2rem solid #fff;
        width: 60%;
        left: 20%;
        opacity: 1;
        transition: all 200ms ease-in-out; }
        header .wrapper .header__burger span:nth-child(1) {
          top: 1.25rem; }
        header .wrapper .header__burger span:nth-child(2), header .wrapper .header__burger span:nth-child(3) {
          top: 2rem; }
        header .wrapper .header__burger span:nth-child(4) {
          top: 2.75rem; }
      header .wrapper .header__burger.is-active span:nth-child(1), header .wrapper .header__burger.is-active span:nth-child(4) {
        top: .75rem;
        width: 0;
        left: 50%; }
      header .wrapper .header__burger.is-active span:nth-child(2) {
        transform: rotate(45deg); }
      header .wrapper .header__burger.is-active span:nth-child(3) {
        transform: rotate(-45deg); }
      header .wrapper .header__burger:hover, header .wrapper .header__burger:focus {
        box-shadow: 0 0 1rem rgba(0, 0, 0, 0.25);
        transition-duration: 50ms; }
        header .wrapper .header__burger:hover span, header .wrapper .header__burger:focus span {
          border-color: #ffd100; }
      header .wrapper .header__burger:focus:hover span {
        border-color: #fff; }
    header + main .hero {
      margin-top: -7.5rem; }
  footer .wrapper > div:last-child ul {
    padding: 2rem 2rem 1rem; }
    footer .wrapper > div:last-child ul li img {
      max-width: 100%; }
  .map main {
    margin-top: 0; }
  .hero {
    min-height: 0;
    height: 50rem; }
    .hero .map__background {
      margin-left: -7.5rem; }
    .hero .wrapper .hero__core {
      padding-left: 7.5%;
      max-width: 35rem; }
      .hero .wrapper .hero__core .hero__baseline {
        padding-left: 5rem;
        margin-left: -5rem; }
        .hero .wrapper .hero__core .hero__baseline img {
          width: 17.5rem; }
  .services {
    margin-top: -.75rem; }
    .services .wrapper > div {
      padding-left: 4rem;
      padding-right: 4rem; }
  .references {
    padding: 6rem 0; }
    .references .title--2 {
      margin-bottom: 0; }
  .moar {
    padding: 22.5rem 0 10rem; }
    .moar .wrapper > div:last-child > div img {
      width: 7.5rem; }
  .intro .wrapper__inner .intro__core div .list-dots {
    column-gap: 2rem; }
  .reference::before {
    top: 7rem; }
  .reference .wrapper > div {
    padding: 4rem 4rem 8rem; }
    .reference .wrapper > div::before, .reference .wrapper > div::after {
      top: 6rem; }
    .reference .wrapper > div > div .reference__logo {
      padding: 1rem; }
    .reference .wrapper > div > div .list-dots {
      column-gap: 2rem; }
  .editorial .figure {
    margin-left: 4rem; }
  .section-spacer {
    margin-top: 8rem; }
  .section-spacer::before {
    top: -4rem; }
  .list-references {
    flex-wrap: wrap; }
    .list-references li {
      min-width: 12.5rem; }
      .list-references li img {
        padding: 1rem; }
  .figure::before {
    left: calc(100% - 9rem);
    top: -1rem; }
  .figure figcaption, .figure figcaption a {
    font-size: 1.4rem; } }

@media screen and (max-width: 45.625em) {
  body:before {
    background-color: orangered; }
  p, li, a, button, input, select, textarea, label, address {
    font-size: 1.4rem; }
  .title--1 {
    font-size: 3.6rem; }
  .title--2 {
    font-size: 2.4rem; }
  .title--3 {
    font-size: 1.4rem; }
  .title--4 {
    font-size: 1.4rem; }
  header.sticky-watch.is-pinned .wrapper .header__logo {
    margin-right: 2rem; }
  header .wrapper .header__logo {
    flex-shrink: 0;
    align-self: center;
    margin-right: 2rem; }
  header .wrapper .header__content {
    padding-right: 4rem; }
    header .wrapper .header__content .header__top {
      justify-content: flex-end;
      flex-wrap: wrap; }
      header .wrapper .header__content .header__top ul::before {
        display: none; }
      header .wrapper .header__content .header__top ul li {
        margin-right: 1rem; }
        header .wrapper .header__content .header__top ul li::before {
          display: none; }
        header .wrapper .header__content .header__top ul li:first-child {
          display: none; }
      header .wrapper .header__content .header__top ul:last-child {
        display: none; }
    header .wrapper .header__content .header__nav ul .header__burger-contacts {
      display: block;
      width: 100%;
      margin-top: 1rem;
      padding-top: 2rem;
      border-top: 1px dashed #b4cbd9; }
      header .wrapper .header__content .header__nav ul .header__burger-contacts ul {
        display: block; }
        header .wrapper .header__content .header__nav ul .header__burger-contacts ul li {
          display: block; }
          header .wrapper .header__content .header__nav ul .header__burger-contacts ul li a {
            color: #2c3e50;
            text-transform: none;
            text-decoration: underline;
            text-decoration-color: #3C7D9F;
            font-weight: normal; }
            header .wrapper .header__content .header__nav ul .header__burger-contacts ul li a:hover, header .wrapper .header__content .header__nav ul .header__burger-contacts ul li a:focus {
              text-decoration-color: transparent; }
  header + main .hero {
    margin-top: -10rem; }
  footer p + ul {
    margin-top: 1em; }
  footer .wrapper {
    flex-wrap: wrap; }
    footer .wrapper div:first-child {
      width: 10%; }
    footer .wrapper div:nth-child(2) {
      width: 90%;
      margin-bottom: 2rem;
      padding-right: 0; }
      footer .wrapper div:nth-child(2) ul li {
        display: inline-block; }
        footer .wrapper div:nth-child(2) ul li::before {
          content: ' / ';
          margin: 0 .5em;
          color: #3C7D9F; }
        footer .wrapper div:nth-child(2) ul li:first-child::before {
          display: none; }
    footer .wrapper div:nth-child(3) {
      width: 23.3333%;
      margin-left: 10%;
      padding: 0; }
    footer .wrapper div:last-child {
      width: 66.6667%; }
      footer .wrapper div:last-child ul li img {
        max-height: 4rem; }
  .cookies .wrapper img {
    align-self: flex-start; }
  .hero .map__background {
    margin-left: 0; }
  .hero .wrapper .hero__core {
    width: 100%;
    max-width: 100%; }
    .hero .wrapper .hero__core .hero__baseline {
      max-width: 40rem;
      padding-right: 10rem;
      margin-right: 0;
      margin-left: -3.5rem;
      padding-left: 3.5rem; }
      .hero .wrapper .hero__core .hero__baseline .title--2 {
        font-size: 1.8rem; }
      .hero .wrapper .hero__core .hero__baseline img {
        width: 10rem;
        left: inherit;
        right: 0;
        margin-left: 0; }
    .hero .wrapper .hero__core ul {
      width: 50%; }
  .services {
    margin-top: 0; }
    .services + .services {
      border-top: none;
      padding-bottom: 4rem; }
      .services + .services .wrapper > div:first-child {
        border-top: 1px dashed #3C7D9F; }
    .services .wrapper {
      display: block; }
      .services .wrapper > div {
        width: 100%;
        max-width: 50rem;
        margin: 0 auto;
        padding: 2rem 0 4rem;
        border-top: 1px dashed #3C7D9F; }
        .services .wrapper > div:first-child {
          border: none; }
        .services .wrapper > div img {
          max-width: 32rem; }
        .services .wrapper > div .title--2 + .title--3 {
          margin: -.5rem 0 2rem; }
  .references {
    border-top: 1px solid #b4cbd9; }
    .references .title--2 {
      display: flex;
      justify-content: center;
      align-items: center;
      max-width: 30rem;
      margin: 0 auto 1em; }
      .references .title--2 span {
        margin-left: 2rem;
        text-align: left; }
  .moar {
    padding-top: 25rem; }
    .moar .map__background {
      margin: -5rem 0 0 -35rem; }
    .moar .wrapper {
      display: block; }
      .moar .wrapper > div {
        width: 100%; }
        .moar .wrapper > div:first-child {
          padding-right: 0; }
        .moar .wrapper > div:last-child {
          margin-top: 6rem;
          padding-left: 0; }
          .moar .wrapper > div:last-child > div {
            padding: 2.5rem 2.5rem; }
            .moar .wrapper > div:last-child > div img {
              width: 6rem;
              margin: -3rem -3rem 1rem 2rem;
              padding: 1rem; }
  .intro .wrapper__inner .intro__heading > img {
    width: 40%; }
  .intro .wrapper__inner .intro__heading > div {
    width: 60%; }
    .intro .wrapper__inner .intro__heading > div .title--1 + .title--3 {
      margin-top: -.5em; }
  .intro .wrapper__inner .intro__core .chapo {
    padding: 1rem 2rem; }
  .intro .wrapper__inner .intro__core div > div {
    padding: 0 2rem; }
  .reference .wrapper > div {
    padding: 2rem 2rem 4rem 2rem; }
    .reference .wrapper > div > div > div {
      padding: 2rem 2rem 2rem 10%; }
    .reference .wrapper > div > div .reference__logo {
      top: 2rem; }
  .editorial .boost {
    padding-right: 4rem; }
    .editorial .boost > div {
      columns: 1; }
  .offers {
    margin-bottom: 4rem; }
  .intro .wrapper__inner {
    margin-bottom: 4rem; }
  .list-dots.list-dots--columns {
    columns: 1; }
  .list-references {
    margin-left: -.5rem;
    margin-right: -.5rem; }
    .list-references li {
      margin: .5rem;
      min-width: 10rem; }
      .list-references li img {
        padding: .5rem; }
  .list-columns, .list-columns.list-columns--wrap {
    margin-bottom: 0; }
    .list-columns .list-columns__column, .list-columns.list-columns--wrap .list-columns__column {
      max-width: 50rem;
      width: 100%; }
  .list-team > li {
    width: 50%; }
  .list-numbers {
    flex-wrap: wrap;
    margin-top: -1rem; }
    .list-numbers li {
      max-width: 20rem;
      margin: 0 1rem 2rem; }
      .list-numbers li strong {
        font-size: 5rem;
        line-height: 1; } }

@media screen and (max-width: 31.25em) {
  body:before {
    background-color: yellow; }
  .title--1 {
    font-size: 3rem;
    hyphens: auto; }
  footer p + ul {
    margin-top: .5em; }
  footer .wrapper div:first-child {
    display: none; }
  footer .wrapper div:nth-child(2) {
    width: 100%; }
  footer .wrapper div:nth-child(3) {
    width: 100%;
    margin-left: 0; }
    footer .wrapper div:nth-child(3) ul {
      margin-bottom: 2rem; }
      footer .wrapper div:nth-child(3) ul li {
        display: inline-block; }
        footer .wrapper div:nth-child(3) ul li::before {
          content: ' / ';
          margin: 0 .5em;
          color: #3C7D9F; }
        footer .wrapper div:nth-child(3) ul li:first-child::before {
          display: none; }
  footer .wrapper div:last-child {
    width: 100%;
    padding-left: 0; }
  .intro .wrapper__inner {
    margin-bottom: 6rem; }
    .intro .wrapper__inner .intro__heading {
      flex-direction: column; }
      .intro .wrapper__inner .intro__heading > img {
        order: 1;
        width: 20rem;
        margin: 0 auto; }
      .intro .wrapper__inner .intro__heading > div {
        order: 2;
        width: 100%; }
        .intro .wrapper__inner .intro__heading > div .title--1, .intro .wrapper__inner .intro__heading > div .title--3 {
          text-align: center; }
  .reference .wrapper > div .title--2 {
    margin-left: -2rem;
    margin-right: -2rem; }
  .reference .wrapper > div > div {
    margin-top: 10rem;
    border-top: 1px dashed #ffd100; }
    .reference .wrapper > div > div .reference__logo {
      position: relative;
      top: 0;
      width: 10rem;
      margin-top: -8rem; }
    .reference .wrapper > div > div > div {
      margin-left: 0;
      padding: 0;
      border: none;
      background: transparent; }
  .editorial blockquote {
    margin-right: 0;
    padding: 2rem; }
  .editorial .figure {
    float: none;
    width: 100%;
    margin: 0 0 1em;
    padding-bottom: 1em;
    border-bottom: 1px solid #b4cbd9; }
  .editorial .boost {
    padding: 3rem; }
  .list-social {
    margin-bottom: 0; }
    .list-social li::before {
      display: none; }
  .list-team {
    margin-top: -4rem; }
    .list-team::before {
      top: 12.5rem; }
    .list-team > li {
      width: 100%;
      padding-top: 2rem;
      padding-bottom: 2rem;
      border-top: 1px solid #e8efef;
      text-align: center; }
      .list-team > li:first-child {
        border-top: none; }
      .list-team > li:nth-child(2) {
        background-image: linear-gradient(to bottom, #fbfbfb 0%, rgba(251, 251, 251, 0) 100%); }
      .list-team > li .list-team__img {
        margin: 0 auto;
        max-width: 12.5rem; }
  .list-numbers li {
    width: 100%;
    max-width: 100%;
    margin: 0 0 2rem; } }

@media (orientation: portrait) {
  .error-404 main .wrapper__inner {
    flex-direction: column; }
    .error-404 main .wrapper__inner > div, .error-404 main .wrapper__inner > img {
      min-width: 28rem; } }

_:-ms-lang(x), header .wrapper .header__logo {
  background: url(../../static/img/generic/lg_ideance-msie11.svg) no-repeat center/cover; }

_:-ms-lang(x), header .wrapper .header__logo img {
  visibility: hidden; }

_:-ms-lang(x), .services .wrapper > div p {
  width: inherit; }

_:-ms-lang(x), .moar .wrapper > div:last-child > div img {
  height: 10rem; }

@media print {
  html, body {
    position: static;
    float: none;
    width: auto;
    height: auto;
    min-height: auto;
    margin: 0;
    padding: 0;
    background-color: #fff;
    background-image: none;
    color: #000; }
  body {
    padding: .5em; }
  a {
    text-decoration: underline; }
  a[href]::after {
    content: " (" attr(href) ")"; }
  a[href='#'], a[href="javascript:"] {
    content: ''; } }

/*# sourceMappingURL=base.css.map */