@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@900&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Outfit:wght@100..900&display=swap');
html, body {
  height: 100%;
  overflow-x: hidden;
  width: 100%;
  margin: 0;
}
main {
  background: #011122;
  position: relative;
  padding: 0 0 10%;
}
.wrapper {
	width: 90vw;
	margin: auto;
}
.narrow {
	max-width: 750px;
	margin: auto;
}
video#loop {
  object-fit: cover;
  width: 100vw;
  height: 100vh;
  position: fixed;
  top: 0;
  left: 0;
  max-width: revert;
}
video#loop2 {
  object-fit: cover;
  width: 100vw;
  height: 15vh;
  position: fixed;
  top: 0;
  left: 0;
  max-width: revert;
}
header {
  position: relative;
  height: 100%;
  width: 100%;
  margin: 0;
}
header.page {
  position: relative;
  height: 15%;
  width: 100%;
  margin: 0;
}
img.viewport-header  {
	position: relative;
	top: 1rem;
	left: 5vw;
	width: 90vw;
	filter: drop-shadow(1px 1px 6px rgb(0 0 0 / .1));
}
#more {
	display: block;
	position: relative;
	top: -70px;
	width: 40px;
	padding: 10px;
	margin: auto;
	filter: drop-shadow(1px 1px 6px rgb(0 0 0 / .1));
}
body {
	font-family: "Outfit", sans-serif;
	font-optical-sizing: auto;
	font-weight: 200;
	font-style: normal;
	font-size: 100%;
	background: #011122;
	color: #E8E7E3;
}
h1, h2, h3, h4 {
	  font-family: "Outfit", sans-serif;
	  font-weight: 450;
	  font-style: normal;
	  text-transform: uppercase;
	  letter-spacing: 1px;
}
b, strong {
	font-weight: 450;
}
h1 { 
	font-size: 3.8rem; 
	margin: 3rem 0 1rem 0;
	line-height: 4.56rem;
}
h2 { 
	font-size: 3.1rem; 
	margin: 3rem 0 1rem 0;
	line-height: 3.72rem;
}
h3 { 
	font-size: 2.5rem; 
	margin: 3rem 0 1rem 0;
	line-height: 3rem;
}
h4 { 
	font-size: 2rem; 
	margin: 3rem 0 1rem 0;
	line-height: 2.4rem;
}
p, b, pre, .quote  { 
	font-size: 1.25rem; 
	margin: 0 0 1.5rem 0;
	line-height: 1.75rem;
}
p.list {
	margin: 0 0 0 0;
}
ol, ul {
	margin: 0 0 1rem 0;
	padding: 0 0 0 2rem;
}
li {
	font-size: 1.25rem; 
	line-height: 1.5rem;
}
caption { 
	font-size: .9rem; 
}
.quote {
	margin: 1rem 2rem;
	background: #FFE419;
	padding: 2rem;
	border-radius: 1rem;
	font-size: 1.5rem;
	line-height: 1.8rem;
}
blockquote {
	color: #011122;
}
blockquote {
	margin: 0;
}
figure.quote figcaption {
	text-align: right;
	color: #011122;
}
figure.photo figcaption {
	margin: .5rem 0 1rem 1rem;
}
a {
	color: #19ECFF;
	text-decoration-color: #F52DBC;
	text-decoration-thickness: 0.075em;
	text-underline-offset: 1px;
	text-decoration-style: solid;
}
a:visited {
	color: #FFE419;
}
section {
	margin: 5rem 0 5rem 0;
	/*width: 85vw;*/
	/*margin: auto;*/
}
img {
	height: auto;
	width: 100%;
}
img.photo {
  margin-bottom: 1.5rem;
}
.photo,
.video-container,
.card,
pre {
	border-radius: 1rem;
}
#colors1 {
	position: absolute;
	top: 0;
	right: 0px;
	display: grid;
	width: 400px;
	height: 50px;
	grid-template-columns: 1fr 1fr 1fr;
	grid-template-areas:
	"y c m";
}
.y {
	grid-area: y;
	background-color: #FFE419;
}
.c {
	grid-area: c;
	background-color: #19ECFF;
}
.m {
	grid-area: m;
	background-color: #F52DBC;
	color: #edf2f4;
}
.projects {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(340px, 1fr)); 
	gap: 2rem;
	margin-top: 1.5rem;
}
.card {
	color: #011122;
	background: #e8e7e3;
	padding: 1rem;
	min-height: 255px;	
}
.card p, .card b {
	margin: 0;
	font-size: 1.15rem;
    line-height: 1.5rem;
}
.card img {
	border-radius: .6rem;
}
.projects a {
	text-decoration: none;
}
/* IMAGE AND VIDEO STYLES */
.media-container {
	position: relative;
}
.fullscreen-button {
	z-index: 1;
	position: absolute;
	top: 10px;
	left: 10px;
}
button {
	display: flex;
	align-items: center;
	padding: .5rem 1rem;
	margin: 0;
	text-decoration: none;
	background: transparent;
	color: #ffffff;
	font-family: "Outfit", sans-serif;
	text-transform: uppercase;
	font-size: 1rem;
	cursor: pointer;
	text-align: center;
	opacity: 70%;
	transition: opacity 250ms ease-in-out, 
				transform 150ms ease;
	-webkit-appearance: none;
	-moz-appearance: none;
	border: 2px solid;
	border-radius: .5rem;
}
button:hover,
button:focus {
	opacity: 100%;
}
button:focus {
	outline: 1px solid #fff;
	outline-offset: -4px;
}
button:active {
	transform: scale(0.99);
}
button img {
	width: 25px;
	height: auto;
	margin-right: 5px;
}
.video-container,
.sc-video-container {
	position: relative;
	padding-bottom: 56.25%;
	height: 0;
	overflow: hidden;
	margin-bottom: 2rem;
}
.video-container iframe,
.video-container object,
.video-container embed,
.video-container video {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}
.sc-video-container iframe,
.sc-video-container object,
.sc-video-container embed,
.sc-video-container video {
	position: absolute;
	top: 5%;
	left: 5%;
	width: 90%;
	height: 90%;
}
.sd {
	padding-bottom: 75%;
}

.sq {
	padding-bottom: 100%;
}

.vt {
	padding-bottom: 178%;
}
p.after-video {
	margin-top: -.75rem;
}
section.after-video {
	/*margin-top: -3rem;*/
}
div.after-video {
	/*margin-top: -2.5rem;*/
}
/* END OF IMAGE AND VIDEO STYLES */


/* LAYOUT ADJUSTMENTS */
@media only screen and (min-width: 700px) {
	img.viewport-header {
		top: 1.5rem;
		left: 1.5rem;
		max-width: 700px;
	}
	.wrapper {
		max-width: 1200px;
	}
	#more {
		top: -80px;
		width: 70px;
	}

}
/* END OF LAYOUT ADJUSTMENTS */

/* DARK MODE */
@media (prefers-color-scheme: dark) {

}
/* END OF DARK MODE */