/* Static rebuild of the old pluck theme (data/themes/paroda/style.css).
   Layout and colours are unchanged; the gallery and the paged reader are
   now plain CSS + JS instead of jQuery galleryView / jquery.tools. */

body {
	font-family: "Lucida Grande", "Lucida Sans Unicode", Arial, Verdana, sans-serif;
	margin: 0;
	background-color: #236240;
	color: #5f9967;
}

a:link, a:visited {
	text-decoration: none;
	color: #5f9967;
}

a:hover {
	text-decoration: none;
	color: #ffffff;
}

a { outline: none; }
img { border: none; }

#wrapper {
	padding-left: 10px;
	padding-right: 10px;
	width: 930px;
	margin: auto;
}

/* Return to the parent site. It sits above the bar rather than in it:
   the organisation's full name is wider than the room left in #menu. */
#backlink {
	padding-top: 14px;
	font-size: 13px;
	letter-spacing: .5px;
}

#backlink a:link,
#backlink a:visited { color: #4d8355; }

#backlink a:hover,
#backlink a:focus { color: #ffffff; }

#menu_wrapper {
	width: 930px;
	height: 40px;
	margin-top: 12px;
	border-bottom: 1px solid #11bb22;
}

#menu {
	width: 670px;
	height: 30px;
	float: left;
	font-size: 17px;
	margin: 0 0 0 -1px;
	padding: 0;
}

#menu li {
	float: left;
	display: block;
	list-style: none;
	margin-right: 30px;
}

#menu li.active a { color: #ffffff; }

#logo {
	width: 260px;
	height: 30px;
	float: left;
	color: #ffffff;
	font-size: 18px;
	text-align: right;
}

#up-line {
	width: 930px;
	height: 2px;
	border-top: 1px solid #465f3f;
}

#down-line {
	width: 930px;
	height: 2px;
	border-bottom: 1px solid #465f3f;
}

#content {
	width: 930px;
	height: 550px;
	background-color: #465f3f;
	overflow: hidden;
	font-size: 13px;
	position: relative;
}

/* ---------------------------------------------------------------- gallery */

.gallery {
	position: relative;
	width: 930px;
	height: 550px;
}

.gallery-stage {
	position: relative;
	margin: 0;
	padding: 0;
	list-style: none;
	width: 930px;
	height: 466px;
	overflow: hidden;
}

.gallery-slide {
	position: absolute;
	top: 0;
	left: 0;
	width: 930px;
	height: 466px;
	opacity: 0;
	transition: opacity .6s ease-in-out;
}

.gallery-slide.is-current { opacity: 1; }

.gallery-slide img {
	display: block;
	width: 930px;
	height: 466px;
	object-fit: contain;
}

.gallery-nav {
	position: absolute;
	top: 233px;
	margin-top: -40px;
	width: 44px;
	height: 80px;
	border: 0;
	padding: 0;
	cursor: pointer;
	font-size: 34px;
	line-height: 80px;
	color: #ffffff;
	background: rgba(0, 0, 0, .35);
	opacity: 0;
	transition: opacity .2s;
}

.gallery:hover .gallery-nav,
.gallery-nav:focus { opacity: 1; }

.gallery-prev { left: 0; }
.gallery-next { right: 0; }
.gallery-nav:hover { background: rgba(0, 0, 0, .6); }

.gallery-thumbs {
	margin: 0;
	padding: 7px 0 0 0;
	list-style: none;
	height: 77px;
	white-space: nowrap;
	overflow-x: auto;
	overflow-y: hidden;
	text-align: center;
}

.gallery-thumbs li { display: inline-block; margin: 0 3px; }

.gallery-thumbs button {
	display: block;
	padding: 0;
	border: 1px solid transparent;
	background: none;
	cursor: pointer;
	line-height: 0;
	opacity: .55;
	transition: opacity .2s;
}

.gallery-thumbs button:hover { opacity: 1; }

.gallery-thumbs button.is-current {
	opacity: 1;
	border-color: #ffffff;
}

.gallery-thumbs img { width: 90px; height: 64px; object-fit: cover; }

/* ----------------------------------------------------------- paged reader */

#left_wrapper { float: left; overflow: hidden; }

#right_wrapper {
	float: left;
	overflow: hidden;
	padding-left: 20px;
}

.reader {
	width: 400px;
	height: 490px;
	overflow: hidden;
	position: relative;
	text-align: justify;
	padding-left: 10px;
}

.reader-pages { margin: 0; padding: 0; list-style: none; }
.reader-pages li { display: none; }
.reader-pages li.is-current { display: block; }

#actions {
	padding-top: 10px;
	padding-left: 10px;
	color: #ffffff;
	width: 400px;
}

#actions button {
	border: 0;
	background: none;
	color: #ffffff;
	cursor: pointer;
	font-family: inherit;
	font-size: 13px;
	padding: 0;
}

#actions button:hover { color: #b9e8c4; }
#actions button[disabled] { color: #5f9967; cursor: default; }

.reader-count { padding: 0 18px; }

/* Without JS every page is visible rather than none of them. */
.no-js .reader-pages li { display: block; }
.no-js #actions { display: none; }
.no-js .reader { height: auto; overflow: visible; }
.no-js .gallery-slide { position: static; opacity: 1; }
.no-js .gallery-stage { height: auto; }
.no-js .gallery-nav { display: none; }

@media (prefers-reduced-motion: reduce) {
	.gallery-slide { transition: none; }
}

/* ------------------------------------------------------------- sponsors */

.sponsors {
	margin: 0;
	padding: 0 10px;
	list-style: none;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 20px 60px;
}

.sponsors li {
	display: flex;
	align-items: center;
	gap: 14px;
	line-height: 1.4;
}

.wide-photo { margin: 14px 0 0; }
.wide-photo img { display: block; width: 100%; height: auto; }

/* ==========================================================================
   Mobile / responsive
   The layout above is the original fixed 930px exhibition theme. Below that
   the columns stack and the gallery and reader go fluid.
   ========================================================================== */

html {
	-webkit-text-size-adjust: 100%;
	text-size-adjust: 100%;
}

img { max-width: 100%; }

/* There is no hover on a touch screen, so the arrows have to stay visible. */
@media (hover: none) {
	.gallery-nav { opacity: .85; }
}

@media (max-width: 959px) {
	#wrapper {
		width: auto;
		max-width: 930px;
		padding-left: 14px;
		padding-right: 14px;
	}

	#menu_wrapper {
		width: auto;
		height: auto;
		padding-bottom: 8px;
	}

	#menu {
		width: auto;
		height: auto;
		float: none;
		display: flex;
		flex-wrap: wrap;
		gap: 6px 24px;
		font-size: 16px;
	}

	#menu li { float: none; margin-right: 0; }

	#logo {
		width: auto;
		height: auto;
		float: none;
		text-align: left;
		padding-top: 8px;
		font-size: 16px;
	}

	#up-line, #down-line { width: auto; }

	#content {
		width: auto;
		height: auto;
	}

	/* Gallery: keep the panel's 930x466 proportions instead of its pixels. */
	.gallery { width: auto; height: auto; }

	.gallery-stage {
		width: auto;
		height: auto;
		aspect-ratio: 930 / 466;
	}

	.gallery-slide { width: 100%; height: 100%; }
	.gallery-slide img { width: 100%; height: 100%; }

	.gallery-nav {
		top: 50%;
		transform: translateY(-50%);
		margin-top: 0;
		/* Revealing these on hover is useless on a phone. Width is a more
		   reliable signal than (hover: none), which some devices get wrong. */
		opacity: .85;
	}

	/* Reader: text above, photo below. */
	#left_wrapper, #right_wrapper {
		float: none;
		width: auto;
		padding-left: 0;
	}

	.reader {
		width: auto;
		height: auto;
		padding-left: 0;
	}

	#actions { width: auto; padding-left: 0; }

	#right_wrapper {
		padding-top: 16px;
		padding-bottom: 16px;
	}
	#right_wrapper img { display: block; width: 100%; height: auto; }
}

/* The organisation's name is 298px; below this it would wrap to two lines. */
@media (max-width: 360px) {
	#backlink {
		font-size: 12px;
		letter-spacing: 0;
	}
}

@media (max-width: 600px) {
	#content { font-size: 15px; }

	#menu { font-size: 15px; gap: 6px 18px; }
	#logo { font-size: 15px; }

	.reader { text-align: left; }

	.gallery-thumbs {
		height: 58px;
		padding-top: 6px;
	}
	.gallery-thumbs img { width: 64px; height: 46px; }

	.gallery-nav { width: 36px; height: 64px; font-size: 26px; line-height: 64px; }

	.sponsors {
		gap: 18px;
		padding: 0;
		font-size: 14px;
	}
	.sponsors li { flex: 1 1 100%; justify-content: center; }
}
