body {
	font-size: 22px;
	margin: 0;
	padding: 0;
	color: #2a1738;
	background-color: #a5a0af;
}

/* Fonts */

@font-face {
	font-family: "JollyGood";

	src: url("/fonts/JollyGoodProper-Regular.ttf") format("truetype"),
		url("/fonts/JollyGoodProper-Regular.woff") format("woff"),
		url("/fonts/JollyGoodProper-Regular.woff2") format("woff2");
	font-weight: normal;
	font-style: normal;
}

@font-face {
	font-family: "JollyGood";

	src: url("/fonts/JollyGoodProper-Bold.ttf") format("truetype"),
		url("/fonts/JollyGoodProper-Bold.woff") format("woff"),
		url("/fonts/JollyGoodProper-Bold.woff2") format("woff2");
	font-weight: bold;
	font-style: normal;
}
  
  
body, input, textarea, button {
	font-family: "JollyGood", sans-serif;
	line-height: 1.32em;
}

@font-face {
	font-family: "Riffic";
  
	src: url("/fonts/RifficFree-Bold.ttf") format("truetype"),
		url("/fonts/RifficFree-Bold.woff") format("woff"),
		url("/fonts/RifficFree-Bold.woff2") format("woff2");
	font-weight: bold;
	font-style: normal;
}

.header, h1, h2, nav, .exampleNav, .launcher, .tag {
	font-family: "Riffic", sans-serif;
	line-height: 1.0em;
	font-weight: bold;
}

/* Links */

a {
	text-decoration: none;
	font-weight: bold;
	color: #593772;
}

a:active {
	color: #fed766;
}
a:visited {
	color: #696670;
}
a:hover {
	text-decoration: underline;
}

/* General Elements and Classes */

p {
	padding: 0;
	margin: 0;
	margin-bottom: 0.75em;
}

ul,
ol {
	padding-top: 0;
	padding-bottom: 0.5em;
	margin: 0;
}

li {
	padding-bottom: 0.25em;
}

p,
li {
	letter-spacing: -0.02em;
}

.clickable {
	cursor: pointer;
}

.cen {
	text-align: center;
}

br.clear {
	clear: both;
}

.leanL {
	transform: skewX(15deg);
}
.leanR {
	transform: skewX(-15deg);
}

.fullFloat {
	position: fixed;
	top: 0px;
	left: 0px;
	width: 100%;
	height: 100%;
}

#gradient {
	background-image: linear-gradient(#5e576b, #8f8a97);
	z-Index: -1;
}

.hid {
	display: none;
}

input, textarea {
	font-size: 1.2rem;
	line-height: 1.2em;
	border: none;
	outline: none;
	padding: 0.1em 0.5em;
}

label {
	padding-left: 3em;
	padding-right: 0.5em;
}

button {
	font-size: 1rem;
	margin-right: 1em;
	font-weight: bold;
}

button.sel {
	background-color: #fed766;
}

hr {
	height: 1px;
	border: none;
	background-color: #2a1738;
	padding: none;
	margin: 0.2em 0em 0.3em 0em;
}

/* Header and Title */

.header, h1, h2 {
	font-size: 1.9rem;
}

#bkgImage {
	background: radial-gradient(circle at center 33%, #bbb7c9 0%, #938f9c 100%);
	overflow: hidden;
	position: relative;
	z-index: 1;
	height: 5.5rem;
}

.splashLayer {
	position: absolute;
	top: 0px;
	left: 0px;
}

.splashLayer img {
	width: 100%;
	height: auto;
	opacity: 0;
	pointer-events: none;
}

.splashLayer img.reveal {
	opacity: 1;
}

.splashLayer.mult {
	mix-blend-mode: multiply;
}

header {
	position: relative;
	background-color: #2a1738;
	height: 0.2em;
	top: -0.2em;
	margin-bottom: -0.2em;
	z-index: 2;
}

.titleGrid {
	display: grid;
	grid-template-columns: auto auto;
	align-items: end;
	grid-column-gap: 4em;

	position: absolute;
	bottom: 0.2em;
	left: 0.5em;
	right: 0.5em;
	z-index: 1;
}

.titleGrid > div:nth-child(1) > div {
	padding-right: 1.5em;
}
.titleGrid > div:nth-child(2) {
	text-align: right;
}
.titleGrid > div:nth-child(2) > div {
	padding-left: 1.5em;
}

.header {
	display: inline-block;
	background-color: #fed766;
	padding: 0.2em 0.4em;
}

.topStuff, header {
	z-Index: 6;
}

/* Navigation Bar */

nav {
	position: sticky;
	z-Index: 5;
	top: 0em;
	margin-bottom: 0.4em;
	margin-left: 1.5em;
	margin-top: 0em;
}

nav.shadowed div {
	box-shadow: 0em 0em 1em #5e576b;
}

nav.shadowed div.filter {
	box-shadow: none;
}

nav div,
.exampleNav,
.release,
.launcher {
	display: inline-block;
	background-color: #4bb2bc;
	font-weight: bold;
	margin-right: 0.25em;
	color: #2a1738;
	white-space: nowrap;
	margin-bottom: -1px;
}

nav img {
	width: auto;
	height: 0.9em;
	position: relative;
	top: 0.12em;
}

nav div a,
.exampleNav a,
.launcher a {
	display: inline-block;
	color: #2a1738;
	position: relative;
}

nav div {
	padding: 0.15em 0.6em 0.15em 0.5em;
	cursor: pointer;
}

nav a:visited {
	color: #2a1738;
}

.exampleNav {
	padding: 0.1em 0.45em 0.1em 0.3em;
	cursor: pointer;
}

nav div.active {
	background-color: #fed766;
	color: #2a1738;
}

.exampleNavGrid {
	display: grid;
	grid-template-columns: auto 1fr;
	grid-row-gap: 0.25em;
	grid-column-gap: 0.5em;
	align-items: center;
	padding: 0em 1em;
}

.exampleNavGrid p {
	margin: 0;
}

/* General page body and section headers*/

.contentBlock {
	padding: 0.1em 0.5em;
	background-color: #e9f2e8;
	margin-bottom: 0.5em;
}

.edge {
	display: inline-block;
	background-color: #2a1738;
	margin-bottom: 0.5em;
	margin-top: 0.2em;
	background-color: #4bb2bc;
}

h1,
h2 {
	display: inline-block;
	position: relative;
	left: -0.5em;
	margin: 0;
	background-color: #4bb2bc;
	z-index: 2;
	font-weight: normal;
	color: #2a1738;
}

h1 {
	padding: 0.4em 2em;
	padding-bottom: 0.5em;
}

h2 {
	padding: 0.2em 1em;
	padding-bottom: 0.3em;
}

.hangRight {
	float: right;
	margin-bottom: 0.2em;
}

.hangRight > h2 {
	left: 0.5em;
}

/* Home */

.sideIconGrid {
	display: grid;
	width: 100%;
	grid-template-columns: auto 1fr;
}

.sideIconGrid > div,
.padded {
	padding: 0em 0.75em;
}

.autoStackingGrid {
	display: grid;
	width: 100%;
	grid-template-columns: 50% 50%;
}

.autoStackingGrid > div {
	padding-right: 0.75em;
}

.news p {
	padding-left: 3em;
	text-indent: -3em;
}

.socialLinks {
	text-align: center;
}

.socialLinks a {
	display: inline-block;
}

.socialLinks a img {
	padding-left: 1em;
	width: 128px;
	height: auto;
}

/* Games */

.gameGrid {
	display: grid;
	width: 100%;
	grid-template-columns: auto 1fr;
	grid-column-gap: 0.5em;
	grid-row-gap: 0.5em;
}

.gameGrid > a > img {
	width: 192px;
	height: auto;
}

.gameGrid > div {
	background-color: rgba(143, 138, 151, 0.33);
	padding: 0.1em 0.5em;
}

.launcher {
	margin-left: 3em;
	font-size: 1.1em;
	margin-bottom: 0.5em;

	padding: 0.3em 0.65em 0.3em 0.5em;
	cursor: pointer;
}

.jsrb {
	background-color: rgba(143, 138, 151, 0.66);
}

/* Art List */

#artList > div {
	background-color: rgba(42, 23, 56, 0.65);
	padding: 0.25em;
	margin-bottom: 1em;
}

#artList > div.canZoom .listImg {
	cursor: zoom-in;
}

.listImg {
	max-width: 100%;
	height: auto;
}

.status,
#artList > div.status {
	padding: 1em;
	font-weight: bold;
	color: rgba(255, 255, 255, 0.5);
	text-align: center;
}

.artGridH {
	display: grid;
	grid-template-columns: 60% 40%;
	grid-column-gap: 0.5em;
	align-items: start;
	justify-items: center;
}

.artGridH .contentBlock {
	max-width: calc(100% - 2em);
}

.artGridV {
	display: grid;
	grid-template-columns: 100%;
	grid-row-gap: 0.25em;
	justify-items: center;
}

.artGridV .contentBlock {
	max-width: 75%;
}

/* Thumbnails */

img.thumbV,
img.thumbH {
	cursor: pointer;
	border: 1px solid #2a1738;
}

img.thumbV {
	width: 150px;
	height: auto;
}

img.thumbH {
	height: 150px;
	width: auto;
}

#thumbGrid {
	text-align: center;
}

#thumbGrid > img {
	height: 200px;
	margin: 0.25em;
}

#thumbGrid > img.placeholder {
	width: 200px;
	background-color: rgba(0, 0, 0, 0.4);
}

/* Tags & Filters */

.tags {
	float: right;
	max-width: 60%;
	text-align: right;
}

.tag {
	display: inline-block;
	font-size: 0.75em;
	padding: 0.3em 0.5em;
	background-color: #4bb2bc;
	margin-left: 0.25em;
	margin-bottom: 0.1em;
}

#artFilterLabel {
	display: block;
}

.filter {
	display: block;
	position: absolute;
	z-index: 4;
	padding: 0.1em 0.5em;
	background-color: #4bb2bc;
	margin-bottom: 0.1em;
	right: 1.5em;
	top: -10em;
	width: 14em;
	transition: all 0.3s;
	white-space: normal;
}

.filter.hid {
	display: none;
}

.tag.active,
.filter.active {
	background-color: #fed766;
}

.tag > a,
.tag > span,
.filter > span {
	display: inline-block;
	color: #2a1738;
	font-style: normal;
}

.floatRight {
	float: right;
	margin-right: 1em;
}

/* Art Viewer */

#fullDisplay {
	z-index: 10;
	background-color: #151218;
	/* cursor: zoom-out; */
	text-align: center;
	color: #bbb7c9;
	font-size: 1.2rem;
	user-select: none;
}

#fullDisplay.hid {
	display: none;
}

#fullDisplay .btn {
	position: absolute;
	z-index: 2;
}

#fullDisplay .t { top: 0px; }
#fullDisplay .b { bottom: 0px; }
#fullDisplay .l { left: 0px; }
#fullDisplay .r { right: 0px; }
#fullDisplay .r > h1 { left: 0.5em; }

#releases > div {
	display: inline-block;
	margin-right: 1em;
	cursor: pointer;
	font-size: 1.3em;
	padding: 0.3em 1.0em;
	margin-bottom: 0.5em;
}

#releases > div.hid {
	display: none;
}

#closeDisplay {
	cursor: pointer;
}

#displayArea {
	position: absolute;
	top: 0px;
	left: 0px;
	width: 100%;
	height: 100%;
	z-Index: 1;
}

#displayImg {
	position: absolute;
	pointer-events: none;
	z-Index: 1;
}

input[type=range] {
	-webkit-appearance: none;
	appearance: none;
	height: 0.25em;
	background: #2a1738;
	outline: none;
	position: relative;
	top: -0.3em;
	margin: 0em;
	padding: 0em 0em;
	width: 15em;
}

input[type=range]::-webkit-slider-thumb {
	-webkit-appearance: none;
	appearance: none;
	width: 1em;
	height: 1em;
	border-radius: 0.5em;
	background: #fed766;
	cursor: pointer;
}
  
input[type=range]::-moz-range-thumb {
	width: 1em;
	height: 1em;
	border-radius: 0.5em;
	background: #fed766;
	cursor: pointer;
}

#zoomPercent {
	display: inline-block;
	width: 2.7em;
	text-align: right;
}

/* Offsite gallery links */

.artLink {
	position: absolute;
	bottom: -0.12em;
	right: -0.8em;
}

.artLink img {
	width: auto;
	height: 0.66em;
}

/* Sensors */

#sensor {
	position: absolute;
	top: 0px;
	left: 0px;
}

#webpTest {
	position: absolute;
	left: -100px;
	top: -100px;
}

/* Loading/Error message uses CSS to fade in if JS doesn't init within a second */

#loading, #closed {
	text-align: center;
	position: relative;
	top: 5em;
	animation-duration: 0.25s;
	animation-delay: 0.75s;
	animation-fill-mode: forwards;
}

#loading {
	opacity: 0;
	animation-name: loadingFadeIn;
}

@keyframes loadingFadeIn {
	from {opacity: 0;}
	to {opacity: 1;}
}

#loading > div, #closed > div {
	display: inline-block;
	max-width: 60%;
	text-align: left;
}

/* Content warning */

#warning.hid {
	display: none;
}

#warning img {
	position: fixed;
	height: 640px;
	top: -640px;
	width: auto;
	z-index: 1;
}

#warningGrid {
	position: fixed;
	top: 300px;
	left: 0px;
	padding: 0px 25%;
	z-index: 2;
}

.yesNo {
	display: grid;
	grid-template-columns: auto auto;
	justify-items: center;
	align-items: center;
	grid-column-gap: 1.75em;
	grid-row-gap: 0.5em;
}

.yesNo > div {
	cursor: pointer;
	padding-bottom: 0.5em;
}

#warnText h1,
#warnText .edge {
	background-color: #fed766;
}

#warningGrid h1,
#warningGrid h2 {
	left: -0.75em;
}

#warnText,
#warnYes,
#warnNo {
	transform: translateY(0px) rotate(0deg);
	transform-origin: center center;
}

.nannerShadow {
	background-image: url(img/nanners-shadow.jpg);
	background-repeat: no-repeat;
	/* background-attachment: fixed; */
}

.fall #warnText {
	transform: translateY(13em) rotate(4deg);
	transition: 0.4s ease-in;
	transform-origin: center center;
}

.fall #warnYes {
	transform: translateY(10em) rotate(12deg);
	transition: 0.25s ease-in;
	transform-origin: center center;
}

.fall #warnNo {
	transform: translateY(9em) rotate(-18deg);
	transition: 0.31s ease-in;
	transform-origin: center center;
}

/* Mobile, portrait and small window alterations */

@media only screen and (orientation: portrait) {
	.autoStackingGrid {
		grid-template-columns: auto;
		grid-template-rows: auto auto;
	}

	#sensor {
		top: 100px;
	}

	#artInfo {
		left: 1em;
		right: 1em;
	}

	.artGridV .contentBlock {
		max-width: 95%;
	}
}

@media only screen and (max-width: 800px) {
	body {
		font-size: 16px;
	}

	img.thumbV {
		width: 75px;
	}

	#thumbGrid > img {
		height: 150px;
	}

	#thumbGrid > img.placeholder {
		width: 150px;
	}

	.gameGrid > a > img {
		width: 128px;
	}

	.header,
	h2 {
		font-size: 1.15rem;
	}

	h1 {
		font-size: 1.22rem;
	}

	#warningGrid {
		padding: 0px 12%;
	}

	#releases > div {
		margin-right: 0.5em;
		cursor: pointer;
		font-size: 1.0em;
		padding: 0.15em 0.5em;
		margin-bottom: 0.25em;
	}
	
	input[type=range] {
		width: 7.5em;
	}
}

@media only screen and (max-width: 500px) {
	body {
		font-size: 14px;
	}

	img.thumbV {
		width: 50px;
	}

	#thumbGrid > img {
		height: 100px;
	}

	#thumbGrid > img.placeholder {
		width: 100px;
	}

	.gameGrid > a > img {
		width: 96px;
	}

	.header,
	h2 {
		font-size: 1.15rem;
	}

	h1 {
		font-size: 1.22rem;
	}

	#warningGrid {
		padding: 0px 15px;
	}

	#releases > div {
		margin-right: 0.5em;
		cursor: pointer;
		font-size: 0.8em;
		padding: 0.15em 0.5em;
		margin-bottom: 0.25em;
	}

	input[type=range] {
		width: 5em;
	}
}
