html {
	max-width: 100%;
	box-sizing: border-box;
}

body {
	margin: 0;
	padding: 0;
	max-width: 100%;
	box-sizing: border-box;
	font-family: 'Roboto Mono', monospace;
}

header {
	position: fixed;
	top: 0;
	z-index: 3;
	color: black;	
	max-width: 50%;
}

h1, h2, h3 {
	font-weight: normal;
}

h1 {
	font-size: 2em;
}

header p {
	z-index: -800;
	font-size: 1.3em;
}

.portfolioProjects {
	display: flex;
	flex-direction: column;
	align-items: flex-end;
	max-width: 100%;
	box-sizing: border-box;
}

.portfolioNode {
	border-top: 10px solid black;
	border-bottom: 10px solid black;
	margin-bottom: 1%;
	width: 50%;
	position: relative;
	overflow: hidden;
	z-index: 1000;
	background: white;
	transition: all .3s linear 0s;
}

.nodeImage img {
	max-width: 150%;
	position: absolute;
	top: 0%;
	z-index: -100;
	opacity: .25;
	filter: hue-rotate(0deg) brightness(90%) grayscale(0%);
}

.nodeCaption {
	z-index: 5;
	position: absolute;
	top: 0;
	right: 0;
	visibility: hidden;
	text-align: left;
	max-width: 50%;
}

.nodeTitle {
	padding-top: 12%;
	padding-bottom: 12%;
	z-index: 100;
	text-align: center;
	visibility: hidden;
	font-size: 1.3em;
	color: black;
}

.nodeLink {
	font-size: 1em;
	color: red;
	text-align: right;
	visibility: hidden;
	position: absolute;
	bottom: 0;
	right: 0;
}

.portfolioNode:hover .nodeTitle {
	visibility: visible;
}

.portfolioNode.next {
	border-top: 10px solid black;
	border-bottom: 10px solid black;
	margin-bottom: 1%;
	width: 100%;
	position: relative;
}

.portfolioNode.next .nodeImage img {
	min-width: 0%;
	max-height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	z-index: -100;
	opacity: 1;
}

.portfolioNode.next .nodeCaption {
	z-index: 5;
	position: absolute;
	top: 0;
	right: 0;
	visibility: visible;
	text-align: left;
	max-width: 50%;
	background: white;
}

.portfolioNode.next .nodeTitle {
	padding-bottom: 25%;
	z-index: 100;
	text-align: right;
	visibility: hidden;
	font-size: 1.5em;
	color: black;
	font-style: italic;
}

.portfolioNode.next .nodeLink {
	font-size: 1em;
	color: red;
	text-align: right;
	visibility: visible;
	position: absolute;
	bottom: 3%;
	right: 0;
}

form {
	max-width: 45%;
	z-index: 3;
	position: fixed;
	left: 0;
	bottom: 12%;
}

input {
	display: block;
}

label {
	font-weight: normal;
	font-size: 1em;
}

button {
	font-family: 'Roboto Mono', monospace;
	margin: 3% 0%;
}

footer {
	position: fixed;
	bottom: 0;
	left: 0;
	z-index: 100;
	padding: 0;
	margin: 0;
	color: blue;
	background: black;
	font-size: .75em;
}

footer a {
	text-decoration: none;
}

footer a:hover {
	font-style: italic;
}

footer a:visited {
	color: white;
}