/* RESET */
html, body, h1, h2, h3, h4, p, a, ul, li {
	margin: 0; padding: 0;
	-webkit-font-smoothing: antialiased;
	text-rendering: optimizeLegibility;
  font-style: normal;
  font-optical-sizing: auto;
	color: #111;
	margin-block-start: 0;
}

body {
	background: #fff;
}

::selection {
	background: rgba(0,0,0,0.075);
}


img {
	display: block;
	max-width: 100%;
	width: 100%;
	border-radius: 4px;
}
.gemini, .android, .fitbit, .discord {
	position: absolute;
	     opacity: 0;
	    z-index: 90000;
	    width: 45%;
}
.show {
	opacity: 1;
}

video {
	width: 100%;
clip-path: inset(1px 1px);
border-radius: 8px;
}
/* TV CONTAINER */
.tv-container {
  width: 100%;
  display: block;
  background-color: #f2f2f2;
  padding: 18vh 0;
}
.tv {
  border: 10px solid black;
  box-shadow: 10px 23px 40px 0 rgba(0,0,0,0.25);
	width: 76% !important;
	border-radius: 0 !important;
	margin: 0 auto;
	display: block;
}

html, body {
	width: 100%;
	height: 100%;
}

/* GRID SETUP */
.container, .grid-container {
	display: grid;
	margin: 0 2vw;
	grid-auto-flow: row;
}

.grid-container {
	grid-template-columns: repeat(12,1fr);
	grid-column-gap: 2vw;
}


/* GRID START */
.start-1 {
	grid-column-start: 1;
}
.start-2 {
	grid-column-start: 2;
}
.start-3 {
	grid-column-start: 3;
}
.start-4 {
	grid-column-start: 4;
}
.start-5 {
	grid-column-start: 5;
}
.start-6 {
	grid-column-start: 6;
}
.start-7 {
	grid-column-start: 7;
}
.start-8{
	grid-column-start: 8;
}
.start-9 {
	grid-column-start: 9;
}
.start-10 {
	grid-column-start: 10;
}
.start-11 {
	grid-column-start: 11;
}
.start-12 {
	grid-column-start: 12;
}


/* GRID START */
.span-1 {
	grid-column-end: span 1;
}
.span-2 {
	grid-column-end: span 2;
}
.span-3 {
	grid-column-end: span 3;
}
.span-4 {
	grid-column-end: span 4;
}
.span-5 {
	grid-column-end: span 5;
}
.span-6 {
	grid-column-end: span 6;
}
.span-7 {
	grid-column-end: span 7;
}
.span-8{
	grid-column-end: span 8;
}
.span-9 {
	grid-column-end: span 9;
}
.span-10 {
	grid-column-end: span 10;
}
.span-11 {
	grid-column-end: span 11;
}
.span-12 {
	grid-column-end: span 12;
}


/* MARGINS */
.margin-top-xs {
	margin-top: 1vw;
}
.margin-top-xxs {
	margin-top: 1vw;
}
.margin-top-sm {
	margin-top: 2vw;
}
.margin-bot-sm {
	padding-bottom: 2vw;
}
.margin-top-med {
	margin-top: 6vw;
}
.margin-top-mid {
	margin-top: 7vw;
}
.margin-top-lg {
	margin-top: 9vw;
}
.margin-bot-lg {
	padding-bottom: 9vw;
}
.margin-top-xl {
	margin-top: 20vw;
}
.margin-top-xxl {
	margin-top: 32vw;
}
.margin-bot-med {
	padding-bottom: 8vw;
}
.margin-top-h1 {
	margin-top: 7vw;
}

.margin-left-neg {
	margin-left: -0.4vw;
}
.margin-bot-xs {
	margin-bottom: 1vw;
}



/* TYPE */
h1, h2, h3, p, a, h4, .footnote, .email p {
  font-family: "Instrument Sans", sans-serif;
  font-optical-sizing: auto;
  font-weight: 300;
  font-style: normal;
  font-variation-settings:
    "wdth" 100;
}


a, .email p, .sam-target, .instrument-target {
	text-decoration: underline;
}

h3 a {
	border-bottom: none !important;
	text-decoration: none;
}
h3 a:hover {
	text-decoration: underline;
}
p {
	font-size: 11.5vw;
	line-height: 11.5vw;
  color: #EFEFEF;
  letter-spacing: .01vw;
}
h2 {
	font-size: 1vw;
	line-height: 1.4vw;
}
h3, a, .text-block h3 {
	font-size: 1vw;
	line-height: 1.4vw;
	color: #555;
}
h3:first-of-type {
	color: #111;
}

h4 {
	font-size: 6.5vw;
	line-height: 7vw;
  letter-spacing: -.1vw;
  font-variation-settings:
    "wdth" 100;
}


.nav a {
	margin-top: 0;
}
.display-inline {
	display: inline;
	cursor: default;
}

/* NAVIGATION */
.index {
	position: fixed;
	top: 2vw;
	text-align: left;
	width: 100%;
	z-index: 0;
}
.nav-item {
	padding-left: .5vw;
	opacity: 0;
}
.email {
	cursor: pointer;
}
.nav:hover .nav-item {
	opacity: 1;
}


/* MISC. STYLES */
.border-top {
	padding-top: 2vw;
	border-top: 1px solid #e8e8e8;
}
.project, .project img {
	cursor: pointer;
	transition: .2s cubic-bezier(0.175,0.885,0.32,1.1);
}
.project img:active, .project video:active {
	transform: scale(0.995);
}
.work-row span {
	display: inline-block;
}
.project h3 {
	opacity: 0;
	transform: translateY(-4px);
}
.work-row span, .popup {
	opacity: 0;
	transform: translateY(-4px);
}
.project:hover h3, .work-row:hover span, .pop, .menu {
	visibility: visible;
	opacity: 1;
	transform: translateY(0px);
	transition: .2s cubic-bezier(0.175,0.885,0.32,1.1);
}
a {
	transition: .2s cubic-bezier(0.175,0.885,0.32,1.1);
}
.project h2 {
	padding-top: 1vw;
}

.text-block h3, .text-block a, .project h3 {
color: #555;
}
.text-block h2 {
	width: 100%;
	font-size: 3vw;
	line-height: 3.5vw;
	letter-spacing: -0.1vw;
}
.text-block {
	padding: 4vw 0;
}





.portrait {
	width: 3.5vw;
	padding-bottom: 1vw;
}
.bio a, .text-block a {
/*	color: #111;*/
	border-bottom: 1px solid #ddd !important;
	display: inline-block;
	text-decoration: none;
}
.bio a:hover, .text-block a:hover {
	color: #111;
	border-bottom: 1px solid #111 !important;
	text-decoration: none;
}



/* MEDIA QUERY ADJACENT */
.desk-hide, .mob-intro {
	display: none;
}


.menu {
	width: 1.75vw;
  position: fixed;
  right: 2vw;
  top: 2vw;
  z-index: 5000;
}
.back {
	width: 1.75vw;
  position: fixed;
  left: 2vw;
  top: 2vw;
  z-index: 5000;
}
.border {
	border-top: 1px solid #ddd;
	padding-top: 1vw;
}
.work-row {
	border-top: 1px solid #ddd;
	padding: 0.65vw 0; 
}
.work-row:first-of-type {
	border-top: none;
	padding-top: 0;
}
.work-row:last-of-type {
	padding-bottom: 0;
}
.work-row {
	color: #555 !important;
}
.work-row:hover {
	color: #111 !important;
}
.footer h3 {
	color: #555 !important;
}
.menu, .back {
	backdrop-filter: blur(0px);
	cursor: pointer;
	border-radius: 6px;
}
.menu:active, .back:active {
	transform: scale(0.95);
}
.menu:hover, .back:hover {
	background: rgba(0,0,0,0.1);
		backdrop-filter: blur(100px);
}
.popup {
	visibility: hidden;
	position: fixed;
	background: rgba(255,255,255,0.8);
	backdrop-filter: blur(100px);
	z-index: 500;
	right: 2vw;
	top: 4vw;
	border-radius: 6px;
	box-sizing: border-box;
	box-shadow: 0 4px 12px rgba(0,0,0,.1);
	overflow: hidden;
	transition: .2s cubic-bezier(0.175,0.885,0.32,1.1);
}
.popup a {
	color: #111;
	padding: .8vw 4vw .8vw 1vw;
	display: block;
	border-bottom: none;
	text-decoration: none;
}
.popup a:hover {
	background: rgba(0,0,0,0.025);
}
.pop {
	visibility: visible;
	opacity: 1;
	transform: translateY(0px);
	transition: .2s cubic-bezier(0.175,0.885,0.32,1.1);
}
.hide {
	opacity: 0;
	transition: .2s cubic-bezier(0.175,0.885,0.32,1.1);
}

/* KEYFRAMES */

@keyframes fadein {
    from {
        opacity:0;
    }
    to {
        opacity:1;
    }
}
@-moz-keyframes fadein { /* Firefox */
    from {
        opacity:0;
    }
    to {
        opacity:1;
    }
}
@-webkit-keyframes fadein { /* Safari and Chrome */
    from {
        opacity:0;
    }
    to {
        opacity:1;
    }
}
@-o-keyframes fadein { /* Opera */
    from {
        opacity:0;
    }
    to {
        opacity: 1;
    }
}



.grid-item {
	opacity: 0;
/*	transition: .6s cubic-bezier(0.9, 1, 0.22, 1);*/

	
  &.fade-in {
    animation: fade-in .8s forwards;
	  animation-duration: 600ms;
	  animation-delay: calc(var(--animation-order) * 75ms);
	  animation-fill-mode: both;
  }
}

@keyframes fade-in {
  0% {
    opacity: 0;
    transform: translateY(-8px);
  }
  100% {
    opacity: 1;
  }
}

/*@keyframes animateIn {
  0% {
    opacity: 0;
    transform: translateY(-8px);
  }

  100% {
    opacity: 1;
  }
}*/

@media (min-width: 1800px) {
	h3, h2, a, .text-block h3 {
		font-size: .725vw;
		line-height: .9vw;
	}
}

@media (max-width: 760px) {

	.back, .menu {
		width: 7vw;
		top: 6vw;
	}
	.back {
		left: 6vw;
	}
	.menu {
		right: 6vw;
	}

	.grid-item {
		opacity: 1;
	}

	.desk-hide {
		display: inline;
	}
	
	html, body {
		overflow-x: hidden;
	}
	
	a:hover, a, h3 a {
		text-decoration: underline;
	}
	
	.text-block h2 {
		width: 100%;
		font-size: 6vw;
		line-height: 7.5vw;
	}

  .grid-container { 
		grid-template-columns: repeat(1, 1fr); 
		display: block;
		margin-right: 6vw;
		margin-left: 6vw;
	}
	p, .desk-hide {
    font-size: 7vw;
    line-height: 8vw;
	}
	p {
		width: 93%;
	}
	.mob-xs {
		margin-top: 4vw;
	}
	h3, a, .text-block h3, h2 {
		font-size: 4.5vw;
		line-height:6vw;
    font-size: 3.5vw;
    line-height: 4.75vw;
	}
	h1 {
    font-size: 15vw;
    line-height: 16.15vw;
	}
	h4 {
    font-size: 12vw;
    line-height: 13vw;
	}
	.margin-top-xs, .main-container {
		margin-top: 6vw;
	}
	.margin-top-sm {
	    margin-top: 6vw;
	}
	.margin-top-med {
		margin-top: 20vw;
	}
	.margin-top-lg, .mob-xl {
		margin-top: 32vw;
	}
	.mob-sm {
		margin-top: 20vw;
	}
	.padding-top-sm, .border-top {
		padding-top: 6vw;
	}
	.margin-bot-med {
		padding-bottom: 20vw;
	}
	.margin-top-xxl, .margin-top-intro {
		margin-top: 72vw;
	}
	.margin-left-neg {
		margin-left: 0;
	}
	.margin-bot-sm {
		padding-bottom: 6vw;
	}
	.mob-intro {
		display: block;
	}
	.project h3 {
		opacity: 1;
		margin-top: 2vw;
	}
	.border-top  {
	  display: flex;
	  flex-direction: row;
	  flex-wrap: wrap;
	  width: -webkit-fill-available;
		vertical-align: top;
		margin-bottom: 20vw;
	}
	.border-top .grid-item {
	  display: flex;
	  flex-direction: column;
	  flex-basis: 100%;
	  flex: 1;
		vertical-align: top;
		margin-top: 0;
	}
	.mob-pad .grid-item:last-of-type {
		margin-top: 6vw;
	}
	.mob-hide, .index {
		display: none !important;
	}
	body {
		background: white;
	}
	
	h4 {
		margin-top: 20vw;
	}
	.portrait {
		width: 9vw;
		padding-bottom: 6vw;
	}
	.work-row span, .work img {
		display: none;
	}
	.work-row {
	    padding: 2vw 0;
	}
	.work .grid-item:last-of-type {
		margin-top: 6vw;
	}
	.projects .grid-item:first-of-type {
		margin-bottom: 6vw;
	}
	.project h3 {
		transform: translateY(0);
	}
	.project h2 {
		padding-top: 3vw;
	}
	.footer h3 {
		text-align: left !important;
	}
	.footer h3:first-of-type {
		padding-top: 3vw;
	}
	.menu, .back {
/*		background: rgba(0, 0, 0, 0.1);*/
		    backdrop-filter: blur(100px);
	}
	.popup {
		position: fixed;
		    background: rgba(255, 255, 255, 0.8);
		    backdrop-filter: blur(100px);
		    z-index: 500;
		    right: 6vw;
		    top: 14vw;
		    border-radius: 4px;
		    box-sizing: border-box;
		    box-shadow: 0 4px 20px rgba(0,0,0,.075);
		    overflow: hidden;
	}
	.popup a {
		padding: 3vw 20vw 3vw 3vw;
	}
	.popup a:hover {
		text-decoration: none;
	}
	.text-block {
		padding: 0;
	}
}















