/* generic layout */
html {
	background: #8f8f8f;
	color: #000;
	padding: 0;
	margin: 0;
}
body {
	background: #fff url(MultiBack.jpg) no-repeat scroll 0 0;
	color: #000;
	width: 45em;
	max-width: 93%;
	padding: 168px 8px 8px 8px;
	margin: 5px auto;
	border: solid #555;
	border-width: 0 5px 5px 0;
}
h1 em {
	font-style: normal;
	display: block;
}
a {
	text-decoration: underline;
	color: #00c;
}
a:hover {
	text-decoration: none;
}
a:visited {
	color: #800080;
}
img {
	border: 1px solid;
}
img[usemap], img.partflow {
	border-width: 0;
}

/* command line instructions */
dd pre {
	white-space: pre-wrap;
}

/* cave descriptions */
#metainfo {
	border-bottom: 1px solid #777;
}
dfn {
	font-style: normal;
	font-weight: bold;
}

/* navigation block */
#navig {
	float: right;
	width: 15em;
	padding: 5px;
	margin-left: 1em;
	background: #fff;
	border: solid #777;
	border-width: 1px 0 1px 1px;
}
#navig h2 {
	margin-top: 0.2em;
}
#navig ul, #navig ol, #navig li {
	margin: 0;
	padding: 0;
}
#navig li {
	display: block;
	margin-left: 0;
}
#navig ol li {
	display: list-item;
	margin-left: 1.2em;
}
#navig ol.beyond10 li {
	margin-left: 2em;
}
#navig ol ol ol {
	display: none;
}
#navig li.printinfo a {
	display: inline-block;
	padding-left: 27px;
	min-height: 22px;
	background: transparent url(print.png) no-repeat scroll left top;
}
li.external {
	list-style-image: url(external.png);
}

/* galleries */
cite {
	display: block;
	text-align: right;
	font-style: italic;
}
ol.thumbnails, ol.thumbnailsbig, ol.thumbnails li, ol.thumbnailsbig li, ul.giantthumb, ul.giantthumb li, ol.thumbnailsnarrow, ol.thumbnailsnarrow li {
	margin: 0;
	padding: 0;
	list-style-type: none;
}
ol.thumbnails li a {
	/* stop IE 8 from leaving a stupid gap */
	display: block;
}
	/* survey thumbs */
ul.giantthumb li {
	margin-bottom: 1em;
	clear: right; /* Firefox, Konqueror, Safari, and iCab bug - block level replaced elements should not overlap floats */
}
ul.giantthumb img {
	margin-top: 0.2em;
	display: block;
}
	/* thumbs with lots of text beside them */
ol.thumbnailsbig > li a img {
	float: left;
	margin-right: 5px;
	margin-bottom: 1em;
}
ol.thumbnailsbig cite {
	display: block;
	font-size: smaller;
	color: #999;
}
	/* normal thumbs */
ol.thumbnails > li {
	float: left;
	text-align: center;
	margin: 0 10px 10px 0;
	min-height: 135px;
}
ol.dated > li {
	min-height: 160px;
}
ol.thumbnails > li img {
	display: block;
	margin: 0 auto;
	max-width: 100px;
	max-height: 100px;
}
ol.thumbnails + *, ol.thumbnailsbig + *, .galleryend, ol.thumbnailsbig > li {
	clear: left;
}
.galleryend {
	height: 1px;
	overflow: hidden;
}
ol.thumbnails a, ol.thumbnailsbig a {
	text-decoration: none;
}
	/* linked image displayed on page */
#picDiv, #loadDiv {
	position: absolute;
	left: 50%;
	top: 0px;
	padding: 5px;
	visibility: hidden;
	margin-top: 2px;
	background: #fff;
	border: 1px solid #bbb;
	border-right: 5px solid #555;
	border-bottom: 5px solid #555;
	text-align: center;
}
#picDiv a {
	display: block;
}
#picDiv img {
	border: 1px solid #000;
	display: block;
	background: #000 url(../gallery/sayLoad.gif) no-repeat scroll 50% 80%;
}
#picDiv a:hover img {
	background-color: #777;
	background-image: url(../gallery/sayLoad2.gif);
}
	/* gallery with clip animation */
#scrollcontain {
	position: relative;
	padding-top: 1px; /* prevent margin collapse */
}
#scrollcontain #picDiv, #loadDiv {
	left: 120px;
}
#loadDiv {
	height: 420px;
}
#picDiv.willanimate, #loadDiv {
	top: -173px; /* initial position */
}
ol.thumbnailsnarrow {
	width: 112px;
}
ol.thumbnailsnarrow li {
	padding-bottom: 0.5em;
	font-style: italic;
}
ol.thumbnailsnarrow a {
	display: block;
	padding: 4px;
	border: 1px solid #fff;
	text-decoration: none;
	font-style: normal;
}
ol.thumbnailsnarrow img {
	display: block;
	margin: 0 auto;
}
ol.thumbnailsnarrow a:hover {
	background: #eee;
	border-color: #000;
}
ol.thumbnailsnarrow a.onThis, ol.thumbnailsnarrow a.onThis:hover {
	color: #000;
	background: #77f;
	border-color: #000;
}
	/* single image display */
p.singleimg img {
	display: block;
	max-width: 100%;
	height: auto;
	clear: right; /* Firefox, Konqueror, Safari, and iCab bug */
}
	/* wallpapers/tree structured thumbnails */
ol.imagelist, ol.imagelist li, ol.imagelist ol {
	display: block;
	margin: 0;
	padding: 0;
	list-style-type: none;
}
ol.imagelist .endimage {
	clear: left;
	height: 1px;
	overflow: hidden;
}
ol.imagelist ol {
	margin-left: 1.5em;
}
ol.imagelist a, ol.imagelist ins {
	text-decoration: none;
}
ol.imagelist a.sectLink img, p.wallthumb {
	float: left;
	margin: 0 5px 0 0;
}
p.wallthumb {
	margin-bottom: 1em;
}
ol.imagelist li.wallthumb {
	padding: 5px 5px 0 5px;
	background: url(thumbback.png) repeat-x scroll left top;
	position: relative;
}
ol.imagelist h5 {
	font-size: 1em;
}
li.wallthumb h3, li.wallthumb h4, li.wallthumb h5, li.wallthumb h6 {
	margin: 0 0 0.1em;
	padding-right: 3em;
	font-size: 1em;
}
li.wallthumb p.isnew {
	font-size: smaller;
	text-transform: uppercase;
	margin: 0;
	padding: 2px;
	font-weight: bold;
	position: absolute;
	top: 0;
	right: 0;
	background: yellow;
	border: solid #ddd;
	border-width: 1px 1px 0 0;
}
li.wallthumb address {
	clear: none;
	font-style: normal;
	text-align: left;
}
li.wallthumb cite {
	text-align: left;
}

/* floating images either side of text */
div.relatedimages a {
	float: left;
	margin: 0 0.4em 0.4em 0;
}
div.relatedimages a + a {
	float: right;
	margin: 0 0 0.4em 0.4em;
}

/* DL with bold titles (berger flooding notes) */
dl.imptitle {
	margin: 0 0 0 1em;
	padding: 0;
}
dl.imptitle dt {
	font-weight: bold;
	margin: 0.2em 1em 0 0;
}
dl.imptitle dd {
	margin: 0 0 0 1em;
}

/* section layout blocks on the main page */
.blocksection {
	clear: both;
}
.innerblocksection {
	float: left;
	width: 44%;
	min-width: 14em;
	margin: 0 2.4% 1em;
	border: 1px solid black;
}
.blocksection h2 {
	margin: 0;
	font-size: 1.2em;
	padding: 2px 1em;
	background: #888;
	color: #fff;
	border-bottom: 1px solid #666;
}
.blocksection ul {
	margin: 0; padding: 0;
}
.blocksection ul ul {
	padding-left: 0.8em;
}
.blocksection li {
	margin: 0.5em 0 0.5em 1.5em;
}
.blocksection li li {
	margin: 0;
	padding: 0 0 0 0.3em;
	display: inline;
	border-left: 1px solid #666;
}
.blocksection li li:first-child {
	padding: 0;
	border-left: none;
}
address {
	clear: both;
	font-style: normal;
	text-align: center;
}
/* replaced headers */
h1.novis + p {
	text-align: center;
	margin: 0.5em 0;
}

/* generic tables */
table.wider {
	clear: right;
}
table.partkey {
	float: left;
	margin-right: 5px;
}
table, td, th { 
	border: 1px solid rgb(164,164,164); 
	border-collapse: collapse; 
	text-align: left; 
	empty-cells: show; 
}
th {
	background-color: rgb(230,230,230);
	font-weight: bold;
}
thead th {
	background-color: rgb(210,210,210);
}
tfoot td {
	background-color: rgb(240,240,240);
	border-top: 3px double rgb(164,164,164); 
}
th, td {
	padding: 2px;
	vertical-align: top;
}
table.lessimportant, table.lessimportant th, table.lessimportant td {
	border-color: #fff;
}
table.lessimportant th + th {
	text-align: center;
}
table.lessimportant td + td {
	text-align: right;
}

/* tarquin's trips */
ul.triplist h4 {
	font-weight: bold;
	font-size: 1em;
	max-width: 23em;
}
ul.triplist h5 {
	font-weight: normal;
	font-size: 1em;
	max-width: 21.5em;
}
ul.triplist var {
	float: right;
	font-style: normal;
}
ul.triplist, ul.triplist ul, ul.triplist li, ul.triplist h4, ul.triplist h5 {
	margin: 0;
	padding: 0;
	list-style-type: none;
}
ul.triplist li {
	margin-left: 1.5em;
}
ul.triplist li li {
	list-style-type: disc;
}
ul.triplist h4 {
	margin-top: 0.5em;
}

/* other's trips */
table.triplist th {
	white-space: nowrap;
}
table.triplist td:first-child, table.triplist td:first-child + td + td + td + td {
	white-space: nowrap;
}
table.triplist var {
	display: block;
	color: #999;
	font-style: normal;
	font-size: smaller;
}
table.triplist img {
	border: none;
}
table.triplist th em {
	color: #22f;
	font-style: normal;
}
table.triplist ul, table.triplist li {
	margin: 0;
	padding: 0;
	display: block;
}
table.triplist ul, table.triplist li:first-child + li + li + li {
	white-space: nowrap;
}

/* pronunciation tables */
table.pronunciation em {
	text-decoration: line-through;
}

/* reference listings */
ul.references cite, ul.references var {
	font-style: italic;
	text-align: left;
	display: block;
}
ul.references cite a {
	font-style: normal;
}

@media print {
	html, html body {
		background: #fff !important;
		width: auto;
		border-width: 0;
		padding: 0 !important;
	}
	a, a:link, a:active, a:visited, a:hover {
		color: #000;
		text-decoration: none;
	}
	.noprint, #navig.noprint {
		display: none;
	}
	#navig ol ol ol {
		display: block;
	}
	#navig {
		display: none;
		float: none;
		width: auto;
		padding: 0;
		margin-left: 0;
		border-width: 0;
	}
}

@media screen, projection {
	.novis {
		display: none !important;
	}
}

@media handheld and (min-width: 0) {
	/* this stylesheet makes heavy use of media queries -
	handheld browsers that have not yet chosen to implement media queries can fend for themselves */
	html {
		font-family: sans-serif;
		font-size: 11px;
	}
	h1, h2, h3, h4, h5, h6 {
		font-style: normal;
		font-weight: bold;
	}
	h1 {
		font-size: 1.4em;
	}
	h2 {
		font-size: 1.2em;
	}
	h3 {
		font-size: 1.1em;
	}
	h4, h5, h6 {
		font-size: 1em;
	}
}

@media all and (max-width: 830px) {
	/* cancel image gallery overlaying images - using largest image size of 800px (even though most are 600px) */
	div.galleryend + #picDiv {
		position: static;
	}
}
@media all and (max-width: 768px) {
	/* cancel image gallery animation */
	#picDiv, #loadDiv {
		position: static;
	}
}
@media all and (max-width: 700px) {
	/* right floating images on trips page become left floats */
	div.relatedimages a + a {
		float: left;
		clear: left;
		margin: 0 0.4em 0.4em 0;
	}
}
@media all and (max-width: 675px) {
	/* large trip tables get too ugly to use, and layered maps get ugly */
	table.triplist * {
		white-space: normal !important;
	}
	#relcont, #relcont div, #relcont img {
		max-width: 100% !important;
	}
	#relcont img {
		height: auto !important;
	}
}
@media all and (max-width: 560px) {
	/* images must scale to fit */
	img {
		max-width: 100%;
		height: auto;
	}
	#relcont {
		max-height: 515px !important;
	}
	/* no floating of images on trips page or book */
	div.relatedimages a {
		float: none !important;
		margin: 0 !important;
	}
}
@media all and (max-width: 430px) {
	/* no space for floating navigation */
	#navig {
		float: none;
		width: auto;
		margin-left: 0;
		border-width: 1px 0;
	}
	.novis {
		display: block !important;
	}
	/* no space for some tables */
	table.wider, table.wider th, table.wider td {
		display: block;
		border: none;
	}
	table.wider tr {
		display: list-item;
		margin: 0 0 1em 1.5em;
	}
	table.wider tr.incomplete {
		display: block;
	}
	td::before {
		font-weight: bold;
	}
	table.triplist.wider tbody td:first-child::before {
		content: "Date: ";
	}
	table.triplist.wider tbody td:first-child + td::before {
		content: "Cave: ";
	}
	table.triplist.wider tbody td:first-child + td + td::before {
		content: "Where: ";
	}
	table.triplist.wider tbody td:first-child + td + td + td::before {
		content: "Who with: ";
	}
	table.triplist.wider tbody td:first-child + td + td + td + td::before {
		content: "Length: ";
	}
	table.records th + td::before {
		content: "World Record:";
		display: block;
	}
	table.records th + td + td + td::before, table.records th + td[colspan] + td::before {
		content: "UK Record:";
		display: block;
	}
	#relcont {
		max-height: 390px !important;
	}
	/* no space for floating images in wallpaper gallery */
	p.wallthumb {
		float: none;
	}
	li.wallthumb h3, li.wallthumb h4, li.wallthumb h5, li.wallthumb h6, li.wallthumb p.isnew {
		margin: 0 !important;
		padding: 0 !important;
		position: static !important;
	}
	li.wallthumb p.isnew {
		display: table;
		border: none;
	}
}
@media all and (max-width: 320px) {
	/* minimise space requirements everywhere */
	html {
		background: #fff !important;
	}
	body {
		background: #fff url(MultiBackSmall.jpg) no-repeat scroll 0 0 !important;
		border: none;
		padding: 52px 2px 2px !important;
		margin: 0;
		max-width: none !important;
		width: auto !important;
	}
	.innerblocksection {
		float: none;
		min-width: 0;
		width: auto;
	}
	.blocksection h2 {
		padding: 2px;
	}
	ul {
		margin: 1em;
		padding: 0;
	}
	li {
		margin-left: 0.5em;
		padding: 0;
		float: none !important;
	}
	dl dt {
		margin-left: 0;
		padding-left: 0;
	}
	dd {
		margin-left: 1em;
		padding-left: 0;
	}
	.blocksection li li {
		margin: 0.5em 0 0.5em 0.5em !important;
		padding: 0;
		display: list-item;
		border-left: none;
	}
	img {
		min-height: 0;
		margin: 0 !important;
		display: block !important;
		float: none !important;
	}
	ol.thumbnails > li {
		text-align: left;
		min-height: 0;
	}
	ol.thumbnailsbig li, ol.thumbnails > li {
		margin-bottom: 1em;
	}
	ol.thumbnailsnarrow {
		width: auto;
	}
	table.partkey {
		float: none;
	}
	table.tripsummary thead {
		display: none;
	}
	table, td, th {
		display: block;
		border: none;
	}
	tr {
		display: list-item;
		margin: 0 0 1em 1.5em;
	}
	table.triplist tbody td:first-child::before {
		content: "Trips: ";
	}
	table.triplist tbody td:first-child + td::before {
		content: "Cave: ";
	}
	table.tripsummary td:first-child::before {
		content: "Trips: ";
	}
	table.tripsummary td:first-child + td::before {
		content: "Name: ";
	}
	table.tripsummary td:first-child + td + td::before {
		content: "Length: ";
	}
	table.tripsummary td:first-child + td + td + td::before {
		content: "Grade: ";
	}
	table.lessimportant td + td, table.lessimportant th + th {
		display: none;
	}
	#opacform thead {
		display: none;
	}
	#opacform td:first-child::before {
		content: "Mountains:";
		display: block;
	}
	#opacform td:first-child + td::before {
		content: "Limestone:";
		display: block;
	}
	#opacform td:first-child + td + td::before {
		content: "Caves:";
		display: block;
	}
	#relcont {
		max-height: 315px !important;
	}
}