body{
	font-family: Lato, Helvetica, sans-serif;
	text-align: center;
	margin:0 0 0 0;
	cursor:default;
	font-size: 1.1vw;
	color: white;
	background: #051C2C url(imagenes/background.svg) -5% top no-repeat;
	background-size: 60% auto;
}
input[type="button"],button{
	border:none;
	background:none;
	font-size:1em;
	cursor:pointer;
}
img{
	border:none;
}
a{
	color: inherit;
	text-decoration: none;
}
*[onclick],*[href]{
	cursor: pointer;
}
textarea{
	resize:none;
}
.clr{
	clear:both;
}
.columnas2{
	-webkit-column-count:2;
	-moz-column-count:2;
	column-count:2;
}
.columnas3{
	-webkit-column-count:3;
	-moz-column-count:3;
	column-count:3;
}

.site_error>div{
	margin: 0 auto;
	padding: 0.5em;
	color: #C44;
	border:#C44 solid 1px;
	background: #EDD;
	text-align: center;
	width: 50%;
	min-width: 280px;
	border-radius: 0.15em;
	font-weight:600;
}
.site_error{
	position: fixed;
	top:-20em;
	opacity: 0;
	z-index: 10;
	width: 100%;
	
	-webkit-animation: siteError 5s 1;
	-moz-animation: siteError 5s 1;
	animation: siteError 5s 1;
}

.site_success>div{
	margin: 0 auto;
	padding: 0.5em;
	color: #494;
	border:#494 solid 1px;
	background: #DED;
	text-align: center;
	width: 50%;
	min-width: 280px;
	border-radius: 0.15em;
	font-weight:600;
}
.site_success{
	position: fixed;
	top:-20em;
	opacity: 0;
	z-index: 10;
	width: 100%;
	
	-webkit-animation: siteError 5s 1;
	-moz-animation: siteError 5s 1;
	animation: siteError 5s 1;
}

@keyframes siteError{
	0%{opacity:1;top:5em;}
	90%{opacity:1}
	99%{opacity:0;top:5em;}
	100%{opacity:0;top:-20em;}
}

.hide_me{
	height: 0;
	width: 0;
	overflow: hidden;
	opacity: 0;
	font-size: 1px;
}

a,input,button,*[onclick],*[href]{
	transition: all .25s ease-in-out;
	cursor: pointer;
}

/* GENERALES */

header{
	position: fixed;
	top:0;
	left:0;
	right: 0;
}

#home{
	background: black url(imagenes/home.jpg) center top no-repeat fixed;
	background-size: 100% auto;
	padding: 8.25%;
}
#home>div{
	float: left;
	width:54.25%;
}
#home img{
	display: block;
	max-width: 100%;
}
#home>a{
	display: block;
	padding: 0;
	margin: 0 auto;
	text-align: center;
	animation: fadeIn 2s 1;
}
#home>a img{
	height: 20vw;
	margin:0 auto;
}
@keyframes fadeIn{
	0%{ opacity: 0; }
	100%{ opacity: 1; }
}

#desktop_navigation{
	margin: 0;
	text-align: left;
	position: -webkit-sticky;
	position: -moz-sticky;
	position: sticky;
	top: 0;
	z-index: 5;
	width: 50%;
}
#desktop_menu{
	background: #EC7700;
	color: white;
	padding: 0.5em 1em;
	//border-top-right-radius: 1em;
	border-bottom-right-radius: 1em;
}
#desktop_menu>a{
	display: inline-block;
	margin: 0 1.5em;
}
#desktop_menu>a:hover{
	color: #051C2C;
}

#desktop_lines{
	margin-right: 5%;
	margin-top: 0;
	font-size: 0.85em;
}
#desktop_lines>*{
	display: inline-block;
	max-width: 25%;
	margin: 1%;
	float: left;
}
#desktop_lines>span{
	text-align: right;
}
#desktop_lines>a{
	max-width: 25%;
	padding: 0.5%;
	border-radius: 0.5em;
	line-height: 0.8em;
	color: #051C2C;
}
#desktop_lines>a:nth-child(2){ background: #BDCCD4; }
#desktop_lines>a:nth-child(3){ background: #00A99D; }
#desktop_lines>a:nth-child(4){ background: #29ABE2; }
#desktop_lines>a:nth-child(5){ background: #93278F; }

#desktop_lines>a>img{
	display: inline-block;
	height: 2em;
	background: #051C2C;
	padding: 0 0.25em;
	border-top-right-radius: 0.25em;
	border-bottom-right-radius: 0.25em;
}
#desktop_lines>a>span{
	position: relative;
	top: -0.5em;
	display: inline-block;
	padding-left: 0.5em;
}
#desktop_lines>a:hover{
	background: white !important;
}

/* TECNOLOGIA */

#tecnologia{
	padding: 6.5% 5% 5% 5%;
	text-align: left;
}
#tecnologia>h2{
	color: #EC7700;
	margin: 0;
}
#tecnologias_menu{
	width: 14.8%;
	padding: 0 2%;
	float: left;
	text-align: right;
	margin-top: 5%;
}
#tecnologias_menu>a{
	border-radius: 0.5em;
	line-height: 0.8em;
	display: inline-block;
	margin-bottom: 1em;
	font-size: 1.8em;
	color: #051C2C;
}
/*#tecnologias_menu>a:nth-child(1){ background: #BDCCD4; }
#tecnologias_menu>a:nth-child(3){ background: #00A99D; }
#tecnologias_menu>a:nth-child(5){ background: #29ABE2; }
#tecnologias_menu>a:nth-child(7){ background: #93278F; }*/

#tecnologias_menu>a>img{
	display: inline-block;
	height: 2em;
	background: #051C2C;
	padding: 0 0.25em;
	border-top-right-radius: 0.25em;
	border-bottom-right-radius: 0.25em;
}
#tecnologias_menu>a>span{
	position: relative;
	top: -0.5em;
	display: inline-block;
	padding-left: 0em;
}
#tecnologias_menu>a:hover{
	margin-right: 0.5em;
}

#tecnologia_contenidos,#tecnologia_gallery{
	width: 81.2%;
	float: right;
}
#tecnologia_contenidos{
	height: 52.5vw;
}

.tecnologia_item>h4{
	margin: 0 0 0 45%;
	position: relative;
	top: 1em;
	padding: 0.35%;
	border-radius: 0.5em;
	line-height: 0.8em;
	display: inline-block;
	font-size: 1.5em;
	color: #051C2C;
	font-weight: normal;
	box-shadow: rgba(0,0,0,0.3) 0 1px 3px;
}
.tecnologia_item:nth-child(1)>h4{ background: #BDCCD4; }
.tecnologia_item:nth-child(2)>h4{ background: #00A99D; }
.tecnologia_item:nth-child(3)>h4{ background: #29ABE2; }
.tecnologia_item:nth-child(4)>h4{ background: #93278F; }

.tecnologia_item>h4>img{
	display: inline-block;
	height: 2em;
	background: #051C2C;
	padding: 0 0.25em;
	border-top-right-radius: 0.25em;
	border-bottom-right-radius: 0.25em;
}
.tecnologia_item>h4>span{
	position: relative;
	top: -0.5em;
	display: inline-block;
	padding-left: 0.5em;
	padding: 0 1em;
}
.tecnologia_item>div:nth-child(3){
	width: 50%;
	float: left;
}
.tecnologia_item>div>img{
	display: block;
	width: 100%;
}

.tecnologia_item>div:nth-child(4),.tecnologia_item>div:nth-child(5){
	width: 40%;
	padding: 5% 5% 0 5%;
	float: right;
}
.tecnologia_item p{
	line-height: 1.5em;
}
.tecnologia_item h5{
	color: #EC7700;
	font-size: 1.5em;
	margin: 0 0 1em 0;
	text-align: center;
}
.tecnologia_item h5.mobile_only{
	padding-top: 4em;
}
.tecnologia_item>div:nth-child(6){
	clear: both;
	margin: 0 auto;
	padding: 5% 10%;
}
.tecnologia_item>div:nth-child(6)>h5{
	text-align: left;
}

.controls{
	display: none;
}

#tecnologia_gallery img{
	display: block;
	width: 45%;
	float: left;
}

#tac{
	padding: 5% 0;
}
#tac_gallery{
	width: 35.55%;
	float: left;
}
#tac_gallery>div{
	height:30vw;
	overflow: hidden;
}
#tac_gallery img{
	width: 100%;
	display: block;
}

#tac_contenido{
	padding: 5%;
	width: 40%;
	float: left;
	text-align: left;
}
#tac_contenido h2{
	color: #EC7700;
	font-size: 1.5em;
}
#tac_contenido p{
	line-height: 1.5em;
}
#tac_contenido p.quote{
	font-size: 2em;
	line-height: 1.8em;
	margin: 20% 0 0 0;
}
#tac_contenido p.quote small{
	color: #EC7700;
	font-size: 0.4em;
}

/* GALERIA */

#gallery{
	text-align: left;
	padding: 7.5% 0 5% 6.25%;
}
#gallery>h2{
	color: #EC7700;
	font-size: 1.5em;
	margin: 0;
}
#gallery_content{
	margin: 5% 0 0 0;
	height: 45vw;
	overflow: hidden;
}
#gallery_content>div{
	width: 400%;
	position: relative;
	left: 0;
}
#gallery_content img{
	display: block;
	width: 25%;
	float: left;
}

#certificado{
	text-align: right;
	font-size: 1.6em;
	padding: 0 5%;
	position: relative;
	top: -1.5em;
	height: 6.5em;
}
#certificado img{
	float: right;
	height: 2.5em;
}
#certificado p{
	margin: 0;
}
#certificado p::first-line{
	color: #EC7700;
	font-size: 1.2em;
}

p{
	opacity: 0;
}


/* CONTACTO */

#contacto{
	padding: 0 5% 5% 5%;
	text-align: left;
}
#contacto h2{
	color: #EC7700;
	font-size: 1.5em;
	margin: 0 0 0 5%;
}

#contacto form{
	width: 45%;
	float: left;
	margin: 1em 0 1em 5%;
}
form input,form textarea{
	padding: 0.3em 1em;
	background: #444;
	color: white;
	border-radius: 1em;
	border:none;
	display: block;
	width: 90%;
	font: inherit;
	margin-bottom: 1em;
}
form input[type="button"]{
	background: #EC7700;
	width: 96%;
}
form input[type="button"]:hover{
	color: #EC7700;
	box-shadow: #EC7700 0 0 0 3px;
	background: white;
}

#address{
	float: right;
	width: 42.5%;
	line-height: 1.5em;
	padding: 5% 0;
}
#address img{
	float: left;
	height: 7em;
	margin: 0 1em 0 0;
}
#back{
	text-align: right;
	font-size: 4em;
	color: #EC7700;
}
#back a:hover{
	color: white;
}

footer{
	margin: 0;
}
footer>h4{
	font-weight: normal;
	background: #666;
	color: #051C2C;
	margin: 0 auto;
	font-size: 0.85em;
	padding: 0.25em 0;
}
footer>div{
	color: #FC9720;
	padding: 0.25em;
	margin: 0.5em 0 0 0;
}
footer>div>a{
	display: inline-block;
	margin: 0 0.5em;
}
footer>div>a:hover{
	color: white;
}









/* RESPONSIVO */

.mobile_only{
	display:none !important;
}

@media all and (max-width:960px){
	body{
		font-size:16px;
		background: #051C2C url(imagenes/backmovil.svg) left top no-repeat;
		background-size: 95% auto;
	}
	.mobile_only{
		display:block !important;
	}
	.desktop_only{
		display:none !important;
	}
	.columnas2,.columnas3{
		-webkit-column-count:1;
		-moz-column-count:1;
		column-count:1;
	}
	
	header{
		height:60px;
		z-index: 5;
	}
	#menu_opener{
		width: 2.8em;
		height: 2.8em;
		padding: 0.1em;
		border-top-right-radius: 0.25em;
		border-bottom-right-radius: 0.25em;
		background: #052E45;
	}
	#menu_opener.active{
		background: #EC7700;
	}
	#menu_opener>div{
		height:0.22em;
		margin: 0.22em auto 0 auto;
		background: white;
		width: 60%;
		border-radius: 1em;
	}
	#menu_opener>div:first-child{
		margin-top: 0.8em;
	}
	
	#desktop_navigation{
		display: none;
	}
	#header_lines{
		margin-top: 0.5em;
	}
	#header_lines>a{
		display: block;
		height: 2em;
		padding: 0.15em;
		margin-bottom: 0.5em;
		width: 2.6em;
		border-top-right-radius: 0.25em;
		border-bottom-right-radius: 0.25em;
	}
	#header_lines>a:nth-child(1){ background: #BDCCD4; }
	#header_lines>a:nth-child(2){ background: #00A99D; }
	#header_lines>a:nth-child(3){ background: #29ABE2; }
	#header_lines>a:nth-child(4){ background: #93278F; }
	
	#header_lines>a>img{
		display: inline-block;
		height: 2em;
		background: #051C2C;
		padding: 0 0.25em;
		border-top-right-radius: 0.25em;
		border-bottom-right-radius: 0.25em;
	}
	#home{
		height: 127.5vw;
		padding: 0;
		background-size: auto 100vh;
	}
	#home>div,#tecnologias_menu,#tecnologia_gallery{
		display: none;
	}
	#home>a{
		float: none;
		width: 40%;
		padding-top: 20vw;
		margin: 10% auto;
	}
	#home>a img{
		height: 60vw;
	}
	menu{
		background: #EC7700;
		width: 60%;
		padding: 5%;
		position: fixed;
		top: 0;
		left: -70%;
		margin: 0;
		bottom: 0;
	}
	menu>a{
		text-transform: uppercase;
		font-weight: 300;
		display: block;
		line-height: 2em;
		font-size: 1.2em;
		text-align: left;
	}
	.tecnologia_item{
		display: block !important;
		float: none !important;
		background: #052E45;
		margin-bottom: 1px;
		height: 85vw;
		overflow: hidden;
	}
	#tecnologia{
		width: auto !important;
		margin: 0 0 0 20%;
		padding: 0;
	}
	#tecnologia>h2{
		padding-left: 0.5em;
		margin: 0.5em auto;
	}
	#tecnologia_contenidos{
		width: auto !important;
		float: none;
		height: auto !important;
	}
	.tecnologia_item>h4>span{
		display: none;
	}
	.tecnologia_item>h4{
		border-bottom-left-radius: 0;
		border-top-left-radius: 0;
		padding: 0.1em;
		margin: 0;
		position: static;
		top: 0;
	}
	.tecnologia_item>div{
		float: none !important;
		width: auto !important;
		display: none;
		padding: 0 !important;
		height:70vw;
		overflow: hidden;
	}
	.tecnologia_item>span{
		position: relative;
		top: -2em;
	}
	.controls{
		display: block;
		font-size: 1.25em;
	}
	.controls>i.fa{
		margin-left: 1em;
	}
	.controls>i.fa.active,.controls>i.fa:hover{
		color: #EC7700;
	}
	.tecnologia_item>div>h5{
		font-size: 1em;
	}
	.tecnologia_item>div>h5,.tecnologia_item>div>p{
		margin: 0 10% 1em 10%;
		line-height: 1.2em;
	}
	.tecnologia_item>div>p{
		font-size: 0.85em;
	}
	#tac_gallery,#tac_contenido{
		float: none;
		width: auto !important;
	}
	#tac_gallery>div{
		height: auto !important;
		max-height: 70vw;
	}
	#tac_gallery{
		margin: 15% auto 2.5% auto;
	}
	#tac_contenido{
		margin: 0 2.5%;
		height: 225vw;
	}
	#tac_contenido p{
		font-size: 1em;
		line-height: 1.15em;
	}
	#tac_contenido h2{
		margin: 0 0 0.5em 0;
	}
	
	#tac_contenido>p:nth-child(2){
		height: 120vw;
	}
	#tac_contenido>img{
		width: 50%;
		margin: 0 auto;
		border: #EC7700 solid 0.5em;
		border-radius: 100vw;
	}
	
	#tac_contenido>p.quote{
		text-align: center;
		font-size: 6vw;
		margin: 1em auto;
	}
	
	#gallery{
		padding: 5% 0 0 0;
		height: 75vw;
	}
	#gallery>h2{
		margin: 1em 0 0.25em 55%;
		font-size: 5vw;
	}
	#gallery_content{
		height: 50vw !important;
	}
	
	#certificado{
		font-size: 6vw;
		margin: 0.5em auto;
		top: 0;
		height: 28vw;
		opacity: 0;
	}
	
	#contacto{
		padding: 0;
		margin: 35vw 20% 0 0;
	}
	#contacto>form,#address{
		width: auto !important;
		float: none !important;
	}
	#contacto>form{
		font-size: 3vw;
		margin: 0;
	}
	#contacto>h2{
		font-size: 5vw;
		margin: 0;
	}
	
	#contacto>form>input,#contacto>form>textarea{
		border-top-left-radius: 0;
		border-bottom-left-radius: 0;
	}
	
	#address{
		margin: 20% 0 0 25%;
		float: none;
		font-size: 0.8em;
		width: 50%;
		text-align: center;
	}
	#address>img{
		float: none;
		display: block;
		margin: 0 auto;
		height: 4em;
	}
	#address>p{
		color: white;
		opacity: 1 !important;
		text-align: center;
	}
	#back{
		display: none;
	}
	footer>div{
		display: none;
	}
	footer{
		font-size: 0.8em;
	}
	footer>h4{
		color: #F90;
		padding: 1em 5%;
	}
	
	form input{
		-webkit-appearance: none !important;
		-moz-appearance: none !important;
		appearance: none !important;
	}
}

@media all and (max-width:480px){
	#contacto{
		padding: 0;
		margin: 24vw 20% 0 0;
	}
}