/* GENERIC ERIC MEYER 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,
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 {
	margin: 0;
	padding: 0;
	border: 0;
	font-size: 100%;
	font: inherit;
	vertical-align: baseline;
}
/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
	display: block;
}
/* body {
	line-height: 1;
} */
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;
}


/* CUSTOM CSS */

:root {
  --nav-height: 60px;
  --color-midnight-blue: #080018;
  --color-starlight-white: #f5f0ff;
  --color-dark-violet: #241a38;
  --color-accent: #ffc72d;
}

body {
  display: flex;
  flex-direction: column;
  align-items: center;
  font-family: 'Montserrat', sans-serif;
  font-weight: 300;
  line-height: 1.6;
  font-size: 16px;
  background: var(--color-midnight-blue);
  color: var(--color-starlight-white);
  overflow-x: hidden;
  margin-top: var(--nav-height);
	/* width: 100%; */
	/* height: 100%; */
}

::selection {
  background: var(--color-accent);
	color: var(--color-dark-violet);
}

a {
  color: var(--color-accent);
  font-weight: 500;
  transition: color 80ms ease-in-out;
  text-decoration: none;
  border-bottom: 1px solid var(--color-accent);
}

/* HOVER EFFECT THAT DOES THE WAVY ANIMATION LIKE THEOUTLINE */
a:hover {
  /* color: var(--color-starlight-white); */
  text-decoration: none;
  border-bottom: none;
  background-image: url('underline.svg');
  background-position: 0 calc(100% - 1.5px);
  background-size: auto 3px;
  background-repeat: repeat-x;
  padding-bottom: 3px;
  cursor: pointer;
	margin-bottom: 2.5px;
}

/* HOVER EFFECT THAT DOES MAKES THE TEXT A GRADIENT MASK LIKE CSSTRICKS */
/* a:hover{
background: linear-gradient(to right,#ff8a00,#da1b60);
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
-webkit-box-decoration-break: clone;
box-decoration-break: clone;
text-shadow: none;
} */

a::selection {
  color: var(--color-starlight-white);
}

h1,h2,h3 {
  font-family: 'Patua One', 'Montserrat', sans-serif;
  letter-spacing: .05em;
  line-height: 1.4;
	color: white;
}

h1 {
  font-size: 36px;
}

h2 {
  font-size: 26px;
}

code {
  font-family: 'Roboto Mono', monospace;
  padding: 2px 8px;
  margin: 0 4px;
  color: var(--color-starlight-white);
  background: #2f224a;
  font-size: 15px;
  border-radius: 3px;
}

section {
  width: 100%;
  max-width: 680px;
  padding: 50px 40px 0;
	margin-bottom: 100px;
}

input, textarea {
	font-family: 'Montserrat', sans-serif;
	font-size: 16px;
}

input::-webkit-input-placeholder, textarea::-webkit-input-placeholder { /* Chrome/Opera/Safari */
  color: var(--color-starlight-white);
	opacity: .2;
	font-family: 'Montserrat', sans-serif;
	font-size: 16px;
}
input::-moz-placeholder, textarea::-moz-placeholder { /* Firefox 19+ */
  color: var(--color-starlight-white);
	opacity: .2;
	font-family: 'Montserrat', sans-serif;
	font-size: 16px;
}
input:-ms-input-placeholder, textarea:-ms-input-placeholder { /* IE 10+ */
  color: var(--color-starlight-white);
	opacity: .2;
	font-family: 'Montserrat', sans-serif;
	font-size: 16px;
}
input:-moz-placeholder, textarea:-moz-placeholder { /* Firefox 18- */
  color: var(--color-starlight-white);
	opacity: .2;
	font-family: 'Montserrat', sans-serif;
	font-size: 16px;
}

.text-center {
	text-align: center;
}

.text-right {
	text-align: right;
}

.w-80 {
	width: 80%;
}

.navbar {
  display: flex;
  justify-content: center;
  width: 100vw;
  height: var(--nav-height);
  position: fixed;
  /* background: var(--color-accent); */
  top: 0px;
  z-index: 999;
}

.navbar-content {
	max-width: 80vw;
	display: flex;
	flex: auto;
	flex-direction: row;
	align-items: center;
	justify-content: space-between;
}

.nav-logo {
	width: 50px;
	border-bottom: none;
}
.nav-logo:hover {
	background-image: none;
	padding-bottom: 0px;
}

.nav-link {
	color: white;
	/* font-weight: 300; */
	border-bottom: 2px solid transparent;
	margin: 0 0 0 30px;
	text-transform: uppercase;
	transition: all 150ms ease-in-out;
}
.nav-link:hover {
	color: var(--color-accent);
	background-image: none;
  padding-bottom: 0;
	border-bottom: 2px solid var(--color-accent);
}

.nav-left {
}

.nav-right {
}



#toc {
	z-index: 9999;
  position: fixed;
  left: 0;
  /* bottom: -340px; */
	padding: 40px 20px 20px 20px;
	opacity: .5;
}

.sssd-toc{
	bottom: -220px;
	transition: all 160ms ease-in-out;
}

.wordshift-toc{
	bottom: -220px;
	transition: all 160ms ease-in-out;
}
.prompt-toc{
	bottom: -445px;
	transition: all 220ms ease-in-out;
}
.seeit-toc{
	bottom: -220px;
	transition: all 160ms ease-in-out;
}
.joinme-toc{
	bottom: -220px;
	transition: all 160ms ease-in-out;
}

#toc p {
	margin-bottom: 20px;
}

#toc a {
	color: var(--color-starlight-white);
	border-bottom: none;
	transition: none;
  font-size: 15px;
}

#toc a:hover {
	color: var(--color-accent);
	background-image: none;
}

#toc li {
	line-height: 22px;
}

#toc #full {
	/* display: none; /* Hide the full TOC by default */
}

#toc:hover {
	opacity: 1;
	bottom: 0px;
}

#toc:hover #full{
  display: block; /* Show it on hover */
	padding-bottom: 20%;
}

.toc-blocker {
    width: 100vw;
    height: 200px;
    background: var(--color-midnight-blue);
    position: fixed;
    left: 0;
    bottom: -200px;
    z-index: 99999;
}


#hero {
  /* margin-top: var(--nav-height); */
  min-height: calc(100vh - var(--nav-height));
}

#hero h1 {
  font-size: 64px;
  margin: 80px 0 10px -24px;
}

#hero p {
  width: 70%;
}

.hero-nudge {
	position: absolute;
	text-align: center;
	max-width: 200px;
	bottom: 10vh;
	right: 25vw;
}

.rotate-left {
  transform: rotateZ(-10deg);
}

.rotate-right {
  transform: rotateZ(10deg);
	float: right;
}

.flex {
  display: flex;
}

.flex-center {
  justify-content: center;
}

.flex-col {
	flex-direction: column;
}

.flex-space-b {
	justify-content: space-between;
}

.italic {
	font-style: italic;
}

#design {
	margin-bottom: 40px;
}

.project {
	margin-bottom: 160px;
}

.project-title {
	margin: 0 2px 4px 0;
	display: flex;
	justify-content: space-between;
	align-items: baseline;
}

.project-date {
	font-size: 18px;
}

.project-description {
	margin-bottom: 10px;
}


.project-image-container {
	position: relative;
	width: 100%;
	margin-bottom: 10px;
}

.project-image-bg {
	display: block;
  width: 680px;
  height: 300px;
  border-radius: 3px;
}

.project-gradient-wordshift {
	background: linear-gradient(to bottom right, #FF566C, #A18DFF);
}
.project-gradient-prompt {
	background: linear-gradient(to bottom right, #52D7E7, #A4002A);
}
.project-gradient-seeit {
	background: linear-gradient(to bottom right, #14378A, #63C5FF);
}
.project-gradient-joinme {
	background: linear-gradient(to bottom right, #FFAB42 20%, #50CD00 90%);
}
.project-gradient-sssd {
	background: linear-gradient(to bottom right, #2FE1FE, #7067DD);
}
.project-gradient-crayta {
	background: linear-gradient(to bottom right, #FE872F, #0090FF);
}
.project-gradient-lastpass {
	background: linear-gradient(to bottom right, #6F73D2, #2C405A);
}

.project-image-ui {
	position: absolute;
  top: 6%;
  left: 3%;
  right: 0;
  height: 94%;
  width: 94%;
  opacity: .85;
  transition: all .2s ease-in-out;
  background-color: #008CBA;
}

.project-image-container:hover .project-image-ui {
	opacity: 1;
	top: 2%;
	left: 1%;
	height: 98%;
	width: 98%;
	cursor: pointer;
}


.project-image-overlay {
	position: relative;
	top: 0;
	left: 0;
	width: 100%;
}

/* .freelance-cta {
	display: flex;
	justify-content: space-between;
	align-items: center;
	background: var(--color-dark-violet);
	width: 100%;
	position: relative;
	left: -10%;
	border-radius: 6px;
	padding-left: 10%;
	padding-right: 10%;
	padding-bottom: 70px;
}

.freelance-cta p {
	margin: 20px 0 0 14px;
	width: 90%;
} */

#art {
	padding-top: 100px;
}

#art p {
	width: 70%;
	margin: 20px 0 120px 14px;
}

.gallery-container {
	display: flex;
	justify-content: space-between;
	align-items: center;
	flex-wrap: wrap;
	/* background: var(--color-dark-violet); */
	width: 120%;
	position: relative;
	left: -10%;
}

.gallery-image {
	width: 24%;
	margin-bottom: 1.5%;
	/* border: 2px solid transparent; */
	/* transition: all 80ms ease-in-out; */
}

/* .gallery-image:hover {
	border: 2px solid var(--color-accent);
	cursor: pointer;
} */

.blog-intro {
	width: 65%;
	text-align: right;
	margin-top: -6px;
	margin-right: 16px;
}

/* .blog-link {
	float: right;
	text-align: right;
	margin-top: -6px;
	margin-right: 16px;
} */

.blog-posts-list {
	margin-top: 280px;
}

.blog-posts-container {
	margin-bottom: 60px;
}


#contact {
	/* margin: 40px 0; */
	padding: 120px 0;
}

.contact-intro {
	margin: 8px 0 0 22px;
	width: 78%;
	padding-bottom: 50px;
}

#mc_embed_signup {
	width: 41%;
}

.overflow-section-container {
	display: flex;
	width: 140%;
	justify-content: space-between;
	align-items: center;
	position: relative;
	left: -20%;
}

.mc-field-group {
	display: flex;
	flex-direction: column;
}

.mc-field-group label {
	font-size: 15px;
  text-transform: uppercase;
  font-weight: 500;
}

.mc-field-group input {
	padding: 12px 12px 10px;
	border: none;
	border-radius: 3px;
	margin-bottom: 12px;
	background-color: var(--color-midnight-blue);
	border: 2px solid var(--color-starlight-white);
	color: var(--color-starlight-white);
}

.mc-field-group textarea {
	padding: 12px 12px 10px;
	border: none;
	border-radius: 3px;
	margin-bottom: 12px;
	background-color: var(--color-midnight-blue);
	border: 2px solid var(--color-starlight-white);
	color: var(--color-starlight-white);
}

input#mc-embedded-subscribe {
	padding: 10px 16px;
	font-size: 24px;
	background-color: var(--color-accent);
	border-radius: 3px;
	border: 2px solid transparent;
	font-family: 'Patua One', 'Montserrat', sans-serif;
	text-transform: uppercase;
	margin-top: 14px;
	width: 100%;
	transition: all 120ms ease-in-out;
}

input#mc-embedded-subscribe:hover {
	color: var(--color-accent);
	border: 2px solid var(--color-accent);
	background-color: transparent;
	cursor: pointer;
}

input:focus, textarea:focus, select:focus {
    outline-offset: -2px;
		outline: var(--color-accent) auto 5px;
}

#page-not-found {
	display: flex;
	align-items: center;
	min-height: 60vh;
	margin-bottom: 200px;
}

#page-not-found h1 {
	font-size: 64px;
  margin: 80px 0 8px -20px;
}

#page-not-found p {
  width: 80%;
}

#page-not-found img {
	width: 100px;
	float: right;
	margin-top: 40px;
}

#footer {
	/* background: red; */
	margin-bottom: 0px;
	padding-bottom: 50px;
}

#footer p {
	margin-bottom: 0px;
}

.footer-link {
	width: fit-content;
	margin-bottom: 4px;
}

#fortune {
	max-width: 350px;
  padding: 8px 12px 9px;
	font-size: 14px;
}

#project-hero {

}

.project-hero-title {
	font-size: 64px;
  margin: 20px 0 10px -26px;
}

.project-hero-image {
	margin-top: 160px;
}

.project-page p {
	margin-bottom: 12px;
}

.project-page h1, .project-page h2 {
	margin-bottom: 6px;
}


.margin-top-small {
	margin-top: 40px;
}

.margin-bot-small {
	margin-bottom: 20px;
}

.margin-bot-med {
	margin-bottom: 40px !important;
}

.margin-right-med {
	margin-right: 40px;
}


.img-sm-right {
	width: 40%;
  position: relative;
  right: -78%;
}

.img-sm-left {
	width: 40%;
  position: relative;
  left: -10%;
}

.img-60 {
	display: flex;
	width: 60%;
	position: relative;
	left: 20%;
}

.img-80 {
	display: flex;
	width: 80%;
	position: relative;
	left: 10%;
}

.img-100 {
	display: flex;
	width: 100%;
	position: relative;
	left: 0;
}

.img-120 {
	display: flex;
	width: 120%;
	position: relative;
	left: -10%;
}

.img-140 {
	display: flex;
	width: 140%;
	position: relative;
	left: -20%;
}

.img-160 {
	display: flex;
	width: 160%;
	position: relative;
	left: -30%;
}

.img-180 {
	display: flex;
	width: 180%;
	position: relative;
	left: -40%;
}

.img-200 {
	display: flex;
	width: 200%;
	position: relative;
	left: -50%;
}

.img-80vw {
	display: flex;
	width: 80vw;
	position: relative;
	left: -10vw;
}

.image-comment {
    text-align: center;
    font-style: italic;
    opacity: 0.7;
    padding-top: 14px;
    padding-bottom: 20px;
    font-size: 14px;
		display: flex;
    justify-content: center;
    margin-left: 0px !important;
    margin-right: 0px !important;
    width: 100% !important;
}

.split-2 {
	display: flex;
	align-items: flex-start;
}

.split-col-media {
	width: 35%;
	margin-left: 20px;
	margin-top: 4px;
}

.split-col-media-alt {
	width: 50%;
	margin-left: 20px;
	margin-top: 4px;
}

#blog-hero {
    height: 80vh;
    display: flex;
    align-items: center;
    padding: 0 0 0 0;
    margin-top: 0px;
		margin-bottom: 0px;
}

.post-title {
    line-height: 1.2;
    font-weight: 600;
    text-transform: uppercase;
		margin-bottom: 24px;
}

.blog-post-page section {
    margin-bottom: 0px;
}

.blog-post-page h2 {
    margin-bottom: 16px;
}

.blog-post-page p {
    margin-bottom: 12px;
}

.blog-post-page .image-comment {
	padding-bottom: 0px !important;
  margin-bottom: 0px !important;
}

.blog-post-page #footer {
	margin-top: 200px;
}

.callout {
  font-size: 22px;
  line-height: 1.6;
  font-style: italic;
  width: 120%;
  position: relative;
  left: -10%;
  text-align: center;
  margin-top: 60px;
}


.other-projects-container {
  width: 28%;
	transition: all 80ms ease-in-out;
	padding: 1%;
}

.other-projects-container:hover {
  width: 29%;
	padding: 0;
}

.other-projects-container a {
  border-bottom: none;
}
.other-projects-container a:hover {
  background-image: none;
}

.other-projects-image {
	width: 100%;
}



/* ADJUSTMENTS MADE FOR SCREENS UNDER 400PX */
/* @media only screen and (min-width: 400px) {
	.hide-400 {
		display: none;
	}
} */


/* ADJUSTMENTS MADE FOR SCREENS < 1360px */
@media only screen and (max-width: 1360px) {
	#toc {
		display: none !important;
	}
}

/* ADJUSTMENTS MADE FOR SCREENS < 1300px */
@media only screen and (max-width: 1300px) {
	.hero-nudge {
		right: 22vw;
	}
}

/* ADJUSTMENTS MADE FOR SCREENS < 1000px */
@media only screen and (max-width: 1000px) {
	section {
		margin-bottom: 80px;
	}

	.hero-nudge {
		right: 13vw;
	}

	#design {
		margin-bottom: 0px;
	}

	.project {
    margin-bottom: 120px;
	}

	.gallery-container {
		width: 110%;
		left: -5%;
	}

	#contact .overflow-section-container {
    width: 100%;
    left: 0;
	}

	#footer .overflow-section-container {
    width: 120%;
    left: -10%;
		font-size: 14px;
	}

	.callout {
	    font-size: 18px;
	    width: 90%;
	    left: 0%;
	    margin-top: 32px;
			margin-left: auto;
			margin-right: auto;
	}

}

/* ADJUSTMENTS MADE FOR SCREENS < 840PX */
@media only screen and (max-width: 840px) {
	.gallery-container {
		width: 100%;
		left: 0;
	}

	#footer .overflow-section-container {
		font-size: 14px;
    width: 100%;
    left: 0;
	}

	#fortune {
		font-size: 13px;
    max-width: 240px;
	}

	#page-not-found {
		width: 80%;
	}

	.img-120, .img-140 {
		width: 100%;
		left: 0;
	}

	.img-160, .img-180 {
		width: 110%;
		left: -5%;
	}

	.img-200 {
		width: 120%;
		left: -10%;
	}
}


/* ADJUSTMENTS MADE FOR SCREENS < 700PX */
@media only screen and (max-width: 700px) {
	.hide-1400 {
		display: none;
	}

	body {
		line-height: 1.4;
		font-size: 14px;
	}

	h1 {
	  font-size: 24px;
	}

	h2 {
	  font-size: 22px;
	}

	section {
	  width: 100%;
	  padding: 20px 0 0;
		margin: 0 20px 40px;
	}

	li {
    margin: 0 24px;
	}

	code {
    padding: 1px 6px;
    margin: 0 2px;
    font-size: 13px;
	}

	.navbar {
		height: 48px;
	}

	.navbar-content {
		max-width: 100vw;
		margin: 0 10px 0;
	}

	.nav-link {
		margin: 0 0 0 12px;
	}

	#hero h1 {
	  font-size: 40px;
	  margin: 50px 0 0 5px;
	}

	#hero p {
	  width: 80%;
		margin: 6px 0 0 24px;
	}

	.hero-nudge {
		right: 1vw;
	}

	.project {
    margin-bottom: 120px;
    margin: 0px 2% 120px;
	}

	.project-image-container {
		width: 98%;
	}

	.project-image-bg {
		width: 102%;
		height: 46vw;
	}

	.project-image-ui {
		top: 4%;
		left: 2%;
		height: 96%;
		width: 98%;
		opacity: 1;
	}

	.project-date {
    font-size: 16px;
	}

	.project-description {
    margin-bottom: 5px;
	}

	.project-image-container:hover .project-image-ui {
		top: 4%;
		left: 2%;
		height: 96%;
		width: 98%;
	}

	#art {
		padding: 0 0 0 0;
	}

	#art h1 {
		margin-left: 10px;
	}

	#art p {
    width: 80%;
    margin: 8px 0 100px 22px;
	}

	.gallery-container {
    width: 94%;
    left: 3%;
	}

	.gallery-image {
    width: 32%;
    margin-bottom: 2%;
	}

	#writing {
		padding-top: 100px;
	}

	#writing h1 {
		margin: 0 10px 0;
	}

	.blog-intro {
		width: 84%;
		margin-right: 22px;
		padding-bottom: 40px;
	}

	.blog-posts-list {
    margin: 180px 10px 80px;
	}

	.blog-posts-container {
    margin-bottom: 45px;
	}

	#contact {
		padding: 0 0 0 0;
	}

	#contact h1 {
		margin-left: 10px;
	}

	.contact-intro {
    margin: 8px 0 0 28px;
    padding-bottom: 70px;
	}

	.overflow-section-container {
    flex-direction: column;
    width: 100%;
    left: 0px;
	}

	#mc_embed_signup {
    width: 100%;
	}

	#mc_embed_signup_scroll {
    margin: 0 20px;
	}

	.mc-field-group label {
    font-size: 13px;
	}

	.mc-field-group input {
    padding: 10px 10px 9px;
    border: 1px solid var(--color-starlight-white);
	}

	input, textarea {
		font-size: 14px;
	}

	input::-webkit-input-placeholder, textarea::-webkit-input-placeholder { /* Chrome/Opera/Safari */
		font-size: 14px;
	}
	input::-moz-placeholder, textarea::-moz-placeholder { /* Firefox 19+ */
		font-size: 14px;
	}
	input:-ms-input-placeholder, textarea:-ms-input-placeholder { /* IE 10+ */
		font-size: 14px;
	}
	input:-moz-placeholder, textarea:-moz-placeholder { /* Firefox 18- */
		font-size: 14px;
	}

	input#mc-embedded-subscribe {
    padding: 6px 12px;
    font-size: 20px;
	}

	#footer {
    padding: 60px 0 20px;
	}

	.footer-left {
    align-items: center;
		margin-bottom: 30px;
	}

	.footer-right {
    align-items: center;
		margin-top: 30px;
	}

	#fortune {
		font-size: 12px;
		line-height: 1.6;
		max-width: 350px;
	}

	.project-page section h1, .project-page section h2, .project-page section p {
		margin-left: 16px;
		margin-right: 16px;
	}

	.project-page h1 {
		margin-bottom: 4px;
	}

	.project-page h2 {
		font-size: 18px;
		margin-bottom: 4px;
	}

	.project-page p {
		margin-bottom: 10px;
	}

	.project-page #project-hero h1 {
		font-size: 40px;
	  margin: 50px 0 0 5px;
	}

	.project-page #project-hero p {
		width: 80%;
		margin: 4px 0 0 24px;
	}

	.project-hero-image {
		margin-top: 100px;
	}

	.image-comment {
		padding-top: 4px;
		font-size: 13px;
		margin: 0 auto 0;
	}

	.split-2 {
		flex-direction: column;
		/* justify-content: center; */
		align-items: center;
	}

	.split-col-media {
		margin: 20px 0 0 0;
		width: 50%;
	}

	.margin-bot-small {
		margin-bottom: 16px;
	}

	.margin-bot-med {
		margin-bottom: 24px !important;
	}

	.callout {
		font-size: 15px;
		margin-top: 24px;
	}

	.other-projects-container {
		margin-left: 16px;
		margin-right: 16px;
	}

}





/* ADJUSTMENTS MADE FOR SCREENS < 401PX */
@media only screen and (max-width: 401px) {
	.hide-700 {
		display: none;
	}

}
