html {
    height: 100%;
    height: -webkit-fill-available;
    background-color: #000!important
}

@media screen and (min-width: 1800px) {
    html {
        font-size:20px!important
    }
}

@media screen and (min-width: 2400px) {
    html {
        font-size:26px!important
    }
}

body {
    min-height: 100vh;
    min-height: -webkit-fill-available;
    color: #fff;
    overflow-x: hidden
}

body.is-loading {
    cursor: progress
}

.o-scroll-container {
    overflow: hidden
}

::selection {
    background-color: #92e821;
    color: #fff
}

@font-face {
    font-family: Fracktif;
    src: url(/dist/assets/fonts/9005951ce6ba8f72f4a9b41c2641c961.woff2) format("woff2"),url(/dist/assets/fonts/58ef046e7768fd52d2b36b5a3b4ac70e.woff) format("woff"),url(/dist/assets/fonts/f9fefcfe26a01223c70433e0aa96afa4.ttf) format("truetype");
    font-weight: 400;
    font-style: normal
}

@font-face {
    font-family: Fracktif;
    src: url(/dist/assets/fonts/3c68a1972d40d872721ae756bc0af646.woff2) format("woff2"),url(/dist/assets/fonts/fdc605aefc343f2390efb31ff57a18ad.woff) format("woff"),url(/dist/assets/fonts/9f8dee474045f1dfd5a6ee04d0e286e3.ttf) format("truetype");
    font-weight: 500;
    font-style: normal
}

abbr,address,article,aside,audio,b,blockquote,body,body div,caption,cite,code,dd,del,dfn,dl,dt,em,fieldset,figure,footer,form,h1,h2,h3,h4,h5,h6,header,hgroup,html,i,iframe,img,ins,kbd,label,legend,li,mark,menu,nav,object,ol,p,pre,q,samp,section,small,span,strong,sub,sup,table,tbody,td,tfoot,th,thead,time,tr,ul,var,video {
    margin: 0;
    padding: 0;
    border: 0;
    outline: 0;
    font-size: 100%;
    vertical-align: baseline;
    background: transparent
}

article,aside,figure,footer,header,hgroup,nav,section {
    display: block
}

embed,img,object {
    max-width: 100%
}

ul {
    list-style: none
}

blockquote,q {
    quotes: none
}

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

a {
    margin: 0;
    padding: 0;
    font-size: 100%;
    vertical-align: baseline;
    background: transparent;
    text-decoration: none
}

del {
    text-decoration: line-through
}

abbr[title],dfn[title] {
    border-bottom: 1px dotted #000;
    cursor: help
}

th {
    font-weight: 700;
    vertical-align: bottom
}

td {
    font-weight: 400;
    vertical-align: top
}

hr {
    display: block;
    height: 1px;
    border: 0;
    border-top: 1px solid #ccc;
    margin: 1em 0;
    padding: 0
}

input,select {
    vertical-align: middle
}

pre {
    white-space: pre;
    white-space: pre-wrap;
    white-space: pre-line;
    word-wrap: break-word
}

input[type=radio] {
    vertical-align: text-bottom
}

input[type=checkbox] {
    vertical-align: bottom;
    *vertical-align: baseline
}

input,select,textarea {
    font: 99% sans-serif
}

table {
    border-collapse: collapse;
    border-spacing: 0;
    font-size: inherit
}

small {
    font-size: 85%
}

strong,th {
    font-weight: 500
}

td,td img {
    vertical-align: top
}

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

sup {
    top: -.5em
}

sub {
    bottom: -.25em
}

code,kbd,pre,samp {
    font-family: monospace,sans-serif
}

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

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

button,input,select,textarea {
    margin: 0
}

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

.clearfix:after,.clearfix:before {
    content: "\0020";
    display: block;
    height: 0;
    overflow: hidden
}

.clearfix:after {
    clear: both
}

.clearfix {
    zoom:1}

body {
    font: 16px Helmet,Freesans,sans-serif
}

a,button {
    cursor: pointer;
    font-size: 100%
}

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

* {
    box-sizing: border-box
}

.u-none {
    display: none
}

.sr-only {
    position: absolute;
    overflow: hidden;
    clip: rect(0 0 0 0);
    margin: 0;
    padding: 0;
    width: 1px;
    height: 1px;
    border: 0
}

.o-scroll-container {
    display: block;
    width: 100%;
    z-index: 1
}

.desktop .o-scroll-container {
    position: fixed;
    top: 0;
    left: 0
}

body.desktop {
    overscroll-behavior-y: none
}

body.is-scroll-locked {
    overflow-y: hidden
}

body[data-page=home] {
    position: fixed;
    overflow-y: hidden
}

body[data-page=home] .o-scroll-container {
    transform: translateZ(0);
    transition: transform 1s cubic-bezier(.215,.61,.355,1)
}

@keyframes gradientKeyframe {
    0% {
        background-position: 0 50%
    }

    50% {
        background-position: 100% 50%
    }

    to {
        background-position: 0 50%
    }
}

@keyframes gradientKeyframeV {
    0% {
        background-position: 50% 0
    }

    50% {
        background-position: 50% 100%
    }

    to {
        background-position: 50% 0
    }
}

.about__advantages-item a,.o-content-blocks__item a,.o-intro__text a,.o-link,.o-wysiwyg a {
    position: relative;
    display: inline-block;
    color: #000
}

.about__advantages-item a>span,.o-content-blocks__item a>span,.o-intro__text a>span,.o-link>span,.o-wysiwyg a>span {
    position: relative;
    background-image: linear-gradient(transparent,#92e821 0);
    background-repeat: no-repeat;
    background-size: 0 100%;
    text-decoration: underline;
    color: inherit;
    transition: color .3s cubic-bezier(.645,.045,.355,1),background-size .3s cubic-bezier(.645,.045,.355,1);
    pointer-events: none
}

.about__advantages-item a:focus>span,.about__advantages-item a:hover>span,.o-content-blocks__item a:focus>span,.o-content-blocks__item a:hover>span,.o-intro__text a:focus>span,.o-intro__text a:hover>span,.o-link:focus>span,.o-link:hover>span,.o-wysiwyg a:focus>span,.o-wysiwyg a:hover>span {
    color: #000;
    background-size: 100% 100%;
    transition: color .2s cubic-bezier(.645,.045,.355,1) .1s,background-size .3s cubic-bezier(.645,.045,.355,1)
}

.o-blog-item {
    display: flex;
    position: relative;
    flex-flow: row nowrap;
    padding: 40px 80px;
    border-top: 1px solid hsla(0,0%,100%,.15);
    color: #fff;
    transition: color .3s cubic-bezier(.215,.61,.355,1)
}

@media (max-width: 480px) {
    .o-blog-item {
        padding:40px 20px;
        flex-direction: column
    }
}

.o-blog-item:before {
    content: "";
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
    width: 100%;
    height: 100%;
    position: absolute;
    background-color: #fff;
    z-index: -1;
    transform: scaleX(0) translateZ(0);
    transform-origin: 100% 50%;
    transition: transform .4s cubic-bezier(.215,.61,.355,1)
}

.o-blog-item:last-child {
    border-bottom: 1px solid hsla(0,0%,100%,.15)
}

.no-touchevents .o-blog-item:focus,.no-touchevents .o-blog-item:hover {
    color: #000;
    transition-delay: .3s
}

.no-touchevents .o-blog-item:focus:before,.no-touchevents .o-blog-item:hover:before {
    transform: scaleX(1) translateZ(0);
    transform-origin: 0 50%;
    transition-delay: .3s
}

.no-touchevents .o-blog-item:focus .o-icon,.no-touchevents .o-blog-item:hover .o-icon {
    opacity: 1;
    transition-delay: .3s
}

.no-touchevents .o-blog-item:focus .o-blog-item__details i,.no-touchevents .o-blog-item:hover .o-blog-item__details i {
    background-color: #000;
    transition-delay: .3s
}

.o-blog-item .o-icon {
    position: absolute;
    left: 80px;
    bottom: 40px;
    pointer-events: none;
    opacity: 0;
    transition: opacity .15s cubic-bezier(.215,.61,.355,1)
}

@media (min-width: 481px) {
    .o-blog-item .o-icon {
        border:none;
        box-shadow: none;
        background-color: #92e821
    }

    .o-blog-item .o-icon svg {
        fill: #000
    }
}

@media (max-width: 480px) {
    .o-blog-item .o-icon {
        opacity:1;
        left: auto;
        right: 20px;
        bottom: 20px
    }
}

.o-blog-item__category {
    width: 25%;
    padding-right: 80px;
    text-transform: uppercase;
    flex-shrink: 0;
    pointer-events: none
}

@media (max-width: 480px) {
    .o-blog-item__category {
        width:100%;
        margin-bottom: 20px
    }
}

.o-blog-item__headline,.o-blog-item__infos {
    pointer-events: none
}

.o-blog-item__details {
    margin-top: 40px;
    display: flex;
    flex-flow: row nowrap;
    align-items: center;
    pointer-events: none
}

.o-blog-item__details i {
    display: inline-block;
    width: 4px;
    height: 4px;
    margin: 0 20px;
    background-color: #fff;
    transition: background-color .3s cubic-bezier(.215,.61,.355,1)
}

@media (max-width: 480px) {
    .o-blog-item__details i {
        margin:0 10px
    }
}

.o-case-study-item {
    display: flex;
    position: relative;
    flex-flow: column nowrap;
    padding: 80px;
    width: 50%;
    border-bottom: 1px solid hsla(0,0%,100%,.15);
    color: #fff;
    transition: color .3s cubic-bezier(.215,.61,.355,1)
}

@media (max-width: 810px) {
    .o-case-study-item {
        width:100%;
        padding: 40px
    }
}

.o-case-study-item:nth-child(odd) {
    border-right: 1px solid hsla(0,0%,100%,.15)
}

.o-case-study-item:before {
    content: "";
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
    width: 100%;
    height: 100%;
    position: absolute;
    background-color: #fff;
    z-index: -1;
    transform: scaleX(0) translateZ(0);
    transform-origin: 100% 50%;
    transition: transform .4s cubic-bezier(.215,.61,.355,1)
}

.no-touchevents .o-case-study-item:focus,.no-touchevents .o-case-study-item:hover {
    color: #000;
    transition-delay: .15s
}

.no-touchevents .o-case-study-item:focus:before,.no-touchevents .o-case-study-item:hover:before {
    transform: scaleX(1) translateZ(0);
    transform-origin: 0 50%;
    transition-delay: .15s
}

.no-touchevents .o-case-study-item:focus .o-icon,.no-touchevents .o-case-study-item:hover .o-icon {
    border: 1px solid #92e821;
    background-color: #92e821;
    transition-delay: .15s
}

.no-touchevents .o-case-study-item:focus .o-icon svg,.no-touchevents .o-case-study-item:hover .o-icon svg {
    fill: #000;
    transition-delay: .15s
}

.no-touchevents .o-case-study-item:focus .o-blog-item__details i,.no-touchevents .o-case-study-item:hover .o-blog-item__details i {
    background-color: #000;
    transition-delay: .15s
}

.o-case-study-item__headline {
    padding-bottom: 80px;
    pointer-events: none
}

@media (max-width: 810px) {
    .o-case-study-item__headline {
        padding-bottom:40px
    }
}

.o-case-study-item .o-icon {
    position: absolute;
    left: 80px;
    bottom: 80px;
    pointer-events: none;
    transition: background-color .3s cubic-bezier(.215,.61,.355,1),border .3s cubic-bezier(.215,.61,.355,1)
}

@media (max-width: 810px) {
    .o-case-study-item .o-icon {
        position:relative;
        top: 0;
        left: 0
    }
}

.o-case-study-item .o-icon svg {
    transition: fill .15s cubic-bezier(.215,.61,.355,1)
}

.o-case-study-item__thumbnail {
    position: relative;
    overflow: hidden;
    width: 100%;
    pointer-events: none
}

.o-case-study-item__thumbnail:after {
    content: "";
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
    width: 100%;
    height: 100%;
    position: absolute;
    background-image: linear-gradient(-270deg,#00edd1,#c0f);
    opacity: .15
}

.o-case-study-item__thumbnail:before {
    content: "";
    display: block;
    padding-top: 75%
}

.o-case-study-item__thumbnail img {
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
    width: 100%;
    height: 100%;
    position: absolute
}

.o-case-study-item__category {
    text-transform: uppercase;
    margin: 20px 0;
    pointer-events: none
}

.o-content-text {
    padding: 20px 200px 80px;
    background-color: #fff;
    margin-top: -2px;
    color: #000
}

@media (max-width: 1280px) {
    .o-content-text {
        padding:20px 120px 80px
    }
}

@media (max-width: 810px) {
    .o-content-text {
        padding:20px 80px 80px
    }
}

@media (max-width: 480px) {
    .o-content-text {
        padding:20px 20px 80px
    }
}

.o-content-text h2 {
    margin-bottom: 40px
}

.o-content-text h3 {
    text-transform: uppercase;
    font-weight: 400;
    margin-bottom: 20px
}

.o-content-text ul {
    margin-top: 20px
}

.o-content-text ul li:not(:last-child) {
    padding-bottom: 20px
}

.o-content-text+.o-content-quote {
    margin-top: -80px
}

@media (max-width: 480px) {
    .o-content-text+.o-content-quote {
        margin-top:-40px
    }
}

.o-content-text+.o-content-text {
    margin-top: -40px
}

.o-content-quote {
    position: relative;
    display: flex;
    flex-flow: column nowrap;
    background-color: #fff;
    margin-top: -2px;
    color: #000
}

.o-content-quote:before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 4px;
    height: 100%;
    background-image: linear-gradient(0,#00edd1,#c7ff00)
}

.o-content-quote--transparent {
    background-color: transparent;
    color: #fff;
    margin-top: 0!important
}

.o-content-quote--transparent .o-content-quote__inner {
    padding: 80px 160px
}

@media (max-width: 1280px) {
    .o-content-quote--transparent .o-content-quote__inner {
        padding:80px 120px
    }
}

@media (max-width: 810px) {
    .o-content-quote--transparent .o-content-quote__inner {
        padding:80px 20px
    }
}

.o-content-quote--transparent .o-content-quote__divider {
    background-color: #fff
}

.o-content-quote__inner {
    padding: 0 160px
}

@media (max-width: 810px) {
    .o-content-quote__inner {
        padding:0 40px
    }
}

.o-content-quote__divider {
    display: block;
    width: 20px;
    height: 1px;
    margin: 20px 0;
    background-color: #000
}

.o-content-quote__author {
    text-transform: uppercase
}

.o-content-quote+.o-content-text {
    padding-top: 120px
}

@media (max-width: 810px) {
    .o-content-quote+.o-content-text {
        padding-top:80px
    }
}

.o-content-image {
    position: relative;
    width: 100%;
    overflow: hidden;
    padding-bottom: 120px;
    background-color: #fff;
    margin-top: -2px
}

@media (max-width: 480px) {
    .o-content-image {
        padding-bottom:80px
    }
}

.o-content-image__img {
    padding: 0 200px;
    text-align: center
}

@media (max-width: 1280px) {
    .o-content-image__img {
        padding:0 120px
    }
}

@media (max-width: 810px) {
    .o-content-image__img {
        padding:0 80px
    }
}

@media (max-width: 480px) {
    .o-content-image__img {
        padding:0 20px
    }
}

.o-content-image--full .o-content-image__img {
    padding: 0;
    --ratio: 56.25%
}

.o-content-image--full .o-content-image__img:before {
    content: "";
    display: block;
    padding-top: 56.25%;
    padding-top: var(--ratio)
}

.o-content-image--full img {
    display: block;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
    width: 100%;
    height: 100%;
    position: absolute
}

.o-content-double-images {
    width: 100%;
    padding-bottom: 120px;
    background-color: #fff;
    margin-top: -2px;
    display: flex;
    flex-flow: row wrap;
    justify-content: space-between;
    align-items: flex-start
}

@media (max-width: 480px) {
    .o-content-double-images {
        flex-direction:column;
        padding-bottom: 80px
    }
}

.o-content-double-images__img {
    overflow: hidden;
    position: relative;
    width: 45%;
    width: calc(50% - 20px);
    --ratio: 100%
}

.o-content-double-images__img:after {
    content: "";
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
    width: 100%;
    height: 100%;
    position: absolute;
    background-image: linear-gradient(-270deg,#00edd1,#c0f);
    opacity: .15
}

@media (max-width: 480px) {
    .o-content-double-images__img {
        width:100%
    }
}

.o-content-double-images__img:before {
    content: "";
    display: block;
    padding-top: 100%;
    padding-top: var(--ratio)
}

.o-content-double-images__img:last-child {
    margin-top: 160px
}

@media (max-width: 480px) {
    .o-content-double-images__img:last-child {
        margin-top:20px
    }
}

.o-content-double-images img {
    display: block;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
    width: 100%;
    height: 100%;
    position: absolute
}

.o-content-newsletter {
    position: relative;
    padding: 80px 0 80px 80px
}

@media (max-width: 480px) {
    .o-content-newsletter {
        padding:40px 20px
    }
}

.o-content-newsletter:before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 4px;
    height: 100%;
    background-image: linear-gradient(0,#00edd1,#c7ff00)
}

.o-content-newsletter p {
    width: 70%;
    margin-bottom: 40px
}

@media (max-width: 480px) {
    .o-content-newsletter p {
        width:100%
    }
}

.o-content-newsletter form {
    display: flex;
    flex-flow: row nowrap;
    align-items: flex-start
}

@media (max-width: 480px) {
    .o-content-newsletter form {
        flex-direction:column
    }
}

.o-content-newsletter .hs_email {
    width: 40%
}

@media (max-width: 810px) {
    .o-content-newsletter .hs_email {
        width:50%
    }

    .o-content-newsletter .hs_email input {
        width: 100%!important
    }
}

@media (max-width: 480px) {
    .o-content-newsletter .hs_email {
        width:100%
    }
}

.o-content-newsletter .hs_submit {
    padding-left: 40px
}

@media (max-width: 480px) {
    .o-content-newsletter .hs_submit {
        padding-left:0
    }
}

.o-content-newsletter+div {
    padding-top: 120px
}

@media (max-width: 480px) {
    .o-content-newsletter+div {
        padding-top:80px
    }
}

.o-content-embed {
    padding: 0 200px 120px;
    background-color: #fff;
    margin-top: -2px
}

@media (max-width: 810px) {
    .o-content-embed {
        padding:0 80px 120px
    }
}

@media (max-width: 480px) {
    .o-content-embed {
        padding:0 20px 80px
    }
}

.o-content-embed__iframe {
    position: relative;
    overflow: hidden;
    width: 100%
}

.o-content-embed__iframe:before {
    content: "";
    display: block;
    padding-top: 56.25%
}

.o-content-embed__iframe iframe {
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
    width: 100%;
    height: 100%;
    position: absolute
}

.o-content-blocks {
    display: flex;
    flex-flow: row wrap;
    padding: 0 200px 40px;
    background-color: #fff;
    margin-top: -2px;
    color: #000
}

@media (max-width: 810px) {
    .o-content-blocks {
        padding:0 20px 40px
    }
}

.o-content-blocks--alternative {
    padding: 0 120px 40px
}

@media (max-width: 810px) {
    .o-content-blocks--alternative {
        padding:0 20px 40px
    }
}

.o-content-blocks--alternative .o-content-blocks__item:before {
    display: none
}

@media (max-width: 810px) {
    .o-content-blocks--alternative .o-content-blocks__item {
        padding-bottom:40px
    }
}

.o-content-blocks--alternative .o-content-blocks__item p {
    font-weight: 400
}

.o-content-blocks--alternative h4 {
    color: #00edd1
}

.o-content-blocks__item {
    position: relative;
    width: 50%;
    flex-shrink: 0;
    padding-bottom: 60px
}

@media (max-width: 810px) {
    .o-content-blocks__item {
        width:100%;
        padding-top: 10px
    }
}

.o-content-blocks__item:nth-child(odd) {
    padding-right: 40px
}

@media (max-width: 810px) {
    .o-content-blocks__item:nth-child(odd) {
        padding-right:0
    }
}

.o-content-blocks__item:nth-child(2n) {
    padding-left: 40px
}

@media (max-width: 810px) {
    .o-content-blocks__item:nth-child(2n) {
        padding-left:0
    }
}

.o-content-blocks__item:nth-child(2n):before {
    left: 20px
}

@media (max-width: 810px) {
    .o-content-blocks__item:nth-child(2n):before {
        left:0
    }
}

.o-content-blocks__item:before {
    content: "";
    position: absolute;
    top: .75em;
    left: -20px;
    width: 8px;
    height: 8px;
    margin-top: -4px;
    background-color: #92e821
}

@media (max-width: 810px) {
    .o-content-blocks__item:before {
        top:-10px;
        margin-top: 0
    }
}

.o-content-blocks__item strong {
    color: #92e821;
    font-weight: 500
}

.o-content-blocks__item i {
    font-style: italic
}

.blog-single .o-details,.case-study-single .o-details {
    position: relative;
    display: none;
    flex-flow: row wrap;
    justify-content: space-between;
    background-color: #fff;
    color: #000;
    padding: 20px 80px
}

@media (max-width: 1024px) {
    .blog-single .o-details,.case-study-single .o-details {
        display:flex
    }
}

@media (max-width: 480px) {
    .blog-single .o-details,.case-study-single .o-details {
        padding:20px
    }
}

.blog-single .o-details:after,.blog-single .o-details:before,.case-study-single .o-details:after,.case-study-single .o-details:before {
    content: "";
    position: absolute;
    left: 80px;
    right: 80px;
    height: 1px;
    background-color: #000
}

@media (max-width: 480px) {
    .blog-single .o-details:after,.blog-single .o-details:before,.case-study-single .o-details:after,.case-study-single .o-details:before {
        left:20px;
        right: 20px
    }
}

.blog-single .o-details:before,.case-study-single .o-details:before {
    top: 0
}

.blog-single .o-details:after,.case-study-single .o-details:after {
    bottom: 40px
}

.blog-single .o-details__item,.case-study-single .o-details__item {
    width: 45%;
    margin-bottom: 40px
}

@media (max-width: 480px) {
    .about__approach-infos .blog-single .o-details__item p,.about__approach-infos .case-study-single .o-details__item p,.blog-single .o-details__item .about__approach-infos p,.blog-single .o-details__item .o-content-blocks--alternative .o-content-blocks__item p,.blog-single .o-details__item .o-p-medium,.case-study-single .o-details__item .about__approach-infos p,.case-study-single .o-details__item .o-content-blocks--alternative .o-content-blocks__item p,.case-study-single .o-details__item .o-p-medium,.o-content-blocks--alternative .o-content-blocks__item .blog-single .o-details__item p,.o-content-blocks--alternative .o-content-blocks__item .case-study-single .o-details__item p {
        font-size:.875rem;
        line-height: 1.4
    }
}

.blog-single .o-details__item--download,.case-study-single .o-details__item--download {
    width: 100%;
    margin-bottom: 60px
}

.blog-single .o-details__item--download a,.case-study-single .o-details__item--download a {
    position: relative;
    color: #000;
    margin-left: 20px
}

.blog-single .o-details__item--download a:before,.case-study-single .o-details__item--download a:before {
    content: "";
    position: absolute;
    top: -15px;
    left: -20px;
    width: calc(100% + 40px);
    height: calc(100% + 30px);
    background-color: #92e821;
    border-radius: 30px
}

.blog-single .o-details__item--download a span,.case-study-single .o-details__item--download a span {
    position: relative
}

.blog-single .o-details__item--download a i,.case-study-single .o-details__item--download a i {
    position: relative;
    top: 6px;
    display: inline-block;
    width: 20px;
    height: 20px
}

.blog-single .o-details__item--download a i svg,.case-study-single .o-details__item--download a i svg {
    width: 100%;
    height: 100%
}

.blog-single .o-details__title,.case-study-single .o-details__title {
    text-transform: uppercase;
    margin-bottom: 5px
}

.blog-single .o-details__link,.case-study-single .o-details__link {
    display: block;
    color: #000
}

@media (max-width: 480px) {
    .blog-single .o-details__link,.case-study-single .o-details__link {
        font-size:.875rem;
        line-height: 1.4
    }
}

.about__approach-infos .blog-single .o-details p,.about__approach-infos .case-study-single .o-details p,.blog-single .o-details .about__approach-infos p,.blog-single .o-details .o-content-blocks--alternative .o-content-blocks__item p,.blog-single .o-details .o-p-medium,.case-study-single .o-details .about__approach-infos p,.case-study-single .o-details .o-content-blocks--alternative .o-content-blocks__item p,.case-study-single .o-details .o-p-medium,.o-content-blocks--alternative .o-content-blocks__item .blog-single .o-details p,.o-content-blocks--alternative .o-content-blocks__item .case-study-single .o-details p {
    line-height: 1.2
}

.o-image-banner {
    position: relative;
    overflow: hidden;
    width: 100%;
    margin-bottom: 160px
}

.o-image-banner:after {
    content: "";
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
    width: 100%;
    height: 100%;
    position: absolute;
    background-image: linear-gradient(-270deg,#00edd1,#c0f);
    opacity: .15
}

@media (max-width: 810px) {
    .o-image-banner {
        margin-bottom:80px
    }
}

.o-image-banner:before {
    content: "";
    display: block;
    padding-top: 52.67857%
}

@media (max-width: 810px) {
    .o-image-banner:before {
        padding-top:100%
    }
}

.o-image-banner img {
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
    width: 100%;
    height: 100%;
    position: absolute;
    object-fit: cover
}

.o-intro {
    position: relative;
    display: flex;
    flex-flow: column nowrap;
    align-items: flex-start;
    justify-content: space-between;
    height: 101vh;
    height: calc(var(--vh, 1vh)*101);
    padding: 60px 80px 80px
}

@media (max-width: 1024px) {
    .o-intro {
        padding-top:140px
    }
}

@media (max-width: 810px) {
    .o-intro {
        padding:100px 20px 60px
    }
}

.o-intro--home .o-intro__title {
    font-size: 5rem
}

@media (max-width: 1280px) {
    .o-intro--home .o-intro__title {
        font-size:3.5rem
    }
}

@media (max-width: 480px) {
    .o-intro--home .o-intro__title {
        font-size:2.5rem
    }
}

.o-intro--home .o-intro__text {
    font-size: 1.15rem
}

@media (max-width: 810px) {
    .o-intro--home .o-intro__text {
        font-size:1rem
    }
}

.o-intro.is-active .o-intro__scroll-line,.o-intro.is-active .o-intro__title strong span {
    animation-play-state: running
}

.o-intro.is-anim-in .o-intro__title {
    opacity: 1;
    transition: opacity 0s linear
}

.o-intro.is-anim-in .o-intro__title .word span {
    transform: translateZ(0);
    transition-delay: calc(.5s + var(--word-index)*0.08s)
}

.o-intro.is-anim-in .o-intro__text {
    opacity: 1;
    transition: opacity 0s linear
}

.o-intro.is-anim-in .o-intro__text .word span {
    transform: translateZ(0);
    transition-delay: calc(.8s + var(--word-index)*0.02s)
}

.o-intro.is-anim-in .o-intro__scroll-label {
    opacity: 1;
    transform: rotate(90deg) translate3d(-100%,0,0);
    transition: opacity .3s cubic-bezier(.215,.61,.355,1) 1s,transform .4s cubic-bezier(.215,.61,.355,1) 1s
}

.o-intro.is-anim-in .o-intro__scroll-line {
    opacity: 1;
    transform: scaleY(1) translateZ(0);
    transition: opacity 0s linear,transform .3s cubic-bezier(.215,.61,.355,1) 1.1s
}

.o-intro__title {
    line-height: .7!important;
    max-width: 80%;
    opacity: 0;
    transition: opacity .3s cubic-bezier(.215,.61,.355,1)
}

@media (max-width: 810px) {
    .o-intro__title {
        max-width:none
    }
}

.o-intro__title strong {
    font-weight: 500
}

.o-intro__title strong span {
    color: #00edd1;
    background-image: linear-gradient(-270deg,#00edd1,#c7ff00);
    background-size: 200% 200%;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    animation: gradientKeyframe 5s ease infinite;
    animation-play-state: paused
}

.o-intro__title .punct {
    color: #92e821
}

.o-intro__title .word {
    display: inline-block;
    overflow: hidden
}

.o-intro__title .word span {
    display: block;
    transform: translate3d(0,100%,0);
    transition: transform .3s cubic-bezier(.215,.61,.355,1);
    line-height: 1.1
}

.o-intro__text {
    width: 50%;
    opacity: 0;
    transition: opacity .3s cubic-bezier(.215,.61,.355,1)
}

@media (max-width: 810px) {
    .o-intro__text {
        width:100%;
        padding-right: 40px
    }
}

.o-intro__text a {
    color: #fff
}

.o-intro__text .word {
    display: inline-block;
    overflow: hidden;
    line-height: 1.1
}

.o-intro__text .word span {
    display: block;
    transform: translate3d(0,100%,0);
    transition: transform .3s cubic-bezier(.215,.61,.355,1)
}

.o-intro__scroll {
    position: absolute;
    right: 80px;
    bottom: 80px
}

@media (max-width: 810px) {
    .o-intro__scroll {
        right:40px;
        bottom: 60px
    }
}

.o-intro__scroll-label {
    position: absolute;
    top: -20px;
    display: block;
    opacity: 0;
    transform: rotate(90deg) translate3d(-150%,0,0);
    transform-origin: 0 50%
}

.o-intro__scroll-line {
    width: 1px;
    height: 120px;
    background-image: linear-gradient(0,#00edd1,#c7ff00);
    background-size: 200% 200%;
    animation: gradientKeyframeV 5s ease infinite;
    animation-play-state: paused;
    opacity: 0;
    transform: scaleY(0) translateZ(0);
    transform-origin: 50% 0
}

.o-page-container {
    position: relative;
    width: 78%;
    margin-left: 22%;
    min-height: 100vh
}

@media (max-width: 1440px) {
    .o-page-container {
        width:calc(100% - 320px);
        margin-left: 320px
    }
}

@media (max-width: 1024px) {
    .o-page-container {
        width:100%;
        margin-left: 0
    }
}

.o-push-block {
    display: flex;
    flex-flow: row nowrap;
    align-items: center;
    padding: 20vh 80px
}

@media (max-width: 480px) {
    .o-push-block {
        flex-direction:column;
        justify-content: center;
        padding: 100px 20px
    }
}

.o-push-block--full {
    height: 100vh;
    height: calc(var(--vh, 1vh)*100);
    padding-top: 0;
    padding-bottom: 0
}

@media (max-width: 480px) {
    .o-push-block--full {
        padding-left:40px;
        padding-right: 40px
    }

    .o-push-block--full .o-push-block__item:first-child {
        padding-bottom: 40px
    }

    .o-push-block--full .o-push-block__item-title {
        margin-bottom: 20px
    }
}

.o-push-block__item {
    width: 50%
}

@media (max-width: 480px) {
    .o-push-block__item {
        width:100%
    }
}

.o-push-block__item:first-child {
    padding-right: 40px
}

@media (max-width: 480px) {
    .o-push-block__item:first-child {
        padding-right:0;
        padding-bottom: 80px
    }
}

.o-push-block__item:last-child {
    padding-left: 40px
}

@media (max-width: 480px) {
    .o-push-block__item:last-child {
        padding-left:0
    }
}

.o-push-block__item-title {
    margin-bottom: 40px
}

.o-service-ecosystem {
    padding: 0 120px 160px;
    color: #fff
}

@media (max-width: 1280px) {
    .o-service-ecosystem {
        padding:0 40px 120px
    }
}

@media (max-width: 810px) {
    .o-service-ecosystem {
        padding:0 20px 80px
    }
}

.o-service-ecosystem--single p:not(.is-active) {
    opacity: .3
}

.o-service-ecosystem__main {
    display: flex;
    flex-flow: row nowrap;
    justify-content: space-between;
    margin-bottom: 60px
}

@media (max-width: 810px) {
    .o-service-ecosystem__main {
        flex-direction:column;
        margin-bottom: 40px
    }
}

.o-service-ecosystem__mainItem {
    position: relative;
    display: flex;
    flex-flow: column nowrap;
    align-items: center;
    text-align: center;
    flex-basis: 100%
}

@media (max-width: 810px) {
    .o-service-ecosystem__mainItem {
        flex-direction:row;
        align-items: flex-start;
        padding-bottom: 40px
    }
}

.o-service-ecosystem__mainItem:before {
    content: "";
    position: absolute;
    top: 40px;
    left: 0;
    height: 1px;
    width: 100%;
    background-color: #fff
}

@media (max-width: 810px) {
    .o-service-ecosystem__mainItem:before {
        left:40px!important;
        width: 1px!important;
        height: 100%
    }
}

.o-service-ecosystem__mainItem:after {
    content: "";
    width: 8px;
    height: 8px;
    border-top: 1px solid #fff;
    border-right: 1px solid #fff;
    position: absolute;
    top: 40px;
    margin-top: 1px;
    right: 0;
    transform: translateY(-50%) rotate(45deg)
}

@media (max-width: 810px) {
    .o-service-ecosystem__mainItem:after {
        top:auto;
        bottom: 30px;
        left: 40px;
        right: auto;
        margin-top: 0;
        transform: translate(-50%,-50%) rotate(135deg)
    }
}

.o-service-ecosystem__mainItem:first-child:before {
    left: 50%;
    width: 50%
}

@media (max-width: 810px) {
    .o-service-ecosystem__mainItem:last-child {
        padding-bottom:0
    }
}

.o-service-ecosystem__mainItem:last-child:before {
    width: 50%
}

@media (max-width: 810px) {
    .o-service-ecosystem__mainItem:last-child:before {
        display:none
    }
}

.o-service-ecosystem__mainItem:last-child:after {
    display: none
}

.o-service-ecosystem__mainItem div {
    display: flex;
    flex-flow: column nowrap;
    align-items: center
}

@media (max-width: 810px) {
    .o-service-ecosystem__mainItem div {
        align-items:flex-start
    }
}

.o-service-ecosystem__mainItem div h3 {
    margin: 20px 0
}

@media (max-width: 810px) {
    .o-service-ecosystem__mainItem div h3 {
        margin:30px 0 20px
    }
}

.o-service-ecosystem__mainItem div p {
    text-transform: uppercase;
    margin-bottom: 10px
}

.o-service-ecosystem__mainItem div p:last-child {
    margin-bottom: 0
}

.o-service-ecosystem__mainIcon {
    position: relative;
    width: 80px;
    height: 80px;
    flex-shrink: 0;
    margin: 0 auto;
    border-radius: 50%;
    border: 1px solid #fff;
    background-color: #0e1028
}

@media (max-width: 810px) {
    .o-service-ecosystem__mainIcon {
        margin:0 20px 0 0
    }
}

.o-service-ecosystem__mainIcon svg {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%,-50%);
    width: 30px;
    height: 30px;
    fill: #fff
}

.o-service-ecosystem__sub {
    display: flex;
    flex-flow: row nowrap;
    justify-content: center
}

@media (max-width: 810px) {
    .o-service-ecosystem__sub {
        flex-direction:column;
        margin-right: 25%
    }
}

.o-service-ecosystem__subItem {
    position: relative;
    display: flex;
    flex-flow: column nowrap;
    justify-content: center;
    align-items: flex-start;
    padding: 20px 10px 20px 50px;
    flex-basis: 100%;
    margin: 0 50px;
    border: 1px solid #fff;
    border-radius: 12px
}

@media (max-width: 1440px) {
    .o-service-ecosystem__subItem {
        margin:0 25px
    }
}

@media (max-width: 1024px) {
    .o-service-ecosystem__subItem {
        margin:0 30px
    }
}

@media (max-width: 810px) {
    .o-service-ecosystem__subItem {
        width:100%;
        margin-bottom: 20px;
        padding-top: 30px;
        padding-bottom: 30px
    }
}

.o-service-ecosystem__subItem p {
    text-transform: uppercase;
    margin-bottom: 10px
}

.o-service-ecosystem__subItem p:last-child {
    margin-bottom: 0
}

.o-service-ecosystem__subIcon {
    position: absolute;
    top: 50%;
    left: 0;
    transform: translate(-50%,-50%);
    width: 60px;
    height: 60px;
    margin: 0 auto;
    border-radius: 50%;
    border: 1px solid #fff;
    background-color: #0e1028
}

.o-service-ecosystem__subIcon svg {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%,-50%);
    width: 25px;
    height: 25px;
    fill: #fff
}

.o-service-ecosystem__option {
    position: relative;
    display: inline-block
}

.o-service-ecosystem__option.is-active {
    color: #000
}

.o-service-ecosystem__option.is-active:before {
    content: "";
    position: absolute;
    top: -4px;
    left: -10px;
    width: calc(100% + 20px);
    height: calc(100% + 6px);
    background-color: #00edd1;
    border-radius: 11px;
    z-index: -1
}

.o-service-formation {
    display: flex;
    position: relative;
    flex-flow: column nowrap;
    padding: 40px;
    width: 33.33%;
    flex-shrink: 0;
    border-bottom: 1px solid hsla(0,0%,100%,.15);
    border-right: 1px solid hsla(0,0%,100%,.15);
    color: #fff;
    transition: color .3s cubic-bezier(.215,.61,.355,1)
}

@media (max-width: 480px) {
    .o-service-formation {
        width:100%;
        padding: 40px
    }
}

.o-service-formation:nth-child(3n) {
    border-right: none
}

.o-service-formation:before {
    content: "";
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
    width: 100%;
    height: 100%;
    position: absolute;
    background-color: #fff;
    z-index: -1;
    transform: scaleX(0) translateZ(0);
    transform-origin: 100% 50%;
    transition: transform .4s cubic-bezier(.215,.61,.355,1)
}

.no-touchevents .o-service-formation:focus,.no-touchevents .o-service-formation:hover {
    color: #000;
    transition-delay: .15s
}

.no-touchevents .o-service-formation:focus:before,.no-touchevents .o-service-formation:hover:before {
    transform: scaleX(1) translateZ(0);
    transform-origin: 0 50%;
    transition-delay: .15s
}

.no-touchevents .o-service-formation:focus .o-service-formation__icon img,.no-touchevents .o-service-formation:hover .o-service-formation__icon img {
    transition-delay: .15s
}

.no-touchevents .o-service-formation:focus .o-service-formation__icon img:first-child,.no-touchevents .o-service-formation:hover .o-service-formation__icon img:first-child {
    opacity: 0
}

.no-touchevents .o-service-formation:focus .o-service-formation__icon img:last-child,.no-touchevents .o-service-formation:hover .o-service-formation__icon img:last-child {
    opacity: 1
}

.no-touchevents .o-service-formation:focus .o-button,.no-touchevents .o-service-formation:hover .o-button {
    color: #000;
    transition-delay: .15s
}

.no-touchevents .o-service-formation:focus .o-icon,.no-touchevents .o-service-formation:hover .o-icon {
    border: 1px solid #000;
    transition-delay: .15s
}

.no-touchevents .o-service-formation:focus .o-icon svg,.no-touchevents .o-service-formation:hover .o-icon svg {
    fill: #000;
    transition-delay: .15s
}

.o-service-formation__title {
    margin-top: 40px;
    margin-bottom: 10px
}

@media (max-width: 480px) {
    .o-service-formation__title {
        margin-top:20px
    }
}

.o-service-formation__langs {
    text-transform: uppercase
}

.o-service-formation__content {
    margin-top: 40px;
    padding-bottom: 60px
}

@media (max-width: 480px) {
    .o-service-formation__content {
        padding-bottom:80px
    }
}

.o-service-formation__content ul {
    padding-left: 0!important
}

.o-service-formation__content ul li {
    margin-bottom: 10px;
    padding-left: 20px
}

.o-service-formation__content ul li:before {
    top: .75em!important;
    width: 20px!important;
    left: -20px!important
}

.o-service-formation__icon {
    position: relative;
    height: 60px
}

.o-service-formation__icon img {
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    transition: opacity .3s cubic-bezier(.215,.61,.355,1)
}

.o-service-formation__icon img:first-child {
    opacity: 1
}

.o-service-formation__icon img:last-child {
    opacity: 0
}

.o-service-formation .o-button {
    position: absolute;
    left: 40px;
    right: 40px;
    bottom: 40px;
    transition: color .3s cubic-bezier(.215,.61,.355,1)
}

.o-service-formation .o-button .o-icon {
    transition: background-color .3s cubic-bezier(.215,.61,.355,1),border .3s cubic-bezier(.215,.61,.355,1)
}

.o-service-formation .o-button .o-icon svg {
    transition: fill .15s cubic-bezier(.215,.61,.355,1)
}

.o-service-item {
    display: flex;
    position: relative;
    flex-flow: column nowrap;
    padding: 60px;
    width: 33.33%;
    flex-shrink: 0;
    border-bottom: 1px solid hsla(0,0%,100%,.15);
    border-right: 1px solid hsla(0,0%,100%,.15);
    color: #fff;
    transition: color .3s cubic-bezier(.215,.61,.355,1)
}

@media (max-width: 1440px) {
    .o-service-item {
        width:50%
    }

    .o-service-item:nth-child(2n) {
        border-right: none
    }
}

@media (max-width: 810px) {
    .o-service-item {
        width:100%;
        padding: 40px
    }
}

.o-service-item:nth-child(3n) {
    border-right: none
}

@media (max-width: 1440px) {
    .o-service-item:nth-child(3n) {
        border-right:1px solid hsla(0,0%,100%,.15)
    }
}

.o-service-item:before {
    content: "";
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
    width: 100%;
    height: 100%;
    position: absolute;
    background-color: #fff;
    z-index: -1;
    transform: scaleX(0) translateZ(0);
    transform-origin: 100% 50%;
    transition: transform .4s cubic-bezier(.215,.61,.355,1)
}

.no-touchevents .o-service-item:focus,.no-touchevents .o-service-item:hover {
    color: #000;
    transition-delay: .15s
}

.no-touchevents .o-service-item:focus:before,.no-touchevents .o-service-item:hover:before {
    transform: scaleX(1) translateZ(0);
    transform-origin: 0 50%;
    transition-delay: .15s
}

.no-touchevents .o-service-item:focus .o-icon,.no-touchevents .o-service-item:hover .o-icon {
    border: 1px solid #92e821;
    background-color: #92e821;
    transition-delay: .15s
}

.no-touchevents .o-service-item:focus .o-icon svg,.no-touchevents .o-service-item:hover .o-icon svg {
    fill: #000;
    transition-delay: .15s
}

.o-service-item__title {
    margin-top: 40px;
    margin-bottom: 40px
}

@media (max-width: 810px) {
    .o-service-item__title {
        height:auto!important;
        margin-bottom: 20px
    }
}

.o-service-item__desc {
    margin-top: auto;
    padding-bottom: 80px
}

@media (max-width: 810px) {
    .o-service-item__desc {
        padding-bottom:40px
    }
}

.o-service-item .o-icon {
    position: absolute;
    left: 60px;
    bottom: 60px;
    margin-top: 40px;
    transition: background-color .3s cubic-bezier(.215,.61,.355,1),border .3s cubic-bezier(.215,.61,.355,1)
}

@media (max-width: 810px) {
    .o-service-item .o-icon {
        position:relative;
        top: 0;
        left: 0;
        margin-top: 0
    }
}

.o-service-item .o-icon svg {
    transition: fill .15s cubic-bezier(.215,.61,.355,1)
}

.o-title-block {
    display: flex;
    flex-flow: row nowrap;
    align-items: flex-start;
    padding: 0 80px;
    margin-bottom: 100px
}

@media (max-width: 810px) {
    .o-title-block {
        flex-direction:column;
        padding: 0 20px;
        margin-bottom: 60px
    }
}

.o-title-block__title {
    width: 50%;
    padding-right: 40px
}

@media (max-width: 810px) {
    .o-title-block__title {
        width:100%;
        padding: 0;
        margin-bottom: 20px
    }
}

.o-title-block__text {
    width: 50%;
    padding-left: 40px
}

@media (max-width: 810px) {
    .o-title-block__text {
        width:100%;
        padding: 0
    }
}

.c-footer__contact-title,.o-title-1 {
    font-size: 4.5rem;
    line-height: 1;
    font-weight: 500
}

@media (max-width: 1280px) {
    .c-footer__contact-title,.o-title-1 {
        font-size:3.25rem
    }
}

@media (max-width: 810px) {
    .c-footer__contact-title,.o-title-1 {
        font-size:2.5rem
    }
}

.o-content-blocks--alternative h4,.o-title-2,.o-wysiwyg h2 {
    font-size: 3.5rem;
    line-height: 1.07;
    font-weight: 500
}

@media (max-width: 1280px) {
    .o-content-blocks--alternative h4,.o-title-2,.o-wysiwyg h2 {
        font-size:2.5rem
    }
}

@media (max-width: 810px) {
    .o-content-blocks--alternative h4,.o-title-2,.o-wysiwyg h2 {
        font-size:2rem
    }
}

.o-title-3 {
    font-size: 2rem;
    line-height: 1.1875;
    font-weight: 500
}

@media (max-width: 1280px) {
    .o-title-3 {
        font-size:1.75rem
    }
}

@media (max-width: 810px) {
    .o-title-3 {
        font-size:1.5rem
    }
}

.o-content-blocks__item p,.o-title-4 {
    font-size: 1.5rem;
    line-height: 1.16;
    font-weight: 500
}

@media (max-width: 1280px) {
    .o-content-blocks__item p,.o-title-4 {
        font-size:1.25rem
    }
}

.o-title-5,.o-wysiwyg ol li:before {
    font-size: .75rem;
    line-height: 1.33;
    letter-spacing: .5px
}

.o-p-large,.o-wysiwyg ol li,.o-wysiwyg p,.o-wysiwyg ul li {
    font-size: 1.25rem;
    line-height: 1.6
}

.about__approach-infos p,.o-content-blocks--alternative .o-content-blocks__item p,.o-p-medium {
    font-size: 1rem;
    line-height: 1.625
}

.c-contact-form input,.c-contact-form select,.c-contact-form textarea,.c-newsletter-form .hs-form-field input,.o-p-small,.o-service-formation__content ul li {
    font-size: .875rem;
    line-height: 1.21
}

.c-header__nav-item,.o-nav {
    font-size: .875rem;
    line-height: 1.14;
    letter-spacing: .5px;
    font-weight: 500;
    text-transform: uppercase
}

@media (max-width: 810px) {
    .c-header__nav-item,.o-nav {
        font-size:2rem
    }
}

.c-contact-form .hs-form-field>label,.c-contact-form .hs_submit input,.c-contact-form select,.c-header__nav-item--lang,.c-newsletter-form .hs-form-field label,.c-newsletter-form .hs_submit input,.o-cta {
    font-size: .75rem;
    line-height: 1.33;
    letter-spacing: .5px;
    text-transform: uppercase
}

.o-quote {
    font-size: 2rem;
    line-height: 1.1875
}

@media (max-width: 810px) {
    .o-quote {
        font-size:1.5rem;
        line-height: 1.25
    }
}

.o-wysiwyg p {
    margin-bottom: 20px
}

.o-wysiwyg figure {
    text-align: center;
    margin: 40px 0
}

.o-wysiwyg ul {
    padding-left: 20px;
    margin-bottom: 20px
}

.o-wysiwyg ul li {
    position: relative
}

.o-wysiwyg ul li:before {
    content: "";
    position: absolute;
    top: .75em;
    left: -20px;
    width: 5px;
    height: 5px;
    margin-top: -3px;
    background-color: #92e821
}

.o-wysiwyg.list-alt ul {
    padding-left: 60px
}

.o-wysiwyg.list-alt ul li:before {
    top: 1em;
    width: 60px;
    left: -80px;
    height: 1px;
    background-color: #00edd1
}

.o-wysiwyg ol {
    padding-left: 0;
    margin-bottom: 20px;
    list-style: none;
    counter-reset: ol-counter
}

.o-wysiwyg ol li {
    position: relative;
    counter-increment: ol-counter;
    padding-left: 80px
}

@media (max-width: 480px) {
    .o-wysiwyg ol li {
        padding-left:40px
    }
}

.o-wysiwyg ol li:not(:last-child) {
    padding-bottom: 40px
}

.o-wysiwyg ol li:before {
    content: counter(ol-counter,decimal-leading-zero);
    position: absolute;
    top: 20px;
    left: 0;
    color: #00edd1
}

.about .o-title-block {
    padding-top: 160px
}

@media (max-width: 810px) {
    .about .o-title-block {
        padding-top:60px
    }
}

.about .o-image-banner+.o-title-block {
    padding-top: 0
}

.about__advantages {
    padding: 0 80px 160px;
    border-bottom: 1px solid hsla(0,0%,100%,.15)
}

@media (max-width: 810px) {
    .about__advantages {
        padding:0 20px 100px
    }
}

.about__advantages-list {
    display: flex;
    flex-flow: row wrap;
    padding: 0 80px
}

@media (max-width: 810px) {
    .about__advantages-list {
        flex-direction:column;
        padding: 0
    }
}

.about__advantages-item {
    position: relative;
    width: 50%;
    margin-top: 80px
}

@media (max-width: 810px) {
    .about__advantages-item {
        width:100%;
        margin-top: 60px
    }
}

.about__advantages-item:nth-child(odd) {
    padding-right: 40px
}

@media (max-width: 810px) {
    .about__advantages-item:nth-child(odd) {
        padding-right:0
    }
}

@media (max-width: 810px) {
    .about__advantages-item:nth-child(odd):before {
        left:0
    }
}

.about__advantages-item:nth-child(2n) {
    padding-left: 40px
}

@media (max-width: 810px) {
    .about__advantages-item:nth-child(2n) {
        padding-left:0
    }
}

.about__advantages-item:nth-child(2n):before {
    left: 20px
}

@media (max-width: 810px) {
    .about__advantages-item:nth-child(2n):before {
        left:0
    }
}

.about__advantages-item:before {
    content: "";
    position: absolute;
    top: .5em;
    left: -20px;
    width: 8px;
    height: 8px;
    margin-top: -4px;
    background-color: #92e821
}

@media (max-width: 810px) {
    .about__advantages-item:before {
        top:-18px;
        margin-top: 0
    }
}

.about__advantages-item strong {
    color: #92e821;
    font-weight: 500
}

.about__advantages-item a {
    color: #fff
}

.about__approach {
    display: flex;
    flex-flow: row nowrap;
    align-items: center
}

@media (max-width: 810px) {
    .about__approach {
        flex-direction:column-reverse
    }
}

.about__approach-infos {
    width: 50%;
    padding: 0 80px
}

@media (max-width: 810px) {
    .about__approach-infos {
        width:100%;
        padding: 0 20px;
        margin-top: 40px;
        margin-bottom: 60px
    }
}

.about__approach-title {
    margin-bottom: 20px
}

.about__approach-image {
    position: relative;
    width: 50%;
    overflow: hidden
}

.about__approach-image:after {
    content: "";
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
    width: 100%;
    height: 100%;
    position: absolute;
    background-image: linear-gradient(-270deg,#00edd1,#c0f);
    opacity: .15
}

@media (max-width: 810px) {
    .about__approach-image {
        width:100%
    }
}

.about__approach-image:before {
    content: "";
    display: block;
    padding-top: 100%
}

@media (max-width: 810px) {
    .about__approach-image:before {
        padding-top:66.66667%
    }
}

.about__approach-image img {
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
    width: 100%;
    height: 100%;
    position: absolute;
    object-fit: cover
}

.about__spacer {
    height: 160px;
    border-bottom: 1px solid hsla(0,0%,100%,.15)
}

@media (max-width: 810px) {
    .about__spacer {
        height:40px
    }
}

.about__partners {
    position: relative;
    display: flex;
    flex-flow: row wrap
}

.about__partners-item {
    position: relative;
    width: 25%;
    background-color: transparent;
    transition: background-color .15s cubic-bezier(.215,.61,.355,1);
    border-top: 1px solid hsla(0,0%,100%,.15);
    border-right: 1px solid hsla(0,0%,100%,.15)
}

@media (max-width: 810px) {
    .about__partners-item {
        width:50%
    }
}

.about__partners-item:before {
    content: "";
    display: block;
    padding-top: 100%
}

.about__partners-item:hover {
    background-color: #fff
}

.about__partners-item:hover img:last-child {
    opacity: 1
}

.about__partners-item:nth-child(4n) {
    border-right: 0
}

.about__partners-item img {
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
    width: 100%;
    height: 100%;
    position: absolute
}

.about__partners-item img:last-child {
    opacity: 0;
    transition: opacity .15s cubic-bezier(.215,.61,.355,1)
}

@media (max-width: 1024px) {
    .blog-single {
        margin-top:60px
    }
}

.blog-single__header {
    padding: 80px;
    background-color: #fff;
    margin-top: -1px;
    color: #000
}

@media (max-width: 480px) {
    .blog-single__header {
        padding:40px 20px
    }
}

.blog-single__header strong {
    display: inline;
    font-weight: 500
}

.blog-single__footer {
    display: flex;
    flex-flow: row nowrap;
    padding: 80px 220px 80px 80px;
    background-color: #fff;
    border-top: 1px solid #000
}

@media (max-width: 810px) {
    .blog-single__footer {
        padding:80px
    }
}

@media (max-width: 480px) {
    .blog-single__footer {
        padding:40px 20px
    }
}

.blog-single__footer-image {
    width: 120px;
    height: 120px;
    flex-shrink: 0;
    border-radius: 50%;
    overflow: hidden
}

@media (max-width: 480px) {
    .blog-single__footer-image {
        display:none
    }
}

.blog-single__footer-image img {
    display: block;
    width: 100%;
    height: 100%
}

.blog-single__footer-infos {
    padding-left: 80px;
    color: #000
}

@media (max-width: 480px) {
    .blog-single__footer-infos {
        padding-left:0
    }
}

.blog-single__footer-infos img {
    display: none;
    border-radius: 50%;
    overflow: hidden
}

@media (max-width: 480px) {
    .blog-single__footer-infos img {
        display:block
    }
}

.blog-single__footer-about {
    text-transform: uppercase
}

.blog-single__footer-line {
    display: flex;
    flex-flow: row nowrap;
    align-items: center;
    margin-top: 10px;
    margin-bottom: 20px
}

@media (max-width: 480px) {
    .blog-single__footer-line {
        padding:20px 0;
        margin: 0
    }
}

@media (max-width: 480px) {
    .blog-single__footer-author {
        margin:0;
        padding-left: 20px
    }
}

.blog-single__other {
    padding: 80px 0 100px
}

@media (max-width: 480px) {
    .blog-single__other {
        margin:0
    }
}

.blog-single__other-title {
    padding-left: 80px;
    margin-bottom: 80px
}

@media (max-width: 480px) {
    .blog-single__other-title {
        padding-left:20px;
        margin-bottom: 40px
    }
}

.blog-single__other-list {
    display: flex;
    flex-flow: column nowrap
}

.blog-single .o-content-text.o-wysiwyg ol li:before {
    color: #000
}

@media (max-width: 1024px) {
    .case-study-single,.service-single {
        margin-top:60px
    }
}

.case-study-single.privacy h1,.service-single.privacy h1 {
    padding-top: 80px
}

.case-study-single__header,.service-single__header {
    display: flex;
    height: calc(100vh - 128px);
    flex-flow: row nowrap;
    background-color: #fff;
    margin-top: -1px;
    color: #000
}

.case-study-single__header strong,.service-single__header strong {
    display: inline;
    font-weight: 500
}

@media (max-width: 810px) {
    .case-study-single__header,.service-single__header {
        flex-direction:column;
        height: auto;
        padding-top: 40px;
        padding-bottom: 40px
    }

    .case-study-single__header .o-details,.service-single__header .o-details {
        padding-left: 0;
        padding-right: 0
    }

    .case-study-single__header .o-details:after,.case-study-single__header .o-details:before,.service-single__header .o-details:after,.service-single__header .o-details:before {
        left: 0;
        right: 0
    }

    .case-study-single__header .o-details__item:not(.o-details__item--download),.service-single__header .o-details__item:not(.o-details__item--download) {
        margin-bottom: 20px
    }
}

.case-study-single__header-inner,.service-single__header-inner {
    height: 100%;
    width: 58%;
    display: flex;
    flex-flow: column nowrap;
    justify-content: space-between;
    padding: 80px
}

.case-study-single__header-inner h1,.service-single__header-inner h1 {
    margin-bottom: 60px
}

@media (max-width: 810px) {
    .case-study-single__header-inner h1,.service-single__header-inner h1 {
        margin-bottom:20px
    }
}

@media (max-width: 1280px) {
    .case-study-single__header-inner,.service-single__header-inner {
        padding:40px
    }
}

@media (max-width: 810px) {
    .case-study-single__header-inner,.service-single__header-inner {
        width:100%;
        padding: 0 20px
    }
}

.case-study-single__header-icon,.service-single__header-icon {
    margin-bottom: 40px;
    width: 60px
}

.case-study-single__header-image,.service-single__header-image {
    position: relative;
    margin-top: 1px;
    overflow: hidden;
    width: 42%;
    height: 100%;
    flex-shrink: 0
}

.case-study-single__header-image:after,.service-single__header-image:after {
    content: "";
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
    width: 100%;
    height: 100%;
    position: absolute;
    background-image: linear-gradient(-270deg,#00edd1,#c0f);
    opacity: .15
}

@media (max-width: 810px) {
    .case-study-single__header-image,.service-single__header-image {
        width:100%;
        margin-top: 80px
    }
}

.case-study-single__header-image:before,.service-single__header-image:before {
    content: "";
    display: block;
    padding-top: 75%
}

@media (max-width: 810px) {
    .case-study-single__header-image:before,.service-single__header-image:before {
        padding-top:93%
    }
}

.case-study-single__header-image img,.service-single__header-image img {
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
    width: 100%;
    height: 100%;
    position: absolute;
    object-fit: cover
}

.case-study-single__header+div,.service-single__header+div {
    padding-top: 100px!important
}

@media (max-width: 810px) {
    .case-study-single__header+div,.service-single__header+div {
        padding-top:40px!important
    }
}

.service-single .o-details {
    display: none!important
}

.service-single__ecosystem {
    position: relative
}

@media (max-width: 480px) {
    .service-single__ecosystem {
        margin-top:20px
    }
}

.service-single__ecosystem:before {
    content: "";
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
    width: 100%;
    height: 100%;
    position: absolute;
    background: radial-gradient(circle,#0e1028 0,transparent 80%);
    z-index: -1
}

.service-single__ecosystem+div {
    padding-top: 120px
}

@media (max-width: 480px) {
    .service-single__ecosystem+div {
        padding-top:80px
    }
}

.service-single__related-header {
    padding: 80px;
    border-bottom: 1px solid hsla(0,0%,100%,.15)
}

@media (max-width: 480px) {
    .service-single__related-header {
        padding:40px 20px
    }
}

.service-single__related-grid {
    display: flex;
    flex-flow: row nowrap
}

@media (max-width: 480px) {
    .service-single__related-grid {
        flex-direction:column
    }
}

.case-studies .c-filters__list {
    display: flex;
    flex-flow: row wrap
}

@media (max-width: 480px) {
    .case-studies .c-filters__list {
        flex-direction:column
    }
}

.contact .o-intro {
    height: 101vh!important
}

.contact__message {
    position: fixed;
    top: 60px;
    right: 0;
    padding: 20px 40px;
    color: #000;
    background-color: #fff;
    border-top-left-radius: 33px;
    border-bottom-left-radius: 33px;
    z-index: 1;
    transform: translateX(100%) translateZ(0);
    transition: transform .3s cubic-bezier(.215,.61,.355,1)
}

.contact__message:before {
    content: "";
    position: absolute;
    top: 50%;
    left: 20px;
    width: 4px;
    height: 4px;
    margin-top: -2px;
    background-color: #000
}

@media (max-width: 1024px) {
    .contact__message {
        top:80px;
        padding: 10px 20px
    }

    .contact__message:before {
        left: 10px
    }
}

.contact__message.is-active {
    transform: translateX(0) translateZ(0);
    transition-delay: .1s
}

.contact__message.is-error p:last-child,.contact__message.is-success p:first-child {
    display: block
}

.contact__message p {
    display: none
}

.contact__address-city,.contact__mail,.contact__phone {
    font-size: 1.5rem;
    font-weight: 600
}

@media (max-width: 1024px) {
    .contact__address-city,.contact__mail,.contact__phone {
        font-size:1.25rem
    }
}

.contact__mail {
    color: #fff;
    text-decoration: none;
    overflow: hidden;
    margin-top: 30px;
    opacity: 0;
    transform: translate3d(0,20px,0)
}

@media (max-width: 1024px) {
    .contact__mail {
        margin-top:20px;
        display: inline-block;
        padding: 5px 0
    }
}

.contact__phone {
    color: #fff;
    text-decoration: none;
    overflow: hidden;
    opacity: 0;
    transform: translate3d(0,20px,0)
}

@media (max-width: 1024px) {
    .contact__phone {
        display:inline-block;
        padding: 5px 0
    }
}

.contact__right-column {
    margin-top: 60px;
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-column-gap: 9.1667vw;
    grid-row-gap: 40px
}

@media (max-width: 1024px) {
    .contact__right-column {
        grid-template-columns:1fr;
        margin-top: 20px
    }
}

.contact__address {
    padding: 80px;
    border-top: 1px solid hsla(0,0%,100%,.15);
    border-bottom: 1px solid hsla(0,0%,100%,.15)
}

@media (max-width: 1024px) {
    .contact__address {
        padding:40px 20px
    }
}

.contact__address-item {
    font-style: normal;
    line-height: 26px;
    justify-content: space-between
}

.contact__address-item,.contact__address-item-inner {
    display: flex;
    flex-direction: column
}

.contact__address-city {
    margin-bottom: 8px;
    color: #00edd1;
    background-image: linear-gradient(0,#00edd1,#c7ff00);
    background-size: 200% 200%;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    line-height: 1.2
}

@media (max-width: 1024px) {
    .contact__address-city {
        margin-bottom:5px
    }
}

.contact__address-btn,.contact__address-tel {
    color: #fff
}

.contact__address-tel span {
    text-decoration: none
}

.contact__address-btn {
    display: table;
    border: 1px solid #fff;
    border-radius: 24px;
    margin-top: 10px;
    transition: background-color .3s cubic-bezier(.645,.045,.355,1),border-color .3s cubic-bezier(.645,.045,.355,1)
}

.contact__address-btn span {
    font-size: 12px;
    letter-spacing: .5px;
    text-transform: uppercase;
    font-style: normal;
    transition: color .3s cubic-bezier(.645,.045,.355,1)
}

.contact__address-btn i {
    margin-left: 2px
}

.contact__address-btn i svg {
    width: 18px;
    height: 18px;
    fill: #fff;
    margin-top: 3px;
    transition: fill .3s cubic-bezier(.645,.045,.355,1)
}

.contact__address-btn:focus-visible,.contact__address-btn:hover {
    background-color: #92e821;
    color: #000;
    border-color: #000
}

.contact__address-btn:focus-visible svg,.contact__address-btn:hover svg {
    fill: #000
}

.contact__address-btn-inner {
    padding: 4px 14px;
    display: flex;
    align-items: center
}

.contact__form {
    padding: 160px 80px;
    border-top: 1px solid hsla(0,0%,100%,.15);
    border-bottom: 1px solid hsla(0,0%,100%,.15)
}

@media (max-width: 1024px) {
    .contact__form {
        padding:200px 20px 100px
    }
}

.contact__map {
    position: relative;
    display: block;
    height: 85vh;
    width: 100%
}

.contact__map img {
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
    width: 100%;
    height: 100%;
    position: absolute;
    object-fit: cover
}

.contact .o-intro.is-anim-in .contact__mail {
    opacity: 1;
    transform: translateZ(0);
    transition: opacity .3s cubic-bezier(.215,.61,.355,1) 1.2s,transform .3s cubic-bezier(.215,.61,.355,1) 1.2s
}

.contact .o-intro.is-anim-in .contact__phone {
    opacity: 1;
    transform: translateZ(0);
    transition: opacity .3s cubic-bezier(.215,.61,.355,1) 1.3s,transform .3s cubic-bezier(.215,.61,.355,1) 1.3s
}

@keyframes float {
    0% {
        transform: translateZ(0)
    }

    25% {
        transform: translate3d(0,-5px,0)
    }

    50% {
        transform: translateZ(0)
    }

    75% {
        transform: translate3d(0,5px,0)
    }

    to {
        transform: translateZ(0)
    }
}

.home__intro {
    position: relative;
    height: 100vh;
    height: calc(var(--vh, 1vh)*100)
}

.home__intro canvas {
    position: absolute;
    top: 0;
    left: 5%;
    opacity: 0;
    transition: opacity .3s cubic-bezier(.215,.61,.355,1)
}

@media (max-width: 1024px) {
    .home__intro canvas {
        top:50%;
        left: 50%;
        transform: translate(-50%,-50%)
    }
}

.home__intro.is-active canvas {
    opacity: 1;
    transition: opacity .3s cubic-bezier(.215,.61,.355,1) .6s
}

.home__section {
    position: relative;
    display: flex;
    flex-flow: column nowrap;
    justify-content: space-between;
    align-items: flex-start;
    height: 100vh;
    height: calc(var(--vh, 1vh)*100);
    padding: 60px 80px 80px
}

@media (max-width: 1024px) {
    .home__section {
        padding-top:140px
    }
}

@media (max-width: 480px) {
    .home__section {
        padding:100px 40px 60px
    }
}

.home__section.is-active .home__section-title {
    opacity: 1;
    transition: opacity 0s linear
}

.home__section.is-active .home__section-title .word span {
    transform: translateZ(0);
    transition-delay: calc(.5s + var(--word-index)*0.08s)
}

.home__section.is-active .home__section-text {
    opacity: 1;
    transition: opacity 0s linear
}

.home__section.is-active .home__section-text .word span {
    transform: translateZ(0);
    transition-delay: calc(.8s + var(--word-index)*0.02s)
}

.home__section.is-active .home__section-subtext {
    opacity: 1;
    transition: opacity 0s linear
}

.home__section.is-active .home__section-subtext .word span {
    transform: translateZ(0);
    transition-delay: calc(.8s + var(--word-index)*0.02s)
}

.home__section.is-active.is-last .home__section-image1,.home__section.is-active.is-last .home__section-image2 {
    opacity: 1;
    transition-delay: .5s
}

.home__section.is-last .home__section-text {
    width: 50%
}

@media (max-width: 1024px) {
    .home__section-inner {
        padding-right:60px
    }
}

@media (max-width: 810px) {
    .home__section-inner {
        padding-right:0
    }
}

.home__section-title {
    position: relative;
    font-size: 6.5rem;
    line-height: .9;
    font-weight: 500;
    width: 80%;
    opacity: 0;
    transition: opacity .3s cubic-bezier(.215,.61,.355,1)
}

@media (max-width: 1024px) {
    .home__section-title {
        width:100%;
        font-size: 5.5rem
    }
}

@media (max-width: 480px) {
    .home__section-title {
        font-size:2.5rem
    }
}

.home__section-title .word {
    display: inline-block;
    overflow: hidden
}

.home__section-title .word span {
    color: #00edd1;
    background-image: linear-gradient(-270deg,#00edd1,#c7ff00);
    background-size: 200% 200%;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    animation: gradientKeyframe 5s ease infinite;
    animation-play-state: paused;
    display: block;
    line-height: 1.1;
    transform: translate3d(0,100%,0);
    transition: transform .3s cubic-bezier(.215,.61,.355,1)
}

.home__section-text {
    width: 67%;
    opacity: 0;
    transition: opacity .3s cubic-bezier(.215,.61,.355,1);
    margin-top: auto
}

@media (max-width: 480px) {
    .home__section-text {
        width:100%!important;
        padding-right: 40px;
        font-size: 1.25rem
    }
}

.home__section-text .word {
    display: inline-block;
    overflow: hidden
}

.home__section-text .word span {
    display: block;
    transform: translate3d(0,100%,0);
    transition: transform .3s cubic-bezier(.215,.61,.355,1)
}

.home__section-subtext {
    width: 67%;
    margin-top: 20px
}

@media (max-width: 480px) {
    .home__section-subtext {
        width:100%!important;
        padding-right: 40px;
        padding-bottom: 10px;
        font-size: 1rem;
        line-height: 1.125
    }
}

.home__section-subtext a {
    color: inherit;
    text-transform: uppercase
}

.home__section-subtext .word {
    display: inline-block;
    overflow: hidden;
    line-height: 1.1
}

.home__section-subtext .word span {
    display: block;
    transform: translate3d(0,100%,0);
    transition: transform .3s cubic-bezier(.215,.61,.355,1)
}

.home__section-image1 {
    position: relative;
    position: absolute;
    top: 0;
    right: 0;
    width: 35%;
    z-index: -1;
    opacity: 0;
    transition: opacity .3s cubic-bezier(.215,.61,.355,1)
}

.home__section-image1:after {
    content: "";
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
    width: 100%;
    height: 100%;
    position: absolute;
    background-image: linear-gradient(-270deg,#00edd1,#c0f);
    opacity: .15
}

@media (max-width: 810px) {
    .home__section-image1 {
        top:25%;
        right: auto;
        left: 0;
        width: 55%
    }
}

.home__section-image1 img {
    width: 100%
}

.home__section-image2 {
    position: relative;
    position: absolute;
    bottom: 80px;
    right: 14%;
    width: 18%;
    z-index: -1;
    opacity: 0;
    transition: opacity .3s cubic-bezier(.215,.61,.355,1)
}

.home__section-image2:after {
    content: "";
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
    width: 100%;
    height: 100%;
    position: absolute;
    background-image: linear-gradient(-270deg,#00edd1,#c0f);
    opacity: .15
}

@media (max-width: 810px) {
    .home__section-image2 {
        top:42%;
        bottom: auto;
        right: 0;
        width: 32%
    }
}

.home__section-image2 img {
    width: 100%
}

.home .o-push-block {
    opacity: 0;
    transition: opacity .3s cubic-bezier(.215,.61,.355,1)
}

.home .o-push-block.is-active {
    opacity: 1;
    transition-delay: .5s
}

.home .o-push-block.is-active a {
    visibility: visible
}

.home .o-push-block a {
    visibility: hidden
}

[data-page=home] .c-footer.is-active a,[data-page=home] .c-footer.is-active button,[data-page=home] .c-footer.is-active input {
    visibility: visible
}

[data-page=home] .c-footer a,[data-page=home] .c-footer button,[data-page=home] .c-footer input {
    visibility: hidden
}

.p404 .o-intro .o-button {
    opacity: 0;
    transform: translate3d(0,20px,0)
}

.p404 .o-intro.is-anim-in .o-button {
    opacity: 1;
    transform: translateZ(0);
    transition: opacity .3s cubic-bezier(.215,.61,.355,1) 1s,transform .3s cubic-bezier(.215,.61,.355,1) 1s
}

.services .o-image-banner {
    margin-bottom: 0
}

.services__ecosystem {
    position: relative;
    padding-top: 160px
}

@media (max-width: 810px) {
    .services__ecosystem {
        padding-top:80px
    }
}

.services__ecosystem:before {
    content: "";
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
    width: 100%;
    height: 100%;
    position: absolute;
    background: radial-gradient(circle,#0e1028 0,transparent 80%);
    z-index: -1
}

.services__offers {
    display: flex;
    flex-flow: row wrap;
    border-top: 1px solid hsla(0,0%,100%,.15)
}

.services__offers-last {
    position: relative;
    justify-content: center;
    flex-grow: 1
}

.services__offers-last:after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 4px;
    background-color: #00edd1
}

.services__offers-last:after,.services__offers-last h3 {
    background-image: linear-gradient(-270deg,#00edd1,#c7ff00)
}

.services__offers-last h3 {
    margin-bottom: 20px;
    color: #92e821;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent
}

.services__offers-last .o-service-item__desc {
    margin-top: 0
}

.services__formations {
    padding-top: 160px
}

@media (max-width: 810px) {
    .services__formations {
        padding-top:120px
    }
}

.services__formations-header {
    display: flex;
    flex-flow: row nowrap;
    align-items: center;
    margin-bottom: 80px
}

@media (max-width: 810px) {
    .services__formations-header {
        flex-direction:column;
        height: auto
    }
}

.services__formations-header-inner {
    height: 100%;
    display: flex;
    flex-flow: column nowrap;
    justify-content: center;
    padding: 0 80px
}

.services__formations-header-inner h2 {
    margin-bottom: 20px
}

@media (max-width: 810px) {
    .services__formations-header-inner h2 {
        margin-bottom:20px
    }
}

@media (max-width: 810px) {
    .services__formations-header-inner {
        padding:0 20px
    }
}

.services__formations-header-image {
    position: relative;
    margin-top: 1px;
    overflow: hidden;
    width: 42%;
    height: 100%;
    flex-shrink: 0
}

.services__formations-header-image:after {
    content: "";
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
    width: 100%;
    height: 100%;
    position: absolute;
    background-image: linear-gradient(-270deg,#00edd1,#c0f);
    opacity: .15
}

@media (max-width: 810px) {
    .services__formations-header-image {
        width:100%;
        margin-top: 80px
    }
}

.services__formations-header-image:before {
    content: "";
    display: block;
    padding-top: 100%
}

.services__formations-header-image img {
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
    width: 100%;
    height: 100%;
    position: absolute;
    object-fit: cover
}

.services__formations-grid {
    display: flex;
    flex-flow: row wrap;
    border-top: 1px solid hsla(0,0%,100%,.15)
}

.services__formations-last {
    position: relative;
    justify-content: flex-start;
    flex-grow: 1;
    padding-top: 100px
}

.services__formations-last:after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 4px;
    background-color: #00edd1;
    background-image: linear-gradient(-270deg,#00edd1,#c7ff00)
}

.services__formations-last h3 {
    margin-bottom: 20px;
    color: #92e821;
    background-image: linear-gradient(-270deg,#00edd1,#c7ff00);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent
}

.services__formations-last p {
    padding-bottom: 80px
}

.services__formations-last .o-icon {
    position: absolute;
    bottom: 40px;
    left: 40px
}

.no-touchevents .services__formations-last:focus .o-icon,.no-touchevents .services__formations-last:hover .o-icon {
    border: 1px solid #92e821;
    background-color: #92e821
}

.no-touchevents .services__formations-last:focus .o-icon svg,.no-touchevents .services__formations-last:hover .o-icon svg {
    fill: #000
}

.c-about-timeline {
    position: relative;
    display: flex;
    flex-flow: row nowrap;
    justify-content: flex-end;
    padding-top: 80px;
    padding-bottom: 160px;
    margin-top: -80px;
    border-bottom: 1px solid hsla(0,0%,100%,.15)
}

@media (max-width: 810px) {
    .c-about-timeline {
        justify-content:flex-start;
        padding-top: 60px;
        padding-bottom: 100px;
        margin-top: -60px
    }
}

.c-about-timeline__dates {
    position: absolute;
    top: 80px;
    left: 80px;
    width: 40%;
    overflow: hidden;
    color: #92e821
}

@media (max-width: 810px) {
    .c-about-timeline__dates {
        width:100px;
        top: 60px;
        left: 20px
    }
}

.c-about-timeline__dates-inner {
    position: absolute;
    top: 0;
    left: 0;
    transform: translateZ(0);
    transition: transform .3s linear
}

.c-about-timeline__date {
    font-size: 7.8rem;
    line-height: .8;
    font-weight: 500;
    opacity: 0;
    transition: opacity .3s cubic-bezier(.215,.61,.355,1);
    color: #00edd1;
    background-image: linear-gradient(-270deg,#00edd1,#c7ff00);
    background-size: 200% 200%;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    animation: gradientKeyframe 5s ease infinite;
    animation-play-state: paused
}

.c-about-timeline__date.is-active {
    opacity: 1
}

@media (max-width: 810px) {
    .c-about-timeline__date {
        font-size:2.5rem
    }
}

.c-about-timeline__skills {
    width: 50%;
    padding-left: 40px;
    padding-right: 120px
}

@media (max-width: 810px) {
    .c-about-timeline__skills {
        width:100%;
        margin-left: 140px;
        padding-left: 0;
        padding-right: 20px
    }
}

.c-about-timeline__skill {
    position: relative;
    margin-bottom: 120px;
    opacity: .2;
    transition: opacity .3s cubic-bezier(.215,.61,.355,1)
}

.c-about-timeline__skill.is-active {
    opacity: 1
}

.c-about-timeline__skill:after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 2px;
    width: 1px;
    height: 40px;
    margin-bottom: -60px;
    background-color: #fff
}

.c-about-timeline__skill:last-child {
    margin-bottom: 0
}

.c-about-timeline__skill:last-child:after {
    display: none
}

.c-about-timeline__skill-icon {
    display: flex;
    flex-flow: column wrap;
    justify-content: flex-end;
    height: 24px;
    width: 24px
}

.c-about-timeline__skill-icon div {
    width: 8px;
    height: 8px;
    background-color: #92e821;
    margin: 2px
}

.c-about-timeline.is-active .c-about-timeline__date.is-active {
    animation-play-state: running
}

.c-canvas {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    transition: opacity .2s cubic-bezier(.215,.61,.355,1);
    opacity: 1
}

[data-page=home] .c-canvas {
    transition-duration: 1s
}

.webgl-debug .c-canvas {
    z-index: 2
}

.no-webgl .c-canvas {
    background-size: cover;
    background-repeat: no-repeat;
    background-color: #1e2251;
    transition: background-image .5s cubic-bezier(.215,.61,.355,1)
}

.no-webgl .c-canvas[data-background=generic] {
    background-image: url(/dist/assets/fallback/desktop-generic.jpg)
}

@media (max-width: 480px) {
    .no-webgl .c-canvas[data-background=generic] {
        background-image:url(/dist/assets/fallback/mobile-generic.jpg)
    }
}

.no-webgl .c-canvas[data-background=home-section-0] {
    background-image: url(/dist/assets/fallback/desktop-0.jpg)
}

@media (max-width: 480px) {
    .no-webgl .c-canvas {
        background-image:url(/dist/assets/fallback/mobile-0.jpg)
    }
}

.no-webgl .c-canvas[data-background=home-section-1] {
    background-image: url(/dist/assets/fallback/desktop-1.jpg)
}

@media (max-width: 480px) {
    .no-webgl .c-canvas {
        background-image:url(/dist/assets/fallback/mobile-1.jpg)
    }
}

.no-webgl .c-canvas[data-background=home-section-2] {
    background-image: url(/dist/assets/fallback/desktop-2.jpg)
}

@media (max-width: 480px) {
    .no-webgl .c-canvas {
        background-image:url(/dist/assets/fallback/mobile-2.jpg)
    }
}

.no-webgl .c-canvas[data-background=home-section-3] {
    background-image: url(/dist/assets/fallback/desktop-3.jpg)
}

@media (max-width: 480px) {
    .no-webgl .c-canvas {
        background-image:url(/dist/assets/fallback/mobile-3.jpg)
    }
}

.no-webgl .c-canvas[data-background=home-section-4] {
    background-image: url(/dist/assets/fallback/desktop-4.jpg)
}

@media (max-width: 480px) {
    .no-webgl .c-canvas {
        background-image:url(/dist/assets/fallback/mobile-4.jpg)
    }
}

.no-webgl .c-canvas[data-background=home-section-5] {
    background-image: url(/dist/assets/fallback/desktop-5.jpg)
}

@media (max-width: 480px) {
    .no-webgl .c-canvas {
        background-image:url(/dist/assets/fallback/mobile-5.jpg)
    }
}

.no-webgl .c-canvas[data-background=home-section-6] {
    background-image: url(/dist/assets/fallback/desktop-6.jpg)
}

@media (max-width: 480px) {
    .no-webgl .c-canvas {
        background-image:url(/dist/assets/fallback/mobile-6.jpg)
    }
}

.no-webgl .c-canvas[data-background=home-section-7] {
    background-image: url(/dist/assets/fallback/desktop-7.jpg)
}

@media (max-width: 480px) {
    .no-webgl .c-canvas {
        background-image:url(/dist/assets/fallback/mobile-7.jpg)
    }
}

.dg.ac {
    display: none;
    z-index: -1!important;
    display: block;
    z-index: 3!important
}

.webgl-debug .dg.ac {
    display: block;
    z-index: 3!important
}

.c-footer {
    position: relative;
    display: flex;
    flex-flow: row nowrap;
    border-top: 1px solid hsla(0,0%,100%,.15);
    height: 100vh;
    height: calc(var(--vh, 1vh)*100)
}

@media (max-width: 810px) {
    .c-footer {
        flex-direction:column-reverse;
        justify-content: center;
        padding-bottom: 160px
    }
}

@media (max-width: 374px) {
    .c-footer .o-icon {
        width:30px;
        height: 30px
    }

    .c-footer .o-icon svg {
        width: 12px!important;
        height: 12px!important;
        margin-top: -6px!important;
        margin-left: -6px!important
    }
}

.c-footer.is-active .c-footer__contact-text {
    animation-play-state: running
}

.c-footer__left {
    position: relative;
    height: 100%;
    width: 22vw;
    flex-shrink: 0
}

@media (max-width: 1440px) {
    .c-footer__left {
        width:320px
    }
}

@media (max-width: 810px) {
    .c-footer__left {
        height:auto;
        width: 100%
    }
}

.c-footer__left:before {
    content: "";
    display: block;
    position: absolute;
    right: 0;
    top: 0;
    width: 1px;
    height: 100%;
    background-color: #fff;
    opacity: .15
}

@media (max-width: 810px) {
    .c-footer__left:before {
        left:0;
        width: 100%;
        height: 1px
    }
}

.c-footer__block {
    position: relative;
    display: flex;
    flex-flow: column nowrap;
    justify-content: center;
    height: 50%;
    padding: 0 60px
}

@media (max-width: 810px) {
    .c-footer__block--networks {
        flex-direction:row;
        justify-content: space-between;
        align-items: center
    }
}

@media (max-width: 374px) {
    .c-footer__block--networks {
        padding-bottom:0!important
    }
}

@media (max-width: 1024px) {
    .c-footer__block {
        padding:0 40px
    }
}

@media (max-width: 810px) {
    .c-footer__block {
        height:auto;
        padding: 40px 20px
    }
}

@media (max-width: 480px) {
    .c-footer__block {
        padding:20px
    }
}

.c-footer__block:first-child:after {
    content: "";
    display: block;
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 1px;
    background-color: #fff;
    opacity: .15
}

.c-footer__message {
    margin-bottom: 20px
}

@media (max-width: 374px) {
    .c-footer__message {
        margin-bottom:10px!important
    }
}

.c-footer__news {
    margin-bottom: 20px
}

@media (max-width: 810px) {
    .c-footer__news {
        display:inline-block;
        margin-bottom: 0
    }
}

@media (max-width: 480px) {
    .c-footer__news {
        line-height:1.2
    }
}

.c-footer__networks {
    display: flex;
    flex-flow: row nowrap
}

@media (max-width: 810px) {
    .c-footer__networks {
        width:40%;
        justify-content: flex-end;
        align-items: center
    }
}

.c-footer__networks-item {
    margin-right: 10px
}

.c-footer__networks-item:last-child {
    margin-right: 0
}

.c-footer__networks-item svg {
    width: 16px!important;
    height: 16px!important;
    margin-top: -8px!important;
    margin-left: -8px!important
}

.c-footer__right {
    position: relative;
    display: flex;
    flex-flow: column nowrap;
    justify-content: center;
    flex-grow: 1;
    padding-left: 160px;
    padding-right: 200px
}

@media (max-width: 1280px) {
    .c-footer__right {
        padding-left:80px;
        padding-right: 120px
    }
}

@media (max-width: 1024px) {
    .c-footer__right {
        padding-left:40px;
        padding-right: 40px
    }
}

@media (max-width: 810px) {
    .c-footer__right {
        flex-grow:0;
        padding: 80px 20px 40px
    }
}

.c-footer__right-inner {
    position: relative
}

@media (max-width: 810px) {
    .c-footer__contact-title {
        font-size:2rem;
        line-height: 1.125
    }
}

@media (max-width: 480px) {
    .c-footer__contact-title {
        font-size:1.75rem
    }
}

@media (max-width: 374px) {
    .c-footer__contact-title {
        font-size:1.5rem
    }
}

.c-footer__contact-text {
    width: 66%;
    margin-top: 40px;
    margin-bottom: 80px;
    color: #00edd1;
    background-image: linear-gradient(-270deg,#00edd1,#c7ff00);
    background-size: 200% 200%;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    animation: gradientKeyframe 5s ease infinite;
    animation-play-state: paused
}

@media (max-width: 810px) {
    .c-footer__contact-text {
        width:100%;
        margin-bottom: 40px
    }
}

@media (max-width: 480px) {
    .c-footer__contact-text {
        margin:10px 0;
        font-size: 1.25rem;
        line-height: 1.15
    }
}

@media (max-width: 374px) {
    .c-footer__contact-text {
        font-size:1rem
    }
}

.c-footer__details {
    position: absolute;
    bottom: 80px;
    right: 80px;
    display: flex;
    flex-flow: row nowrap;
    color: #fff;
    line-height: 1
}

@media (max-width: 810px) {
    .c-footer__details {
        bottom:20px;
        left: 20px;
        right: auto;
        flex-flow: column nowrap
    }
}

.c-footer__details span {
    padding: 0 5px;
    opacity: .5
}

@media (max-width: 810px) {
    .c-footer__details span {
        display:none
    }
}

.c-footer__copyright {
    opacity: .5
}

.c-footer__privacy {
    color: inherit;
    opacity: .5;
    transition: opacity .3s cubic-bezier(.215,.61,.355,1)
}

.c-footer__privacy:focus,.c-footer__privacy:hover {
    opacity: 1
}

@media (max-width: 810px) {
    .c-footer__privacy {
        margin-top:5px
    }
}

.c-footer__image {
    position: relative;
    position: absolute;
    top: 80px;
    right: 80px;
    width: 30%;
    z-index: 0
}

.c-footer__image:after {
    content: "";
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
    width: 100%;
    height: 100%;
    position: absolute;
    background-image: linear-gradient(-270deg,#00edd1,#c0f);
    opacity: .15
}

@media (max-width: 810px) {
    .c-footer__image {
        display:none
    }
}

.c-footer__image img {
    width: 100%
}

.c-footer .hs_email {
    margin-bottom: 20px!important
}

@media (max-width: 374px) {
    .c-footer .hs_email input {
        margin-bottom:10px!important
    }
}

@media (max-width: 374px) {
    .c-footer .hs_submit input {
        padding:15px 20px!important
    }
}

.c-header {
    position: fixed;
    top: 0;
    left: 0;
    width: 22vw;
    height: 100%;
    z-index: 2;
    display: flex;
    flex-flow: column nowrap;
    padding: 80px 0 80px 60px
}

[data-page=home] .c-header {
    transform: translateZ(0);
    transition: transform 1s cubic-bezier(.215,.61,.355,1)
}

.c-header.is-inactive a {
    visibility: hidden
}

@media (max-width: 1440px) {
    .c-header {
        width:320px
    }
}

@media (max-width: 1024px) {
    .c-header {
        width:100%;
        height: 60px;
        padding: 0 20px;
        flex-direction: row;
        justify-content: space-between;
        align-items: center;
        background-color: #000
    }
}

.c-header:before {
    content: "";
    display: block;
    position: absolute;
    right: 0;
    top: 0;
    bottom: 0;
    width: 1px;
    background-color: #fff;
    opacity: .15
}

@media (max-width: 1024px) {
    .c-header:before {
        top:auto;
        left: 0;
        bottom: 0;
        width: 100%;
        height: 1px
    }
}

.c-header__bg {
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
    width: 100%;
    height: 100%;
    position: absolute;
    z-index: -1;
    background-color: #000;
    display: none;
    pointer-events: none
}

@media (max-width: 1024px) {
    .c-header__bg {
        display:block
    }
}

.c-header__logo {
    display: block;
    width: 50%
}

@media (max-width: 1024px) {
    .c-header__logo {
        width:132px;
        height: 40px;
        padding-right: 0
    }
}

.c-header__logo svg {
    width: 100%;
    pointer-events: none
}

.c-header__burger {
    padding: 10px;
    overflow: visible;
    border: 0;
    background-color: transparent;
    display: none
}

@media (max-width: 1024px) {
    .c-header__burger {
        display:block
    }
}

.c-header__burger .a11y-close,.c-header__burger.is-active .a11y-open {
    display: none
}

.c-header__burger.is-active .a11y-close {
    display: block
}

.c-header__burger.is-active .c-header__burger-inner {
    transform: rotate(45deg) translateZ(0);
    transition-delay: .12s;
    transition-timing-function: cubic-bezier(.215,.61,.355,1)
}

.c-header__burger.is-active .c-header__burger-inner:before {
    top: 0;
    opacity: 0;
    transition: top 75ms ease,opacity 75ms ease .12s
}

.c-header__burger.is-active .c-header__burger-inner:after {
    bottom: 0;
    transform: rotate(90deg) translateZ(0);
    transition: bottom 75ms ease,transform 75ms cubic-bezier(.215,.61,.355,1) .12s
}

.c-header__burger-box {
    position: relative;
    display: inline-block;
    width: 30px;
    height: 13px
}

.c-header__burger-inner {
    position: absolute;
    left: 0;
    width: 30px;
    height: 1px;
    top: 50%;
    margin-top: -1px;
    background-color: #fff;
    transition-timing-function: cubic-bezier(.55,.055,.675,.19);
    transition-duration: 75ms
}

.c-header__burger-inner:after,.c-header__burger-inner:before {
    content: "";
    position: absolute;
    display: block;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: #fff
}

.c-header__burger-inner:before {
    top: -6px;
    transition: top 75ms ease .12s,opacity 75ms ease
}

.c-header__burger-inner:after {
    bottom: -6px;
    transition: bottom 75ms ease .12s,transform 75ms cubic-bezier(.55,.055,.675,.19)
}

.c-header__nav {
    position: relative;
    margin-top: auto
}

@media (max-width: 1024px) {
    .c-header__nav {
        position:absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100vh;
        height: calc(var(--vh, 1vh)*100);
        display: flex;
        flex-flow: column nowrap;
        justify-content: center;
        padding-left: 20px;
        z-index: -1;
        transform: translate3d(-100%,0,0);
        transition: transform 0s linear .2s;
        pointer-events: none
    }

    .c-header__nav.is-active {
        transform: translateZ(0);
        pointer-events: auto;
        transition-delay: 0s
    }

    .c-header__nav.is-active .c-header__nav-list {
        opacity: 1;
        transition: opacity .3s cubic-bezier(.215,.61,.355,1) .3s
    }

    .c-header__nav.is-active .c-header__networks {
        opacity: 1;
        transition: opacity .3s cubic-bezier(.215,.61,.355,1) .4s
    }

    .c-header__nav.is-active:before {
        transform: translateZ(0);
        transition-duration: .3s
    }

    .c-header__nav:before {
        content: "";
        top: 0;
        left: 0;
        bottom: 0;
        right: 0;
        width: 100%;
        height: 100%;
        position: absolute;
        background-color: #000;
        transform: translate3d(-100%,0,0);
        transition: transform .2s cubic-bezier(.215,.61,.355,1)
    }
}

.c-header__nav-list {
    opacity: 1;
    transform: translateZ(0);
    transition: opacity .3s cubic-bezier(.215,.61,.355,1),transform .3s cubic-bezier(.215,.61,.355,1)
}

@media (min-width: 1025px) {
    .c-header__nav-list.is-inactive {
        pointer-events:none;
        visibility: hidden;
        opacity: 0;
        transform: translate3d(-100%,0,0)
    }
}

@media (max-width: 1024px) {
    .c-header__nav-list {
        opacity:0
    }
}

.c-header__nav-item {
    position: relative;
    color: #fff;
    transition: color .3s cubic-bezier(.215,.61,.355,1);
    margin-bottom: 5px
}

.c-header__nav-item--lang {
    font-weight: 400;
    margin-top: 20px;
    margin-bottom: -15px
}

.c-header__nav-item--careers i {
    display: inline-block;
    width: 20px;
    height: 20px;
    vertical-align: middle
}

@media (max-width: 1024px) {
    .c-header__nav-item--careers i {
        width:30px;
        height: 30px
    }
}

.c-header__nav-item--careers i svg {
    width: 100%;
    height: 100%;
    fill: #fff;
    transition: fill .3s cubic-bezier(.215,.61,.355,1)
}

@media (max-width: 1024px) {
    .c-header__nav-item {
        font-size:2rem;
        line-height: 1.125;
        text-transform: none
    }

    .c-header__nav-item--lang {
        font-size: 1rem;
        line-height: 1.625;
        text-transform: uppercase
    }
}

@media (max-width: 810px) {
    .c-header__nav-item {
        margin:20px 0
    }
}

@media (max-width: 480px) {
    .c-header__nav-item {
        margin:0
    }
}

.c-header__nav-item:before {
    content: "";
    display: block;
    position: absolute;
    top: 50%;
    left: -20px;
    width: 5px;
    height: 5px;
    margin-top: -2.5px;
    background-color: #92e821;
    opacity: 0;
    transform: translateX(-5px) translateZ(0);
    transition: opacity .3s cubic-bezier(.215,.61,.355,1),transform .3s cubic-bezier(.215,.61,.355,1)
}

@media (max-width: 1024px) {
    .c-header__nav-item:before {
        left:-20px
    }
}

.c-header__nav-item:after {
    content: "";
    display: block;
    position: absolute;
    right: 0;
    top: 0;
    width: 1px;
    height: 100%;
    background-color: #92e821;
    opacity: 0;
    transform: scaleY(0) translateZ(0);
    transition: opacity .3s cubic-bezier(.215,.61,.355,1),transform .3s cubic-bezier(.215,.61,.355,1)
}

.c-header__nav-item:hover {
    color: #92e821
}

.c-header__nav-item:hover svg {
    fill: #92e821
}

.c-header__nav-item.is-active {
    color: #92e821;
    opacity: 1
}

.c-header__nav-item.is-active:before {
    opacity: 1;
    transform: translateX(0) translateZ(0)
}

.c-header__nav-item.is-active:after {
    opacity: 1;
    transform: scaleY(1) translateZ(0)
}

.c-header__nav-link {
    display: inline-block;
    padding: 10px 10px 10px 0;
    color: inherit
}

.c-header__details {
    position: absolute;
    bottom: 0;
    left: 0;
    opacity: 0;
    transform: translate3d(100%,0,0);
    transition: opacity .3s cubic-bezier(.215,.61,.355,1),transform .3s cubic-bezier(.215,.61,.355,1)
}

.c-header__details.is-active {
    opacity: 1;
    transform: translateZ(0)
}

.c-header__details .o-details__item {
    margin-bottom: 40px
}

.c-header__details .o-details__item:last-child {
    margin-bottom: 0
}

.c-header__details .o-details__item--download a {
    position: relative;
    color: #000
}

.c-header__details .o-details__item--download a:before {
    content: "";
    position: absolute;
    top: -15px;
    left: -20px;
    width: calc(100% + 40px);
    height: calc(100% + 30px);
    background-color: #92e821;
    border-radius: 30px;
    transition: background-color .3s cubic-bezier(.215,.61,.355,1)
}

.c-header__details .o-details__item--download a:hover:before {
    background-color: #fff
}

.c-header__details .o-details__item--download a span {
    position: relative;
    pointer-events: none
}

.c-header__details .o-details__item--download a i {
    position: relative;
    top: 6px;
    display: inline-block;
    width: 20px;
    height: 20px;
    pointer-events: none
}

.c-header__details .o-details__item--download a i svg {
    width: 100%;
    height: 100%
}

.c-header__details .o-details__item ul li {
    text-transform: none
}

.c-header__details .o-details__item ul li:after {
    display: none
}

.c-header__details .o-details__title {
    text-transform: uppercase;
    margin-bottom: 10px
}

.c-header__details .o-details__link {
    display: block;
    margin-bottom: 20px;
    color: #fff;
    transition: color .3s cubic-bezier(.215,.61,.355,1)
}

.c-header__details .o-details__link:hover {
    color: #92e821
}

@media (max-width: 1024px) {
    .c-header__details {
        display:none
    }
}

.c-header__networks {
    display: none
}

@media (max-width: 1024px) {
    .c-header__networks {
        position:absolute;
        bottom: 20px;
        left: 20px;
        display: flex;
        flex-flow: row nowrap;
        opacity: 0;
        transition: opacity .2s cubic-bezier(.215,.61,.355,1)
    }
}

.c-header__networks-item {
    margin-right: 20px
}

.c-header__networks-item:last-child {
    margin-right: 0
}

.c-contact-form {
    display: flex;
    flex-flow: row nowrap;
    justify-content: space-between;
    padding-top: 40px
}

@media (max-width: 1024px) {
    .c-contact-form {
        flex-direction:column
    }
}

.c-contact-form form {
    width: 100%;
    display: grid;
    grid-template-columns: 33% 50%;
    column-gap: 22%
}

@media (max-width: 1024px) {
    .c-contact-form form {
        grid-template-columns:repeat(1,1fr);
        column-gap: 0
    }
}

.c-contact-form .hs_company,.c-contact-form .hs_email,.c-contact-form .hs_firstname,.c-contact-form .hs_lastname {
    grid-column: 1
}

.c-contact-form .hs_objet_de_la_demande {
    grid-column: 2;
    grid-row: 1
}

.c-contact-form .hs_message {
    grid-column: 2;
    grid-row: 2
}

.c-contact-form .hs_recaptcha {
    grid-column: 2;
    grid-row: 3
}

.c-contact-form .hs_submit {
    grid-column: 2;
    grid-row: 4;
    margin-top: 20px
}

@media (max-width: 1024px) {
    .c-contact-form .hs_submit {
        grid-column:1;
        grid-row: auto
    }
}

.c-contact-form .hs_submit input {
    background: none;
    background-color: transparent;
    color: #fff;
    font-family: Fracktif;
    padding: 20px;
    border: 1px solid #fff;
    border-radius: 33px;
    transition: background-color .3s cubic-bezier(.215,.61,.355,1),border .3s cubic-bezier(.215,.61,.355,1),color .3s cubic-bezier(.215,.61,.355,1)
}

.no-touchevents .c-contact-form .hs_submit input:focus,.no-touchevents .c-contact-form .hs_submit input:hover {
    border: 1px solid #92e821;
    background-color: #92e821;
    color: #000;
    transition-delay: .15s
}

.c-contact-form .hs-form-field {
    display: inline-block;
    position: relative;
    width: 100%;
    margin-bottom: 20px
}

@media (max-width: 1024px) {
    .c-contact-form .hs-form-field {
        margin-bottom:20px;
        grid-column: 1;
        grid-row: auto
    }
}

.c-contact-form .hs-form-field .hs-error-msg {
    font-size: .75rem;
    margin-top: 5px;
    transition: opacity .2s cubic-bezier(.215,.61,.355,1);
    color: #bd2424
}

.c-contact-form input,.c-contact-form select,.c-contact-form textarea {
    display: block;
    width: 100%;
    background: none;
    border-radius: 0;
    padding: 20px 0;
    border: none;
    border-bottom: 1px solid hsla(0,0%,100%,.4);
    color: #fff;
    outline: 0;
    transition: border-bottom .2s cubic-bezier(.215,.61,.355,1)
}

.c-contact-form input:-webkit-autofill,.c-contact-form select:-webkit-autofill,.c-contact-form textarea:-webkit-autofill {
    -webkit-text-fill-color: #fff;
    transition: background-color 5000s ease-in-out 0s
}

.c-contact-form input:focus,.c-contact-form select:focus,.c-contact-form textarea:focus {
    border-bottom: 1px solid #fff
}

.c-contact-form textarea {
    resize: none
}

.c-contact-form select {
    -webkit-appearance: none;
    -moz-appearance: none;
    border-radius: 0
}

.c-contact-form select option {
    color: #000
}

.c-contact-form select+svg {
    position: absolute;
    top: 15px;
    right: 0;
    width: 20px;
    height: 20px;
    fill: #fff
}

.c-contact-form button {
    background: none
}

.is-loading .c-filters {
    pointer-events: none
}

.c-filters.is-open .c-filters__header-button {
    color: #000
}

.c-filters.is-open .c-filters__header-button i:first-child {
    opacity: 0
}

.c-filters.is-open .c-filters__header-button i:last-child {
    opacity: 1
}

.c-filters.is-open .c-filters__panel {
    visibility: visible;
    pointer-events: auto
}

.c-filters.is-open .c-filters__panel-bg {
    transform: scaleY(1) translateZ(0)
}

.c-filters.is-open .c-filters__panel-inner {
    opacity: 1;
    transition-delay: .3s
}

.c-filters__header {
    position: relative;
    border-top: 1px solid hsla(0,0%,100%,.15);
    border-bottom: 1px solid hsla(0,0%,100%,.15);
    z-index: 1
}

.c-filters__header-button {
    position: relative;
    display: flex;
    flex-flow: row nowrap;
    justify-content: space-between;
    align-items: center;
    width: 100%;
    z-index: 1;
    padding: 20px 80px;
    outline: 0;
    background-color: transparent;
    color: #fff;
    transition: background-color .3s cubic-bezier(.215,.61,.355,1),color .3s cubic-bezier(.215,.61,.355,1)
}

@media (max-width: 480px) {
    .c-filters__header-button {
        padding:10px 20px
    }
}

.no-touchevents .c-filters__header-button:hover,.tab-mode .c-filters__header-button:focus {
    background-color: #fff;
    color: #000
}

.no-touchevents .c-filters__header-button:hover i,.tab-mode .c-filters__header-button:focus i {
    border: 1px solid #92e821;
    box-shadow: none;
    background-color: #92e821
}

.no-touchevents .c-filters__header-button:hover i svg,.tab-mode .c-filters__header-button:focus i svg {
    fill: #000
}

.c-filters__header-icon {
    position: relative
}

.c-filters__header-icon i {
    transition: opacity .3s cubic-bezier(.215,.61,.355,1),background-color .3s cubic-bezier(.215,.61,.355,1),border .3s cubic-bezier(.215,.61,.355,1)
}

.c-filters__header-icon i svg {
    transition: fill .3s cubic-bezier(.215,.61,.355,1)
}

.c-filters__header-icon i:first-child {
    opacity: 1
}

.c-filters__header-icon i:last-child {
    opacity: 0;
    position: absolute;
    top: 0;
    left: 0
}

.c-filters__header-icon i:last-child svg {
    width: 12px;
    height: 12px;
    margin-top: -6px;
    margin-left: -6px;
    transform: rotate(90deg)
}

.c-filters__panel {
    visibility: hidden;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    padding: 100px 80px 20px;
    z-index: 0;
    pointer-events: none
}

@media (max-width: 480px) {
    .c-filters__panel {
        padding:100px 0 20px
    }
}

.c-filters__panel-bg {
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
    width: 100%;
    height: 100%;
    position: absolute;
    background-color: #fff;
    z-index: -1;
    transform-origin: 50% 0;
    transform: scaleY(0) translateZ(0);
    transition: transform .3s cubic-bezier(.215,.61,.355,1)
}

.c-filters__panel-inner {
    display: flex;
    flex-flow: row wrap;
    opacity: 0;
    transition: opacity .3s cubic-bezier(.215,.61,.355,1)
}

@media (max-width: 480px) {
    .c-filters__panel-inner {
        flex-direction:column;
        padding-left: 20px
    }
}

.c-filters__panel-item {
    width: 50%;
    margin-bottom: 20px
}

@media (max-width: 480px) {
    .c-filters__panel-item {
        width:100%
    }
}

.c-filters__panel-btn {
    position: relative;
    font-family: Fracktif;
    padding: 0 10px;
    margin-left: -10px;
    background-color: transparent;
    outline: 0
}

@media (max-width: 480px) {
    .c-filters__panel-btn {
        padding:0 20px;
        margin-left: -20px
    }
}

.c-filters__panel-btn:before {
    content: "";
    position: absolute;
    top: -5px;
    left: -20px;
    width: calc(100% + 20px);
    height: calc(100% + 10px);
    background-color: transparent;
    border-radius: 18px;
    transition: background-color .3s cubic-bezier(.215,.61,.355,1)
}

@media (max-width: 480px) {
    .c-filters__panel-btn:before {
        left:-10px;
        width: calc(100% + 10px)
    }
}

.c-filters__panel-btn:after {
    content: "";
    position: absolute;
    top: 50%;
    left: -5px;
    width: 4px;
    height: 4px;
    margin-top: -2px;
    background-color: #000;
    opacity: 0;
    transition: opacity .3s cubic-bezier(.215,.61,.355,1)
}

@media (max-width: 480px) {
    .c-filters__panel-btn:after {
        left:5px
    }
}

.c-filters__panel-btn.is-active:before,.c-filters__panel-btn:hover:before,.tab-mode .c-filters__panel-btn:focus:before {
    background-color: #92e821
}

.c-filters__panel-btn.is-active:after,.c-filters__panel-btn:hover:after,.tab-mode .c-filters__panel-btn:focus:after {
    opacity: 1
}

.c-filters__panel-btn--all.is-active {
    pointer-events: none
}

.c-filters__panel-btn span {
    position: relative;
    pointer-events: none
}

.c-filters__spacer {
    max-height: 0;
    transition: max-height .3s cubic-bezier(.215,.61,.355,1)
}

.c-filters__more {
    display: flex;
    flex-flow: column nowrap;
    align-items: center;
    padding: 80px 0;
    border-bottom: 1px solid hsla(0,0%,100%,.15)
}

.c-filters__more.is-inactive {
    display: none
}

@media (max-width: 480px) {
    .c-filters__more {
        padding:40px 0
    }
}

.c-filters__more-button {
    position: relative;
    width: 130px;
    height: 130px;
    border-radius: 50%;
    border: 1px solid #fff;
    outline: 0;
    background-color: transparent;
    font-family: Fracktif;
    color: #fff;
    transition: background-color .3s cubic-bezier(.215,.61,.355,1),color .3s cubic-bezier(.215,.61,.355,1),border .3s cubic-bezier(.215,.61,.355,1)
}

.no-touchevents .c-filters__more-button:hover,.tab-mode .c-filters__more-button:focus {
    background-color: #92e821;
    color: #000;
    border: 1px solid #92e821
}

.no-touchevents .c-filters__more-button:hover i svg,.tab-mode .c-filters__more-button:focus i svg {
    fill: #000
}

.c-filters__more-button i {
    position: absolute;
    display: block;
    bottom: 20px;
    left: 50%;
    margin-left: -10px;
    width: 20px;
    height: 20px
}

.c-filters__more-button i svg {
    width: 100%;
    height: 100%;
    fill: #fff;
    transition: fill .3s cubic-bezier(.215,.61,.355,1)
}

.c-example {
    color: #f0f
}

.c-home-scroller {
    position: relative;
    height: 100vh;
    height: calc(var(--vh, 1vh)*100)
}

.c-home-scroller__inner {
    height: 100%;
    transform: translateZ(0);
    transition: transform 0s linear .3s
}

.c-home-scroller__nav {
    position: fixed;
    right: 80px;
    top: 100vh;
    top: calc(var(--vh, 1vh)*100);
    transform: translateY(-100%) translateY(-80px);
    visibility: hidden;
    opacity: 0;
    pointer-events: none;
    transition: opacity .3s cubic-bezier(.215,.61,.355,1)
}

@media (max-width: 810px) {
    .c-home-scroller__nav {
        right:40px;
        transform: translateY(-100%) translateY(-60px)
    }
}

.c-home-scroller__nav.is-active {
    visibility: visible;
    opacity: 1;
    pointer-events: auto;
    transition: opacity .3s cubic-bezier(.215,.61,.355,1) .5s
}

.c-home-scroller__nav-indicator {
    position: absolute;
    right: -10px;
    width: 25px;
    height: 25px;
    top: 0;
    transform: translateZ(0);
    transition: transform .3s cubic-bezier(.645,.045,.355,1)
}

.c-home-scroller__nav-indicator:after {
    content: "";
    position: absolute;
    right: 0;
    top: 50%;
    width: 4px;
    height: 4px;
    margin-top: -2px;
    background-color: #92e821;
    transition: opacity .3s cubic-bezier(.215,.61,.355,1),transform .3s cubic-bezier(.215,.61,.355,1)
}

@media screen and (min-width: 1800px) {
    .c-home-scroller__nav-indicator {
        width:29px;
        height: 29px
    }
}

@media screen and (min-width: 2400px) {
    .c-home-scroller__nav-indicator {
        width:35px;
        height: 35px
    }
}

.c-home-scroller__nav-item {
    position: relative
}

.c-home-scroller__nav-item button.is-active {
    color: #92e821;
    opacity: 1
}

.c-home-scroller__nav-item button {
    font-family: Fracktif;
    padding: 5px;
    background: none;
    color: #fff;
    opacity: .5;
    transition: color .3s cubic-bezier(.215,.61,.355,1),opacity .3s cubic-bezier(.215,.61,.355,1);
    outline: none
}

@media (max-width: 810px) {
    .c-home-scroller__nav-item button {
        padding:5px
    }
}

.no-touchevents .c-home-scroller__nav-item button:hover {
    color: #92e821;
    opacity: 1
}

.tab-mode .c-home-scroller__nav-item button:focus {
    outline: 2px solid #92e821
}

.c-home-scroller-progress {
    position: fixed;
    top: 0;
    left: 22vw;
    margin-left: -1px;
    width: 1px;
    height: 100vh;
    z-index: 0;
    transform: translateZ(0);
    transition: transform 1s cubic-bezier(.215,.61,.355,1)
}

@media (max-width: 1440px) {
    .c-home-scroller-progress {
        left:320px
    }
}

@media (max-width: 1024px) {
    .c-home-scroller-progress {
        left:0;
        margin-left: 0
    }
}

.c-home-scroller-progress__inner {
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
    width: 100%;
    height: 100%;
    position: absolute;
    background-image: linear-gradient(0,#00edd1,#c7ff00);
    transform-origin: 50% 0;
    transform: scaleY(0);
    transition: transform .4s linear
}

.c-newsletter-form .hs-form-field {
    margin-bottom: 30px
}

.c-newsletter-form .hs-form-field input {
    position: relative;
    display: block;
    width: 100%;
    padding: 10px 0;
    margin-bottom: 10px;
    color: #fff;
    font-family: Fracktif;
    background: none;
    outline: 0;
    border: none;
    border-bottom: 1px solid hsla(0,0%,100%,.4);
    transition: border-bottom .2s cubic-bezier(.215,.61,.355,1)
}

.c-newsletter-form .hs-form-field input:focus {
    border-bottom: 1px solid #fff
}

.c-newsletter-form .hs-form-field input:-webkit-autofill {
    -webkit-text-fill-color: #fff;
    transition: background-color 5000s ease-in-out 0s
}

@media (max-width: 810px) {
    .c-newsletter-form .hs-form-field input {
        width:50%
    }
}

@media (max-width: 480px) {
    .c-newsletter-form .hs-form-field input {
        width:100%;
        margin-bottom: 20px
    }
}

.c-newsletter-form .hs_submit input {
    background: none;
    background-color: transparent;
    color: #fff;
    font-family: Fracktif;
    padding: 20px;
    border: 1px solid #fff;
    border-radius: 33px;
    transition: background-color .3s cubic-bezier(.215,.61,.355,1),border .3s cubic-bezier(.215,.61,.355,1),color .3s cubic-bezier(.215,.61,.355,1)
}

.no-touchevents .c-newsletter-form .hs_submit input:focus,.no-touchevents .c-newsletter-form .hs_submit input:hover {
    border: 1px solid #92e821;
    background-color: #92e821;
    color: #000;
    transition-delay: .15s
}

.c-newsletter-form .hs-error-msgs {
    font-size: .75rem;
    color: #bd2424
}

.c-newsletter-form .hs-error-msgs label {
    text-transform: none
}

.c-newsletter-form .hs_error_rollup {
    display: none
}

.o-button {
    position: relative;
    display: inline-flex;
    flex-flow: row nowrap;
    align-items: center;
    color: #fff
}

.o-button--black {
    color: #000
}

.o-button__label {
    margin-left: 20px;
    pointer-events: none
}

.o-button .o-icon {
    transition: background-color .3s cubic-bezier(.215,.61,.355,1),border .3s cubic-bezier(.215,.61,.355,1);
    pointer-events: none
}

.o-button .o-icon svg {
    transition: fill .15s cubic-bezier(.215,.61,.355,1)
}

.no-touchevents .o-button:focus .o-icon,.no-touchevents .o-button:hover .o-icon {
    border: 1px solid #92e821;
    background-color: #92e821;
    transition-delay: .15s
}

.no-touchevents .o-button:focus .o-icon svg,.no-touchevents .o-button:hover .o-icon svg {
    fill: #000!important;
    transition-delay: .15s
}

.c-content-header {
    position: relative;
    height: 128px;
    z-index: 1;
    padding: 40px 80px;
    background-color: #fff;
    border-bottom: 1px solid #000
}

@media (max-width: 1280px) {
    .c-content-header {
        padding:40px
    }
}

@media (max-width: 1024px) {
    .c-content-header {
        height:60px;
        padding: 10px 20px
    }

    .c-content-header .o-icon {
        width: 38px;
        height: 38px
    }
}

.c-content-header.is-clone {
    display: none;
    position: fixed;
    top: 0;
    right: 0;
    width: 78%;
    max-width: calc(100% - 320px);
    transform: translate3d(0,-100%,0);
    transition: transform .4s cubic-bezier(.215,.61,.355,1)
}

.c-content-header.is-clone.is-active {
    display: block
}

@media (max-width: 1024px) {
    .c-content-header.is-clone {
        top:60px;
        width: 100%;
        max-width: none
    }
}

[data-scroll-direction=up] .c-content-header.is-clone {
    transform: translateZ(0)
}

.o-icon {
    position: relative;
    display: inline-block;
    flex-shrink: 0;
    width: 47px;
    height: 47px;
    border-radius: 50%;
    border: 1px solid #fff;
    box-shadow: 0 0 1px #fff
}

.o-icon svg {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 20px;
    height: 20px;
    margin-top: -10px;
    margin-left: -10px;
    fill: #fff
}

.o-icon--black {
    border: 1px solid #000;
    box-shadow: 0 0 1px #000
}

.o-icon--black svg {
    fill: #000
}

.o-icon--green {
    border: none;
    box-shadow: none;
    background-color: #92e821
}

.o-icon--green svg {
    fill: #000
}

.o-icon--small {
    width: 30px;
    height: 30px
}

.o-icon--small svg {
    width: 12px;
    height: 12px;
    margin-top: -6px;
    margin-left: -6px
}

body {
    font-family: Fracktif,Arial,sans-serif;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale
}
