@import url('./colors.css');
@import url('./type.css');
@import url('./animation.css');

body {
	/*font-family: 'Clan-Book', sans-serif;*/
	margin: 0;
}

.copyColor {
	cursor: help;
}


.vertCenter {
	display: flex;
	justify-content: center;
	flex-direction: column;
}

.workThumbnail {
	display: block;
	transition: transform .3s var(--emo-out);
}

.workThumbnail:hover {
	transform: scale3d(1.06, 1.06, 1.06);
	z-index: 1000;
	position: relative;
}

.notransform {
	transform: none !important;
}

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

.workThumbnail .bg {
	opacity: 0;
	display: flex;
	justify-content: center;
	flex-direction: column;
	transition: all .5s var(--emo-out);
}

.workThumbnail:hover .bg {
	opacity: 1;
}

.workTitle {
	line-height: 48pt;
	opacity: 0;
	transition: all .3s var(--emo-in-out) !important;
	overflow: hidden;
}

.workThumbnail:hover .workTitle {
	line-height: 24pt;
	opacity: 1;
}

.workThumbnail img, .workThumbnail video {
	opacity: 1;
	/*border-radius: 4pt;*/
	filter: brightness(1);
	transition: all .5s cubic-bezier(0,0,.2,1) !important;
}

.workThumbnail:hover img, .workThumbnail:hover video {
	filter: brightness(.6);
	box-shadow: 0px 32px 64px rgba(0, 0, 0, .4);
}

.shadowHuge {
	box-shadow: 0px 32px 64px rgba(0, 0, 0, 0.2);
}


/* todo: don't mess with the max-height cause it screws
with images that are tall */

img, video {
	width: 100%;
	/*width: auto;*/
	height: auto;
	margin-top: 1rem;
	margin-bottom: 1rem;
	max-width: 100%;
	/*max-height: 80vh;*/
}

.videoResponsive {
	overflow: hidden;
	padding-bottom:56.25%;
	position: relative;
	height:0;
	/*pointer-events: none;*/
}

.videoResponsive iframe {
	left: 0;
	top: 0;
	height: 100%;
	width: 100%;
	position: absolute;
/*	width: 177.77777778vh;
	height: 56.25vw;*/
}

.max-height-4 {
	max-height: 40vh;
	width: auto;
}

.max-height-6 {
	max-height: 60vh;
	width: auto;
}

.max-height-8 {
	max-height: 80vh;
	width: auto;
}

.max-height-10 {
	max-height: 100vh;
}

.full {
	width: 100%;
	height: 100%;
}

.full-width {
	width: 100%;
}

.full-vh {
	height: 80vh;
}

.full-bg {
    min-width: 100%;
    min-height: 100%;
    width: auto!important;
    max-width: none!important;
    object-fit: cover;
    object-position: center;
    margin: 0;
    padding: 0;
    pointer-events: none;
    position: fixed;
}

.auto-width {
	width: auto !important;
}

.px8-percent {
	padding-left: 8%;
	padding-right: 8%;
}

.gutter {
	padding-left: 8%;
	padding-right: 8%;
}

.gutter-left {
	padding-left: 8%;
}

.gutter-right {
	padding-right: 8%;
}

wrapper, .wrapper {
	padding-left: 8%;
	padding-right: 8%;
	display: block;
	margin: 0 auto;
}

wrapper .section, wrapper section, .wrapper .section, .wrapper section {
	margin-left: -1rem;
	margin-right: -1rem;
	overflow: visible;
}

section, .section {
	padding-top: 2rem;
	padding-bottom: 2rem;
	overflow: hidden;
}

section:before, section:after, .section:before, .section:after {
	content:" ";
	display: table;
}

section:after, .section:after {
	clear: both;
}

.overflow-visible {
	overflow: visible;
}

.exclusion {
	mix-blend-mode: exclusion;
}

.menu {
	float: right;
}

ul.menu li {
	display: inline-block;
	text-transform: lowercase;
	padding-left: 1rem;
	padding-right: 1rem;
}

ul.menu li:first-child {
	padding-left: 0rem;
	padding-right: 1rem;
}

ul.menu li:last-child {
	padding-left: 1rem;
	padding-right: 0rem;
}

a {
	color: black;
	/*font-weight: bold;*/
	transition: background .3s cubic-bezier(0, 0,.2,1);
}

a:hover {
	background-color: #2723F2;
}

.col-1, .col-2, .col-3, .col-4, .col-5, .col-6, .col-7, .col-8, .col-9, .col-10, .col-11, .col-12 {
	float: left;
	box-sizing: border-box;
	padding-left: 1rem;
	padding-right: 1rem;
}

.pill {
	border-radius: 100px;
}

.max-width-5, wrapper, .wrapper, #page-header {
	max-width: 96rem
}

p {
	max-width:48rem
}

h4 + p {
	margin-top: -0.5rem;
}

.isometric {
	transform: rotateX(60deg) rotateY(0deg) rotateZ(-45deg);
}

/*
a:hover {
	transition: all .4s cubic-bezier(.4,0,.2,1);
	filter: invert(100%);
}
*/

/* NAV */
.subnav-container {
	overflow-y: hidden;
	min-width: 120pt;
	position: sticky;
	top: 120px;
	height: 100vh;
}

.comment {
	transition: all 1s cubic-bezier(.4,0,.2,1);
	max-height: 1000px;
}

.comment-collapsed {
	/*transform: scale( 1, 0 );*/
	opacity: 0;
	max-height: 0;
	overflow: hidden;;
	padding-top: 0px;
	padding-bottom: 0px;
	margin-top: 0px;
	margin-bottom: 0px;
}

.overflow-visible {
	overflow: visible;
}

#search-query {
	width: 100%;
}

#page-header .col-6 {
	padding: 0px !important;
}

#download-bar {
	left: 100px;
}

nav.nav-collapsed {
	transform: translateX(-5.5%) scale(0.9);
}

.download-bar-expanded {
	transform: translateX(340px) translateY(100%);
}

#assets-modal {
	background-color: rgba(0,0,0,0.6);
}

.pointer {
	cursor: pointer;
}

.pointer-events--auto {
	pointer-events: auto;
}

.pointer-events--none {
	pointer-events: none;
}

#download-progress {
	width: 100%;
	height: 2px;
	-ms-transform-origin: 0% 0%; /* IE 9 */
	-webkit-transform-origin: 0% 0%; /* Chrome, Safari, Opera */
	transform-origin: 0% 0%;
}

#page-content {
	left: 100px;
	min-height: 100%;
	box-shadow: 0px 0px 75px rgba(0,0,0,1);
}

.search-time-updated {
	margin-top: -8px;
}

#page-content.nav-expanded {
}

/* INPUTS */

input:focus,
select:focus,
textarea:focus,
button:focus {
	outline: none;
}

.grid { 
	background-size: 20px 20px;
	background-image: linear-gradient(to right, grey 1px, transparent 1px), linear-gradient(to bottom, grey 1px, transparent 1px);
}

.frame {
	border: solid black;
	border-width: 16px 16px 64px 16px;
	border-radius: 8px;
	box-shadow: 0px 64px 128px rgba(0, 0, 0, 0.6);
	background-color: black;
	/*margin-left: -16px;*/
	/*margin-top: -16px;*/
}

.selected {
	background-color: #222222;
}


.shadowSmall {
	box-shadow: 0px 4px 8px rgba(0, 0, 0, 0.1);
}

.shadow {
	box-shadow: 0px 8px 16px rgba(0, 0, 0, 0.1);
}

.shadowLarge {
	box-shadow: 0px 24px 48px rgba(0, 0, 0, 0.24);
}

.shadowHuge {
	box-shadow: 0px 64px 128px rgba(0, 0, 0, 0.4);
}

.phone {
	border: 16px solid;
	border-radius: 24px;
}

.height--1px {
	height: 1px;
}

.vertical-align-bottom {
	vertical-align: bottom;
}

@-webkit-keyframes pulse {
	0%   { opacity: 0.75; }
	50% { opacity: 0; }
	100% { opacity: 0.75; }
}
@-moz-keyframes pulse {
	0%   { opacity: 1; }
	50% { opacity: 0; }
	100% { opacity: 1; }
}
@-o-keyframes pulse {
	0%   { opacity: 1; }
	50% { opacity: 0; }
	100% { opacity: 1; }
}
@keyframes pulse {
	0%   { opacity: 1; }
	50% { opacity: 0; }
	100% { opacity: 1; }
}

#search-icon {
	margin-top: 3px;
	width: 44px; height: 44px;
}

#search-clear {
	cursor: pointer;
	margin-top: 5px;
}

.search-result:hover {
	background-color: #222222;
}

.search-result {
	border-top: 1px solid #222222;
}

.search-result:last-child {
	border-bottom: 1px solid #222222;
}

.search-update-icon {
	width: 16px; height: 16px;
	margin-top: 23px;
}


.nav-time {
	margin-top: 8px;
}

/* STICKY HEADERS */

#page-subnav li {
    padding-bottom: 12px;
}

#page-subnav li:last-of-type {
    padding-bottom: 0px;
}

#subnav {
  overflow-y: auto;

}

#subnav li {
  line-height: 1.5;
}

#delete {
	margin-top: 4px;
}

.asset-selector {
	padding: 0px !important;
}

.asset-3d-sprite {
	background-position: -14336px 0%;
	background-size: auto 128px;
	transform: rotate(325deg);
/*    animation: spritePlay 6s steps(128) infinite, spriteRotate 6s linear infinite;    */
}

.animation-freeze {
	animation: none !important;    
}

@keyframes spritePlay {
	/*100% { background-position: -16384px 0%; }*/
	100% { background-position: 100% 0%; }
}

@keyframes spriteRotate {
	100% { transform: rotate(360deg); }
}


.square {
	width: 100%;
}

.square:after {
	content: "";
	display: block;
	padding-bottom: 100%;
}


.spriteContainer {
	width: 128px;
	height: 128px;

	display: block;
	background-position: 0% 0%;
	background-size: auto 128px;
	animation: spritePlay 6s steps(127) infinite, spriteRotate 6s linear infinite;
}

.spriteContainerResponsive {
	width: 100%;
	padding-top: 100%;

	display: block;
	background-position: 0% 0%;
	background-size: 12800% 100%;
	animation: spritePlay 8s steps(127) infinite, spriteRotate 8s linear infinite;
}

.spriteTurn {
	animation: spritePlay 8s steps(127) infinite, spriteRotate 8s linear infinite; 
}

.spriteTurnSlow {
	animation: spritePlay 16s steps(127) infinite, spriteRotate 16s linear infinite;
}

.parallax {
	position: relative;
	padding: 0;
	margin:	0;
}

.parallax img {
	padding: 0;
	margin:	0;
	/*width: auto;*/
	height: 42vw;
	z-index: 1
	background-color: red;
}

.parallax .rellax {
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	z-index: 100
}

/* xs */
@media (max-width: 40em) {
	.subnav-container {
		position: relative;
		overflow-y: auto;
		top: 0;
		height: auto;
		border-top: 1px solid #ddd;
		border-bottom: 1px solid #ddd;
		padding-top: 3rem;
		padding-bottom: 3rem;
	}

	.subnav-container ul li {
		line-height: 2 !important;
	}

	.project-container {
		flex-direction: column;
	}

	#logo {
		display: none;
	}

	.menu {
		width: fit-content;
		float: none;
		margin: 0 auto;
	}

	.menu a {
		font-size: 1.5rem;
	}
}

/* sm */
@media (min-width: 40em) and (max-width: 52em) {
}

/* md */
@media (min-width: 52em) and (max-width: 64em) {
}

/* lg */
@media (min-width: 64em) and (max-width: 76em) {
}