@charset utf-8;
/*
Theme Name: Dátil
Author: Ricardo Juárez
Author URI: http://rjvv.com/
Version: 1.0
License: GNU/GPL Version 2 or later. http://www.gnu.org/licenses/gpl.html
Copyright: (c) 2021 Ricardo Juárez
*/

:root {
    --small: 16px;
    --body: 20px;
    --medium: 30px;
    --big: 55px;
    --line: 1;
    --sans: 'Neue Haas Unica', Helvetica, sans-serif;
    --serif: 'Gascogne Serial', serif;
    --border: 1px solid var(--contrast);
	--primary: white;
	--contrast: #000;
	--rojo: #d35a22;
	--amarillo: #e1a332;
	--beige: #e4cab0;
	--verde: #99a881;
	--cyan: #8ab9c1;
	--azul: #515a7c;
	--marron: #4c463d;
	--gris: #e0ddd8;
	--pad: 30px;
	--linebig: 1.1;
	--linemedium: 1.2;
}


*{

	-webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
            -webkit-touch-callout: none;
    -webkit-tap-highlight-color: transparent;

}

strong, b{
	font-weight: normal;
	}

html, body
{
margin:0;
font-size:100%;
width:100%;
color: var(--contrast);
     }
     
     	html { margin-top: 0px !important; }
	* html body { margin-top: 0px !important; }
	@media screen and ( max-width: 782px ) {
		html { margin-top: 0px !important; }
		* html body { margin-top: 0px !important; }
	}

body {
 line-height: 1.3;
         display: flex;
  min-height: 100vh;
  flex-direction: column;    
  font-weight: 300; 
margin:0;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale; 
font-size: var(--body);
	font-family: var(--sans);
}

h1, h2, h3{
}
h3, h4{
	font-size: var(--body);
}
h1, h2{
	margin: 0;
}
h1, h2, h3, h4, h5{
	margin: 0;
}
h6{
	font-size: var(--small);
	}

.destacado{
	font-family: var(--serif);
	font-size: var(--big);
	max-width: 877px;
	line-height: var(--linebig);
}
 h1.small-title {
		margin-bottom: 0;
			font-family: var(--sans);
			text-transform: uppercase;
			font-size: var(--small);
}

h3.small-title, .post-content h3{
		margin-bottom: var(--pad);
			font-family: var(--sans);
			text-transform: uppercase;
			font-size: var(--small);
}
h1.big-title, h3.big-title, .post-content h2{
			font-family: var(--serif);
			font-size: var(--big);
		margin-bottom: var(--pad);
				line-height: var(--linebig);
}

.post .big-title{
		margin: 20px 0 var(--pad);
			font-family: var(--serif);
			font-size: var(--medium);
				line-height: var(--linemedium);
}


.post-content p, .post-content ul, .post-content ol{
			margin-bottom: var(--pad);
}
.post-content ul ul{
	margin-bottom: 0;
	}
	
	
	.slider-posts{
		overflow: hidden;
		position: relative;
		margin-left: -30px;
		margin-right: -30px;
				}
		.swiper-slide{
			width: 25% !important;
			}

.post-content blockquote{
				font-family: var(--serif);
			font-size: var(--medium);
				line-height: var(--linemedium);
						padding-left: var(--pad);
	}
	
	.imgheader{
overflow: hidden;
position: relative;
		}
	.imgheader img{
position: absolute;	
object-fit: cover;
top: 0;	
		}
.imgheader{
		padding: 140px var(--pad) 0;	
}
.imgheader .page-title{
		position: relative;
		z-index: 1;
			font-family: var(--serif);
	font-size: var(--big);    
	line-height: var(--linebig);
		padding: 140px var(--pad);
		text-align: center; 
}
	
	.page-title{
		padding: 140px var(--pad) var(--pad); 
		}

.textcol{
	padding-bottom: 80px;
	}

	
	.bigcol .page-title{
			font-family: var(--serif);
	font-size: var(--big);    
	line-height: var(--linebig);
		padding: 140px 80px var(--pad); 
		}

.bigcol .texter, .bigcol .cols, .bigcol #accordion{
	padding: var(--pad) 80px;
	}
	.bigcol blockquote{
		margin-left: 0;
		padding-left: var(--pad);
		}

.unica .texter{
	max-width: 960px;
	padding: var(--pad);	
	}
.unica #accordion, .unica .cols{
	max-width: 1200px;
	padding: var(--pad);
	}

header{
	padding: 20px var(--pad);
	position: fixed;
	color: var(--beige);
	width: 100%;
	z-index: 99999;
	transition: all 0.3s ease;
}
header h1, header h2{
	text-transform: uppercase;
	font-size: var(--medium);
					line-height: var(--linemedium);

}

header.hide{
	transform: translateY(-100%);
}
header.block{
	transform: translateY(0) !important;	
	}

header.show{
	transform: translateY(0);
		padding: 10px var(--pad) 4px;
	background-color: var(--gris);
	color: var(--marron);
	}
.header{
	display: flex;
	justify-content: space-between;
	align-items: center;
	}

.stickyimg{
height: 100vh;
position: sticky;
top: 0;
}
.stickyimg img{
	max-height: 100%;
	max-width: 100%;
	height: 100%;
	height: 100%;
	object-fit: cover;	}

.menu-principal{
	display: flex;
	margin-bottom: 5px;
	}
	.menu-principal li{
		margin-left: var(--pad);
		}
		
		footer .menu-legal{
			display: flex;
			align-items: center;
			}
		footer .menu-legal li{
		margin-left: var(--pad);
		}	
		
		.menu-movil{
margin-bottom: var(--pad);
}
		.menu-movil li{
font-size: var(--medium);
line-height: var(--linemedium);
font-family: var(--serif);
}

		
		.bigcols{
display: flex;
}
.bigcol{
	flex-basis: 50%;
	}
	.reverse{
		flex-direction: row-reverse;
		}
	
	.framed{
		padding: 80px;
		}
	
	.cols{
		display: flex;
		max-width: 1920px;
		padding: var(--pad);
		}
		.col{
			flex-basis: calc(50% - (var(--pad) / 2));
			}
	.col:first-of-type{
margin-right: var(--pad);
}		
.logos{
display: flex;	
flex-wrap: wrap;
align-items: center;
}

.logo{
	margin: 0 var(--pad) var(--pad) 0px;
	mix-blend-mode: multiply;
	filter: saturate(0);
	max-width: 150px;
	}

.fullh{
	min-height: 100vh;
}	

section{
	overflow: hidden;
	position: relative;
	padding: 140px var(--pad);
}

.bg-rojo{background-color: var(--rojo);color: var(--beige);}
.bg-amarillo{background-color: var(--amarillo);color: var(--marron);}
.bg-beige{background-color: var(--beige);color: var(--marron);}
.bg-verde{background-color: var(--verde);color: var(--marron);}
.bg-cyan{background-color: var(--cyan);color: var(--marron);}
.bg-azul{background-color: var(--azul);color: var(--gris);}
.bg-marron{background-color: var(--marron);color: var(--beige);}
.bg-gris{background-color: var(--gris);color: var(--marron);}

.txt-amarillo{color: var(--marron);}
.txt-beige{color: var(--marron);}
.txt-verde{color: var(--marron);}
.txt-cyan{color: var(--marron);}
.txt-gris{color: var(--marron);}

#accordion{
	padding: var(--pad) var(--pad);
	font-family: var(--sans);
	max-width: 900px;
}
.ui-accordion-header{
	cursor: pointer;
	width: fit-content;
	font-family: var(--serif);
	font-size: var(--big);    
	line-height: var(--linebig);
	padding-left: 50px;
	position: relative;
}
.ui-accordion-header:before{
	content: '+ ';
	position: absolute;
	left: 0px;
	width: 50px;
	display: inline-block;
	text-align: center;	
	font-family: var(--sans);
	
}
.ui-accordion-header.ui-state-active:before{
	content: '- ';
}
.ui-accordion .ui-accordion-content{
      box-sizing:content-box;             
      -moz-box-sizing:content-box;
      padding: 10px var(--pad) var(--pad) 50px;
}
	
	.post-content ul, 	.post-content ol{
		padding-left: 30px;
		}
	.post-content li{
		position: relative;}
		
		
		
			.post-content li:before{
    display: block;
    width: 10px;
    height: 10px;
    border: 1px solid;
    border-radius: 20px;
    position: absolute;
    content: '';
    left: -24px;
    top: 6px;
			}

	  footer{
		  background-color: var(--marron);
		  padding: 20px var(--pad);
		  color: var(--gris);
		  font-size: var(--small);
		  display: flex;
		  justify-content: space-between;
		  align-items: center;
		  }
	  
	  .contacter{
		  cursor: pointer;
		  }
	  
	  .pop-up{
		  z-index: 99;
		  position: fixed;
		  bottom: 0;
		  left: 0;
		  padding-top: 20px;
		  transform: translateY(100%);
		  width: 100%;
		  transition: all 0.3s ease;
		  }
		  
		  .pop-up.appear{
		transform: translateY(0%);
		}

label{
	font-size: var(--small);
	}
	
	.close{
		padding: 20px 20px 0;
		text-align: right;
		position: absolute;
		right: 0;
		top: 0;
	}
	

	.mancha{
    clip-path: url(#mancha);
    padding: 100px 300px 300px 100px;
    display: flex;
    justify-content: center;
    align-items: center;
    position: absolute;
    right: -240px;
    width: 560px;
    height: 419px;
    bottom: -240px;
	}

	

input[type="text"],
input[type="tel"],
input[type="email"],
input[type="password"],
select,
textarea {
    resize: none;
    padding: 10px;
    margin-bottom: 0px;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    display: inline-block;
    position: relative;
    background-color: var(--gris);
    font-family: var(--sans);
    color: var(--marron);
    border: 1px solid var(--gris);
    width: 100%;
    border-radius: 0px;
    outline: none;
    font-size: var(--body);
}


input[type="submit"] {
    padding: 0px;
    margin-bottom: 0px;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    display: inline-block;
    position: relative;
    background-color: transparent;
    font-family: var(--sans);
    color: var(--marron);
    border: none;	
    border-bottom: 1px solid;
    border-radius: 0px;
    outline: none;
    font-size: var(--body);
}



.wpcf7 .ajax-loader {
	display: none;
}  

.wpcf7-response-output {
    border: none !important;
    padding: 0 !important;
    font-family: var(--sans);
    color: var(--rojo) !important;
    font-size: var(--small);
    margin: 5px 0 0 !important;
}

.wpcf7 form.sent .wpcf7-response-output {
    color: var(--azul) !important;

}

.wpcf7-not-valid-tip {
    color: var(--rojo) !important;
    margin-bottom: var(--pad);
    margin-top: 5px;
}


.post-content a{
border-bottom: 1px solid;
	}

.post-content .wpcf7 p{
	margin-bottom: 10px;
	}

input[type="text"]:focus,
input[type="tel"]:focus,
input[type="email"]:focus,
input[type="password"]:focus,
select:focus,
textarea:focus {
    border: 1px solid var(--marron);
}


.menu-hover{
	position: fixed;
	top:0;
	left: 0;
	width: 100%;
	height: 100vh;
	background-color: var(--gris);
	color: var(--marron);
	padding: 100px var(--pad) var(--pad);
	transition: all 0.3s ease;
	transform: translateX(100%);
	}
	
	.menu-hover.appear{
	transform: translateX(0%);		
		}

.grecaptcha-badge{
display: none !important;	
	}
	  
@media all and (-ms-high-contrast:none){}
/* ---------------------------------------------- PLANTILLA PROYECTOS */

.bg-blanco{background-color: var(--primary);color: var(--contrast);}

/* La cabecera es fija y va en beige por defecto: sobre blanco no se lee. */
body.page-template-proyectos header,
body.post-type-archive-proyecto header{
	color: var(--contrast);
}

/* Empuja el footer al fondo en páginas cortas (body ya es flex column). */
#main{
	flex: 1 0 auto;
}

.proyectos > .big-title{
	margin-bottom: 80px;
}

.proyectos-grid{
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	column-gap: var(--pad);
	row-gap: 80px;
}

.proyectos-grid .post .big-title{
	margin-bottom: 0;
}

/* La mancha se sale por la esquina inferior derecha de la sección: hay que
   dejarle hueco para que no se coma la última fila del grid. */
.con-mancha{
	padding-bottom: 300px;
}

/* Bloque de imagen a todo el ancho del contenedor (layout «fullscreen»). */
.bloque-fullscreen{
	margin-bottom: var(--pad);
}

/* Proyecto sin imagen destacada: cuadrado de color con el título. */
.post-sinportada{
	aspect-ratio: 960 / 690;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	padding: var(--pad);
}

/* Dentro del bloque de color no hacen falta los márgenes de la tarjeta. */
.post-sinportada .small-title{
	margin-top: 0;
	margin-bottom: 5px;
}

.post-sinportada .big-title{
	margin: 0;
}

/* Categorías de la tarjeta de proyecto, encima del título. */
.post .small-title{
	margin-top: 20px;
	font-family: var(--sans);
	text-transform: uppercase;
	font-size: var(--small);
}

/* Con categorías delante, el título no necesita su margen superior entero. */
.post .small-title + a .big-title{
	margin-top: 5px;
}
