/*
	Include in output:

	This file is part of Natural Docs, which is Copyright © 2003-2020 Code Clear LLC.
	Natural Docs is licensed under version 3 of the GNU Affero General Public
	License (AGPL).  Refer to License.txt or www.naturaldocs.org for the
	complete details.

	This file may be distributed with documentation files generated by Natural Docs.
	Such documentation is not covered by Natural Docs' copyright and licensing,
	and may have its own copyright and distribution terms as decided by its author.
*/

	$HeaderBackgroundColor: #7070C0;
	$MenuBackgroundColor: #E0E0E0;
	$SummaryBackgroundColor: #F8F8F8;
	$ToolTipBackgroundColor: #FFFFF0;
	$ContentBackgroundColor: #FFFFFF;

	$MenuLineColor: #C0C0C0;
	$MenuHoverColor: #EEEEEE;

	$MenuSummaryBorderColor: #D8D8D8;
	$SummaryContentBorderColor: #E8E8E8;

	$MenuScrollbarColors: #C8C8C8 #E8E8E8;
	$SummaryScrollbarColors: #D0D0D0 #F0F0F0;
	$ContentScrollbarColors: #CCCCCC #F0F0F0;

	$MessageBackgroundColor: #FFFFF0;
	$MessageBorderColor: #A0A000;
	$MessageTextColor: #787800;

	$ProjectTitleFontFamily: Georgia, serif;
	$ProjectSubtitleFontFamily: Georgia, serif;
	$MenuFontFamily: "Trebuchet MS", Tahoma, Geneva, sans-serif;
	$ParagraphFontFamily: Tahoma, Geneva, "Trebuchet MS", Verdana, sans-serif;
	$HeadingFontFamily: "Trebuchet MS", Tahoma, Geneva, sans-serif;
	$CodeFontFamily: "SFMono-Regular", Consolas, "Liberation Mono", Menlo, monospace;
	$SummaryFontFamily: Tahoma, Geneva, "Trebuchet MS", Verdana, sans-serif;
	$SearchFontFamily: Tahoma, Geneva, "Trebuchet MS", Verdana, sans-serif;

	$TextLinkColor: #880000;
	$TextLinkActiveColor: #F04040;

/* Z-Indexes */

	$NDMessagesZIndex: 9999;

	$NDSearchFieldZIndex: 201;
	$NDSearchResultsZIndex: 200;

	$NDSizerZIndex: 101;
	$NDContentCoverZIndex: 100;

	$NDToolTipZIndex: 21;

	$NDMenuZIndex: 5;
	$NDSummaryZIndex: 4;
	$NDContentZIndex: 3;
	$NDHeaderZIndex: 2;
	$NDFooterZIndex: 1;



html {
	/* Needed to allow full height gradients on the home page. */
	height: 100%;

	/* Needed in combination with the hacks in NDMenu/NDSummary.Build() to placate IE10. */
	/* See NDMenu.Build()'s comment for why this is necessary. */
	font: 10pt $MenuFontFamily;

	/* Can't apply to iframe or body.NDContentPage, needs to be on HTML in Firefox.*/
	scrollbar-color: $ContentScrollbarColors;
	}

body.NDFramePage {
	background-color: $MenuBackgroundColor;
	margin: 0; padding: 0;
	}

a:link, a:visited {
	text-decoration: none;
	}
a:hover, a:active {
	text-decoration: underline;
	}

table {
	margin: 0;
	padding: 0;
	border: 0 none;
	border-spacing: 0;
	}
td {
	margin: 0;
	padding: 0;
	border: 0 none;
	border-spacing: 0;
	vertical-align: top;
	}

#NDLoadingNotice {
	height: 40px;
	background: URL("images/menu-loading.gif") no-repeat center center;
	}
#NDJavaScriptRequiredNotice {
	margin: 20px;
	text-align: center;
	font: 10pt $ParagraphFontFamily;
	}



/* Group: Header
	___________________________________________________________________________
*/

#NDHeader {
	background-color: $HeaderBackgroundColor;
	padding: .65em .65em .55em .65em;

	/* For the lip.  See NDFramePage.UpdateLayout(). */
	border-bottom: 1px solid $HeaderBackgroundColor;

	z-index: $NDHeaderZIndex;
	}

	#HTitle {
		font: 22pt $ProjectTitleFontFamily;
		text-shadow: 0 .1ex .3ex #202020;
		line-height: 90%;
		}
		#HTitle,
		#HTitle a:link,
		#HTitle a:hover,
		#HTitle a:active,
		#HTitle a:visited {
			color: #FFFFFF;
			text-decoration: none;
			}

	#HSubtitle {
		font: 10pt $ProjectSubtitleFontFamily;
		margin-left: .65em;
		text-shadow: 0 .1ex .3ex #202020;
		}
		#HSubtitle,
		#HSubtitle a:link,
		#HSubtitle a:hover,
		#HSubtitle a:active,
		#HSubtitle a:visited {
			color: #C8C8C8;
			text-decoration: none;
			}




/* Group: Search
	___________________________________________________________________________
*/

#NDSearchField {
	z-index: $NDSearchFieldZIndex;
	width: 25ex;
	color: #000000;
	font: 10pt $SearchFontFamily;
	background: #FFFFFF URL("images/search.png") no-repeat left center;
	padding: .5ex 1.5ex .5ex 3.5ex;
	border: 0 none;

	/* Firefox doesn't support plain border-radius until 4. */
	/* Chrome supports plain border-radius since 8, and Safari since 5. */
	/* Opera 11 supports plain border-radius. */
	-moz-border-radius: 5ex;
	border-radius: 5ex;

	/* Default to not displaying so it doesn't show up on the loading page.  NDFramePage will make it visible when it starts. */
	display: none;
	}
	.IE #NDSearchField {
		/* IE 10 doesn't like custom fonts on the search field.  It will make the size jump around on focus and hover. */
		font: inherit;
		}

	#NDSearchField.DefaultText {
		color: #808080;
		font-style: italic;
		}

	#NDSearchField:focus {
		outline: none;  /* Get rid of Chrome's orange highlight */
		}

#NDSearchResults {
	z-index: $NDSearchResultsZIndex;
	overflow: auto;

	font: 10pt $SearchFontFamily;
	background-color: #FFFFFF;

	padding: .5ex 0;

	border-style: solid;
	border-width: 1px;
	border-color: #BCBCBC #747474 #747474 #BCBCBC;

	/* Firefox doesn't support plain box-shadow until 4. */
	/* Chrome doesn't support plain box-shadow until 10, and Safari 5 still doesn't. */
	/* Opera 11 supports plain box-shadow. */
	-moz-box-shadow: .15ex .25ex .4ex #606060;
	-webkit-box-shadow: .15ex .25ex .4ex #606060;
	box-shadow: .15ex .25ex .4ex #606060;
	}

	.SeEntry {
		padding: .2ex 1.25ex .2ex 3.25ex;
		color: #000000;
		border-width: 1px 0;
		border-style: solid;
		border-color: #FFFFFF;
		}
	.SeEntry:hover {
		background-color: #E8E8E8;
		}
	#SeSelectedEntry {
		background-color: #E8E8E8;
		border-color: #D0D0D0;
		}
	a.SeEntry {
		display: block;
		}
	a.SeEntry:link,
	a.SeEntry:hover,
	a.SeEntry:active,
	a.SeEntry:visited {
		color: #000000;
		text-decoration: none;
		}

	.SeQualifier,
	.SeChildCount {
		font-weight: normal;
		color: #7C7C7C;
		}
	.SeParent.open .SeChildCount {
		display: none;
		}

	.SeChildren.closed {
		display: none;
		}
	.SeChildren .SeEntry {
		padding-left: 5.5ex;
		}

	.SeEntryIcon {
		position: absolute;
		left: 1.7ex;
		width: .8ex;
		height: .9em;
		margin-top: 2px;
		}
		.SeChildren .SeEntryIcon {
			left: 3.9ex;
			}
	.SeParent .SeEntryIcon {
		margin-top: 4px;
		margin-left: 1px;
		background: url("images/search-parent.png") center center no-repeat;
		}
	.TClass .SeEntryIcon,
	.TInterface .SeEntryIcon,
	.TStruct .SeEntryIcon {
		width: 2ex;
		height: 1em;
		left: .9ex;
		background: url("images/search-class.png") center center no-repeat;
		}
		.SeChildren .TClass .SeEntryIcon,
		.SeChildren .TInterface .SeEntryIcon,
		.SeChildren .TStruct .SeEntryIcon {
			left: 3.15ex;
			}
	.SeEntry.TClass,
	.SeEntry.TInterface,
	.SeEntry.TStruct {
		font-weight: bold;
		}
	.SeEntry.MoreResults {
		font-weight: bold;
		margin-top: .75em;
		}

	.SeStatus {
		margin: .25ex 1.25ex;
		color: #A0A0A0;
		text-align: center;
		}
	.SeEntry + .SeStatus,
	.SeChildren	 + .SeStatus{
		margin-top: .75ex;
		padding-top: .75ex;
		border-top: 1px solid #C0C0C0;
		}
	.SeStatus.Searching {
		font-style: italic;
		}




/* Group: Menu
	___________________________________________________________________________
*/

#NDMenu {
	background-color: $MenuBackgroundColor;
	scrollbar-color: $MenuScrollbarColors;
	z-index: $NDMenuZIndex;
	overflow: auto;
	width: 30ex;
	display: none;  /* Default for loading page, will be changed by JavaScript once the scripts are loaded */
	}

	/* The tab bar causes a horizontal scroll bar on IE7 for some inexplicable reason. */
	.IE7 #NDMenu {
		overflow-x: hidden;
		}

	#NDMenu a:hover,
	#NDMenu a:active {
		text-decoration: none;
		}

	.MLoadingNotice {
		height: 20px;
		background: URL("images/menu-loading.gif") no-repeat center bottom;
		}

	#MTabBar {
		background-color: $MenuLineColor;
		}

	.MTab {
		background-color: $MenuBackgroundColor;
		border-right: 1px solid $MenuLineColor;
		border-bottom: 1px solid $MenuLineColor;
		display: inline-block;
		padding: 2px 5px;
		opacity: .55;
		}
	.MTab:hover {
		background-color: $MenuHoverColor;
		opacity: 1;
		}
	.MTab.Selected {
		border-bottom: 1px solid $MenuBackgroundColor;
		opacity: 1;
		}
	a.MTab:active,
	a.MTab:focus {
		outline: 0;
		}

	/* IE 6-8 can't handle opacity so use background color instead.  Opacity is preferable for other browsers because it will */
	/* affect the text and icon too.  We don't bother changing the text color here because then it wouldn't match the icon. */
	/* We also don't bother with "filter: alpha(opacity=n)" because that turns off ClearType and on italic text that looks terrible. */
	.IE6 .MTab,
	.IE7 .MTab,
	.IE8 .MTab {
		background-color: #D0D0D0;
		}
	.IE6 .MTab.Selected,
	.IE7 .MTab.Selected,
	.IE8 .MTab.Selected {
		background-color: $MenuBackgroundColor;
		}
	.IE6 .MTab:hover,
	.IE7 .MTab:hover,
	.IE8 .MTab:hover {
		background-color: $MenuHoverColor;
		}

	.MTabIcon {
		display: inline-block;
		width: 16px;
		height: 16px;
		position: relative;
		top: 3px;
		}
	.IE7 .MTabIcon,
	.IE6 .MTabIcon {
		top: 0;
		}
	#MFileTab .MTabIcon {  background: url("images/menu-tab-files.png") center center no-repeat;  }
	#MClassTab .MTabIcon {  background: url("images/menu-tab-classes.png") center center no-repeat;  }
	#MDatabaseTab .MTabIcon {  background: url("images/menu-tab-database.png") center center no-repeat;  }

	.MTabTitle {
		display: inline-block;
		color: #606060;
		font: italic 10pt $MenuFontFamily;
		margin: 0 4px;
		}

	/* We do this to hide the title, but keep the element there so that the tab box is affected by the text height. */
	/* Chrome can't handle a width of zero, so we do 1px and then cancel it out with the margin. */
	.MTab.Narrow .MTabTitle {
		width: 1px;
		margin: 0 -1px 0 0;
		visibility: hidden;
		}

	/* IE6 can't handle it at all.  Hiding the text and having uneven heights is less sucky than the alternative. */
	.IE6 .MTab.Narrow .MTabTitle {
		display: none;
		}


	.MEntry {
		display: block;
		font: 10pt $MenuFontFamily;
		padding: .4ex 1.5ex .4ex 3ex;
		}
	.MEntry,
	a.MEntry {
		color: #606060;
		}
	a.MEntry:hover,
	a.MEntry:active {
		background-color: $MenuHoverColor;
		}

	.MTabAsFolder {
		padding-left: 1ex;
		}

	.MFolder {
		font-weight: bold;
		}
	.MFolder.Parent {
		border-bottom: 1px solid $MenuLineColor;
		}
	.MFolder.Parent,
	a.MFolder.Parent {
		color: #808080;
		}
	.MFolder.Parent,
	.MFolder.Selected {
		padding-left: 1.5ex;
		}
	.MFolder.Parent.Empty {
		border-bottom-style: dashed;
		color: #B0B0B0;
		}
	.MFolder.Child {
		padding-right: 2.5ex;
		}

	.MFolderIcon {
		position: absolute;
		right: 0;
		background: url("images/menu-folder-arrow.png") center center no-repeat;
		width: 6px; height: 7px;
		padding: .8em 1.2em 0 0;
		}
		.IE6 .MFolderIcon {
			padding-top: 0;
			}

	.MFolder.Selected {
		font-weight: bold;
		background-color: #FFFFFF;
		border-bottom: 3px solid #888888;
		}
	.MFile.Selected {
		background-color: #FFFFFF;
		font-weight: bold;
		}





/* Group: Summary
	___________________________________________________________________________
*/

#NDSummary {
	background-color: $SummaryBackgroundColor;
	scrollbar-color: $SummaryScrollbarColors;
	border-left: 1px solid $MenuSummaryBorderColor;
	border-right: 1px solid $SummaryContentBorderColor;
	z-index: $NDSummaryZIndex;
	overflow: auto;
	width: 30ex;
	display: none;  /* Default for loading page, will be changed by JavaScript once the scripts are loaded */
	}

	#NDSummary a:hover,
	#NDSummary a:active {
		text-decoration: none;
		}

	.SuLoadingNotice {
		height: 20px;
		background: URL("images/summary-loading.gif") no-repeat center bottom;
		}

	.SuEntry {
		display: block;
		font: 10pt $SummaryFontFamily;
		padding: 1px 1.5ex 1px 3.5ex;
		}
	.SuEntry.first { margin-top: 1ex; }
	.SuEntry.last { margin-bottom: 2ex; }

	.SuEntry {
		color: #707070;
		}

	.SuEntryIcon {
		position: absolute;
		left: 1.8ex;
		width: .8ex;
		height: .9em;
		margin-top: 2px;
		}

	.SuEntry.TClass,
	.SuEntry.TInterface,
	.SuEntry.TStruct,
	.SuEntry.TSection,
	.SuEntry.TDatabase,
	.SuEntry.TDatabaseTable,
	.SuEntry.TFile.first {
		font: bold 11pt $HeadingFontFamily;
		color: #6B6B6B;
		padding-left: 1.25ex;
		padding-top: .75ex;
		padding-bottom: .75ex;
		margin: 2.5ex 0 .5ex 0;
		line-height: 120%;
		border-bottom: 1px solid #D4D4D4;
		}
		.SuEntry.TClass.first,
		.SuEntry.TInterface.first,
		.SuEntry.TStruct.first,
		.SuEntry.TSection.first,
		.SuEntry.TDatabase.first,
		.SuEntry.TDatabaseTable.first,
		.SuEntry.TFile.first {
			border-top: 0 none;
			margin-top: 0;
			}
		.SuEntry .Qualifier {
			font-weight: normal;
			}

	.SuEntry.TGroup {
		font: bold 10pt $HeadingFontFamily;
		color: #6B6B6B;
		padding-left: 1.5ex;
		padding-top: .25ex;
		padding-bottom: .25ex;
		margin: 1.25ex 0 0 0;
		line-height: 120%;
		}
		.SuEntry.TClass + .SuEntry.TGroup,
		.SuEntry.TInterface + .SuEntry.TGroup {
			margin-top: .75ex;
			}

	a.SuEntry:hover,
	a.SuEntry:active {
		background-color: #E6E6E6;
		}





/* Group: Sizers
	___________________________________________________________________________
*/

#NDMenuSizer,
#NDSummarySizer {
	cursor: e-resize;
	width: .8ex;
	z-index: $NDSizerZIndex;
	}

#NDMenuSizer:hover,
#NDMenuSizer.Dragging {
	background-color: $SummaryBackgroundColor;
	border-left: 1px solid $MenuSummaryBorderColor;
	border-right: 1px solid $MenuSummaryBorderColor;
	}
#NDSummarySizer:hover,
#NDSummarySizer.Dragging {
	background-color: $ContentBackgroundColor;
	border-right: 1px solid $SummaryContentBorderColor;
	}

#NDContentCover {
	position: fixed;
	z-index: $NDContentCoverZIndex;

	/* Background image is required.  If it's set to "transparent" or isn't specified IE will send some events
		through to what's being covered.  Even though the image is transparent and doesn't repeat the entire
		div is still treated as opaque.  */
	background: url("images/transparent.gif") no-repeat;
	}




/* Group: Content
	___________________________________________________________________________
*/

#NDContent {
	z-index: $NDContentZIndex;
	overflow: hidden;
	display: none;  /* Default for loading page, will be changed by JavaScript once the scripts are loaded */
	}

	#CFrame {
		width: 100%;
		height: 100%;
		border: 0 none;
		}


body.NDContentPage {
	background-color: $ContentBackgroundColor;
	padding: .5em 1em;
	margin: 0;
	}

	.CTopic {
		margin-bottom: 1em;
		font: 10pt $ParagraphFontFamily;
		}

	.CTitle {
		font: bold 14pt $HeadingFontFamily;
		margin: 1.5em 0 .5em 0;
		border-bottom: 1px solid #C0C0C0;
		}
	.CTopic.first .CTitle {
		margin-top: 0;
		}
	.CTitle .Qualifier {
		color: #404040;
		font-weight: normal;
		}

	.TClass .CTitle,
	.TInterface .CTitle,
	.TStruct .CTitle,
	.TSection .CTitle,
	.TDatabase .CTitle,
	.TDatabaseTable .CTitle,
	.TFile.first .CTitle {
		font-size: 20pt;
		border-color: #A8A8A8;
		line-height: 110%;
		padding-bottom: .05em;
		}

	.TGroup .CTitle {
		text-transform: uppercase;
		font-size: 16pt;
		border-bottom: 2px solid #000000;
		}

	.CHeading {
		font: bold 11pt $HeadingFontFamily;
		margin: 1.2em 0 .5em 0;
		}
	.CHeading:first-child {
		margin-top: 0;
		}

	.CTopic p {
		margin: 0 0 .5em 0;
		text-indent: 4ex;
		}

	.CTopic a:link,
	.CTopic a:visited,
	.CTopic a:hover {
		color: $TextLinkColor;
		}
	.CTopic a:active {
		color: $TextLinkActiveColor;
		}

	.CTopic ul {
		margin: 0 0 0 6ex;
		padding: 0;
		}
	.CTopic ul ul {
		margin: 0 0 0 2.5ex;
		}
	.CTopic li {
		list-style-type: disc;
		}
	.CTopic li p {
		text-indent: 0;
		}

	table.CDefinitionList {
		margin: 0 0 0 4ex;
		}
		td.CDLEntry {
			font: bold 10pt $HeadingFontFamily;
			padding: 0 2ex .5em 0;
			min-width: 18%;

			/* This makes the first line of the entry's Trebuchet line up with the first line of the definition's Tahoma
				pretty well in all font sizes. */
			line-height: 123%;
			}
		.CDLParameterType {
			opacity: 0.5;
			}
		td.CDLDefinition p {
			text-indent: 0;
			}

	.CTopic pre {
		font: 9pt $CodeFontFamily;
		overflow: auto;

		margin: 1em 4.5ex;
		border-style: solid;
		border-color: $MenuBackgroundColor;
		border-width: 1px 1px 1px 1.5ex;
		padding: .5ex 1ex;
		}

	.CImage {
		text-align: center;
		margin: 1em 0;
		}
		.CImage img.KnownDimensions {
			width: 100%;
			height: auto;
			}
		.CImage img.UnknownDimensions {
			max-width: 100%;
			}
		.CImage a.ZoomLink {
			cursor: zoom-in;
			}
		.CImage a.ZoomLink img {
			border: none;
			}

		.CICaption {
			color: #808080;
			margin-top: .25em;
			}
		.CTopic a.SeeImageLink {
			font-style: italic;
			}
		.CTopic a.SeeImageLink:link,
		.CTopic a.SeeImageLink:hover,
		.CTopic a.SeeImageLink:visited {
			color: #000000;
			}
		.CTopic a.SeeImageLink:active {
			color: $TextLinkColor;
			}

	.CBodyNDMarkup {
		font: 8pt Verdana, sans-serif;
		color: $MessageTextColor;
		background-color: $MessageBackgroundColor;
		border: 1px solid $MessageBorderColor;
		padding: .5em;
		}





/* Group: Prototypes
	___________________________________________________________________________
*/

	/*  Sizing and Spacing  */

	.NDPrototype {
		font: 10pt $CodeFontFamily;
		background-color: #FFFFFF;
		border: 1px solid #808080;
		margin: 0 5ex 1em 5ex;
		padding: .75ex 1.25ex 1.25ex 1.25ex;
		overflow: auto;
		scrollbar-width: thin;
		scrollbar-color: #C8C8C8 #FFFFFF;
		}
		.NDPrototype::-webkit-scrollbar {
			height: 7px;
			}
		.NDPrototype::-webkit-scrollbar-track {
			background-color: #FFFFFF;
			}
		.NDPrototype::-webkit-scrollbar-thumb {
			background-color: #C8C8C8;
			border-bottom: 1px solid #FFFFFF;
			}

	.PParameterSection td {
		white-space: nowrap;
		}

	/* Only narrow form can wrap.  Otherwise the JS to convert between the two
		won't be able to measure the wide form correctly. */
	.NDPrototype.NarrowForm td.PBeforeParameters,
	.NDPrototype.NarrowForm td.PAfterParameters,
	.NDPrototype.NarrowForm td.PDefaultValue,
	.NDPrototype.NarrowForm td.PPropertyValue {
		white-space: normal;
		}

	.PParameters td.last {
		width: 100%;
		}
	.NDPrototype.NarrowForm td.PParametersParentCell,
	.NDPrototype.NarrowForm td.PAfterParameters {
		padding-left: 3.5ex;
		}
	.NDPrototype.WideForm td.PAfterParameters {
		vertical-align: bottom;
		}


	.CDLParameterType {
		font: 8pt $CodeFontFamily;
		white-space: nowrap;
		}


	/* Links default back to black so we don't screw up the syntax highlighting. */
	.NDPrototype a:link,
	.NDPrototype a:visited,
	.NDPrototype a:hover,
	.NDPrototype a:active,
	.CDLParameterType a:link,
	.CDLParameterType a:visited,
	.CDLParameterType a:hover,
	.CDLParameterType a:active {
		color: #000000;
		}

	/* Underline all links when hovering over the prototype since it may not be obvious that you can click things. */
	.NDPrototype:hover a:link,
	.NDPrototype:hover a:visited,
	.NDPrototype:hover a:hover,
	.NDPrototype:hover a:active,
	.CDLEntry:hover .CDLParameterType a:link,
	.CDLEntry:hover .CDLParameterType a:visited,
	.CDLEntry:hover .CDLParameterType a:hover,
	.CDLEntry:hover .CDLParameterType a:active {
		text-decoration: underline;
		}

	.PNameModifier,
	.PModifierQualifier,
	.PDefaultValue,
	.PDefaultValueSeparator {
		opacity: 0.45;
		}
	.PSymbols,
	.PModifierQualifier {
		text-align: right;
		}





/* Group: Class Prototypes
	___________________________________________________________________________
*/

.NDClassPrototype {
	margin: 0 4ex 1em 4ex;
	}

	.CPEntry {
		border-width: 1px 2px 2px 1px; border-style: solid; border-color: #000000;
		padding: .5ex 1ex;
		margin-bottom: 4px;  /* .5ex sometimes makes the spacing uneven */

		/* Firefox doesn't support plain border-radius until 4. */
		/* Chrome supports plain border-radius since 8, and Safari since 5. */
		/* Opera 11 supports plain border-radius. */
		-moz-border-radius: 1ex;
		border-radius: 1ex;

		background-color: #FFFFFF;
		overflow: auto;
		scrollbar-width: thin;
		}
		.CPEntry::-webkit-scrollbar {
			height: 7px;
			}
	a.CPEntry,
	a.CPAdditionalChildrenNotice {
		display: block;
		}
	a.CPEntry:link,
	a.CPEntry:hover,
	a.CPEntry:visited,
	a.CPEntry:active {
		color: #000000;
		text-decoration: none;
		}
	a.CPEntry:hover .CPName,
	a.CPEntry:active .CPName {
		text-decoration: underline;
		}

	.NDClassPrototype .CPEntry.Parent {
		margin-right: 3.5ex;
		}
	.NDClassPrototype.HasChildren .CPEntry.Parent {
		margin-right: 7ex;
		}

	.NDClassPrototype.HasParents .CPEntry.Current {
		margin-left: 3.5ex;
		}
	.NDClassPrototype.HasChildren .CPEntry.Current {
		margin-right: 3.5ex;
		}

	.NDClassPrototype .CPEntry.Child,
	.NDClassPrototype .CPAdditionalChildrenNotice {
		margin-left: 3.5ex;
		}
	.NDClassPrototype.HasParents .CPEntry.Child,
	.NDClassPrototype.HasParents .CPAdditionalChildrenNotice {
		margin-left: 7ex;
		}

	.CPName {
		font: bold 11pt $HeadingFontFamily;
		line-height: 110%;
		}
	.CPName .Qualifier,
	.CPName .TemplateSignature {
		font-weight: normal;
		color: #282828;
		}
	.CPEntry.Parent .CPName,
	.CPEntry.Child .CPName {
		font-size: 10pt;
		}

	.CPEntry.Parent,
	.CPEntry.Child {
		opacity: .5;
		}

	.CPEntry .CPPrePrototypeLine,
	.CPEntry .CPModifiers,
	.CPEntry .CPPostPrototypeLine {
		font: 8pt $CodeFontFamily;
		opacity: .5;
		}
	.CPEntry.Parent .CPModifiers,
	.CPEntry.Child .CPModifiers {
		opacity: .75;
		}
	.CPEntry .CPPostPrototypeLine {
		margin-left: 4ex;
		}

	a.CPAdditionalChildrenNotice:link,
	a.CPAdditionalChildrenNotice:visited,
	a.CPAdditionalChildrenNotice:hover,
	a.CPAdditionalChildrenNotice:active {
		color: #949494;
		font: italic 10pt $HeadingFontFamily;
		padding: 0 1.5ex;
		}

	.CPAdditionalChildren {
		display: none;
		}




/* Group: Prototype Colors
	___________________________________________________________________________
*/

.TFunction .NDPrototype,
.TOperator .NDPrototype {
	background-color: #F0F0F0;
	border-color: #C8C8C8;
	scrollbar-color: #C8C8C8 #F0F0F0;
	}
	.TFunction .NDPrototype::-webkit-scrollbar-thumb,
	.TOperator .NDPrototype::-webkit-scrollbar-thumb {
		background-color: #C8C8C8;
		border-bottom: 1px solid #F0F0F0;
		}
	.TFunction .NDPrototype::-webkit-scrollbar-track,
	.TOperator .NDPrototype::-webkit-scrollbar-track {
		background-color: #F0F0F0;
		}
	.TFunction .SuEntryIcon,
	.TOperator .SuEntryIcon {
		background-color: #EAEAEA;
		border: 1px solid #C7C7C7;
		}
	.TFunction .SeEntryIcon,
	.TOperator .SeEntryIcon {
		background-color: #ECECEC;
		border: 1px solid #C2C2C2;
		}

.TProperty .NDPrototype {
	background-color: #ECECFF;
	border-color: #C0C0D6;
	scrollbar-color: #C0C0D6 #ECECFF;
	}
	.TProperty .NDPrototype::-webkit-scrollbar-thumb {
		background-color: #C0C0D6;
		border-bottom: 1px solid #ECECFF;
		}
	.TProperty .NDPrototype::-webkit-scrollbar-track {
		background-color: #ECECFF;
		}
	.TProperty .SuEntryIcon {
		background-color: #DCDCFF;
		border: 1px solid #BEBED4;
		}
	.TProperty .SeEntryIcon {
		background-color: #D8DAFF;
		border: 1px solid #BABAD0;
		}

.TVariable .NDPrototype,
.TDatabaseField .NDPrototype {
	background-color: #FCFCE6;
	border-color: #D2D2B8;
	scrollbar-color: #D2D2B8 #FCFCE6;
	}
	.TVariable .NDPrototype::-webkit-scrollbar-thumb,
	.TDatabaseField .NDPrototype::-webkit-scrollbar-thumb {
		background-color: #D2D2B8;
		border-bottom: 1px solid #FCFCE6;
		}
	.TVariable .NDPrototype::-webkit-scrollbar-track,
	.TDatabaseField .NDPrototype::-webkit-scrollbar-track {
		background-color: #FCFCE6;
		}
	.TVariable .SuEntryIcon,
	.TDatabaseField .SuEntryIcon {
		background-color: #F9F9C5;
		border: 1px solid #D0D09A;
		}
	.TVariable .SeEntryIcon,
	.TDatabaseField .SeEntryIcon {
		background-color: #F9F9C4;
		border: 1px solid #CFCEB4;
		}

.TConstant .NDPrototype {
	background-color: #CACACA;
	border-color: #979797;
	scrollbar-color: #979797 #CACACA;
	}
	.TConstant .NDPrototype::-webkit-scrollbar-thumb {
		background-color: #979797;
		border-bottom: 1px solid #CACACA;
		}
	.TConstant .NDPrototype::-webkit-scrollbar-track {
		background-color: #CACACA;
		}
	.TConstant .SuEntryIcon {
		background-color: #C6C6C6;
		border: 1px solid #A6A6A6;
		}
	.TConstant .SeEntryIcon {
		background-color: #C6C6C6;
		border: 1px solid #969696;
		}

.TType .NDPrototype,
.TEnumeration .NDPrototype,
.TDelegate .NDPrototype {
	background-color: #FCEFDE;
	border-color: #D8CBBA;
	scrollbar-color: #D8CBBA #FCEFDE;
	}
	.TType .NDPrototype::-webkit-scrollbar-thumb,
	.TEnumeration .NDPrototype::-webkit-scrollbar-thumb,
	.TDelegate .NDPrototype::-webkit-scrollbar-thumb {
		background-color: #D8CBBA;
		border-bottom: 1px solid #FCEFDE;
		}
	.TType .NDPrototype::-webkit-scrollbar-track,
	.TEnumeration .NDPrototype::-webkit-scrollbar-track,
	.TDelegate .NDPrototype::-webkit-scrollbar-track {
		background-color: #FCEFDE;
		}
	.TType .SuEntryIcon,
	.TEnumeration .SuEntryIcon,
	.TDelegate .SuEntryIcon {
		background-color: #F7E6D3;
		border: 1px solid #D8C7B3;
		}
	.TType .SeEntryIcon,
	.TEnumeration .SeEntryIcon,
	.TDelegate .SeEntryIcon {
		background-color: #F5E3D1;
		border: 1px solid #D4C3B2;
		}

.TEvent .NDPrototype {
	background-color: #E6F9E6;
	border-color: #BCCFBC;
	scrollbar-color: #BCCFBC #E6F9E6;
	}
	.TEvent .NDPrototype::-webkit-scrollbar-thumb {
		background-color: #BCCFBC;
		border-bottom: 1px solid #E6F9E6;
		}
	.TEvent .NDPrototype::-webkit-scrollbar-track {
		background-color: #E6F9E6;
		}
	.TEvent .SuEntryIcon {
		background-color: #D3F3D3;
		border: 1px solid #B2D1B1;
		}
	.TEvent .SeEntryIcon {
		background-color: #D3F3D3;
		border: 1px solid #B2D1B1;
		}



.NDClassPrototype .CPEntry {
	background-color: #EAEAEA;
	border-color: #686868;
	scrollbar-color: #C0C0C0 #EAEAEA;
	}
	.NDClassPrototype .CPEntry::-webkit-scrollbar-thumb {
		background-color: #C0C0C0;
		border-bottom: 1px solid #EAEAEA;
		}
	.NDClassPrototype .CPEntry::-webkit-scrollbar-track {
		background-color: #EAEAEA;
		}
	.NDClassPrototype .CPEntry.Parent,
	.NDClassPrototype .CPEntry.Child {
		scrollbar-color: #A8A8A8 #EAEAEA;
		}
		.NDClassPrototype .CPEntry.Parent::-webkit-scrollbar-thumb,
		.NDClassPrototype .CPEntry.Child::-webkit-scrollbar-thumb {
			background-color: #A8A8A8;
			}

	/* IE 6-8 can't handle opacity so approximate it with background colors.  The text won't fade but that's okay. */
	/* We don't use "filter: alpha(opacity=n)" because that turns off ClearType. */
	.IE6 .NDClassPrototype .CPEntry.Parent,
	.IE6 .NDClassPrototype .CPEntry.Child,
	.IE7 .NDClassPrototype .CPEntry.Parent,
	.IE7 .NDClassPrototype .CPEntry.Child,
	.IE8 .NDClassPrototype .CPEntry.Parent,
	.IE8 .NDClassPrototype .CPEntry.Child {
		border-color: #B4B4B4;
		background-color: #F5F5F5;
		}

.NDClassPrototype .CPEntry.TInterface {
	background-color: #EAEAFF;
	border-color: #686879;
	scrollbar-color: #BCBCE0 #EAEAFF;
	}
	.NDClassPrototype .CPEntry.TInterface::-webkit-scrollbar-thumb {
		background-color: #BCBCE0;
		border-bottom: 1px solid #EAEAFF;
		}
	.NDClassPrototype .CPEntry.TInterface::-webkit-scrollbar-track {
		background-color: #EAEAFF;
		}

	.IE6 .NDClassPrototype .CPEntry.TInterface.Parent,
	.IE6 .NDClassPrototype .CPEntry.TInterface.Child,
	.IE7 .NDClassPrototype .CPEntry.TInterface.Parent,
	.IE7 .NDClassPrototype .CPEntry.TInterface.Child,
	.IE8 .NDClassPrototype .CPEntry.TInterface.Parent,
	.IE8 .NDClassPrototype .CPEntry.TInterface.Child {
		border-color: #B3B3BB;
		background-color: #F5F5FF;
		}



/* Group: Syntax Highlighting
	___________________________________________________________________________
*/

.SHComment {
	color: #808080;
	}
.SHKeyword {
	color: #880000;
	}
.SHNumber,
.SHString {
	color: #000088;
	}
.SHPreprocessingDirective {
	color: #000000;
	font-weight: bold;
	}
.SHMetadata {
	color: #808000;
	}
	.CPPrePrototypeLine .SHMetadata {
		/*  Normal color is too light to easily read at .5 opacity  */
		color: #484800;
		}




/* Group: Tool Tips
	___________________________________________________________________________
*/

.NDToolTip {
	background-color: $ToolTipBackgroundColor;
	border-style: solid;
	border-width: 1px;
	border-color: #A0A193 #57574B #57574B #A0A193;
	padding: 1ex;
	overflow: hidden;

	/* Firefox doesn't support plain border-radius until 4. */
	/* Chrome supports plain border-radius since 8, and Safari since 5. */
	/* Opera 11 supports plain border-radius. */
	-moz-border-radius: 1ex;
	border-radius: 1ex;

	/* Firefox doesn't support plain box-shadow until 4. */
	/* Chrome doesn't support plain box-shadow until 10, and Safari 5 still doesn't. */
	/* Opera 11 supports plain box-shadow. */
	-moz-box-shadow: .15ex .25ex .4ex #606060;
	-webkit-box-shadow: .15ex .25ex .4ex #606060;
	box-shadow: .15ex .25ex .4ex #606060;
	}

	.NDToolTip .NDPrototype,
	.NDToolTip .NDClassPrototype {
		margin: 0;
		overflow: hidden;
		}
	.NDToolTip .NDClassPrototype .CPEntry {
		margin-left: 0 !important;
		margin-right: 0 !important;
		overflow: hidden;
		}

	.TTSummary {
		font: 10pt $ParagraphFontFamily;
		max-width: 75ex;
		}

	.NDPrototype + .TTSummary {
		margin-top: .5em;
		}




/* Group: Footer
	___________________________________________________________________________
*/

#NDFooter {
	background-color: $MenuBackgroundColor;
	font: 7pt $MenuFontFamily;
	padding: .1em 1ex;
	text-align: right;
	z-index: $NDFooterZIndex;
	}

	#NDFooter,
	#NDFooter a {
		color: #808080;
		}

	#FCopyright,
	#FTimestamp{
		display: inline;
		}
	#FCopyright:after,
	#FTimestamp:after {
		white-space: pre;
		content: "  ·  ";
		}

		/* IE can't do :after elements prior to 8 */
		.IE6 #FCopyright,
		.IE7 #FCopyright,
		.IE6 #FTimestamp,
		.IE7 #FTimestamp {
			margin-right: 3ex;
			}

	#FGeneratedBy {
		display: inline;
		}





/* Group: Home Page
	___________________________________________________________________________
*/

body.NDHomePage {
	padding: 0; margin: 0;
	background-color: $MenuBackgroundColor;

	/* Firefox 3.6, 4, 5 */
	background-image: -moz-linear-gradient(top, $HeaderBackgroundColor, $MenuBackgroundColor);

	/* Chrome 12, 13, Safari 4, 5 */
	/* Chrome also supports -webkit-linear-gradient but Safari doesn't.  5.1 supposedly does though. */
	background-image: -webkit-gradient(linear, left top, left bottom, from($HeaderBackgroundColor), to($MenuBackgroundColor));

	/* Opera 11.5 */
	background-image: -o-linear-gradient(top, $HeaderBackgroundColor, $MenuBackgroundColor);

	/* IE 6, 7, 8, 9 */
	/* Strings don't get checked for substitutions so set the colors manually. */
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#7070C0', endColorstr='#E0E0E0', GradientType=0 );

	/* IE 10 */
	background-image: -ms-linear-gradient(top, $HeaderBackgroundColor 0%, $MenuBackgroundColor 100%);

	background-image: linear-gradient(top, $HeaderBackgroundColor, $MenuBackgroundColor);
	background-repeat: no-repeat;
	background-attachment: fixed;
	height: 100%;
	}

	.HTitle,
	.HSubtitle,
	.HCopyright,
	.HTimestamp,
	.HGeneratedBy,
	.NDHomePage p {
		text-align: center;
		}

	.HFrame {
		/* Firefox 4 puts extra vertical space on the page if you do this with .HHeader margin-top instead */
		padding: 4em 5em .5em 5em;
		}

	.HContent {
		max-width: 28em;
		margin: 0 auto 3em auto;
		padding: 1.5em 2em;
		overflow: hidden;
		background-color: #FFFFFF;
		border-width: .5ex;
		border-style: solid;
		border-color: #E0E0E0 #A0A0A0 #202020 #C0C0C0;

		/* Firefox doesn't support plain box-shadow until 4. */
		/* Chrome doesn't support plain box-shadow until 10, and Safari 5 still doesn't. */
		/* Opera 11 supports plain box-shadow. */
		/* IE 9 supports plain box shadow, IE 6-8 don't support any form at all. */
		-moz-box-shadow: 0 .25ex .75ex #383838;
		-webkit-box-shadow: 0 .25ex .75ex #383838;
		box-shadow: 0 .25ex .75ex #383838;
		}

		.HTitle {
			font: 34pt $ProjectTitleFontFamily;
			line-height: 95%;
			}
		.HSubtitle {
			font: 16pt $ProjectSubtitleFontFamily;
			padding-top: .075em;
			}

	.HFooter {
		margin: 0 auto;
		margin-top: 2em;
		border-top: 1px solid #A0A0A0;
		padding-top: 2em;
		font: 8pt $ParagraphFontFamily;
		}
		.HFooter div {
			margin-bottom: .5em;
			color: #A0A0A0;
			}
		.HFooter a:link,
		.HFooter a:visited,
		.HFooter a:hover,
		.HFooter a:active {
			color: #A0A0A0;
			}





/* Group: Messages
	___________________________________________________________________________
*/

#NDMessages {
	background-color: $MessageBackgroundColor;
	z-index: $NDMessagesZIndex;
	overflow: auto;
	max-height: 33%;
	display: none;

	padding: .8ex 1ex 1ex 1ex;
	border-bottom: 3px solid $MessageBorderColor;
	border-left: 1px solid $MessageBorderColor;
	}

	#MsgCloseButton {
		float: right;
		font: bold 8pt Verdana, sans-serif;
		color: #000000;
		}
	a#MsgCloseButton:hover,
	a#MsgCloseButton:active {
		text-decoration: none;
		}

	.MsgMessage {
		color: $MessageTextColor;
		font: italic 8pt Verdana, sans-serif;
		}
	.MsgMessage ~ .MsgMessage {
		padding-top: .9ex;
		border-top: 1px dashed #D0D0C8;
		margin-top: 1.2ex;
		}



/* Group: IE 6 Touch Ups
	___________________________________________________________________________

	IE 6 doesn't understand .A.B selectors, so these are a few things to make it less horrible.  I'm not going to move
	mountains to support IE 6, but since it's mostly functional anyway I can put in this little bit of effort at least.

	IE 6's interpretation depends on the order of otherwise unrelated rules above, which means these have to be at
	the bottom of the file.  This also makes it fairly unpredictable so it's better to cordon off the insanity here rather 
	than try to beat the rest of the file into something it likes.  However, this also means this is an ugly hack because
	it's separate from where the relevant rules are defined and it's only used to beat glaring problems into line as they
	come up rather than being a coherent design.  But... so what?  IE 6 is on its way out, so an ugly "good enough" 
	solution is fine.  It's not worth the effort to do something more and it's definitely not worth polluting the rest of the 
	file to make it work better.
*/

.IE6 .MTab {
	border-bottom: 0px none;
	}
.IE6 #MContent .Selected {
	background-color: #FFFFFF;
	}
.IE6 .NDPrototype .PModifierQualifier,
.IE6 .NDPrototype .PType {
	font: 10pt $CodeFontFamily;
	padding: 0;
	border-bottom: 0px none;
	}
.IE6 .CTopic p,
.IE6 .CTopic .CTitle,
.IE6 .NDClassPrototype .CPName {
	color: #000000;
	}
.IE6 .NDClassPrototype .CPEntry {
	margin-top: 0;
	}
.IE6 .SeEntry {
	border-bottom: 0px none;
	padding: .2ex 1.25ex .2ex 3.25ex;
	margin: 0;
	font: 10pt $SearchFontFamily;
	}
.IE6 .SeChildren .SeEntry {
	padding-left: 5.5ex;
	}
.IE6 #SeSelectedEntry {
	border-style: solid;
	border-width: 1px;
	}