*
{
	margin: 0;
	padding: 0;
	color: #FEFEFE;
	scroll-behavior: smooth;
}
/* original color
	--divider-col: #181826;
	--bg-color: #1b1c24;
	--main-color: #333343;
	--font-color: #FFFFFF;
	--highlight-col: #b7b7d7;
	--border-col: #8b8ba7;
	--div-border-col: #8a8e25;
	--button-highlight: #7878b4;
*/
:root 
{
	--divider-col: #131c25;
	--bg-color: #161e22;
	--main-color: #2a353f;
	--font-color: #FFFFFF;
	--highlight-col: #9db4c9;
	--border-col: #768a9d;
	--div-border-col: #8a8e25;
	--button-highlight: #78a0ba;
	
	--tab-indie: #1cadba;
	--tab-current: #36b621;
	--tab-shelved: #396bbe;
	--tab-finished: #80aca3;
	--tab-game-jam: #b045b7;
	--tab-comp: #c95320;
	--tab-animation: black;
}
header, section, footer, aside, nav, article, hgroup
{
	display: block;
}
body
{
	font-family: 'PT Serif', serif;
	width: 100%
	overflow-x: hidden;
	background: var(--bg-color);
	position: relative;
}
h1,h2,h3,h4,h5,h6
{
	font-family: 'Ubuntu', sans-serif;
}
#topBar 
{
	position: fixed;
    width: 100%;
    text-align: left;
	height: 10vh;
	z-index: 2;
	box-shadow: 0 12px 12px 0 rgba(0, 0, 0, 0.2)
}
#topBar hgroup
{
	position: absolute;
	text-shadow: 2px 2px 2px rgba(0,0,0,0.5);
}
#main
{
	background-color: var(--main-color);
	margin-left: 10%;
	margin-right: 10%;
	box-shadow: 0 12px 12px 0 rgba(0, 0, 0, 0.5)
}
.menu
{
	position: relative;
	height: 5vh;
	background-color: var(--divider-col);
	width: 100%;
	text-align:center;
	box-shadow: 0 6px 8px 0 rgba(0, 0, 0, 0.3);
}
.menu a
{
	text-decoration: none; 
	display: inline-block; 
	line-height:5vh;
}
.menu a div
{
	background-color: rgba(0, 0, 0, 0);
	transition: background-color 0.3s;
	position: relative;
	height: 5vh;
	padding-left: 0.5vh;
	padding-right: 0.5vh;
}
.menu a div h3
{
	text-decoration: none;
	text-shadow: 2px 2px 2px rgba(0,0,0,0.3);
}
.menu a div:hover
{
	background-color: var(--button-highlight);
}
.menu h5
{
	display: inline-block; 
	line-height:5vh;
	text-shadow: 2px 2px 2px rgba(0,0,0,0.3);
}
.line
{
	display: inline-block; 
	width: 10vw; 
	border: 1px solid; 
	color: var(--divider-col);
}
.divider
{
	position: sticky;
	top: 14vh;
	height: 5vh;
	background-color: var(--divider-col);
	width: 98%;
	overflow: hidden;
	padding-left: 1%;
	padding-right: 1%;
	box-shadow: 0 6px 8px 0 rgba(0, 0, 0, 0.3);
	border: 2px;
	border-color: var(--div-border-col);
}
.divider div
{
	position: relative;
	/*top: 0.4375em;*/
	width: 100%;
	line-height:5vh;
	text-align: center;

}
.divider hr
{
	box-shadow: 2px 2px 2px rgba(0,0,0,0.3);
}
.divider div h3
{
	background: var(--divider-col); 
	display:inline-block;
	padding-left:1%;
	padding-right:1%;
	text-shadow: 2px 2px 2px rgba(0,0,0,0.3);
}
.writing
{
	text-align: justify;
	line-height: 1.6;
	margin-left: 20%;
	margin-right: 20%;
	padding: 1vh;
}
.piece
{
	height: 33vh;
	position: relative;
	width: 47.3%;
	overflow: hidden;
	float: left;
	margin: 1%;
	border: 0.2vh solid;
	border-color: var(--border-col);
	box-shadow: 0 6px 6px 0 rgba(0, 0, 0, 0.5)
}
.piece-main
{
	position: relative;
	height: inherit;
}
.piece-image
{
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background-color: black;
	background-size: cover;
	background-repeat: no-repeat;
	background-position: center;
	transition: all 0.5s;
}
.piece-title
{
	position: absolute;
	right: 0;
	top: 1em;
	height: 3em;
	display: inline-block; 
	background: rgba(0,0,0,0.5);
	padding-right: 10%;
	padding-left: 10%;
	line-height: 3em;
	transform: translateX(200%);
	transition: all 0.3s;
}
.piece-title h2
{
	text-align: right;
	height:100%;
}
.piece-desc
{
	position: absolute;
	bottom:2.5em;
	width: 50%;
	padding-top: 2%;
	padding-bottom: 2%;
	padding-right: 5%;
	padding-left: 5%;
	line-height: 2em;
	background: rgba(0,0,0,0.5);
	transform: translateX(-200%);
	transition: all 0.4s;
}
.piece-type
{
	position: absolute;
	bottom:-2.75em;
	right: 10%;
	display: inline-block;
	padding-right: 2.5%;
	padding-left: 2.5%;
	line-height: 2.4em;
	height: 5em;
	background: black;
	border-radius: 1em;
	transform: translateY(200%);
	transition: all 0.3s;
}
.small-piece
{
	height: 33vh;
	position: relative;
	width: 30.6%;
	overflow: hidden;
	float: left;
	margin: 1%;
	border: 0.2vh solid;
	border-color: var(--border-col);
	box-shadow: 0 6px 6px 0 rgba(0, 0, 0, 0.5)
}
.small-piece-desc
{
	position: absolute;
	bottom:2.25em;
	width: 90%;
	padding-top: 2%;
	padding-bottom: 2%;
	padding-right: 5%;
	padding-left: 5%;
	line-height: 1.4em;
	background: rgba(0,0,0,0.5);
	transform: translateX(-200%);
	transition: all 0.4s;
}
.small-piece-type
{
	position: absolute;
	bottom:-1.3em;
	left: 10%;
	display: inline-block;
	padding-right: 2.5%;
	padding-left: 2.5%;
	line-height: 1.8em;
	height: 3em;
	background: black;
	border-radius: 0.8em;
	transform: translateY(200%);
	transition: all 0.3s;
}
.piece:hover .piece-image
{
	transform: scale(1.02);
}
.piece:hover .piece-desc
{
	transform: translateX(0%);
}
.piece:hover .piece-title
{
	transform: translateX(0%);
}
.piece:hover .piece-type
{
	transform: translateX(0%);
}
.small-piece:hover .piece-image
{
	transform: scale(1.02);
}
.small-piece:hover .small-piece-desc
{
	transform: translateX(0%);
}
.small-piece:hover .piece-title
{
	transform: translateX(0%);
}
.small-piece:hover .small-piece-type
{
	transform: translateX(0%);
}

.resume-section
{
	float:left;
	position:relative;
	width:50%;
	height:40vh;
	box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.5)
}
.resume-divider
{
	height: 4vh;
	background-color: var(--divider-col);
	width: 98%;
	overflow: hidden;
	padding-left:1%;
	padding-right:1%;
	box-shadow: 0 6px 8px 0 rgba(0, 0, 0, 0.3)
}
.resume-divider div
{
	position: relative;
	/*top: 0.4375em;*/
	width: 100%;
	line-height:4vh;
	text-align: center;

}
.resume-divider div h3
{
	background: var(--divider-col); 
	display:inline-block;
	padding-left:1%;
	padding-right:1%;
}
.email
{
	margin-left: 60%; 
	margin-right: 20%; 
	padding-left: 0.5vh; 
	height: 2.5vh;
	padding-right: 0.5vh; 
	background:  var(--divider-col);
	display: inline-block;
}
.email h5
{
	line-height:2.5vh;
	-webkit-user-select: all;
	-moz-user-select: all;
	-ms-user-select: all;
	user-select: all; 
}
@media (max-width: 110vh)
{
	.piece
	{	
		width: 94.6%;
	}
	.small-piece
	{
		width: 46%;
		/*border: 0.1vh solid;*/
		border-color: var(--border-col);
	}
	.resume-section
	{
		width:100%;
		height:40vh;
	}
}
@media (max-width: 75vh)
{
	#main
	{
		margin-left: 0%;
		margin-right: 0%;
	}
	.piece
	{	
		height: 110vw;
	}
	.piece.inview .piece-title
	{
		transform: translateX(0);
	}
	.piece.inview .piece-desc
	{
		transform: translateX(0);
	}
	.piece.inview .piece-type
	{
		transform: translateX(0%);
	}
	.small-piece
	{
		width: 94.6%;
		height: 33vh;
		/*border: 0.1vh solid;*/
		border-color: var(--border-col);
	}
	.small-piece.inview .small-piece-desc
	{
		transform: translateX(0);
	}
	.small-piece.inview .small-piece-type
	{
		transform: translateX(0%);
	}
	.small-piece.inview .piece-title
	{
		transform: translateX(0%);
	}
	.email
	{
		float: right;
		margin-right: 0%;
	}
	.writing
	{
		margin-left: 5%;
		margin-right: 5%;
	}
}
@media (max-width: 50vh)
{
	#main
	{
		margin-left: 0%;
		margin-right: 0%;
	}
	.line
	{
		width: 0vw; 
		border: 0px solid;
	}
	.piece-desc
	{
		line-height: 1.4em;
		width: 90%;
	}
}

:target {
  display: block;
  position: relative;
  top: -20vh;
  visibility: hidden;
}
::selection {
  background: var(--highlight-col); /* WebKit/Blink Browsers */
}
::-moz-selection {
  background: var(--highlight-col); /* Gecko Browsers */
}