/*
	Include in output:

	This file is part of Natural Docs, which is Copyright © 2003-2022 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.
*/


/* Group: Variables
	___________________________________________________________________________
*/

/* Colors */

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

	$MenuTextColor: #606060;
	$MenuFadedTextColor: #808080;
	$MenuFadedOpacity: .75;
	$MenuLineColor: #BCBCBC;
	$MenuHoverColor: #EEEEEE;

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

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

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


/* Fonts */

	$semibold: 600;

	$ContentFontFamily: -apple-system, BlinkMacSystemFont, "Segoe UI", Tahoma, sans-serif;
	$ContentFontSize: 10pt;

	$HeadingFontFamily: $ContentFontFamily;

	$CodeFontFamily: "SFMono-Regular", Consolas, "Liberation Mono", Menlo, Monaco, monospace;
	$CodeFontSize: 10pt;

	$ProjectTitleFontFamily: "Palatino Linotype", Georgia, serif;
	$ProjectSubtitleFontFamily: $ProjectTitleFontFamily;

	$MenuFontFamily: $ContentFontFamily;
	$MenuFontSize: 10pt;
	$MenuFolderFontWeight: $semibold;
	$MenuSelectedFontWeight: bold;

	$SummaryFontFamily: $ContentFontFamily;
	$SearchFontFamily: $ContentFontFamily;

	$PopupShadow: .125rem .125rem .5rem #505050;


/* Layout */

	$Indent: 2.25rem;
	$Indent50pct: 1.125rem;
	$Indent150pct: 3.375rem;

	$ParagraphSpacing: .5rem;
	$DefinitionSpacing: .5rem;
	$DiagramSpacing: 1rem;

	$CodePadding: .55rem .85rem .6rem .85rem;

	$ClassPrototypeIndent: 1.75rem;
	$ClassPrototypeIndentx2: 3.5rem;


/* Z-Indexes */

	$NDSearchFieldZIndex: 201;
	$NDSearchResultsZIndex: 200;

	$NDSizerZIndex: 101;
	$NDContentCoverZIndex: 100;

	$NDToolTipZIndex: 21;

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



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

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

	/* This becomes the base for all rem measurements */
	font: $ContentFontSize $ContentFontFamily;
	}

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;
	}

.TM {
	position: relative;
	font-size: 40%;
	top: -1em;
	line-height: 0;
	vertical-align: baseline;
	}
.RegTM {
	position: relative;
	font-size: 30%;
	top: -1.6em;
	line-height: 0;
	vertical-align: baseline;
	}

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

/* Important for NDFramePage sizing */
#NDHeader,
#NDMenu,
#NDMenuSizer,
#NDSummary,
#NDSummarySizer,
#NDContent,
#NDFooter,
#NDSearchField,
#NDSearchResults {
	box-sizing: border-box;
	}



/* Group: Header
	___________________________________________________________________________
*/

#NDHeader {
	background-color: $HeaderBackgroundColor;
	padding: .65rem .7rem .8rem .7rem;

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

	z-index: $NDHeaderZIndex;
	}

	#HTitle {
		font: 22pt $ProjectTitleFontFamily;
		text-shadow: 0 1px 3px #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;
		line-height: 90%;
		margin-left: .1rem;
		margin-top: .25rem;
		text-shadow: 0 1px 3px #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: 18rem;
	background: #FFFFFF URL("images/search.svg") no-repeat .55rem center;
	padding: .4em .85rem .3em 1.9rem;
	border: 0 none;
	border-radius: 1em;

	/* Default to not displaying so it doesn't show up on the loading page.  NDFramePage will make it visible when it starts. */
	display: none;
	}

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

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

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

	background-color: #FFFFFF;
	padding: .25rem 0;
	border-style: solid;
	border-width: 1px;
	border-color: #BCBCBC #747474 #747474 #BCBCBC;
	box-shadow: $PopupShadow;
	}

	.SeEntry {
		padding: .05em .75rem .15em 1.65rem;
		color: #000000;
		border-width: 1px 0;
		border-style: solid;
		border-color: #FFFFFF;
		}
	.SeEntry:hover,
	#SeSelectedEntry {
		background-color: #e4e4e4;
		}
	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: 2.85rem;
		}

	.SeEntryIcon {
		box-sizing: border-box;
		position: absolute;
		left: .75rem;
		width: .6rem;
		margin-top: .15rem;
		height: 1.1em;
		}
		.SeChildren .SeEntryIcon {
			left: 1.975rem;
			}
	.SeParent .SeEntryIcon {
		margin-top: .45rem;
		left: .85rem;
		width: 6px; height: 7px;
		background: url("images/search-group-arrow.svg") center center no-repeat;
		}
	.TClass .SeEntryIcon,
	.TInterface .SeEntryIcon,
	.TStruct .SeEntryIcon {
		width: 12px; height: 12px;
		left: .5rem;
		margin-top: .225rem;
		background: url("images/search-class.svg") center center no-repeat;
		}
		.SeChildren .TClass .SeEntryIcon,
		.SeChildren .TInterface .SeEntryIcon,
		.SeChildren .TStruct .SeEntryIcon {
			left: 1.7rem;
			}

	@media (resolution: 120dpi) {  /* 125% scale */
		.TClass .SeEntryIcon,
		.TInterface .SeEntryIcon,
		.TStruct .SeEntryIcon {
			background-image: url("images/search-class-125.svg");
			}
		}
	@media (resolution: 144dpi) {  /* 150% scale */
		.TClass .SeEntryIcon,
		.TInterface .SeEntryIcon,
		.TStruct .SeEntryIcon {
			background-image: url("images/search-class-150.svg");
			}
		}

	.SeEntry.TClass,
	.SeEntry.TInterface,
	.SeEntry.TStruct {
		font-weight: bold;
		}
	.SeEntry.MoreResults {
		font-weight: bold;
		margin-top: .375rem;
		}

	.SeStatus {
		margin: .125rem .625rem;
		color: #A0A0A0;
		text-align: center;
		}
	.SeEntry + .SeStatus,
	.SeChildren + .SeStatus{
		margin-top: .375rem;
		padding-top: .375rem;
		border-top: 1px solid #C0C0C0;
		}
	.SeStatus.Searching {
		font-style: italic;
		}




/* Group: Menu
	___________________________________________________________________________
*/

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

	#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;
		}
		.MTab.Selected:hover {
			border-bottom-color: $MenuHoverColor;
			}
	a.MTab:active,
	a.MTab:focus {
		outline: 0;
		}

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

	@media (resolution: 120dpi) {  /* 125% scale */
		#MFileTab .MTabIcon {  background-image: url("images/menu-tab-files-125.svg");  }
		#MClassTab .MTabIcon {  background-image: url("images/menu-tab-classes-125.svg");  }
		#MDatabaseTab .MTabIcon {  background-image: url("images/menu-tab-database-125.svg");  }
		}
	@media (resolution: 144dpi) {  /* 150% scale */
		#MFileTab .MTabIcon {  background-image: url("images/menu-tab-files-150.svg");  }
		#MClassTab .MTabIcon {  background-image: url("images/menu-tab-classes-150.svg");  }
		#MDatabaseTab .MTabIcon {  background-image: url("images/menu-tab-database-150.svg");  }
		}
	/* Everything else can stay with the regular icon */

	.MTabTitle {
		display: inline-block;
		color: $MenuFadedTextColor;
		font-style: italic;
		margin: 0 4px;
		}
		.MTab.Narrow .MTabTitle {
			display: none;
			}


	.MEntry {
		display: block;
		padding: .15rem .75rem .25rem 1.25rem;
		}
	.MEntry,
	a.MEntry {
		color: $MenuTextColor;
		}
	a.MEntry:hover,
	a.MEntry:active {
		background-color: $MenuHoverColor;
		}

	.MTabAsFolder {
		/* Match the tab settings.  We want them to match so perfectly that when we switch from MTabAsFolder
			to regular tabs the first icon and text doesn't shift at all. */
		padding-left: 5px;
		}
		.MTabAsFolder .MTabTitle {
			color: $MenuTextColor;
			}
		.MTabAsFolder .MTabIcon {
			opacity: 1;
			}
		.MTabAsFolder .MFolderIcon {
			padding-top: 1.2rem;
			}

	.MFolder {
		font-weight: $MenuFolderFontWeight;
		}
	.MFolder.Parent {
		border-bottom: 1px solid $MenuLineColor;
		}
	.MFolder.Parent,
	.MFolder.Selected,
	.MEntry.TopLevel {
		padding-left: .75rem;
		}
	.MFolder.Parent,
	a.MFolder.Parent {
		color: $MenuFadedTextColor;
		}
	.MFolder.Parent.Empty {
		color: #B0B0B0;
		}
	.MFolder.Child {
		padding-right: 1.75rem;
		}

	.MFolderIcon {
		position: absolute;
		z-index: $NDMenuArrowZIndex;
		right: 0;
		background: $MenuBackgroundColor url("images/menu-folder-arrow.svg") center center no-repeat;
		width: 6px; height: 7px;
		padding: .95rem 1.2rem 0 0;
		}
		a.MEntry:hover .MFolderIcon,
		a.MEntry:active .MFolderIcon {
			background-color: $MenuHoverColor;
			}

	.MFolder.Selected {
		font-weight: $MenuSelectedFontWeight;
		background-color: #FFFFFF;
		border-bottom: 2px solid $MenuFadedTextColor;
		}
	.MFile.Selected {
		font-weight: $MenuSelectedFontWeight;
		background-color: #FFFFFF;
		}





/* 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: 15rem;
	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;
		color: #707070;
		padding: .05em .75rem .15em 1.85rem;
		}
	.SuEntry.first { margin-top: .75rem; }
	.SuEntry.last { margin-bottom: 2rem; }  /* leave space for link address pop-up */

	/* Top is relative to .SuEntry's top, inheriting its padding. */
	.SuEntryIcon {
		box-sizing: border-box;
		position: absolute;
		left: .9rem;
		width: .6rem;
		margin-top: .15em;
		height: 1.1em;
		}

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

	.SuEntry.TGroup {
		font-weight: bold;
		padding-left: .75rem;
		margin: .625rem 0 0 0;
		line-height: 120%;
		}
		.SuEntry.TClass + .SuEntry.TGroup,
		.SuEntry.TInterface + .SuEntry.TGroup {
			margin-top: .375rem;
			}

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





/* Group: Sizers
	___________________________________________________________________________
*/

#NDMenuSizer,
#NDSummarySizer {
	cursor: ew-resize;
	width: 6px;
	z-index: $NDSizerZIndex;
	}

#NDMenuSizer:hover,
#NDMenuSizer.Dragging {
	border-left: 2px dashed #9C9C9C;
	}
#NDSummarySizer:hover,
#NDSummarySizer.Dragging {
	border-left: 2px dashed #A8A8A8;
	}

#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: .6rem 1.25rem;
	margin: 0;
	}

	.CTopic {
		margin-bottom: 2.5rem;
		}
	.TGroup.CTopic {
		margin-bottom: 2rem;
		}
	.CTopic.last {
		/* enough space for link address pop-up */
		margin-bottom: 1.5rem;
		}

	.CTitle {
		font: $semibold 1.5rem $HeadingFontFamily;
		line-height: 120%;
		padding-bottom: .15em;
		border-bottom: 1px solid #C0C0C0;
		margin-bottom: .5rem;
		}
	.CTitle .Qualifier {
		color: #404040;
		font-weight: normal;
		}

	.TClass .CTitle,
	.TInterface .CTitle,
	.TStruct .CTitle,
	.TSection .CTitle,
	.TDatabase .CTitle,
	.TDatabaseTable .CTitle,
	.TFile.first .CTitle {
		font-size: 2.1rem;
		border-color: #A8A8A8;
		margin-bottom: .75rem;
		}

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

	.CTopic .NDPrototype,
	.CTopic .NDClassPrototype {
		margin: .6rem $Indent $DiagramSpacing $Indent;
		}

	.CHeading {
		font: $semibold 1.2rem $HeadingFontFamily;
		margin: 1.2rem 0 $ParagraphSpacing 0;
		}
	.CHeading:first-child {
		margin-top: 0;
		}

	.CTopic p {
		margin: 0 0 $ParagraphSpacing 0;
		text-indent: $Indent;
		}

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

	.CTopic ul {
		margin: 0 0 0 $Indent150pct;
		padding: 0;
		}
	.CTopic ul ul {
		margin: 0 0 0 $Indent50pct;
		}
	.CTopic li {
		list-style-type: disc;
		}
	.CTopic li p {
		text-indent: 0;
		}

	table.CDefinitionList {
		margin: 0 0 0 $Indent;
		}
		td.CDLEntry {
			font-weight: $semibold;
			padding: 0 2rem $DefinitionSpacing 0;
			min-width: 18%;
			}
		.CDLParameterType {
			font: 8pt $CodeFontFamily;
			white-space: nowrap;
			opacity: 0.5;
			margin-top: .15em;
			}
		td.CDLDefinition p {
			text-indent: 0;
			}

	.CTopic pre {
		font: $CodeFontSize $CodeFontFamily;
		overflow: auto;

		margin: $DiagramSpacing $Indent;
		border: 1px solid #7C7C7C;
		padding: $CodePadding;
		}
		.CTopic pre.CCode {
			color: #000000;
			}
		.CTopic pre.CText {
			color: #484848;
			}

	.CImage {
		text-align: center;
		margin: $DiagramSpacing 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;
			}
		.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: #787878;
		background-color: #FFFFF0;
		border: 1px solid #A0A000;
		padding: .5em;
		}





/* Group: Prototypes
	___________________________________________________________________________
*/

	/*  Sizing and Spacing  */

	.NDPrototype {
		font: $CodeFontSize $CodeFontFamily;
		background-color: #FFFFFF;
		border: 1px solid #808080;
		padding: $CodePadding;
		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;
			}

	.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: 3ch;
		}
	.NDPrototype.WideForm td.PAfterParameters {
		vertical-align: bottom;
		}


	/* 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.5;
		}
	.PSymbols,
	.PModifierQualifier {
		text-align: right;
		}





/* Group: Class Prototypes
	___________________________________________________________________________
*/

	.CPEntry {
		border-width: 1px 2px 2px 1px; border-style: solid; border-color: #000000;
		padding: .25rem .5rem;
		margin-bottom: .35rem;
		border-radius: .5rem;

		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: $ClassPrototypeIndent;
		}
	.NDClassPrototype.HasChildren .CPEntry.Parent {
		margin-right: $ClassPrototypeIndentx2;
		}

	.NDClassPrototype.HasParents .CPEntry.Current {
		margin-left: $ClassPrototypeIndent;
		}
	.NDClassPrototype.HasChildren .CPEntry.Current {
		margin-right: $ClassPrototypeIndent;
		}

	.NDClassPrototype .CPEntry.Child,
	.NDClassPrototype .CPAdditionalChildrenNotice {
		margin-left: $ClassPrototypeIndent;
		}
	.NDClassPrototype.HasParents .CPEntry.Child,
	.NDClassPrototype.HasParents .CPAdditionalChildrenNotice {
		margin-left: $ClassPrototypeIndentx2;
		}

	.CPName {
		font-size: 11pt;
		font-weight: bold;
		line-height: 140%;
		}
	.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-size: 8pt;
		opacity: .5;
		}

	a.CPAdditionalChildrenNotice:link,
	a.CPAdditionalChildrenNotice:visited,
	a.CPAdditionalChildrenNotice:hover,
	a.CPAdditionalChildrenNotice:active {
		color: #949494;
		font-weight: 10pt;
		font-style: italic;
		padding: 0 .5rem;
		border-left: 1px solid $ContentBackgroundColor;
		}

	.CPAdditionalChildren {
		display: none;
		}




/* Group: Prototype Colors
	___________________________________________________________________________
*/

.TFunction .NDPrototype,
.TOperator .NDPrototype {
	background-color: #F4F4F4;
	border-color: #C9C9C9;
	scrollbar-color: #C9C9C9 #F4F4F4;
	}
	.TFunction .NDPrototype::-webkit-scrollbar-thumb,
	.TOperator .NDPrototype::-webkit-scrollbar-thumb {
		background-color: #C9C9C9;
		}
	.TFunction .NDPrototype::-webkit-scrollbar-track,
	.TOperator .NDPrototype::-webkit-scrollbar-track {
		background-color: #F4F4F4;
		}
	.TFunction .SuEntryIcon,
	.TOperator .SuEntryIcon {
		background-color: #EDEDED;
		border: 1px solid #C2C2C2;
		}
	.TFunction .SeEntryIcon,
	.TOperator .SeEntryIcon {
		background-color: #EEEEEE;
		border: 1px solid #BDBDBD;
		}

.TProperty .NDPrototype {
	background-color: #F1F1FF;
	border-color: #C4C4EC;
	scrollbar-color: #C4C4EC #F1F1FF;
	}
	.TProperty .NDPrototype::-webkit-scrollbar-thumb {
		background-color: #C4C4EC;
		}
	.TProperty .NDPrototype::-webkit-scrollbar-track {
		background-color: #F1F1FF;
		}
	.TProperty .SuEntryIcon {
		background-color: #E8E8FF;
		border: 1px solid #BFBFEB;
		}
	.TProperty .SeEntryIcon {
		background-color: #E8E8FF;
		border: 1px solid #B9B9EA;
		}

.TVariable .NDPrototype,
.TDatabaseField .NDPrototype {
	background-color: #FCFCE8;
	border-color: #D3D3A1;
	scrollbar-color: #D3D3A1 #FCFCE8;
	}
	.TVariable .NDPrototype::-webkit-scrollbar-thumb,
	.TDatabaseField .NDPrototype::-webkit-scrollbar-thumb {
		background-color: #D3D3A1;
		}
	.TVariable .NDPrototype::-webkit-scrollbar-track,
	.TDatabaseField .NDPrototype::-webkit-scrollbar-track {
		background-color: #FCFCE8;
		}
	.TVariable .SuEntryIcon,
	.TDatabaseField .SuEntryIcon {
		background-color: #FAFAD9;
		border: 1px solid #CFCF99;
		}
	.TVariable .SeEntryIcon,
	.TDatabaseField .SeEntryIcon {
		background-color: #FCFCDB;
		border: 1px solid #CDCD94;
		}

.TConstant .NDPrototype {
	background-color: #CCCCCC;
	border-color: #8A8A8A;
	scrollbar-color: #8A8A8A #CCCCCC;
	}
	.TConstant .NDPrototype::-webkit-scrollbar-thumb {
		background-color: #8A8A8A;
		}
	.TConstant .NDPrototype::-webkit-scrollbar-track {
		background-color: #CCCCCC;
		}
	.TConstant .SuEntryIcon {
		background-color: #BBBBBB;
		border: 1px solid #888888;
		}
	.TConstant .SeEntryIcon {
		background-color: #C0C0C0;
		border: 1px solid #818181;
		}

.TType .NDPrototype,
.TEnumeration .NDPrototype,
.TDelegate .NDPrototype {
	background-color: #FCF3E6;
	border-color: #D9C0AD;
	scrollbar-color: #D9C0AD #FCF3E6;
	}
	.TType .NDPrototype::-webkit-scrollbar-thumb,
	.TEnumeration .NDPrototype::-webkit-scrollbar-thumb,
	.TDelegate .NDPrototype::-webkit-scrollbar-thumb {
		background-color: #D9C0AD;
		}
	.TType .NDPrototype::-webkit-scrollbar-track,
	.TEnumeration .NDPrototype::-webkit-scrollbar-track,
	.TDelegate .NDPrototype::-webkit-scrollbar-track {
		background-color: #FCF3E6;
		}
	.TType .SuEntryIcon,
	.TEnumeration .SuEntryIcon,
	.TDelegate .SuEntryIcon {
		background-color: #FAECDC;
		border: 1px solid #D6BCAA;
		}
	.TType .SeEntryIcon,
	.TEnumeration .SeEntryIcon,
	.TDelegate .SeEntryIcon {
		background-color: #FBEFE0;
		border: 1px solid #D3B9A7;
		}

.TEvent .NDPrototype {
	background-color: #E6FAE6;
	border-color: #AFCBAF;
	scrollbar-color: #AFCBAF #E6FAE6;
	}
	.TEvent .NDPrototype::-webkit-scrollbar-thumb {
		background-color: #AFCBAF;
		}
	.TEvent .NDPrototype::-webkit-scrollbar-track {
		background-color: #E6FAE6;
		}
	.TEvent .SuEntryIcon {
		background-color: #DCF7DC;
		border: 1px solid #ADC8AD;
		}
	.TEvent .SeEntryIcon {
		background-color: #D9F9D9;
		border: 1px solid #A2C1A2;
		}



.NDClassPrototype .CPEntry {
	background-color: #EAEAEA;
	border-color: #606060;
	scrollbar-color: #BCBCBC #EAEAEA; /* 1/3 foreground, 2/3 background */
	}
	.NDClassPrototype .CPEntry::-webkit-scrollbar-thumb {
		background-color: #BCBCBC;
		}
	.NDClassPrototype .CPEntry::-webkit-scrollbar-track {
		background-color: #EAEAEA;
		}
	.NDClassPrototype .CPEntry.Parent,
	.NDClassPrototype .CPEntry.Child {
		scrollbar-color: #A5A5A5 #EAEAEA;  /* 1/2 foreground, 1/2 background, since it gets too light combined with the transparency */
		}
		.NDClassPrototype .CPEntry.Parent::-webkit-scrollbar-thumb,
		.NDClassPrototype .CPEntry.Child::-webkit-scrollbar-thumb {
			background-color: #A5A5A5;
			}

.NDClassPrototype .CPEntry.TInterface {
	background-color: #EAEAFF;
	border-color: #747493;
	scrollbar-color: #C2C2DB #EAEAFF; /* 1/3 foreground, 2/3 background */
	}
	.NDClassPrototype .CPEntry.TInterface::-webkit-scrollbar-thumb {
		background-color: #C2C2DB;
		}
	.NDClassPrototype .CPEntry.TInterface::-webkit-scrollbar-track {
		background-color: #EAEAFF;
		}
	.NDClassPrototype .CPEntry.TInterface.Parent,
	.NDClassPrototype .CPEntry.TInterface.Child {
		scrollbar-color: #AFAFC9 #EAEAEA;  /* 1/2 foreground, 1/2 background, since it gets too light combined with the transparency */
		}
		.NDClassPrototype .CPEntry.TInterface.Parent::-webkit-scrollbar-thumb,
		.NDClassPrototype .CPEntry.TInterface.Child::-webkit-scrollbar-thumb {
			background-color: #AFAFC9;
			}



/* 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: #505000;
		}




/* Group: Tool Tips
	___________________________________________________________________________
*/

.NDToolTip {
	background-color: #FCFCE8;  /* match variable prototype background */
	border-style: solid;
	border-width: 1px;
	border-color: #BDBD77 #797948 #797948 #BDBD77;
	padding: .83rem;
	overflow: hidden;
	border-radius: 1ex;
	box-shadow: $PopupShadow;
	}

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

	.TTSummary {
		font: $ContentFontSize $ContentFontFamily;
		max-width: 75ex;
		margin-left: .125rem;
		margin-right: .125rem;
		}

	.NDPrototype + .TTSummary {
		margin-top: .6rem;
		}
	.NDClassPrototype + .TTSummary {
		margin-top: .3rem;
		}




/* Group: Footer
	___________________________________________________________________________
*/

$FooterTextColor: #909090;
$FooterHoverColor: #606060;


#NDFooter {
	font-size: .8rem;
	color: $FooterTextColor;
	background-color: $MenuBackgroundColor;
	text-align: center;

	border-top: 1px dotted $FooterTextColor;
	padding: .5rem .6rem .75rem .6rem;

	z-index: $NDFooterZIndex;
	}
	#NDFooter:hover {
		color: $FooterHoverColor;
		border-color: $FooterHoverColor;
		}

	#NDFooter a {
		color: $FooterTextColor;
		}
		#NDFooter:hover a {
			color: $FooterHoverColor;
			text-decoration: underline;
			}

	#FCopyright,
	#FTimestamp {
		margin-top: .15rem;
		}





/* Group: Home Page
	___________________________________________________________________________
*/

body.NDHomePage {
	padding: 0; margin: 0;
	background-color: $MenuBackgroundColor;
	background-image: linear-gradient(to bottom, $HeaderBackgroundColor, $MenuBackgroundColor);
	background-repeat: no-repeat;
	background-attachment: fixed;
	height: 100%;
	}

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

	.HContent {
		max-width: 28rem;
		margin: 0 auto;
		padding: 1.75rem 2rem 1.85rem 2rem;
		overflow: hidden;
		background-color: #FFFFFF;
		border-width: .25rem;
		border-style: solid;
		border-color: #E0E0E0 #A0A0A0 #202020 #C0C0C0;
		box-shadow: 0 .225rem .375rem #383838;
		text-align: center;
		}

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

	.HFooter {
		margin-top: 1.75rem;
		border-top: 1px solid #A0A0A0;
		padding-top: 1.5rem;
		font: .9rem $ContentFontFamily;
		color: #A0A0A0;
		}
		.HCopyright,
		.HTimestamp{
			margin-top: .25rem;
			}
		.HFooter a:link,
		.HFooter a:visited,
		.HFooter a:hover,
		.HFooter a:active {
			color: #A0A0A0;
			}
		.HContent:hover .HFooter a {
			text-decoration: underline;
			}
