@charset "utf-8";

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

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


:root{
	--grey:#f1f2f2;
	--m:12px;
	--l:16px;
  --xl:20px;
  --xxl: 20px;
	--book: 'SuisseIntl-Book';
	--serif:  'SuisseIntl-Book';
	--italic: 'Suisse-ita';
}
::-webkit-scrollbar {
        display: none;
    }
		.content-info {
		    grid-column: 2 / span 1;
		}
@font-face {
  font-family: 'Suisse-ita';
  src: url('../fonts/Suisse-ita.woff2') format('woff2');
  font-weight: normal;
  font-style: normal;
	font-display: swap;
}
@font-face {
  font-family: 'Suisse';
  src: url('../fonts/Suisse.woff2') format('woff2');
  font-weight: normal;
  font-style: normal;
	font-display: swap;
}

@font-face {
  font-family: 'SuisseIntl-Book';
  src: url('../fonts/SuisseIntl-Book.woff2') format('woff2');
  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;
}

body{
	padding: 0px;
	font-size: var(--m);
	line-height: 18px;
  font-family: var(--serif);
	width: 100%;
	height: 100%;
	background-color: black;
	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{
	font-family: var(--book);
	cursor: pointer;
	color: var(--dark);
	text-decoration:none;
}

main{
	grid-template-columns: repeat(8,1fr);
	display: grid;
	opacity: 0;
}

.header{
	    grid-gap: 10px;
 z-index: 10;
 top: 0px;
 width: 100%;
 grid-column: span 8;
 grid-template-columns: repeat(6,1fr);
 display: grid;
 padding: 8px;
 display: grid;
 position: fixed;
}

.header a{
	margin-right: 15px;
	color: white;
	transition: color 0.5s;
	cubic-bezier(.17,.67,.83,.67);
}

.header a:hover{
	color: grey;
	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{
	color:white;
	font-family: var(--book);
	cursor: pointer;
		transition: color 0.5s;
}
.info-nav:hover{
	 color: grey;
		transition: color 0.5s;
}

.info-nav.active{
	color:grey;
}

.nav{
	line-height: 15px;
	opacity: 1!important;
	visibility: visible!important;
	grid-column: span 2;
	text-align: center;
	display: block;
	z-index: 2;
	transition: 0.5s!important;
}
.nav a{
	transition: 0.5s!important;
}
.header-info{
	grid-column: span 2;
	display: block;
	color: white;
	z-index: 10;
	transition: 0.5s!important;

}

.related-info{
  grid-column: span 2;
  text-align: center;
	display: block;
	color: white;
	transition: 0.5s;
}
.related-info .aim{
  font-family: var(--book);
}

.related-info ul{
  display: block;
  font-size: var(--l);
  line-height: 1.8rem;
}
.related-info a{
  font-family: var(--serif) !important;
}

.toggle-info{
	font-family: var(--book);
	user-select: none;
	transition: color 0.5s;
}
.toggle-info.active{
	color: white;
	transition: color 0.5s;
}
.aim{
	color: white;
}

a.active{
	pointer-events: none;
}

footer{
	display: none;
}
/* Archive */
.archive{
	grid-column: span 8;
	grid-template-columns: repeat(4,1fr);
	display: grid;
	margin-top: calc(var(--nav) + 10px)
}

.about .information {
    grid-column: span 2;
}

.about-header{
z-index: 1;
 top: 0px;
 width: 100%;
 grid-column: span 8;
 grid-template-columns: repeat(6,1fr);
 display: grid;
 padding: 5px;
 display: grid;
 position: fixed;
 background-color: rgba(0, 0 , 0,  0);
}
.about-header a{
	margin-right: 15px;
	color: black;
	transition: color 0.5s;
	cubic-bezier(.17,.67,.83,.67);
}

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

.about-header .aim{
	color: black;
}
/* About */
.about{
	grid-template-columns: repeat(6, 1fr);
    display: grid;
		grid-gap: 10px;
	width: 100vw;
	padding: 5px;
	left: 0;
	overflow-y: scroll;
	z-index: 1;
	color: white;
	text-align: left;
	top: var(--nav);
	height: calc(var(--h) - 46px);
	position: absolute;
	transition: all 0.5s;
}
.about .content{
	display: grid;
	grid-gap:10px;
	grid-template-columns: repeat(1, 1fr);
	grid-column: span 2;
}
 .intro {
  font-family: var(--book);

}
.categories{
	z-index: 100;
	top: 0px;
	grid-column: 4 / span 3;
	z-index: 100;
	display: block;
	width: auto;
	grid-gap: 10px;
	transition: opacity 0.5s;
}
.p-project{
	transition: opacity 0.5s;
}
.project.hide{
	display: none;
}
li.categorie {
	float: left;

	    font-family: var(--book);
			color: white;
			cursor: pointer;
				transition: color 0.2s;
				    margin-right: 10px;
}
li.categorie.active {
	color: grey;
	pointer-events: none;
}
li.categorie:hover {
			color: grey;
}
.about a{
	transition: color 0.5s;
}
a:hover{
	color:var(--grey);
}
.view a:hover{
	color:var(--grey);

}
.content{
    padding-top: 5px;
    grid-column-start: 2;
}


.about  .intro {
    grid-column: span 2;
    text-align: center;
    line-height: normal;
}
.about .information {
    grid-column: 2 / span 2;
}
.other{
	line-height: normal;
text-align: center;
}
.about .information{
	position: absolute;
	bottom: 5px;
}

.about .information h2{
    padding-left: 24px;
    font-family: var(--book);
}
.strong {
    font-size: var(--m);
    color: grey;
		mix-blend-mode: difference;
    font-family: var(--book);
}

strong{
	color: white!important;
	 padding-left: 24px!important;
	 font-family: var(--book)!important;
}

.about .information h3{
    font-family: var(--book);
}

.prev {
	z-index: 9;
	opacity: 0;
	top:0;
	width: 50%;
	position: absolute!important;
	left: 0;
	border: 0px!important;
	height: 100%;
	cursor: pointer;
	background-color: transparent;
}

.next {
	opacity: 0;
	z-index: 9;
	top:0;
	border: 0px!important;
	height: 10px;
	width: 50%;
	position: absolute!important;
	height: 100%;
	right: 0px;
	cursor: pointer;
	background-color: transparent;
}

/* Slider */
.slick-slider {
  position: fixed!important; /* Fixed position */
  top: 0px;
  left: 0;
  z-index: -1;
  background-color: transparent;
  display: grid!important; /* Use grid layout */
  grid-column: span 2;
  width: 100%;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -webkit-touch-callout: none;
  -khtml-user-select: none;
  -ms-touch-action: pan-y;
  touch-action: pan-y;
}


/* Project */
.p-project {
	z-index: 10;
	padding: 10px;
	margin-top: var(--nav);
	display: grid;
	position: fixed;
	width: 100vw;
	height: auto;
	grid-template-columns: repeat(3, 1fr);
	color: white;
	grid-gap:10px;
}
h3{
font-family: var(--book)!important;
padding-left: 24px;
}


.all_galleries {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
}

.slick-list {
  position: relative;
  display: block;
  overflow: hidden;
  margin: 0;
  padding: 0;
  grid-column: span 2;
}

.slick-list:focus {
  outline: none;
}

.slick-list.dragging {
  cursor: hand;
}

.slick-slider .slick-track,
.slick-slider .slick-list {
  -webkit-transform: translate3d(0, 0, 0);
  -moz-transform: translate3d(0, 0, 0);
  -ms-transform: translate3d(0, 0, 0);
  -o-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0);
}

.slick-track {
  position: relative;
  top: 0;
  left: 0;
  width: auto;
  height: auto;
  display: block;
}

.slick-track:before,
.slick-track:after {
  display: table;
  content: "";
}

.slick-loading .slick-track {
  display: block;
}

.slick-slide {
  float: left;
  position: relative;
  min-height: 1px;
}

.slick-slide img {
  display: block;
  margin: 0 auto;
  height: 100vh;
	width: auto!important;
}
.thumbnail img:hover {
	/* transform: scale(0.8); */
	transition: 0.5s cubic-bezier(0.8, 0, 0.22, 1);

}
.thumbnail img {
	transition: 0.5s cubic-bezier(0.8, 0, 0.22, 1);

}
.h-project:hover .h-thumbnail {
	/* transform: scale(0.8); */
	transition: 0.5s cubic-bezier(0.8, 0, 0.22, 1);
	transition-delay:1s;
}
.h-thumbnail {
	transition: 0.5s cubic-bezier(0.8, 0, 0.22, 1);
}
.slideCount {
    height: fit-content;
    z-index: 900;
    position: fixed;
    bottom: 3px;
    left: 5px;
    bottom: 25px;
}

.slick-slide video {
  display: block;
  margin: 0 auto;
  height: 100vh;
  width: auto!important;
}

.grid-gallery img {
  width: 100%;
}

.thumbnail_lil img {
  padding-left: 10px;
  width: 100%;
}

[dir="rtl"] .slick-slide {
  float: right;
}

.slick-slide.slick-loading img {
  display: none;
}

.slick-slide.dragging img {
  pointer-events: none;
}

.slick-initialized .slick-slide {
  display: block;
}

.no{
	pointer-events: none;
}


.slick-loading .slick-slide {
  display: block;
}

.slick-vertical .slick-slide {
  display: block;
  height: auto;
  border: 1px solid transparent;
}
.hidden{
	transition: opacity 0.5s;
	opacity: 0;
	pointer-events: none;
}

.bg{
	z-index: 1 !important;
	width: 100vw;
	left: 0;
	top: 0;
	position: fixed;
	overflow: hidden;
	height: 120vh;
	transition: height 1s cubic-bezier(0.8, 0, 0.22, 1);
	background: rgb(0,0,0, 0.4);
	backdrop-filter: blur(20px);
	-webkit-backdrop-filter: blur(20px)!important;
	transform: translate3d(0, 0, 0)!important;
}

.bg.active{
	pointer-events: none;
	height: 45px;
	backdrop-filter: blur(20px);
	-webkit-backdrop-filter: blur(20px)!important;
	transform: translate3d(0, 0, 0)!important;
}

.no-scroll-snap {
    scroll-snap-type: none;
  }
.no-overflow{
    height: 100vh;
    overflow: hidden;
}
.dissapear {
    animation: disappear 1.5s ease-in-out; /* Change the duration and timing function as needed */
}
.toggle-info{
    cursor: pointer;
    order: 1;
}
@keyframes appear {
    from {
        /* 0% to 20% of the animation time (0 to 0.5s) */
        opacity: 0;
    }

    to {
        /* 20% to 60% of the animation time (0.5s to 1.5s) */
        opacity: 1;

    }
}

@keyframes dissappear {
    from {
        /* 0% to 20% of the animation time (0 to 0.5s) */
        opacity: 1;
    }

    to {
        /* 20% to 60% of the animation time (0.5s to 1.5s) */
        opacity: 0;
        display: none;
        visibility: hidden;
    }
}

@media only screen and (max-width: 1200px) {
	.about{
		grid-template-columns: repeat(4, 1fr);
	}
	.categories {
    z-index: 100;
    top: 0px;
    grid-column: 3 / span 2;
}
.credits {
	grid-column: 2/span 1;
}
	/* Project */
	.p-project {
		grid-template-columns: repeat(2, 1fr);
				row-gap:10px;
	}
	.about .content{
		grid-template-columns: repeat(2, 1fr);
	}
	.other{
		grid-column: span 2;
	}

	.archive{
		grid-column: span 8;
		grid-template-columns: repeat(3,1fr);
		display: grid;
	}
	.header{
	 grid-template-columns: repeat(4,1fr);
	}


    .content{
        grid-column: 2/4;
    }

    .about-header{
        z-index: 1;
        top: 0px;
        width: 100%;
        grid-column: span 8;
        grid-template-columns: repeat(1,1fr);
        display: grid;
        padding: 5px;
        position: absolute;
        background-color: white;

    }
    .related-info{
        visibility: hidden;
        display: none;
        }

}
@media only screen and (max-width: 900px) {
	.content-info {
			grid-column: auto;
	}
	.credits {
		grid-column: auto;
	}

	.archive{
		grid-template-columns: repeat(2,1fr);
		display: grid;
	}

}
@media only screen and (max-width: 900px) {
	.title-filter{
		display: none;
	}
}
@media only screen and (max-width: 600px) {
	.nav {
    line-height: 18px;
	}
	.about{
		grid-template-columns: repeat(2, 1fr);
	}
	.title-filter{
		display: none;
	}
	.p-project {
		overflow: scroll;
		row-gap:10px;
		grid-template-columns: repeat(1, 1fr);
		max-height: calc(var(--h) - var(--nav));
	}
	.p-project > div{
				height: fit-content;
	}
	body{
		line-height: 20px;
	}
	:root{
		--grey:#f1f2f2;
		--m:14px;
		--l:16px;
		--book: 'SuisseIntl-Book';
		--serif:  'SuisseIntl-Book';
		--italic: 'Suisse-ita';
	}

	.header{
	 grid-template-columns: repeat(2,1fr);
	}
    .header-info{
        width: auto;
        padding: 0px!important;
        display: flex;
        z-index: 10;
        flex-direction: column;
    }

    .header-info .aim{
        order: 2;
				overflow: hidden;
				width: 100%;
				text-overflow: ellipsis;
				white-space: nowrap;
    }


	.archive{
		grid-column: span 8;
		grid-template-columns: repeat(2,1fr);
		display: grid;
	}
.bg.active{
	height: 55px;
}
    .about-header{
        z-index: 1;
        top: 0px;
        width: 100%;
        grid-column: span 8;
        grid-template-columns: repeat(1,1fr);
        display: grid;
        padding: 5px;
        position: absolute;
        background-color: white;

    }
		.about .content{
			grid-template-columns: repeat(1, 1fr);
		}
		.about{
			height: calc(var(--h) - var(--nav));
		}
.categories{
	display: none;
}
.tags{
	display: none!important;
}
.with{
	font-size: 10px;
	color: grey;
}

}
