/*
 Theme Name:     Castro-Gervaz
 Theme URI:      https://cincomedios.com
 Description:    Tema personalizado para Castro-Gervaz.
 Author:         Cincomedios
 Author URI:     https://cincomedios.com
 Template:       Divi
 Version:        1.0.0
*/
 
 
/* =Theme customization starts here
------------------------------------------------------- */

/*//////////////////////////////////////////////////////*/
/*///VARIABLES GLOBALES/////////////////////////////////*/
/*//////////////////////////////////////////////////////*/

:root {
	--negro: #000;
	--negro-c: #333;
	--gris: #f2f2f2;
	--gris-b: #ccc;
	--gris-o: #999;
	--amarillo: #ffd600;
	--amarillo-c: #faf7be;
	--amarillo-o: #935801;
	--rojo: #af0000;
	--rojo-c: #ffe8e8;
	--rojo-o: #a70909;
	--verde: #20c502;
	--verde-c: #daffdd;
	--verde-o: #1b600f;
	--font-awesome: "Font Awesome 6 Free";
	--font-awesome-b: "Font Awesome 6 Brands";
}

/*//////////////////////////////////////////////////////*/
/*///FORMATEO///////////////////////////////////////////*/
/*//////////////////////////////////////////////////////*/

/* General */

html {
	scroll-padding-top: 4rem;
}

html, body {
	font-weight: 400;
	padding: 0 !important;
	overflow-x: hidden !important;
}

html:not(.et-fb-preview--wireframe) #page-container {
	overflow-x: hidden !important;
	position: relative !important;
}

h1, h2, h3, h4, h5, h6 {
	line-height: 1.2em;
	padding: 0;
}

input[type=number]::-webkit-inner-spin-button,
input[type=number]::-webkit-outer-spin-button {
   opacity: 1;
}

small {
	font-size: 0.8em;
}

@media (width >= 980px) {
	
	.dgbc_blog_carousel .swiper-wrapper {
		transform: none !important;
	}
	
}

@media (width < 980px) {

	h1, h2, h3, h4, h5, h6 {
		text-wrap: balance;
	}
	
	.invertir-cols {
		display: flex !important;
		flex-wrap: wrap;
	}

	.invertir-cols .et_pb_column:first-child {
		margin: 0 !important;
		order: 2;
	}

	.invertir-cols .et_pb_column:last-child {
		margin-bottom: 30px !important;
		order: 1;
	}
	
	.mantener-relacion {
		display: flex !important;
		flex-wrap: wrap;
		align-items: center;
	}

	.mantener-relacion.p50-50 .et_pb_column {
		width: 50% !important;
	}

	.mantener-relacion.p70-30 .et_pb_column:first-child {
		width: 70% !important;
	}

	.mantener-relacion.p70-30 .et_pb_column:last-child {
		width: 30% !important;
	}

	.mantener-relacion.p25-75 .et_pb_column:first-child {
		width: 25% !important;
	}

	.mantener-relacion.p25-75 .et_pb_column:last-child {
		width: 75% !important;
	}
	
}

@media (width < 768px) {
	
	.mantener-relacion.g4-50-50 .et_pb_column:nth-child(odd) {
		width: calc(50% - 15px) !important;
    	margin: 0 30px 30px 0 !important;
	}
	
	.mantener-relacion.g4-50-50 .et_pb_column:nth-child(even) {
		width: calc(50% - 15px) !important;
    	margin: 0 0 30px !important;
	}

	.mantener-relacion.p25-75 .et_pb_column:first-child {
		width: 40% !important;
	}

	.mantener-relacion.p25-75 .et_pb_column:last-child {
		width: 60% !important;
	}
	
}

/* Full img */

.full-img .imagen {
	min-height: 450px;
}

.full-img .imagen .et_pb_module,
.full-img .imagen .et_pb_image_wrap,
.full-img .imagen img {
	height: 100%;
	width: 100% !important;
	position: absolute;
	left: 0;
	top: 0;
}

.full-img .imagen img {
	object-fit: cover;
	object-position: center;
}

.inline-img {
	display: inline-block;
	margin: 0 20px 20px 0;
	transition: transform ease 0.3s;
}

.inline-img:hover {
	transform: scale(1.05);
}

@media (width >= 980px) {
	
	.mitad-imagen:not(.invertir-cols) .et_pb_column:not(.imagen) {
		width: 43vw;
		max-width: 700px;
		margin-left: auto;
		padding-left: 0 !important;
	}
	
	.mitad-imagen.invertir-cols .et_pb_column:not(.imagen) {
		width: 43vw;
		max-width: 700px;
		margin-right: auto;
		padding-right: 0 !important;
	}
	
}

@media (width < 980px) {
	
	.mitad-imagen .imagen {
		height: 300px;
	}
	
}

@media (width < 768px) {
	
	.full-img .imagen {
		min-height: 300px;
	}
	
}

/* Full img altura */

.full-height-img,
.full-height-img * {
	height: 100%;
	width: 100%;
}

@media (width >= 980px) {	

	.full-height-img img {
		object-fit: cover;
		max-height: 480px;
	}
	
}

/* reCAPTCHA */

.grecaptcha-badge {
	display: none !important;
}

/* Divi */

.et_pb_row, .container {
	width: 86%;
}

.et_pb_text_inner ul:last-child {
	padding-bottom: 0;
}

.et_pb_social_media_follow li {
	margin: 0;
}

.et_pb_text a:hover {
	text-decoration: underline;
}

.single-project .et_pb_text ul li::before {
	content: "\f061";
}

.et_pb_portfolio .et_pb_portfolio_item {
	margin: 0;
}

.et_pb_social_icon.et-social-facebook a.icon:before {
	content: "\f09a";
	font-family: var(--font-awesome-b);
}

.et_pb_blurb_content {
	max-width: 100%;
}

.et_pb_blurb img {
	animation: none !important;
	opacity: 1 !important;
}

.et_pb_text.hover a:hover,
.et_pb_menu.hover a:hover {
	text-decoration: underline;
}

.et_pb_image a {
	display: inline-block;
}

.et_pb_number_counter .percent {
	height: auto;
}

.et_pb_number_counter.mas .percent-value {
	position: relative;
}

.et_pb_number_counter.mas .percent-value::before {
	content: "+";
	font-size: 50px;
	position: absolute;
	top: 50%;
	left: -50px;
	transform: translateY(-50%);
}

@media (width >= 980px) {

	.full-height .et_pb_module,
	.full-height .et_pb_module > *,
	.full-height iframe,
	.full-height .et_pb_map {
		height: 100% !important;
	}
	
}

@media (width >= 768px) {

	.dica_divi_carousel .swiper-pagination {
		display: none !important;
	}
	
	.et_pb_button_module_wrapper:has(.en-linea) {
		display: inline-block;
		margin: 0 30px 10px 0 !important;
	}
	
}

/* Caja de luz */

div#pbOverlay {
	background: rgba(11,11,11,0.8) none repeat scroll 0% 0% !important;
}

#pbCloseBtn:before,
#pbAutoplayBtn:before {
	background: transparent !important;
}

#pbAutoplayBtn,
#pbCaption {
	display: none !important;
}

.pbWrapper > div,
.pbWrapper > img {
	border-radius: 0px !important;
	box-shadow: 0 0 8px rgba(0,0,0,.6) !important;
}

#pbOverlay .prevNext {
	text-shadow: none !important;
}

#pbPrevBtn b:before,
#pbNextBtn b:after {
	font-family: var(--font-awesome) !important;
	font-size: 30px !important;
	font-weight: 600 !important;
}

#pbPrevBtn b:before {
	content: "\f053" !important;
}

#pbNextBtn b:after {
	content: "\f054" !important;
}

/* Mapa */

.et_pb_map_container img[src*="marker"] {
	filter: grayscale(100%) brightness(0) !important;
}

iframe[src*="google"] {
	display: block;
	filter: grayscale(100%);
}

/* Listas */

.et_pb_text ul,
.et_pb_blurb_description ul {
	list-style: none;
	padding: 0;
}

.et_pb_text ul li,
.et_pb_blurb_description ul li {
	padding: 0 0 10px 20px;
	position: relative;
}

.et_pb_text ul li:last-child,
.et_pb_blurb_description ul li:last-child {
	border: none;
	padding-bottom: 0;
	margin: 0;
}

.et_pb_text ul li::before,
.et_pb_blurb_description ul li::before {
	content: "\f105";
	color: var(--celeste);
	font-family: var(--font-awesome);
	font-weight: 600;
	position: absolute;
	top: 1px;
	left: 0;
}

.et_pb_text.check ul li::before {
	content: "\f00c";
}

.et_pb_text ul li.tel::before {
	content: "\f2a0";
}

.et_pb_text ul li.email::before {
	content: "\f0e0";
}

.et_pb_text ul li.dir::before {
	content: "\f3c5";
}

/* Datos de contacto */

.contacto .et_pb_blurb_content > * {
	vertical-align: middle;
}

.contacto .et_pb_main_blurb_image {
	width: 90px;
}

.contacto .et_pb_blurb_container {
	padding-left: 30px;
}

.contacto .et_pb_module_header {
	margin: 0 0 10px;
}

.contacto .et_pb_blurb_container p {
	word-break: break-all;
}

@media (width < 768px) {	

	.contacto .et_pb_main_blurb_image {
		width: 50px;
	}
	
}

/* Botones */

.et_pb_button::after, .et_pb_button::before {
	transition: none !important;
}

.et_pb_button.con-icono::before {
	font-family: var(--font-awesome);
	font-size: 16px !important;
	font-weight: 600 !important;
	display: inline-block !important;
	visibility: visible !important;
	opacity: 1 !important;
	position: relative !important;
	margin: 0 10px 0 0 !important;
}

.et_pb_button.tel::before {
	content: "\f095" !important;
}

.et_pb_button.con-icono::after {
	display: none !important;
}

/* Sidebar */

#main-content .container:before {
	display: none !important;
}

/* Revolution Slider */

.rs-layer [data-type="text"] {
	white-space: normal !important;
}

/* Menú */

.et-menu a:hover {
	opacity: 1 !important;
}

.et_pb_menu.vertical ul {
	margin-top: -20px;
}

.et_pb_menu.vertical ul li {
	display: block !important;
	margin-top: 20px !important;
	width: 100%;
}

.et_pb_menu.no-mobile .et_pb_menu__menu {		
	display: flex !important;
}

.et_pb_menu.no-mobile .et_mobile_nav_menu {
	display: none !important;
}

.et_mobile_menu li a:hover, .nav ul li a:hover {
	color: inherit !important;
	opacity: 1 !important;
}

.et_mobile_menu li a:hover, .nav ul li a:hover {
	background: transparent !important;
}

.mobile_nav {
	margin: -5px auto 0;
}

.mobile_nav.opened .mobile_menu_bar::before {
	content: "\f00d";
	font-family: var(--font-awesome) !important;
	font-weight: 600;
	margin: 0 5px;
}

@media (width < 980px) {
	
	.et_pb_menu.m-center .et_pb_menu__wrap,
	.et_pb_menu.m-center .et_pb_menu__menu > nav > ul {
		justify-content: center !important;	
	}
	
}

/*//////////////////////////////////////////////////////*/
/*///HEADER/////////////////////////////////////////////*/
/*//////////////////////////////////////////////////////*/

/* Top bar */

#topbar .et_pb_row .et_pb_column:first-child {
	flex-grow: 1;
}

#topbar .et_pb_row .et_pb_column:first-child i {
	color: var(--celeste);
	display: inline-block;
	margin-right: 5px;
}

#topbar .et_pb_row .et_pb_column:nth-child(2) {
	flex-grow: 1;
}

#topbar .et_pb_row .et_pb_column:last-child {
	width: 142px !important;
}

#topbar .sub-menu {
	width: 100%;
	padding: 0;
}

#topbar .sub-menu li {
	padding: 0;
	width: 100%;
}

#topbar .sub-menu li a {
	padding: 0 0 5px 12px;
	width: 100%;
}

#topbar .et_pb_button {
	line-height: 1.1em !important;
	text-align: center;
}

#topbar.et_pb_sticky {
	z-index: 10011 !important;
}

@media (width >= 980px) {
	
	#topbar .et_pb_row .et_pb_column:nth-child(2) {
		padding-right: 25px;
	}
	
}

@media (width < 980px) {	
	
	#topbar .et_pb_row {
		display: flex;
	}
	
	#topbar .et_pb_row .et_pb_column {
		width: auto;
	}
	
}

@media (width < 768px) {
	
	#topbar .et_pb_menu__wrap {
		justify-content: flex-start !important;
	}
	
	#topbar .et_pb_row .et_pb_column:last-child {
		width: 300px !important;
	}
	
}

/* Encabezado */

.home .et-l--header > div::before {
    content: "";
    background: linear-gradient(to bottom, rgba(0,0,0,0.8), rgba(0,0,0,0));
    position: absolute;
    inset: 0 0 0 0;
    height: 150%;
}

#cabezal .et-menu > li > a {
	position: relative;
}

#cabezal .et-menu > li > a:hover {
	text-decoration: underline;
}

#cabezal .et_pb_menu .current-menu-item > a,
#cabezal .et_pb_menu .current-page-ancestor > a,
#cabezal .et_pb_menu .current_page_parent > a,
.tax-project_category #cabezal .et_pb_menu .menu-item-object-project > a,
.single-project #cabezal .et_pb_menu .menu-item-object-project > a {
	font-weight: bold !important;
}

#cabezal .et_pb_menu .current-menu-item > a::before,
#cabezal .et_pb_menu .current-page-ancestor > a::before,
#cabezal .et_pb_menu .current_page_parent > a::before {
	opacity: 1 !important;
}

#cabezal .et_pb_menu .et_mobile_nav_menu {
	margin: 0 -5px 0 0;
}

#cabezal .et_mobile_menu {
	--gap: 80px;
	position: fixed;
	left: 0;
	top: var(--gap);
	height: calc(100% -  var(--gap));
	padding: 10px 7%;
	overflow-y: auto;
}

#cabezal .et_mobile_menu li a {
	background: transparent !important;
	border-color: rgba(0,0,0,0.1);
	padding: 10px 0;
}

#cabezal .et_mobile_menu .menu-item-has-children > a {
	font-weight: 400;
}

#cabezal .et_pb_menu .sub-menu {
	border: none !important;
}

#cabezal .et_pb_menu .sub-menu a {
	font-size: 14px;
	width: 100% !important;
}

#cabezal .et_pb_menu ul:not(.et_mobile_menu) .sub-menu a:hover {
	background: rgba(0,0,0,0.3) !important;
}

@media (width >= 768px) {
	
	#cabezal .et_pb_menu .sub-menu {
		padding: 10px 0;
	}

	#cabezal .et_pb_menu .sub-menu li {
		padding: 0;
		width: 100%;
	}
	
}

@media (width < 980px) {
	
	#cabezal .et_pb_menu .sub-menu {
		padding: 0;
	}
	
	#cabezal .et_pb_row {
		display: flex;
	}
	
	#cabezal .et_pb_row .et_pb_column {
		width: 50%;
	}
	
}

/* Título página */

.titulo-pagina {
	padding-top: 160px !important;
	margin-top: -160px !important;
}

.recuadro-intro .et_pb_text_inner {
	height: 100%;
}

.recuadro-intro a:hover {
	text-decoration: underline;
}

.titulo-pagina {
	display: flex;
}

.titulo-pagina .extra {
	padding-left: 90px;
}

.titulo-pagina .extra::before {
	content: "\f105";
	border: 2px solid #fff;
	border-radius: 100%;
    font-family: var(--font-awesome);
	font-size: 20px;
    font-weight: 600;
	width: 60px;
	line-height: 60px;
	text-align: center;
    position: absolute;
	left: 0;
	top: 50%;
	transform: translatey(-50%);
}

#moving-bg {
	position: absolute !important;
	top: 0;
	left: 0;
	width: 110% !important;
	height: calc(110% + 160px) !important;
	max-width: unset !important;
	transition-property: transform, opacity;
    transition-timing-function: cubic-bezier(0,.33,.07,1.03);
    transition-duration: 1s;
}

@media (height > 800px) and (width >= 980px) {
	
	.titulo-pagina {
		height: 800px;
	}
	
}

@media (600px <= height <= 800px) and (width >= 980px),
	   (400px <= height <= 600px) and (width < 980px) {
	
	.titulo-pagina {
		height: 100dvh;
  		height: calc(var(--vh), 1vh) * 100);
	}
	
}

@media (height > 600px) and (width < 980px) {
	
	.titulo-pagina {
		height: 600px;
	}
	
}

@media (width >= 980px) {
	
	.recuadro-intro {
		aspect-ratio: 10/4.9;
	}

	.recuadro-intro a {
		position: absolute;
		left: 0;
		bottom: 0;
	}
	
}

@media (width < 980px) {
	
	#moving-bg {
		display: none !important;
	}
	
}

@media (width < 768px) {	
	
	.titulo-pagina {
		padding-top: 130px !important;
		margin-top: -130px !important;
	}
	
}

/*//////////////////////////////////////////////////////*/
/*///INICIO/////////////////////////////////////////////*/
/*//////////////////////////////////////////////////////*/

/* Slider */

@media (480px < width <= 1700px) {
	
	rs-layer-wrap:has(.slider-capa-left) {
		margin-left: 7% !important;
		left: 0 !important;
	}
	
	.tparrows {
		left: auto !important;
		right: 0 !important;
		margin-right: 7% !important;
	}
	
	.tp-leftarrow {
		transform: translate(-50px, -90px) !important;
	}
	
	.tp-rightarrow {
		transform: translate(0px, -90px) !important;
	}
	
}

@media (width <= 480px) {
	
	.tp-leftarrow {
		left: 0 !important;
		margin-left: 7% !important;
		transform: translate(0px, -63px) !important;
	}
	
	.tp-rightarrow {
		left: auto !important;
		right: 0 !important;
		margin-right: 7% !important;
		transform: translate(0px, -63px) !important;
	}
	
}

/* Clientes */

.clientes .gallery {
	display: grid;
	grid-template-columns: repeat(4,1fr);
	gap: clamp(20px,3vw,50px);
	padding: 1px;
}

.clientes .gallery > br {
	display: none;
}

.clientes .gallery-item {
	float: none !important;
	width: 100% !important;
	margin: 0 !important;
}

.clientes img {
	border: 1px solid var(--gris-b) !important;
	display: block;
	filter: grayscale(1);
}

.clientes .dica-container .swiper-button-prev {
	margin: 0;
	transform: translateX(calc(-100% - clamp(50px,6vw,100px)));
}

.clientes .dica-container .swiper-button-next {
	margin: 0;
	transform: translateX(calc(100% + clamp(50px,6vw,100px)));
}

@media (width < 980px) {
	
	.clientes .dica_divi_carousel .dica-container.tablet_middle-outside .swiper-buttton-container {
		justify-content: center !important;
		gap: 10px;
		position: relative;
		top: 0;
		transform: translateY(0);
		margin-top: 50px;
	}
	
	.clientes .dica-container .swiper-button-prev,
	.clientes .dica-container .swiper-button-next {
		transform: translateX(0);
	}
	
}

@media (width >= 768px) {	

	.clientes .gallery.gallery-columns-6 {
		grid-template-columns: repeat(auto-fit,minmax(130px,1fr));
	}
	
}

/*//////////////////////////////////////////////////////*/
/*///PÁGINAS////////////////////////////////////////////*/
/*//////////////////////////////////////////////////////*/

/* Slider */

rs-layer a {
	color: #fff;
}

.slider-categoria {
	color: transparent !important;
}

.slider-categoria a {
	color: #fff !important;
}

.slider-categoria a:not(:first-child) {
	display: none;
}

/* Servicios */

.servicio.et_pb_module {
	height: 100%;
}

.servicio.et_pb_module .et_pb_main_blurb_image {
	vertical-align: center;
	width: 80px;
}

.servicio.et_pb_module .et_pb_blurb_container {
	vertical-align: middle;
	padding-left: 40px;
}

.servicio.et_pb_module .et_pb_blurb_container::before {
	content: "Área";
	font-size: 14px;
	line-height: 1em;
	display: block;
	text-transform: uppercase;
	margin-bottom: 5px;
}

.servicio.et_pb_module .et_pb_module_header {
	margin-bottom: 10px;
}

.servicio.et_pb_module:hover .et_pb_blurb_description {
	text-decoration: underline;
}

@media (width < 768px) {

	.servicio.et_pb_module .et_pb_main_blurb_image {
		width: 60px;
	}

	.servicio.et_pb_module .et_pb_blurb_container {
		padding-left: 30px;
	}
	
}

/* Servicio item */

.item-servicio .et_pb_column {
	display: grid;
	grid-template-columns: 50px 1fr;
	gap: 30px;
	align-items: center;
}

.item-servicio .et_pb_image {
	background: var(--negro);
	padding: 10px;
	grid-row: 1;
	margin: 0 !important;
}

.item-servicio .et_pb_image img {
	filter: invert(1);
	width: 100% !important;
	height: auto;
}

.item-servicio .titulo {
	grid-column: 2;
	grid-row: 1;
	margin: 0 !important;
}

.item-servicio .titulo::before {
	content: "Área";
	font-size: 14px;
	line-height: 1em;
	display: block;
	text-transform: uppercase;
	margin-bottom: 5px;
}

.item-servicio .texto {
	grid-column: 1 / -1;
}

/* Arquitectos */

.arquitecto:hover {
	cursor: pointer;
}

.arquitecto .et_pb_module_header {
	position: relative;
}

.arquitecto .et_pb_module_header::before {
	content: "Arquitecto";
	font-size: 14px;
	line-height: 1em;
	display: block;
	text-transform: uppercase;
	margin-bottom: 5px;
}

.arquitecto .et_pb_module_header::after {
	content: "+";
	font-size: 2em;
	font-weight: 300;
	position: absolute;
	right: 0;
	top: 50%;
	transform: translateY(-50%);
}

.arquitecto.activo .et_pb_module_header::after {
	content: "-";
}

.arquitecto .et_pb_blurb_description {
	margin-top: 20px;
}

.arquitecto:not(.activo) .et_pb_blurb_description {
	display: none;
}

/* Tipos */

.tipos.et_pb_text ul {
	display: grid;
	gap: 30px;
}

.tipos.et_pb_text ul li {
	align-content: center;
	background: var(--gris);
	display: grid;
	padding: 30px 30px 30px 60px;
}

.tipos.et_pb_text ul li::before {
	top: 50%;
	left: 30px;
	transform: translateY(-50%);
}

@media (width >= 980px) {
	
	.tipos.et_pb_text ul {
		grid-template-columns: repeat(3,1fr);
		gap: 40px;
	}

	.tipos.et_pb_text ul li {
		min-height: 140px;
	}
	
}

/*//////////////////////////////////////////////////////*/
/*///PROYECTOS//////////////////////////////////////////*/
/*//////////////////////////////////////////////////////*/

/* Archivo */

.et_pb_portfolio .project {
	position: relative;
	overflow: hidden;
}

.et_pb_portfolio:not(.destacados) .project {
	aspect-ratio: 1 / 1;
	width: 100%;
	height: 100%;
	max-height: 440px;
}

.et_pb_portfolio .project *:not(.info-wrapper,.info-wrapper *) {
	position: absolute;
	inset: 0;
}

.et_pb_portfolio img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
	transition: transform ease 0.5s, filter ease 0.5s;
}

.et_pb_portfolio .project:hover img {
	transform: scale(1.02);
	filter: blur(10px);
}

.et_pb_portfolio .info-wrapper {
	background: rgba(0,0,0,0.3);
	display: grid;
	padding: 50px;
	position: absolute;
	inset: 0;
	pointer-events: none;
	transition: opacity ease 0.3s, padding ease 0.3s;
}

.et_pb_portfolio .info-wrapper * {
	max-width: 400px;
}

.et_pb_portfolio .et_pb_module_header {
	margin: 0;
	order: 2;
}

.et_pb_portfolio .post-meta {
	line-height: 1em;
	margin: 0 0 5px;
	order: 1;
}

.et_pb_portfolio:not(.relacionados) .et_pb_ajax_pagination_container {
	display: grid;
	grid-template-columns: repeat(3,1fr);
	gap: 40px;
}

.et_pb_portfolio div:has(.wp-pagenavi) {
	grid-column: 1 / -1;
}

@media (width >= 980px) {
	
	.et_pb_portfolio .info-wrapper {
		justify-content: center;
		align-content: center;
		padding-top: 100px;
		opacity: 0;
	}

	.et_pb_portfolio .project:hover .info-wrapper {
		padding-top: 50px;
		opacity: 1;
	}
	
}

@media (width < 980px) {

	.et_pb_portfolio:not(.relacionados) .et_pb_ajax_pagination_container {
		grid-template-columns: repeat(2,1fr);
		gap: 30px;
	}
	
	.et_pb_portfolio .info-wrapper {
		background: linear-gradient(to top, rgba(0,0,0,0.8) 0%, rgba(0,0,0,0) 50%);
		justify-content: start;
		align-content: end;
		text-align: left;
		padding: 30px
	}
	
}

@media (width < 768px) {

	.et_pb_portfolio:not(.relacionados) .et_pb_ajax_pagination_container {
		grid-template-columns: 1fr;
	}
	
}

/* Destacados */

.et_pb_portfolio.destacados .et_pb_ajax_pagination_container {
	grid-template-columns: repeat(5,1fr);
	grid-template-areas:
		"a a b b b"
		"a a b b b"
		"c c b b b"
		"c c d d d"
		"c c d d d"
		"e e e f f"
		"e e e f f";
	grid-auto-rows: 180px;
}

.et_pb_portfolio.destacados .et_pb_ajax_pagination_container .project:first-child {
	grid-area: a;
}

.et_pb_portfolio.destacados .et_pb_ajax_pagination_container .project:nth-child(2) {
	grid-area: b;
}

.et_pb_portfolio.destacados .et_pb_ajax_pagination_container .project:nth-child(3) {
	grid-area: c;
}

.et_pb_portfolio.destacados .et_pb_ajax_pagination_container .project:nth-child(4) {
	grid-area: d;
}

.et_pb_portfolio.destacados .et_pb_ajax_pagination_container .project:nth-child(5) {
	grid-area: e;
}

.et_pb_portfolio.destacados .et_pb_ajax_pagination_container .project:nth-child(6) {
	grid-area: f;
}

@media (width < 1200px) {
	
	.et_pb_portfolio.destacados .et_pb_ajax_pagination_container {
		grid-template-areas:
			"a a b b b"
			"a a b b b"
			"c c c d d"
			"c c c d d"
			"e e f f f"
			"e e f f f";
	}
	
}

@media (width < 980px) {
	
	.et_pb_portfolio.destacados .et_pb_ajax_pagination_container {
		grid-template-columns: repeat(4,1fr);
		grid-template-areas:
			"a a b b"
			"a a b b"
			"c c c c"
			"c c c c"
			"d d e e"
			"d d e e"
			"f f f f"
			"f f f f";
		grid-auto-rows: 120px;
	}
	
}

@media (width < 768px) {
	
	.et_pb_portfolio.destacados .et_pb_ajax_pagination_container {
		grid-template-areas:
			"a a a a"
			"a a a a"
			"b b b b"
			"b b b b"
			"c c c c"
			"c c c c"
			"d d d d"
			"d d d d"
			"e e e e"
			"e e e e"
			"f f f f"
			"f f f f";	
	}
	
}

/* Paginación */

.wp-pagenavi {
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-start;
	gap: 3px;
	margin-top: 10px;
}

.wp-pagenavi .pages {
	display: none !important;
}

.wp-pagenavi span,
.wp-pagenavi a {
	background: var(--gris);
	color: var(--negro) !important;
	display: block;
	line-height: 40px;
	width: 40px;
	text-align: center;
	transition: all ease 0.3s;
}

.wp-pagenavi a:hover,
.wp-pagenavi span {
	background: var(--negro);
	color: #fff !important;
}

@media (width < 768px) {
	
	.wp-pagenavi span,
	.wp-pagenavi a {
		font-size: 12px;
		line-height: 30px;
		width: 30px;
	}
	
}

/* Individual - Datos */

#proyecto-datos {
	display: grid;
	gap: 10px;
}

#proyecto-datos .et_pb_module {
	margin: 0;
}

#proyecto-datos .et_pb_text_inner {
	border: 1px solid #ddd;
	display: grid;
	grid-template-columns: 80px 110px 1fr;
	min-height: 80px;
}

#proyecto-datos .et_pb_text_inner::before {
	content: "";
	background-repeat: no-repeat;
	background-position: center center;
	background-color: #f2f2f2;
	background-size: 30px auto;
}

#proyecto-datos .cliente .et_pb_text_inner::before {
	background-image: url("../../uploads/2024/04/user.svg");
}

#proyecto-datos .ubicacion .et_pb_text_inner::before {
	background-image: url("../../uploads/2024/04/marker.svg");
}

#proyecto-datos .fecha-p .et_pb_text_inner::before {
	background-image: url("../../uploads/2024/04/calendar.svg");
}

#proyecto-datos .fecha-o .et_pb_text_inner::before {
	background-image: url("../../uploads/2024/04/calendar.svg");
}

#proyecto-datos .superficie .et_pb_text_inner::before {
	background-image: url("../../uploads/2024/04/square-dashed.svg");
}

#proyecto-datos .inversion .et_pb_text_inner::before {
	background-image: url("../../uploads/2024/04/sack-dollar.svg");
}

#proyecto-datos .et_pb_text_inner > * {
	line-height: 1.3em;
	display: grid;	
	align-items: center;
	padding: 0 20px;
}

#proyecto-datos .et_pb_text_inner strong {
	font-size: 12px;
	text-transform: uppercase;
}

@media (width > 600px) {

	#proyecto-datos .et_pb_text_inner span {
		text-align: right;
	}
	
}

@media (width <= 600px) {
	
	#proyecto-datos .et_pb_text_inner {
		grid-template-columns: 60px 1fr;
	}
	
	#proyecto-datos .et_pb_text_inner::before {
		grid-row: 1 / 3;
	}
	
	#proyecto-datos .et_pb_text_inner > * {
		font-size: 14px;
		grid-column: 2 / 3;
	}
	
	#proyecto-datos .et_pb_text_inner strong {
		align-items: end;
	}

	#proyecto-datos .et_pb_text_inner span {
		align-items: start;
	}
	
}

/* Individual - Galería */

#proyecto-galeria {
	margin-top: 100px;
}

#proyecto-galeria .gallery {
	display: grid;
	grid-template-columns: repeat(3,1fr);
	gap: 40px;
}

#proyecto-galeria .gallery br {
	display: none !important;
}

#proyecto-galeria .gallery .gallery-item,
#proyecto-galeria .gallery .gallery-icon {
	width: 100%;
	margin: 0;
	overflow: hidden;
}

#proyecto-galeria .gallery-item a {
	background: #f2f2f2;
	width: 100%;
}

#proyecto-galeria .gallery-item img {
	aspect-ratio: 3 / 2;
	mix-blend-mode: multiply;
	border: none;
	display: block;
	width: 100%;
	object-fit: cover;
	object-position: center;
	transition: transform ease 0.5s !important;
	transform: scale(1.01);
}

#proyecto-galeria .gallery-item:hover img {
	transform: scale(1.05) !important;
}

@media (width < 980px) {
	
	#proyecto-galeria {
		margin-top: 80px;
	}
	
	#proyecto-galeria .gallery {
		grid-template-columns: repeat(2,1fr);
	}
	
	#proyecto-galeria .gallery .gallery-item:nth-of-type(3):last-of-type,
	#proyecto-galeria .gallery .gallery-item:nth-of-type(9):last-of-type,
	#proyecto-galeria .gallery .gallery-item:nth-of-type(15):last-of-type {
		grid-column: 1 / -1;
	}
	
}

@media (width < 768px) {
	
	#proyecto-galeria {
		margin-top: 50px;
	}
	
	#proyecto-galeria .gallery {
		grid-template-columns: 1fr;
	}
	
}

/* Individual - Compartir */

.compartir .addtoany_list {
	line-height: 1em !important;
	display: flex;
	flex-wrap: wrap;
	gap: 20px;
}

.compartir .addtoany_list a {
	display: block;
}

.compartir .addtoany_list a path {
	fill: var(--negro);
	transition: fill ease 0.3s;
}

.compartir .addtoany_list a {
	padding: 0;
}

.compartir .addtoany_shortcode a > span {
	background: transparent !important;
	border-radius: 0 !important;
	transition: background ease 0.3s;
}

.compartir .addtoany_shortcode a:hover > span {
	background: var(--gris) !important;
	opacity: 1 !important;
}

@media (width >= 980px) {
	
	.compartir .addtoany_list {
		justify-content: center;
	}
	
}

/* Individual - Relacionados */

#proyectos-relacionados .et_pb_row {
	padding-left: max(calc((100% - 1400px) / 2), 7%);
}

#proyectos-relacionados .slick-list {
	margin-left: -20px;
}

.et_pb_portfolio.relacionados .project {
	margin-inline: 20px;
}

#proyectos-relacionados .pr-nav .et_pb_code_inner {
	display: flex;
	gap: 10px;
}

#proyectos-relacionados .pr-nav button {
	aspect-ratio: 1 / 1;
	background: var(--gris);
	border: none;
	font-size: 30px;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 50px;
	transition: all ease 0.3s;
}

#proyectos-relacionados .pr-nav button:hover {
	background: var(--negro);
	color: #fff;
	cursor: pointer;
}

@media (width < 768px) {
	
	#proyectos-relacionados .pr-nav button {
		font-size: 20px;
		width: 40px;
	}
	
}

/*//////////////////////////////////////////////////////*/
/*///CONTACTO///////////////////////////////////////////*/
/*//////////////////////////////////////////////////////*/

.datos-contacto ul {
	display: flex;
	gap: 30px;
}

.datos-contacto ul li {
	word-break: break-all;
	padding: 0;
}

.datos-contacto ul li::before {
	display: none;
}

.datos-contacto strong {
	color: #999;
	font-size: 12px;
	font-weight: 400;
	text-transform: uppercase;
	margin-bottom: -5px;
}

@media (width < 768px) {
	
	.datos-contacto ul {
		flex-wrap: wrap;
		gap: 10px;
	}
	
	.datos-contacto ul li {
		width: 100%;
	}
	
}

/*//////////////////////////////////////////////////////*/
/*///CF7////////////////////////////////////////////////*/
/*//////////////////////////////////////////////////////*/

.wpcf7-form {
	display: grid;
	grid-template-columns: repeat(2,1fr);
	gap: 30px;
}

.wpcf7-form .campo {
	position: relative;
}

.wpcf7-form .campo.x1,
.full .wpcf7-form .campo.x2 {
	grid-column: 1/-1;
}

.wpcf7-form .campo.x2 {
	grid-column: auto;
}

.wpcf7-form label {
	color: var(--negro);
	font-size: 12px;
	line-height: 1.4em;
	text-transform: uppercase;
	display: block;
	margin-bottom: 5px;
}

.wpcf7-form span {
	display: block;
}

.wpcf7-form input,
.wpcf7-form textarea,
.wpcf7-form select {
	background: transparent;
	border: none;
	border-bottom: 1px solid var(--gris-b);
	color: var(--negro);
	font-size: 16px;
	display: block;
	padding: 0 0 10px;
	margin: 0;
	width: 100%;
}

.sin-borde .wpcf7-form input,
.sin-borde .wpcf7-form textarea,
.sin-borde .wpcf7-form select {
	border: none;
}

.wpcf7-form .enviar {
	position: relative;
}

.wpcf7-form .enviar input {
	background: var(--negro);
	border: 1px solid var(--negro);
	color: #fff;
	font-size: 16px;
	line-height: 1.7em;
	padding: 10px 20px;
	width: auto;
	margin-left: auto;
	outline-color: transparent;
	transition: all ease 0.3s;
}

.wpcf7-form .enviar input:hover {
	background: var(--negro-c);
	color: #fff;
	cursor: pointer;
}

.wpcf7 .wpcf7-spinner {
	position: absolute;
	top: 50%;
	left: 0;
	transform: translateY(-50%) !important;
	margin: 0;
}

@media (width < 768px) {
	
	.wpcf7-form {
		grid-template-columns: 100%;
	}
	
}

/* Mensajes */

.wpcf7 .wpcf7-not-valid-tip {
	color: var(--rojo);
	font-size: 12px;
	position: absolute;
	left: 0;
	bottom: -25px;
}

form:not(.et-fb-form) input.wpcf7-not-valid,
form:not(.et-fb-form) textarea.wpcf7-not-valid,
form:not(.et-fb-form) select.wpcf7-not-valid {
	border-bottom-color: var(--rojo) !important;
}

.wpcf7 form div.wpcf7-response-output {
	background: var(--gris);
	border: none;
	color: var(--gris-b);
	line-height: 1.4em;
	grid-column: 1/-1;
	margin: 0;
	padding: 20px 25px;
	text-align: left;
}

.wpcf7-form.invalid div.wpcf7-response-output, .wpcf7-form.unaccepted div.wpcf7-response-output {
	background: var(--rojo-c);
	color: var(--rojo-o);
}

.wpcf7-form.failed div.wpcf7-response-output {
	background: var(--rojo-c);
	color: var(--rojo-o);
}

.wpcf7-form.sent div.wpcf7-response-output {
	background: var(--verde-c);
	color: var(--verde-o);
}

/*//////////////////////////////////////////////////////*/
/*///FOOTER/////////////////////////////////////////////*/
/*//////////////////////////////////////////////////////*/

footer .et_pb_menu a {
	display: inline-block;
}

footer .et_pb_text a:hover,
footer .et_pb_menu a:hover {
	text-decoration: underline;
}

footer .et_pb_menu--without-logo .et_pb_menu__menu > nav > ul > li > a {
	padding-bottom: 0;
}

/* Copyright */

.copyright img {
	display: inline-block;
	height: 11px;
	width: auto;
	position: relative;
	top: 1px;
	transition: all ease 0.3s;
}

.copyright img:hover {
	opacity: 0.8;
}

/* WhatsApp */

footer .et-social-whatsapp {
	position: fixed !important;
	right: 2vw;
	bottom: 35px;
	width: 60px;
	height: 60px;
	z-index: 2;
}

footer .et_pb_social_media_follow li.et-social-whatsapp a.icon {
	background: #25D366 !important;
	border-radius: 50% !important;
	color: #fff !important;
	display: block;
	text-align: center;
	width: 60px;
	height: 60px;
	transition: all ease 0.3s !important;
	animation: pulse-wapp 2s infinite;
}

footer .et_pb_social_media_follow li.et-social-whatsapp a.icon::before {
	color: #fff !important;
	font-size: 30px !important;
	line-height: 60px;	
	display: inline-block;
}

footer .et_pb_social_media_follow li.et-social-whatsapp a.icon:hover {
	background: #128C7E !important;
}

@media (width < 980px) {
	
	footer .et-social-whatsapp {
		padding: 0 !important;
		width: 45px;
		height: 45px;
		right: -5px;
		bottom: 25px;
	}
	
	footer .et_pb_social_media_follow li.et-social-whatsapp a.icon {
		border-radius: 50% 0 0 50% !important;
		width: 45px;
		height: 45px;
	}
	
	footer .et_pb_social_media_follow li.et-social-whatsapp a.icon::before {
		color: #fff !important;
		font-size: 20px !important;
		line-height: 45px;	
		display: inline-block;
	}
	
}

/*//////////////////////////////////////////////////////*/
/*///ANIMACIONES////////////////////////////////////////*/
/*//////////////////////////////////////////////////////*/

@keyframes scroll {
	
    0% {
        opacity: 1;
    }
      
    100% {
        opacity: 0;
        transform: translateY(25px);
    }
	
}

@keyframes pendulo {
	
    0% {
        transform: translateY(0);
    }
      
    50% {
        transform: translateY(10px);
    }
      
    100% {
        transform: translateY(0);
    }
	
}

@keyframes pulse-wapp {
	
	0% {
		transform: scale(0.90);
		box-shadow: 0 0 0 0 rgba(37, 211, 102, 0.7);
	}

	70% {
		transform: scale(1);
		box-shadow: 0 0 0 10px rgba(37, 211, 102, 0);
	}

	100% {
		transform: scale(0.90);
		box-shadow: 0 0 0 0 rgba(37, 211, 102, 0);
	}
	
}