/*---------
/ general layout
/--------*/

HTML, * {
	margin: 0;
	padding: 0;
}

A, A:Visited, A:Active, A:Hover {
	text-decoration: none;
}

BODY, TD {
	font-family: 'Trebuchet MS',Verdana,Helvetica,Arial,sans-serif;
}

BODY {
	background: url('/pic/page_bg.jpg') scroll top left !important;
	font-size: 11pt;
	-webkit-font-smoothing: antialiased;
}

H1, H2, H3 {
	font-weight: bold;
	text-align: left;
	margin-bottom: .25em;
}

H1 {
	font-size: 150%;
}

H2 {
	font-size: 130%;
	margin-top: .5em;
}

H3 {
	font-size: 110%;
	margin-top: .5em;
	border-bottom: none;
}

IMG { height: auto; width: auto; }

#body {
	position: relative;
	box-shadow: 0px 0px 15px #000000;
	margin: 0 auto;
	width: 90%;
	max-width: 1024px;
	-moz-box-shadow: 0px 0px 15px #000000;
	-webkit-box-shadow: 0px 0px 15px #000000;
}

#head,
#foot {
	clear: both;
	position: relative;
}

#head:after, #foot:after { clear: both; content: "."; display: block; height: 0; visibility: hidden; }

#foot {
	margin-top: 5px;
}

#content {
	float: right;
	width: 100%;
	padding: 10px 0;
}

#navigation BLOCKQUOTE,
#content P,
#content BLOCKQUOTE {
	margin: .5em 0;
}

#navigation BLOCKQUOTE, #content BLOCKQUOTE {
	margin-left: 1em;
	text-align: left;
}

#navigation {
	float: left;
	font-size: 80%;
	padding: 10px;
	max-width: 195px;
	width: 195px;
}

#foot A,
#navigation A,
#navigation A:Visited,
#navigation A:Active {
	text-decoration: none;
}

#foot A:Hover,
#navigation A:Hover {
	text-decoration: underline;
}

#navigation UL,
#navigation OL {
	margin-left: 0;
}

#extras {
	float: left;
	margin: 0 5px;
	max-width: 150px;
	width: 150px;
}

/*-- custom items --*/
#foot .lang { position:absolute; top:0; right:0; text-align:right; margin:5px 10px 0 0; }
#foot .soci { position:absolute; bottom:0; right:0; text-align:right; margin:0 10px 5px 0; }

/*---------
/ head & foot content layout
/--------*/

.warn {
	background-color: #ff3300;
	color: white;
	font-size: 85%;
	padding: 2px;
	text-align: center;
}

.warn A:Hover {
	text-decoration: underline;
}

.maintitle {
	background: url('/pic/title_bg.jpg') no-repeat center top;
	background-size: cover;
	background-attachment: local;
	background-origin: content-box;
	min-height: 10em;
	position: relative;
	text-align: center;
	vertical-align: bottom;
}

.maintitle H1 {
	font-size: 300%;
	letter-spacing: -1px;
	text-align: center;
	margin: 0 128px;
}

.maintitle H2 {
	font-size: 85%;
	font-style: italic;
	margin: 0 128px;
	text-align:center;
}

.maintitle UL, #foot UL {
	border: 0;
}

.maintitle LI, #foot LI {
	display: inline;
	list-style-type: none;
}

.maintitle .vcenter {
	position: absolute;
	top: 40%;
	margin-top: -0.8em;
	width: 100%;
}

.mainmenu {
	clear: both;
	font-size: 120%;
	text-align: center;
	line-height: 1.5em;
	padding: 3px 0px;
}

.mainmenu UL {
	border: 0;
}

.mainmenu LI, .footmenu LI {
	display: inline;
	list-style-type: none;
	margin: 0;
}

.mainmenu LI:before, .footmenu LI:before {
	content: "- ";
}

.mainmenu LI:first-child:before, .footmenu LI:first-child:before {
	content: "";
}

.mainmenu A, .mainmenu A:hover {
	text-decoration: none;
}

.mainmenu SELECT {
	border: none;
	background: url('/pic/menu.png') no-repeat 10px center;
	display: none;
	font-weight: bold;
	font-size: 0.9em;
	padding: 0.2em 42px;
	position: relative;
	resize: none;
	width: 100%;
	box-sizing: border-box;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	z-index: 0;
	-webkit-appearance: none;
}

.footmenu {
	font-size: 80%;
	padding:8px 10px 5px;
}

.footmenu LI:before {
	content: "| ";
}

.copyright {
	font-size: 75%;
	text-align: center;
	padding:10px 10px 5px;
	min-height:24px;
}

.copyright A {
	clear: both;
}

/*-- custom head & foot items --*/

.maintitle LI {
	font-size: 0.3em;
	display: inline;
	float: left;
	margin: 5px 0 0 10px;
	list-style-type: none;
	line-height: 0em;
}

.links {
	font-size: 80%;
	display: inline-block;
	padding: 0 10px;
	position: relative;
}

.links H2 {
	display: inline-block;
}

/*---------
/ blog & text layout
/--------*/

.post {
	clear: both;
	position: relative;
	padding: 0 5px 5px 5px;
	margin-bottom: 10px;
}
.post:first-child { border: none; padding-top: 0; margin-top: 0; }
.post:after { clear: both; content: "."; display: block; height: 0; visibility: hidden; }

.post H1, .post H2, .post H3 {
	border-bottom: none;
	padding-left: 0;
}

.post OL, .post UL, .text OL, .text UL {
	margin: .5em .5em .5em 2em;
	padding-left: 1em;
}

.post H1 { margin-top: 0px; }
.post TD { padding: 3px; }
.post IMG, .text IMG { max-width: 100%; max-height: 410px; }

.post .title, .post .body {
	padding: 0 5px;
}

.post .abstract {
	margin: 5px 0;
	min-height: 32px;
}

.post .body {
	clear: both;
	margin: 10px 0;
}

.post .author, .post .date, .post .tags, .comment .date {
	font-size: 75%;
}

.post .date, .comment .date {
	padding-bottom: 10px;
}

.post .image {
	float: left;
	/*padding: 0 10px;*/
	max-width: 40%;
	min-width: 260px;
	box-sizing: border-box;
	display: block;
}

.text {
	clear: both;
	position: relative;
	padding: 0 10px;
}

.text H1 {
	text-align: center;
	margin-left: 15%;
	margin-right: 15%;
}

.text H2 {
	text-align: center;
}

.text TD {
	padding: 3px;
}

/*.post A.postlink,*/ .text A.postlink, .related .body A {
	background: url('/pic/more.png') no-repeat right center;
	display: block;
	padding: 5px 32px 5px 0px;
}

.related, .comment {
	clear: both;
	padding: 0;
	margin: 10px;
	border-radius: 5px;
	-moz-border-radius: 5px;
	-webkit-border-radius: 5px;
	/* IE 6-9 */
	behavior: url(PIE.php);
}

.related .head, .comment .head  {
	font-weight: bold;
	padding: 10px;
}

.related .body, .comment .body {
	min-height: 22px;
	padding: 5px 10px;
}

.comment FORM {
	margin: 10px;
}

.comment INPUT, .comment TEXTAREA {
	border: 1pt solid #ADADAD; /*NOTE*/
	border-radius: 8px;
	padding: 3px;
	-moz-border-radius: 8px;
	-webkit-border-radius: 8px;
	/* IE 6-9 */
	behavior: url(PIE.php);
}

.comment INPUT {
	margin-right: 10px;
	width: 170px;
}

.comment TEXTAREA {
	width: 98%;
}

.caloffset {
	padding: 0 10px;
	box-sizing: border-box;
	float:left;
	max-width: 59%;
	width: 59%;
	min-width: 280px;
}

.calendar {
	display: none;
	background-color: #f0f0f0;
	border: 1px solid #000;
	border-radius: 5px;
	color: #000;
	font-family: helvetica, arial;
	font-size: 150%;
	line-height: 75%;
	padding-bottom: .2em;
	position: absolute;
	text-align: center;
	top: 10px;
	left: 16px;
	width: 48px;
	-moz-border-radius: 5px;
	-webkit-border-radius: 5px;
	/* IE 6-9 */
	behavior: url(PIE.php);
}

.calendar .month {
	background-color: #c52213;
	border-radius: 4px 4px 0 0;
	color: #fff;
	font-size: 60%;
	font-weight: bold;
	padding-bottom: 1px;
	-moz-border-radius: 4px 4px 0 0;
	-webkit-border-radius: 4px 4px 0 0;
	/* IE 6-9 */
	behavior: url(PIE.php);
}

.calendar .day {
	font-weight: bold;
	margin: 0.2em 0;
}

.calendar .year {
	font-size: 50%;
	line-height: 0.8em;
}

.calendar .bubble {
	background-color: #a40717;
	background: -webkit-gradient(linear, left top, left bottom, from(#de939e), to(#a40717), color-stop(0.5, #be4958));
	background: -moz-linear-gradient(top, #de939e, #be4958 50%, #a40717);
	background: linear-gradient(to bottom, #de939e, #be4958 50%, #a40717);
	border-style: solid;
	border-width: 2px;
	border-radius: 32px;
	color: #fff;
	display: block;
	font: bold 12px "Helvetica Neue", Helvetica, Geneva, Arial, sans-serif;
	height: 16px;
	padding: 0 5px;
	position: absolute;
	text-shadow: rgba(0,0,0,0.5) 1px 1px 2px;
	text-align: center;
	top: -8px;
	left: 36px;
	width: auto;
	-moz-border-radius: 32px;
	-webkit-background-clip: padding-box;
	-webkit-border-radius: 32px;
	z-index: 1;
	/* IE 6-9 */
	behavior: url(PIE.php);
}

/*-- custom blog & text items --*/
.post A.postlink, .text A.postlink { min-height: 64px; }

/*---------
/ grid & list layout
/--------*/

.grid {
	font-size: 80%;
	padding: 0 10px;
}
.grid .title H1, .grid .title H2 {
	white-space: nowrap;
	text-overflow: ellipsis;
	overflow: hidden;
	text-align: center;
}
.grid UL {
	text-align: center;
	margin:0;
}
.grid LI {
	list-style: none;
	list-style-type: none;
	display: inline-block;
	margin: 0;
	padding: 5px 1px;
	text-align: center;
	vertical-align: bottom;
	max-width: 50%;
	min-width: 15%;
}
.grid LI A { position: relative;}
/*.grid LI IMG { margin: 4px; }*/
.grid IMG.thumb {
	border: 1px solid darkgray;
	background: white;
	padding: 4px;
}
.grid IMG.round {
	border-radius: 64px;
	max-width: 128px;
	max-height: 128px;
	transition-property: all;
	transition-duration: 0.5s;
	transition-timing-function: ease;
	transition-delay: .2s;
	/* Safari */
	-webkit-transition-property: all;
	-webkit-transition-duration: 0.5s;
	-webkit-transition-timing-function: ease;
	-webkit-transition-delay: .2s;
	/* IE 6-9 */
	behavior: url(PIE.php);
}
.grid IMG.round:Hover { border-radius: 0; }

/*
.g2 { width:490px; }
.g3 { width:325px; }
.g4 { width:245px; }
.g5 { width:195px; }
*/
.g2 { width: 45%; }
.g3 { width: 30%; }
.g4 { width: 22%; }
.g5 { width: 18%; }
/*
.g2 IMG { max-width:480px; max-height:480px; }
.g3 IMG { max-width:315px; max-height:315px; }
.g4 IMG { max-width:235px; max-height:235px; }
.g5 IMG { max-width:185px; max-height:185px; }
*/
.g2 IMG,
.g3 IMG,
.g4 IMG,
.g5 IMG { max-width:92%; }

.list {
	position: relative;
	padding-top: 5px;
	padding-bottom: 5px;
	margin-top: 10px;
}

.list:first-child {
	border-top: none;
	padding-top: 0;
	margin-top: 0;
}

.listitem { clear: both; }

.fence {
	margin: 10px 0;
	padding: 10px 0;
}

/*---------
/ gallery & image layout
/--------*/

.slide {margin:0 auto;}
.slide IMG {max-width:128px;}

UL.slide {
	width: 100%;
}

.gallery {
	clear: both;
	text-align: center;
	padding: 0 10px;
}
.gallery:after { clear: both; content: "."; display: block; height: 0; visibility: hidden; }

.gallery UL  {
	text-align: center;
	margin: 0;
}

.gallery LI {
	list-style: none;
	list-style-type: none;
	display: inline-block;
	margin: 0;
	padding: 0 1%;
	text-align: center;
	vertical-align: middle;
	max-width: 47%;
	min-width: 15%;
}
.gallery LI IMG {
	margin: 4px;
	max-width: 100%;
}

.imgcenter {margin:5px 0;}
.imgleft {margin:0 7px 5px 0;}
.imgright {margin:0 0 5px 7px;}

.post IMG.imgcenter,
.post IMG.imgleft,
.post IMG.imgright,
.text IMG.imgcenter,
.text IMG.imgleft,
.text IMG.imgright {
	max-width: 96%;
	height: auto;
}

.thumb {
	border: none;
	box-sizing: border-box;
	margin: 0;
	padding: 0;
	display: inline-block;
	max-width: 128px;
}

/*.post IMG.thumb,*/
.text IMG.thumb {
	margin: 0 0 5px 10px;
	float: right;
	max-width: 30%;
	max-height: 30%;
	min-width: 128px;
}

.frame,
.imgcenter,
.imgleft,
.imgright {
	padding: 4px;
}

.magnifyingglass {
	border: 0;
	position: absolute;
	right: 5px;
	bottom: 14px;
	width: 32px;
	height: 32px;
}

.badge,
.icon,
.icon24,
.smiley,
.symbol { border: none; height: auto; }
.badge { width: 26px; }
.icon24 { width: 24px; }
.icon { width: 16px; }
.smiley { width: 15px; }
.symbol { width: 13px; vertical-align: middle; }

#fancybox-title-over A {
	background: url('/pic/info.png') no-repeat;
	float: right;
	width: 18px;
	height: 18px;
	display: block;
}

/*---------
/ search
/--------*/

.find {
	background: url('/pic/find.png') 3px 50% no-repeat;
	border-radius: 15px;
	cursor: text;
	margin: 7px 10px;
	padding: 1px 25px;
	position: relative;
	display: inline-block;
	-moz-border-radius: 15px;
	-webkit-border-radius: 15px;
	/* IE 6-9 */
	behavior: url(PIE.php);
}
#head .find {
	right: 0;
	position: absolute;
	width: 4px;
	z-index: 99;
}
#foot .find {
	display: none;
	position: relative;
}

.find INPUT {
	border: 0;
	font-size: 17px;
	width: 100%;
}

.find A {
	z-index: 1;
	display: none;
}

.find A IMG {
	position: absolute;
	right: 3px;
	top: 3px;
	width: 16px;
}

.searchresult {
	border-radius: 5px;
	margin: 10px 0;
	padding: 10px;
	position: relative;
	-moz-border-radius: 5px;
	-webkit-border-radius: 5px;
	/* IE 6-9 */
	behavior: url(PIE.php);
}

.searchresult H3 {
	border-bottom: none;
	padding: 0;
	margin-top: 0;
}

.searchresult A {
	background: url('/pic/more.png') no-repeat right center;
	display: block;
	min-height: 32px;
	padding-right: 32px;
}

.searchresult .abstract {
	margin: 5px 0;
	padding: 0;
}

/*---------
/ navigation layout
/--------*/

.menu {
	margin-bottom: 10px;
}

.menu LI {
	list-style-type: none;
	padding: 5px 2px;
	margin-bottom: 5px;
}

.submenu LI {
	margin-left: 15px;
}

.menu .title {
	margin-bottom: 4px;
	padding: 1px;
}

.menu LI, .menu .title, .menu .tags {
	text-align: center;
}

.navbutton {
	padding: 5px;
}

.navbutton A {
	border-radius: 5px;
	clear: both;
	display: inline-block;
	min-width: 22px;
	padding: 5px;
	font-size: 110%;
	text-align: center;
	-moz-border-radius: 5px;
	-webkit-border-radius: 5px;
	/* IE 6-9 */
	behavior: url(PIE.php);
}

.pages {
	margin-bottom: 10px;
}

.citat, .tweet {
	padding: 10px 5px;
	font-family: georgia, times, serif;
	font-style: italic;
	text-align: center;
	vertical-align: middle;
}

.citat {
	background: url('/pic/quote.png') left top no-repeat scroll;
	min-height: 32px;
}

.tweet {
	background: url('/pic/twitter_bg.png') right top no-repeat scroll;
	min-height: 64px;
	padding: 0 5px;
	position: relative;
	overflow-x: scroll;
}

/*-- custom navigation items --*/
.tweet li { list-style-type: none; padding: 1px; }
.tweet li SPAN A { display: inline; }
.tweet li A { display: block; }

/*---------
/ other layout
/--------*/

.a9 { font-size: 75%; }
.a10 { font-size: 85%; }

#content .quote {
	background: url('/pic/quote.png') no-repeat scroll left top;
	margin: .5em 2em;
	padding: .75em;
	font-family: georgia, times, serif;
	font-style: italic;
	font-size: 100%;
	line-height: 130%;
}

#content .code {
	display: block;
	margin: .5em 1em;
	padding: .5em;
	font-family: courier, monospace;
	overflow: auto;
}

.poll P { margin: 5px 0; }
.poll TD { padding: 0 2px; }

.social { padding: 5px 10px; }

.grayscale { font-size: 80%; }
.grayscale IMG {
	display: block;
	text-align: center;
	margin: 5px auto;
}

.googlemaps {
	width: 320px;
	height: 320px;
}
.googlemapswide {
	clear: both;
	width: 100%;
	height: 320px;
	margin: 5px 0;
}
.youtube {
	max-width: 560px;
}

.shadow, .related, .comment, .calendar .bubble {
	box-shadow: rgba(0,0,0,.7) 1px 1px 3px;
	-webkit-box-shadow: rgba(0,0,0,.7) 1px 1px 3px;
	-moz-box-shadow: rgba(0,0,0,.7) 1px 1px 3px;
}

/*---------
/ colour spec
/--------*/

/* text */
INPUT,
TEXTAREA,
SELECT {
	color: #000;
}

.maintitle,
.copyright {
	color: white;
}

A,
A:Visited,
A:Active,
A:Hover,
BODY,
TD,
#content .code,
#content .quote,
.post A.postlink,
.text A.postlink,
.related .head,
.comment .head,
.grid LI A .abstract,
.grid LI A .subtitle,
.find INPUT,
.searchresult A,
.menu .title,
.navbutton A {
	color: #333;
}

#foot A,
#navigation A,
#navigation A:Visited,
#navigation A:Active,
.copyright A,
.post A,
.text .body A,
.related .body A,
.grid LI A,
.gallery LI A {
	color: #a61;
}

.mainmenu A,
.mainmenu A:Hover,
.mainmenu SELECT,
.post H1,
.post H2,
.post H3,
.text H1,
.text H2,
.text H3,
.grid A .title {
	color: black;
}

/* backgrounds */
BODY,
#body,
#head,
#content,
#navigation,
#extras {
	background-color: #eee;
}

#content .code,
#content .quote,
.maintitle,
.copyright,
.navbutton A:Hover,
.citat,
.tweet,
.poll LI {
	background-color: #999;
}

#foot,
#foot .find,
#foot .find INPUT,
#randomimage.slide IMG,
.mainmenu,
.mainmenu SELECT,
.find,
.find INPUT,
.menu LI,
.related,
.comment,
.frame,
.imgcenter,
.imgleft,
.imgright,
.searchresult,
.menu .title,
.navbutton A {
	background-color: white;
}

/* borders */
#foot,
.mainmenu,
.related .body,
.comment .body {
	border-top: 1pt solid darkgray;
}

.copyright {
	border-top: 1pt solid #666;
}

.mainmenu,
.menu .title {
	border-bottom: 1pt solid darkgray;
}

.list, .fence {
	border-top: 1pt dashed darkgray;
}

.fence {
	border-bottom: 1pt dashed darkgray;
}

#content .quote,
#randomimage.slide IMG,
.related,
.comment,
.frame,
.imgcenter,
.imgleft,
.imgright,
.find,
.searchresult,
.menu LI,
.navbutton A,
.citat,
.tweet,
.poll LI {
	border: 1px solid darkgray;
}

#content .code {
	border-left: 3pt solid darkgray;
	border-top: 1pt dashed darkgray;
	border-bottom: 1pt dashed darkgray;
}

/*---------
/ mobile devices
/--------*/

@media screen and (max-width: 479px) {
	body { font-size: 10pt; }
	.maintitle { min-height: 96px; }
	.maintitle H1, .maintitle H2 {
		margin: 0 5px;
		padding: 0;
	}
	.maintitle .vcenter { top: 20px; }
	.maintitle H1 { font-size: 2.5em; }
	.post .date { display: inherit; }
	.calendar { display: none; }
	.caloffset { margin-left: 8px; }
	.g2, .g3, .g4,.g5 { width: 48%; }
	.googlemaps {
		width: 140px;
		height: 140px;
	}
	.youtube { max-width: 300px; }
	#navigation, #extras, #head .find, .mainmenu UL, .pages, .grayscale { display: none; }
	#foot .copyright { text-align: center; }
	#foot .find, .mainmenu SELECT { display: block; }
	#foot .lang { position:relative; text-align: center; margin:0 5px 0; }
	#foot .lang LI { margin:3px; }
	#foot .soci, #foot .footmenu, #foot .links { display: none; }
	#body, #content { width: 100%; }
}

@media screen and (min-width: 480px) and (max-width: 639px) {
	body { font-size: 10pt; }
	.maintitle { min-height: 96px; }
	.maintitle H1, .maintitle H2 {
		margin: 0 5px;
		padding: 0;
	}
	.maintitle .vcenter { top: 20px; }
	.maintitle H1 { font-size: 2.5em; }
	.g3, .g4, .g5 { width: 30%; }
	.googlemaps {
		width: 200px;
		height: 200px;
	}
	.youtube { max-width: 440px; }
	#navigation, #extras, #head .find, .mainmenu UL, .grayscale { display: none; }
	#foot .copyright { text-align: center; }
	#foot .find, .mainmenu SELECT { display: block; }
	#foot .lang { position:relative; text-align: center; margin:0 5px 0; }
	#foot .lang LI { margin:3px; }
	#foot .soci, #foot .footmenu, #foot .links { display: none; }
	#body, #content { width: 100%; }
}

@media screen and (max-width: 768px) {
	.caloffset { max-width: 100%; }
	.post .image { max-width:100% }
}

@media screen and (min-width: 640px) and (max-width: 920px) {
	#navigation, #extras { display: none; }
	#body, #content { width: 100%; }
	.g2 { width: 45%; }
	.g3 { width: 30%; }
	.g4, .g5 { width: 22%; }
}

/*@media screen and (orientation:portrait) {}*/
/*@media screen and (orientation:landscape) {}*/

/* "retina" display */
@media only screen and (-webkit-min-device-pixel-ratio: 2),
	   only screen and (-moz-min-device-pixel-ratio: 2),
	   only screen and (-o-min-device-pixel-ratio: 2/1),
	   only screen and (min-device-pixel-ratio: 2),
	   only screen and (min-resolution: 2dppx) {
	BODY { background-size: 128px 128px; }
	.maintitle {
		background-image: url('/pic/title_bg@2x.jpg');
	}
	.find {
		background-image: url('/pic/find@2x.png');
		background-size: 16px 16px;
	}
	.find IMG { width: 16px; }
	.post A.postlink, .text A.postlink, .related .body A, .searchresult A {
		background-image: url('/pic/more@2x.png');
		background-size: 22px 22px;
	}
	.mainmenu SELECT {
		background-image: url('/pic/menu@2x.png');
		background-size: 22px 22px;
	}
}

/*---------
/ cookie usage notice
/--------*/
#cookies {
	background-color:#888;
	color:#fff;
	font-size:75%;
	text-align:center;
	padding:10px 0;
}
#cookies .cont {
	width: 90%;
	max-width: 1024px;
	margin:auto;
	text-align:left;
}
#cookies .text {
	float:left;
	padding:0;
	text-shadow:none;
}
#cookies .buttons {float:right;}
#cookies a {color:#333;font-weight:bold;}
#cookies .clr {clear:both;}
#cookies input {
	background:#fff;
	color:#000;
	border:0;
	font-size:11px;
	height:20px;
	line-height:20px;
	padding:0 10px;
	font-family:Helvetica, sans-serif;
}
#cookies input.no {color:#888;}
#cookies input:hover {background:#cee9ad;}
#cookies input.no:hover {background:#f00;color:#fff}
@media screen and (max-width: 479px) {
	#cookies .text {padding:0 5px;}
	#cookies .cont {width:100%;}
}
@media screen and (min-width: 480px) and (max-width: 920px) {
	#cookies .cont {width:100%;}
}
