/* Atherton theme
	Created by:
	RMW Web Publishing
	www.rmwpublishing.net */
/*! version 3.1.0 */
html,
body {
	height: 100dvh;
}

body {
	margin: 0;
	padding: 0;
	background: #A5B8CB url(../img/bg-body.png) repeat-x;
	font: 100.01% "Trebuchet MS", Tahoma, Verdana, sans-serif;
	color: #FFF;
}

/* layout */
#page {
	width: 630px;
	margin: 0;
}

#wrap {
	float: left;
	width: 100%;
}

#content {
	width: 360px;
	margin: 0 160px 0 111px;
}

#sidebar {
	float: left;
	width: 101px;
	margin-left: -630px;
}

#extra {
	float: left;
	width: 140px;
	margin-left: -140px;
}

.wide #page {
	width: auto;
}

.wide #content {
	width: auto;
	max-width: 660px;
	margin-right: 10px;
}

.wide #sidebar {
	margin-left: -100%;
}

.wide #extra {
	clear: left;
	float: none;
	width: auto;
	margin: 1em 10px 1em 112px;
}

tt {
	font-family: monospace;
	font-size: larger;
}

code {
	display: block;
	white-space: pre;
	overflow: auto;
	width: 360px;
	background: #919EAE;
	padding: 0 .2em 1em;
	font-size: 115%;
}

img {
	border: none;
}

a {
	color: #225B94;
}

a:visited {
	color: #2F659A;
}

a:hover,
a:focus {
	color: #2B363B;
}

acronym,
abbr {
	border-bottom: 1px dotted #225B94;
	cursor: help;
}

dt {
	font-weight: bold;
}

dd {
	color: #3F454C;
}

table {
	border: 1px solid #CCC;
	border-collapse: collapse;
}

th,
td {
	padding: 3px;
	vertical-align: top;
	border: 1px dashed #CCC;
}

th {
	background: #6690CA;
}

caption {
	padding: .5em 0;
	color: #333;
	font-weight: bold;
}

.external {
	padding-right: 15px;
	background: url(../img/icon-external.gif) 100% 50% no-repeat;
}

#chapter {
	display: grid;
	grid-template-columns: repeat(1, 1fr);
	grid-template-rows: auto auto 1fr;
	gap: 0;
	height: 100%;
	background: url(../img/bg-layout.jpg) no-repeat;
}

.wide #chapter {
	background: url(../img/bg-layout-wide.jpg) no-repeat;
}

.highlight {
	margin: 0 .5em;
	padding: 0 1em;
	border: 1px solid #7F92A1;
	background: #BECDD1;
	color: #555;
}

.highlight a {
	color: #369;
	text-decoration: underline;
}

.announcement {
	margin: 0 .5em;
	padding: 0 1em;
	border: 1px solid #2AB400;
	background: #CCFFBF;
	color: #000;
}

#content .announcement strong {
	background: none;
	color: #000;
}

.img img {
	background: #FFF;
	border: 1px solid #2B5187;
}

.img a:hover img,
.img a:focus img {
	background: #FF0;
}

.media {
	margin: 1em auto;
	text-align: center;
}

/* Skip to */
#skipto {
	position: absolute;
	left: 0;
	top: 0;
	z-index: 100;
	width: 100%;
	list-style: none;
	margin: 0;
	padding: 0;
	font-size: smaller;
}

#skipto li {
	position: relative;
	z-index: 100;
	width: 100%;
	overflow: hidden;
	list-style: none;
}

#skipto a {
	display: block;
	padding: .3em 2em;
	color: #FFF;
	text-indent: -9999px;
	text-decoration: none;
}

#skipto a:hover,
#skipto a:focus,
#skipto a:active {
	top: 0;
	left: 0;
	background: #00F;
	border-bottom: 1px solid #000;
	text-indent: 0;
}

#skipto #skiptonav {
	position: absolute;
	top: 0;
	left: 0;
	z-index: 99;
	width: 100%;
}

#skiptonav a {
	position: relative;
	top: -9999px;
	left: -9999px;
}

#skiptonav a:focus,
#skiptonav a:active {
	background: #666;
}

#skipto em {
	text-decoration: underline;
}

/* Browser warning */
#browserWarning {
	position: absolute;
	right: 2px;
	top: 2px;
	width: 250px;
	padding: 0 1em;
	border: 1px double #004F75;
	background: #709AD4;
	font-size: 80%;
}

html>body #browserWarning {
	display: none;
}

/* header */
#header img {
	display: none;
}

#header h1 {
	margin: 0;
}

#header a {
	display: block;
	height: 160px;
	text-indent: -9999px;
}

#header h2 {
	width: 630px;
	margin: 0;
	color: #5275BD;
	font-size: 170%;
	letter-spacing: .1em;
	text-transform: uppercase;
	text-align: right;
}

/* content */
#content {
	font-size: 85%;
	line-height: 1.3;
}

#content h3,
#content h3 strong {
	margin: .5em 0;
	font-size: 140%;
	color: #2B363B;
}

#content h3:first-child {
	margin-top: 0;
}

#content h4 {
	margin-bottom: .5em;
	color: #2B363B;
	text-indent: .5em;
}

#content h5 {
	margin-bottom: .5em;
	color: #FFF;
	font-size: 120%;
	text-indent: .5em;
}

#content li {
	padding-top: .3em;
	color: #3D6096;
}

#content p strong {
	padding: 0 .2em;
	background: #CBCE9F;
	color: #95700A;
	border-radius: 2px;
}

#content a strong {
	padding: 0;
	background: none;
	color: #225B94;
}

#content strong.brand {
	padding: 0;
	background: none;
	color: #FFF;
	font-weight: normal;
	color: #C4DAF6
}

/* hCard microformats */
.vcard .last {
	margin: 0;
}

.vcard .adr,
.vcard .tel .value,
#extra .vcard .email,
#extra .vcard .url {
	display: block;
	margin-bottom: .6em;
	font-size: 85%;
	color: #454545;
}

#extra .adr a {
	text-decoration: none;
	color: #454545;
}

.vcard .cell,
.vcard .geo,
#map .geo {
	display: none;
}

.vcard acronym,
.vcard abbr {
	border: 0;
}

#map {
	color: #000;
}

/* Zoom */
#zoom {
	color: #000;
}

#zoom table,
#zoom td {
	border: 0;
}

#zoom p.last {
	margin-bottom: 0;
}

/* Fancy Jump */
.fjump .toc {
	margin: 0;
	padding: 0;
}

.fjump .toc li {
	float: left;
	margin: 2px;
	list-style: none;
}

.fjump .toc strong {
	display: none;
}

ul.img {
	margin: 0;
	padding: 0;
	text-align: center;
	list-style: none;
}

ul.img img {
	padding: 2px;
	border: 1px solid #2953D0;
}

.contact #content h3:first-child,
.services #content h3:first-child,
.bathurst-web-design #content h3:first-child {
	height: 128px;
	padding-right: 70px;
	background: url(../img/icons-page.png) 240px 0 no-repeat;
}

.contact #content h3:first-child {
	background-position: 240px 25px;
}

.services #content h3:first-child {
	background-position: -970px 0;
}

.bathurst-web-design #content h3:first-child {
	background-position: -1550px 0;
}

.contact #content p.first,
.services #content p.first,
.bathurst-web-design #content p.first {
	min-height: 80px;
	margin-top: -100px;
	padding-right: 130px;
}

.wide.services #content h3:first-child {
	background: none;
}

/* sidebar */
#sidebar {
	ul {
		margin: 0;
		margin-left: 76px;
		padding: 0;
		list-style: none;
	}

	li {
		width: 84px;
		height: 25px;
		margin: 3px 0;
		padding: 0;
		transform: translateY(84px) rotate(-90deg);
		transform-origin: top left;

		&:not(:last-child) {
			margin-bottom: 62px;
		}

		a {
			display: flex;
			align-items: center;
			justify-content: center;
			width: 79px;
			height: 23px;
			margin: 0;
			padding: 0 2px;
			border: 1px solid #1A5189;
			border-bottom: 0;
			background: linear-gradient(183deg, #3f78ad 0%,
					#4e91cf 25%,
					#5aabf0 50%,
					#48a9df 72%,
					#2e9fc4 100%);
			background-size: 100% 500%;
			color: #FFF;
			font-size: 100%;
			font-weight: bold;
			line-height: 1;
			text-decoration: none;
			text-transform: uppercase;
			white-space: nowrap;
			transition: background-position 500ms ease;

			&:not(.selected):hover {
				background-position: 0 100%;
			}

			&:active,
			&.selected {
				background-position: 0 100%;
			}
		}
	}

	a.selected {
		border-color: #046B9A;
	}

	@media (prefers-reduced-motion: reduce) {
		li a {
			transition-duration: 0s;
		}
	}
}

/* extra */
#extra {
	overflow: hidden;
	margin-top: -1em;
	font-size: 90%;
	color: #EEEEFF;
	line-height: 1.1;
}

#extra>div {
	padding-bottom: 1em;
	border-bottom: 1px solid #8FADD4;
}

#extra h3,
#extra h4 {
	font-size: 90%;
	margin-bottom: .3em;
}

#extra ul,
#extra ol {
	margin: 0;
	padding: 0 0 0 15px;
	list-style: square;
	color: #EBEEF7;
}

#extra a {
	color: #4261BE;
}

#extra li {
	padding-top: .4em;
}

.wide #extra {
	padding: 1em 0;
	border: 1px solid #CCC;
	border-width: 1px 0;
}

.wide #extra div {
	float: left;
	width: 30%;
	border: 1px solid #A7BACB;
	border-width: 0 1px;
}

.wide #extra p {
	margin-top: 0;
	padding: 0 .5em;
}

.wide #extra p:last-child {
	margin-bottom: 0;
}

.wide #extra #partner {
	border: 1px solid #CCC;
	border-width: 0 1px;
}

/* footer */
#footer {
	display: flex;
	flex-direction: column;
	justify-content: space-between;

	min-height: 360px;
	/* stops the bg image getting covered */

	padding: 1.5em 10px .5em 111px;
	background: url(../img/bg-footer.png) 0 100% no-repeat;
	font-size: 75%;
	color: #FFF;
}

#footer a {
	color: #FFF;
	text-decoration: none;
}

#footer a:hover,
#footer a:focus {
	text-decoration: underline;
	color: #FFF;
}

#footer ul {
	position: relative;
	margin: 0;
	padding: 0;
}

.wide #footer ul {
	width: auto;
}

#footer li {
	display: inline;
	list-style: none;
	padding-left: .8em;
}

#footer p {
	text-align: left;
}

#footer ul a,
#footer ul a:hover,
#footer ul a:focus {
	color: #225B94;
}

#rss {
	display: inline-block;
	width: 14px;
	height: 14px;
	margin-left: 5px;
	background: url(../img/icons-atherton.png) 0 -30px no-repeat;
	text-align: left;
	text-indent: -9999px;
}

#jumptotop {
	margin-left: .4em;
	border-left: 1px solid #999966;
}

.notes {
	text-align: center;
	font-size: 80%;
	color: #5B75BA;
}

/* Social */
.status {
	font-size: 90%;
	font-style: italic;
}

#twitter {
	margin: 0;
	font-size: 90%;
}

.wide #twitter {
	font-size: 100%;
}

#twitter .follow a {
	display: block;
	text-align: right;
	font-size: 80%;
}

.wide #twitter .follow a {
	text-align: left;
	font-size: 100%;
}

#twitter .status {
	overflow: hidden;
}

#twitter .follow a {
	min-height: 18px;
	margin: 0;
	padding-right: 20px;
	background: url(../img/icons-atherton.png) 100% 0 no-repeat;
}

* html #twitter .follow a {
	/* IE filter */
	height: 18px;
}

#wipa a {
	display: block;
	margin-top: 5px;
	padding-top: 67px;
	background: url(../img/logo-wipa.png) 50% 0 no-repeat;
}

/* Blogs */
.blog .description {
	padding: .8em;
	background: #A5B8CB;
	font-size: 90%;
	font-style: italic;
	color: #58626D
}

.blog .description p {
	margin: 0;
}

.blogsitesummary {
	list-style: none;
	padding: 0;
	font-size: 110%;
}

.blogsitesummary li {
	padding-top: .75em !important;
}

.blogsitesummary .author {
	display: none;
}

.blog h2.title {
	margin-bottom: 0;
}

.blog .title a {
	text-decoration: none;
}

.comment {
	margin: 1em 0;
}

.meta {
	clear: left;
	margin-top: 1em;
	padding: .4em 0;
	border-top: 1px solid #8FADD4;
	border-bottom: 1px solid #8FADD4;
	font-style: italic;
	font-size: 90%;
	color: #2A4B58;
}

.meta p {
	margin: 0;
}

.meta .author {
	margin-right: .5em;
}

#content .comment .meta {
	text-align: left;
}

#content .comment .meta strong {
	background: none;
}

/* Responsive Styles */
@media (max-width: 640px) {
	#chapter {
		background-size: 790px;
	}

	#page {
		width: unset;
	}

	#header {
		height: auto;

		img {
			width: 100%;
			height: auto;
		}

		h2 {
			width: 290px;
			height: 2rem;
			margin: 0 0 0 85px;
			text-align: left;
			overflow: hidden;
		}

		a {
			height: 150px;
		}
	}

	#wrap {
		padding: 1rem 0;
		background: #A3B7C8;
	}

	#content {
		width: auto;
		margin: 0 0;
		padding: 0 0 0 30px;
	}

	#sidebar {
		position: absolute;
		top: 200px;

		width: 25px;
		margin-left: 0;

		ul {
			margin-left: 0;
		}
	}

	#extra {
		float: none;
		clear: both;
		width: auto;
		margin: 0 30px;
		overflow: auto;
	}

	#footer {
		min-height: 400px;
		padding-left: .5em;

		ul {
			width: 100%;
			padding-left: 0;
		}
	}
}