@charset "utf-8";
/* ESTILO BASE */

body{ 	
	padding:0px;	
	margin:0px;
	height:100%;
	position:relative;
	min-width:320px;
	
	font-family: 'Open Sans', sans-serif;
	font-size:13px;
	color:#000;
	
	background:#FFF;
	}	
	
	
html{
	padding: 0;
	height:100%;
	}		
	
img{
	border:none;
	vertical-align:middle;
	}

	
.rollOver{
	-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
	filter: alpha(opacity=100);
	-moz-opacity: 1;
	-html-opacity: 1;
	opacity: 1;
	
	transition: all 0.2s;
    -moz-transition: all 0.2s;
    -webkit-transition: all 0.2s;
    -o-transition: all 0.2s;
    -ms-transition: all 0.2s;	
}

.rollOver:hover{
	-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=60)";
	filter: alpha(opacity=60);
	-moz-opacity: 0.6;
	-khtml-opacity: 0.6;
	opacity: 0.6;
}

/*HEADER*/

/*
header{
	position:fixed;
	top:0px;
	left:0px;
	width:100%;
	height:105px;
	z-index:9999;
	}
	
header .plecaLogo{
	height:65px;
	width:100%;
	display:inline-block;
	float:left;
	background:#FFFFFF;
	text-align:center;
	}
	
header .ajusteHeader{
	height:105px;
	display:inline-block;
	float:left;	
	}
	
header .logo{
	height:55px;
	float:right;
	margin-right:40px;
	margin-top:7px;
	}
	
header .btnResponsivo{
	width:65px;
	height:65px;
	display:inline-block;
	float:left;
	box-sizing:border-box;
	display:none;
	}
	
	
header .btnResponsivo img{
	width:25px;
	margin:20px;
	}
	
	
header .menuPrincipal{
	display:flex;
	height: 40px;
	align-items: center;
	gap: 10px;
}
*/
header{
	width: 100%;
	position: sticky;
	background: #FFF;
	top: 0;
	z-index: 999;
}

header .logo{
	display: inline-block;
	box-sizing: border-box;
	position: absolute;
	top: 0;
	right: 40px;
	text-align: right;
	padding: 20px 0px;
}

header .logo img{
	height: 50px;
}

header .btnResponsivo{
	width:65px;
	display:inline-block;
	float:left;
	box-sizing:border-box;
	padding: 20px;
	display: none;
	}
	
header .btnResponsivo img{
	width: 100%;
}

/**/
.main-bloque{
	display: flex;
	width: 100%;
	justify-content: space-around;
	flex-wrap: wrap;
}

.max-widht{
	display: flex;
	width: 100%;
	max-width: 1200px;
	padding: 0 40px;
	flex-wrap: wrap;
	position: relative;
}

/**/
.menu-principal{
	display: flex;
	gap: 25px;
	width: 100%;
	padding: 20px 0;
}

.menu-principal .mpItem{
	font-size: 16px;
	font-weight: 300;	
	cursor: pointer;
	color: #000;
	text-decoration: none;
	
	-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
	filter: alpha(opacity=100);
	-moz-opacity: 1;
	-html-opacity: 1;
	opacity: 1;
	
	transition: all 0.3s;
	-webkit-transition: all 0.3s;
	-ms-transition: all 0.3s;
}

.menu-principal .mpItem:hover{
	-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=60)";
	filter: alpha(opacity=60);
	-moz-opacity: 0.6;
	-khtml-opacity: 0.6;
	opacity: 0.6;
}

.menu-principal .mpBlock{
	display: flex;
	position: relative;
}

.menu-principal .mpBlock .mpSub{
	position: absolute;
	top: 20px;
	background: #FFF;
	padding: 10px 15px;
	display: none;
	left: -14px;
}

.menu-principal .mpItem.itemMenuActivo{
	font-weight: 600;
}

@keyframes menu-fade {
  0% {
        display: none;
        opacity: 0;
    }
    1% {
        display: flex;
        opacity: 0;
    }
    100% {
        display: flex;
        opacity: 1;
    }
}


.menu-principal .mpBlock:hover .mpSub{
	display: flex;
	animation: menu-fade .3s ease-out;
}



/*MENU SUPERIOR*/	

.mpBox{
	display:inline-block;
	width:20%;
	box-sizing:border-box;
	float:left;
	text-align:center;
	position:relative;
	}
	
.mpBox .mpItem{
	display:inline-block;
	text-align:center;
	font-size:16px;
	font-weight:300;
	text-decoration:none;
	color:#000000;
	padding:0px 15px;
	box-sizing:border-box;
	transition: all 0.3s;
	-webkit-transition: all 0.3s;
	-ms-transition: all 0.3s;
	}	
	
.mpBox .mpItem:hover{
	color:#9F9F9F;	
	}
	
.mpBox .mpItemSub{
	display:inline-block;	
	}	
	
.mpBox .mpSub{
	display:none;
	background:#FFFFFF;
	}
	
.mpBox .mpItemSub .mpItem{
	display:block;	
	}
	
.mpBox .mpSub .mpItem{
	height:30px;
	line-height:30px;
	}
	
.ajusteHeader{
	height:105px; /*alto header*/
	display:inline-block;
	float:left;
	width:100%;	
	}

.mpBox .itemMenuActivo{
	font-weight:600;
	}
	

/*BTN LANG*/

/*.btnLang{
	float:left;
	height:65px;
	display:inline-block;
	line-height:65px;
	vertical-align:middle;	
	margin-left:40px;
	}*/
	
.btnLang{
	float:left;
	display:inline-block;
	}
	
.btnLang a{
	color:rgba(0,0,0,.5);
	text-decoration:none;
	transition: all 0.3s;
	-webkit-transition: all 0.3s;
	-ms-transition: all 0.3s;
	
	
	display:inline-block;
	padding:5px 8px;
	background:rgba(0,0,0,.1);
	}
	
.btnLang a:hover{
	color:rgba(255,255,255,.8);
	text-decoration:none;
	background:rgba(0,0,0,.2);
	}
.btnLangSide{
	width:100%;
	display:inline-block;
	text-align:center;
	margin-top:15px;
	}
	
.btnLangSide div{
	display:inline-block;
	margin:0 auto;
	background:#242424;
	padding:8px 15px;
	-webkit-border-radius: 5px;
	border-radius: 5px;
	}

/*APLICA TAMBIEN A SB MENU*/

.categoriaItemActivo, .sb-menu .categoriaItemActivo{
	color:#ed0c6e !important;
	font-weight:700 !important;
	}

.menuLateral a span {
	float:right;
	line-height:inherit;
	}	
	
.menuLateral .mlBloqueSub a, .menuLateral .mlBloqueSub a:link, .menuLateral .mlBloqueSub a:visited, .menuLateral .mlBloqueSub a:link {
	font-weight:400;	
	}
	
/*GENERAL*/

.mainDiv{
	display:inline-block;
	text-align:center;
	width:100%;
	float:left;
	background:#FFFFFF;
	}

.div1200{
	width:100%;
	margin:0 auto;
	display:inline-block;
	max-width:1200px;
	box-sizing:border-box;	
	}
	
.innerDiv{
	display:inline-block;
	box-sizing:border-box;
	text-align:left;
	padding:40px;
	width:100%;
	max-width:1200px;	
	}

/*TABLA 50*/
	
.tabla50{
	width:100%;	
	}
	
.tabla50 td{
	width:50%;
	}
	
.tabla50 td:nth-child(odd){
	padding-right:20px;
	}
	
.tabla50 td:nth-child(even){
	padding-left:20px;
	}
	
/*TABLA 50 CONTACTO*/
	
.tabla50_cnt{
	width:100%;	
	}
	
.tabla50_cnt .left{
	width:50%;
	padding-right:20px;
	vertical-align:top;
	}
	
.tabla50_cnt .right{
	width:50%;
	padding-left:20px;
	vertical-align:top;
	}	
	
/*TABLA 60-40*/
	
.tabla60_40{
	width:100%;	
	}
	
.tabla60_40 td{
	vertical-align:bottom;
	}
	
.tabla60_40 td:nth-child(odd){
	padding-right:20px;
	width:60%;
	}
	
.tabla60_40 td:nth-child(even){
	padding-left:20px;
	width:40%;
	}
	
.v_middle{
	vertical-align:middle;	
	}
	
.v_bottom{
	vertical-align:bottom;	
	}
	
.picBox{
	width:100%;	
	}
	
/*CONTENIDO*/

.tituloBig{
	text-align:left;
	font-weight:300;
	font-size:1.6em;	
	}
	
/*GRID*/

.col20{
	display:inline-block;
	width:20%;
	float:left;	
	}
	
.col25{
	display:inline-block;
	width:25%;
	float:left;	
	}
	
.gridThumbs{
	padding:20px;	
	}
	
.gridThumbs .thumb{
	padding:20px;
	box-sizing:border-box;	
	}
	
.gridThumbs .innerThumb{
	display:inline-block;
	position:relative;
	overflow:hidden;
	/*background:#f8f8f8;*/
	}
	
	
.gridThumbs .innerThumb .infoBox{
	position:absolute;
	left:0px;
	top:0px;
	display:inline-block
	}
	
.gridThumbs .innerThumb .infoBox img{
	float:left;	
	}
	
.gridThumbs .innerThumb .captionWhite{
	/*bottom:0px;*/
	color:#000;
	width:100%;
	box-sizing:border-box;
	padding:10px 0px 0px 0px;
	font-size:.8em;
	float:left;
	}
	
.gridThumbs .innerThumb .pic{
	position:absolute;
	left:0px;
	top:0px;	
	}
	
.gridThumbs img{
	width:100%;	
	}
	
.gridThumbs .thumb .caption{
	height:100%;
	width:100%;
	position:absolute;
	background:rgba(0,0,0,.50);
	left:0px;
	top:0px;
	vertical-align:middle;
	color:#FFF;
	text-align:center;
	font-size:1.3em;
	font-weight:300;
	box-sizing:border-box;
	padding:10px;
	}
	
.gridThumbs .thumb .caption span{
	position:absolute;	
	width:100%;
	display:inline-block;
	box-sizing:border-box;
	padding:10px;
	left:0px;
	bottom:0px;
	}
	
	
.gridThumbs .thumb .captionResp{
	width:100%;
	position:absolute;
	background:rgba(0,0,0,.50);
	left:0px;
	bottom:0px;
	vertical-align:middle;
	color:#FFF;
	text-align:center;
	font-size:1.3em;
	font-weight:300;
	box-sizing:border-box;
	padding:8px;
	font-size:13px;
	display:none;
	}
	
	
.gridThumbs .thumb .captionFix{	
	position:absolute;
	background:rgba(0,0,0,.70);
	left:0px;
	bottom:0px;
	box-sizing:border-box;
	color:#FFF;
	text-align:left;
	font-size:.9em;
	font-weight:400;
	padding:10px;
	width:100%;
	}
	
.gridThumbs .thumb .captionFix .fecha{
	font-size:.8em;
	font-weight:700;	
	}	
	
/*NEWS PROYECTOS*/

.newsThumb{
	margin-bottom:40px;	
	}

.newsThumb .titulo, .proyFicha .titulo{
	text-align:left;
	font-weight:300;
	font-size:1.6em;	
	}
	
.newsThumb .fecha, .proyFicha .fecha{
	color:#929292;
	}
	
.newsThumb .texto, .proyFicha .texto{
	text-align:left;
	margin-top:20px;
	}		
.newsThumb .vermas{
	text-align:left;
	margin-top:5px;
	}
	
.link_gris{
	color:#929292;
	text-decoration:none;	
	}
	
.link_gris:hover{
	color:#333;
	}

.proyFicha .boxFlechas{
	padding-top:60px;
	position:relative;
	}	
	
.proyFicha .flechas{
	position:absolute;
	top:0px;
	left:10px;
	font-size:2em;
	display:inline-block;	
	}
	
.proyFicha .flechas a{
	color:#929292;
	text-decoration:none;
	margin-right:10px;
	display:inline-block;
	float:left;
	transition: all 0.3s;
	-webkit-transition: all 0.3s;
	-ms-transition: all 0.3s;
	}
	
.proyFicha .flechas a:hover{
	color:#333;
	text-decoration:none;
	}
	
.proyFicha .regreso{
	position:absolute;
	top:0px;
	right:0px;
	font-size:1em;
	display:inline-block;
	padding-top:10px;
	}
	
.proyFicha .regreso span{
	line-height:inherit;
	}
	
.proyFicha .regreso a{
	color:#929292;
	text-decoration:none;
	display:inline-block;
	float:left;
	transition: all 0.3s;
	-webkit-transition: all 0.3s;
	-ms-transition: all 0.3s;
	}
	
.proyFicha .regreso a:hover{
	color:#333;
	text-decoration:none;
	}
	
.bloqueTexto{
	display:inline-block;
	float:left;
	padding:40px 0px;	
	vertical-align:top;
	-webkit-column-count: 2; /* Chrome, Safari, Opera */
    -moz-column-count: 2; /* Firefox */
    column-count: 2;
	
	-webkit-column-gap: 40px; /* Chrome, Safari, Opera */
    -moz-column-gap: 40px; /* Firefox */
    column-gap: 40px;
	}
	
/*GALERIA*/

.galBox{
	display:inline-block;
	width:100%;
	overflow:hidden;
	background:url(../img/preloader.gif) no-repeat;
	background-position:center;
	}
	
.galBox img{
	width:100%;
	}

/*BULLETS*/

.ulSimple{
	padding-left:15px;
}

.ulSimple li{
	margin-bottom:8px;	
	}	

/*CONTACTO*/

.contactoTd{
	font-size:1.5em;
	font-weight:300;	
	}

.link_negro{
	color:rgba(0,0,0,1.00);
	text-decoration:none;	
	transition: all 0.3s;
	-webkit-transition: all 0.3s;
	-ms-transition: all 0.3s;
	}
	
.link_negro:hover{
	color:rgba(0,0,0,.7);
	}
	
.tablaForm{
	width:100%;
	}
	
.tablaForm td{
	vertical-align:top;
	padding-bottom:10px;
	}
	
.tablaForm .etiqueta{
	font-size:1.5em;
	font-weight:300;
	text-align:right;
	width:1px;
	padding-right:15px;
	padding-top:6px;
	}


.tablaForm input[type="text"], .tablaForm textarea{
	width:100%;
	box-sizing:border-box;
	border:#000000 solid 1px;
	padding:8px 8px;
	font-family: 'Open Sans', sans-serif;
	font-size:14px;
	color:#333;
	font-weight:300;
	}

.tablaForm textarea{
	resize:none;
	height:120px;	
	}

.tablaForm .highlight{
	background:#EDEDED;
	}

.tablaForm .warning{
	font-size:1.2em;
	font-weight:300;
	display:inline-block;
	float:left;
	color:rgba(0,0,0,.6)
	}
	
.btnSubmit{
	font-size:1.5em;
	font-weight:300;
	display:inline-block;
	float:right;
	text-align:center;
	padding:5px 15px;
	text-decoration:none;
	color:rgba(255,255,255,1.00);
	background:rgba(0,0,0,1.00);
	transition: all 0.3s;
	-webkit-transition: all 0.3s;
	-ms-transition: all 0.3s;
	}
	
.btnSubmit:hover{
	background:rgba(0,0,0,.7);
	}
	
.formEnviado{
	font-size:1.5em;
	font-weight:300;
	text-align:center;
	padding-top:60px;
}

/**/

.body-intro{
	display: flex;
	align-items: center;
	justify-content: flex-end;
}

.intro-txt{
	font-size: 2em;
	margin-bottom: 40px;
	opacity: 0;
}
	
.intro-box{
	display: flex;
	position: fixed;
	right: 0;
	bottom: 0;
	max-width: 60%;
	width: 100%;
	flex-wrap: wrap;
}
	
.intro{
	display: flex;
	position: relative;
	width: 100%;
	overflow: hidden;
}

.intro-box .intro img{
	position: absolute;
	right: 0;
	bottom: 0;
	width: 100%;
	padding: 0;
	margin: 0;
	transform: translateY(100%);
}

.intro-box .intro img.dummy{
	position: relative;
	transform: translateY(0);
}

@keyframes fade-in{
	0%
	{
		opacity: 0;
	}
	100%{
		opacity: 1;
	}
}

@keyframes intro-move-letter{
	0%
	{
		transform: translateY(100%);
	}
	100%{
		transform: translateY(0);
	}
}

.intro-fade-in{
	animation: fade-in 1s ease-in-out 1s forwards;;
}

.intro-t{
	animation: intro-move-letter 2s ease-in-out forwards;
}

.intro-a{
	animation: intro-move-letter 2s ease-in-out .3s forwards;
}

.intro-aa{
	animation: intro-move-letter 2s ease-in-out 1.5s forwards;
}

.intro-u{
	animation: intro-move-letter 2.2s ease-in-out 2.2s forwards;
}


/**/
.bloque-contenido, .row-contenido, .img-full-w{
	display: flex;
	flex-wrap: wrap;
	gap: 100px;
	width: 100%;
	font-size: 1.3em;
}

.min-gap{
	gap:20px;
}


.img-full-w img{
	width: 100%;
}

.img-full-w-restricted{
	width: 80%;
	margin: 0 auto;
}

.bloque-contenido p{
	margin: 0;
}

.listado-color{
	display: flex;
	flex-wrap: wrap;
	gap: 50px;
	font-size: 1.5em;
}

.listado-color > div{
	width: 100%;
}

.txt-color-1{
	color: #00673A;
}

.txt-color-2{
	color: #283588;
}

.txt-color-3{
	color: #DA4315;
}

.txt-color-4{
	color: #818385;
}

.box-perfiles{
	display: flex;
	flex-wrap: wrap;
	width: 100%;
	gap: 100px;
}

.box-perfiles .item-perfil{
	display: flex;
	width: 100%;
	flex-wrap: wrap;
	gap: 20px;
}

.box-perfiles .item-perfil .perfil-row{
	width: 100%;
	display: flex;
	gap: 20px;
	align-items: flex-end;
}

.box-perfiles .item-perfil .perfil-row.perfil-reverse{	
	flex-flow: row-reverse;
	text-align: right;
}

.box-perfiles .item-perfil .perfil-row .foto{
	width: 30%;
}

.box-perfiles .item-perfil .perfil-row .foto img{
	width: 100%;
}

.box-perfiles .item-perfil .perfil-row .nombre{
	flex-grow: 1;
	font-size: 1.1em;
	font-weight: bold;
}

.logo-contenido{
	width: 80px;
	margin: 0 auto;
}

.logo-contenido img{
	width: 100%;
}

.box-contacto{
	display: flex;
	width: 100%;
	justify-content: space-between;
}

.box-contacto a{
	color: #000000;
	text-decoration: none;
}

@media (max-width:900px){
	.bloque-contenido, .row-contenido, .img-full-w{
		font-size: 1.1em;
	}
}

@media (max-width:700px){
	.bloque-contenido, .row-contenido, .img-full-w{
		font-size: 1em;
	}
}


@media (max-width:550px){
	.box-perfiles .item-perfil .perfil-row .foto {
		width: 40%;
	}
	
	.box-contacto{
		flex-wrap: wrap;
	}
	
	.box-contacto > a{
		width: 50%;
	}
	
	.box-contacto > a:nth-child(even){
		text-align: right;
	}
	
	.bloque-contenido, .row-contenido, .img-full-w{
		gap: 80px;
	}
	
	.min-gap {
		gap: 20px;
	  }
}


/*MEDIA QUERIES*/

@media (min-width:895px) and (max-width:1200px){	
	.col20{
		width:25%;
	}	
}


@media (min-width:895px) and (max-width:1000px){	
	.tabla60_40 td:nth-child(odd), .tabla60_40 td:nth-child(even){
		width:50%;
	}
}
