body{
	font-family: Lato,'Avenir', Helvetica, sans-serif;
	text-align: left;
	margin:0 0 0 0;
	cursor:default;
	font-size: 1vw;
}
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: sticky;
	top:0;
	left:0;
	right: 0;
	z-index: 5;
	background: black;
	padding: 0.5em 2.5%;
}
header img{
	height: 4em;
}
menu{
	float: right;
	margin: 0;
	padding: 0;
	line-height: 2.5em;
}
menu a{
	background: #009EDF;
	color: white;
	font-size: 1.5em;
	display: inline-block;
	padding: 0.5em 1em;
	border-radius: 0.2em;
	text-transform: uppercase;
}
menu a:hover{
	background: white;
	color: #008ECF;
}

#inicio,.banner{
	background: black;
	height: 42.5vw;
	overflow: hidden;
}
.banner>div{
	display: none;
	overflow: visible;
	height: 0;
}
.banner>div:first-child{
	display: block;
}
.banner>div img{
	display: block;
	margin: 0;
	width: 100%;
}

#banner_control{
	text-align: center;
	position: relative;
	top: -2em;
	font-size: 1.25em;
	z-index: 1;
	color: white;
}
#banner_control i.fa{
	margin: 0 0.5em;
	opacity: 0.6;
	text-shadow: #333 0 1px 3px;
}
#banner_control i.fa:hover,#banner_control i.fa.active{
	opacity: 1;
}
#banner_control i.fa.active{
	font-size: 1.25em;
}

#servicios{
	padding: 5%;
	font-size: 1.2em;
	line-height: 1.5em;
	color: #666;
}
#servicios>div{
	-webkit-column-break-inside: avoid;
	page-break-inside: avoid;
	break-inside: avoid;
}

#servicios h2{
	text-transform: uppercase;
	font-size: 3em;
	margin-top: 0;
}
#servicios3D h2,#servicios3D h4{
	color: #609;
}
#servicios2D h2,#servicios2D h4{
	color: #09C;
}

#contacto{
	background: #222;
	color: white;
	padding: 5% 10%;
}
#contacto h2{
	font-size: 3em;
	text-transform: uppercase;
	color: #33CEFF;
}
#contacto h4{
	text-transform: uppercase;
	margin: 0 0 0.5em 0;
	font-size: 1.5em;
	color: #C9D
}
#contacto p{
	margin-bottom: 3em;
}

#contacto>a{
	background: #009EDF;
	color: white;
	font-size: 2em;
	display: block;
	padding: 0.5em 0;
	border-radius: 0.2em;
	text-transform: uppercase;
	text-align: center;
	margin: 0 auto;
	width: max(60%,300px);
}
#contacto>a:hover{
	background: white;
	color: #009EDF;
}

footer{
	background: #036;
	color: white;
	padding: 0.5em;
	text-transform: uppercase;
	letter-spacing: 0.25em;
	text-align: center;
}


/* MODAL */

#modal{
	background:url(imagenes/negro70.png);
	position:fixed;
	display:none;
	top:0;
	left:0;
	bottom:0;
	right:0;
	z-index:10;
	text-align:left;
}
#modal>div{
	display:block;
	width:max(40%,300px);
	margin:24px auto 0 auto;
	background:#FFF;
	padding: 2em;
	color: #666;
}
#modal>input{
	float: right;
	color: white;
	font-size: 3em;
	padding: 0;
	margin: 0.2em;
	line-height: 1em;
	opacity: 0.5;
	font-weight: 100;
}
#modal>input:hover{
	opacity: 1;
}

form input[type="email"],form input[type="text"],form input[type="tel"]{
	display: block;
	font: inherit;
	margin-bottom: 1em;
	border: #999 solid 1px;
	border-radius: 0.25em;
	padding: 2%;
	width: 96%;
}
form input:focus{
	border: #09C solid 1px;
}
form input[type="submit"]{
	width: 100%;
	font: inherit;
	padding: 0.5em 0;
	font-size: 1.2em;
	background: #009EDF;
	border-radius: 0.2em;
	border: none;
	color: white;
	text-transform: uppercase;
}
form input[type="submit"]:hover{
	background: #EEE;
	color: #00AEEF;
}

#modal h2{
	text-transform: uppercase;
	font-size: 2.5em;
	color: #009EDF;
	margin: 0;
	text-align: center;
	letter-spacing: 0.35em;
}
#modal img{
	display: block;
	width: 100%;
	margin-bottom: 1em;
}


#proxdir{
	height: 0;
	width: 80%;
	overflow: visible;
	text-align: right;
}
#proxdir>div{
	background: #6BD;
	color: white;
	font-weight: 400;
	font-size: 0.75em;
	text-transform: uppercase;
	text-align: center;
	transform: rotate(20deg);
	display: inline-block;
	padding: 0.2em 1em;
	position: relative;
	top: 2em;
}
#proxdir>div span{
	display: block;
	font-size: 1.25em;
}


/* RESPONSIVO */

.mobile_only{
	display:none !important;
}

@media all and (max-width:960px){
	body{
		font-size:16px;
	}
	.mobile_only{
		display:block !important;
	}
	.desktop_only{
		display:none !important;
	}
	.columnas2,.columnas3{
		-webkit-column-count:1;
		-moz-column-count:1;
		column-count:1;
	}
	
	header img{
		height: auto;
		width: 40%;
	}
	#menu_opener{
		float:left;
		margin: 5px;
		width:48px;
		height:48px;
		border: solid white 1px;
	}
	#menu_opener>div{
		height:4px;
		margin: 4px auto 0 auto;
		background: white;
		width: 36px;
	}
	#menu_opener>div:first-child{
		margin-top: 14px;
	}
	
	menu a{
		font-size: 0.8em;
		padding: 0.5em;
		line-height: 1em;
		float: right;
	}
	
	#modal>div{
		font-size: 0.85em;
		clear: both;
	}
	#modal h2{
		font-size: 1.5em;
	}
}