/* for all pages 
switch to using rgb(a) for colors*/

* {
	box-sizing: border-box;
}

body {
	background-color: black;
	font-family: "Iosevka Charon Mono", Courier, monospace;
	color: white;
}

a:link, a:visited {
	color: red;
	text-decoration: none;
}

a:hover {
	color: yellow;
	text-decoration: underline;
}

a:active {
	color: yellow;
	text-decoration: none;
}

::selection {
	color: black;
	background-color: yellow;
}

.active {
	color: yellow;
	text-decoration: none;
}

h1 {
	font-size: 2rem;
	text-align: center;
}

h2 {
	font-size: 1.5rem;
	text-align: center;
}

h4 {
	text-align: center;
}

table, th, td {
	border: 1px solid white;
	border-collapse: collapse;
	padding: 3px;
}

/* For basic pages */

.mainlayout {
	display: grid;
	grid-template-areas:
		"header header header"
		"menu content update"
		"footer footer footer";
	grid-template-columns: 1fr 3fr 1fr;
	gap: 0;
	padding: 5px;
	margin: 1% 10%;
	color: white;
	/* min-width: 700px;
	max-width: 1050px; */
}

.mainlayout div, .gallerylayout div, .bloglayout div {
	padding: 10px;
}

.header {
	background-color: black;
	grid-area: header;
	border: 3px white solid;
}

.menu, .gmenu, .bmenu {
	background-color: black;
	text-align: center;
	/* min-width: 150px;
	max-width: 175px; */
	border: 3px white solid;
	border-top-style: none;
	border-bottom-style: none;
}

.menu {
	grid-area: menu;
}

.menu ul, .gmenu ul, .bmenu ul{
	list-style-type: none;
	margin: 0;
	padding: 0;
}

li.dropmenu {
	position: relative;
}

.minimenu {
	display: none;
	position: absolute;
	min-width: 50%;
	background-color: black;
	box-shadow: 0 0 0 3px white;
}

.dropmenu:hover .minimenu {
	display: inline-block;
	padding: 5px;
}

.maincontent {
	background-color: black;
	grid-area: content;
	min-width: 500px;
	text-align: left;
	/* max-width: tbd;
	width: tbd; */
}

.update {
	background-color: black;
	grid-area: update;
	border: 3px white solid;
	border-top-style: none;
	border-bottom-style: none;
	min-width: 175px;
	overflow: hidden;
	/* max-width: tbd; */
}

.update ul {
	text-transform: lowercase;
}

.footer, .bfooter, .gfooter {
	background-color: black;
	text-align: center;
	border: 3px white solid;
}

.footer {
	grid-area: footer;
}

/* For database pages */

.dblayout {
	display: grid;
	grid-template-areas:
		"dbheader"
		"dbcontent"
		"dbfooter";
	gap: 3px;
	background-color: white;
	padding: 5px;
	margin: 1% 10%;
	color: white;
}

.dblayout div {
	background-color: black;
	padding: 10px;
}

.dbheader {
	grid-area: dbheader;
}

.dbcontent {
	grid-area: dbcontent;
}

.dbfooter {
	grid-area: dbfooter;
	text-align: center;
}

.database {
	width: 100%;
	margin-left: auto;
	margin-right: auto;
	text-align: center;
	/* make database header sticky? */
}

/* CSS for gallery pages */

.gallerylayout {
	display: grid;
	grid-template-areas:
		"gheader gheader"
		"gmenu gcontent"
		"gfooter gfooter";
	grid-template-columns: 1fr 3fr;
	gap: 0;
	padding: 5px;
	margin: 1% 10%;
	color: white;
	/* min-width: 700px;
	max-width: 1050px; */
}

.gallerylayout div {
	padding: 10px;
}

.gheader {
	background-color: black;
	grid-area: gheader;
	border: 3px white solid;
}

.gmenu {
	grid-area: gmenu;
}

.gcontent {
	background-color: black;
	grid-area: gcontent;
	border: 3px white solid;
	border-top-style: none;
	border-bottom-style: none;
	border-left-style: none;
}

.gfooter {
	background-color: black;
	grid-area: gfooter;
	text-align: center;
	border: 3px solid white;
}

/* gallery images and overlay */

.gallery {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
}

.gcover {
	position: relative;
	display: block;
	width: 200px;
	margin: 3px;
}

.gcover img {
	width: 100%;
	height: 100%;
	transition: .5s ease;
}

.overlay {
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	height: 100%;
	opacity: 0;
	transition: .5s ease;
	background-color: rgba(0, 0, 0, .6);
	color: white;
	font-weight: bold;
	font-family: Courier, monospace;
	display: flex;
	justify-content: center;
	align-items: center;
	text-align: center;
}

/*.gcover:hover img{
	transform: scale(1.4)
}*/

.gcover:hover .overlay{
	opacity: 1;
	/*transform: scale(1.35)*/
}

/* doujinshi reading pages code */

.pageread {
	display: block;
	margin-left: auto;
	margin-right: auto;
	width: 600px;
	height: 850px;
}

.pagetext {
	text-align: center;
}

.pagetext a {
  color: black;
}

.pagetext a:hover {
	color: red;
	text-decoration: underline;
}

/* doujinshi shousetsu pages code */

.shousetsu {
	display: flex;
	justify-content: center;
	align-items: center;
	flex-direction: row-reverse;
}
 /* blog layout */
 
 .bloglayout {
	display: grid;
	grid-template-areas:
		"bheader bheader"
		"bmenu blog"
		"bextra blog"
		"bfooter bfooter";
	grid-template-columns: 1fr 4fr;
	gap: 0;
	padding: 5px;
	margin: 1% 10%;
	color: white;
}

.bheader {
	grid-area: bheader;
	background-color: black;
	border: 3px white solid;
}

.bmenu {
	grid-area: bmenu;
}

.blog {
	grid-area: blog;
	background-color: black;
	border: 3px white solid;
	border-top-style: none;
	border-bottom-style: none;
	border-left-style: none;
}

.entry {
	/* add title coding, maybe with date */
	padding: 25px 10px;
}

.bextra {
	grid-area: bextra;
	background-color: black;
	border: 3px white solid;
	border-bottom-style: none;
	place-items: center;
	/* need better centering */
	text-align: center;
}

.bfooter {
	grid-area: bfooter;
}