@charset "utf-8";

/*
Author:Fernando Espeso
Design and development:Fernando Espeso

================================================== */
*{
	box-sizing: border-box;
	-webkit-tap-highlight-color: rgba(0,0,0,0);
}

.image.MARGIN {
    padding: 50px;
}
.fondo{
	opacity: 0;
	transition: opacity 0.5s;
}
.fondo.hider{
	opacity: 0.4;
	transition: opacity 0.5s;
}
.image.margin{
	margin-top: 100px;
}
:root{
	--grey:#f1f2f2;
	--m:18px;
	--l:18px;
	--s:12px;
  --xl:24px;
	--gap:10px;
	--serif:'XanhMono-Regular';
	--book:'ABCDiatypePlusVariable-Trial';
	--gara:  'EBGaramond-Italic-VariableFont_wght';
}
::-webkit-scrollbar {
        display: none;
    }

@font-face {
  font-family: 'XanhMono-Regular';
  src: url('../fonts/XanhMono-Regular.woff') format('woff');
  font-weight: normal;
  font-style: normal;
	font-display: swap;
}
@font-face {
  font-family: 'ABCDiatypePlusVariable-Trial';
  src: url('../fonts/ABCDiatypePlusVariable-Trial.woff') format('woff');
  font-weight: normal;
  font-style: normal;
	font-display: swap;
}

@font-face {
  font-family: 'EBGaramond-Italic-VariableFont_wght';
  src: url('../fonts/EBGaramond-Italic-VariableFont_wght.woff') format('woff');
  font-weight: normal;
  font-style: normal;
	font-display: swap;
}




html, body, div, span,
header, footer, section, article, aside, nav,
h1, h2, h3, h4, h5, h6,
p, ol, ul, li, a, strong, b, i, s, address, sub, sup,
form, label,
iframe, embed, audio{
	margin: 0;
	padding: 0;
	border: 0;
	font: inherit;
	font-size: 100%;
	vertical-align: baseline;
}

::selection{
	color: grey;
	background-color: transparent;
}
.tags{
	font-family: var(--book);
	font-size: var(--s);
	text-transform: lowercase;
	line-height: 120%;
	display: none;
}
.low-key{
	margin-top: 20px;
	font-family: var(--book);
	font-size: var(--s);
	line-height: 120%;
	grid-column: 1/ span 3;
	color: grey;
}

body{
	background-color: white;
	padding: 0px;
	font-size: var(--m);
	line-height: 120%;
  font-family: var(--serif);
	min-height: var(--h);
	display: grid;
	flex-direction: column;
	width: 100%;
	height: 100%;
	margin: auto;
	overflow-x: hidden;
	font-variant-ligatures: discretionary-ligatures;
	-webkit-text-size-adjust: none;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	font-smoothing: antialiased;
	animation: identifier;
	letter-spacing: 0.3px!important;

}

img{
 	width: 100%;
 	display: block;
 	line-height: 0px;
 	display: inline-block;
 	vertical-align: bottom;
}

a{
	cursor: pointer;
	color: var(--dark);
	text-decoration:none;
}
.contact{
  padding: 10px;
  column-count: 2;
  grid-column: 2/span 6;
  margin-top: var(--nav);
}
main{
	grid-template-columns: repeat(8,1fr);
	display: grid;
	opacity: 0;
	grid-column: span 12;
}
a.thumbnail {

}
.header{
	margin-top: 10px;
	height: var(--nav);
	justify-content: center;
	transition: opacity 0.5s;
	background-color: transparent;
grid-gap: 10px;
 z-index: 11;
 top: 0px;
 width: 100%;
 grid-template-columns: repeat(6,1fr);
 display: grid;
 padding: 10px;
 display: grid;
 grid-gap:var(--gap);
 position: fixed;
}

.project.hide{
	display: none;
}
.header a{
	transition: color 0.5s;
	cubic-bezier(.17,.67,.83,.67);
}

.header a:hover{
	transition: color 0.5s;
	cubic-bezier(.17,.67,.83,.67);
}

li{
	list-style-type: none;
}
.bug{
	transition: 0.5s;
}
ul{
	display: flex;
	justify-content: center;
}

.info-nav{

	font-family: var(--book);
	cursor: pointer;
		transition: color 0.5s;
}
.info-nav:hover{
	 color: grey;
		transition: color 0.5s;
}

.info-nav.active{

}
.intro.italic {
	margin-bottom: 0px !important;
	margin: 0 auto;
	font-family: var(--gara);
	max-width: 1000px;
	}
	.intro.italic:first-child {
		margin-top: 100px !important;
		}
.nav{
	align-self: center;
    justify-content: center;
    text-align: center;
    font-family: var(--serif);
    opacity: 1;
		z-index: 11;
		text-transform: auto;
    visibility: visible !important;
    grid-column:  2/span 4;
    text-align: center;
    display: block;
		font-size: var(--l);
    z-index: 2;
    transition: opacity 0.5s !important;
}
.name{
	text-transform: uppercase;
}
.nav a{
	color: white;
	mix-blend-mode: difference;
	transition:opacity 0.5s!important;
}
.nav a:after{
	content: ")";
	opacity:0;
}
.nav a:before{
	content: "(";
	opacity:0;
}

.nav a:hover:after,
.nav a.active:after {
    opacity: 1;
}

.nav a:hover:before,
.nav a.active:before {
    opacity: 1;
}
a.active{
}
.italic{
	font-size: 15px;
			font-family: var(--gara);
}
.logo {
		transition: opacity 0.5s;
    z-index: 1000;
    left: 10px;
    top: 10px;
    position: fixed;
    font-size: 30px;
    line-height: 100%;
    color: white;
}
/* Archive */
.archive{
	padding: 10px;
	grid-column: span 8;
	grid-template-columns: repeat(6,1fr);
	display: grid;
	margin-top: calc(var(--nav) + 10px);
	grid-gap:var(--gap);
	row-gap:10px;
	margin-bottom: 100px;
}

.project.full{
	grid-column: span 6;
}
.project.dos{
	grid-column: span 3;
}
.project.tres{
	grid-column: span 2;
}
.categories {
	background-color: white;
	padding: 5px;
	bottom: 10px;
	left: 50%;
	z-index: 10;
	transform: translate(-50%, 0%);
	position: fixed;
	margin-top: 5px;
	justify-content: center;
    GRID-COLUMN: span 2;
    DISPLAY: FLEX;
    GRID-GAP: 20PX;
		font-size: var(--m);
		line-height: 120%;
}
div.categorie:after{
	content: ")";
	opacity:0;
}
div.categorie:before{
	content: "(";
	opacity:0;
}
div.categorie.active:before{
	content: "(";
	opacity:1;
}
div.categorie.active:after{
	content: ")";
	opacity:1;
}
div.categorie:hover:after{
	content: ")";
	opacity:1;
}
div.categorie:hover:before{
	content: "(";
	opacity:1;
}

div.categorie {
	width: max-content;
	cursor: pointer;

}
.project{
	display: grid;
	height: fit-content;
	display: grid;
	grid-gap:var(--gap);
}
.project .title {
    color: white;
    padding: 10px;
    position: absolute;
}
.toggle-menu{
	display: none;
}
.services{
		margin-top: var(--nav);
	align-self: center;
	justify-content: center;
	grid-column: span 8;
	display: grid;
	row-gap:100px ;
	text-align: center;
}
.services .info.italic {
    margin-top: 20px;
    margin-bottom: 20px;
    padding: 0px 50px;
}
.services .block .title{
	font-size: var(--xl);
	line-height: 100%;
}
.services .block .info{
	/* text-transform: uppercase; */
	padding: 0% 20%;
}
.block:hover .bloque-all {
    display: block;
}
.bloque-all {
background-color: white;
}
.services .block-steps .info{
	font-size: var(--l);

}
.services .block-steps .title{
	font-family: var(--book);
	font-size: var(--s);
}

.block{
	align-self: center;
    justify-content: center;
    align-items: center;
    display: grid;
    height: fit-content;
}
.block.dos{
	align-self: center;
    justify-content: center;
    align-items: center;
    display: grid;
    height: fit-content;
}
.block.tres{
	overflow: hidden;
	align-self: center;
    justify-content: center;
    align-items: center;
    height: fit-content;
}

li.get-in-touch{
	    right: 10px;
	    top: 50%;
	    transform: translate(0%, -50%);
	    position: absolute;
	    /* padding: 5px 0px; */
/* background-color: #e45d25; */
color: white;
}
.mc_embed_signup{
	background-color: none;
}

.related-projects{
	padding: 10px;
	grid-gap:10px;
	grid-column: span 12;
	display: grid;
	grid-template-columns: repeat(3, 1fr);
}
.related-projects .project{
	grid-column: span 1!important;
}
.related-projects .title-section{
	grid-column: span 3;
	text-transform: uppercase;
	text-align: center;
	margin-bottom: 10px;

}

.screen-reader-response {
    display: none;
}
.wpcf7-response-output {
    margin-top: 10px;
    font-size: var(--s);
    font-family: var(--book);
}
span.wpcf7-not-valid-tip {
    display: none;
    font-size: var(--s);
}
footer {
	font-family: var(--gara);
		padding-top: 200px!important;
    padding: 10px;
    grid-template-columns: repeat(3, 1fr);
    display: grid;
		grid-gap:10px;
    grid-column: span 8;
    margin-top: auto;
		font-size: 15px;
}
footer .italic{
	text-transform: uppercase;
	font-family: var(--serif);
}
.rrss {
	text-align: right;
grid-column: 3/ span 1;
}
.front-img{
	display: none!important;
	width: 100vw;
  position: fixed;
  top: 50%;
  left:50%;
  transform: translate(-50%, -50%);
}
.front-img img{
  opacity: 0.1;
	width: 100%;
}
.intro-animation{
	width: 100%;
	overflow: hidden;
	position: fixed;
	top: 50%;
	z-index: 100;
	left:50%;
	background-color: white;
	transform: translate(-50%, -50%);
}
.intro-animation img{
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.intro-animation .gallery{
	z-index: -1;
	padding: 10px;
}

.vert{
	display: none;
}
.land{
	width: 100%;
height: 100%;
object-fit: cover;
	display: block;
}
.hero {
    grid-column: span 8;
    width: 100%;
    height: var(--h);
}
.hero img{
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.main-info{
color: white;
max-width: 1400px;
width: 100%;
text-align: center;
}
@media only screen and (max-width: 1200px) {
	.header{
		mix-blend-mode: normal;
		z-index: 100;
	}
	.archive{
		grid-column: span 8;
		grid-template-columns: repeat(4,1fr);
		display: grid;
	}
	.services {
		margin-top: var(--nav);
			transform: none;
			padding: 10px;
			width: 100%;
			position: relative;
			top: auto;
			grid-template-columns: repeat(1, 1fr);
			row-gap: 100px;
			text-align: center;
	}
	.contact{
	  padding: 10px;
	  column-count: 2;
	  grid-column:span 8;
	  margin-top: var(--nav);
	}
	.project.full {
    grid-column: span 4;
}
.project.dos {
	grid-column: span 2;
}
.project.tres {
	grid-column: span 2;
}
}
@media only screen and (max-width: 900px) {
	.nav ul {
		display: block;
		justify-content: center;
}
	.services {
		margin-top: var(--nav);
	    transform: none;
	    padding: 10px;
	    width: 100%;
	    position: relative;
	    top: auto;
	    grid-template-columns: repeat(1, 1fr);
	    grid-gap: 30px;
	    text-align: center;
	}
	.services .block .info {
	    padding: 0% 20px;
	    margin-bottom: 30px;
	}
	.toggle-menu{
		transition: opacity 0.5s;
		z-index: 1000;
		color:white;
		display: block;
		position: fixed;
		top: 25px;
		right: 10px;
		grid-column: none;
		text-align: right;
		align-self: center;
		font-size: var(--xl);
	}
	.nav {
		align-content: center;
		width: 100vw;
		left: 0px;
		position: fixed;
		top: 0px;
		z-index: -1;
		background-color: white;
		height: var(--h);
		font-size: var(--xl);
		line-height: 100%;
		opacity: 0;
		pointer-events: none;
		transition:opacity  0.5s ease;
}
.toggle-menu.active {
	color: black!important;
}
.nav.active{
	opacity: 1;
	transition:opacity  0.5s ease;


}
}


@media only screen and (max-width: 600px) {
	footer{
		justify-content: space-between;
		display: block;
	}
	.project.dos {
		grid-column: span 4;
	}
	.project.tres {
		grid-column: span 4;
	}
	.nav {
		align-content: center;
		width: 100vw;
		left: 0px;
		position: fixed;
		top: 0px;
		z-index: -1;
		background-color: white;
		height: var(--h);
		font-size: var(--xl);
		line-height: 100%;
		opacity: 0;
		pointer-events: none;
		transition:opacity  0.5s ease;
}
.main-info{
color: white;
max-width: 1400px;
width: 100%;
text-align: center;
}


.nav.active{
	opacity: 1;
	transition:opacity  0.5s ease;
	pointer-events: auto;
}
.nav ul{
    display: block;
    justify-content: center;
}
.services {
	margin-top: var(--nav);
    transform: none;
    padding: 10px;
    width: 100%;
    position: relative;
    top: auto;
    grid-template-columns: repeat(1, 1fr);
    text-align: center;
}

.services .block .info {
    padding: 0% 20px;
    margin-bottom: 30px;
}
.image{
	grid-column: span 12!important;
}
	.archive {
			grid-column: span 8;
			grid-template-columns: repeat(4, 1fr);
			display: grid;

	}

	li.get-in-touch{
		right: auto;
margin-top: 30px;
top: 20px;
margin: 0 auto;
width: fit-content;
order: -1;
margin-bottom: 0px;
transform: none;
position: relative;
padding: 5px 0px;

	}

	.bloque-all {
    display: block;
}
.contact{
  padding: 10px;
  column-count: 1;
  grid-column:span 8;
  margin-top: var(--nav);
}
.vert{
	display: block;
}
.land{
	display: none;
}
.front-img img {
		padding: 10px;
		opacity: 0.1;
		width: auto;
		max-height: 90vh;
}
.section{
	position: absolute;
	top: var(--nav);
}
footer {
		padding-top: 100px!important;
    padding: 10px;
    grid-template-columns: repeat(1, 1fr);
    display: grid;
		grid-gap:10px;
    grid-column: span 8;
    margin-top: auto;
}
.low-key {
    margin-top: 20px;
    font-family: var(--book);
    font-size: var(--s);
    line-height: 120%;
    grid-column: 1 / span 1;
    color: grey;
}
.rrss {
	text-align: left;
grid-column: 1/ span 3;
}
.image.margin{
	margin-top: 0px;
	padding: 0px 50px;
}
.logo.active{
	color: black;
}
.related-projects{
	display: grid;
	grid-template-columns: repeat(1, 1fr);
}


}
