:root {
	--duration: .25s;
	--bezier: cubic-bezier(0.77, 0, 0.175, 1);
	--bezier2: cubic-bezier(0.19, 1, 0.22, 1);
	--air: 2.0833333333vw;
	--color1: #f5f5f5;
	--color1rgb: 245, 245, 245;
	--color2: #444;
	--color2rgb: 68, 68, 68;
	--color3: #969696;
	--color3rgb: 150, 150, 150;
	--color4: #a29061;
	--color4rgb: 162, 144, 97;
	--ttl: 5vw;
}

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,
font,
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 {
	background: transparent;
	border: 0;
	margin: 0;
	padding: 0;
	vertical-align: baseline;
}

h1,
h2,
h3,
h4,
h5,
h6 {
	clear: both;
	font-weight: inherit;
}

ol,
ul {
	list-style: none;
}

blockquote {
	quotes: none;
}

blockquote:before,
blockquote:after {
	content: '';
	content: none;
}

a {
	cursor: pointer;
	color: inherit;
	text-decoration: none;
}

del {
	text-decoration: line-through;
}

table {
	border-collapse: collapse;
	border-spacing: 0;
}

object {
	cursor: pointer;
}

* {
	outline: none;
}

::selection {
	background: rgba(var(--color4rgb), .99);
	color: var(--color1);
	text-shadow: none;
}

html {
	font-size: 62.5%;
}

body {
	font-family: 'Roboto Mono', monospace;
	font-weight: 400;
	font-size: 1.2rem;
	line-height: 1.6;
	text-rendering: geometricPrecision;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	transition: var(--duration) ease-out;
	transition-property: background, color;
	will-change: auto;
}

strong {
	font-weight: 500;
}

.fonty1 {
	font-family: big-caslon-fb, Georgia, serif;
	font-weight: 400;
	line-height: 1.25;
}

.fonty1 strong {
	font-weight: 700;
}

.clear {
	display: block;
	clear: both;
	width: 100%;
	height: 0;
	zoom: 1;
	padding: 0 !important;
}

.textcenter {
	text-align: center;
}

.link {
	display: block;
}

img {
	display: block;
	pointer-events: none;
}

.relative {
	position: relative;
}

.absolute {
	position: absolute;
}

.bgcolor1 {
	background-color: var(--color1);
}

.bgcolor2 {
	background-color: var(--color2);
}

.color1 {
	color: var(--color1);
}

.color2 {
	color: var(--color2);
}

.color3 {
	color: var(--color3);
}

.color4 {
	color: var(--color4);
}

.fillcolor1 {
	fill: var(--color1);
}

.fillcolor2 {
	fill: var(--color2);
}

.video_holder {
	width: 100%;
	height: 0;
	padding-bottom: 56.25%;
	position: relative;
}

.video_holder > * {
	display: block;
	width: 100%;
	height: 100%;
	position: absolute;
	left: 0;
	top: 0;
}

svg {
	display: block;
	width: 100%;
}

#faux_header {
	display: block;
}

#main_header {
	position: fixed;
	left: 0;
	top: 0;
	width: 100%;
	box-sizing: border-box;
	z-index: 9999;
	pointer-events: none;
}

#main_header > .in {
	padding: calc(var(--air) * .5) var(--air);
	padding: calc(var(--air) * .5) calc(var(--air) * 1) calc(var(--air) * .5) calc(var(--air) * 2);
	display: flex;
	justify-content: space-between;
	align-items: center;
}

#main_header a {
	display: block;
	pointer-events: auto;
}

.tachable {
	position: relative;
	padding: 0 1rem;
}

.tachable:after {
	content: ' ';
	display: block;
	position: absolute;
	left: 0;
	top: 57%;
	transform: translateY(-50%) scaleX(0);
	width: 100%;
	height: 0;
	border-top: 1px solid;
	transition: transform .4s var(--bezier);
	transform-origin: right center;
}

body.desktop .tachable.hovered:after {
	transform: translateY(-50%) scaleX(1);
	transform-origin: left center;
}

body.desktop .tachable:hover span {
	transform: translateY(-50%) scaleX(0);
}

#main_menu {
	margin-right: -.3rem;
	padding-right: var(--air);
	text-transform: lowercase;
}

#main_menu ul + ul {
	margin-left: calc(var(--air) * 4);
}

#main_menu ul ul li:not(.active) a {
	opacity: .5;
}

body.desktop #main_menu ul ul li:not(.active) a:hover {
	opacity: 1;
}

#main_menu li {
	display: inline-block;
	vertical-align: middle;
}

#main_menu li + li {
	margin-left: calc(var(--air) * 2);
}

#main_menu ul ul li + li {
	margin-left: 2rem;
}

#main_menu a {
	padding: .3rem;
	transition: opacity var(--duration) ease-out;
}

@keyframes logoflip {
	0% {
		transform: rotate(0deg);
	}

	80%,
	100% {
		transform: rotate(120deg);
	}
}

@keyframes pulse {
	0% {
		opacity: 1;
	}

	70%,
	100% {
		opacity: .5;
	}
}

#logo {
	width: 4vw;
	transition: transform .6s var(--bezier);
	border-radius: 50%;
	overflow: hidden;
}

#logo svg {
	transition: transform .6s var(--bezier);
	will-change: transform;
}

body.desktop #logo:hover svg {
	animation: logoflip .9s 1 forwards var(--bezier);
}

body.desktop #logo:hover svg .iso {
	fill: var(--color4);
}

body.loading #logo svg,
body.loading--logo #logo svg {
	animation: logoflip .9s infinite forwards var(--bezier);
}

body.loading #logo svg .iso,
body.loading--logo #logo svg .iso {
	animation: pulse .45s infinite alternate ease-out;
}

#logo svg > * {
	transition: fill var(--duration) ease-out;
}

.text--underline {
	text-decoration: underline;
}

.col3 .h1 {
	font-size: 7vw;
}

.col2 .h1 {
	font-size: 5vw;
}

.nombre {
	display: block;
	position: fixed;
	top: 50%;
	transform: translateY(-50%);
	text-align: center;
	width: 100%;
	line-height: 1;
	box-sizing: border-box;
	z-index: 9000;
	pointer-events: none;
	text-align: center;
	padding: calc(var(--air) * 2) 0;
	overflow: hidden;
	/*	transition: transform .6s var(--bezier);*/
}

.ttl {
	opacity: 0;
	transition: opacity var(--duration) ease-out, color var(--duration) ease-out;
}

.item--hovered .ttl {
	opacity: 1;
}

body.item--inview .nombre {
	position: absolute;
}

.ttl {
	will-change: transform;
	line-height: 1;
}

.ttl > b {
	width: 4vw;
	height: 1px;
	background-color: var(--color2);
	transition: background var(--duration) ease-out;
}

.nombre .ttl.main {
	font-size: calc(var(--ttl) * 2);
}

.nombre .ttl.secondary {
	font-size: calc(var(--ttl) * .4);
	margin-top: calc(var(--ttl) * .2);
}

.nombre .ttl.terciary {
	font-size: calc(var(--ttl) * .2);
	margin-top: calc(var(--ttl) * .3);
}

.ttl.terciary > b {
	margin: 0 calc(var(--ttl) * .2);
}

.nombre h2,
.nombre h3 {
	font-size: 100%;
}

@keyframes strap {

	0%,
	100% {
		transform: translateX(0%);
	}

	50% {
		transform: translateX(-40%);
	}
}

@keyframes strap2 {

	0%,
	100% {
		transform: translateX(0%);
	}

	50% {
		transform: translateX(30%);
	}
}

@keyframes strap3 {

	0%,
	100% {
		transform: translateX(0%);
	}

	50% {
		transform: translateX(-20%);
	}
}

.nombre .ttl * {
	display: inline-block;
	vertical-align: middle;
}

body:not(.item--hovered) .nombre *:nth-child(n+2) {
	/*	display: none;*/
}

.nombre .ttl {
	white-space: nowrap;
	width: 500%;
	position: relative;
	left: -200%;
}

.nombreanim .ttl {
	animation: 50s infinite linear;
}

.nombreanim .ttl.main {
	animation-name: strap;
}

.nombreanim .ttl.secondary {
	animation-name: strap2;
}

.nombreanim .ttl.terciary {
	animation-name: strap3;
}

.nombreanim .ttl.-l-r {
	animation-direction: forwards;
}

.nombreanim .ttl.r-l {
	animation-direction: reverse;
}

body.title--on .nombre {
	opacity: 1;
}

#nombre {
	mix-blend-mode: overlay;
	color: var(--color2);
}

#nombre .ttl > b {
	background-color: var(--color2);
}

/*
#nombre .main .txt1 {
	color: transparent;
	background-color: var(--color1);
	-webkit-background-clip: text;
	-moz-background-clip: text;
	background-clip: text;
}
*/

#nombre2 {
	z-index: 0;
	color: var(--color2);
}

#nombre2 .ttl > b {
	background-color: var(--color2);
}

#grid {
	position: relative;
	z-index: 1;
	padding: 0 var(--air) calc(var(--air) * 2);
	/*	margin-top: calc(var(--air) * -1.8);*/
	pointer-events: none;
}

#grid,
#main_menu {
	transition: opacity calc(var(--duration) * 3) ease-out;
}

#grid,
#main_menu {
	opacity: 0;
}

body:not(.loading) #main_menu,
body:not(.loading) #grid {
	opacity: 1;
}

.sizer {
	display: block;
}

.col1 {
	width: 25%;
}

.col2 {
	width: 50%;
}

.col3 {
	width: 75%;
}

.item {
	float: left;
	box-sizing: border-box;
	padding: calc(var(--air) * 2) var(--air) 0;
	z-index: 100;
	will-change: transform;
	pointer-events: auto;
}

body.smoothed .item {
	/*	transition: width calc(var(--duration) * 2) var(--bezier2);*/
}

.item > .in {
	background-color: rgba(var(--color2rgb), .05);
	position: relative;
	transition: opacity var(--duration) ease-out, transform var(--duration) ease-out;
}

.item > .meta {
	padding-top: .8rem;
	transition: opacity var(--duration) ease-out;
	opacity: 0;
	max-width: 45rem;
}

.item > .meta > * + * {
	margin-top: .5rem;
}

.item > .meta h3 {
	font-size: 150%;
}

.item > .meta h3 a {
	display: block;
}

.item > .meta .terciary {
	opacity: .6;
}

.item.loaded > .meta,
body.sorted .item:not(.with--description) > .meta .terciary {
	opacity: 1;
}

/*
.item.viewed:not(.inview) > .in {
	-webkit-filter: grayscale(1);
}

.item.viewed:not(.inview) > .in:hover {
	-webkit-filter: grayscale(0);
}

.item.imagen.loaded.viewed:not(.inview) .img {
	opacity: .5;
}

.item.imagen.loaded.viewed:not(.inview) > .in:hover .img {
	opacity: 1;
}
*/

.item.clicked {
	position: fixed !important;
	top: 0 !important;
	left: 0 !important;
	/*
	left: calc(var(--air) * -1) !important;
	left: 0 !important;
	top: 0 !important;
	width: 50vw !important;
	height: 100vh !important;
	padding: 0 !important;
	z-index: 200;
*/
}

body.item--inview .item.clicked {
	position: absolute !important;
	left: calc(var(--air) * -1) !important;
}

.item.clicked > .in {
	transition: all .8s var(--bezier),
		opacity .3s ease-out;
}

.item.clicked.anim-in {
	transition: transform .8s var(--bezier),
		width .8s var(--bezier),
		height .8s var(--bezier),
		padding .8s var(--bezier);
	transform: translateX(0px) translateY(0px) !important;
	width: 50vw !important;
	/*	height: 100vh !important;*/
	padding: 0 !important;
	z-index: 200;
}

.item.imagen.clicked > .in {
	width: 100% !important;
	/*	padding-bottom: 100vh !important;*/
	left: 0 !important;
	top: 0 !important;
	transform: scale(1) translateX(0px) translatey(0px) !important;
}

.item.inview {
	transition: transform .8s var(--bezier),
		margin .8s var(--bezier),
		left .8s var(--bezier),
		top .8s var(--bezier),
		width .8s var(--bezier),
		height .8s var(--bezier),
		padding .8s var(--bezier);
	z-index: 200;
}

body.item--inview-short .item.clicked > .in {
	transition: all .8s .5s var(--bezier),
		opacity .3s ease-out;
}

.item .titulo {
	display: none;
}

body.title--on .item > .in:not(.hovered) {
	opacity: .5;
	opacity: 1;
	/*	-webkit-filter: invert(100%);*/
}

body.title--on .item > .in.hovered {
	opacity: 1;
}

body.item--hovered .item > .in:not(.hovered) {
	opacity: .5;
	opacity: 1;
}

body.item--clicked .item:not(.clicked) > .in {
	opacity: 0;
}

.item.imagen:not(.loaded) {
	pointer-events: none !important;
}

.item.imagen > .in {
	display: block;
	height: 0;
	padding-bottom: 120%;
	/*	overflow: hidden;*/
}

.item > a.in,
.clickable > .in {
	cursor: pointer;
}

.item.imagen .img,
.item.video video {
	position: absolute;
	width: 100%;
	height: 100%;
	left: 0;
	top: 0;
	object-fit: cover;
	object-position: center top;
	-webkit-transition: filter calc(var(--duration) * 4) var(--bezier2);
	transition: opacity calc(var(--duration) * 2) ease-out, transform calc(var(--duration) * 8) var(--bezier2), filter calc(var(--duration) * 4) var(--bezier2);
	opacity: 0;
	-webkit-filter: contrast(2) brightness(3);
	filter: contrast(2) brightness(3);
}

.item.video video + .img {
	display: none;
}

.item.imagen.loaded .img,
.item.video.loaded video {
	opacity: 1;
	transform: scale(1);
	-webkit-filter: contrast(1) brightness(1);
	filter: contrast(1) brightness(1);
}

body.desktop .item.imagen.loaded > a.in:hover .img,
body.desktop .item.video.loaded > a.in:hover video {
	transform: scale(1.03);
}

.item.texto > .in {
	text-align: center;
	padding: var(--air) var(--air) calc(var(--air) * 1.25);
	background: transparent;
}

.item.texto.hello > .in {
	font-size: 1.4rem;
	text-align: left;
	padding-top: calc(var(--air) * 2);
	padding-left: 0;
	padding-right: 0;
}

.hello h1 {
	font-size: 400%;
}

.hello .h2 {
	display: block;
	font-size: 400%;
}

.item.texto > .in a {
	transition: opacity var(--duration) ease-out;
}

body.desktop .item.texto > .in a:hover {
	opacity: .5;
}

.item.texto > .in > * + * {
	margin-top: 2.1rem;
}

.content {
	display: none;
}

.clearer {
	display: none !important;
}

body.sorted .item.clearer {
	display: block !important;
	width: 100% !important;
	clear: both;
	zoom: 1;
}

body.sorted .item:not(.with--description) .meta h3 + div {
	display: none !important;
}

.clearer h2 {
	opacity: .5;
	font-size: 150%;
	padding-bottom: 2rem;
	position: relative;
}

.clearer h2:after {
	content: ' ';
	display: block;
	width: 100%;
	height: 0;
	position: absolute;
	bottom: 0;
	left: 0;
	border-bottom: 1px solid;
	opacity: .5;
}

.grid-toggler {
	/*	opacity: .5;*/
	cursor: pointer;
	padding-top: 1.5rem !important;
}

.grid-toggler {
	opacity: .5;
}

body.desktop .grid-toggler:hover {
	opacity: 1;
}

body:not(.sorted) .toggler b:nth-of-type(1) {
	transform: translateY(-.3rem);
}

body:not(.sorted) .toggler b:nth-of-type(2) {
	transform: translateY(0rem);
}

body:not(.sorted) .toggler b:nth-of-type(3) {
	transform: translateY(.2rem);
}

.toggler b {
	display: inline-block;
	vertical-align: text-top;
	width: .5rem;
	margin-left: 1px;
	background: var(--color2);
	transition: transform calc(var(--duration) * 2) var(--bezier2);
}

.toggler b:nth-of-type(1) {
	height: .6rem;
}

.toggler b:nth-of-type(2) {
	height: .9rem;
}

.toggler b:nth-of-type(3) {
	height: .4rem;
}

body.sorted .item.hello {
	width: 100% !important;
}

footer {
	padding: calc(var(--air) * 4) var(--air);
	text-align: center;
	font-size: 133.3333%;
	color: var(--color3);
}

@media all and (max-width: 1920px) {
	.col3 {
		width: 60%;
	}

	.col2 {
		width: 40%;
	}

	.col1 {
		width: 20%;
	}

	body.sorted .item {
		width: 20% !important;
	}
}

@media all and (max-width: 1440px) {
	.col3 {
		width: 75%;
	}

	.col2 {
		width: 50%;
	}

	.col1 {
		width: 25%;
	}

	body.sorted .item {
		width: 25% !important;
	}
}

@media all and (max-width: 1024px) {

	#logo {
		width: 4rem;
	}

	.col3 {
		width: 100%;
	}

	.col2 {
		width: 66.6666%;
	}

	.col1 {
		width: 33.3333%;
	}

	body.sorted .item {
		width: 33.3333% !important;
	}
}

@media all and (max-width: 768px) {

	:root {
		--air: 2rem;
	}

	.col3,
	.col2 {
		width: 100%;
	}

	.col1 {
		width: 50%;
	}

	body.sorted .item {
		width: 50% !important;
	}

	#main_menu li + li {
		margin-left: 2rem;
	}

	#main_menu ul ul {
		margin-left: 1.5rem;
	}

	#main_menu ul ul li + li {
		margin-left: 1rem;
	}

	#main_menu a span span,
	.breakable,
	.toggler {
		display: none !important;
	}

	.hello h1,
	.hello .h2 {
		font-size: 10vw;
	}
}

@media all and (max-width: 600px) {

	:root {
		--air: 1.2rem;
	}

	body {
		font-size: 1.4rem;
	}

	.col2 .h1 {
		font-size: 200%;
	}

	.col3,
	.col2,
	.col1 {
		width: 100%;
	}

	body.sorted .item {
		width: 100% !important;
	}

	.sizer,
	.item.photography.col1 {
		width: 50% !important;
	}
	.item.photography.col1 > .meta h3 {
		font-size: 133.3333%;
	}

	.item {
		padding: calc(var(--air) * 4) var(--air) 0;
	}

	.item.clearer {
		padding-top: calc(var(--air) * 6);
	}

}

@media all and (max-width: 350px) {

	#main_menu {
		text-align: right;
	}

}
