#body div.section
{
	overflow-y: hidden;
}

#body div.section img + div.description
{
	padding-left: 344px;
	padding-top: 1em;
}

#body ul.downloads
{
	padding-left: 8px;
}

#body ul.downloads li
{
	background-repeat: no-repeat;
	line-height: 32px;
	list-style-type: none;
	padding-left: 40px;
}

#body ul.downloads li.amo
{
	background-image: url(/images/icons/amo.png);
}

#body ul.downloads li.dos
{
	background-image: url(/images/icons/dos.gif);
}

#body ul.downloads li.srccpp
{
	background-image: url(/images/icons/srccpp.png);
}

#body ul.downloads li.srcpas
{
	background-image: url(/images/icons/srcpas.png);
}

#body ul.downloads li.srcpy
{
	background-image: url(/images/icons/srcpy.png);
}

#body ul.downloads li.srcscpt
{
	background-image: url(/images/icons/srcscpt.png);
}

#body ul.downloads li.win
{
	background-image: url(/images/icons/win.png);
}

#body p.download {
	padding-left: 1em;
}
	
#body table.news td {
	padding-bottom: 1ex;
	padding-top: 1ex;
	vertical-align: middle;
}

#body ul.short,
#body ul.short li,
#body ul.short li ul
{
	line-height: 100%;
	margin: 1ex 0;
}

#body ul.short li ul
{
	padding-left: 2em;
}

/* Page watching service */

form.watch
{
	margin: 1em 0 0;
	overflow: hidden;
	padding: 0 1em 1ex;
}

form.watch fieldset
{
	border: none;
	border-top: 1px dashed silver;
	padding: 1em 0 0;
}

form.watch .field
{
	clear: both;
	overflow: hidden;
	padding-bottom: 1ex;
}

form.watch button
{
	float: left;
	margin-left: 100px;
}

form.watch input
{
	float: left;
}

form.watch label
{
	display: inline-block;
	float: left;
	white-space: nowrap;
	width: 100px;
}

form.watch legend
{
	color: #040;
	padding: 0 1ex;
}

.entry {
	font-size: 80%;
	margin-bottom: 1ex;
}

.entry .changed {
	color: red;
	font-weight: bold;
}

div.error {
	background: silver;
	color: red;
	line-height: 1.5;
	margin: 1em 0;
	padding: 1em;
}

div.message {
	background: silver;
	color: black;
	line-height: 1.5;
	margin: 1em 0;
	padding: 1em;
}

label.error {
	color: red;
	font-weight: bold;
}

/* Source code */

code
{
	background-color: #EEE;
	border: 1px solid #CCC;
	color: black;
	display: block;
	font-family: monospace;
	overflow-x: auto;
	padding: 1em;
	margin: 1em 0;
}

code.cpp
{
	white-space: pre;
}

code.cpp .kw
{
	color: blue;
}

code.cpp .pp,
code.cpp .pp .kw,
code.cpp .pp .string
{
	color: purple;
}

code.cpp .rem,
code.cpp .rem .kw,
code.cpp .rem .string
{
	color: green;
}

code.cpp .string,
code.cpp .string .kw,
code.cpp .string .rem
{
	color: maroon;
}

code.css,
code.javascript,
code.json,
code.sql,
code.xml
{
	white-space: pre;
}

code.xml .prolog,
code.xml .prolog span
{
	color: green;
	font-style: italic;
}

code.xml .element
{
	color: purple;
}

code.xml .entity
{
	color: maroon;
}

code.xml .attr
{
	color: brown;
}

code.xml .value,
code.xml .value span
{
	color: navy;
}

code.xml .cdata
{
	color: teal;
}

/* Keyboard text */

kbd
{
	background-color: #E2E2E2;
	background-image: -moz-linear-gradient(left,  white 0%, #E2E2E2 25%);
	background-image: -ms-linear-gradient(left,  white 0%,#E2E2E2 25%);
	background-image: -o-linear-gradient(left,  white 0%,#E2E2E2 25%);
	background-image: -webkit-gradient(linear, left top, right top, color-stop(0%,white), color-stop(25%,#E2E2E2));
	background-image: -webkit-linear-gradient(left,  white 0%,#E2E2E2 25%);
	background-image: linear-gradient(left,  white 0%,#E2E2E2 25%);
	border : 1px solid gray;
	-moz-border-radius: 3px;
	-webkit-border-radius: 3px;
	border-radius: 3px;
	-moz-box-shadow: 1px 0 1px 0 #fff, 0 2px 0 2px silver, 0 2px 0 3px #333;
	-webkit-box-shadow: 1px 0 1px 0 white, 0 2px 0 2px silver, 0 2px 0 3px #333;
	box-shadow: 1px 0 1px 0 #fff, 0 2px 0 2px silver, 0 2px 0 3px #333;
	filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='white',endColorstr='#E2E2E2',GradientType=1);
	font-family: monospace;
	margin: 0 5px;
	padding: 1px 5px;
	text-transform : uppercase;
}

/* Quote */

blockquote {
	background-image: url(quote.png);
	background-repeat: no-repeat;
	font-family: Georgia, "Times New Roman", serif;
	font-size: 110%;
	font-style: italic;
	line-height: 140%;
	margin: 1em;
	padding-left: 30px;
}

/* Twitter feed */

#twitter ul {
	padding: 0 !important;
}

#twitter li {
	color: black;
	display: block;
	font-size: x-small !important;
	margin: 1ex 0;
	overflow: hidden;
}

#twitter li img
{
	border: 1px solid white;
	-moz-box-shadow: 1px 1px 2px black;
	-webkit-box-shadow: 1px 1px 2px black;
	box-shadow: 1px 1px 2px black;
	float: left;
	margin-right: 1ex;
}

#twitter li .date
{
	color: silver;
	display: block;
}

/* Images in title */

h2 img
{
	vertical-align: middle;
}

/* Tags */

a.tag
{
	background: #EEE;
	border: 1px solid silver;
	display: inline-block;
	height: 16px;
	line-height: 16px;
	overflow: hidden;
	padding: 2px 4px;
	vertical-align: center;
}

a.tag:hover
{
	background: silver;
	border-color: grey;
	color: black;
}

a.tag:before
{
	background-image: url(/images/icons/tags.png);
	background-repeat: no-repeat;
	content: ' ';
	display: inline-block;
	float: left;
	height: 16px;
	margin-right: 4px;
	width: 16px;
}

a.tag:before { background-position: 0 0px; }
a.tag:hover:before { background-position: -16px 0px; }
a.tag-android:before { background-position: 0 -16px; }
a.tag-android:hover:before { background-position: -16px -16px; }
a.tag-apple:before { background-position: 0 -32px; }
a.tag-apple:hover:before { background-position: -16px -32px; }
a.tag-chrome:before { background-position: 0 -48px; }
a.tag-chrome:hover:before { background-position: -16px -48px; }
a.tag-dos:before { background-position: 0 -64px; }
a.tag-dos:hover:before { background-position: -16px -64px; }
a.tag-dosbox:before { background-position: 0 -80px; }
a.tag-dosbox:hover:before { background-position: -16px -80px; }
a.tag-europe:before { background-position: 0 -96px; }
a.tag-europe:hover:before { background-position: -16px -96px; }
a.tag-firefox:before { background-position: 0 -112px; }
a.tag-firefox:hover:before { background-position: -16px -112px; }
a.tag-games:before { background-position: 0 -128px; }
a.tag-games:hover:before { background-position: -16px -128px; }
a.tag-google:before { background-position: 0 -144px; }
a.tag-google:hover:before { background-position: -16px -144px; }
a.tag-humour:before { background-position: 0 -160px; }
a.tag-humour:hover:before { background-position: -16px -160px; }
a.tag-internet:before { background-position: 0 -176px; }
a.tag-internet:hover:before { background-position: -16px -176px; }
a.tag-internet-explorer:before { background-position: 0 -192px; }
a.tag-internet-explorer:hover:before { background-position: -16px -192px; }
a.tag-linux:before { background-position: 0 -208px; }
a.tag-linux:hover:before { background-position: -16px -208px; }
a.tag-magento:before { background-position: 0 -224px; }
a.tag-magento:hover:before { background-position: -16px -224px; }
a.tag-math:before { background-position: 0 -240px; }
a.tag-math:hover:before { background-position: -16px -240px; }
a.tag-messenger:before { background-position: 0 -288px; }
a.tag-messenger:hover:before { background-position: -16px -288px; }
a.tag-microsoft:before { background-position: 0 -256px; }
a.tag-microsoft:hover:before { background-position: -16px -256px; }
a.tag-money:before { background-position: 0 -272px; }
a.tag-money:hover:before { background-position: -16px -272px; }
a.tag-msn:before { background-position: 0 -288px; }
a.tag-msn:hover:before { background-position: -16px -288px; }
a.tag-nokia:before { background-position: 0 -304px; }
a.tag-nokia:hover:before { background-position: -16px -304px; }
a.tag-nonsense:before { background-position: 0 -416px; }
a.tag-nonsense:hover:before { background-position: -16px -416px; }
a.tag-opera:before { background-position: 0 -320px; }
a.tag-opera:hover:before { background-position: -16px -320px; }
a.tag-php:before { background-position: 0 -336px; }
a.tag-php:hover:before { background-position: -16px -336px; }
a.tag-puzzle:before { background-position: 0 -352px; }
a.tag-puzzle:hover:before { background-position: -16px -352px; }
a.tag-safari:before { background-position: 0 -368px; }
a.tag-safari:hover:before { background-position: -16px -368px; }
a.tag-usa:before { background-position: 0 -384px; }
a.tag-usa:hover:before { background-position: -16px -384px; }
a.tag-web-design:before { background-position: 0 -400px; }
a.tag-web-design:hover:before { background-position: -16px -400px; }
a.tag-weird:before { background-position: 0 -416px; }
a.tag-weird:hover:before { background-position: -16px -416px; }
a.tag-windows-7:before { background-position: 0 -432px; }
a.tag-windows-7:hover:before { background-position: -16px -432px; }
a.tag-windows-8:before { background-position: 0 -432px; }
a.tag-windows-8:hover:before { background-position: -16px -432px; }
a.tag-windows-10:before { background-position: 0 -432px; }
a.tag-windows-10:hover:before { background-position: -16px -432px; }
a.tag-windows-update:before { background-position: 0 -432px; }
a.tag-windows-update:hover:before { background-position: -16px -432px; }
a.tag-windows-vista:before { background-position: 0 -432px; }
a.tag-windows-vista:hover:before { background-position: -16px -432px; }
a.tag-windows-xp:before { background-position: 0 -432px; }
a.tag-windows-xp:hover:before { background-position: -16px -432px; }
a.tag-women:before { background-position: 0 -448px; }
a.tag-women:hover:before { background-position: -16px -448px; }

/* Sidebars in blog posts */

section.sidebar
{
	background-color: #EEEEEE;
	display: block;
	margin-top: 1em;
	padding: 1em;
}

#main section.sidebar > h2:first-child
{
	margin-top: 0;
}

/* Illustrations in blog posts */

p.illustration
{
	margin: 1em;
	padding-left: 1em;
}

p.illustration img
{
	border: 2px solid white;
	-moz-box-shadow: 2px 2px 5px black;
	-webkit-box-shadow: 2px 2px 5px black;
	box-shadow: 2px 2px 5px black;
	margin-bottom: 1ex;
	margin-left: -1em;
}

/* Screenshots */

.shot-container
{
	background: black;
	box-shadow: 2px 2px 5px black;
	height: 0;
	position: relative;
	width: 100%;
}

.ar-16x9
{
	padding: 0 0 56.25%;
}

.ar-16x10
{
	padding: 0 0 62.5%;
}

.ar-4x3
{
	padding: 0 0 75%;
}

.shot-container img.shot
{
	bottom: 0;
	box-shadow: none;
	height: 100%;
	left: 0;
	margin: 0;
	object-fit: contain;
	position: absolute;
	right: 0;
	top: 0;
	width: 100%;
}

img.shot
{
	-moz-box-shadow: 2px 2px 5px black;
	-webkit-box-shadow: 2px 2px 5px black;
	box-shadow: 2px 2px 5px black;
	margin: 1em;
}

img.shot.left
{
	display: block;
	float: left;
}

table.shots
{
	margin: auto;
}

table.shots img
{
	margin: 1em;
}


/* Gallery */

#gallery_filter select
{
	margin-right: 2em;
}

#gallery_zoomed
{
	background: white;
	border: 1px solid silver;
	cursor: pointer;
	display: none;
	left: 50%;
	padding: 10px;
	position: fixed;
	top: 50%;
}

#gallery_zoomed img#zoomed
{
	margin-bottom: 10px;
}

#gallery .shot
{
	border: 1px solid #EEE;
	cursor: pointer;
	float: left;
	margin: 1em;
	overflow: hidden;
	padding: 1em;
	width: 160px;
}

#gallery .shot:hover {
	background: #EEE;
	border: 1px solid #DDD;
}

#gallery .shot img {
	margin: auto;
}

#gallery .shot span {
	display: none;
}

/* Database result table */

.db_result
{
	border-spacing: 3px;
	color: black;
	empty-cells: show;
	margin: 1em 1px;
	outline: 1px solid silver;
}

.db_result th
{
	background: #D3DCE3;
	font-weight: bold;
	padding: 0.5ex 1em;
	text-align: center;
}

.db_result td
{
	background: #E5E5E5;
	padding: 0.5ex 1em;
	text-align: left;
	vertical-align: top;
}

.db_result tr:nth-child(odd) td
{
	background: #D5D5D5;
}

/* Spoilers, used in blog post about puzzles */

.spoiler
{
	background: silver;
	color: silver;
}

.spoiler:hover
{
	background: transparent;
	color: inherit;
}

/* Support table, used in blog post */

.support
{
	cursor: default;
	empty-cells: show;
	font-size: x-small;
}
.support td
{
	background-color: #FEE;
	background-image: url(/images/icons/cross.png);
	background-repeat: no-repeat;
	background-position: center center;
	height: 16px;
	min-width: 16px;
	text-align: center;
}
.support .yes
{
	background-color: #EFE;
	background-image: url(/images/icons/tick.png);
}
.support .maybe
{
	background-color: #FFE;
}
.support .info
{
	background-image: url(/images/icons/information.png);
}
.support .bug
{
	background-color: #FFE;
	background-image: url(/images/icons/bug.png);
}
.support .na
{
	background-color: #DDD;
	background-image: url(/images/icons/bullet_black.png);
}
.support thead th
{
	border-right: 1px solid silver;
	padding: 0 2px;
	vertical-align: top;
}
.support tbody th
{
	border-top: 1px solid silver;
	padding: 8px;
	text-align: right;
}
.support .note
{
	background-color: #FFE;
	border: 1px solid black;
	-moz-box-shadow: grey 2px 2px 10px;
	-webkit-box-shadow: grey 2px 2px 10px;
	box-shadow: grey 2px 2px 10px;
	display: none;
	margin-left: 3em;
	margin-top: 1em;
	padding: 1em;
	position: absolute;
}
.support td:hover .note
{
	display: block;
}

/* Portfolio */

.portfolio-section
{
	border-color: #CCCCCC;
	border-style: solid none none;
	border-width: 1px 0 0;
	overflow: hidden;
	padding-top: 1em;
	margin: 1em 0;
}

.portfolio-section .portfolio-link
{
	background: none !important;
	float: left;
	padding: 0 !important;
}

.portfolio-section .description
{
	overflow: hidden;
	padding-left: 1em;
}

/* Embeded YouTube */

.youtube-container
{
	height: 0;
	margin: 1.5em 0;
	overflow: hidden;
	position: relative;
	width: 100%;
}

.youtube-container .youtube-embed
{
	bottom: 0;
	height: 100%;
	left: 0;
	position: absolute;
	right: 0;
	top: 0;
	width: 100%;
}

/* Embedded Steam */

.steam-iframe
{
	margin: 1em 0;
	width: 100%;
}


/* Search results */

.search-result .index
{
	color: silver;
	float: left;
	font-size: 200%;
	margin-right: 1ex;
	min-width: 2em;
	text-align: right;
}

.search-result .summary
{
	margin-bottom: 1em;
	overflow: hidden;
}

.search-result h2
{
	padding-top: 0;
}

.search-result .link
{
	color: grey;
	font-family: monospace;
}

.search-result .link,
.search-result .excerpt
{
	line-height: 1.5em;
}

/* Resume */

#resume p, #resume table {
	margin-bottom: 1em;
	margin-left: 1em;
}

#resume td {
	font-size: 100%;
}

/* ###### Google Ads ##### */
#ads {
	height: 600px;
	margin-bottom: 1em;
	position: absolute;
	right: 1em;
	width: 120px;
}