hr.small {
	border-style: dotted;
	border-width: 2px;
	width: 10em;
}

.nsfw::after {
	content: "[NSFW]";
	color: red;
	display: inline-block;
	margin-left: 0.5em;
}

.story-heading {
	display:flex;
	flex-direction: column;
	border: 2px solid black;
	border-radius: 0.5em;
	margin-bottom: 0.5em;
	flex-shrink: 0;
	flex-basis: content;
	width: 100%;
}

.story-heading:not(#main-story-heading) {
	margin: 0 1em 0.5em;
}

header#main-story-heading {
	width: 100%;
}

.story-heading > section:not(:first-child){
	border-top: 1px solid black;
}

section.box-title {
	margin-top:0;
	padding: 0.5rem 0;
	text-align: center;
	display:block;
	width:100%;
	margin-bottom: 0.25rem;
}

section.box-title > h1,h2,h3 {
	display: inline;
}

.story-name {
	font-size: 100%;
}

section.story-description {
	flex-grow: 1;
	padding: 0.5rem 0.25rem;
	text-align: center;
	width:100%;
	display: block;
}

section.story-info {
	flex-grow: 1;
	padding: 0.5rem 0.25rem;
	text-align: center;
	width:100%;
	display: block;
}

section.story-extra-info {
	width: 100%;
	display: flex;
	flex-direction: row;
}

section.story-extra-info > section {
	flex-grow: 1;
	flex-shrink: 1;
	padding: 0.5rem 4px;
	text-align: center;
}

.pagenav {
	justify-content: center;
	font-size: 1.2rem;
	margin: 2em 0.5em;
	min-height: 2em;
	display: flex;
	flex-direction: row;
	flex-grow: 0;
}

.pagenav:first-child {
	margin-top: 0;
}

.pagenav > a{
	display: block;
	height: 100%;
	padding: 0.25em;
}

.pagenav > a:first-child:not(.pagenum) {
	border-radius: 1em 0 0 1em;
}

.pagenav > a:last-child:not(.pagenum) {
	border-radius: 0 1em 1em 0;
}

.pagenav > .pagenum {
	height: 100%;
	padding: 0.25em;
}

.pagenav > :not(:last-child) {
	border-left: 1px solid black;
	border-top: 1px solid black;
	border-bottom: 1px solid black;
}

.pagenav > :last-child {
	border: 1px solid black;
}

.pagenav > a, .pagenav > .pagenum {
	text-align: center;
}

section.story-extra-info > section:not(:first-child) {
	border-color: black;
}

.story-footer {
	width: 100%;
	margin: 0;
	padding-top: 0.25em;
	display: flex;
	flex-direction: column;
	align-items: center;
	border-top-style: solid;
	border-top-width: 1px;
	border-top-color: black;
}


@media (max-width:849px) {
	.pagenav {
		width: 100%;
		font-size: 1rem;
	}
	
	.pagenav > a, .pagenav > .pagenum {
		width: 33.333333333%;
	}
	
	.pagenav > .pagenum {
		flex-grow: 1;
		max-width: 50%;
	}
	
	
}

@media screen and (min-width: 500px) {
	section.story-extra-info > section:not(:first-child) {
		border-left-width: 1px;
		border-left-style: solid;
	}
}
	
@media screen and (max-width: 499px) {
	section.story-extra-info {
		flex-direction: column;
	}
	
	section.story-extra-info > section:not(:first-child) {
		padding: 2px;
		border-top-width:1px;
		border-top-style:solid;
	}
	
	.story-heading:not(#main-story-heading) {
		margin: 0 0 0.5em;
	}
}