/*!
Theme Name: Thought & Found
Theme URI: https://thoughtandfound.com/
Author: Thought & Found
Author URI: https://thoughtandfound.com/
Description: Custom WordPress theme developed by Thought & Found.
Version: 1.0.0
Requires at least: 5.4
Tested up to: 6.5
Requires PHP: 7.4
Text Domain: thought-found
Tags: custom-background, custom-logo, custom-menu, featured-images, threaded-comments, translation-ready
*/

@media screen and (min-width: 0) {
/*-----------------------------------------
# GLOBALS
-------------------------------------------*/
html {
	line-height: 1.15;
	-webkit-text-size-adjust: 100%;
}

body {
	margin: 0;
	width: 100%;
	height: 100%;
	overflow: hidden;
	font-family: "ballinger-mono", monospace;
	font-size: 13px;
	color: white;
	text-transform: uppercase;
}

p {
	margin-top: 0;
}

a {
	color: white;
}

a.current {
	background: #0060fe;
}

main {
	display: block;
}

/*-----------------------------------------
# FRONT PAGE
-------------------------------------------*/
.grain-wrap {
	position: fixed;
	width: 100vw;
	height: 100vh;
	overflow: hidden;
	z-index: -1;
	mix-blend-mode: color-burn;
}

.grain {
	position: absolute;
	top: -50%;
	left: -50%;
	width: 200%;
	height: 200vh;
	background: transparent url('./files/NOISE-(COLOR).webp') repeat 0 0;
	background-size: 200px;
	filter: invert(1) contrast(2) saturate(2);
	visibility: visible;
	will-change: transform;
	animation: grain-animation .2s steps(10) infinite;
}

@keyframes grain-animation {
	0%   { transform: translate(0, 0); }
	10%  { transform: translate(-5%, -5%); }
	20%  { transform: translate(-10%, 5%); }
	30%  { transform: translate(5%, -10%); }
	40%  { transform: translate(-5%, 15%); }
	50%  { transform: translate(-10%, 5%); }
	60%  { transform: translate(15%, 0); }
	70%  { transform: translate(0, 10%); }
	80%  { transform: translate(-15%, 0); }
	90%  { transform: translate(10%, 5%); }
	100% { transform: translate(5%, 0); }
}

span.waterfall {
	display: block;
}

.row {
	display: flex;
	width: 100%;
	justify-content: space-between;
	box-sizing: border-box;
	padding: 10px;
}

.r1-c1 {
	flex: 0 0 10%;
}

.r1-c2 {
	flex: 0 0 60%;
}

.r1-c3 {
	flex: 0 0 20%;
}

.r1-c4 {
	flex: 0 0 15%;
	text-align: right;
}

.r2-c1 {
	flex: 0 0 40%;
}

.r2-c2 {
	flex: 0 0 10%;
}

.r2-c3 {
	flex: 0 0 50%;
	text-align: right;
}

.r3-c1,
.r3-c2,
.r3-c3,
.r3-c4,
.r3-c5 {
	flex: 0 0 auto;
}

.r3-c6 {
	flex: 0 0 auto;
	margin-left: auto;
	display: none;
}

.r4-c1 {
	flex: 0 0 30%;
}

.r4-c2 {
	flex: 0 0 30%;
}

.r4-c3 {
	flex: 0 0 30%;
	text-align: right;
}

.r4-c4 {
	flex: 0 0 20%;
}

.r5-c1 {
	flex: 0 0 20%;
}

.r5-c2 {
	flex: 0 0 40%;
}

.r5-c3 {
	flex: 0 0 30%;
	text-align: right;
}

.r5-c4 {
	flex: 0 0 10%;
	text-align: right;
}

.r1-c3,
.r2-c2,
.r4-c4,
.r5-c4 {
	display: none;
}

.screen {
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	width: 100vw;
	height: 100dvh;
	overflow: hidden;
}

.waterfall {
	opacity: 0;
	transition: opacity 0.4s ease;
}

.main-navigation span {
	padding-right: 10px;
}

.main-navigation a {
	text-decoration: none;
}

.main-navigation .r3-c5 span {
	padding-right: 0;
}

#clock {
	padding-right: 0;
}

.fixed-video {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: -2;
	filter: brightness(0.9);
}

video.fv.base,
video.fv.layer {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 0.5s ease;
	will-change: transform;
	backface-visibility: hidden;
}

video.fv.base {
	transform-origin: top center;
	transform: translate3d(0, 0, 0) scaleY(1);
}

video.fv.layer {
	transform-origin: bottom center;
	transform: translate3d(0, 99.5%, 0) scaleY(1);
}

body.panel-open video.fv.base {
	transform: translate3d(0, 0, 0) scaleY(0.5);
}

body.panel-open video.fv.layer {
	transform: translate3d(0, 0, 0) scaleY(0.5);
}

/*-----------------------------------------
# NAVIGATION
-------------------------------------------*/
.main-navigation {
	position: fixed;
	top: -35px;
	right: 0;
	bottom: 0;
	left: 0;
	height: 35px;
	margin: auto;
}

/*-----------------------------------------
# PANELS
-------------------------------------------*/
.panel p {
	max-width: 500px;
}

.panel {
	display: block;
	position: fixed;
	right: 0;
	bottom: 0;
	left: 0;
	z-index: 10;
	height: 50dvh;
	box-sizing: border-box;
	padding: 10px;
	overflow-x: hidden;
	border-top: 1px solid;
	backdrop-filter: blur(20px);
	-webkit-backdrop-filter: blur(20px);
	transform: translateY(100%);
	transition: transform 0.5s ease;
}

.panel.is-active {
	transform: translateY(0);
}

.p-inner {
	display: flex;
	flex-direction: column;
	height: 100%;
}

.p-bot {
	margin-top: auto;
}

.p-bot p:last-child {
	margin-bottom: 0;
}

#articles {
	padding: 0;
}

#articles .p-inner {
	display: block;
	box-sizing: border-box;
	height: 100%;
	padding: 10px 0 10px 10px;
	overflow: hidden;
}

#articles .posts-loop::-webkit-scrollbar {
	height: 8px;
}

#articles .posts-loop::-webkit-scrollbar-thumb {
	background: rgba(255, 255, 255, 0.5);
	border-radius: 999px;
}

.posts-loop {
	display: flex;
	align-items: flex-start;
	min-width: 100%;
	height: 100%;
	overflow-x: scroll;
	box-sizing: border-box;
	padding-bottom: 10px;
	font-size: 0;
	white-space: nowrap;
	scroll-snap-type: x proximity;
	scroll-behavior: smooth;
}

article.post-item {
	position: relative;
	isolation: isolate;
	flex: 0 0 auto;
	width: auto;
	height: 100%;
	margin-right: 10px;
	overflow: hidden;
	border-radius: 1.5vh;
	transform: translateZ(0);
	scroll-snap-align: start;
}

article.post-item span {
	font-size: 13px;
	font-size: 2.3vh;
	font-family: "neue-haas-grotesk-display", sans-serif;
	font-weight: 600;
	text-transform: none;
}

article.post-item span.post-title {
	text-transform: uppercase;
}

span.post-text span {
	background: black;
	white-space: normal;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

.blue-white span.post-text span {
	color: white;
	background: #0060fe;
}

.blue-black span.post-text span {
	color: black;
	background: #0060fe;
}

.white-blue span.post-text span {
	color: #0060fe;
	background: white;
}

.white-black span.post-text span {
	color: black;
	background: white;
}

.black-white span.post-text span {
	color: white;
	background: black;
}

.black-blue span.post-text span {
	color: #0060fe;
	background: black;
}

span.post-text {
	position: absolute;
	top: 10px;
	left: 10px;
}

.post-thumbnail {
	position: relative;
	width: auto;
	height: 100%;
}

.post-thumbnail a {
	display: inline-flex;
	width: auto;
	height: 100%;
}

.post-thumbnail img {
	display: block;
	width: auto;
	max-width: none;
	height: 100%;
	min-height: 150px;
	object-fit: contain;
	object-position: top left;
}

.post-item::before {
	content: "";
	position: absolute;
	inset: 0;
	top: 0;
	left: 0;
	z-index: 1;
	width: 100%;
	height: 100%;
	background: #0060fe;
	mix-blend-mode: color;
	opacity: 0;
	border-radius: 1.5vh;
	overflow: hidden;
	pointer-events: none;
	transition: opacity 0.3s ease;
}

.post-thumbnail,
.post-text {
	transition: filter 0.3s ease;
}
/*-----------------------------------------
# ARTICLES
-------------------------------------------*/
}

@media screen and (min-width: 568px) {
/*-----------------------------------------
# GLOBALS
-------------------------------------------*/
/*-----------------------------------------
# FRONT PAGE
-------------------------------------------*/
/*-----------------------------------------
# NAVIGATION
-------------------------------------------*/
/*-----------------------------------------
# PANELS
-------------------------------------------*/
/*-----------------------------------------
# ARTICLES
-------------------------------------------*/
}

@media screen and (min-width: 768px) {
/*-----------------------------------------
# GLOBALS
-------------------------------------------*/
/*-----------------------------------------
# FRONT PAGE
-------------------------------------------*/
.row {
	padding: 20px;
}

.row:first-of-type {
	justify-content: flex-start;
}

.r1-c1 {
	flex: 0 0 100px;
}

.r1-c2 {
	flex: 0 0 50%;
}

.r1-c3 {
	flex: 0 0 20%;
	margin-left: auto;
}

.r1-c4 {
	flex: 0 0 15%;
	margin-left: auto;
}

.r2-c2 {
	flex: 0 0 10%;
}

.r4-c2 {
	flex: 0 0 20%;
}

.r4-c3 {
	flex: 0 0 40%;
}

.r4-c4 {
	flex: 0 0 20%;
}

.r5-c4 {
	flex: 0 0 10%;
}

.r1-c3,
.r2-c2,
.r4-c4,
.r5-c4,
.r3-c6 {
	display: block;
}

.r2-c3,
.r4-c3,
.r5-c3 {
	text-align: left;
}

.main-navigation span {
	padding-right: 45px;
}
/*-----------------------------------------
# NAVIGATION
-------------------------------------------*/
.main-navigation {
	top: -55px;
	height: 55px;
}
/*-----------------------------------------
# PANELS
-------------------------------------------*/
.panel {
	padding: 20px;
}

#articles .p-inner {
	padding: 20px 0 20px 20px;
}

article.post-item {
	margin-right: 15px;
}

.posts-loop {
	padding-bottom: 20px;
}
/*-----------------------------------------
# ARTICLES
-------------------------------------------*/
}

@supports (-webkit-touch-callout: none) {
	.post-item::before {
		mix-blend-mode: normal;
	}

	.post-item:hover::before {
		opacity: 0.5;
	}
}

@media screen and (min-width: 1025px) {
/*-----------------------------------------
# GLOBALS
-------------------------------------------*/
a:hover {
	background: #0060fe;
}
/*-----------------------------------------
# FRONT PAGE
-------------------------------------------*/
/*-----------------------------------------
# NAVIGATION
-------------------------------------------*/
/*-----------------------------------------
# PANELS
-------------------------------------------*/
.post-item:hover::before {
	opacity: 1;
}

.post-item:hover .post-text,
.post-item:hover .post-thumbnail {
	filter: contrast(0.5);
}

@supports (background: -webkit-named-image(i)) {
	.post-item::before {
		mix-blend-mode: normal;
		transition: opacity 0.12s ease;
	}

	.post-text,
	.post-thumbnail {
		filter: contrast(1) sepia(0) hue-rotate(1deg) saturate(1);
		transition: filter 0s linear 0.18s;
		will-change: filter;
		transform: translateZ(0);
	}

	.post-item:hover .post-text,
	.post-item:hover .post-thumbnail {
		filter: contrast(.5) sepia(1) hue-rotate(198deg) saturate(8);
	}

	.post-item:hover::before {
		opacity: 0;
		transition: opacity 0.15s ease;
	}
}
/*-----------------------------------------
# ARTICLES
-------------------------------------------*/
}