@charset "utf-8";

@font-face {
  font-family: Manrope;
  src: url('fonts/Manrope-Regular.ttf') format('truetype');
  font-style: normal;
  font-weight: normal;
}

@font-face {
  font-family: Manrope;
  src: url('fonts/Manrope-Light.ttf') format('truetype');
  font-style: normal;
  font-weight: 300;
}

@font-face {
  font-family: Manrope;
  src: url('fonts/Manrope-Medium.ttf') format('truetype');
  font-style: normal;
  font-weight: 500;
}

@font-face {
  font-family: Raleway;
  src: url('fonts/Raleway-Regular.ttf') format('truetype');
  font-style: normal;
  font-weight: normal;
}

@font-face {
  font-family: Raleway;
  src: url('fonts/Raleway-Medium.ttf') format('truetype');
  font-style: normal;
  font-weight: 500;
}

@font-face {
  font-family: Raleway;
  src: url('fonts/Raleway-SemiBold.ttf') format('truetype');
  font-style: normal;
  font-weight: 600;
}

@font-face {
  font-family: Raleway;
  src: url('fonts/Raleway-Italic.ttf') format('truetype');
  font-style: italic;
}

html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed, 
figure, figcaption, footer, header, hgroup, 
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
	margin: 0;
	padding: 0;
	border: 0;
	font-size: 100%;
	font: inherit;
	vertical-align: baseline;
	outline:0px;
}

article, aside, details, figcaption, figure, 
footer, header, hgroup, menu, nav, section {
	display: block;
}

ol, ul {
	list-style-type:none;
	list-style-position:outside;
	margin: 0px;
	padding: 0px;
}

a   {
    text-decoration:none;
	color:#4444ff;
}

a:hover {
	color:#0000ff;
}

img	{
	width:auto;
	max-width:100%;
}

body {
	line-height:1;
	-webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none; 
	cursor:default;
	background-color: #000000;
	background-color: #ffffff;
	-webkit-tap-highlight-color: transparent;
}

body:has(.cuerpo.negro) {
	background-color: #020202;
}

.cuerpo {
	max-width: 1440px;
	max-width:100%;
	background-color:#ffffff;
	margin:auto;
}

.cuerpo.negro {
	background-color:#020202;
}


/* Cabecera */

.cabecera {
	position:fixed;
	z-index:200;
	width:calc(100% - 20%);
	max-width:calc(100% - 20%);
	height: 150px;
	padding: 0px 10% 0px 10%;
	background-color:#ffffff;
}

.cabecera.oculto {
	display:none;
}

.cabecera.transparente {
	background-color:transparent;
}

.cabecera.negro {
	background-color:#020202;
}

.cabecera.gradiente {
	height: 375px;
	background-color:transparent;
	background-image:linear-gradient(180deg,rgba(255,255,255,1),rgba(255,255,255,0));
}

.cabecera.gradiente.contraste {
	height: 375px;
	background-color:transparent;
	background-image:linear-gradient(180deg,rgba(0,0,0,1),rgba(0,0,0,0));
}

.cabecera.sticky {
	height: 150px;
	background-color:#ffffff;
}

.cabecera.negro.sticky {
	background-color:#020202;
}

.cabecera.menu-abierto {
	background-color:#020202;
}

.cabecera .logo {
	float:left;
	width:52px;
	height:65px;
	margin-top:40px;
	margin-left:2px;
	cursor:pointer;
	background-image:url(iso-negro.svg);
	background-repeat:no-repeat;
}

.cabecera.contraste .logo, /*.transparente*/
.cabecera.negro .logo {
	background-image:url(iso-blanco.svg);
}

.cabecera.menu-abierto .logo {
	background-image:url(iso-blanco.svg);
}

@media only screen and (max-width: 800px) {

	.cabecera {
		width:calc(100% - 32px);
		max-width:calc(100% - 32px);
		padding: 0px 16px 0px 16px;
		height: 71px;
	}

	.cabecera.sticky {
		height: 71px;
	}

	.cabecera.gradiente {
		background-image:none;
	}

	.cabecera.gradiente.contraste {
		background-image:none;
	}
	
	.cabecera .logo {
		width:32px;
		height:41px;
		margin-top:17px;
	}

}


/* Boton menu */

.cabecera .boton-menu {
	position:relative;
	float:right;
	margin-top:35px;
	margin-right:6px;
	display:inline-block;
	width:16px;
	height:11px;
	display:none;
}

.cabecera .boton-menu span {
	margin:0 auto;
	position:relative;
	top:5px;
	-webkit-transition-duration: 0s;
	transition-duration: 0s;
	-webkit-transition-delay: 0.2s;
	transition-delay: 0.2s;
}

.cabecera .boton-menu span:before,
.cabecera .boton-menu span:after {
	position:absolute;
	content:'';
}

.cabecera .boton-menu span,
.cabecera .boton-menu span:before,
.cabecera .boton-menu span:after {
	width:16px;
	height:2px;
	background-color:#020202;
	display:block;
}

.cabecera.negro .boton-menu span,
.cabecera.negro .boton-menu span:before,
.cabecera.negro .boton-menu span:after {
	background-color:#ffffff;
}

.cabecera .boton-menu span:before {
	margin-top:-5px;
	-webkit-transition-property: margin, -webkit-transform;
	transition-property: margin, transform;
	-webkit-transition-duration: 0.2s;
	transition-duration: 0.2s;
	-webkit-transition-delay: 0.2s, 0s;
	transition-delay: 0.2s, 0s;
}

.cabecera .boton-menu span:after {
	margin-top:5px;
	-webkit-transition-property: margin, -webkit-transform;
	transition-property: margin, transform;
	-webkit-transition-duration: 0.2s;
	transition-duration: 0.2s;
	-webkit-transition-delay: 0.2s, 0s;
	transition-delay: 0.2s, 0s;
}

.cabecera.menu-abierto .boton-menu span {
	background-color: rgba(0,0,0,0.0);
	-webkit-transition-delay: 0.2s;
	transition-delay: 0.2s;
}

.cabecera.menu-abierto .boton-menu span:before {
	background-color:#ffffff;
	margin-top: 0;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
	-webkit-transition-delay: 0s, 0.2s;
	transition-delay: 0s, 0.2s;
}

.cabecera.menu-abierto .boton-menu span:after {
	background-color:#ffffff;
	margin-top: 0;
	-webkit-transform: rotate(-45deg); 
	transform: rotate(-45deg);
	-webkit-transition-delay: 0s, 0.2s; 
	transition-delay: 0s, 0.2s;
}

@media only screen and (max-width: 800px) {

	.cabecera .boton-menu {
		display:block;
	}
	
}


/* Menu */

.cabecera .menu {
	width:100%;
	margin-top:40px;
}

.cabecera nav.menu-principal {
	width:100%;
	font-family: Manrope;
	font-weight:500;
	font-size:18px;
	text-transform:uppercase;
	color: #020202;
}

.cabecera.contraste nav.menu-principal,
.cabecera.negro nav.menu-principal {
	color: #ffffff;
}

.cabecera nav.menu-principal ul {
	padding:10px 0px 0px 0px;
	float:right;
	margin-right:-30px;
}

.cabecera nav.menu-principal ul li {
	float:left;
	padding:18px 30px 18px 30px;
}

.cabecera nav.menu-principal li a {
	color: #020202;
}

.cabecera nav.menu-principal li a:hover {
	text-decoration:underline;
}

.cabecera.contraste nav.menu-principal li a,
.cabecera.negro nav.menu-principal li a {
	color: #ffffff;
}

@media only screen and (max-width: 800px) {

	.cabecera .menu {
		position:fixed;
		z-index:300;
		top:71px;
		left:0px;
		width:100%;
		height:calc(100% - 71px);
		background-color:#020202;
		margin-top:0px;
		margin-left:0px;
		display:none;
	}

	.cabecera nav.menu-principal {
		float:left;
		font-weight:300;
		font-size:32px;
		color: #ffffff;
	}

	.cabecera nav.menu-principal ul {
		width:calc(100% - 32px);
		padding:10px 16px 0px 16px;
		margin-right:0;
	}

	.cabecera nav.menu-principal ul li {
		width:100%;
		padding:18px 0px 18px 0px;
		border-top:1px solid #949494;
	}

	.cabecera nav.menu-principal ul li:first-child {
		border-top:0px;
	}

	.cabecera nav.menu-principal li a {
		color: #ffffff;
	}

	.cabecera nav.menu-principal li a:hover {
		text-decoration:none;
	}

}


/* Contenido */

@keyframes flyin1 {
	0% {
		position:relative;
		opacity:0;
		left:50px;
	}
	100% {
		position:relative;
		opacity:1;
		visibility:initial;
		left:0px;
	}
}

@keyframes flyin2 {
	0% {
		position:relative;
		opacity:0;
		left:-50px;
	}
	100% {
		position:relative;
		opacity:1;
		visibility:initial;
		left:0px;
	}
}

@keyframes fadein{
	0% {
		opacity:0;
	}
	100% {
		opacity:1;
		visibility:initial;
	}
}

@keyframes girar1 {
  0% {
	-webkit-transform:rotate(0deg);
	-moz-transform:rotate(0deg);
    transform: rotate(0deg);
  }
  100% {
	-webkit-transform:rotate(180deg);
	-moz-transform:rotate(180deg);
    transform: rotate(180deg);
  }
}

@keyframes girar2 {
  0% {
	-webkit-transform:rotate(180deg);
	-moz-transform:rotate(180deg);
    transform: rotate(180deg);
  }
  100% {
	-webkit-transform:rotate(0deg);
	-moz-transform:rotate(0deg);
    transform: rotate(0deg);
  }
}

.contenido {
	position:relative;
	z-index:100;
	padding-top:150px;
	min-height:calc(100vh  - 150px - 50px);
}

.contenido .placa {
	position:relative;
	margin-top:-150px;
	width:100%;
	background-size:cover;
}

.contenido .placa:before {
	content:"";
	position:absolute;
	width:100%;
	height:345px;
	height:100%;
	background-image:linear-gradient(180deg,rgba(255,255,255,1),rgba(255,255,255,0.2),rgba(255,255,255,1));
	background-size:100%;
}

.contenido .placa.completo {
	height:100vh;
}

.contenido .activar {
	opacity:0;
}

.contenido .activo {
	animation:fadein 1s ease forwards;
}

.contenido .mobile {
	display:none;
}

@media only screen and (max-width: 800px) {

	.contenido {
		padding-top:71px;
		min-height:calc(100vh  - 71px - 50px);
	}

	.contenido .placa {
		margin-top:-71px;
	}

	.contenido .placa:before {
		display:none;
	}
	
	.contenido .mobile {
		display:block;
	}

	.contenido .desktop {
		display:none;
	}
	
}


/* Bloques */

.contenido .bloques {
	width:calc(100% - 20%);
	padding:20px 10% 20px 10%;
	display: flex;	
	align-items:flex-start;
	column-gap:44px;
}

.contenido .bloques.slider {
	overflow-x: auto;
	column-gap:44px;
}

.contenido .bloques-boton-slide {
	display:block;
	position:absolute;
	width:58px;
	height:58px;
	background-image:url(icono-siguiente.svg);
	background-repeat:no-repeat;
	background-position-x:right;
	background-size:100%;
	right:135px;
	right:10%;
	margin-top:-60px;
	cursor:pointer;
}

.contenido .bloques-boton-slide.anterior {
	background-image:url(icono-anterior.svg);
}

.contenido .bloques.slider::-webkit-scrollbar {
	display: none;
}

.contenido .bloques .bloque {
	width:100%;
}

.contenido .bloques.slider .bloque {	
	flex-shrink: 0;
}

.contenido .bloques .bloque.recuadro {
	border:1px solid #020202;
}

.contenido .bloques .bloque.abajo {
	align-self:flex-end;
}

.contenido .bloques .bloque.col50 {
	width:calc(50% - 22px);
}

.contenido .bloques .bloque.col25 {
	width:calc(25% - 22px);
}

.contenido .bloques:after {
	content:"";
	display:block;
	clear:both;
}

@media only screen and (max-width: 800px) {

	.contenido .bloques {
		width:100%;
		padding:0;
		display:block;
	}

	.contenido .bloques-boton-slide {
		display:none;
	}
	
	.contenido .bloques .bloque.col50 {
		width:100%;
	}

	.contenido .bloques .bloque.col25 {
		width:100%;
	}

}


/* Titulo */

.contenido .titulo {
	width:calc(100% - 20%);
	overflow:hidden;
	font-family: Manrope;
	font-weight:500;
	font-size:64px;
	text-transform:uppercase;
	color: #020202;
	padding:32px 10% 0px 10%;
}

.contenido .titulo:not(.inicio):not(.proyecto) {
	max-width:680px;
}

.cuerpo.negro .contenido .titulo {
	color: #ffffff;	
}

.contenido .titulo.inicio {
	font-size:80px;
	letter-spacing:-.5px;
	padding-top:410px;
}

.contenido .titulo.proyecto {
	padding-top:40px;
}

.contenido .titulo:not(:has(p)) {
	animation:flyin1 .8s ease forwards;
}

.contenido .titulo:not(.invertido) p:nth-child(odd),
.contenido .titulo.invertido p:nth-child(even),
.contenido .titulo.invertido.proyecto p {
	animation:flyin1 .8s ease forwards;
}

.contenido .titulo.invertido p:nth-child(odd),
.contenido .titulo:not(.invertido) p:nth-child(even),
.contenido .titulo:not(.invertido).proyecto p {
	text-align:right;
	animation:flyin2 .8s ease forwards;
}

.contenido .titulo p:not(:first-child) {
	padding-top:3px;
}

@media only screen and (max-width: 800px) {

	.contenido .titulo {
		width:calc(100% - 32px);
		font-size:36px;
		padding:32px 18px 3px 14px;
	}

	.contenido .titulo.proyecto {
		padding-top:24px;
	}

	.contenido .titulo.inicio {
		font-size:32px;
	}
	
}


/* Subtitulo */

.contenido .subtitulo {
	max-width:600px;
	font-family: Manrope;
	font-weight:300;
	font-size:40px;
	line-height:50px;
	color: #020202;
	padding:40px 10% 0px 10%;	
}

.contenido .bloques .subtitulo {
	max-width:none;
	padding:10px 0px 0px 0px;	
}

.contenido .subtitulo.nivel2 {
	color: #0A588C;
	font-size:18px;
	line-height:auto;
	padding-top:26px;
}

.contenido .bloques .subtitulo.nivel2 {
	padding-top:0px;
}

.contenido .subtitulo b {
	font-weight:500;
}

.contenido .subtitulo .subtitulo-imagen {
	width:100%;
	padding:0px 0px 15px 0px;
}

@media only screen and (max-width: 800px) {

	.contenido .subtitulo,
	.contenido .bloques .subtitulo {
		font-size:20px;
		line-height:30px;
		padding:40px 16px 0px 16px;
	}

	.contenido .subtitulo.nivel2,
	.contenido .bloques .subtitulo.nivel2 {	
		font-size:20px;
		padding:26px 16px 0px 16px;
	}
	
}


/* Texto */

.contenido .texto {
	max-width:600px;
	font-family: Raleway;
	font-size: 18px;
	color: #020202;
	line-height:28px;	
	padding:12px 10% 20px 10%;
}

.contenido .texto.ancho {
	max-width:none;
}

.cuerpo.negro .contenido .texto {
	color:#ffffff;
}

.contenido .bloques .texto {
	max-width:none;
	padding:28px 0px 0px 0px;
}

.contenido .texto b {
	font-weight:600;
}

.contenido .texto i {
	font-style:italic;
}

.contenido .texto.inicio {
	font-size: 24px;
	font-weight: 600;
	max-width:none;
	padding-top:40px;
	padding-bottom:30px;
}

.contenido .texto.medio {
	font-size:14px;
	line-height:24px;	
}

.contenido .bloques .texto.medio {
	padding:0px 0px 0px 0px;
}

.contenido .texto.chico {
	font-size: 12px;
}

.contenido .texto.resaltado {
	font-family: Manrope;
	font-weight:300;
	font-size:40px;
	color: #020202;
	padding:50px 10% 10px 10%;
}

.contenido .texto.resaltado:not(.minusculas) {
	text-transform:uppercase;
}

.contenido .bloques .bloque.recuadro .texto {
	padding:20px;
}

.contenido .bloques .bloque.recuadro .texto:first-child {
	border-bottom:1px solid #959595;
}

.contenido .bloques .bloque.recuadro .texto:last-child {
	border-top:1px solid #959595;
}

.contenido .texto.truncado {	
	line-height:28px;
	height:calc(28px * 4);
	transition: all 0.4s ease-in-out;
	overflow:hidden;
}

.contenido .texto.truncado.abierto {	
	transition: all 0.4s ease-in-out;
}	
	
.contenido .texto.truncado .texto-mostrar {
	font-weight:normal;
	font-size:16px;
	color:#0A588C;
	width:100%;
	text-align:right;
	cursor:pointer;
}

.contenido .texto.truncado .texto-mostrar:hover {
	text-decoration:underline;
}

.contenido .texto.truncado .texto-mostrar.mas:before {
	content:"Mostrar más";
}

.contenido .texto.truncado .texto-mostrar.menos:before {
	content:"Mostrar menos";
}
	
.contenido .texto ul {
	padding-top:8px;
}

.contenido .texto ul li {
	list-style-type: disc;
	margin-left:20px;
	padding-top:3px;
}

@media only screen and (max-width: 800px) {

	.contenido .texto,
	.contenido .bloques .texto {
		font-size: 14px;
		line-height:24px;	
		padding:12px 16px 0px 16px;
	}

	.contenido .texto.inicio {
		font-size: 16px;
		font-weight: normal;
		margin-top:-30px;
		padding-top:0px;
		padding-bottom:0;
		margin-bottom:0px;
	}

	.contenido .texto.medio,
	.contenido .bloques .texto.medio {
		font-size: 14px;
		line-height:24px;	
		padding:12px 16px 0px 16px;
	}

	.contenido .texto.resaltado {
		font-size:20px;
		padding:22px 16px 0px 16px;
	}

	.contenido .bloques .bloque.recuadro {
		width:calc(100% - 32px);
		margin:16px;
	}

	.contenido .bloques .bloque.recuadro:not(:first-child) {
		margin-top:30px;
	}

	.contenido .bloques .bloque.recuadro .texto {
		padding:16px;
	}

	.contenido .texto.truncado {	
		line-height:24px;
		height:calc(24px * 6);		
		vertical-align:top; /*indica a jquery que ajuste la caja al texto*/
	}
	
	.contenido .texto.truncado .texto-mostrar {
		font-size:14px;
	}

	.contenido .texto ul {
		padding-top:0px;
	}

	.contenido .texto ul li {
		margin-left:15px;
		padding-top:0px;
	}
	
}


/* Imagen */

.contenido .imagen {
	width:calc(100% - 20%);
	padding:16px 10% 0px 10%;
}

.contenido .bloques .imagen {
	width:100%;
	padding:18px 0px 0px 0px;
}

.contenido .imagen img {
	position:relative;
	width:100%;
}

.contenido .imagen .imagen-titulo {
	position:absolute;
	margin-top:-69px;
	font-family: Manrope;
	font-size:24px;
	color: #ffffff;
	padding:0px 24px 0px 24px;
	transition: all 0.5s ease-in-out;
}

.contenido .imagen .imagen-texto {
	position:absolute;
	margin-top:-38px;
	font-family: Manrope;
	font-weight: 300;
	font-size:16px;
	color: #ffffff;
	padding:0px 24px 0px 24px;
	transition: all 0.5s ease-in-out;
}
		
.contenido .imagen:hover .imagen-titulo,
.contenido .imagen:hover .imagen-texto {
	opacity:0;
}

.contenido .imagen.gris img {
	filter: grayscale(100%) brightness(40%) contrast(120%);
	transition: all 0.5s ease-in-out;
}

.contenido .imagen.gris:hover img {
	filter: grayscale(0%) brightness(100%) contrast(100%);
}

.contenido .imagen.full-cover {
	width:100%;
	padding:0;
}

.contenido .imagen.full-cover img {
	filter: grayscale(0%) brightness(100%) contrast(100%);
	position:relative;
	margin-top:-150px;
	width:100%;
}

@media only screen and (max-width: 800px) {

	.contenido .imagen,
	.contenido .bloques .imagen {
		width:calc(100% - 32px);
		padding:16px 16px 0px 16px;
	}

	.contenido .imagen.full-cover img {
		margin-top:-71px;
	}

}


/* Boton */

.contenido .boton {
	background-color:#020202;
	border:1px solid #020202;
	border-radius:8px;
	padding:12px 25px 12px 25px;
	font-family: Raleway;
	font-weight: 500;
	font-size: 16px;
	color:#ffffff;
	margin-left:135px;
	margin-left:10%;
	cursor:pointer;
}

.contenido .boton:hover {
	color:#020202;
	background-color:#ffffff;
}

.cuerpo.negro .contenido .boton {
	color:#020202;
	background-color:#ffffff;
	border:1px solid #ffffff;
}

.cuerpo.negro .contenido .boton:hover {
	color:#ffffff;
	background-color:#020202;
}

.contenido .boton.link {
	background-color:transparent;
	border:0;
	color:#020202;
	padding-left:0px;
}

.contenido .boton.link:hover {
	text-decoration:underline;
}

.contenido .inicio {
	margin-bottom:40px;
}

.contenido .boton.link:after {
	content:"";
	width:54px;
	height:24px;
	background-image:url(flecha-link.svg);
	background-repeat:no-repeat;
	background-position:center;
	padding-left:30px;
}

@media only screen and (max-width: 800px) {

	.contenido .boton {
		width:calc(100% - 32px);
		padding:12px 5px 12px 5px;
		margin: 21px 16px 20px 16px;
	}

	.contenido .boton.link {
		padding-left:25px;
	}

}


/* Banner */

.contenido .banner {
	width:calc(100% - 20% - 100px);
	margin:80px 10% 90px 10%;
	padding:44px 50px 50px 50px;
	background-color:#020202;
}

.contenido .banner .banner-titulo {
	float:left;
	width:60%;
	font-family: Manrope;
	font-weight: 500;
	font-size:40px;
	color:#ffffff;
}

.contenido .banner .banner-texto {
	float:left;
	width:60%;
	font-family: Raleway;
	font-weight: 500;
	font-size:18px;
	color:#ffffff;
	padding-top:24px;
}

.contenido .banner .banner-boton {
	float:right;
	width:40%;
	margin-top:-20px;
}

.contenido .banner .banner-boton .boton {
	color:#020202;
	background-color:#ffffff;
	border:1px solid #ffffff;
	padding:14px 20px 14px 20px;
}	

.contenido .banner .banner-boton .boton:hover {
	color:#ffffff;
	background-color:#020202;
}	
	
.contenido .banner:after {
	content:"";
	display:block;
	clear:both;
}
	

/* Lista proyectos */

@media only screen and (min-width: 801px) {

	.contenido .proyectos {
		display:flex;
		width:calc(100% - 20%);
		padding:28px 10% 0px 10%;
		column-gap:16px;	
	}

	.contenido .proyectos .imagen {
		padding:0px;
	}

}


/* Lista desplegable */

.contenido .lista.desplegable {
	padding-top:15px;
	padding-bottom:30px;
}

.contenido .lista.desplegable ul .lista-item {
	width:calc(100% - 20% - 100px);
	border-bottom:2px solid #d9d9d9;
	margin:0 10% 0 10%;	
	padding:30px 50px 30px 50px;
}

.contenido .lista.desplegable ul .lista-item:first-child {
	border-top:2px solid #d9d9d9;
}

.contenido .lista.desplegable ul .lista-item.abierto {
	background-color:#f1f1f1;
}

.contenido .lista.desplegable ul .lista-item .lista-item-titulo {
	width:100%;
	font-family: Manrope;
	font-size:36px;
	text-transform:uppercase;
	line-height:40px;
	text-align:right;
	color: #020202;
	margin-top:20px;
	cursor:pointer;
}

.contenido .lista.desplegable ul .lista-item .lista-item-etiqueta {
	float:left;
	font-family: Manrope;
	font-size:36px;
	text-transform:uppercase;
	color: #8c8c8c;
	margin-top:-35px;
}

.contenido .lista.desplegable ul .lista-item .lista-item-etiqueta:after {
	content:".";
	font-size:36px;
}

.contenido .lista.desplegable ul .lista-item .lista-item-icono {
	float:right;
	width:40px;
	height:40px;
	content:"";
	background-image:url(flecha.svg);
	background-repeat:no-repeat;
	background-position-x:right;
	background-size:100%;
	margin-left:150px;
}

.contenido .lista.desplegable ul .lista-item.abierto .lista-item-icono {
	animation:girar1 .5s ease forwards;
}

.contenido .lista.desplegable ul .lista-item.cerrado .lista-item-icono {
	animation:girar2 .5s ease forwards;
}

.contenido .lista.desplegable ul .lista-item .lista-item-titulo:after {
	content:"";
	display:block;
	clear:both;	
}

.contenido .lista.desplegable ul .lista-item .lista-item-detalle {
	display:none;
}

.contenido .lista.desplegable ul .lista-item .lista-item-imagen {
	float:left;
	width:100%;
	margin-top:20px;
}

.contenido .lista.desplegable ul .lista-item .lista-item-texto {
	float:left;
	width:50%;
	font-family: Raleway;
	font-size: 18px;
	color: #020202;
	line-height:28px;		
	margin-top:40px;
}

.contenido .lista.desplegable ul .lista-item:after {
	content:"";
	display:block;
	clear:both;
}

@media only screen and (max-width: 800px) {

	.contenido .lista.desplegable ul .lista-item {
		width:calc(100% - 32px - 34px);
		margin-left:16px;
		margin-right:16px;	
		padding:11px 19px 11px 15px;
	}

	.contenido .lista.desplegable ul .lista-item .lista-item-titulo {
		font-size:20px;
		line-height:26px;
		margin-top:20px;
	}

	.contenido .lista.desplegable ul .lista-item .lista-item-etiqueta {
		font-size:48px;
		margin-top:-8px;
	}

	.contenido .lista.desplegable ul .lista-item .lista-item-etiqueta:after {
		font-size:40px;
	}

	.contenido .lista.desplegable ul .lista-item .lista-item-icono {
		width:25px;
		height:25px;
		margin-left:10px;
	}

	.contenido .lista.desplegable ul .lista-item .lista-item-texto {
		width:100%;
		font-size: 14px;
		line-height:24px;		
		margin-top:20px;
	}

}

	
/* Lista plana */	

@media only screen and (min-width: 801px) {	

	.contenido .lista.plana {
		padding-top:30px;
		padding-bottom:15px;
	}

	.contenido .lista.plana:before {
		content:"";
		position:absolute;
		width:58px;
		height:58px;
		background-image:url(icono-siguiente.svg);
		background-repeat:no-repeat;
		background-position-x:right;
		background-size:100%;
		right:135px;
		right:10%;
		margin-top:-80px;
		cursor:pointer;
	}

	.contenido .lista.plana.scroll:before {
		background-image:url(icono-anterior.svg);
	}

	.contenido .lista.plana ul.items {
		display:flex;
		overflow-x: auto;
	}

	.contenido .lista.plana ul.items::-webkit-scrollbar {
		display: none;
	}

	.contenido .lista.plana ul.items .lista-item {
		width:28.5%;
		flex-shrink: 0;
		padding:35px 0px 40px 0px;
		border-top:1px solid #d9d9d9;
		border-bottom:1px solid #d9d9d9;
	}

	.contenido .lista.plana ul.items .lista-item:first-child {
		margin-left:135px;
		margin-left:10%;
	}

	.contenido .lista.plana ul.items .lista-item:last-child {
		margin-right:135px;
		margin-right:10%;
	}

	.contenido .lista.plana ul.items .lista-item .lista-item-titulo {
		width:calc(100% - 40px);
		font-family: Manrope;
		font-size:40px;
		text-transform:uppercase;
		line-height:45px;
		color: #020202;
		padding-right:40px;
	}

	.contenido .lista.plana ul.items .lista-item .lista-item-etiqueta {
		font-family: Manrope;
		font-size:40px;
		text-transform:uppercase;
		color: #0A588C;
	}

	.contenido .lista.plana ul.items .lista-item .lista-item-etiqueta:after {
		content:". ";
	}

	.contenido .lista.plana ul.items .lista-item .lista-item-etiqueta:before {
		content:" ";
		float:left;
		width:1px;
		height:21px;
		border-left:1px solid #d9d9d9;
		margin-top:-35px;
		margin-right:0px;
	}

	.contenido .lista.plana ul.items .lista-item .lista-item-titulo:after {
		content:"";
		display:block;
		clear:both;	
	}

	.contenido .lista.plana ul.items .lista-item .lista-item-texto {
		font-family: Raleway;
		font-size: 18px;
		color: #020202;
		line-height:28px;		
		margin-top:12px;
		margin-right:30px;
	}

	.contenido .lista.plana ul.totales {
		width:calc(100% - 20%);
		padding:0px 10% 0px 10%;
	}

	.contenido .lista.plana ul .lista-item.subtotal {
		padding-top:28px;
		border-bottom:1px solid #d9d9d9;
	}

	.contenido .lista.plana ul .lista-item.total {
		padding-top:28px;
		border-bottom:1px solid #d9d9d9;
	}

	.contenido .lista.plana ul .lista-item.subtotal .lista-item-titulo,
	.contenido .lista.plana ul .lista-item.total .lista-item-titulo {
		font-family: Manrope;
		font-size:36px;
		font-weight: 300;
	}

	.contenido .lista.plana ul .lista-item.subtotal .lista-item-texto,
	.contenido .lista.plana ul .lista-item.total .lista-item-texto {
		text-align:right;
		font-family: Manrope;
		font-size:36px;
		text-transform:uppercase;
		padding-top:20px;
		padding-bottom:24px;
	}
}

@media only screen and (max-width: 800px) {	

	.contenido .lista.plana {
		padding-top:15px;
	}

	.contenido .lista.plana ul .lista-item {
		width:calc(100% - 32px - 16px);
		margin-left:16px;
		margin-right:16px;	
		padding:7px 15px 11px 0px;
		border-left:1px solid #d9d9d9;
	}

	.contenido .lista.plana ul .lista-item.subtotal {
		padding-top:8px;
	}

	.contenido .lista.plana ul .lista-item.total {
		border-top:1px solid #d9d9d9;
	}

	.contenido .lista.plana ul .lista-item .lista-item-titulo {
		width:100%;
		font-family: Manrope;
		font-size:20px;
		text-transform:uppercase;
		line-height:26px;
		color: #020202;
	}

	.contenido .lista.plana ul .lista-item.subtotal .lista-item-titulo,
	.contenido .lista.plana ul .lista-item.total .lista-item-titulo {
		font-size:16px;
		font-weight: 300;
		text-transform:none;
		padding-left:12px;
	}

	.contenido .lista.plana ul .lista-item .lista-item-etiqueta {
		font-family: Manrope;
		font-size:20px;
		text-transform:uppercase;
		color: #0A588C;
	}

	.contenido .lista.plana ul .lista-item .lista-item-etiqueta:after {
		content:". ";
	}

	.contenido .lista.plana ul .lista-item .lista-item-etiqueta:before {
		content:" ";
		float:left;
		width:7px;
		height:1px;
		border-top:1px solid #d9d9d9;
		margin-top:12px;
		margin-right:5px;
	}

	.contenido .lista.plana ul .lista-item .lista-item-titulo:after {
		content:"";
		display:block;
		clear:both;	
	}

	.contenido .lista.plana ul .lista-item .lista-item-texto {
		width:100%;
		font-family: Raleway;
		font-size: 14px;
		color: #020202;
		line-height:24px;		
		margin-top:5px;
		padding-left:12px;
	}

	.contenido .lista.plana ul .lista-item.subtotal .lista-item-texto,
	.contenido .lista.plana ul .lista-item.total .lista-item-texto {
		text-align:right;
		font-family: Manrope;
		font-size:24px;
		text-transform:uppercase;

	}

}


/* Datos proyecto */

.contenido .proyecto-datos {
	padding:40px 10% 20px 10%;	
}

.contenido .proyecto-datos .proyecto-datos-etiqueta1 {
	font-family: Manrope;
	font-weight:300;	
	font-size:40px;
	color: #0A588C;
	padding-top:28px;
	padding-bottom:25px;
	border-bottom:1px solid #D9D9D9;	
}

.contenido .proyecto-datos .proyecto-datos-etiqueta2 {
	font-family: Manrope;
	font-weight:300;
	font-size:36px;
	color: #020202;	
	padding-top:28px;
	padding-bottom:9px;
}

.contenido .proyecto-datos .proyecto-datos-texto {
	font-family: Raleway;
	font-size:36px;
	color: #020202;	
	text-align:right;
	padding-top:13px;
	padding-bottom:26px;
	border-bottom:1px solid #D9D9D9;
}

.contenido .proyecto-datos .proyecto-datos-texto:not(.minusculas) {
	text-transform:uppercase;
}

.contenido .proyecto-imagenes {
	display: flex;
	flex-wrap:wrap;
	row-gap:80px;
	column-gap:70px;
	padding:80px 135px 30px 135px;	
	padding:80px 10% 30px 10%;	
}

.contenido .proyecto-imagenes .proyecto-imagen {
	width:100%;
	padding:0px 0px 0px 0px;
}

.contenido .proyecto-imagenes picture.proyecto-imagen img {
	display: block;
	width: 100%;
}

.contenido .proyecto-imagenes .proyecto-imagen.col50 {
	width:calc(50% - 35px);
}

.contenido .proyecto-imagenes .proyecto-imagen.col50_cen {
	width:50%;
	margin:auto;
}

.contenido .proyecto-nav {
	width:calc(100% - 20% + 20px);
	font-family: Raleway;
	font-size:16px;
	color: #0A588C;
	padding:30px calc(10% - 10px) 10px calc(10% - 10px);
	height:60px;
}

.contenido .proyecto-nav a {
	background-repeat:no-repeat;
	background-position-y:center;
	color: #0A588C;
	line-height:60px;
}

.contenido .proyecto-nav a:hover {
	text-decoration:underline;
}

.contenido .proyecto-nav .proyecto-anterior {
	float:left;
	width:50%;
}

.contenido .proyecto-nav .proyecto-anterior a {
	background-image:url(icono-anterior.svg);
	padding:15px 10px 15px 60px;
}

.contenido .proyecto-nav .proyecto-siguiente {
	float:left;
	width:50%;
	text-align:right;
}

.contenido .proyecto-nav .proyecto-siguiente a {
	background-image:url(icono-siguiente.svg);
	background-position-x:right;
	padding:15px 60px 15px 10px;
}

.contenido .proyecto-nav:before {
	content:"";
	display:block;
	clear:both;
}

@media only screen and (max-width: 800px) {

	.contenido .proyecto-datos {
		padding:0px 16px 20px 16px;	
	}

	.contenido .proyecto-datos .proyecto-datos-etiqueta1 {
		font-size:20px;
		padding-bottom:20px;
	}

	.contenido .proyecto-datos .proyecto-datos-etiqueta2 {
		font-size:16px;
		padding-top:14px;
	}

	.contenido .proyecto-datos .proyecto-datos-texto {
		font-weight:500;
		font-size:24px;
		padding-top:0px;
		padding-bottom:11px;
	}

	.contenido .proyecto-imagenes {
		padding:30px 16px 0px 16px;	
		row-gap:2px;
		column-gap:0px;
	}

	.contenido .proyecto-imagenes .proyecto-imagen {
		width:100%;
	}

	.contenido .proyecto-imagenes .proyecto-imagen.col50 {
		width:100%;
	}

	.contenido .proyecto-imagenes .proyecto-imagen.col50_cen {
		width:100%;
	}
	
	.contenido .proyecto-nav {
		font-size:14px;
		width:calc(100% - 32px);
		padding:30px 16px 10px 16px;
	}

	.contenido .proyecto-nav a:hover {
		text-decoration:none;
	}

}	

/* Formulario */

.contenido .formulario {
	width:calc(100% - 20% + 32px);
	padding: 46px calc(10% - 16px) 40px calc(10% - 16px);
}

.formulario-campo {
	float:left;
	position:relative;
	width:calc(50% - 32px);
	margin: 36px 16px 25px 16px;
	border-bottom:1px solid #949494;
}

.formulario-campo.col100 {
	width:calc(100% - 32px);
}

.formulario-campo label {
	position:absolute;
	top:4px;
	transform:translateY(-50%);
	font-family:Raleway;
	font-size:18px;
	color:#ffffff;
	pointer-events:none;
	transition: 0.5s;
}

.formulario-campo input,
.formulario-campo textarea {
	width:100%;
	height:30px;
	background:transparent;
	border:none;
	outline:none;
	font-family:Raleway;
	font-size:18px;	
	color:#ffffff;
}

.formulario-campo textarea {
	padding-top:5px;
	height:100px;
	line-height:25px;
}

.formulario-campo input:focus ~ label,
.formulario-campo input:valid ~ label,
.formulario-campo textarea:focus ~ label,
.formulario-campo textarea:valid ~ label {
	top: -15px;
}

input:-webkit-autofill,
input:-webkit-autofill:hover, 
input:-webkit-autofill:focus,
textarea:-webkit-autofill,
textarea:-webkit-autofill:hover,
textarea:-webkit-autofill:focus,
select:-webkit-autofill,
select:-webkit-autofill:hover,
select:-webkit-autofill:focus {
	-webkit-text-fill-color: #ffffff;
	-webkit-box-shadow: 0 0 0px 1000px #080808 inset;
	transition: background-color 5000s ease-in-out 0s;
}

.formulario-campo .formulario-mensaje {
	font-family:Manrope;
	font-size:12px;	
	color:#F13025;	
	position:absolute;
	margin-top:11px;
	background-image:url(icono-error.png);
	background-repeat:no-repeat;
	background-position-y:2px;
	padding-left:14px;
	display:none;
}

.formulario .boton {
	margin-top:20px;
	margin-left:16px;
	position:relative;
}

.formulario .boton.enviando:before{
	content:'';
	position:absolute;
	width:auto;
	height:100%;
	top:0;
	left:0%;
	right:0%;
	border-radius:8px;
	background-color:rgba(125,125,125,0.3);
	animation: slide 6s linear infinite;
}

@keyframes slide {
    0% {
        right:100%;
    }
  
    100% {
        right:0%;
    }
}

@media only screen and (max-width: 800px) {

	.contenido .formulario {
		width:100%;
		padding: 0px 0px 0px 0px;
	}

	.formulario-campo {
		float:none;
		width:calc(100% - 32px);
	}

	.formulario-campo label {
		top:12px;
		font-size:14px;
	}

	.formulario-campo input,
	.formulario-campo textarea {
		font-size:14px;
	}

	.formulario-campo textarea {
		line-height:25px;
	}

	.formulario-campo input:focus ~ label,
	.formulario-campo input:valid ~ label,
	.formulario-campo textarea:focus ~ label,
	.formulario-campo textarea:valid ~ label {
		top: -5px;
	}

	.formulario .boton {
		margin-top:20px;
	}	
	
}


/* Carrousel */

.flexslider {
	position: relative; 
	width:calc(100% - 20%); 
	margin:50px 10% 80px 10%;
}

.flexslider .slides > li {
	position: relative;
	width:100%;
	display: none;
}

.flexslider .slides > li img {
	width:100%;
}

.flexslider .slides > li img.gris,
.flexslider .slides > li picture.gris {
	filter: grayscale(100%) brightness(40%) contrast(120%);
	transition: all 0.2s ease-in-out;
}

.flexslider .slides > li:hover img.gris,
.flexslider .slides > li:hover picture.gris {
	filter: grayscale(0%) brightness(100%) contrast(100%);
}

.flexslider .slides > li .slide {
	width:100%; 
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
}

.flexslider:after {
	content: ""; 
	display: block; 
	clear: both; 
}

.flex-caption { 
	position: absolute; 
	width:100%;
	bottom:100px;
	color:#ffffff;
}

.flex-caption .caption-title-line { 
	font-family: Manrope;
	font-size:48px;
	color: #ffffff;
	padding:0px 24px 0px 110px;
	transition: all 0.5s ease-in-out;
}

.flex-caption .caption-text-line { 
	font-family: Manrope;
	font-weight: 300;
	font-size:40px;
	padding:20px 24px 0px 110px;
	transition: all 0.5s ease-in-out;
}

.flexslider .slides > li:hover .flex-caption .caption-title-line,
.flexslider .slides > li:hover .flex-caption .caption-text-line { 
	opacity:0;
}

.flex-pauseplay span {}

.flexslider .flex-direction-nav li a {
	width:58px; 
	height:58px; 
	margin:0; 
	display: block; 
	position: absolute; 
	cursor: pointer; 
	text-indent: -9999px;
}

.flexslider .flex-direction-nav li a.prev {
	background:url(icono-anterior.svg) no-repeat center;
	background-size:100%;
	right:55px;
	top:-72px;
}

.flexslider .flex-direction-nav li a.next {
	background:url(icono-siguiente.svg) no-repeat center;
	background-size:100%;
	right:-10px;
	top:-72px;
}

.flexslider .flex-direction-nav li a.disabled {
	opacity: .3; 
	filter:alpha(opacity=30); 
	cursor: default;
}

.flexslider .flex-control-nav {
	position: absolute; 
	width:100%;
	bottom:-48px;
	text-align: center;
	z-index:10;
}

.flexslider .flex-control-nav:after {
	content: ""; 
	display:block;
	clear: both; 
}
	
.flexslider .flex-control-nav li {
	display: inline-block;
	padding-left:16px;
}

.flexslider .flex-control-nav li:first-child {
	padding-left:0px;
}

.flexslider .flex-control-nav li div {
	width: 8px;
	height: 8px;
	display: block;
	background: #b4bac3;
	cursor: pointer;
	text-indent: -9999px;
	border-radius: 50%;	
}

.flexslider .flex-control-nav li div.active {
	background: #0A588C;
	cursor: default;
}
			
@media only screen and (max-width: 800px) {
	
	.flexslider {
		width:calc(100% - 32px); 
		padding:0px 16px 0px 16px;
		margin:30px 0px 50px 0px;
	}

	.flex-caption { 
		bottom:22px;
	}

	.flex-caption .caption-title-line { 
		font-size:24px;
		padding:0px 24px 0px 24px;
	}

	.flex-caption .caption-text-line { 
		font-size:16px;
		padding:7px 24px 0px 24px;
	}

	.flexslider .flex-direction-nav li a {
		width:13px; 
		height:10px; 
		padding:20px;
	}

	.flexslider .flex-direction-nav li a.prev {
		background:url(flecha-anterior.svg) no-repeat center;
		left:15px;
		top:calc(50% - 20px);
	}

	.flexslider .flex-direction-nav li a.next {
		background:url(flecha-siguiente.svg) no-repeat center;
		right:15px;
		top:calc(50% - 20px);
	}

	.flexslider .flex-control-nav {
		width:calc(100% - 32px);
		bottom: -25px; 
	}

	.flexslider .flex-control-nav li {
		padding-left:5px;
	}

	.flexslider .flex-control-nav li a {
		width: 5px;
		height: 5px;
	}

}


/* Pie de pagina */

.pie {
	width:calc(100% - 20%);
	padding: 50px 10% 100px 10%;
	background-color: #020202;
	margin-top:50px;
	display:flex;
}

.pie:after {
	content: ""; 
	display:block;
	clear: both; 
}

.cuerpo.negro .pie {
	border-top:1px solid #949494;
}

.pie .pie-datos {	
	padding-top:19px;
}

.pie .pie-datos li {	
}

.pie .pie-datos li label {	
	float:left;	
	width:100%;
	font-family: Manrope;
	font-weight:300;
	font-size:14px;
	text-transform:uppercase;
	color: #ffffff;
	padding-top:22px;
}

.pie .pie-datos li span {	
	float:left;	
	width:100%;
	font-family: Raleway;
	font-size:16px;
	color: #ffffff;
	padding-top:7px;
}

.pie .pie-datos li a {	
	color: #ffffff;
}

.pie .pie-datos li a:hover {	
	text-decoration:underline;
}

.pie .pie-datos:after {
	content:"";
	display:block;
	clear:both;	
}

.pie nav.pie-menu {
	font-family: Manrope;
	font-weight: 300;
	font-size:16px;
	text-transform:uppercase;
	margin-top:19px;
	margin-left:100px;
	margin-bottom:14px;
}

.pie nav.pie-menu ul li {
		width:100%;
	width:auto;
	padding-top:19px;
		padding-bottom:0px;
	padding-bottom:10px;
}

.pie .pie-menu ul li a {
	color: #ffffff;
}

.pie .pie-menu ul li a:hover {
	text-decoration:underline;
}

.pie .pie-menu:after {
	content:"";
	display:block;
	clear:both;	
}

.pie .pie-logo {
	width:275px;
	cursor:pointer;
	align-self:flex-end;
	margin-left:auto;
}

.pie-whatsapp {
	position:fixed;
	bottom: 125px;
	right:42px;
	right:calc((10% - 56px) / 2);
	z-index:1000;
	height:56px;
}

.pie-whatsapp .pie-whatsapp-link{
	float:right;
	background-image: url(icono-whatsapp.svg);
	background-repeat: no-repeat;
	padding:0px 0 56px 56px;
	text-indent: -9999px;
	line-height:0px;
}

@media only screen and (max-width: 800px) {
	
	.pie {
		width:calc(100% - 32px);
		padding: 20px 16px 70px 16px;
		display:block;
	}

	.pie .pie-datos li label {	
		font-size:14px;
	}

	.pie .pie-datos li span {	
		font-size:16px;
	}

	.pie .pie-datos li a:hover {	
		text-decoration:none;
	}

	.pie nav.pie-menu {
		font-weight: normal;
		font-size:20px;
		margin-top:16px;
		margin-left:0px;
	}

	.pie nav.pie-menu ul li {
		width:100%;
		padding-bottom:0px;
	}

	.pie .pie-menu ul li a:hover {
		text-decoration:none;
	}

	.pie .pie-logo {
		width:175px;
		margin-left:0px;
	}

	.pie-whatsapp {
		bottom: 25px;
		right:16px;
	}
	
}