.spaced-list {
	padding-right:30px;
	text-align:justify;
}
.spaced-list li {
	margin-bottom: 10px
}

body {
	display: block;
	margin: 0;
	padding: 0;

	font-family: "Liberation Sans", Arial, sans-serif;
	font-size: 1.1em;
	line-height: 1.4;

	color: #444;
	background-color: #eee;
	overflow-x: hidden;
	overflow-y: scroll;
	scroll-behavior: smooth;
}

header {
	width: 100%;
	display: inline-block;
	margin: 0;
	padding: 0;

	font-size: 1.4em;
	background-color: #3535a5;
	color: white;
	text-align: center;
}
@media only screen and (max-width: 640px) {
	header {
		display: none;
	}
}
header h1 {
	margin-left: 8px;
	margin-right: 8px;
/*	filter:
		drop-shadow(-1px 1px 0px black)
		drop-shadow(-2px 2px 0px black)
		drop-shadow(-3px 3px 0px black)
	;*/
	font-family: "Liberation Serif", serif;
	text-transform: capitalize;
	font-style: italic;
}
header img {
	width: 100px;
	vertical-align: middle;
	position: absolute;
	top: 16px;
	left: 16px;
}
@media only screen and (max-width: 960px) {
	header img {
		display: none;
	}
}

body > nav {
	position: sticky;
	position: -webkit-sticky;
	z-index: 1000;
	box-shadow: 0px 4px 4px rgba(0,0,0,0.5);
}
nav {
	top: 0;
	width: 100%;

	color: white;
	background-color: #252575;
}
nav ul {
	list-style-type: none;
	max-width: 1080px;
	margin: auto;
	margin-top: 0;
	margin-bottom: 0;
	padding: 0;
	overflow: hidden;
}
nav li {
	float: left;
}
nav:not(.in-page-nav) li:nth-last-child(1), nav:not(.in-page-nav) li:nth-last-child(2) {
	float: right;
}
nav li a {
	display: block;
	color: white;
	text-align: center;
	padding: 12px 16px;
	text-decoration: none;
}
nav a, nav a:visited {
	color: inherit;
}
nav a:hover:not(.active) {
	background-color: #151565;
}
.active {
	background-color: #3535a5;
}

h1, h2 {
	text-transform: uppercase;
	font-family: "Liberation Serif", serif;
}
main h1:first-child, main h2:first-child {
	margin-top: 0px;
	text-align: left;
}

.large-list {
	column-count: 3;
	text-align: left;
}
@media only screen and (max-width: 960px) {
	.large-list {
		column-count: 2;
	}
}
@media only screen and (max-width: 480px) {
	.large-list {
		column-count: 1;
	}
}

.dropdown {
	display: none;
}

@media only screen and (max-width: 640px) {
	.dropdown {
		display: block;
		width: 90%;
		padding: 14px 16px;

		background-color: #252575;
		color: white;
	}
	.dropdown button {
		outline: none;
		position: absolute;
		top: 0.6em;
		right: 14px;
		width: 48px;
		height: 32px;
		cursor: pointer;

		background-color: #252575;
		border: 1px solid white;

		padding-top: 4px;
		padding-left: 7px;
	}
	.icon-bar {
		display: block;
		width: 32px;
		height: 2px;
		background-color: white;
	    margin-bottom: 4px;
	}
	.dropdown-content {
		position: absolute;
		top: calc(1em + 34px);
		left: 0;
		display: none;
		width: 100%;
		height: 0vh;
		max-height: max-content;
		overflow-y: hidden;

		background-color: #252575;
		box-shadow: 0px 8px 8px 0px rgba(0,0,0,0.3);
	}
	.dropdown-content.shown {
		animation: drop-down 0.5s ease;
		height: max-content;
	}
	.dropdown-content.hidden {
		animation: drop-up 0.5s ease;
		height: 0vh;
	}
	.dropdown-content ul {
		width: 100%;
	}
	.dropdown-content ul li {
		width: 100%;
		border-top: 1px solid white;
	}
}
        
hr {
	height: 2px;
	border: none;
	background-color: gray;
}

details {
	margin-bottom: 8px;
	margin-left: 2px;
}
summary {
	cursor: pointer;
	outline: none;
}

main {
	display: flow-root;
	text-align: justify;
	background-color: #fff;
}

main article {
	max-width: 1080px;
	margin: auto;
	margin-top: 32px;
	margin-bottom: 32px;
}

a {
	color: #3535a5;
}

footer ul {
	list-style: none;
	padding-left: 0px;
}
footer ul li {
	margin-bottom: 8px;
}
footer img.tall {
	display: block;
}
footer img.wide {
	display: none;
}
footer .latest-news {
	border-left: 4px solid gray;
	padding-left: 8px;
	cursor: pointer;
	color: #666;
}
@media only screen and (max-width: 960px) {
	footer img.tall {
		display: none;
	}
	footer img.wide {
		display: block;
	}
}
@media only screen and (max-width: 480px) {
	footer img.tall {
		display: block;
	}
	footer img.wide {
		display: none;
	}
}

.home-page {
	max-width: 750px;
	margin-left: auto;
	margin-right: auto;
}
.home-page h1 {
	text-align: center;
	font-size: 2.2em;
	margin-top: 0px;
	margin-bottom: 0px;
/*	text-transform: capitalize;*/
/*	font-style: italic;*/
}
.home-page .supertitle {
	display: block;
	width: 100%;
	font-size: 1.1em;
	text-align: center;
}
.home-page .subtitle {
	margin-bottom: 32px;
	display: block;
	width: 100%;
	font-size: 1.1em;
	text-align: center;
}
.name {
/*	text-transform: uppercase;*/
	font-style: italic;
	font-family: serif;
	font-size: 14pt;
}
.home-page img {
	display: block;
	margin: auto;
}
.home-page small {
	text-align: center;
	display: block;
	margin: auto;
}
.home-page button {
	max-width: calc(50% - 4px);
	display: inline-block;
}
@media only screen and (max-width: 640px) {
	.home-page img {
		display: block;
		width: 100%;
		max-width: 100%;
		text-align: left !important;
		float: none !important;
		padding-top: initial !important;
	}
	.home-page button {
		max-width: 100%;
		display: block;
	}
	.home-page .name {
		display: initial;
	}
}

.home-page .slides {
	position: relative;
	margin: auto;
	height: 380px;
	text-align: center;
}
.home-page .slide {
	position: absolute;
	left: 0;
	right: 0;
}
.home-page .slide.shown {
	display: block;
	animation-name: fade-in;
	animation-duration: 1.5s;
}
.home-page .slide.hidden {
	animation-name: fade-out;
	animation-duration: 1.5s;
	visibility: hidden;
}
.home-page .slide img {
	min-height: 350px;
	height: 350px;
	max-height: 350px;
}
@keyframes fade-in {
	from {opacity: .4}
	to {opacity: 1}
}
@keyframes fade-out {
	from {opacity: 1; visibility: visible;}
	to {opacity: .0; visibility: hidden;}
}

.slide-title {
	color: #3535a5;
	font-weight: bold;
	font-size:1.2em;
}

.good {
	color: #35a535;
}
.error {
	color: #a53535;
}

form {
	width: 100%;
	max-width: 512px;
}
@media only screen and (max-width: 1280px) {
	form {
		max-width: 100%;
	}
}
form input, form textarea, form select, form select option, .nice-select {
	width: 100%;
	max-width: 512px;
	height: 3em;
	padding-left: 8px;
	padding-right: 8px;
	margin-bottom: 8px;
	outline: none;
	box-sizing: border-box;
	font-size: 1em;
	border: 2px solid #888;
	background-color: white;
}
form input[type=submit] {
	background-color: #3535a5;
	color: white;
	font-weight: bold;
	border: 2px solid #3535a5;
}
form input[type=submit]:hover, form input[type=submit]:focus {
	background-color: #252585;
	cursor: pointer;
	border: 2px solid #252585;
}
form input[type=submit]:active {
	background-color: white;
	color: #3535a5;
	border: 2px solid #3535a5;
}
form input[type=submit]:disabled {
	background-color: #757585;
	border: 2px solid #757585;
	cursor: not-allowed;
}
form input[type=file] {
	border: none;
	padding-left: 0px;
}
form input[type=file]::file-selector-button {
	outline: none;
	color: white;
	background-color: #3535a5;
	border: 2px solid #3535a5;
	padding: 14px;
}
form input[type=file]::file-selector-button:hover {
	outline: none;
	background-color: #252585;
	border: 2px solid #252585;
	cursor: pointer;
}
form textarea {
	padding: 8px;
	font-family: inherit;
	height: 6em;
}
@media only screen and (max-width: 1280px) {
	form input {
		max-width: 100%;
	}
}

button {
	display: block;
	width: 100%;
	max-width: 512px;
	height: 3em;
	padding-left: 8px;
	padding-right: 8px;
	margin-bottom: 8px;
	outline: none;
	box-sizing: border-box;
	font-size: 1em;

	background-color: #3535a5;
	color: white;
	font-weight: bold;
	border: 2px solid #3535a5;
}
button:focus, button:hover {
	background-color: #252585;
	cursor: pointer;
	border: 2px solid #252585;
}
@media only screen and (max-width: 1280px) {
	button {
		margin-left: auto;
		margin-right: auto;
		width: 100%;
		max-width: 750px;
	}
}

.subscription-box {
	display: inline-block;
	vertical-align: top;
	width: calc(50% - 20px);
	padding: 8px;
}
.subscription-box h3 {
	margin-top: 0px;
}
@media only screen and (max-width: 720px) {
	.subscription-box {
		display: block;
		width: 100%;
		padding: 0;
	}
}
@media only screen and (max-device-width: 960px) {
	form {
		width: 100%;
	}
	.subscription-box {
		display: block;
		width: 100%;
		padding: 0;
	}	
}

#smart-button-container {
	text-align: center;
	width: 512px;
}
@media only screen and (max-width: 1280px) {
	#smart-button-container {
		width: 100%;
	}
}

footer {
	margin: auto;
}
footer > div {
	max-width: 1080px;
	margin: auto;
	padding: 2em 0px;
}
footer > div > div {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	grid-column-gap: 1em;
}
@media only screen and (max-width: 960px) {
	footer > div > div {
		grid-template-columns: repeat(2, 1fr);
	}
	footer > div > div > div:last-child {
		grid-column: span 2;
	}
}
@media only screen and (max-width: 640px) {
	footer > div > div {
		grid-template-columns: repeat(1, 1fr);
	}
	footer > div > div > div:last-child {
		grid-column: span 1;
	}
}

@media only screen and (max-width: 1280px) {
	main > article, footer > div {
		width: 90%;
	}
}
@media only screen and (max-device-width: 960px) {
	header {
		font-size: 1.1em;
	}
}

.loader {
	margin: auto;
	border: 12px solid #bbb;
	border-top: 12px solid #3535a5;
	border-radius: 50%;
	width: 60px;
	height: 60px;
	animation: spin 2s linear infinite;
}
@keyframes spin {
	0% { transform: rotate(0deg); }
	100% { transform: rotate(360deg); }
}

.pagination {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	text-align: center;
}
.pagination a {
	background-color: #3535a5;
	color: white;
	text-decoration: none;
	padding: 8px 12px;
	display: inline-block;
	font-weight: bold;
}
.pagination span:first-child {
	text-align: left;
}
.pagination span:last-child {
	text-align: right;
}

.timeline {
	display: block;
	width: fit-content;
	text-align: center;
}
.timeline a {
	text-decoration: none;
}
.timeline-year {
	padding: 14px 16px;
	width: 10vw;
	max-width: 125px;
	height: 10vw;
	max-height: 125px;
	display: inline;
	margin: 4px;
	transition: 0.5s;
	position: relative;
	top: 0px;
}
.timeline-year:hover {
	position: relative;
	box-shadow: 0px 4px 4px rgba(0,0,0,0.5);
	top: -4px;
}
@media only screen and (max-width: 960px) {
	.timeline-year {
		width: calc(33vw - 41px);
		max-width: calc(50vw - 40px);
		height: auto;
		max-heigth: initial;
	}
}
@media only screen and (max-width: 640px) {
	.timeline-year {
		width: calc(50vw - 40px);
	}
}

.listing {
	border-bottom: 1px solid #888;
	padding: 8px;
}
.listing:hover {
	background-color: #eef;
}
.listing .id-num {
	font-size: medium;
	vertical-align: top;
	margin-right: 4px;
}
.listing b {
	font-size: 1.2em;
}
.listing a {
	cursor: pointer;
	padding-left: 8px;
	padding-right: 8px;
	text-decoration: none;
	color: initial;
}
.listing-attr {
	margin: 8px;
	margin-bottom: 0px;
	font-weight: bold;
	color: black;
	vertical-align: top;
	text-align: left;
}
.listing-attrs {
	margin-bottom: 8px;
	display: grid;
	grid-template-columns: repeat(5, 1fr);
	grid-column-gap: 1em;
}
@media only screen and (max-width: 960px) {
	.listing-attrs {
		grid-template-columns: repeat(2, 1fr);
	}
}
@media only screen and (max-width: 640px) {
	.listing-attrs {
		grid-template-columns: repeat(1, 1fr);
	}
}
.listing-attr span {
	display: block;
	font-weight: normal;
	color: #3535a5;
}
.listing .synopsis {
	padding-left: 8px;
	padding-right: 8px;
}
.listing .synopsis span {
	display: block;
	font-weight: bold;
	color: black;
}

#notice {
	color: white;
	margin: 8px 0px 16px 0px;
	padding: 8px 32px;
	background-color: #272828;
	border-left: solid #fff500;
	border-width: 0px 0px 0px 10px;
	border-image: repeating-linear-gradient(25deg, transparent 0, #fff500 1px, #fff500 10px, transparent 11px, transparent 20px) 25;
}

.in-page-nav li {
	width: 25%;
	z-index: 9999;
}
#whats-on-menu li {
	width: calc(100% / 4);
	cursor: pointer;
}
#whats-on-menu li ul {
	position: relative;
	display: none;
}
#whats-on-menu .drop:hover {
	background-color: #151565;
}
#whats-on-menu .drop:hover ul {
	position: absolute;
	background-color: #252575;
	display: block;
	width: 22.5%;
	max-width: 270px;
	box-shadow: 0px 16px 16px rgba(0,0,0,0.5);
	z-index: 99999;
}
#whats-on-menu .drop ul li {
	width: 100%;
}
@media only screen and (max-width: 640px) {
	#whats-on-menu .drop a {
		display: none;
	}
	#whats-on-menu .drop ul {
		position: initial;
		display: block;
	}
	#whats-on-menu .drop:hover {
		background-color: transparent;
		max-width: 100%;
	}
	#whats-on-menu .drop:hover ul {
		position: initial;
		background-color: transparent;
		max-width: 100%;
		width: 100%;
	}
	#whats-on-menu .drop ul li {
		width: 100%;
	}
	#whats-on-menu .drop ul li a {
		display: block;
	}
	.in-page-nav, #whats-on-menu .drop {
		background-color: transparent;
	}
	.in-page-nav li, #whats-on-menu li {
		background-color: #252575;
		width: 100%;
		margin-bottom: 8px;
		display: block;
	}
	#whats-on-menu .drop {
		margin-bottom: 0px;
	}
}

iframe.magazine-pdf-iframe {
	width: 100%;
	height: calc(95vh - 1em - 32px);
	resize: both;
}

.issues {
	display: grid;
	grid-template-columns: repeat(3,1fr);
}
.issue {
	display: inline-block;
	color: initial;
	text-decoration: none;
	padding: 8px;
	border-left: 4px solid #888;
	margin-bottom: 8px;
	margin-right: 8px;
	vertical-align: top;
	text-align: left;
}
@media only screen and (max-width: 960px) {
	.issues {
		grid-template-columns: repeat(2,1fr);
	}
}
@media only screen and (max-width: 480px) {
	.issues {
		grid-template-columns: repeat(1,1fr);
	}
}
.issue:hover {
	background-color: #eee;
}
.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;
}
@media only screen and (max-width: 640px) {
table tr.unread {
	border-left: 2px solid #a53535;
}
table tr.unread td:nth-child(1) {
	display: none;
}
/*table tr.unread td:nth-child(2)::before {*/
/*	color: #a53535;*/
/*	content: '•';*/
/*	vertical-align: middle;*/
/*}*/
}
table tr:not(.table-heading) {
	cursor: pointer;
}
table tr:hover:not(.table-heading) {
	background-color: #eee;
}
table th {
	color: #252575;
}
table th.sorter {
	cursor: pointer;
}
table th.sorter.asc::after {
	content: '\ \02BC6';
}
table th.sorter.desc::after {
	content: '\ \02BC5';
}
table td, table th {
	text-align: left;
	padding-left: 8px;
	padding-right: 8px;
}
@media only screen and (max-width: 960px) {
	table .nosmall {
		display: none;
	}
	table td {
		overflow:hidden;
	}
}
@media only screen and (max-width: 640px) {
	table td, table th {
		display: block;
	}
	table td:nth-child(1) {
		font-weight: bold;
	}
	table .notiny {
		display: none;
	}
}

span.edinburgh, .latest-prods.edinburgh td:nth-child(2) {
	color: #750075;
}

.admin-panel, .admin-panel * {
	max-width: 100%;
	width: 100%;
}
.admin-panel input[type=radio], .admin-panel input[type=checkbox] {
	width: 10%;
	vertical-align: middle;
	accent-color: #3535a5;
}
.admin-panel input[type=checkbox] {
	width: 3em;
}
.admin-panel textarea {
	resize: vertical;
}
.admin-panel label {
	text-align: left;
	font-size: 0.9em;
}
.admin-panel table input {
	margin: 0px;
}
.admin-panel table tr#dragging {
	background: #7F7F7F;
}

.issue-info {
	margin-bottom: 20px;
}
.issue-info h2 {
	display: inline-block;
	width: calc(75% - 4px);
	margin-bottom: 0px;
}
.issue-info span {
	display: inline-block;
	width: calc(25% - 4px);
	text-align: right;
}
.issue-info div {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
}
.issue-info div span {
	width: 100%;
}
.issue-info div span a {
	background-color: #3535a5;
	color: white;
	text-decoration: none;
	padding: 8px 12px;
	display: inline-block;
	visibility: hidden;
	font-weight: bold;
}
.issue-info div span a:hover {
	background-color: #252585;
}
@media only screen and (max-width: 640px) {
	.issue-info h2 {
		display: block;
		width: 100%;
		text-align: center;
	}
	.issue-info > span {
		display: none;
	}
}

.production {
	margin-bottom: 12px;
}
.production .title, .production .tag {
	text-align: center;
	display: block;
	color: #3535a5;
	margin-bottom: 4px;
}
.production .title {
	font-size: 2em;
	line-height: 1;
	margin-bottom: 12px;
}
.production .location {
	color: #3535a5;
	display: block;
	text-align: center;
	font-size: 1.5em;
}
.production .features {
	display: grid;
	grid-template-columns: repeat(4,1fr);
	width: 100%;
	margin-top: 16px;
}
.production .feature {
	vertical-align: top;
	display: inline-block;
	margin-top: 6px;
	margin-bottom: 6px;
	margin-left: 8px;
	margin-right: 8px;
	word-wrap: break-word;
	text-align: left;
}
.production .wide-feature {
	grid-column: span 2;
}
.production .feature b {
	display: block;
}
@media only screen and (max-width: 1080px) {
	.production .features {
		grid-template-columns: repeat(3,1fr);
	}
}
@media only screen and (max-width: 800px) {
	.production .features {
		grid-template-columns: repeat(2,1fr);
	}
}
@media only screen and (max-width: 640px) {
	.production .features {
		grid-template-columns: repeat(1,1fr);
	}
	.production .wide-feature {
		grid-column: span 1;
	}
}
.production .synopsis {
	margin-top: 16px;
	margin-bottom: 16px;
}
.production .cover-img {
	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;
}
@media only screen and (max-width: 640px) {
	.production .cover-img, .production .img-txt {
		display: block;
		width: 100%;
		max-width: 100%;
		margin-left: auto;
		margin-right: auto;
		padding-left: 0px;
		padding-right: 0px;
	}
}
.production .section {
	display: block;
	color: #3535a5;
	font-size: 1.5em;
}
@media only screen and (max-device-width: 960px) {
	.production, .review, .production .img-txt, .production .cover-img {
		width: 100%;
		max-width: 100%;
	}
	.production .cover-img {
		width: initial;
		display: block;
		margin-left: auto;
		margin-right: auto;
	}
	.production .img-txt {
		text-align: center;
		margin-bottom: 8px;
		padding-left: 0px;
	}
}

.expander {
	display: block;
	width: 100%;
	text-align: center;
	padding-top: 24px;
	padding-bottom: 24px;
	border-top: 2px solid gray;
	border-bottom: 2px solid gray;
}
.expander:hover {
	background-color: #eee;
	cursor: pointer;
}

.review .meta {
	margin-top: 2px;
	border-top: 2px solid gray;
}
.review .unread {
	border-left: 4px solid #a53535;
}
.review .meta b, .review .meta span {
	display: block;
	margin-left: 4px;
}
.review .meta b {
	color: #3535a5;
}
.review .meta:hover {
	background-color: #eee;
	cursor: pointer;
}
.review .meta::before, .expander::before {
	content: '\02795';
	font-size: 16px;
	font-weight: bold;
	color: #777;
	float: right;
	position: relative;
	right: 8px;
	top: calc(1.5em + 2px);
}
.expander::before {
	top: 2px;
}
.review .expanded:before, .expander.expanded:before {
	content: '\02796';
}
.review .content {
	text-align: justify;
	overflow: hidden;
	max-height: 0;
	transition: max-height 0.5s ease-out;
	border-top: 2px solid gray;
}

@media only screen and (max-width: 640px) {
	.notiny {
		display: none;
	}
}
@media only screen and (max-width: 640px) {
	.nosmall {
		display: none;
	}
}


/* Dark mode */
@media (prefers-color-scheme: dark) {
	body {
		color: #ddd;
		background: #111;
	}
	main {
		background: #222;
	}
	a {
		color: #88f;
	}
	.slide-title {
		color: #88f;
	}
	.production .title, .production .tag, .production .location, .production .section, .review .meta b {
		color: #88f;
	}
	table th {
		color: #88f;
	}
	table tr:not(.table-heading):hover {
		background: #333;
	}
	footer .latest-news {
		color: #999;
	}
	span.edinburgh, .latest-prods.edinburgh td:nth-child(2) {
		color: #848;
	}

	.review .meta:hover, .expander:hover {
		background: #333;
	}

	.listing:hover {
		background: #333;
	}
	.listing-attr, .listing .synopsis span, .listing a {
		color: #ddd;
	}
	.listing-attr span {
		color: #88f;
	}

	.issue {
		color: #ddd;
	}
	.issue:hover {
		background: #333;
	}

	.subscription-box img {
		filter: invert(1);
	}

	form input, form select, form select option, form textarea {
		color: #eee;
		background: #111;
	}
	form input[type=submit]:active {
		background:#224;
		color: #eee;
	}
}
