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: #31abef;
	color: #fff
}



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: 99%;
	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, #31abef 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: #31abef
	}
	.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 #31abef;
	background-color: #31abef;
	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: #31abef
}

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

.o-content-blocks__item strong {
	color: #31abef;
	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: #31abef;
	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: 2.0rem
	}
}

@media (max-width:480px) {
	.o-intro--home .o-intro__title {
		font-size: 1.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: .8!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: #31abef
}

.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 #31abef;
	background-color: #31abef;
	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: 2.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: #31abef
}

.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: #31abef
}

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

.about__advantages-item strong {
	color: #31abef;
	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 40px 0 40px!important;
	}
}

@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: 20px!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__mail,
.contact__phone {
	font-size: 1.15rem
}

.contact__mail {
	color: #fff;
	text-decoration: none;
	overflow: hidden;
	margin-top: 60px;
	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__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: 8vh 80px 80px
}

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

@media (max-width:480px) {
	.home__section {
		padding: 80px 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 p{
		width: 100%!important;
		margin-top:-40px;
		
		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: #31abef;
	-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: #31abef;
	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 #31abef;
	background-color: #31abef
}

.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: #31abef
}

@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: #31abef;
	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(../fallback/desktop-generic1.jpg)
}

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

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

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

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

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

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

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

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

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

.no-webgl .c-canvas[data-background=home-section-4] {
	background-image: url()
}

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

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

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

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

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

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

@media (max-width:480px) {
	.no-webgl .c-canvas {
		background-image: url(../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: 40px
	}
}

@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: 3vh 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: #31abef;
	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: #31abef;
	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: #31abef
}

.c-header__nav-item:hover svg {
	fill: #31abef
}

.c-header__nav-item.is-active {
	color: #31abef;
	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: #31abef;
	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: #31abef
}

@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 #31abef;
	background-color: #31abef;
	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 #31abef;
	box-shadow: none;
	background-color: #31abef
}

.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: #31abef
}

.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: #31abef;
	color: #000;
	border: 1px solid #31abef
}

.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: #31abef;
	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: #31abef;
	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: #31abef;
	opacity: 1
}

.tab-mode .c-home-scroller__nav-item button:focus {
	outline: 2px solid #31abef
}

.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 #31abef;
	background-color: #31abef;
	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 #31abef;
	background-color: #31abef;
	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: #31abef
}

.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
}

 .arrows {
  width: 60px;
  height: 72px;
  position: absolute;
  left: 50%;
  margin-left: -150px;
  bottom: 20px;
}

.arrows path {
  stroke: #2994D1;
  fill: transparent;
  stroke-width: 1px;  
  animation: arrow 2s infinite;
  -webkit-animation: arrow 2s infinite; 
}

@keyframes arrow
{
0% {opacity:0}
40% {opacity:1}
80% {opacity:0}
100% {opacity:0}
}

@-webkit-keyframes arrow /*Safari and Chrome*/
{
0% {opacity:0}
40% {opacity:1}
80% {opacity:0}
100% {opacity:0}
}

.arrows path.a1 {
  animation-delay:-1s;
  -webkit-animation-delay:-1s; /* Safari å’Œ Chrome */
}

.arrows path.a2 {
  animation-delay:-0.5s;
  -webkit-animation-delay:-0.5s; /* Safari å’Œ Chrome */
}

.arrows path.a3 { 
  animation-delay:0s;
  -webkit-animation-delay:0s; /* Safari å’Œ Chrome */
}

@media (min-width: 1000px) and (max-width:1100px) {
	.home__section ,.js-scroll-section{
		height:98vh;
		padding-left: 40px!important;
	} 
}