@import url('https://fonts.googleapis.com/css?family=Nunito:200,300,400,600,700&subset=latin-ext');

* {
	margin: 0;
	padding: 0;
	box-sizing: border-box;
}

:root {
	--max-width: 80rem;
	--cover-height: 80rem;
	--color-blue: #39c2f0;
	--color-blue-darker: #068fcc;
	--color-near-white: #f0f4f7;
	--color-dark: #39495f;
}

html {
	font-family: 'Nunito', 'Open sans', 'Arial', 'sans-serif';
	font-weight: normal;
	line-height: 1.5;
	margin: 0;
	padding: 0;
}

ul,
nav {
	list-style: none;
}

a {
	text-decoration: none;
	color: inherit;
	cursor: pointer;
}

a:hover {
	opacity: 1;
	color: #39c2ff;
	color: var(--color-blue);
}

p {
	margin: 1rem 0;
}

ol {
	padding: 0 2rem;
}

textarea,
input,
button,
select,
.button {
	font-family: inherit;
	font-size: inherit;
	font-weight: inherit;
}

button,
.button {
	border: none;
	outline: none;
	cursor: pointer;
	padding: 1em 1.5em;
	display: inline-block;
	color: white;
	background-color: #39c2ff;
	background-color: var(--color-blue);
	font-weight: 600;
	text-decoration: none;
	cursor: pointer;
}

button span {
	position: relative;
}

button:hover {
	color: white;
}

blockquote {
	font-weight: 400;
	font-size: 1.1rem;
	text-align: left;
}

.header {
	z-index: 10;
	color: white;
	width: 100%;
}

.header--background {
	background-color: #39c2ff;
	background: var(--color-blue);
}

.header__content {
	width: 100%;
	max-width: 80em;
	max-width: var(--max-width);
	margin: auto;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	align-items: center;
}

.logo {
	margin: 2em 0 1em 0;
}

.logo__ico {
	vertical-align: middle;
	width: 7em;
	margin: 0 .5em;
}

.navbar {
	font-weight: 700;
	display: flex;
	flex-direction: column;
}

.navbar li {
	margin: .5em 1em;
}

.in-page-navbar {
	position: fixed;
	display: none;
}

.login-button {
	border: none;
	padding: 0;
}

.login-button:hover {
	color: #39c2ff;
	border-color: #39c2ff;
	color: var(--color-blue);
	border-color: var(--color-blue);
}

.hero {
	min-height: 32em;
	color: white;
	text-align: left;
	display: flex;
	flex-direction: column;
	background-color: transparent;
}

.hero--small {
	min-height: 16em;
}

.hero button {
	text-transform: uppercase;
}

.hero__cover {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 80em;
	height: var(--cover-height);
	background-image: url(../img/cover.jpg);
	background-color: #2196f3;
	background-attachment: fixed;
	background-repeat: no-repeat;
	background-position: 0;
	background-size: cover;
	z-index: -1;
}

.hero__cover--team {
	background-image: url(../img/cover-people.jpg);
}

.hero__cover--contact {
	background-color: #e6e6e6;
	background-image: url(../img/map.jpg);
	background-position: center;
}

.hero__overlay {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 80em;
	height: var(--cover-height);
	background: rgba(39, 62, 84, 0.76);
	background-image: radial-gradient(ellipse farthest-side at 100% 100%, #dbf6c8 20%, #1cafc6 50%, #012690 110%);
	opacity: .9;
	z-index: -1;
}

.hero__overlay--contact {
	background: rgba(39, 62, 84, 0.8);
}

.hero__message {
	margin: 2em auto;
	padding: 0 .5em;
	width: calc(100% - 1em);
	max-width: 80em;
	max-width: var(--max-width);
}

.hero__title {
	font-size: 3rem;
	font-weight: 600;
	overflow: hidden;
}

.hero__subtitle {
	margin: 1em 0;
	font-size: 1.5rem;
	font-weight: 400;
	overflow: hidden;
}

.signup-button {
	padding: 1em 1.5em;
	margin: .2em;
	display: inline-block;
	color: white;
	background-color: #39c2ff;
	background-color: var(--color-blue);
	font-weight: 600;
	text-decoration: none;
	text-transform: uppercase;
}

.signup-button:hover {
	color: white;
}

.signup-button[data-visible="false"] {
	display: none;
}

.shared {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
}

.signup-form {
	margin: .2em;
	display: none;
	align-items: center;
	justify-content: center;
}

.signup-form__send {
	align-self: stretch;
	text-transform: uppercase;
}

.signup-form {
	display: none;
}

.signup-form[data-status="register"] {
	display: flex;
}

.signup-form[data-status="challange"] {
	display: flex;
}

.signup-form__email,
.signup-form__security-response {
	align-self: stretch;
	border: 0;
	padding: 0;
	margin: 0;
	padding: .5em;
}

.signup-form__content {
	align-self: stretch;
	border: 0;
	display: flex;
	flex-flow: row;
	background: white;
}

.signup-form__question {
	color: #333;
	padding: .5em;
}

.signup-form__question,
.signup-form__security-response {
	display: none;
}

.signup-form[data-status="challange"] .signup-form__content {
	flex-flow: column;
}

.signup-form[data-status="challange"] .signup-form__question,
.signup-form[data-status="challange"] .signup-form__security-response {
	display: block;
}

.signup-status {
	visibility: hidden;
	padding: 1em;
	font-weight: 600;
	border: solid .133em #39c2ff;
	border: solid .133em var(--color-blue);
}

.signup-status[data-status="error"], .signup-status[data-status="done"] {
	visibility: visible;
}

.signup-status[data-status="error"] {
	color: gold;
	border-color: gold;
}

.section {
	border: none;
	padding: .5em;
	padding-bottom: 3em;
	background-color: white;
	font-weight: 400;
	background-color: white;
	opacity: 1;
}

.section--alternative {
	background-color: #f0f4f7;
	background-color: var(--color-near-white);
	border-top: .01em solid #efefef;
	border-bottom: .01em solid #efefef;
}

.section--dark {
	background-color: #39495f;
	background-color: var(--color-dark);
	color: white;
}

.section--quote {
	background-color: #39c2ff;
	background-image: linear-gradient(222deg,#ff272d 0,#c42482 33%,#ab217f 47%,#671878 84%,#4a1475 100%);
	color: white;
}

.section__content {
	max-width: 80em;
	max-width: var(--max-width);
	margin: auto;
	padding: 2em .5em;
}

.heading {
	color: #3f3f3f;
}

.heading--small {
	font-size: 1rem;
	font-weight: 200;
	text-transform: uppercase;
}

.heading--large {
	font-weight: 200;
	font-size: 3rem;
	margin: 1rem 0;
}

.quote {
	line-height: 2;
	margin: 2em 0;
	padding: 0 1em;
	border-left: solid .5em #39c2ff;
	border-left: solid .5em var(--color-blue);
	max-width: 75em;
}

.media {
	margin: 0;
	display: flex;
	flex-direction: column;
	align-items: center;
}

.media__img {
	margin: 1em;
	width: 6em;
	height: 6em;
}

.media__img--small {
	width: 5em;
	height: 5em;
}

.media__img--round {
	border-radius: 50%;
}

.media__img--large {
	width: 22em;
	height: 20em;
}

.media__title {
	font-weight: bold;
	font-size: 1rem;
}

.media__content {
	max-width: 48em;
	margin: 0;
	text-align: justify;
	font-size: .9em;
}

.media__content--large {
	font-size: 1.2em;
	font-weight: 300;
	text-align: left;
}

.media__content--center {
	text-align: center;
}

.media__content p {
	margin: .5rem 0;
}

.s2s-list {
	display: flex;
	flex-direction: column;
}

.s3s-list {
	display: flex;
	flex-direction: column;
}

.bullet-list {
	margin: 1em;
	text-indent: -.7em;
}

.bullet-list li::before {
	content: "• ";
	font-size: 1.4em;
	color: #39c2ff;
	color: var(--color-blue);
}

.footer {
	background-color: #39495f;
	background-color: var(--color-dark);
	color: white;
	width: 100%;
}

.footer__content {
	width: 100%;
	max-width: 80em;
	max-width: var(--max-width);
	margin: auto;
	padding: 1em 2em 0.5em 2em;
	font-size: .9rem;
}

.footer__title {
	font-size: 1rem;
	line-height: 2;
}

.footer__info {
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
}

.footer__list {
	margin: 1em .5em 0 0;
	flex-grow: 1;
	font-size: .95rem;
}

.footer__copyright {
	font-size: .8rem;
	margin: 0;
}

.contact {
	display: flex;
	flex-direction: column;
}

.contact__content {
	position: relative;
	top: -20em;
	display: flex;
	flex-direction: column;
	box-shadow: 0 0 5em 0em rgba(0, 0, 0, .3);
	background: white;
	font-size: 1.2em;
	width: 100%;
	max-width: calc(80em / 1.3);
	max-width: calc(var(--max-width) / 1.3);
	margin: auto;
}

.contact-form {
	padding: 1em 2em;
	display: flex;
	flex-flow: column;
	position: relative;
}

.contact-form__submit {
	align-self: flex-start;
	padding: .5em 2em;
	margin-bottom: 1em;
	transition: all 3s;
}

.contact[data-status="sending"] .contact-form__submit {
	position: relative;
	cursor: wait;
	padding: 0;
	left: 0;
	width: 3em;
	height: 3em;
	color: transparent;
	background: white;
	border: 2px solid #eee;
	border-radius: 50%;
	border-top-color: #39c2ff;
	animation: spin 1s ease-out infinite;
}

.contact[data-status="sending"] .contact-form__submit:focus {
	outline: 0;
}

.contact-form__item {
	padding: 1em;
	margin: .5em 0;
	width: 100%;
	background: #fff;
	color: black;
	border-bottom: solid .5em #bbb;
	border: 0;
	border-radius: .5em;
}

.contact-form__note {
	font-size: 1rem;
}

.contact-form__note a {
	color: #39c2ff;
	color: var(--color-blue);
}

.contact__status {
	position: absolute;
	left: 0;
	top: 0;
	height: 0;
	width: 0;
	background: #fff;
	display: none;
	align-items: center;
	font-size: 2rem;
	padding: 2rem;
}

.contact[data-status="sent"] .contact__status {
	visibility: visible;
	display: flex;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	opacity: 1;
	background: #efefef;
	background-image: url("../img/paper-plane.svg");
	background-repeat: no-repeat;
	background-size: cover;
	background-position: 0;
	animation: slow-show .3s ease-in;
}

.contact__status-message {
	padding: .1333em;
	font-size: 4rem;
	font-weight: 200;
}

.contact[data-status="sent"] .contact-form {
	visibility: hidden;
}

.contact-form__item:invalid:not(:focus):not(:placeholder-shown) {
	background: pink;
}

.contact-info {
	padding: 2em;
	background: #068fcc;
	background: var(--color-blue-darker);
	color: white;
}

.contact-info__title {
	font-size: 1.3em;
	margin-bottom: 2em;
}

.contact-info a {
	transition: all ease-in-out .3s;
	border-bottom: .133em solid transparent;
}

.contact-info a:hover {
	color: white;
	border-bottom: .133em solid white;
}

.contact-info li {
	font-size: .8em;
	line-height: 2em;
}

.contact-info__icon {
	vertical-align: middle;
	width: 2em;
	margin-right: .5em;
}

.image_list {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	min-height: 10em;
}

.image_list__item {
	display: inline-block;
	margin: .5em;
	margin-right: 3em;
}

.slider {
	display: flex;
	overflow: hidden;
	width: 100%;
	max-width: 80em;
	max-width: var(--max-width);
	padding: 1em;
}

.slider__slides {
	overflow: hidden;
	transition: .5s;
	flex: 1;
}

.slider__slide {
	display: none;
	position: relative;
	list-style: none;
}

.slider__slide--active {
	display: flex;
	opacity: 0;
}

.slider__slide--slide-forward {
	animation: slide-forward .3s forwards;
}

.slider__slide--slide-backward {
	animation: slide-backward .3s forwards;
}

.slider__prev, .slider__next {
	align-self: center;
	font-size: 5rem;
	font-weight: 100;
	margin: 0 .1em;
	color: rgba(255,255,255,.5);
}

.slider__prev:hover, .slider__next:hover {
	color: #fff;
}

.conditions {
	margin-top: 3em;
	display: flex;
	justify-content: center;
}

.conditions__content {
	max-width: 80rem;
	padding: 2em;
}

.conditions__content ul, .condition__content ol {
	list-style: circle;
	padding-left: 2em;
	padding-bottom: 1em;
}

.cookies-notification {
	position: fixed;
	bottom: 0;
	left: 0;
	padding: 2em;
	min-width: 12em;
	min-height: 4em;
	display: none;
	font-size: 1rem;
	background: rgba(93,110,127,.95);
	z-index: 10;
	color: #fff;
}

.cookies-notification[data-status="not-accepted"] {
	display: flex;
}

.cookies-notification__close {
	position: absolute;
	right: 0;
	top: 0;
	padding: .3em .8em;
	font-size: 1.5em;
	text-decoration: none;
}

.cookies-notification a {
	text-decoration: underline;
}

.cookies-notification__close a {
	text-decoration: none;
}

@keyframes slide-forward {
	0% {
		opacity: 0;
		left: 15em;
	}
	100% {
		opacity: 1;
		left: 0;
	}
}

@keyframes slide-backward {
	0% {
		opacity: 0;
		left: -15em;
	}
	100% {
		opacity: 1;
		left: 0;
	}
}

@keyframes spin {
	0% {
		transform: rotate(0deg);
	}
	50% {
		transform: rotate(360deg);
	}
	100% {
		transform: rotate(0deg);
	}
}

@keyframes slow-show {
	0% {
		top: 0;
		left: 0;
		height: 0;
		width: 0;
		opacity: 0;
		background-position: -10em 10em;
	}
	40% {
		left: 0;
		top: 0;
		width: 100%;
		height: 100%;
		opacity: 1;
		background-position: -10em 10em;
	}
	100% {
		left: 0;
		top: 0;
		width: 100%;
		height: 100%;
		opacity: 1;
		background-position: 0;
	}
}

@media (min-width: 40em) {
	.navbar {
		flex-direction: row;
	}
	.hero {
		min-height: 30em;
	}
	.hero--small {
		min-height: 15em;
	}
	.login-button {
		padding: .5em 1em;
		border: solid .01em;
	}
	.media {
		display: flex;
		flex-direction: row;
		align-items: center;
	}
	.media__img {
		align-self: flex-start;
		margin: 1em;
		width: 6em;
		height: 6em;
	}
	.media__img--small {
		width: 5em;
		height: 5em;
	}
	.media__img--large {
		width: 22em;
		height: 20em;
	}
	.media__content {
		margin: 1em;
	}
	.s2s-list {
		flex-direction: row;
		flex-flow: wrap;
		align-items: flex-start;
	}
	.s2s-list__item {
		flex: 0 0 100%;
	}
	.s3s-list {
		flex-direction: row;
		flex-flow: wrap;
		align-items: flex-start;
		justify-content: space-between;
	}
	.s3s-list__item {
		flex: 0 0 30%;
	}
	.hero__cover--contact {
		background-position: center;
	}
	.slider__prev, .slider__next {
		margin: 0 .5em;
	}
	.cookies-notification {
		max-width: 50%;
	}
}

@media (min-width: 64em) {
	.hero {
		text-align: center;
	}

	.header__content {
		flex-direction: row;
	}

	.hero__message {
		padding: 0;
		margin: 7em auto;
	}

	.media__img {
		max-width: 48em;
		width: 8em;
		height: 8em;
	}

	.media__img--small {
		width: 5em;
		height: 5em;
	}

	.media__img--large {
		width: 26em;
		height: 26em;
	}

	.s2s-list__item {
		flex: 0 0 45%;
	}

	.s2-list__item--14 {
		flex: 1 1 1em;
	}

	.s2-list__item--34 {
		flex: 3 3 3em;
	}

	.contact__content {
		position: relative;
		top: -15em;
	}

	.contact-info {
		background: linear-gradient(#068fcc, #39c2ff);
		background: linear-gradient(var(--color-blue-darker), var(--color-blue));
		align-self: stretch;
	}

	.hero__cover--contact {
		background-position: center;
	}

	.in-page-navbar {
		position: fixed;
		right: 1em;
		bottom: 1em;
		padding: .1em;
		display: flex;
		flex-flow: column;
		align-items: flex-end;
		color: #555;
		line-height: 1em;
		z-index: 10;
		font-size: .9em;
		opacity: 0;
		transition: all .2s ease-in;
	}

	.in-page-navbar[data-visible="true"] {
		opacity: 1;
	}

	.in-page-navbar__button {
		border-radius: 50%;
	}

	.in-page-navbar__menu {
		display: none;
		border: solid .1em #ddd;
		background: white;
		position: relative;
		bottom: .2em;
		right: 0;
	}

	.in-page-navbar:hover .in-page-navbar__menu,
	.in-page-navbar .in-page-navbar__menu:hover {
		display: block;
	}

	.in-page-navbar__item {
		position: relative;
		left: -.3em;
		padding: .7em;
		border-left: solid .3em transparent;
		transition: all .5s;
	}

	.cookies-notification {
		max-width: 40%;
	}
}
