/*
* PLAYER TWO Styles
*/




/* desktop vars */
:root {
	--color-white: #FFFFFF;
	/*--color-accent: #9DFFB6;
	--color-accent-filter: sepia(50%) brightness(80%) saturate(2000%) hue-rotate(80deg);*/
	--color-accent: #d85e32;
	--color-accent-filter: brightness(0) saturate(100%) invert(42%) sepia(90%) saturate(430%) hue-rotate(330deg) brightness(93%) contrast(100%);

	--color-dark: #224433;
	--color-black: #000000;

	--max-width: 120rem;
	--margin: 1rem;
	--big-margin: 2rem;
	--little-margin: .75rem;

	--font-size: 1rem;
	--line-height-small: 1.2rem;

	--logo-width: 2rem;
	--icon-size: 2rem;

	--flex-gap: 0;

	--scale-factor: 150%; /* used for overlays on homepage */
}

/* tablet vars */
@media screen and (max-width: 60rem) {
	:root {
		--margin: .75rem;
		--big-margin: 1.25rem;
		--little-margin: .5rem;

		--logo-width: 2rem;

		--scale-factor: 125%;
	}
}

/* mobile vars */
@media screen and (max-width: 35rem) {
	:root {
		--margin: .5rem;
		--big-margin: 1rem;
		--little-margin: .25rem;

		--scale-factor: 100%;
	}
}

/* RESET */
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,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,article,aside,canvas,details,embed,figure,figcaption,footer,header,hgroup,menu,nav,output,ruby,section,summary,time,mark,audio,video,button {
	margin: 0;
	padding: 0;
	border: 0;
	box-sizing: border-box;

	font-size: 100%;
	line-height: 100%;
	font: inherit;
	vertical-align: baseline;

	transition: 0.25s;
	scroll-behavior: smooth;
}

body {
	background-color: var(--color-white);
	color: var(--color-black);
	font-size: var(--font-size);
	overflow-y: scroll;
	overflow-x: hidden;
}

article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section {
	display: block;
}

ol,ul {
	list-style: none;
}

blockquote,q {
	quotes: none;
}

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

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


/* FONTS */

/*@import url('/lib/fonts/Saira-VariableFont.ttf');
@import url('/lib/fonts/Saira-Italic-VariableFont.ttf');*/

@font-face {
	font-family: "Saira";
	src: url("/lib/fonts/Saira-VariableFont.ttf");
	font-weight: 100 900;
  }

.title-thin {
	font-family: "Saira", sans-serif;
	font-weight: 100;
	font-style: normal;
}

.title-medium {
	font-family: "Saira", sans-serif;
	font-weight: 500;
	font-style: normal;
}

.title-black {
	font-family: "Saira", sans-serif;
	font-weight: 900;
	font-style: normal;
}

body {
	font-family: "Saira", Helvetica, Arial, sans-serif;
	font-optical-sizing: auto;
	font-weight: 100;
	font-style: normal;
	font-variation-settings:
		"wdth" 100;
}

h1, h2, h3, h4, h5 {
	font-family: "Saira", sans-serif;
	font-weight: 100;
	font-style: normal;
	text-transform: uppercase;
	letter-spacing: -.025em;
	text-indent: -.05em;
	line-height: .8em;
}

h1 {
	color: var(--color-accent);
	font-size: 2rem;
	margin-bottom: 1rem;
}

h2 {
	font-size: 1.5rem;
}

h3 {
	font-size: 1.25rem;
}

.h1-big {
	font-size: 3rem;
}

/* LINKS */

a, a:visited {
	font-weight: 500;
	text-decoration: underline;
	text-decoration-style: dotted;

	color : var(--color-white);
	background-color : transparent;
}

a.slanted, a.slanted:visited {
	position: relative;
	display: inline-block;
	text-decoration: none;
}

a.slanted::after, a.slanted:visited::after {
	display: none;
}

a:hover {
	text-decoration: none;
	color: var(--color-accent);
}

a.slanted:hover {
	color: var(--color-black);
}

a.slanted:hover::after {
	content: '';
	display: block;
	position: absolute;
	top: 0;
	left: -.25em;
	height: 100%;
	width: calc(100% + .5em);
	z-index: -100;

	background-color: var(--color-accent);
	transform: skew(-12.5deg);
}

/* BUTTONS */
button {
	position: relative;
	color: var(--color-black);
	background-color: transparent;
	text-decoration: none;
	text-transform: uppercase;
}

button>a, button>a:visited {
	color: var(--color-black);
	text-decoration: none;
	text-transform: uppercase;
}

button:hover {
	cursor: pointer;
}

button>a:hover {
	color: var(--color-accent);
}

button::after {
	content: '';
	display: block;
	position: absolute;
	top: 0;
	left: -.25em;
	height: 100%;
	width: calc(100% + .5em);
	z-index: -100;

	background-color: var(--color-accent);
	transform: skew(-12.5deg);
}

button:hover::after {
	background-color: var(--color-white);
}

.inline-buttons {
	display:flex;
	gap:1rem;
}

.inline-buttons button {
	padding-left: .25rem;
	padding-right: .25rem;
}

li.active button {
	color: var(--color-black);
}

li.active button::after {
	background-color: var(--color-white);
}

/* LAYOUT */
body {
	font-family: "Saira", sans-serif;
	font-weight: 300;
	font-style: normal;

	color: var(--color-white);

	background-color: var(--color-black);
}

section {
	position: relative;
}

.std-width {
	width: calc(100% - var(--big-margin)*2);
	max-width: var(--max-width);
	left: 50%;
	transform: translateX(-50%);
	/*margin: 1rem auto;*/
}


/**********/
/* HEADER */
/**********/
header {
	position: fixed;
	top: 0;
	height: var(--icon-size);
	width: 100%;
	z-index: 1000;
	margin: 1rem auto;
}

header #logo {
	position: absolute;
	left: 0;
	width: var(--logo-width);
	top: 0;
	height: var(--icon-size);
	z-index: 1001;
}

header #logo a {
	display: block;
	width: 100%;
	height: 100%;
	
	content-visibility: hidden;
	background: url('/lib/img/icon-p2-white.svg') 0 center no-repeat;
}

header #logo a::after {
	content: '';
	z-index: -1;
	display: block;
	position: absolute;
	left: 0;
	top: -100%;
	width: 100%;
	height: 100%;
	background-color: transparent;
}

header #logo a:hover {
	filter: var(--color-accent-filter);
}

header #logo a:hover:after {
	top: 0;
	background-color: var(--color-accent);
}

/* desktop nav */
header nav {
	position: absolute;
	right: 0;
	top: 50%;
	transform: translateY(-50%);
	margin: 0 auto;
}

header nav ul {
	text-align: right;
}

header nav ul li {
	position: relative;
	display: inline;
	margin-left: 1em;
}

header nav ul li a {
	padding: 0 .2em;
	font-size: 1.2em;
	font-weight: 500;
	text-transform: uppercase;
	text-decoration: none;
}

header #directors {
	position: absolute;
	left: 0;
	top: calc(100% + 1em);
	width: max-content;
	text-align: left;

	opacity: 0;
	visibility: hidden;
}

header #directors::before {
	content: '';
	position: absolute;
	top: -1em;
	left: 0;
	width: 100%;
	height: 1em;

	opacity: 0;
}

/* checkbox hack for touch-enabled dropdown menu (in addition to rollover) */
header #directors-checkbox {
	position: absolute;
	width: 100%;
	height: 100%;
	z-index: 100;
	opacity: 0;
}

header #directors-button:hover #directors, header #directors-checkbox:checked ~ #directors {
	opacity: 1;
	visibility: visible;
}

/* special declarations for checkbox hack (similar to a.slanted declarations) */
header #directors-button:has(input:hover) a.slanted, header #directors-button:has(input:checked) a.slanted {
	color: var(--color-black);
}

header #directors-button:has(input:hover) a.slanted::after, header #directors-button:has(input:checked) a.slanted::after {
	display: block;
}

header #directors li {
	display: list-item;
	position: relative;
	margin-left: 0;
}

header #directors li a {
	font-weight: 200;
	font-size: 1.5rem;
	letter-spacing: -.025em;
	text-indent: -.05em;
}

header #directors li a:hover {
	color: var(--color-black);
	background-color: transparent;
}

header #directors li::before {
	position: absolute;
	width: 300vw;
	left: -100vw;
	height: 100%;
	top: 0;
	z-index: -1;
	content: '';
	background-color: var(--color-accent);
	opacity: 0;
}

header #directors li:hover::before {
	opacity: 1;
}

/* mobile nav */
#burger-menu-open, #burger-menu-close {
	position: absolute;
	right: 0;
	top: 0;
	width: var(--icon-size);
	height: var(--icon-size);
}

#burger-menu-open::after, #burger-menu-close::after {
	display: none;
}

#burger-menu-open {
	background: url('/lib/img/icon-burger-white.svg') center no-repeat;

	visibility: hidden;
	opacity: 0;
}

#burger-menu-open:hover {
	filter: var(--color-accent-filter);
}

#burger-menu-close {
	background: url('/lib/img/icon-close-black.svg') center no-repeat;

	visibility: hidden;
	opacity: 0;
}

#burger-menu-close:hover {
	filter: invert();
}

@media screen and (max-width: 35rem) {

	header #logo.menu {
		filter: invert();
	}

	header #logo.menu a:hover, header #logo.menu a:active {
		filter: invert();
	}

	header nav {
		position: absolute;
		top: calc(var(--big-margin) * -1);
		left: calc(var(--big-margin) * -1);
		width: calc(100% + var(--big-margin)*2);
		max-width: none;
		padding-top: calc(var(--big-margin)*2 + var(--icon-size));
		padding-bottom: calc(var(--big-margin)*2);
		transform: unset;

		background-color: var(--color-accent);

		display: none;
		visibility: hidden;
		opacity: 0;
	}

	header nav>ul {
		position: relative;
		top: var(--big-margin);
		right: var(--big-margin);
		float: right;
	}

	header nav ul li {
		display: block;
		margin: 0 0 var(--margin) 0;
	}

	header nav ul li a, header nav ul li a:visited {
		color: var(--color-black);
	}

	header nav ul li a:hover, header nav ul li a:active, header a.slanted:hover, header #directors li a:hover {
		color: var(--color-white);
	}

	header #directors {
		position: relative;
		top: 0;
		right: 0;
		text-align: right;
		visibility: visible;
		opacity: 1;
	}

	header #directors-checkbox {
		display: none;
	}

	header #directors li {
		right: var(--big-margin);
	}

	header #directors li:first-child {
		margin-top: var(--margin);
	}

	#burger-menu-open {
		visibility: visible;
		opacity: 1;
	}
}

/************/
/* HOMEPAGE */
/************/

/* MAIN VIDEO */
#home-video {
	position: relative;
	width: 100vw;
	height: 100vh;
	margin-bottom: var(--margin);
}

#home-video video {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

#home-video h1 {
	position: absolute;
	width: calc(100% - var(--big-margin)*2);
	max-width: var(--max-width);
	left: 50%;
	top:50%;
	transform: translate(-50%, -50%);

	color: var(--color-white);
	font-size: 3rem;
	text-align: center;
}

/* FEATURED PROJECTS */
#home-featured {
	/*margin: 0 var(--big-margin);*/
}

#home-featured>h1 {
	margin-left: 10%;
}

#home-featured>p {
	position: relative;
	width: 50%;
}

.home-featured-work {
	position: relative;
	width: 100%;
	aspect-ratio: 2.35;
}

.home-featured-work video {
	position: absolute;
	width: 100%;
	aspect-ratio: 2.35;
	object-fit: cover;
	clip-path: polygon(10% 0, 100% 0, 90% 100%, 0 100%);
}

.featured-work-info {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	color: var(--color-white);
	background: transparent;
}

.featured-work-info span {
  position: absolute;
  display: block;
  width: fit-content;
  max-width: 75%;
  top: 50%;
  left: 50%;
  transform: translateX(-50%) translateY(-50%) scale(var(--scale-factor));
  color: var(--color-white);
  text-transform: uppercase;
}

/* ABOUT TEXT */
#home-about {
	padding-top: 8rem;
	margin-bottom: var(--margin);
}

#home-about p {
	font-size: 1.5rem;
	font-weight: 300;
	letter-spacing: -.025rem;
	line-height: 2rem;
}

/* PARTNERS LIST */
#home-partners ul {
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	justify-content: space-between;
	align-content: flex-start;
	align-items: center;
	gap: 0;
}

#home-partners li {
	position: relative;
	flex-basis: 10rem;
	flex-grow: 0;
	aspect-ratio: 1;
}

#home-partners li.empty {
	aspect-ratio: unset;
}

#home-partners a {
	position: absolute;
	width: 100%;
	height: 100%;
}

#home-partners img {
	width: 80%;
	position: absolute;
	left: 50%;
	top: 50%;
	transform: translate(-50%,-50%);
}

#home-partners a:hover img {
	width: 100%;
}

/* tablet vars */
@media screen and (max-width: 60rem) {
	#home-partners li {
		flex-basis: 8rem;
	}
}

/* mobile vars */
@media screen and (max-width: 35rem) {
	#home-partners li {
		flex-basis: 30%;
	}
}


/*****************/
/* DIRECTOR PAGE */
/*****************/
#director-info {
	margin: 8rem 0 var(--little-margin) 0;
	display: flex;
}

#director-info-img {
	min-width: 20%;
	max-width: 10rem;
	margin-right: 1rem;
}
#director-info h1 {
	margin-top: -.08em;
	line-height: .85em;
}

#director-info p {
	text-indent: 2em;
}

#director-info img {
	width: 100%;
	aspect-ratio: .66;
	object-fit: cover;

}

#director-works {
	margin-bottom: var(--margin);
}


/**************/
/* WORKS PAGE */
/**************/
#filtering-keywords {
	position: relative;
	left: 0.45rem;
	margin-bottom: 1rem;
}

#filtering-keywords button {
	text-transform: none;
}

#works-list {
	margin: 8rem 0 var(--margin) 0;
}


/* SINGLE WORK */
#work-info {
	margin: 8rem 0 var(--little-margin) 0;
}

#work-info h1 {
	margin: 0;
	font-weight: 700;
}

#share-button {
	position: relative;
	text-align: right;
}

#share-button button {
	font-weight: 500;
	padding: 0 .25rem 0 .25rem;
}

#share-button::after {
	content: 'Link copied to clipboard !';
	display: block;
	position: absolute;
	top: calc(-100% - 0.25em);
	right: -0.25em;
	padding: 0 0.5em 0 0.5em;
	height: 100%;
	z-index: 100;

	color: var(--color-black);
	background-color: var(--color-white);
	transform: skew(-12.5deg);
	
	transition-duration: 4s;
	opacity: 0;
}

#share-button:active::after {
	transition-duration: 0s;
	opacity: 1;
}

#work-client {
	margin: 0;
	text-transform: uppercase;
}

#work-director {
	margin-top: 1em;
}

#work-director span {
	position: relative;
	font-weight: 700;
	text-transform: uppercase;
}

#work-client span:not(:first-child) {
	margin-left: 2em;
	position: relative;
}

#work-director a:not(:first-child) {
	margin-left: 1.5em;
}

#work-client span:not(:first-child)::after, #work-director a:not(:first-child)::before {
	content: ' + ';
	text-align: center;
	color: var(--color-white);
	position: absolute;
	left: -2em;
	top: 0;
	width: 2em;
	height: 100%;
}

#main-video {
	margin-bottom: var(--margin);
}


/****************/
/* COMMON STUFF */
/****************/

/* CONTENT */
.cb {
	position: relative;
	width:100%;
}

.cb h1 {
	position: absolute;
	width: fit-content;
	top: 50%;
	left: 50%;
	transform: translateX(-50%);
	z-index:100;
}

.cb a {
	text-decoration: none;
}

.cb a:hover {
	color: var(--color-white);
}

.cbg6 {
	height: 35rem;
}

.cbg6_1 {
	width: 38%;
	height: 18rem;
	top: 2rem;
	left: 5%;
}

.cbg6_2 {
	width: 20%;
	height: 13rem;
	top: 0;
	left: 48%;
}

.cbg6_3 {
	width: 30%;
	height: 22rem;
	top: 4rem;
	right: 5%;
}

.cbg6_4 {
	visibility: hidden;
}

.cbg6_5 {
	visibility: hidden;
}

.cbg6_6 {
	visibility: hidden;
}

.cbgi {
	position: absolute;
	overflow: hidden;
}

.grid-image-media {
	position: absolute;
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
}

.grid-image-media img, .grid-image-media video {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.grid-image-overlay {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;

	color: var(--color-white);
	background: transparent;
}

.grid-image-overlay span {
	position: relative;
	display: block;
	width: fit-content;
	max-width: 75%;
	top: 50%;
	left: 50%;
	transform: translateX(-50%) translateY(-50%);

	/*color: var(--color-black);*/
	text-transform: uppercase;
}

.cb a:hover .grid-image-overlay {
	color: var(--color-black);
	background: var(--color-accent);
}

.cb a:hover .grid-image-overlay span {
	filter: drop-shadow(0 0 0 rgba(0,0,0,0));
}


/* WORKS LIST */
.works {
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	justify-content: space-between;
	align-content: flex-start;
	align-items: stretch;
	gap: var(--flex-gap);
}

.works li {
	position: relative;
	flex-basis: calc(30rem - var(--big-margin));
	flex-grow: 1;
	aspect-ratio: 16/9;
	overflow: hidden;
}

/* tablet vars */
@media screen and (max-width: 60rem) {
	.works li {
		flex-basis: 50%;
	}
}

/* mobile vars */
@media screen and (max-width: 35rem) {
	.works li {
		flex-basis: 100%;
	}
}

.works li a:hover .preview-image.rollover-none {
	transform: scale(110%);
}

.works li.empty {
	aspect-ratio: unset;
}


/* SLIDER */
.blaze-container {
	margin-bottom: .5rem;
}

.blaze-slider .controls button {
	text-transform: lowercase;
}


/**********/
/* FOOTER */
/**********/
footer {
	position: relative;
	margin-bottom: var(--margin);
	padding-top: var(--little-margin);

	border-top: dotted 1px var(--color-white);

	line-height: var(--line-height-small);
}

footer>div {
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	justify-content: space-between;
	align-content: flex-start;
	align-items: stretch;
	gap: 2rem;
}

footer li {
	list-style: none;
	margin-bottom: var(--little-margin);
}

footer li strong {
	font-weight: 500;
}

@media screen and (max-width: 35em) {
	footer>div {
		flex-direction: column;
	}

	footer li {
		margin-bottom: var(--big-margin);
	}
}


/*********/
/* ICONS */
/*********/
#Instagram a {
	display: block;
	width: 3rem;
	height: 3rem;
	content-visibility: hidden;
	background: url('/lib/img/icon-instagram-white.svg') center no-repeat;
	background-size: contain;
}

#socials a:hover {
	filter: var(--color-accent-filter);
}


/*********/
/* OTHER */
/*********/
.slanted::after {
	content: '';
	display: block;
	position: absolute;
	top: 0;
	left: -.25em;
	height: 100%;
	width: calc(100% + .5em);
	z-index: -100;

	background-color: var(--color-accent);
	transform: skew(-12.5deg);
}

.shadow {
	filter: drop-shadow(0 2px 2px rgba(0, 0, 0, 0.85));
}

.pixel {
	image-rendering: pixelated;
	transform: scale(.1);
	width: 1000%;
	height: 1000%;
}

.visible {
	display: initial;
	visibility: visible !important;
	opacity: 1 !important;
}

.hidden {
	display: none;
	visibility: hidden !important;
	opacity: 0 !important;
}