html, body { 
    width: 100%; 
}

body { 
	background: rgb(42,49,56) url('../img/header.png') no-repeat top center / contain;
    overflow-x: hidden; 
    overflow-y: scroll;
	font: 400 16px / 24px 'overpass'; 
    color: #1e2329;
    line-height: 180%;
    font-variant-numeric: lining-nums;
    -webkit-font-feature-settings: "lnum" on; 
    -moz-font-feature-settings: "lnum" on; 
    font-feature-settings: "lnum" on; 
}

h1, h2, h3, h4, h5, h6 { 
    color: rgba(46,53,61,1);
}

a { 
    color: #227364; 
}

/* PAGE 
--------------------------- */
.center {
    padding: 0 100px;
	position: relative;
}

/* NAVIGATION 
--------------------------- */	
.main {
    width: 100%;
	padding: 50px 0;
	margin: 0 auto;
	position: relative;
	z-index: 10;
	font-size: 0;
}

.main .logo {
    width: 100%;
	max-width: 150px;
    height: 48px;
    opacity: 0;
    display: inline-block;
    vertical-align: middle;
    background: url('../img/logo.svg') no-repeat center / contain; 
    -webkit-transition: opacity .4s ease, transform .05s ease;
    transition: opacity .4s ease, transform .05s ease;
    -webkit-animation: fadeIn 1s ease-out 0s 1 forwards;
	animation: fadeIn 1s ease-out 0s 1 forwards;
}

@keyframes fadeIn {
    
    0% {
        opacity: 0;
    }
    100% {
        opacity: 1;
    }
  
}

.main .nav {
	width: calc(100% - 150px);
	margin-right: 0;
	display: inline-block;
    vertical-align: middle;
	text-align: right;
}

.main .nav ul {
	margin: 0 25px 0 0;
	display: inline-block;	
}

.main .nav ul li { 
	margin-right: 30px;
    display: inline-block; 
	font: 400 16px / 48px 'overpass'; 
	text-transform: uppercase;
}

.main .nav ul li:last-of-type {
	margin-right: 0;
}

.main .nav ul li a {
    width: 100%;
	display: inline-block; 
    color: #fff;
    -webkit-transition: color ease 200ms;
    transition: color ease 200ms;
}	

.main .nav ul li.active a {
    color: #92c9b6;
}

.main .nav-mobile {
	width: 48px;
	height: 48px;
	display: none;
	vertical-align: middle;
	background: #f6f7f9 url('../img/icons/icon-menu.svg') no-repeat center / 24px;
	font: 400 18px / 24px 'overpass';
	-webkit-border-radius: 300px;
	border-radius: 300px;
}

.main .cta {
    width: 100%;
	max-width: 160px;
	height: 48px;
	margin: auto;
	padding: 15px;
	display: inline-block; 
	vertical-align: top;
    color: #202020;
	text-align: center;
	background: rgb(143,200,181);
	background: linear-gradient(120deg, rgba(143,200,181,1) 0%, rgba(190,245,226,1) 100%);
	font: 700 18px / 18px 'overpass';
	letter-spacing: -1px;
    -webkit-transition: color ease 200ms, transform ease 100ms;
	transition: color ease 200ms, transform ease 100ms;
	-webkit-border-radius: 300px;
	border-radius: 300px;
	-webkit-box-shadow: 0 0 25px 0 rgba(0, 0, 0, .1);	
	box-shadow: 0 0 25px 0 rgba(0, 0, 0, .1);	
}

.main.cloned {
	position: fixed;
	top: -200px;
	left: 0;
	z-index: 10;
	opacity: 0;
	background: #2a3138;
	visibility: hidden;
	transition-property: top, padding;
	transition-duration: 0.2s, 0.2s;
	transition-timing-function: ease, ease;
	transition-delay: 0s, 0.4s;
	-webkit-box-shadow: 0 0 25px 0 rgba(0, 0, 0, .1);	
	box-shadow: 0 0 25px 0 rgba(0, 0, 0, .1);
}

.language {
	margin: 0;
	padding: 4px 0;
	display: inline-block; 
	vertical-align: top;
	font-size: 0;
	overflow: hidden;
}

.language__key {
	margin: 0 8px 0 0;
	display: inline-block;
	vertical-align: top;
	color: #fff;
	font: 400 16px / 40px 'overpass';
	text-transform: uppercase;
}

.language__key:last-of-type {
	margin-right: 0;
}

.language__key:hover {
	text-decoration: underline;
}

/* CONTENT 
--------------------------- */
.content section {
	padding: 100px;
	position: relative;
}

.section__row {
	font-size: 0;
}

/* CONTENT - INTRODUCTION
--------------------------- */
.introduction {
	min-height: calc(100vh - 250px);
	padding: 0 !important;
	font-size: 0;
}

.introduction__content {
	width: 100%;
	padding: 150px 30px;
	display: inline-block;
	vertical-align: middle;
	text-align: center;
}

.introduction h1 {
	width: 100%;
	margin-bottom: 10px;
	display: inline-block;
	color: #fff;
	font: 700 60px / 68px 'overpass'; 
	letter-spacing: -2px;
	z-index: 9;
	position: relative;
}

.introduction h1 span {
	width: 100%;
	display: inline-block;
	font-size: 80px;
	letter-spacing: 5px;
}

.introduction p {
	margin-bottom: 20px;
	color: #fff;
	font: 400 18px / 26px 'overpass';
	z-index: 9;
	position: relative;
}

.introduction .cta {
	margin-right: 0;	
	padding: 15px 50px;
	display: inline-block;
	background: #f8e19c;
	color: #202020;
	font: 400 18px / 18px 'overpass';
	transition: color ease 200ms, transform ease 100ms;
	-webkit-transition: color ease 200ms, transform ease 100ms;
	border-radius: 300px;
	-webkit-border-radius: 300px;
	z-index: 9;
	position: relative;
}

.introduction .cta.services {
	margin-right: 0;
	background: transparent;
	border: 2px solid #b8efdc;
}

.introduction__cloud {
	overflow: hidden;
	width: 100%; 
	height: 100%;
	background: rgb(52,66,69);
	background: radial-gradient(circle, rgba(52,66,69,1) 0%, rgba(42,49,56,0) 45%);
  	filter: url(#filter);
	opacity: 1;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	animation: moveClouds 20s linear infinite;
}

@keyframes moveClouds {
  0% {
    background: radial-gradient(circle, rgba(52,66,69,1) 0%, rgba(42,49,56,0) 45%);
  }
  50% {
    background: radial-gradient(circle, rgba(52,66,69,1) 0%, rgba(42,49,56,0) 55%);
  }
  50% {
    background: radial-gradient(circle, rgba(52,66,69,1) 0%, rgba(42,49,56,0) 40%);
  }
}

.introduction__animation_scroll {
	width: 20px;
	height: 80px;
	margin: auto;
	border: 1px solid #fff;
	position: absolute;
	top: 0;
	bottom: -50%;
	left: 0;
	right: 0;
	border-radius: 30px;
	-webkit-border-radius: 30px;
}

.introduction__animation_scroll svg {
	width: 18px;
	height: 80px;
	margin-top: -30px;
	color: #fff;
	animation-name: scroll;
	animation-duration: 3s;
	animation-iteration-count: infinite;
}

@keyframes scroll {
	0% {
		transform: translateY(0);
		opacity: 1;
	}
	25% {
		transform: translateY(54px);
		opacity:1;
	}
	50% {
		transform: translateY(54px);
		opacity:0;
	}
	75% {
		transform: translateY(0);
		opacity:0;
	}
	100%{
		transform: translateY(0);
		opacity: 1;
	}
}

/* CONTENT - ABOUT
--------------------------- */
.about {
	display: flex;
}

.about > div {
	width: 60%;
	flex: 0 1 auto;
}

.about__text {
	max-width: 40%;
	padding: 0 0 0 60px;
	position: relative;
}

.about__text:before {
	content: "";
	width: 6px;
	height: 355px;
	position: absolute;
	top: 0;
	left: 0;
	background: rgb(248,225,156);
	background: linear-gradient(120deg, rgba(248,225,156,1) 0%, rgba(179,154,81,1) 100%);
	-webkit-border-radius: 3px;
	border-radius: 3px;
}

.about__text h2 {
	margin-bottom: 10px;
	color: #fff;
	font: 400 38px / 46px 'overpass'; 
}

.about__text p {
	color: #fff;
}

.about__text a {
	width: 100%;
	max-width: 160px;
	margin: 30px 0 0 0;
	padding: 15px;
	display: inline-block; 
	vertical-align: top;
    color: #202020;
	text-align: center;
	background: rgb(143,200,181);
	background: linear-gradient(120deg, rgba(143,200,181,1) 0%, rgba(190,245,226,1) 100%);
	font: 700 18px / 18px 'overpass';
	letter-spacing: -1px;
    -webkit-transition: color ease 200ms, transform ease 100ms;
	transition: color ease 200ms, transform ease 100ms;
	-webkit-border-radius: 300px;
	border-radius: 300px;
	-webkit-box-shadow: 0 0 25px 0 rgba(0, 0, 0, .1);	
	box-shadow: 0 0 25px 0 rgba(0, 0, 0, .1);	
}

.about__quote {
	margin-top: 30px;
}

.about__quote p {
	font: 700 italic 18px / 32px 'overpass'; 
}

.about__preview {
	padding-left: 150px;
	text-align: center;
}

.about__preview_video {
	width: calc(100% - 40px);
	margin-top: 0;
	padding: 20px;
	display: inline-block;
	background: linear-gradient(145deg, #131212, #000);
	overflow: hidden;
	-webkit-border-radius: 20px;
	border-radius: 20px;
	-webkit-box-shadow: 0 15px 30px rgba(0, 0, 0, 0.5), inset 0 3px 8px rgba(255, 255, 255, 0.05);
	box-shadow: 0 15px 30px rgba(0, 0, 0, 0.5), inset 0 3px 8px rgba(255, 255, 255, 0.05);
}

.about__preview_video img {
	width: 100%;
	object-fit: cover;
	vertical-align: top;
	-webkit-border-radius: 10px;
	border-radius: 10px;
}

/* CONTENT - USPS
--------------------------- */
.usps .contain {
	display: flex;
}

.usps h2 {
	margin-bottom: 50px;
	color: #fff;
	font: 400 30px / 46px 'overpass'; 
	letter-spacing: -1px;
}

.usps article {
	padding: 0 60px 0 0;
	flex: 0 1 auto;
}

.usps article h3 {
	padding: 15px 0 15px 76px;
	font: 700 24px / 30px 'overpass'; 
	margin-bottom: 20px;
	color: #fff;
	background: no-repeat left top / 60px;
}

.usps article[data-icon="efficiency"] h3 { 
	background-image: url('../img/icons/icon-usp-efficiency.svg')
}

.usps article[data-icon="enhanced"] h3 { 
	background-image: url('../img/icons/icon-usp-enhanced.svg')
}

.usps article[data-icon="integration"] h3 { 
	background-image: url('../img/icons/icon-usp-integration.svg')
}

.usps article p {
	color: #b8bac0;
}

/* CONTENT - MODULES
--------------------------- */
.modules .contain {
	display: flex;
	gap: 50px;
}

.modules h2 {
	margin-bottom: 50px;
	color: #fff;
	font: 400 30px / 46px 'overpass'; 
	letter-spacing: -1px;
}

.modules article {
	padding: 0;
	flex: 1 1 auto;
	position: relative;
	-webkit-border-radius: 6px;
	border-radius: 6px;
}

.modules article h3 {
	margin: 0;
	font: 700 30px / 36px 'overpass';
	letter-spacing: -1px;
	color: #fff;
	position: absolute;
	bottom: 20px;
	left: 20px;
}

.modules article p {
	color: #b8bac0;
}

.modules article img {
	width: 100%;
	vertical-align: top;
	-webkit-border-radius: 6px;
	border-radius: 6px;
	-webkit-box-shadow: 0 15px 30px rgba(0, 0, 0, 0.5), inset 0 3px 8px rgba(255, 255, 255, 0.05);
	box-shadow: 0 15px 30px rgba(0, 0, 0, 0.5), inset 0 3px 8px rgba(255, 255, 255, 0.05);
}

/* CONTENT - BENEFITS
--------------------------- */
.benefits {
	max-width: 60%;
	font-size: 0;
	display: inline-block;
	vertical-align: top;
}

.benefits h2 {
	margin-bottom: 50px;
	color: #fff;
	font: 400 30px / 46px 'overpass'; 
	letter-spacing: -1px;
}

.benefits ul li {
	width: 50%;
	padding: 0 20px 40px 60px;
	display: inline-block;
	vertical-align: top;
	background: url('../img/icons/icon-check.svg') no-repeat top left / 40px;
	color: #fff;
	font: 400 22px / 28px 'overpass';
}

.benefits ul li p {
	font: 400 14px / 22px 'overpass';
	color: #b8bac0;
}

/* SCROLL TOP 
-------------------------------- */		
#scroll-to-top {
	margin: 20px 0;
}

#scroll-to-top span {
	padding-left: 26px;
	display: inline-block;
    background: url('../img/icons/icon-arrow-up.svg') no-repeat center left / 16px;
    cursor: pointer;    
	color: #fff;
	font: 400 14px / 16px 'overpass';
}

/* FOOTER 
--------------------------- */
footer {
    width: 100%;
}

footer p.copyright {
    padding: 20px 0;
    border-top: 1px solid rgba(220, 232, 242, .1); 
	color: #fff;
	font: 400 14px / 16px 'overpass';
}

/* FORM
--------------------------- */

form { 
    width: 100%;
    position: relative;
}

form label {
    margin: 8px 0 5px 0;
    padding: 0;
    display: inline-block;
	font: 400 14px / 18px 'overpass';
}

form input,
form textarea,
form select {
    width: 100%;
	margin: 0;
    padding: 15px;
    display: inline-block;
	vertical-align: top;
    background: #333c44;
	border: 0;
	font: 400 16px / 16px 'overpass';
    color: #fff;
	border-radius: 3px;
    -webkit-border-radius: 3px;
	appearance: none; 
	-webkit-appearance: none; 
	transition: ease 200ms all;
	-webkit-transition: ease 200ms all;
}

form input:hover,
form input:focus,
form textarea:hover,
form textarea:focus,
form select:hover,
form select:focus { 
    outline: none;
	-webkit-box-shadow:  0 0 15px 0 rgba(0, 0, 0, .1);
	box-shadow:  0 0 15px 0 rgba(0, 0, 0, .1);
}

input:-webkit-autofill,
input:-webkit-autofill:hover,
input:-webkit-autofill:focus,
input:-webkit-autofill:active {
	color: #676767;
    -webkit-box-shadow: 0 0 0 1000px #EFF0F2 inset;
	box-shadow: 0 0 0 1000px #EFF0F2 inset;
}

input.error:-webkit-autofill,
input.error:-webkit-autofill:hover,
input.error:-webkit-autofill:focus,
input.error:-webkit-autofill:active {  
    color: #676767;
	-webkit-box-shadow: 0 0 0 1000px #ffdde0 inset;
	box-shadow: 0 0 0 1000px #ffdde0 inset;
}

form input[type='submit'] {
    margin: 10px 0 0;
    padding: 8px 20px 10px;
    display: inline-block;
    vertical-align: top;
    background: #39b54a;
    border: 0;
    color: #fff;
	font: 400 20px / 30px 'overpass';
    -webkit-border-radius: 4px;
	border-radius: 4px;
    -webkit-transition: all 300ms ease-in-out;
    transition: all 300ms ease-in-out;
}

form input[type='submit']:hover,
form input[type='submit']:focus,
form input[type='submit']:active {
    background: #70da93;
    cursor: pointer;
    outline: none;
}

::-webkit-input-placeholder { /* WebKit, Blink, Edge */
    color: #fff;
    font-weight: 400;
}

:-moz-placeholder { /* Mozilla Firefox 4 to 18 */
    color: #fff;
    opacity: 1;
    font-weight: 400;
}

::-moz-placeholder { /* Mozilla Firefox 19+ */
    color: #fff;
    opacity: 1;
    font-weight: 400;
}
:-ms-input-placeholder { /* Internet Explorer 10-11 */
    color: #fff;
    font-weight: 400;
}
::-ms-input-placeholder { /* Microsoft Edge */
    color: #fff;
    font-weight: 400;
}

/*
 * Form
 */

.content section#cta {
	width: 40%;
	display: inline-block;
	vertical-align: top;
}

form.cta-form {
	font-size: 0;
}

.content section#cta h2 {
	margin-bottom: 50px;
	color: #fff;
	font: 400 30px / 46px 'overpass'; 
	letter-spacing: -1px;
}

.cta-form__form_contain {
	width: 100%;
	margin: 20px 0 0 0;
	display: inline-block;
	font-size: 0;
}

.cta-form__form_contain:first-of-type {
	margin-top: 0;
}

.cta-form__form_contain > label {
	margin: 0 0 5px 0;
	color: #fff;	
}

.cta-form__form_error {
	color: #b8efdc;
	float: right;
	margin-right: 15px;
	font: 400 14px / 18px 'overpass';
}

.cta-form__form_actions {
	margin-top: 30px;
}

.cta-form__form_actions_continue {
    width: 100%;
	max-width: 230px;
	height: 48px;
	margin: auto;
	padding: 15px;
	display: inline-block;
    color: #202020;
	text-align: center;
	background: #b8efdc no-repeat center right / 50px;
	cursor: pointer;
	font: 400 18px / 18px 'overpass';
    -webkit-transition: all ease 100ms;
	transition: all ease 100ms;
	-webkit-border-radius: 300px;
	border-radius: 300px;
}

.cta-form__form_actions_continue.loading {
	max-width: 185px;
	padding-right: 40px;
	pointer-events: none;
	background-image: url('/assets/img/icons/icon-loading.svg');
	background-color: #6af2cc;
}

.cta-form__form_notice {
	padding: 15px 0;
	margin-left: 0;
	display: inline-block;
	font: 400 18px / 18px 'overpass';
	color: #b8efdc;
}

.cta-form__form_notice.error {
	color: #ffdde0;
}

/*  MEDIA QUERIES
--------------------------- */

@media (any-hover: hover) {
	
	.main li:hover a {
		color: #92c9b6;
	}
	
	.main .cta:hover {
		transform: scale(1.1);
		-webkit-box-shadow: 0 0 25px 0 rgba(65, 242, 192, .1);
		box-shadow: 0 0 25px 0 rgba(65, 242, 192, .1);
	}
	
	.introduction .cta:hover {
		transform: scale(1.1);
		-webkit-box-shadow: 0 0 25px 0 rgba(65, 242, 192, .1);
		box-shadow: 0 0 25px 0 rgba(65, 242, 192, .1);
	}
	
	#scroll-to-top span:hover {
		text-decoration: underline;
	}
	
	.cta-form__form_actions_continue:hover {
		transform: scale(1.1);
		-webkit-box-shadow: 0 0 25px 0 rgba(65, 242, 192, .1);
		box-shadow: 0 0 25px 0 rgba(65, 242, 192, .1);
	}
	
}

@media screen 
and (min-width: 0) 
and (max-width: 1440px) 
{
				
	.modules .contain,
	.usps .contain {
		flex-flow: row wrap;
	}
	
	.usps article {
		width: 100%;
	}
	
	.usps article:not(:last-of-type) {
		margin: 0 0 20px 0;
	}
	
	.benefits ul li {
		width: 50%;
	}

}

@media screen 
and (min-width: 0) 
and (max-width: 1280px) 
{

	.about {
		display: block;
	}
	
	.about > div {
		width: 100%;
		max-width: 100%;
		padding: 0;
		display: inline-block;
		flex: none;
	}

	.about > div.about__text {
		margin-bottom: 50px;
		padding-left: 40px;
	}

	.about > div.about__text:before {
		height: 230px;
	}

	.about__preview_video {
		width: 100%;
	}

	.content section#cta {
		width: 100%;
	}

	.benefits {
		max-width: 100%;
	}

}

@media screen 
and (min-width: 0) 
and (max-width: 1024px) 
{
	
	.cta-form__form_error {
		width: 100%;
		padding: 0 0 10px 15px;
		float: none;
		display: inline-block;
		vertical-align: top;
	}
    
}

@media screen 
and (min-width: 0) 
and (max-width: 960px) 
{
	
}

@media screen 
and (min-width: 0) 
and (max-width: 768px) 
{
	
	.center {
		padding: 0 30px;
	}
	
	.content section h2 {
		margin-bottom: 30px;
		font: 700 38px / 46px 'overpass';
	}
		
	.introduction h1 {
		font: 700 40px / 48px 'overpass';
	}
	
	.introduction h1 span {
		font-size: 50px;
	}
	
	.content section {
		padding: 50px 30px;
	}
	
	.benefits ul li {
		width: 100%;
	}
	
}

@media screen 
and (min-width: 0) 
and (max-width: 640px) 
{
	
	.cta-form__form_contain { 
		margin-top: 20px;
		width: 100%;
	}
	
	.cta-form__form_contain:first-of-type {
		margin-top: 0;
	}
	
	.modules article h3 {
		font: 400 20px / 26px 'overpass';
	}
	
}

@media screen 
and (min-width: 0) 
and (max-width: 540px) 
{

	.main .logo {
		max-width: 100%;
	}

	.main .nav {
		width: 100%;
		margin-top: 15px;
		text-align: center;
	}

	.introduction__content {
		padding: 60px 30px;
	}

	.introduction h1 {
		font: 700 34px / 38px 'overpass';
	}
	
	.introduction h1 span {
		font-size: 38px;
	}

	.introduction .cta {
		width: 100%;
		text-align: center;
	}
	
}

@media screen 
and (min-width: 0) 
and (max-width: 414px) 
{

}