@charset "utf-8";
/* CSS Document */

@import url('https://fonts.googleapis.com/css2?family=Montserrat:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,100;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900&display=swap');
/*--------------ESTILOS NUEVOS----------------------------*/
body {
	margin: 0 auto;
	padding: 0;
	font-family: 'Montserrat', sans-serif;
	font-weight: 500;
	font-size: 16px;
	display: flex;
	flex-direction: column;
}
.slider {
	
	background-color: #C3C3C3;
	display: -webkit-flex;
    display: flex;    
	flex-direction: column;	
	margin: 0 auto;	
	width: 100%;
	height: 520px;
	background-repeat: no-repeat
}
img.imagehome
{
	width:100%;
	height: 509px;
	 object-position: center;
            object-fit: cover;
		
}
.idiomas {
	position: absolute;
	width: 100%;	
	top: 420px;
	text-align: right;
}
.idiomas a:hover {
	
}
.textslider {
	position: absolute;
	width: 100%;
	text-align: left;
	top: 300px;
	color: #fff;
}
.titular1 {
	font-size: 24px;
	font-weight: 500;
	margin-left: 10px;
	position:absolute;
	text-shadow: -2px 2px 5px #000000;
}
.titular2 {
	width: 620px;
	margin-top: 40px;
	font-size: 18px;
	font-weight: 400;
	margin-left: 10px;
	position:absolute;
	text-shadow: -2px 2px 5px #000000;
}
.seccion {
	margin-top: 50px;
	margin-bottom: 120px;
	position: relative;
}
.titulossecciones {
	font-size: 24px;
	font-weight: 600;
}
hr.separador {
	border: 0;
	height: 1px;
	background: #8b9795;
	background-image: linear-gradient(to right, #ccc, #333, #ccc);
}
.texto {
	text-align: center;
	width: 100%;
	font-size: 16px;
	font-weight: 500;
}
.servicios {
	display: grid;
	grid-auto-flow: column;
	grid-auto-rows: 1fr;
	grid-template-columns: 1fr 1fr;
	grid-template-rows: 1fr 1fr;
	gap: 120px 290px;
	grid-template-areas: ". ."  ". .";
	justify-items: center;
	align-items: flex-start;
	height: 50%;
	text-align: center;
}
.serv {
	display: grid;
	grid-auto-flow: column dense;
	grid-auto-rows: 1fr;
	grid-template-columns: 1fr;
	grid-template-rows: 0.3fr 1fr 0.7fr;
	gap: 2px 2px;
	grid-template-areas: "."  "."  ".";
	justify-items: center;
	width: 100%;
	height: 100%;
}
.titulossubsecciones {
	font-size: 16px;
	font-weight: 600;
}
.botonmasinfo {
	font-size: 11px;
	width: 145px;
	height: 35px;
	border: 1px solid black;
	align-self: flex-end;
	align-content: center;
	display: grid;
		grid-auto-flow: column dense;
	grid-auto-rows: 1fr;
	grid-template-rows:  1fr ;
}
a.botonRecta
{
	position:relative;
		width: 100%;
	height: 100%;
	color:#000;
		align-items: center;
	display:grid;
	transition: 0.3s;
	
}
a.botonRecta:hover{
	background-color: #d43f3a;
}
.proyectos
{
	 display: grid; 
  grid-auto-flow: row dense; 
  grid-auto-rows: 1fr; 
  grid-template-columns: 1fr 1fr 1fr; 
  grid-template-rows: 0.2fr; 
  gap: 20px 20px; 
  grid-template-areas: 
    ". . ."; 
  justify-items: center; 
  align-items: center; 
  width: 100%; 
  height: 100%; 
	margin-top: 25px;
}
.proyectos2
{
	 display: grid; 
  grid-auto-flow: row dense; 
  grid-auto-rows: 1fr; 
  grid-template-columns: 1fr 1fr; 
  grid-template-rows: 0.2fr; 
  gap: 20px 20px; 
  grid-template-areas: 
    ". . "; 
  justify-items: center; 
  align-items: center; 
  width: 100%; 
  height: 100%; 
	margin-top: 25px;
}
img.imgproyecto
{
	width:	360px;
}
.proyecto
{
	text-align:center;
	font-size: 20px;
	font-weight: 600;
}
a.imgsproyectos
{
	opacity:1;
}
a.imgsproyectos:hover
{
	 opacity:.5;
  transition: opacity .2s ease-out;
  -moz-transition: opacity .2s ease-out;
  -webkit-transition: opacity .2s ease-out;
  -o-transition: opacity .2s ease-out;
}
.botonvermas {
	font-size: 16px;
	width: 240px;
	height: 60px;
	border: 1px solid black;
	margin: 0 auto;
	text-align: center;
	margin-top: 150px;
}
.trabaja{
	display: flex;
	flex-direction: column;
	align-items: center;
	font-size: 20px;
	font-weight: 500;
	text-align: center;
}
.dejacomentarios{
	display: flex;
	flex-direction: column;
	align-items: center;
	font-size: 16px;
	font-weight: 500;
	margin-top: 10px;
	text-align: center;
}
.formulariocontacto{
	display: flex;
	flex-direction: column;
	align-items: center;
	font-size: 16px;
	font-weight: 500;
	margin-top: 20px;
	text-align: center;
}
	input[type=submit]  {
			color: #000;
			background-color: #ffffff;
			font-size: 19px;
			border: 1px solid #000000;
			padding: 10px 20px;
			cursor: pointer
		}
	input[type=button]  {
			color: #000;
			background-color: #ffffff;
			font-size: 19px;
			border: 1px solid #000000;
			padding: 10px 20px;
			cursor: pointer
		}
	input[type=email]  {
			color: #000;
			background-color: #ffffff;
			font-size: 19px;
			border: 1px solid #000000;
			padding: 10px 10px;
			cursor: pointer;
		width: 398px;
		}
input[type=text]  {
			color: #000;
			background-color: #ffffff;
			font-size: 19px;
			border: 1px solid #000000;
			padding: 10px 10px;
			cursor: pointer;
		width: 398px;
		}
input[type=textarea]  {
			color: #000;
			background-color: #ffffff;
			font-size: 19px;
			border: 1px solid #000000;
			padding: 10px 10px;
			cursor: pointer;
		width: 398px;
		}
		input[type=submit]:hover {
			color: #000000;
			background-color: #d43f3a;
		}



footer
{
background-color: #71787d !important;
}
.elfooter
{
	width:100%;
	height: 350px;
	background-color: #71787d;
	 display: grid; 
  grid-auto-flow: column dense; 
  grid-template-columns: 1fr 1fr 1fr; 
  grid-template-rows: 1fr; 
  gap: 20px 20px; 
  grid-template-areas: 
    ". . ."; 
  justify-items: center; 
  align-items: start; 
  width: 100%; 
  height: 300px;  
	color:#fff;
}
.colum1
{
	width: 100%;
	text-align: left;
	padding-left: 25px;
	padding-top: 25px;
	
}
.colum2
{
		width: 100%;
display: inline-block;
  align-self: flex-end;
	margin-bottom: 30px;
	text-align: center;
	
}
.colum3
{
		width: 100%;
	text-align: right;
	padding-right: 25px;
	padding-top: 25px;
	
}
.buscador
{
	position:fixed;
	width: 100%;
	padding: 30px 0px;
	height: auto;
	background-color: #fff;
	text-align: center;
	z-index:2000;
	margin: 0 0;
	top: 0;
	visibility: hidden;
	display: none;
	
}
.cerrarbuscador
{
	color: #000 !important;
	position: absolute;
	width: 20px;
	height: auto;
	right: 0px;
}
a.cerrar
{
	color: #000 !important;
}
/*--------------------LINKS SUAVES---------------------------*/
.efectolink {
    display: inline-block;
    color: #fff;
    text-decoration: none;
}

.efectolink::after {
    content: '';
    display: block;
    width: 0;
    height: 2px;
    background: #fff;
    transition: width .3s;
	   color: #fff !important;
}

.efectolink:hover::after {
    width: 100%;
	   color: #fff !important;
    /*transition: width .3s;*/
}
a.efectolink:hover{
	
	   color: #fff !important;
}
/*---------------------WHATS------------------------------------*/
.whatsappweb{
	
}
.whatsappmovil
{
	display:none !important;
	position:fixed;
  	bottom:0px;
	right:0px;
	margin-bottom: 7px;
		margin-right: 15px;
	font-size: 45px;
	text-shadow: 1px 1px 1px rgba(0,0,0,0.3);
	
	z-index: 5000;
}
.whatsappmovil2
{
	display:inline-block !important;
	position:fixed;
  	bottom:0px;
	right:0px;
	margin-bottom: 30px;
		margin-right: 40px;
	font-size: 45px;
	text-shadow: 1px 1px 1px rgba(0,0,0,0.3);
	
	z-index: 5002;
}
.whatsappmovil a
{
	color:rgba(0,0,0,0.7);
}
.whatsappmovil2 a
{
	color:rgba(0,0,0,0.7);
}
/*-------------------RESPONSIVE EL ASUNTO--------------------------*/
@media only screen and (max-width: 1204px) {
img.imgproyecto
{
	width:	260px;
}
}
@media only screen and (max-width: 1080px) {
.textslider {
	top: 260px;
}
.servicios {
	gap: 100px 150px;
}
}

@media only screen and (max-width: 991px) {
.whatsappweb
	{
		display:none !important;
		
	}
	.whatsappmovil
{
	display:inline-block !important;
	
}
	.whatsappmovil2
{
	display:none !important;
	
}
}
@media only screen and (max-width: 960px) {
.slider {
	min-height: 330px !important;
}
	img.imagehome
{
	min-height: 330px !important;
	}
.idiomas {
	top: 280px;
}
.textslider {
	top: 100px;
}
.servicios {
	gap: 80px 140px;
}
	img.imgproyecto
{
	width:	226px;
}
}

@media only screen and (max-width: 700px) {
.titular2 {
	width: 350px;
}
.servicios {
	gap: 50px 50px;
	}
	.serv
	{
		grid-template-rows:0.2fr .3fr .5fr;
	}
	.botonmasinfo
	{
		align-self: flex-start;
		margin-top: 15px;
		
	}
		.proyectos {
	grid-auto-flow: row;
	grid-template-areas: "."  ".";
	grid-template-columns: 1fr;
	grid-template-rows: 1fr;
	gap: 50px 5px;
}
		.proyectos2 {
	grid-auto-flow: row;
	grid-template-areas: "."  ".";
	grid-template-columns: 1fr;
	grid-template-rows: 1fr;
	gap: 50px 5px;
}
	img.imgproyecto
{
	width:	100%;
}
	.elfooter {
	grid-auto-flow: row;
	grid-template-areas: "."  ".";
	grid-template-columns: 1fr;
	grid-template-rows: 1fr;
	gap: 50px 5px;
	height: 100%;
		padding-bottom: 15px;
		padding-top: 15px;
}
	.colum1 
	{
		text-align: center;
		padding: 0;
	}
	.colum2 
	{
		text-align: center;
		align-self: center;
		padding: 0;
		margin-bottom: 0px;
		
	}
	.colum3 
	{
		text-align: center;
		padding: 0;
	}
	input[type=submit] {
		margin-top: 10px;
		}
	input[type=button] {
		margin-top: 10px;
		}
		input[type=text]  {
		
		width: 100%;
		}
}

@media only screen and (max-width: 400px) {
.titular1 {
	font-size: 18px;
	width: 290px;
}
.titular2 {
	font-size: 14px;
	width: 290px;
}
.servicios {
	grid-auto-flow: row;
	grid-template-areas: "."  ".";
	grid-template-columns: 1fr;
	grid-template-rows: 1fr;
	gap: 50px 5px;
}
	.botonvermas {
		margin-top: 100px;
	}
	
	input[type=email]  {
		
		width: 280px;
		}
		
	
/*-------------SCROLL INTERACTIVO-------------------------*/
.js-scroll {
  opacity: 0;
  transition: opacity 500ms;
}

.js-scroll.scrolled {
  opacity: 1;
}

.scrolled.fade-in {
  animation: fade-in 1s ease-in-out both;
}

.scrolled.fade-in-bottom {
  animation: fade-in-bottom 1s ease-in-out both;
}

.scrolled.slide-left {
  animation: slide-in-left 1s ease-in-out both;
}

.scrolled.slide-right {
  animation: slide-in-right 1s ease-in-out both;
}
	
}
@media screen and (max-width: 450px) {
  .scroll-container,
  .scroll-container:nth-of-type(even) {
    flex-direction: column;
    align-content: inherit;
  }

  .scroll-element {
    height: 100%;
  }

  .scroll-element,
  .scroll-caption {
    width: 100%;
  }

/**Styling scrollable elements*/

.js-scroll {
  opacity: 0;
  transition: opacity 500ms;
}

.js-scroll.scrolled {
  opacity: 1;
}

.scrolled.fade-in {
  animation: fade-in 1s ease-in-out both;
}

.scrolled.fade-in-bottom {
  animation: fade-in-bottom 1s ease-in-out both;
}

.scrolled.slide-left {
  animation: slide-in-left 1s ease-in-out both;
}

.scrolled.slide-right {
  animation: slide-in-right 1s ease-in-out both;
}

/* ----------------------------------------------
 * Generated by Animista on 2021-2-11 23:32:31
 * Licensed under FreeBSD License.
 * See http://animista.net/license for more info. 
 * w: http://animista.net, t: @cssanimista
 * ---------------------------------------------- */

@keyframes slide-in-left {
  0% {
    -webkit-transform: translateX(-100px);
    transform: translateX(-100px);
    opacity: 0;
  }
  100% {
    -webkit-transform: translateX(0);
    transform: translateX(0);
    opacity: 1;
  }
}

@keyframes slide-in-right {
  0% {
    -webkit-transform: translateX(100px);
    transform: translateX(100px);
    opacity: 0;
  }
  100% {
    -webkit-transform: translateX(0);
    transform: translateX(0);
    opacity: 1;
  }
}

@keyframes fade-in-bottom {
  0% {
    -webkit-transform: translateY(50px);
    transform: translateY(50px);
    opacity: 0;
  }
  100% {
    -webkit-transform: translateY(0);
    transform: translateY(0);
    opacity: 1;
  }
}

@keyframes fade-in {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
}
