@import url(https://fonts.googleapis.com/css?family=Raleway:400,500,700,800);

body {
	background: #fff;
	color: #030f33;
	font-family: 'Raleway', Helvetica, sans-serif;
	font-size: 16px; 
	font-weight: 400;
	position: relative;
}

.no-break {
	white-space: nowrap
}

.modal-backdrop.show {
	background: #030f33;
	opacity: 0.7;
}

.vertical-center {
	display: flex;
	align-items: center;
}

a:link,
a:visited,
a:hover,
a:active {
	color: #03febd;
}

.grecaptcha-badge { 
	visibility: hidden;
}

/*Alert messages*/
.alert-success {
	background-color: #4586F4;
	border: 0;
	color: #fff;
}
.alert-danger {
	background-color: #8b0105;
	border: 0;
	color: #fff;
}
	.alert-dismissable .close, .alert-dismissible .close {
		color: #fff;
		font-size: 30px;
		opacity: 0.8;
		top: -6px;
	}

.btn-secondary,
.btn-secondary:focus,
.btn-secondary.focus,
.btn-secondary:hover,
.btn-secondary:active,
.btn-secondary.active.focus,
.btn-secondary.active:focus,
.btn-secondary.active:hover,
.btn-secondary.focus:active,
.btn-secondary:active:focus,
.btn-secondary:active:hover {
	background-color: #030f33;
	border-color: transparent;
	border-radius: 6px;
	color: #03febd;
	font-weight: 700;
	padding: 5px 20px;
	text-transform: uppercase;
}
	.btn-secondary.alt,
	.btn-secondary.alt:focus,
	.btn-secondary.alt.focus,
	.btn-secondary.alt:hover,
	.btn-secondary.alt:active,
	.btn-secondary.alt.active.focus,
	.btn-secondary.alt.active:focus,
	.btn-secondary.alt.active:hover,
	.btn-secondary.alt.focus:active,
	.btn-secondary.alt:active:focus,
	.btn-secondary.alt:active:hover {
		background-color: #03febd;
		color: #030f33;
		font-weight: 700;
	}

/* Switch con estilo material */
.material-switch > input[type="checkbox"] {
	display: none;   
}
	.material-switch > input[type="checkbox"]:checked + label::before {
		background: #C7E8D7;
		opacity: 0.5;
	}
	.material-switch > input[type="checkbox"]:checked + label::after {
		background: #03febd;
		left: 20px;
	}
	.material-switch > input[type="checkbox"]:disabled + label::before,
	.material-switch > input[type="checkbox"]:disabled + label::after {
		background: #dbdcdd;
	}

.material-switch > label {
	cursor: pointer;
	height: 0px;
	position: relative; 
	width: 40px;  
}
	.material-switch > label::before {
		background: rgb(0, 0, 0);
		border-radius: 8px;
		content: '';
		height: 16px;
		margin-top: -8px;
		position:absolute;
		opacity: 0.1;
		transition: all 0.4s ease-in-out;
		width: 40px;
	}
	.material-switch > label::after {
		background: #999;
		border-radius: 16px;
		box-shadow: 0px 0px 1px rgba(0, 0, 0, 0.5);
		content: '';
		height: 24px;
		left: -4px;
		margin-top: -8px;
		position: absolute;
		top: -4px;
		transition: all 0.3s ease-in-out;
		width: 24px;
	}

/* MENU */
nav {
	padding: 15px 0;
}
	nav#menu {
		position: absolute;
		top: 20px;
		padding: 15px 0;
		width: 100%;
		z-index: 100;
	}
		nav.is_stuck {
			background: rgba(0,0,0,.2);
		}
		nav .container {
			position: relative;
		}
		nav #logo {
			width: 114px;
		}
		nav #burger {
			background: url("../img/menu-sprite.png") no-repeat 0 0;
			display: none;
			height: 38px;
			right: 20px;
			position: absolute;
			top: 0;
			width: 38px;
		}
		nav ul {
			position: absolute;
			right: 0;
			top: 4px;
		}
			nav ul li {
				display: inline-block;
				margin-left: 30px
			}
				nav ul a,
				nav ul a:link,
				nav ul a:visited,
				nav ul a:active,
				nav ul a:hover {
					color: #fff;
					font-weight: 500;
					text-transform: uppercase;
				}
				nav ul a:hover {
					text-decoration: underline;
				}
				nav ul li .dropdown {
					display: inline-block;
				}
					nav ul li .dropdown button {
						background: none;
						border: 0;
						color: #fff;
						font-weight: 500;
						padding: 0;
						text-transform: uppercase;
					}
					nav ul li .dropdown .dropdown-menu {
						background: rgba(0,0,0,.20);
						border: 0;
						left: -2px;
						min-width: 90px;
					}
						nav ul li .dropdown .dropdown-menu > li {
							margin: 2px 4px;
						}
						nav ul li .dropdown .dropdown-menu > li a {
							display: inline-block;
							padding: 0 0 0 6px;
						}
						nav ul li .dropdown .dropdown-menu > li a:hover {
							background-color: transparent;
							color: #fff;
						}

/*FOOTER*/
footer {
	background: #030F33;
	color: #fff;
	text-align: center;
	padding: 20px 0 10px;
}
	footer p {
		font-size: 14px;
	}
		footer a,
		footer a:link,
		footer a:visited,
		footer a:active,
		footer a:hover {
			color: #aaa;
		}
		footer a:hover {
			text-decoration: underline;
		}

main,
main section,
footer {
	overflow: hidden;
}

h3 {
	font-size: 30px;
	font-weight: 800;
}
	h3 span {
		font-size: 60px;
		display: block;
		font-weight: 800;
	}

/*INTRO*/
#intro {
	background: #001a40 url("../img/landing/boat.jpg") no-repeat;
	background-size: contain;
	background-position: right center;
	color: #fff;
	height: 100vh;
	min-height: 600px;
	position: relative;
	width: 100%;
}
	#intro .container {
		z-index: 1;
	}
	#intro #intro-info {
		top: 35%;
		position: absolute;
	}
		#intro h1 {
			color: #fff;
			font-size: 65px;
			font-weight: 800;
			margin-bottom: 0;
		}
			#intro h1 span {
				color: #03febd;
				display: block;
			}
		#intro p {
			font-size: 24px;
			font-weight: 200;
			max-width: 40%;
			margin-top: 30px;
		}

#solution {
	background: #fff url("../img/landing/iso-background.png") no-repeat 0 20px;
	padding: 40px 0	;
}
	#solution h3 {
		font-weight: 500;
	}
		#solution h3 span {
			font-size: 30px;
			font-weight: 800;
		}
	#solution #solution-description {
		font-size: 20px;
		font-weight: 500;
		text-align: right;
		position: relative;
	}
		#solution #solution-description span {
			background: #030F33;
			border-radius: 0.25rem;
			color: #03febd;
			padding: 5px 20px;
			display: inline-block;
			font-size: 18px;
			font-weight: 600;
			margin-bottom: 10px;
			text-transform: uppercase;
		}
	#solution #solution-items {
		background: #020f33 url("../img/landing/solution.jpg") no-repeat 0 0;
		background-size: cover;
		color: #fff;
		min-height: 600px;
		margin-top: 50px;
		padding: 600px 0 50px;
	}
		#solution #solution-items h4 {
			color: #03febd;
			font-size: 29px;
			font-weight: 800;
			text-transform: uppercase;
		}
			#solution #getintouch {
				margin-top: 3vw;
			}

#platform {
	background: #fff url("../img/landing/tablet.png") no-repeat left 45vw center;
	padding: 160px 0;
}
	#platform h3 {
		font-size: 48px;
		font-weight: 800;
		margin-top: 50px;
	}
	#platform h4 {
		font-size: 24px;
		font-weight: 500;
		margin-bottom: 30px;
	}
	#platform p {
		font-size: 18px;
		font-weight: 500;
		max-width: 80%;
	}
	#platform .btn {
		margin-top: 30px;
	}

#mission {
	background: #f5f5f5;
	padding: 50px 0 50px;
}
	#mission h3 {
		display: block;
		font-size: 30px;
		font-weight: 800;
		text-align: center;
	}
	#mission #mission-intro p {
		font-size: 20px;
		font-weight: 400;
		margin: 10px auto;
		max-width: 60%;
		text-align: center;
	}
	#mission #mission-values {
		margin-top: 50px;
	}
		#mission #mission-values p {
			margin-bottom: 25px;
		}
		#mission #mission-values h3 {
			margin-bottom: 20px;
		}

#team {
	padding: 50px 0 0;
	text-align: center;
}
	#team p {
		font-weight: 500;
		margin: 0 auto;
	}
	#team #members {
		background: #030F33;
		margin-top: 50px;
	}
		#team #members .member-row {
			display: flex;
			flex-wrap: wrap;
			padding: 0;
		}
			#team #members .member {
				color: #fff;
				cursor: pointer;
				flex: 25%;
				position: relative;
				width: 100%;
				font-size: 20px;
				font-weight: 500;
				max-width: 80%;
			}
				#team #members .member.work {
					cursor: default;
					flex: 50%;
					text-align: center;
					max-width: 100%;
					margin-bottom: 5vw;
					margin-top: 5vw;
				}
					#team #members .member.work h4 {
						color: #03febd;
						font-size: 34px;
						font-weight: 700;
						text-transform: uppercase;
					}
						#team #members .member.work h4 span {
							display: block;
						}
					#team #members .member.work p {
						font-size: 18px;
						font-weight: 400;
						margin: 0 auto 15px;
						max-width: 80%;
					}
						#team #members .member.work p:first-of-type {
							font-weight: 700;
						}
				#team #members .member img {
					vertical-align: middle;
					width: 100%;
				}
				#team #members .member-info-container {
					background: rgba(3,15,51,.6);
					bottom: 0;
					color: #fff;
					padding: 10%;
					position: absolute;
					left: 0;
					right: 0;
					top: 0;
					opacity: 0;
					transition: .5s ease;
					width: 100%;
				}
					#team #members .member-info-container:hover {
						opacity: 1;
					}
					#team #members .member-info {
						position: absolute;
						bottom: 5%;
						left: 20px;
						text-align: left;
					}
						#team #members .member-info .name,
						#team #members .member-info .lastname {
							display: inline-block;
							font-size: 2vw;
							line-height: 2vw;
						}
						#team #members .member-info .position {
							color: #03febd;
							display: block;
							font-size: 2vw;
							line-height: 2vw;
						}
						#team #members .member-info .description {
							display: none;
							margin-top: 30px;
						}
	#team .modal-content {
		border-radius: 0;
		padding: 10%;
		position: relative;
	}
		#team .modal-content .close {
			position: absolute;
			top: 1vw;
			right: 1vw;
		}
			#team .modal-content .close span {
				font-size: 60px;
				line-height: 30px;
			}
		#team #members .modal-content .member-info {
			left: 0;
			position: relative;
		}
			#team #members .modal-content .member-info .name,
			#team #members .modal-content .member-info .lastname {
				font-weight: 700;
			}
			#team #members .modal-content .member-info .position {
				color: #030F33;
			}
			#team #members .modal-content .member-info .description {
				display: block;
			}
				#team #members .modal-content .member-info .description p {
					margin-bottom: 30px;
				}

#news {
	background: #f5f5f5;
	padding: 50px 0 80px;
	text-align: center;
}
	#news h3 {
		font-size: 40px;
		font-weight: 800;
	}
	#news p {
		font-size: 20px;
		font-weight: 700;
	}
	#news-list {
		margin-top: 2em;
	}
		#news-list a {
			display: block;
			padding: 20px;
		}
			#news-list a img {
				filter: grayscale(100%);
				transition: .25s ease;
				-webkit-filter: grayscale(100%);
			}
				#news-list a:hover img {
					filter: grayscale(0);
					-webkit-filter: grayscale(0);
				}

#contact {
	background: #030F33;
	color: #fff;
	padding: 50px 0 50px;
}
	#contact h4 {
		color: #03febd;
		font-size: 40px;
		font-weight: 500;
	}
	#contact h5 {
		color: #fff;
		font-size: 20px;
		font-weight: 300;
	}
	#no-analytics-cookie-message {
		color: #fff;
		display: none;
		font-size: 13px;
	}
	#contact #methods {
		margin-top: 50px;
	}
		#contact #methods a {
			display: block;
		}
	#contact input[type="text"], 
	#contact textarea {
		background: #7d8396;
		border: 0;
		color: #fff;
	}
	#contact textarea {
		min-height: 50px;
		resize: vertical;
	}
	#contact input::placeholder,
	#contact textarea::placeholder {
		color: #bbb;
	}
	#contact a {
		display: inline-block;
	}
	#contact .btn-secondary,
	#contact .btn-secondary:focus,
	#contact .btn-secondary.focus,
	#contact .btn-secondary:hover,
	#contact .btn-secondary:active,
	#contact .btn-secondary.active.focus,
	#contact .btn-secondary.active:focus,
	#contact .btn-secondary.active:hover,
	#contact .btn-secondary.focus:active,
	#contact .btn-secondary:active:focus,
	#contact .btn-secondary:active:hover {
		background: #03febd;
		border: 0;
		color: #030F33;
		font-weight: 700;
		padding: 10px 20px;
	}
	#contact small {
		font-size: 75%;
	}
	#contact .form-submit-wrapper {
		text-align: right;
	}

/*Supplier Lead*/
#lead {
	background: #030F33;
}
	#lead #form-wrapper {
		margin: 50px auto 10px;
		max-width: 600px;
	}
		#lead #logo {
			width: 140px;
		}
		#lead h1 {
			font-size: 2em;
			font-weight: 800;
			margin-bottom: 30px;
		}
		#lead #form-wrapper form {
			background-color: white;
			display: block;
			margin-top: 1em;
			padding: 2em;
		}
	#lead label {
		font-size: 0.9em;
	}
	#lead .description {
		font-size: 0.9em;
		margin-bottom: 20px;
	}
	#lead .form-group:not(:last-child) {
		margin-bottom: 40px;
	}
	#lead .legal {
		font-size: 0.8em;
		line-height: 1.75em;
	}

	/* Asterisco de campo obligatorio */
	.single-control-label {
		position: relative;
		margin-right: 0.5em;
	}
	.fields-required.help-block {
		margin-bottom: 30px;
	}
	.form-group.required .control-label:after,
	.single-control-label:after {
		color: red;
		content: "\f069";
		font-size: 0.5em;
		font-family: 'Font Awesome 5 Free';
		font-weight: 900;
		line-height: 1em;
		margin-left: 5px;
		position: relative;
		top: -5px;
	}
	/*Texto ayuda formulario*/
	.help-block {
		color: #666;
		font-size: 12px;
		margin-bottom: 10px;
	}

/*Terms y Privacy*/
.legal {
	padding: 1em 0 2em;
}
	.legal nav #logo {
		width: 160px;
	}
	.legal h1 {
		display: block;
		padding-bottom: 1em;
	}
	.legal section {
		margin-bottom: 4em;
	}
		.legal section strong {
			display: block;
			font-size: 1.1em;
			font-weight: 600;
			margin-bottom: 15px;
		}
		.legal section p {
			margin-bottom: 20px;
		}
		.legal section ul li {
			line-height: 2em;
		}
	.legal a,
	.legal a:link,
	.legal a:visited,
	.legal a:active,
	.legal a:hover {
		color: #000;
		text-decoration: underline;
	}
	.legal .table {
		background: #f8f8f8;
	}
		.legal .table strong {
			display: block;
			font-weight: 400;
			margin-bottom: 5px;
		}
		.legal .table>thead>tr>th {
			padding: 20px;
		}
		.legal .table>tbody>tr>td {
			padding: 20px;
		}
		.legal .table .material-switch {
			padding-left: 30px;
		}
	.legal a.btn {
		color: #03febd;
		text-decoration: none;
	}

@media screen and (max-width: 1600px) {
	#team-mission #members .member.work h4 {
		font-size: 4vw;
		margin-top: 2vw;
	}
		#team-mission #members .member.work h4 span {
			font-size: 3vw;
		}
	#team-mission #members .member.work p {
		font-size: 1.6vw;
	}
}

@media screen and (max-width: 991px) {
	nav #logo {
		width: 100px;
	}
	nav ul {
		top: 0px;
		text-align: right;
		margin-left: 150px;
	}
		nav ul li {
			margin-left: 20px;
			margin-bottom: 10px;
		}
	#intro {
		background-position: right bottom;
	}
		#intro #intro-info {
			top: 25%;
		}

	#contact {
		padding: 100px 0;
	}
		#contact p:last-child {
			margin-bottom: 20px;
			margin-top: 20px;
		}
}

@media screen and (max-width: 767px) {
	nav {
		padding: 40px 20px;
		top: 0;
	}
		nav:before {
			background: rgba(3,15,51,.9);
			bottom: 0;
			content: "";
			display: block;
			visibility: hidden;
			left: 0;
			opacity: 0;
			position: fixed;
			right: 0;
			top: 0;
			transition: .5s ease;
			z-index: -100;
		}
		nav .container {
			padding: 0 20px;
		}
			nav #logo {
				width: 80px;
			}
			nav ul  {
				display: none;
			}
			nav #burger {
				display: block;
			}
			nav.responsive {
				bottom: 0;
				display: block;
				left: 0;
				position: fixed;
				right: 0;
				top: 0;
			}
				nav.responsive:before {
					opacity: 1;
					visibility: visible;
				}
				nav.responsive #burger {
					background: url("../img/menu-sprite.png") no-repeat -38px 0;
				}
				nav.responsive ul#main-menu {
					display: block;
					padding: 0;
					position: relative;
					top: 40px;
				}
					nav.responsive ul#main-menu li {
						display: block;
						line-height: 62px;
						margin: 0;
					}
						nav.responsive ul#main-menu li a {
							display: block;
						}
						nav.responsive ul#main-menu li a.btn {
							display: inline;
							font-size: 1.2em;
						}
						nav.responsive ul#main-menu .dropdown-menu {
							float: none;
							left: 0;
							top: 0;
							position: relative;
						}
							nav.responsive ul#main-menu .dropdown-menu li {
								text-align: right;
								margin-bottom: 30px;
							}

	#intro {
		background-position: right bottom;
	}
		#intro #intro-info {
			top: 25%;
		}
		#intro h1 {
			font-size: 10vw;
		}
		#intro h2 {
			font-size: 4.4vw;
		}
		#intro p {
			font-size: 3.5vw;
			max-width: 80%;
		}

	#solution {
		padding: 100px 0 0px;
	}
		#solution #solution-items {
			background-image: none;
			padding: 50px 0;
		}
		#solution #solution-description {
			font-size: 24px;
			text-align: left;
			margin-top: 2vw;
		}
			#solution #solution-description span::after {
				left: 0;
			}
		#solution #items .item {
			margin-bottom: 3vw;
		}

	#platform {
		background-image: none;
		padding: 0px 0 70px;
	}

	#mission #mission-intro p {
		max-width: 100%;
	}

	#team #members .member {
		flex: 50%;
		max-width: 50%;
	}
		#team #members .member-info .name {
			font-size: 4.7vw;
			line-height: 4.7vw;
		}
		#team #members .member-info .lastname {
			font-size: 5.2vw;
			line-height: 5.2vw;
		}
		#team #members .member-info .position {
			font-size: 4.5vw;
			line-height: 4.5vw;
		}

	#team #members .member.work h4 {
		margin-top: 2vw;
	}
	#team #members .member.work {
		margin: 3vw 0 4vw;
	}

	#contact {
		padding: 50px 0;
	}
		#contact .form-submit-wrapper {
			text-align: left;
		}
}
