@page {
	size: a4;
}
body {
	font-size: 12pt;
	padding-bottom: 1.1em;
}
header, nav, aside, footer {
	display: none;
}
hr {
	height: 2px;
	border: none;
	background-color: gray;
}

main {
	display: block;
	max-width: 1080px;
	margin: auto;
	margin-top: 0px;
	text-align: justify;
}

article {
	width: 100%;
	display: block;
}

.front-page {
	display: block;
	break-after: page;
}

.issue {
	display: inline-block;
	min-width: calc((100% / 3) - 28px);
	max-width: calc((100% / 3) - 28px);
	color: initial;
	text-decoration: none;
	padding: 8px;
	border-left: 4px solid #888;
	margin-bottom: 8px;
	margin-right: 8px;
	vertical-align: top;
}
.issue h3 {
	word-wrap: break-word;
	white-space: break-spaces;
	margin: 0;
	text-align: left;
}

table {
	border-collapse: collapse;
}
table tr {
	border-bottom: 1px solid #888;
}
table tr:not(.table-heading) {
	cursor: pointer;
}
table th {
	color: #252575;
}
table td, table th {
	text-align: left;
	padding-left: 8px;
	padding-right: 8px;
}
table td a {
	text-decoration: none;
}

.noprint {
	display: none;
}

.production {
	margin-bottom: 12px;
	break-before: page;
	break-after: page;
}
.production .title, .production .tag {
	text-align: center;
	display: block;
	color: #3535a5;
}
.production .title {
	font-size: 2em;
}
.production .location {
	color: #3535a5;
	display: block;
	text-align: center;
	font-size: 1.5em;
}
.production .features {
	display: table;
	width: 100%;
}
.production .feature {
	vertical-align: top;
	display: inline-table;
	min-width: calc(25% - 16px);
	margin-top: 4px;
	margin-bottom: 4px;
	margin-left: 8px;
	margin-right: 8px;
	word-wrap: break-word;
	max-width: calc(25% - 16px);
	font-size: 12px;
	text-align: left;
}
.production .feature b {
	display: block;
	font-size: 14px;
}
@media only screen and (max-width: 640px) {
	.production .feature {
		display: block;
		max-width: 90%;
	}
}
.production .synopsis {
	margin-bottom: 16px;
}
.production .cover-img {
	padding-top: 1px;
	margin-left: auto;
	max-width: 50%;
	max-height: 350px;
	display: inline-block;
	vertical-align: middle;
}
.production .img-txt {
	display: inline-block;
	width: calc(50% - 32px);
	vertical-align: middle;
	padding-left: 24px;
	white-space: break-spaces;
	text-align: left;
}
.production .section {
	display: block;
	color: #3535a5;
	font-size: 1.5em;
}

#reviews a {
	display: none !important;
}

.review {
	display: block;
	margin-bottom: 1em;
	padding-top: 2px;
}

.review .meta {
	display: block;
	margin-top: 2px;
	border-top: 2px solid gray;
	border-bottom: 2px solid gray;
	margin-bottom: 0.5em;
	break-inside: avoid;
	break-after: avoid;
	break-before: avoid;
}
.review .meta b, .review .meta span {
	display: block;
	margin-left: 4px;
}
.review .meta b {
	color: #3535a5;
}
.review .meta::before {
	content: '';
}
.review .expanded:before {
	content: '';
}
.review .content {
	text-align: justify;
	max-height: max-content;
	transition: max-height 0.5s ease-out;
	border-top: 0px;
	break-before: avoid;
}
