html, body {
	font-family: 'machina-regular', sans-serif;	
	color: #000;
    margin: 0px;
    padding: 0px;
    overflow-x: hidden;
	/*overflow-y: scroll;  has to be scroll, not auto 
    -webkit-overflow-scrolling: touch;*/
}

model-viewer {
  width: 100%;
  height: 90%;
  background-color: #ffffff;
  position: fixed;
  z-index:-1;
}

model-viewer::part(default-progress-bar) {
	background-color: #D9FF89;
}


::-moz-selection {
    color: transparent;
    text-shadow: 0 0 .1em #000;
    background: transparent
}

::selection {
    color: transparent;
    text-shadow: 0 0 .1em #000;
    background: transparent
}

a {
	color: black;
}

a:visited  {
	color: black;
}

.chunk {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  justify-content: normal;
  align-items: flex-start;
  align-content: normal;
  padding: 4rem;
  position: relative;
}

.white:before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width:100%;
	height:100%;
	z-index: -1;
	background-color: rgba(255,255,255,0);
	-webkit-backdrop-filter: blur(40px) contrast(120%);
	backdrop-filter: blur(40px) contrast(120%);
}

.white > * {
    z-index: 100;
}

.row {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  width: 100%;
}

.column {
	display: block;
	flex-direction: column;
	flex: 1;
}

.vert {
	flex-direction: column !important;
}

.single {
	flex-basis: 33%;
	padding-right: 3rem;
}

.double {
	flex-basis: 66%;
}

.border {
	border-bottom: 2px solid black;
}

.hello {
	background-color: #D9FF89;
	border-radius: 120px;
	border: 1.5px solid black;
	position: fixed;
	display: flex;
  align-items:center;
	right: 4rem;
	top: 2.8rem;
	padding: 1rem 1.3rem;
	text-decoration: none;
	z-index: 1000;
	transition: all .2s;
	text-transform: uppercase;
	font-family: 'machina-ultrabold', sans-serif;
}

.hello:hover {
	background-color: black;
	color: white;
}

.hello:hover img {
	filter: invert(100%);
}

.hello img {
	height: 1rem;
	width: auto;
	transition: all .2s;
}

.hello p {
	margin: .2rem .4rem 0 0;
}

.bigbox {
	float: left;
	padding: 2rem;
	margin: -1px;
	border: 2px solid black;
	display: inline-block;
	font-size: 3rem;
	transition: all .4s;
	transition-timing-function: ease-in-out;
	background:white;
}

a.bigbox  {
	color: black;
	text-decoration: none;
}

a:visited.bigbox  {
	color: black;
}

.bigbox:hover {
	border-radius: 120px;
	background-color: #D9FF89;
}



.bigbox p {
	margin: 0 0 -.5rem 0;
}

.smallbox {
	float: left;
	padding: .5rem;
	margin: -.5px;
	border: 1px solid black;
	display: inline-block;
	font-size: 1rem;
	background: white;
}

.smallbox p {
	margin: 1px 3px -2px 3px;
}

/*.gradient {

	background: linear-gradient(-90deg, #ffffff, #D9FF89, #ffffff, #D9FF89);
	background-size: 400% 400%;
	animation: gradient 15s ease infinite;
	mix-blend-mode: multiply;

}*/

body {
	
}

@keyframes gradient {
	0% {
		background-position: 0% 50%;
	}
	50% {
		background-position: 100% 50%;
	}
	100% {
		background-position: 0% 50%;
	}
}





h2 {
	font-family: 'machina-ultrabold', sans-serif;
	text-transform: uppercase;
	margin: 0 0 2rem;
}

h2.left {
	margin: 0;
}

.intro h1 {
	font-size: 5rem;
	font-weight: 300;
	line-height: 5.5rem;
}

.social {
	list-style-type: none;
	margin: 0;
	padding: 0;
}

ul.social li {
	margin-bottom: .8rem;
}

a {
	
   color: black;
   position: relative;
   padding-bottom: 2px;
}

/*a {
  float: left;
  position: relative;
  margin: 15px;
  padding-top: 5px;
  padding-bottom: 5px;
  text-decoration: none;
  text-transform: uppercase;
  color: #3C3CCE;
}*/

a:after {
  content: '';
  display: block;
  position: absolute;
  bottom: 0;
  left: 0;
  height: 1px;
  width: 0;
  background: transparent;
}

.link {
	text-decoration: none;
}

.link:after {
  transition: width .25s ease, background-color .25s ease, left .25s ease;
}

.link:hover:after {
  width: 100%;
  left: 0;
  background: black;
}

.title { display:flex; margin-bottom: 6rem;}

.title hr {
  flex-grow:1;
  margin-left: 14px;
  margin-right: 14px;
  padding: 0 70px;
  border-bottom: none;
  border-right: none;
  border-left: none;
  border-top: 1px solid black;
}

.title .left {
	float: left;
}

.title .right {
	float:  right;
}

.bio {
  line-height: 2.2rem;
  font-size: 1.5rem;
}

.container {
	color: #000;
	background-color: #D9FF89;

	height: 16vw;
	line-height: 18vw;
   overflow: hidden;
   white-space: nowrap;

   font-size: 14vw;
   font-family: 'machina-ultrabold', sans-serif;
	text-transform: uppercase;

	transition: all .3s;
}

.container:hover {
	color: #fff;
	background-color: #000;
}

.container:hover img {
	filter: invert(100%);
}

.scrolling {
  animation: marquee 64s linear infinite;
  display: inline-block;
  padding-right: 10vh;
  vertical-align: middle;
}

.scrolling img {
	height: 10vw;
	transition: all .3s;
}

@keyframes marquee {
  from {
    transform: translateX(0);
  }
  to { 
    transform: translateX(-800%);
  }
}

canvas {
	position: fixed;
	top: 0;
	left: 25%;
	z-index: -1;
	pointer-events: none;
}

.logo {
	position: fixed;
	right: 2rem;
	top: 2rem;
	z-index: 6;
	pointer-events: none;
}

.logo img {
	max-width: 14rem;
	height: auto;
	-webkit-animation: swivel 5s infinite linear;
	animation: swivel 5s infinite linear;
}

#wrapper {
	margin: 4rem auto 0 auto;
	text-align: center;
	padding: 0 8rem;
	position: relative;
	z-index: 1;
	max-width: 1600px;
}

.clear {
	clear: both;
}

.object {
	position: relative;
	text-align: center;
	margin: margin: 0 2rem 2rem 0;
	cursor: pointer;
	height: 200px;
	border: 1px solid #fff;
	border-radius: 0;
	transition: all .3s;
}

.anchor {
	display: block;
    position: relative;
    top: -100px;
    visibility: hidden;
}

.object img {
    width: 90%;
    height: auto;
    transition: all .2s;
    max-width: 560px;
}

.object.small img {
	width: 60%;
}

#phrase {
	font-size: 2rem;
	line-height: 2.5rem;
}

.info {
   position: absolute;
   width: 100%;
   z-index: 10;
   margin: 0;
   padding: 0;
   top: 50%;
   transform: translateY(-50%);
   font-family: 'lausanne', serif;
   font-size: 2rem;
   /*-webkit-animation: rotation 4s infinite linear;*/
   transition: all .2s;
	-webkit-transition: all .2s;
	-moz-transition: all .2s;
}

.info p {
	margin-left: -100%;
	margin-right: -100%;
	text-align: center;
	pointer-events: none;
}

.info .under {
	font-size: 2.5rem;
	font-weight: bold;
}

a.launch .under {
	font-size: 1.5rem;
}

a.launch .under:after {
	background: #ccf0e4;
}

a.launch:hover .under:after {
	width: 100%;
}

.object:hover .info .under:after {
	width: 100%;
}

#demo-group {
	position: absolute;
	top: 0;
	right: 0;
	z-index: 1000;
	background-color: #ccf0e4;
	width: 4rem;
	opacity: 1;
	text-align: center;
	display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    height: 100%;
    -webkit-box-align: center;
       -ms-flex-align: center;
          align-items: center;
    -webkit-box-pack: center;
       -ms-flex-pack: center;
     justify-content: center;
}

#demo-group:hover {
	background-color: #e1f6ef;
}

#demo-group img {
	width: 2rem;
	height: 2rem;
	-webkit-transition: all .2s;
	transition: all .2s;
}

#demo-group:hover img {
	transform: rotate(90deg);
	-webkit-transform: rotate(90deg);
}

a#demo-group {
	font-weight: 500;
	font-size: 1.5rem;
	text-decoration: none;
	text-transform: uppercase;
	transition: all .2s;
	-webkit-transition: all .2s;
	-moz-transition: all .2s;
}

a:hover#demo-group {
	border-bottom: 2px solid #ff2efd;
	text-decoration: none;
	transition: all .2s;
	-webkit-transition: all .2s;
	-moz-transition: all .2s;	
}

img.fade-in {
	display: inline-block;
	max-height: 2rem;
	width: auto;
	vertical-align: middle;
	margin-bottom: 4px;
}

#footer {
	background-color: #e6c2e1;
	position: relative;
	margin-top: -16rem;
}

.clients {
	color: #fff;
	margin: -14rem auto 0 0;
	text-align: center;
	width: 100%;
	display: inline-block;
	padding: 4rem 0;
}

.clients h1 {
	margin: 0 0 2rem 0;
	padding: 0;
	font-size: 3rem;
	font-family: 'machina-ultrabold', serif;
	letter-spacing: .1rem;
}

.clients ul {
    width: 30%;
	/* float: left; */
	/* text-align: center; */
	list-style-type: none;
	/* padding: 0 10%; */
	margin: 0 auto;
	padding: 0;
	display: inline-block;
}

.clients li {
	line-height: 2rem;
}

.invisible {
	opacity: 0 !important;
	cursor: default;
}

/**********LIGHTBOX************/

.img-list {
	text-align: center;
	background: #fff;
	margin: 4rem auto 0 auto;
	padding: 0 0 0 0;
	border-top: 2px solid #000;
}

.img-list img {
	max-width: 1400px;
	margin: 4rem auto;
	display: block;
	padding: 2rem;
	width: 100%;
}

.img-list img:first-child, .img-list iframe:first-child  {
	padding-top: 6rem;
	margin-top: 0;
}

.img-list img:last-child, .img-list iframe:last-child {
	padding-bottom: 6rem;
	margin-bottom: 0;
}

.img-list iframe {
	margin: 2rem auto;
}

.img-list img.flushtop {
	margin-top: 0 !important;; 
	padding-top: 0 !important;
}

.img-list img.flushbottom {
	margin-bottom: 0 !important;;
	padding-bottom: 0 !important;
}

.img-list img.full {
	width: 100%;
	max-width: 1024px;
	padding-right: 0;
	padding-left: 0;
}

.img-list img.lrg {
	width: 100%;
	max-width: 960px;
}

.img-list img.sml {
	max-width: 30%;
}

.img-list img.med {
	max-width: 50%;
}

.img-list img.lineup {
	display: inline-block;
	max-width: 20%;
	margin: 1rem;
}

.img-list img.half {
	display: inline-block;
	float: left;
	width:50%;
	margin: 0;
	padding: 0 !important;
}

.iframe-content {
	overflow-y: scroll; /* has to be scroll, not auto */
    -webkit-overflow-scrolling: touch;
	padding: 2rem 0 0 0;
	/*background: linear-gradient(to top, #f7fbfa 50%, #e6c2e1 50%);
	background-size: 30rem;
	background-repeat: repeat-x;*/
}

.iframe-content h2 {
	margin: 4rem auto 0 auto;
	text-align: left;
	width: 60%;
	padding-top: 20px;
	font-size: 3rem;
	font-family: 'machina-regular', serif;
	max-width: 800px;
	text-transform: none;
}

.iframe-content h1 {
	text-align: center;
}

.iframe-content p {
	text-align: left;
	width: 60%;
	margin: 2rem auto;
	line-height: 1.6;
	max-width: 800px;
	position: relative;
	z-index: 1;
}

.bumper {
	height: 6rem;
	clear: both;
}

.padder {
	max-width: 1024px;
	padding: 6rem 2rem;
	position: relative;
	height: 100%;
	margin: 0 auto;
	display: table;
}

#proj-header{
	text-align: center;
	padding: 1.5rem;
	background-color: rgba(255,255,255,.4);
	-webkit-backdrop-filter: blur(40px) contrast(120%);
	backdrop-filter: blur(40px) contrast(120%);
	position: fixed;
	-webkit-transition: all .2s;
	transition: all .2s;
	width: 100%;
	z-index: 5;
	border-bottom: 2px solid black;
}

#proj-header a {
	color: #000;	
}

#proj-header a:visited {
	color: #000 !important;	
}

#proj-header:hover {
	background: #D9FF89;
}

/************/


h2.rotate {
	margin: 0;
	padding: 0;
	display: inline;
	font-size: 2rem;
	transform: translateY(-50%) translateX(-50%);	
	color: #fff;
	text-shadow: 0 0 15px rgba(0, 0, 0, .2);
}

@-webkit-keyframes rotation {
	from {
			-webkit-transform: rotate(0deg);
	}
	to {
			-webkit-transform: rotate(359deg);
	}
}

@keyframes rotation {
	from {
			transform: rotate(0deg);
	}
	to {
			transform: rotate(359deg);
	}
}	

@-webkit-keyframes swivel {
	from {
			-webkit-transform: rotateX(0deg) rotateZ(0deg);
	}
	to {
			-webkit-transform: rotateX(359deg) rotateZ(359deg);
	}
}

@keyframes swivel {
	from {
			transform: rotateX(0deg) rotateZ(0deg);
	}
	to {
			transform: rotateX(359deg) rotateZ(359deg);
	}
}	

#latest {
	margin-top: 2rem;
	color: #d094c8;
}

/*.marquee {
	display: block;
	left: 0;
	position: absolute;
	top: 0;
}*/

.marquee {
  display: block;
  left: 0;
  position: absolute;
  top: 0;
}

svg {
  display: block;
}
.logo {
  fill: #fff;
}

img.sad {
	width: 80px;
	height: 80px;
}

@media screen and (max-width: 480px){
	html{
    	font-size: 10px;
  	}

  	.padder {

  		padding: 4rem 2rem;
  	}

  	.img-list img.half {
	width:100%;
}

	.logo {
		display: none;
	}

	#wrapper {
		padding: 0 !important;
	}

	.hello {
		top: 1.3rem !important;
	}

	.title {
		flex-direction: column;
		margin-bottom: 4rem;
	}

	.title .left {
		margin-bottom: 0.3rem;
	}

	.title hr {
  		display:none;
  	}

	.object {
		margin: 0 1rem 8rem 1rem;
	}

	.object.quote {
		  margin: 0 1rem 8rem 1rem !important;
	}

	.introcopy {
		width: 100%;
	}

	.introcopy h3 {
		font-size: 1.5rem;
  		line-height: 2rem;
	}

	.intro h1 {
		max-width: 100%;
		font-size: 3rem;
	    font-weight: 300;
	    line-height: 3.5rem;
	}

	.scrolldown {
		bottom: -3rem;
	}

	.info {
		  opacity: 1;
	}

	.object .info .under:after {
		width: 100%;
	}

	.iframe-content h2 {
		width: 80%;
	}

	.iframe-content p {
		width: 80%;
	}

	.img-list img.lrg {
	  width: 100%;
	}

	.img-list img {
		  margin: 0 auto;
	}

	.img-list img.sml {
	  max-width: 70%;
	}

	.img-list img:first-child, .img-list iframe:first-child  {
	padding-top: 4rem;
	margin-top: 0;
}

.img-list img:last-child, .img-list iframe:last-child {
	padding-bottom: 4rem;
	margin-bottom: 0;
}

	#about {
		width: 50%;
	}

	.info .under {
		  font-size: 2rem;
	}


	#intro {
		height: 80vh;
	}

	.clients {
		margin: -10rem auto 0 0;
	}

	.clients ul {
	  width: 100%;
	}

	p.signoff {
		font-size: 1rem;
	}
}

@media screen and (max-width: 800px){

	html{
    	font-size: 14px;
  	}

  	.hello {
  		right: 2rem;
		top: 1rem;
  	}

  	.vp-center {

  		height:auto !important;
  	}

  	.title hr {
  		    margin-left: 7px;
    margin-right: 7px;
    padding: 0 10px;
  	}

	#wrapper {
		padding: 0 4rem;
	}

	.chunk {
		padding: 2rem;
	}

	.single {
		padding-right: 0;
		
	}

	.column {
		padding-bottom: 2rem;

	}

	.bigbox {
		font-size: 2rem;
	    white-space: nowrap;
	    padding: 1rem 1rem 1.2rem 1rem;
	}

	.column:last-child {
		padding-bottom: 0;

	}

	.clients ul {
		display: block;
	}

	.img-list img.lineup {
		display: block;
		margin: 2rem auto;
		max-width: 80%;
	}

	.img-list img.med {
		max-width: 100%;
	}

	.img-list iframe {
		width: 100% !important;
	}

	.iframe-content h2 {
		width: auto;
		margin: 4rem 2rem 2rem 2rem;
	}

	.iframe-content p {
		width: auto;
		margin: 1rem 2rem;
	}

	.iframe-content p:last-child {
		width: auto;
		margin: 1rem 2rem 0 2rem;
	}

	.object.quote {
		margin: 0 0 12rem 0;
	}

	.intro h1 {
		max-width: 80%;
	}

	.chunk {
  		flex-direction: column !important;
  	}

}



@media screen and (min-width: 801px){
	html{
    	font-size: 16px;
  	}

	#grid[data-columns]::before {
		content: '2 .column.size-1of2';

	}

	.object {
		margin: 0 2rem 2rem 0;
	}

	#wrapper {
		padding: 0 4rem;
	}

	.intro h1 {
		max-width: 70%;
	}
}

@media screen and (min-width: 1024px){
	#wrapper {
	padding: 0 8rem;
	}

	.object {
		margin: 0 2rem 2rem 0;
	}
}

@media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {
     
	#byefelicia {
		display: inherit !important;
	}

}

@font-face {
	font-family: 'machina-light';
	src: url('../fonts/PPNeueMachina-Light.woff2') format('woff2'),
	     url('../fonts/PPNeueMachina-Light.woff') format('woff');
	font-weight: 300;
	font-style: normal;
}

@font-face {
	font-family: 'machina-regular';
	src: url('../fonts/PPNeueMachina-Regular.woff2') format('woff2'),
	     url('../fonts/PPNeueMachina-Regular.woff') format('woff');
	font-weight: 375;
	font-style: normal;
}

@font-face {
   font-family: 'machina-ultrabold';
	src: url('../fonts/PPNeueMachina-Ultrabold.woff2') format('woff2'),
	     url('../fonts/PPNeueMachina-Ultrabold.woff') format('woff');
   font-weight: 740;
   font-style: normal;
}