:root
{
	--primaryBackgroundColor: RGB(248, 248, 248);
	--secondaryBackgroundColor: RGB(248, 250, 255);
	--secondaryHoverBackgroundColor: RGB(238, 242, 255);
	--contentBackgroundColor: white;
	
	--fontColor: black;
	--fontSize: 11pt;
	
	--linkNormalColor: RGB(0, 0, 192);
	--linkVisitedColor: RGB(128, 0, 192);
	--linkHoverColor: RGB(108, 108, 224);
	--linkActiveColor: var(--linkHoverColor);
	
	--messageBackgroundColor: white;
	--messageNoticeColor: RGB(96, 96, 96);
	--messageWarningColor: RGB(192, 172, 0);
	--messageErrorColor: RGB(192, 0, 0);
	--messageSuccessColor: RGB(0, 192, 0);
	
	--separatorBorderColor: RGB(192, 192, 192);
	
	--titleBackgroundColor: RGB(224, 236, 255);
	--titleFontColor: RGB(0, 0, 92);
	
	--tableBackgroundColor: var(--contentBackgroundColor);
	--tableHeaderBackgroundColor: RGB(236, 236, 236);
	--tableCellBackgroundColor: var(--primaryBackgroundColor);
	--tableBorderColor: var(--contentBackgroundColor);
	
	--documentNavigationBackgroundColor: RGB(255, 224, 224);
	--sessionBarBackgroundColor: RGB(255, 255, 192);
	--detailedListBackgroundColor: var(--secondaryBackgroundColor);
	--detailedListHoverBackgroundColor: var(--secondaryHoverBackgroundColor);
	
	--commentBackgroundColor: var(--secondaryBackgroundColor);
	--deletedCommentBackgroundColor: RGB(252, 252, 252);
	--creatorCommentBackgroundColor: var(--secondaryHoverBackgroundColor);
}

body
{
	font-family: sans-serif;
	font-size: var(--fontSize);
	color: var(--fontColor);
	text-decoration: none;
	margin: 0em;
	padding: 0em;
	background-color: var(--primaryBackgroundColor);
	
	/* Fix font sizes oscillating on iPhone */
	-webkit-text-size-adjust: 100%;
}

a
{
	text-decoration: none;
}

a, div.controls a:visited, div.session a:visited, span a:visited
{
	color: var(--linkNormalColor);
}

a:visited
{
	color: var(--linkVisitedColor);
}

a:hover, div.controls a:hover, div.session a:hover, span a:hover,
a:focus-visible, div.controls a:focus-visible, div.session a:focus-visible, span a:focus-visible
{
	color: var(--linkHoverColor);
}

a:active, div.controls a:active, div.session a:active, span a:active
{
	color: var(--linkActiveColor);
}

img
{
	max-width: 55vw;
	height: auto;
}

iframe
{
	max-width: 55vw;
	height: auto;
	object-fit: scale-down;
	aspect-ratio: 4/3;
}

img.left, iframe.left
{
	float: left;
	clear: left;
	margin-right: 0.5em;
	margin-bottom: 0.5em;
}

img.right, iframe.right
{
	float: right;
	clear: right;
	margin-left: 0.5em;
	margin-bottom: 0.5em;
}

img.center
{
	display: block;
	clear: both;
	margin-top: 0.5em;
	margin-bottom: 0.5em;
	margin-left: auto;
	margin-right: auto;
}

a.center, iframe.center
{
	clear: both;
	display: table;
	margin-top: 0.5em;
	margin-bottom: 0.5em;
	margin-left: auto;
	margin-right: auto;
}

a.center img.center
{
	margin-left: 0;
	margin-right: 0;
}

h1, h2, h3, h4, h5, h6
{
	padding: 0em;
}

h1
{
	margin: calc(0.5em / 2) calc(0.5em / 2);
	margin-bottom: 0em;
	font-size: calc(var(--fontSize) * 2);
}

h2
{
	margin: calc(0.5em / 1.5) calc(0.5em / 1.5);
	margin-bottom: 0em;
	font-size: calc(var(--fontSize) * 1.5);
}

h3
{
	margin: calc(0.5em / 1.17) calc(0.5em / 1.17);
	margin-bottom: 0em;
	font-size: calc(var(--fontSize) * 1.17);
}

h4
{
	margin: calc(0.5em / 1) calc(0.5em / 1);
	margin-bottom: 0em;
	font-size: calc(var(--fontSize) * 1);
}

h5
{
	margin: calc(0.5em / 0.83) calc(0.5em / 0.83);
	margin-bottom: 0em;
	font-size: calc(var(--fontSize) * 0.83);
}

h6
{
	margin: calc(0.5em / 0.67) calc(0.5em / 0.67);
	margin-bottom: 0em;
	font-size: calc(var(--fontSize) * 0.67);
}

blockquote
{
	font-style: italic;
	border-left: 1px solid var(--separatorBorderColor);
}

hr
{
	height: 1px;
	border: none;
	padding: 0em;
	margin: 0.5em 0.5em;
	background-color: var(--separatorBorderColor);
}

hr.major
{
	height: 1em;
	margin: 0em;
	padding: 0.25em 0em;
	background-color: var(--primaryBackgroundColor);
}

ol, ul
{
	padding: 0em;
	margin: 0.5em calc(0.5em * 2);
	list-style-position: inside;
}

ul
{
	list-style: none;
}

ul li, ol li
{
	line-height: 1.5em;
}

ul:not(.reorderable) li:not(.nobullet):not(.ui-menu-item)
{
	text-indent: calc(-0.6667em);
	padding-left: calc(0.6667em);
}

ul:not(.reorderable):not(.nobullet) li:not(.nobullet):not(.ui-menu-item):before
{
	content: "•";
	padding-right: 4px;
}

ul.nobullet
{
	margin: 0em;
	margin-top: 0.25em;
}

ul.nobullet li, div.content ul.nobullet li
{
	list-style: none;
	margin-left: 1em;
}

li.nobullet
{
	list-style: none;
	margin: 0.25em;
	padding: 0.25em;
}

li.nobullet > a
{
	display: table;
	box-sizing: border-box;
	width: 100%;
	background-color: var(--detailedListBackgroundColor);
	padding: 0em;
}

li.nobullet > a:hover,
li.nobullet > a:focus-visible
{
	background-color: var(--detailedListHoverBackgroundColor);
}

li.nobullet > a p, li.nobullet > a h3 i
{
	color: var(--fontColor);
}

li.nobullet > a p
{
	position: relative;
	left: 0.5em;
	padding-right: 0.5em;
}

div.content li.nobullet > div.created
{
	margin-top: 0.125em;
	margin-right: 0em;
}

.expand
{
	display: block !important;
	box-sizing: border-box;
}

.inline
{
	display: inline !important;
	width: auto !important;
}

div.content div.container
{
	margin: 0em;
	padding: 0em;
}

div#logo
{
	padding: 0.5em 0.5em 0em 0.5em;
}

div#logo img, div#logo span
{
	display: block;
}

div.session
{
	margin: 0em;
	padding: 0.125em 0.25em;
	background-color: var(--sessionBarBackgroundColor);
	border-bottom: 1px solid var(--separatorBorderColor);
}

div.session div.right
{
	float: right;
}

div.user
{
	font-size: calc(var(--fontSize) * 0.8);
	margin: 0em;
	padding: 0.125em 0.25em;
	word-wrap: break-word;
	text-align: center;
}

div.controls #more
{
	display: none;
	position: absolute;
	right: 0;
	background-color: var(--contentBackgroundColor);
	border: 1px solid var(--separatorBorderColor);
	text-align: center;
}

div.controls #more, div.controls #more div
{
	padding: 0em;
	margin: 0em;
}

div.controls #more a, div.controls #more span
{
	display: block;
	padding: 0.25em 0.5em;
	margin: 0em;
}

div.controls #more a:hover,
div.controls #more a:focus-visible
{
	background-color: var(--primaryBackgroundColor);
	color: var(--linkNormalColor);
}

div.controls a, div.controls span
{
	margin: 0em 0.5em;
}

div.content div.controls.top
{
	background-color: var(--contentBackgroundColor);
	border-bottom: 1px solid var(--separatorBorderColor);
	border-top: 1px solid var(--separatorBorderColor);
	text-align: center;
	width: 100%;
	position: relative;
	box-sizing: border-box;
	display: table;
	padding: 0.25em 0em;
	margin: 0em;
	margin-top: 0.25em;
	margin-bottom: -0.25em;
}

div.content div.controls
{
	text-align: center;
	width: 100%;
	position: relative;
	box-sizing: border-box;
	display: table;
	margin: 0em;
	padding: 0em;
}

div.content div.controls > div
{
	float: left;
	margin: 0em;
	box-sizing: border-box;
	/* Force the column divs to appear, even without content. */
	min-height: 1px;
}

div.controls div.left
{
	text-align: left;
	width: 25%;
}

div.controls div.middle
{
	text-align: center;
	width: 50%;
}

div.controls div.right
{
	text-align: right;
	width: 25%;
}

div.controls.top span, div.controls.top a.more
{
	font-weight: bold;
}

div.content div.title
{
	color: var(--titleFontColor);
	background-color: var(--titleBackgroundColor);
	text-align: left;
	margin: 0em;
	padding: 0.25em 0.5em;
	margin-bottom: -0.25em;
}

div.content div.navigation
{
	background-color: var(--primaryBackgroundColor);
	text-align: left;
	margin: 0em;
	padding: 0.25em 0.5em;
}

div.content div.navigation.top
{
	background-color: var(--documentNavigationBackgroundColor);
	margin-top: -0.25em;
	margin-bottom: 0.25em;
	padding: 0.5em;
}

div.content div.navigation div.container > div
{
	width: 50%;
}

div.content div.navigation.top div.container > div
{
	width: 33.333%;
}

div.content div.navigation div.container
{
	width: 100%;
	box-sizing: border-box;
}

div.content div.navigation div.container > div
{
	float: left;
	margin: 0em;
	padding: 0em;
	box-sizing: border-box;
}

div.content div.navigation div.container div.left
{
	text-align: left;
}

div.content div.navigation div.container div.middle
{
	text-align: center;
	line-height: 2.25em;
}

div.content div.navigation div.container div.right
{
	text-align: right;
}

div.content
{
	text-align: left;
	display: flex;
	align-items: stretch;
}

div.content p
{
	line-height: 1.5em;
	margin: 0.5em 1em;
}

div.content div
{
	margin: 0.5em;
}

div.content p, div.content div
{
	padding: 0em;
}

div.content li
{
	margin: 0.5em;
}

div.content iframe
{
	padding: 0.5em;
	border: none;
}

div.content pre
{
	padding: 0em 1.5em;
}

div.content td, div.content th
{
	margin: 0em;
	padding: 0.25em;
}

div.content div.column
{
	box-sizing: border-box;
	margin: 0.25em 0em;
	padding: 0em;
}

div.content div.column.left
{
	background-color: var(--primaryBackgroundColor);
	flex: 0 0 120px;
	max-width: 120px;
}

div.content div.column.placeholder
{
	background-color: var(--primaryBackgroundColor);
	flex: 0 0 1em;
	max-width: 1em;
}

div.content div.column.middle
{
	background-color: var(--contentBackgroundColor);
	flex: 2 auto;
	min-width: 150px;
	display: flex;
	flex-direction: column;
}

div.content div.column.right
{
	background-color: var(--primaryBackgroundColor);
	flex: 0 0 200px;
	max-width: 200px;
}

div.content div.column.left h3, div.content div.column.right h3
{
	margin-top: 0.125em;
	margin-bottom: -0.25em;
}

div.content div.column.middle div.feed
{
	float: right;
	margin: 0em;
	padding: 0em;
}

div.content div.column.middle div.feed img
{
	display: block;
}

div.content div.column.right div.feed
{
	text-align: center;
}

div.content div.column.right div.feed a
{
	display: inline-block;
	vertical-align: middle;
}

div.content div.column.middle div.filler
{
	background-color: var(--primaryBackgroundColor);
	margin: 0em;
	flex-grow: 1;
}

div.content td.numeric
{
	text-align: right;
}

@media only screen and (max-width: 800px)
{
	div.content
	{
		flex-direction: column;
	}
	div.content div.column
	{
		min-width: 150px;
		flex-basis: 0 !important;
	}
	div.menuitem
	{
		display: inline-block;
	}
	div.menuitem.separator
	{
		display: none;
	}
	div.content div.column.left, div.content div.column.right
	{
		text-align: center;
		max-width: none;
	}
	div.menuitem.heading, div.content div.column.right div:not(.feed)
	{
		display: inline-block;
		vertical-align: top;
		text-align: left;
	}
	div.content div.column.right h3
	{
		text-align: center;
	}
	
	img
	{
		max-width: 90vw;
	}
	iframe
	{
		max-width: 90vw;
	}
}

div.page
{
	margin: 0.25em 0em 1em 0em;
}

div.page label
{
	text-align: left;
	display: inline-block;
}

div.page form
{
	display: inline-block;
	vertical-align: middle;
	margin: 0em;
}

div.page form input[type=text], div.page form input[type=number], div.page form input[type=password], div.page form input[type=file], div.page form select, div.page form textarea
{
	display: block;
	box-sizing: border-box;
	width: 100%;
}

div.page form input[type=checkbox], div.page form input[type=radio]
{
	position: relative;
	vertical-align: baseline;
	margin: 1px 5px 0px 0px;
}

div.page table
{
	border: none;
	border-collapse: collapse;
	border-spacing: 0px;
	display: table;
	background-color: var(--tableBackgroundColor);
	width: calc(100% - 0.5em * 2);
	margin: 0.5em;
	word-wrap: anywhere;
}

div.page td
{
	border: 1px solid var(--tableBorderColor);
	background-color: var(--tableCellBackgroundColor);
}

div.page th
{
	text-align: center;
	border: 1px solid var(--tableBorderColor);
	background-color: var(--tableHeaderBackgroundColor);
}

div.messages.container
{
	text-align: center;
}

div.message
{
	margin: 1em 0em 0.75em 0em;
	background-color: var(--messageBackgroundColor);
	border: 1px solid black;
	display: inline-block;
}

div.message div.title
{
	color: var(--messageBackgroundColor);
	text-align: center;
	padding: 0em 2em;
}

div.notice div.title
{
	background-color: var(--messageNoticeColor);
}

div.warning div.title
{
	background-color: var(--messageWarningColor);
}

div.error div.title
{
	background-color: var(--messageErrorColor);
}

div.success div.title
{
	background-color: var(--messageSuccessColor);
}

div.notice
{
	border-color: var(--messageNoticeColor);
}

div.warning
{
	border-color: var(--messageWarningColor);
}

div.error
{
	border-color: var(--messageErrorColor);
}

div.success
{
	border-color: var(--messageSuccessColor);
}

div.content div.comment, div.content div.reply
{
	background-color: var(--commentBackgroundColor);
	margin: 0em;
	padding: 0em;
	display: block;
	width: 100%;
	box-sizing: border-box;
}

div.content div.reply:not(.leaf)
{
	padding-bottom: 0.25em;
	padding-top: 0.5em;
	margin-top: -0.5em;
}

div.content div.comment.creator, div.content div.reply.creator
{
	background-color: var(--creatorCommentBackgroundColor);
}

div.content div.comment div.comments
{
	background-color: var(--commentBackgroundColor);
}

div.content div.comment.creator div.comments
{
	background-color: var(--creatorCommentBackgroundColor);
}

div.content div.comment div.comments
{
	padding: 0.25em 0em;
	margin: 0em;
}

div.content div.child
{
	margin: 0.5em 0em 0.5em 0.5em;
	padding: 0em;
}

div.content div.comments, div.content form div
{
	margin: 1em;
}

div.content div.comments * div.parent
{
	margin: 0em;
	padding: 0em 0em 0.5em 0.5em;
}

div.content div.comments * div.parent.leaf
{
	margin: 0em;
	padding: 0em 0em 0.25em 0.5em;
}

div.content div.comments * form
{
	display: none;
}

div.content div.comments div.controls div.left a
{
	margin: 0em 1em 0em 0em;
	font-style: normal;
}

div.content div.comments div.controls div.right a
{
	margin: 0em 0.25em 0em 0em;
	font-style: normal;
}

div.content div.comments div.controls a.collapseComment:After
{
	visibility: visible;
	content: '[\2212]';
}

div.content div.comments div.controls a.expandComment:After
{
	visibility: visible;
	content: '[+]';
}

div.content div.parent
{
	background-color: var(--contentBackgroundColor);
	box-shadow: inset 0.5em -0.5em 0em 0em var(--commentBackgroundColor);
	box-sizing: border-box;
}

div.content div.parent.leaf
{
	background-color: var(--commentBackgroundColor);
	box-shadow: inset 0.5em -0.25em 0em 0em var(--commentBackgroundColor);
}

div.content div.parent.creator
{
	box-shadow: inset 0.5em -0.5em 0em 0em var(--creatorCommentBackgroundColor);
}

div.content div.parent.leaf.creator
{
	background-color: var(--creatorCommentBackgroundColor);
	box-shadow: inset 0.5em -0.25em 0em 0em var(--creatorCommentBackgroundColor);
}

div.content div.parent.leaf.deleted
{
	background-color: var(--deletedCommentBackgroundColor);
	box-shadow: inset 0.5em -0.25em 0em 0em var(--deletedCommentBackgroundColor);
}

div.content div.root
{
	margin: 0.5em 0em;
}

div.deleted, div.deleted div.comment, div.deleted div.comment div.comments, div.deleted div.parent, div.deleted div.reply
{
	background-color: var(--deletedCommentBackgroundColor) !important;
	font-style: italic;
	color: var(--separatorBorderColor);
	box-shadow: inset 0.5em -0.5em 0em 0em var(--deletedCommentBackgroundColor) !important;
}

div.deleted div.parent.leaf
{
	box-shadow: inset 0.5em -0.25em 0em 0em var(--deletedCommentBackgroundColor) !important;
}

span.posted, span.edited, span.deleted, span.replies
{
	font-size: calc(var(--fontSize) * 0.8);
}

div.created
{
	display: flex;
	justify-content: space-between;
	line-height: normal;
}

div.created span.posted
{
	padding-left: 0.5em;
	margin-left: auto;
	text-align: right;
}

div.created span.edited
{
	padding-right: 0.5em;
	margin-right: auto;
	text-align: left;
}

div.content div.thumbnail, div.content div.thumbnail div
{
	padding: 0em;
	margin: 0em;
}

img.thumbnail
{
	float: left;
	margin: 0.5em;
}

div.content div.clear
{
	clear: both;
	padding: 0em;
}

div.menuitem span.separator
{
	text-align: center;
}

div.menuitem.separator hr
{
	margin: 0em;
}

div.menuitem span
{
	display: block;
}

div.menuitem *
{
	padding: 0em;
	margin: 0em;
	line-height: 1.5em;
}

div.content div.images, div.content div.files
{
	display: flex;
	flex-wrap: wrap;
	margin: 0.25em;
	padding: 0em;
}

div.content div.image, div.content div.file
{
	margin: 0.25em;
	padding: 0em 0.5em;
	background-color: var(--secondaryBackgroundColor);
}

div.content div.image img
{
	max-width: 100px;
	max-height: 100px;
}

div.content div.preview
{
	text-align: center;
}

div.content div.preview a
{
	display: inline-block;
}

.reorderable
{
	padding: 0em;
	margin: 0em;
	list-style-type: none;
}

.reorderable li
{
	padding: 0em;
	margin: 0.5em 0.25em;
}

.reorderable li:before
{
	content: none !important;
	padding-right: 0 !important;
}

.reorderable li:not(.add)
{
	background-color: var(--secondaryBackgroundColor);
	border: 1px solid var(--separatorBorderColor);
}

.reorderable li.dummy
{
	display: none;
}

.reorderable li.hover
{
	border-style: dashed;
}

.reorderable li.placeholder
{
	border: 1px dashed RGB(196, 196, 196);
	background-color: transparent;
}

div.controls a.move
{
	cursor: move;
	float: right;
}

div.controls a.delete
{
	float: left;
}

div.controls a img
{
	width: 15px;
	height: 15px;
}

div.content .reorderable div.controls
{
	margin: 0em;
	padding: 0em;
	padding-bottom: 0.25em;
}

div.content .reorderable h4, div.content .reorderable div
{
	margin: 0.25em 0.5em;
}

div.content .reorderable div.add ul
{
	margin: 0em;
}

div.content .reorderable div.add li
{
	list-style: none;
}

div.content .reorderable div.add li > a
{
	display: block;
	margin: 0em;
	background-color: var(--detailedListBackgroundColor);
}

div.content .reorderable div.add li > a:hover,
div.content .reorderable div.add li > a:focus-visible
{
	background-color: var(--detailedListHoverBackgroundColor);
}

@media only print
{
	div#logo,
	div.column.left, div.column.right,
	div.title, div.content div.controls.top, div.session,
	div.navigation, div.filler, hr.major, div.created,
	div#comments, div.tags,
	iframe.center, div#ytmp4-overlay
	{
		display: none;
	}
}
