:root {
	/* Colors */
	--yellow: #FFC800;
	--orange: #FFA51F;
	--light-blue: #56D4FF;
	--dark-blue: #1AAEE2;
	--light-green: #29E79E;
	--dark-green: #2CC188;
	--light-gray: #F2F5F9;
	--gray: #AAB9CF;
	--dark-gray: #7B899E;
	--slate: #142640;
}

@font-face {
	font-family: 'Rubik';
	src: url('fonts/Rubik-Light.ttf') format('truetype');
	font-weight: 300;
}

@font-face {
	font-family: 'Rubik';
	src: url('fonts/Rubik-Regular.ttf') format('truetype');
	font-weight: 400;
}

@font-face {
	font-family: 'Rubik';
	src: url('fonts/Rubik-Medium.ttf') format('truetype');
	font-weight: 500;
}

* {
	margin: 0;
	padding: 0;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	-webkit-text-size-adjust: none;
	box-sizing: border-box;
	font-family: "Rubik", -apple-system, "Helvetica Neue", Helvetica, Arial, sans-serif;
	-webkit-tap-highlight-color: transparent;
}

ul, ol {
	list-style-type: none;
}

a {
	text-decoration: none;
	color: #1AAEE2;
	transition: color 0.35s cubic-bezier(0.165, 0.840, 0.440, 1.000);
	touch-action: manipulation;
}
a:hover {
	color: #56D4FF;
}
a[href]:active {
	opacity: 0.65;
}

a.button {
	text-transform: uppercase;
	font-size: 15px;
	font-weight: 500;
}

a.light-blue { color: #56D4FF; }
a.light-blue:hover { color: #1AAEE2; }

a.light-green { color: #29E79E; }
a.light-green:hover { color: #2CC188; }

a.dark-green { color: #2CC188; }
a.dark-green:hover { color: #29E79E; }

a.gray { color: #AAB9CF; }
a.gray:hover { color: #7B899E; }

a.arrow {
	display: inline-block;
}

a.arrow svg {
	display: inline-block;
	width: 7px;
	height: 12px;
	fill: none;
	stroke: currentColor;
	stroke-width: 2;
	stroke-linecap: round;
	stroke-linejoin: round;
	margin-bottom: -1px;
	margin-left: 7px;
	transition: transform 0.35s cubic-bezier(0.165, 0.840, 0.440, 1.000);
	will-change: transform;
}

a.arrow:hover svg {
	transform: translateX(4px);
}

h1 {
	font-size: 48px;
	font-weight: 300;
	line-height: 54px;
	color: #142640;
	margin-bottom: 20px;
}

h2 {
	font-size: 30px;
	font-weight: 400;
	line-height: 38px;
	color: #142640;
	margin-bottom: 20px;
}

h3 {
	font-size: 24px;
	font-weight: 300;
	line-height: 33px;
	color: #7B899E;
	margin-bottom: 20px;
}

h4 {
	font-size: 17px;
	font-weight: 500;
	line-height: 23px;
	color: #142640;
	margin-bottom: 10px;
}

p {
	font-size: 17px;
	line-height: 26px;
	color: #7B899E;
	margin-bottom: 20px;
}

h1:last-child,
h2:last-child,
h3:last-child,
h4:last-child,
p:last-child {
	margin-bottom: 0;
}

body > section,
body > nav,
body > footer {
	position: relative;
	border-radius: 5px;
	margin: 20px;
}

body.animated-nav > section,
body.animated-nav > nav,
body.animated-nav > footer {
	transition: transform 0.35s cubic-bezier(0.165, 0.840, 0.440, 1.000);
}

* > .content {
	max-width: 1080px;
	margin: 0 auto;
	padding: 80px 40px;
}

*[data-column-count] {
	display: flex;
	justify-content: space-between;
}

*[data-column-count="2"] > * {
	max-width: calc(50% - 35px);
}

*[data-column-count="3"] > * {
	max-width: calc(33% - 33px);
}

.section-header {
	max-width: 850px;
	text-align: center;
	margin: 0 auto;
}

@media (min-width: 671px) {
	body > section,
	body > nav,
	body > footer {
		transform: none !important;
		transition: none !important;
	}
}

@media (max-width: 670px) {
	body > section,
	body > nav,
	body > footer {
		margin: 10px;
	}

	* > .content {
		padding: 40px 20px;
	}

	*[data-column-count] {
		flex-direction: column;
	}

	*[data-column-count] > * {
		margin-bottom: 20px;
		max-width: 100%;
	}

	.section-header {
		text-align: left;
	}
}



/* Nav */

section.hero nav {
	display: flex;
	justify-content: space-between;
	align-items: center;
}

section.hero nav .logo {
	will-change: transform;
}

section.hero nav ul {
	display: flex;
}

section.hero nav ul li + li {
	margin-left: 40px;
}

section.hero nav ul a {
	color: #29E79E;
}

section.hero .show-mobile-nav {
	display: none;
	transition: opacity 0.35s cubic-bezier(0.165, 0.840, 0.440, 1.000);
}

section.hero .show-mobile-nav.hidden {
	opacity: 0;
	pointer-events: none;
}

@media (max-width: 670px) {
	section.hero nav ul {
		display: none;
	}

	section.hero .show-mobile-nav {
		display: block;
	}
}



/* Mobile Nav */

nav.mobile {
	display: none;
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	padding: 20px;
	background-color: #2CC188;
	text-align: center;
	z-index: 1;
	transform: translateY(calc(-100% - 10px));
}

nav.mobile.visible {
	transform: none;
}

nav.mobile li + li {
	margin-top: 20px;
}

nav.mobile ul a {
	font-size: 24px;
	color: #fff;
	font-weight: 400;
}

nav.mobile ul a:active {
	color: #01633D;
	opacity: 1;
}

nav.mobile .hide-mobile-nav {
	position: absolute;
	top: 20px;
	right: 20px;
}

@media (max-width: 670px) {
	nav.mobile {
		display: block;
	}
}



/* Section - Hero */

section.hero {
	background-color: #142640;
}

section.hero > .content {
	padding-top: 30px;
	padding-bottom: 60px;
}

section.hero .illustration {
	height: 600px;
	margin: -50px 0 -100px;
	background-image: url(images/hero.svg);
	background-position: center center;
	background-repeat: no-repeat;
	background-size: 100%;
	-webkit-mask-image: linear-gradient(180deg, rgba(0,0,0,0) 0px, rgba(0,0,0,1) 200px, rgba(0,0,0,1) calc(100% - 200px), rgba(0,0,0,0) calc(100% - 75px));
	pointer-events: none;
}

section.hero .illustration img {
	width: 100%;
	height: 100%;
}

section.hero .section-header {
	position: relative;
}

section.hero h1 {
	color: #fff;
	margin-bottom: 10px;
}

section.hero h3 {
	color: #AAB9CF;
}

section.hero a.get-started {
	display: inline-block;
}

@media (max-width: 670px) {
	section.hero > .content {
		padding-top: 20px;
	}

	section.hero .illustration {
		height: 470px;
	}
}



/* Section - Features */

section.features {
	background-color: rgba(255,200,0,0.07);
}

section.features img {
	margin-bottom: 10px;
}

@media (max-width: 670px) {
	section.features .feature {
		margin-bottom: 40px;
	}
}



/* Section - Team */

section.team > .content {
	padding-bottom: 0;
}

section.team .members {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	margin: 50px -10px 0;
}

section.team .members li {
	max-width: 184px;
	margin: 0 10px 30px;
}

section.team .members li a {
	display: block;
	text-transform: none;
}

/*
section.team .members li a:hover img {
	transform: scale(1.1);
}
*/

section.team .members img {
	width: 100%;
	height: auto;
	border-radius: 5px;
	margin-bottom: 10px;
	transition: transform 0.35s cubic-bezier(0.165, 0.840, 0.440, 1.000);
}

section.team .members h4 {
	margin-bottom: 0;
}

section.team .members p {
	color: #2CC188;
	font-weight: 400;
}

@media (max-width: 670px) {
	section.team .members li {
		max-width: calc(50vw - 40px);
	}
}



/* Section - Hiring + Investors */

section.hiring-investors .logos {
	display: flex;
	flex-wrap: wrap;
	margin-top: 20px;
}

section.hiring-investors .logos li {
	flex: 1;
	min-width: 50%;
	height: 90px;
	border-top: 1px solid #EBEEF2;
}

section.hiring-investors .logos li:nth-child(even) {
	border-left: 1px solid #EBEEF2;
}

section.hiring-investors .logos li:first-child,
section.hiring-investors .logos li:nth-child(2) {
	border-top-style: none;
}

section.hiring-investors .logos li a {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 100%;
	padding: 10px;
}

section.hiring-investors .logos li a img {
	max-width: 100%;
	max-height: 100%;
}

@media (max-width: 670px) {
	section.hiring-investors .hiring {
		margin-bottom: 80px;
	}
}



/* Footer */

footer {
	background-color: #F2F5F9;
}

footer > .content {
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: 40px;
}

footer .logo {
	will-change: transform;
}

footer ul {
	display: flex;
}

footer ul li + li {
	margin-left: 40px;
}

footer .legal {
	color: #AAB9CF;
}

@media (max-width: 670px) {
	footer > .content {
		padding: 20px;
	}

	footer ul {
		display: none;
	}

	footer img {
		height: 17px;
	}
}