/*
	Include in output:

	This file is part of Natural Docs, which is Copyright © 2003-2023 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;

	$ContentBackgroundColor: #FFFFFF;
		$ContentBackgroundColor_Dark: #1E1E1E;  /* same as Visual Studio */
		$ContentBackgroundColor_Black: #000000;
	$ContentTextColor: #000000;
		$ContentTextColor_Dark: #DCDCDC;  /* same as Visual Studio */
		$ContentTextColor_Black: #F4F4F4;


	$ContentScrollbarThumbColor: #CCCCCC;
	$ContentScrollbarTrackColor: #F0F0F0;

	$ContentScrollbarThumbColor_Dark: #424242;
	$ContentScrollbarTrackColor_Dark: #262626;

	$ContentScrollbarThumbColor_Black: #343434;
	$ContentScrollbarTrackColor_Black: #040404;


	$SummaryContentBorderColor: #E8E8E8;
		$SummaryContentBorderColor_Dark: #363636;
		$SummaryContentBorderColor_Black: $MenuLineColor_Black;


	$SummaryBackgroundColor: #F8F8F8;
		$SummaryBackgroundColor_Dark: #161616;
		$SummaryBackgroundColor_Black: #000000;
	$SummaryTextColor: #707070;
		$SummaryTextColor_Dark: $MenuTextColor_Dark;
		$SummaryTextColor_Black: $MenuTextColor_Black;
	$SummaryBigTextColor: #6B6B6B;
		$SummaryBigTextColor_Dark: #C8C8C8;
		$SummaryBigTextColor_Black: #D8D8D8;
	$SummaryHoverBackgroundColor: #E6E6E6;
		$SummaryHoverBackgroundColor_Dark: #2C2C2C;
		$SummaryHoverBackgroundColor_Black: $MenuHoverBackgroundColor_Black;


	$SummaryScrollbarThumbColor: #D0D0D0;
	$SummaryScrollbarTrackColor: #F0F0F0;

	$SummaryScrollbarThumbColor_Dark: $SummaryContentBorderColor_Dark;
	$SummaryScrollbarTrackColor_Dark: #1C1C1C;

	$SummaryScrollbarThumbColor_Black: $MenuHoverBackgroundColor_Black;
	$SummaryScrollbarTrackColor_Black: #040404;


	$MenuSummaryBorderColor: #D8D8D8;
		$MenuSummaryBorderColor_Dark: $MenuLineColor_Dark;
		$MenuSummaryBorderColor_Black: $MenuLineColor_Black;


	$MenuBackgroundColor: #E0E0E0;
		$MenuBackgroundColor_Dark: #0D0D0D;
		$MenuBackgroundColor_Black: #000000;
	$MenuTextColor: #606060;
		$MenuTextColor_Dark: #B8B8B8;
		$MenuTextColor_Black: #C0C0C0;
	$MenuFadedTextColor: #808080;
		$MenuFadedTextColor_Dark: #808080;
		$MenuFadedTextColor_Black: #808080;
	$MenuFadedOpacity: .75;
	$MenuLineColor: #BCBCBC;
		$MenuLineColor_Dark: #2C2C2C;
		$MenuLineColor_Black: #484848;
	$MenuSelectedColor: #FFFFFF;
		$MenuSelectedColor_Dark: $ContentBackgroundColor_Dark;
		$MenuSelectedColor_Black: #282828;
	$MenuHoverBackgroundColor: #EEEEEE;
		$MenuHoverBackgroundColor_Dark: $MenuSelectedColor_Dark;
		$MenuHoverBackgroundColor_Black: $MenuSelectedColor_Black;
	$MenuHoverTextColor_Dark: $ContentTextColor_Dark;
	$MenuHoverTextColor_Black: $ContentTextColor_Black;


	$MenuScrollbarThumbColor: #C8C8C8;
	$MenuScrollbarTrackColor: #E8E8E8;

	$MenuScrollbarThumbColor_Dark: $MenuSummaryBorderColor_Dark;
	$MenuScrollbarTrackColor_Dark: #131313;

	$MenuScrollbarThumbColor_Black: $MenuHoverBackgroundColor_Black;
	$MenuScrollbarTrackColor_Black: #040404;


	$FooterTextColor: #909090;
		$FooterTextColor_Dark: #909090;  /* going darker makes it difficult to read */
		$FooterTextColor_Black: #909090;
	$FooterHoverColor: $MenuTextColor;
		$FooterHoverColor_Dark: $MenuTextColor_Dark;
		$FooterHoverColor_Black: $MenuTextColor_Black;

	$HomePageBottomTextColor: #A0A0A0;
		$HomePageBottomTextColor_Dark: #828282;
		$HomePageBottomTextColor_Black: #7E7E7E;

	$TextLinkColor: #880000;
		$TextLinkColor_Dark: #F0B0B0;
		$TextLinkColor_Black: #F8B8B8;
	$TextLinkActiveColor: #F04040;
		$TextLinkActiveColor_Dark: #FFE0E0;
		$TextLinkActiveColor_Black: #FFE8E8;

	$SearchResultsTextColor: #000000;
		/* Half way between content and menu colors */
		/* Make sure to change search-group-arrow-dark/black.svg to match */
		$SearchResultsTextColor_Dark: #CACACA;
		$SearchResultsTextColor_Black: #DADADA;

	/* Make sure to change search-dark/black.svg to match */
	$SearchOutlineColor_Dark: #6E6E6E;
	$SearchOutlineColor_Black: #747474;


/* 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;
		$PopupShadow_Dark: .125rem .125rem .5rem #000000;
		$PopupShadow_Black: .125rem .125rem .5rem #343434;


/* Layout */

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

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

	$MaxParagraphWidth: 65rem;
	$MaxParagraphWidthMinusIndent: 62.75rem;
	$MaxParagraphWidthMinus50pctIndent: 63.875rem;
	$MaxParagraphWidthMinus150pctIndent: 61.625rem;

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

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


/* Z-Indexes */

	$NDSearchFieldZIndex: 301;
	$NDSearchResultsZIndex: 300;

	$NDThemeSwitcherZIndex: 201;
	$NDThemeSwitcherMenuZIndex: 200;

	$NDSizerZIndex: 101;
	$NDContentCoverZIndex: 100;

	$NDToolTipZIndex: 21;

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




/* Group: Core
	___________________________________________________________________________
*/

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

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

	/* Can't apply to iframe or body.NDContentPage, needs to be on HTML in Firefox.*/
	scrollbar-color: $ContentScrollbarThumbColor $ContentScrollbarTrackColor;
	}
	html::-webkit-scrollbar {
		width: 18px;
		}
	html::-webkit-scrollbar-track,
	html::-webkit-scrollbar-corner {
		background-color: $ContentBackgroundColor;
		}
	html::-webkit-scrollbar-thumb {
		background-color: $ContentScrollbarThumbColor;
		border: 4px solid $ContentBackgroundColor;
		border-radius: 10px;
		}

	html.DarkTheme {
		scrollbar-color: $ContentScrollbarThumbColor_Dark $ContentScrollbarTrackColor_Dark;
		}
	html.DarkTheme::-webkit-scrollbar-track,
	html.DarkTheme::-webkit-scrollbar-corner {
		background-color: $ContentBackgroundColor_Dark;
		}
	html.DarkTheme::-webkit-scrollbar-thumb {
		background-color: $ContentScrollbarThumbColor_Dark;
		border-color: $ContentBackgroundColor_Dark;
		}

	html.BlackTheme {
		scrollbar-color: $ContentScrollbarThumbColor_Black $ContentScrollbarTrackColor_Black;
		}
	html.BlackTheme::-webkit-scrollbar-track,
	html.BlackTheme::-webkit-scrollbar-corner {
		background-color: $ContentBackgroundColor_Black;
		}
	html.BlackTheme::-webkit-scrollbar-thumb {
		background-color: $ContentScrollbarThumbColor_Black;
		border-color: $ContentBackgroundColor_Black;
		}

.NDFramePage body {
	background-color: $MenuBackgroundColor;
	margin: 0; padding: 0;
	}
	.DarkTheme.NDFramePage body {
		background-color: $MenuBackgroundColor_Dark;
		}
	.BlackTheme.NDFramePage body {
		background-color: $MenuBackgroundColor_Black;
		}

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;
	}
	.DarkTheme #NDLoadingNotice {
		background-image: URL("images/menu-loading-dark.gif");
		}
	.BlackTheme #NDLoadingNotice {
		background-image: URL("images/menu-loading-black.gif");
		}

#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;
	}
	.DarkTheme #NDHeader {
		background-image: linear-gradient(to top, #2C2C4C 0%, #1F1F36 100%);
		border-bottom-color: #2C2C4C;

		/* Use an inset box shadow to add a horizontal line */
		box-shadow: 0 -1px 0 0 #585894 inset;
		}
	.BlackTheme #NDHeader {
		background-image: linear-gradient(to top, $MenuHoverBackgroundColor_Black 0%, #000000 66%);
		border-bottom-color: $MenuHoverBackgroundColor_Black;
		box-shadow: 0 -1px 0 0 $MenuLineColor_Black inset;
		}

	#HTitle {
		font: 22pt $ProjectTitleFontFamily;
		text-shadow: 0 1px 3px #202020;
		line-height: 90%;
		}
		/* .DarkTheme #HTitle - keep shadow */
		.BlackTheme #HTitle { text-shadow: none; }

		#HTitle,
		#HTitle a:link,
		#HTitle a:hover,
		#HTitle a:active,
		#HTitle a:visited {
			color: #FFFFFF;
			text-decoration: none;
			}
			.DarkTheme #HTitle,
			.DarkTheme #HTitle a:link,
			.DarkTheme #HTitle a:hover,
			.DarkTheme #HTitle a:active,
			.DarkTheme #HTitle a:visited { color: #E6E6E6; }
			/* .BlackTheme #HTitle - leave at #FFFFFF */

	#HSubtitle {
		font: 10pt $ProjectSubtitleFontFamily;
		line-height: 90%;
		margin-left: .1rem;
		margin-top: .25rem;
		text-shadow: 0 1px 3px #202020;
		}
		/* .DarkTheme #HSubtitle - keep shadow */
		.BlackTheme #HSubtitle { text-shadow: none; }

		#HSubtitle,
		#HSubtitle a:link,
		#HSubtitle a:hover,
		#HSubtitle a:active,
		#HSubtitle a:visited {
			color: #C8C8C8;
			text-decoration: none;
			}
		.DarkTheme #HSubtitle,
		.DarkTheme #HSubtitle a:link,
		.DarkTheme #HSubtitle a:hover,
		.DarkTheme #HSubtitle a:active,
		.DarkTheme #HSubtitle a:visited { color: #ACACAC; }
		.BlackTheme #HSubtitle,
		.BlackTheme #HSubtitle a:link,
		.BlackTheme #HSubtitle a:hover,
		.BlackTheme #HSubtitle a:active,
		.BlackTheme #HSubtitle a:visited { color: #B8B8B8; }




/* Group: Theme Switcher
	___________________________________________________________________________
*/

#NDThemeSwitcher {
	z-index: $NDThemeSwitcherZIndex;
	border: 1px solid #C8C8C8;
	border-radius: 50%;
	box-sizing: border-box;
	background: url("images/theme-switcher.svg") center center no-repeat;

	/* Default to not displaying so it doesn't show up on the loading page.  NDFramePage will make it visible when it starts. */
	display: none;
	}
	.DarkTheme #NDThemeSwitcher {
		border-color: $SearchOutlineColor_Dark;
		background-image: url("images/theme-switcher-dark.svg");
		}
	.BlackTheme #NDThemeSwitcher {
		border-color: $SearchOutlineColor_Black;
		background-image: url("images/theme-switcher-black.svg");
		}

	#NDThemeSwitcher:hover,
	#NDThemeSwitcher.Active {
		background: url("images/theme-switcher-hover.svg") center center no-repeat;
		}
		.DarkTheme #NDThemeSwitcher:hover,
		.DarkTheme #NDThemeSwitcher.Active {
			background-image: url("images/theme-switcher-hover-dark.svg");
			}
		.BlackTheme #NDThemeSwitcher:hover,
		.BlackTheme #NDThemeSwitcher.Active {
			background-image: url("images/theme-switcher-hover-black.svg");
			}

	#NDThemeSwitcher a {
		display: block;
		width: 100%;
		height: 100%;
		border-radius: 50%;
		}


#NDThemeSwitcherMenu {
	z-index: $NDThemeSwitcherMenuZIndex;

	border-style: solid;
	border-width: 1px;
	border-color: #BCBCBC #747474 #747474 #BCBCBC;
	box-shadow: $PopupShadow;
	}
	.DarkTheme #NDThemeSwitcherMenu {
		border-color: #343434;
		box-shadow: $PopupShadow_Dark;
		}
	.BlackTheme #NDThemeSwitcherMenu {
		border-color: $MenuLineColor_Black;
		box-shadow: $PopupShadow_Black;
		}

	.TSEntry {
		display: block;
		padding: 6px 12px 6px 6px;
		min-height: 25px;
		}

	.TSEntryName {
		margin: 3px 0 0 33px;
		white-space: nowrap;
		vertical-align: bottom;
		}
		.TSEntry:hover {
			text-decoration: none !important;
			}

	.TSEntryIcon {
		box-sizing: border-box;
		border-width: 1px;
		border-style: solid;
		border-radius: 50%;

		position: absolute;
		width: 25px;
		height: 25px;
		}


	/* If you change the colors, make sure you update the SVG files to match */
	.TSEntry_LightTheme {
		color: $ContentTextColor;
		background-color: $ContentBackgroundColor;
		}
		.TSEntry_LightTheme:hover {
			background-color: #E8E8E8;
			}
		.TSEntry_LightTheme .TSEntryIcon {
			background: url("images/theme-menu-light.svg") center center no-repeat;
			border-color: #A0A0A0;
			}

	.TSEntry_DarkTheme {
		color: $ContentTextColor_Dark;
		background-color: $ContentBackgroundColor_Dark;
		}
		.TSEntry_DarkTheme:hover {
			background-color: #4E4E4E;
			}
		.TSEntry_DarkTheme .TSEntryIcon {
			background: url("images/theme-menu-dark.svg") center center no-repeat;
			border-color: $ContentTextColor_Dark;
			}

	.TSEntry_BlackTheme {
		color: $ContentTextColor_Black;
		background-color: $ContentBackgroundColor_Black;
		}
		.TSEntry_BlackTheme:hover {
			background-color: #3E3E3E;
			}
		.TSEntry_BlackTheme .TSEntryIcon {
			background: url("images/theme-menu-black.svg") center center no-repeat;
			border-color: $ContentTextColor_Black;
			}

	.TSEntry_AutoLightDarkTheme {
		color: $ContentTextColor_Dark;
		background-image: linear-gradient(135deg, $ContentBackgroundColor 25px, $ContentBackgroundColor_Dark 27px);
		}
		.TSEntry_AutoLightDarkTheme:hover {
			background-image: linear-gradient(135deg, $ContentBackgroundColor 25px, #4E4E4E 27px);
			}
		.TSEntry_AutoLightDarkTheme .TSEntryIcon {
			background: url("images/theme-menu-autolightdark.svg") center center no-repeat;
			border-color: #A0A0A0 #DCDCDC #DCDCDC #A0A0A0;
			}

	.TSEntry_AutoLightBlackTheme {
		color: $ContentTextColor_Black;
		background-image: linear-gradient(135deg, $ContentBackgroundColor 25px, $ContentBackgroundColor_Black 27px);
		}
		.TSEntry_AutoLightBlackTheme:hover {
			background-image: linear-gradient(135deg, $ContentBackgroundColor 25px, #3E3E3E 27px);
			}
		.TSEntry_AutoLightBlackTheme .TSEntryIcon {
			background: url("images/theme-menu-autolightblack.svg") center center no-repeat;
			border-color: #A0A0A0 #F4F4F4 #F4F4F4 #A0A0A0;
			}



/* Group: Search
	___________________________________________________________________________
*/

#NDSearchField {
	z-index: $NDSearchFieldZIndex;
	width: 18rem;
	color: $ContentTextColor;
	background: $ContentBackgroundColor URL("images/search.svg") no-repeat .55rem center;
	padding: .4em .85rem .3em 1.9rem;
	border: 1px solid #FFFFFF;
	border-radius: 1em;

	/* Make Firefox and Chrome consistent.  The theme switcher icon assumes 25px at 100% zoom. */
	min-height: 25px;

	/* Default to not displaying so it doesn't show up on the loading page.  NDFramePage will make it visible when it starts. */
	display: none;
	}
	.DarkTheme #NDSearchField {
		color: $ContentTextColor_Dark;
		border-color: $SearchOutlineColor_Dark;
		background-color: transparent;
		background-image: URL("images/search-dark.svg");
		}
	.BlackTheme #NDSearchField {
		color: $ContentTextColor_Black;
		border-color: $SearchOutlineColor_Black;
		background-color: $ContentBackgroundColor_Black;
		background-image: URL("images/search-black.svg");
		}

	#NDSearchField.DefaultText {
		color: #909090;
		font-style: italic;
		}
		.DarkTheme #NDSearchField.DefaultText { color: $SearchOutlineColor_Dark; }
		.BlackTheme #NDSearchField.DefaultText { color: $SearchOutlineColor_Black; }

	#NDSearchField:focus {
		outline: none;  /* Get rid of Chrome's orange highlight */
		}
		/* We only have to do this for the dark theme because it's the only one with a transparent background. */
		.DarkTheme #NDSearchField:focus {
			background-color: $ContentBackgroundColor_Dark;
			}

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

	scrollbar-color: $ContentScrollbarThumbColor $ContentScrollbarTrackColor;
	}
	#NDSearchResults::-webkit-scrollbar {
		width: 15px;
		}
	#NDSearchResults::-webkit-scrollbar-track,
	#NDSearchResults::-webkit-scrollbar-corner {
		background-color: $ContentBackgroundColor;
		}
	#NDSearchResults::-webkit-scrollbar-thumb {
		background-color: $ContentScrollbarThumbColor;
		border: 4px solid $ContentBackgroundColor;
		border-radius: 8px;
		}

	.DarkTheme #NDSearchResults {
		/* Better visual separation than using $ContentBackgroundColor_Dark. */
		background-color: $SummaryBackgroundColor_Dark;

		border-color: $SearchOutlineColor_Dark;
		box-shadow: $PopupShadow_Dark;

		scrollbar-color: $ContentScrollbarThumbColor_Dark $SummaryScrollbarTrackColor_Dark;
		}
		.DarkTheme #NDSearchResults::-webkit-scrollbar-track,
		.DarkTheme #NDSearchResults::-webkit-scrollbar-corner {
			background-color: $SummaryBackgroundColor_Dark;
			}
		.DarkTheme #NDSearchResults::-webkit-scrollbar-thumb {
			background-color: $ContentScrollbarThumbColor_Dark;
			border-color: $SummaryBackgroundColor_Dark;
			}

	.BlackTheme #NDSearchResults {
		background-color: $ContentBackgroundColor_Black;
		border-color: $MenuLineColor_Black;
		box-shadow: $PopupShadow_Black;

		scrollbar-color: $ContentScrollbarThumbColor_Black $ContentScrollbarTrackColor_Black;
		}
		.BlackTheme #NDSearchResults::-webkit-scrollbar-track,
		.BlackTheme #NDSearchResults::-webkit-scrollbar-corner {
			background-color: $ContentBackgroundColor_Black;
			}
		.BlackTheme #NDSearchResults::-webkit-scrollbar-thumb {
			background-color: $ContentScrollbarThumbColor_Black;
			border-color: $ContentBackgroundColor_Black;
			}

	.SeEntry {
		padding: .05em .75rem .15em 1.65rem;
		color: #000000;
		border-width: 1px 0;
		border-style: solid;
		border-color: #FFFFFF;
		}
		.DarkTheme .SeEntry	{ border-color: $SummaryBackgroundColor_Dark; }
		.BlackTheme .SeEntry { border-color: $ContentBackgroundColor_Black; }

	.SeEntry:hover,
	#SeSelectedEntry {
		background-color: #E4E4E4;
		}
		.DarkTheme .SeEntry:hover,
		.DarkTheme #SeSelectedEntry { background-color: $SummaryHoverBackgroundColor_Dark; }
		.BlackTheme .SeEntry:hover,
		.BlackTheme #SeSelectedEntry { background-color: $MenuSelectedColor_Black; }

	a.SeEntry {
		display: block;
		}
	a.SeEntry:link,
	a.SeEntry:hover,
	a.SeEntry:active,
	a.SeEntry:visited {
		color: $SearchResultsTextColor;
		text-decoration: none;
		}
		.DarkTheme a.SeEntry:link,
		.DarkTheme a.SeEntry:visited { color: $SearchResultsTextColor_Dark; }
		.BlackTheme a.SeEntry:link,
		.BlackTheme a.SeEntry:visited { color: $SearchResultsTextColor_Black; }
		.DarkTheme a.SeEntry:hover,
		.DarkTheme a.SeEntry:active,
		.BlackTheme a.SeEntry:hover,
		.BlackTheme a.SeEntry:active { color: #FFFFFF; }

	.SeQualifier,
	.SeChildCount {
		font-weight: normal;
		color: #7C7C7C;
		}
		.DarkTheme .SeQualifier,
		.DarkTheme .SeChildCount {
			color: #949494;
			}
		.DarkTheme a.SeEntry:hover .SeQualifier,
		.DarkTheme a.SeEntry:active .SeQualifier,
		.DarkTheme a.SeEntry:hover .SeChildCount,
		.DarkTheme a.SeEntry:active .SeChildCount {
			color: #ADADAD;
			}
		.BlackTheme .SeQualifier,
		.BlackTheme .SeChildCount {
			color: #A0A0A0;
			}
		.BlackTheme a.SeEntry:hover .SeQualifier,
		.BlackTheme a.SeEntry:active .SeQualifier,
		.BlackTheme a.SeEntry:hover .SeChildCount,
		.BlackTheme a.SeEntry:active .SeChildCount {
			color: #A8A8A8;
			}

	.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;
		}
		.DarkTheme .SeParent .SeEntryIcon {
			background-image: url("images/search-group-arrow-dark.svg");
			}
		.BlackTheme .SeParent .SeEntryIcon {
			background-image: url("images/search-group-arrow-black.svg");
			}

	.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;
		}
		.DarkTheme .TClass .SeEntryIcon,
		.DarkTheme .TInterface .SeEntryIcon,
		.DarkTheme .TStruct .SeEntryIcon {
			background-image: url("images/search-class-dark.svg");
			}
		.BlackTheme .TClass .SeEntryIcon,
		.BlackTheme .TInterface .SeEntryIcon,
		.BlackTheme .TStruct .SeEntryIcon {
			background-image: url("images/search-class-black.svg");
			}

		.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");
			}
			.DarkTheme .TClass .SeEntryIcon,
			.DarkTheme .TInterface .SeEntryIcon,
			.DarkTheme .TStruct .SeEntryIcon {
				background-image: url("images/search-class-dark-125.svg");
				}
			.BlackTheme .TClass .SeEntryIcon,
			.BlackTheme .TInterface .SeEntryIcon,
			.BlackTheme .TStruct .SeEntryIcon {
				background-image: url("images/search-class-black-125.svg");
				}
		}
	@media (resolution: 144dpi) {  /* 150% scale */
		.TClass .SeEntryIcon,
		.TInterface .SeEntryIcon,
		.TStruct .SeEntryIcon {
			background-image: url("images/search-class-150.svg");
			}
			.DarkTheme .TClass .SeEntryIcon,
			.DarkTheme .TInterface .SeEntryIcon,
			.DarkTheme .TStruct .SeEntryIcon {
				background-image: url("images/search-class-dark-150.svg");
				}
			.BlackTheme .TClass .SeEntryIcon,
			.BlackTheme .TInterface .SeEntryIcon,
			.BlackTheme .TStruct .SeEntryIcon {
				background-image: url("images/search-class-black-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;
	z-index: $NDMenuZIndex;
	overflow: auto;
	width: 15rem;
	display: none;  /* Default for loading page, will be changed by JavaScript once the scripts are loaded */

	scrollbar-color: $MenuScrollbarThumbColor $MenuScrollbarTrackColor;
	}
	#NDMenu::-webkit-scrollbar {
		width: 15px;
		}
	#NDMenu::-webkit-scrollbar-track,
	#NDMenu::-webkit-scrollbar-corner {
		background-color: $MenuBackgroundColor;
		}
	#NDMenu::-webkit-scrollbar-thumb {
		background-color: $MenuScrollbarThumbColor;
		border: 3px solid $MenuBackgroundColor;
		border-radius: 8px;
		}

	.DarkTheme #NDMenu {
		background-color: $MenuBackgroundColor_Dark;
		scrollbar-color: $MenuScrollbarThumbColor_Dark $MenuScrollbarTrackColor_Dark;
		}
		.DarkTheme #NDMenu::-webkit-scrollbar-track,
		.DarkTheme #NDMenu::-webkit-scrollbar-corner {
			background-color: $MenuBackgroundColor_Dark;
			}
		.DarkTheme #NDMenu::-webkit-scrollbar-thumb {
			background-color: $MenuScrollbarThumbColor_Dark;
			border-color: $MenuBackgroundColor_Dark;
			}

	.BlackTheme #NDMenu {
		background-color: $MenuBackgroundColor_Black;
		scrollbar-color: $MenuScrollbarThumbColor_Black $MenuScrollbarTrackColor_Black;
		}
		.BlackTheme #NDMenu::-webkit-scrollbar-track,
		.BlackTheme #NDMenu::-webkit-scrollbar-corner {
			background-color: $MenuBackgroundColor_Black;
			}
		.BlackTheme #NDMenu::-webkit-scrollbar-thumb {
			background-color: $MenuScrollbarThumbColor_Black;
			border-color: $MenuBackgroundColor_Black;
			}

	#NDMenu a:hover,
	#NDMenu a:active {
		text-decoration: none;
		}
		.DarkTheme #NDMenu a:hover,
		.DarkTheme #NDMenu a:active { color: $MenuHoverTextColor_Dark; }
		.BlackTheme #NDMenu a:hover,
		.BlackkTheme #NDMenu a:active { color: $MenuHoverTextColor_Black; }

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

	#MTabBar {
		background-color: $MenuLineColor;
		}
		.DarkTheme #MTabBar {
			background-color: $MenuBackgroundColor_Dark;

			/* Use an inset box shadow to add a horizontal line behind the tabs.
				Not needed for light theme because it uses the line color as the background. */
			box-shadow: 0 -1px 0 0 $MenuLineColor_Dark inset;
			}
		.BlackTheme #MTabBar {
			background-color: $MenuBackgroundColor_Black;
			box-shadow: 0 -1px 0 0 $MenuLineColor_Black inset;
			}

	.MTab {
		background-color: $MenuBackgroundColor;
		border-right: 1px solid $MenuLineColor;
		border-bottom: 1px solid $MenuLineColor;
		display: inline-block;
		padding: 2px 5px;
		opacity: .55;
		}
		.DarkTheme .MTab {
			background-color: $MenuBackgroundColor_Dark;
			border-right-color: $MenuLineColor_Dark;
			border-bottom-color: $MenuLineColor_Dark;

			/* It's already pretty dark so don't fade out the unselected tabs */
			opacity: 1;
			}
		.BlackTheme .MTab {
			background-color: $MenuBackgroundColor_Black;
			border-right-color: $MenuLineColor_Black;
			border-bottom-color: $MenuLineColor_Black;
			opacity: 1;
			}

		.MTab:hover {
			background-color: $MenuHoverBackgroundColor;
			opacity: 1;
			}
			.DarkTheme .MTab:hover { background-color: $MenuHoverBackgroundColor_Dark; }
			.BlackTheme .MTab:hover { background-color: $MenuHoverBackgroundColor_Black; }

		.MTab.Selected {
			border-bottom: 1px solid $MenuBackgroundColor;
			opacity: 1;
			}
			.DarkTheme .MTab.Selected { border-bottom-color: $MenuBackgroundColor_Dark; }
			.BlackTheme .MTab.Selected { border-bottom-color: $MenuBackgroundColor_Black; }

			.MTab.Selected:hover {
				border-bottom-color: $MenuHoverBackgroundColor;
				}
				.DarkTheme .MTab.Selected:hover { border-bottom-color: $MenuHoverBackgroundColor_Dark; }
				.BlackTheme .MTab.Selected:hover { border-bottom-color: $MenuHoverBackgroundColor_Black; }

		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;  }
		.DarkTheme #MFileTab .MTabIcon,
		.BlackTheme #MFileTab .MTabIcon {  background-image: url("images/menu-tab-files-dark.svg");  }
		.DarkTheme #MFileTab.Selected .MTabIcon,
		.BlackTheme #MFileTab.Selected .MTabIcon,
		.DarkTheme #MFileTab:hover .MTabIcon,
		.BlackTheme #MFileTab:hover .MTabIcon {  background-image: url("images/menu-tab-files-dark-selected.svg");  }
	#MClassTab .MTabIcon {  background: url("images/menu-tab-classes.svg") center center no-repeat;  }
		.DarkTheme #MClassTab .MTabIcon,
		.BlackTheme #MClassTab .MTabIcon {  background-image: url("images/menu-tab-classes-dark.svg");  }
		.DarkTheme #MClassTab.Selected .MTabIcon,
		.BlackTheme #MClassTab.Selected .MTabIcon,
		.DarkTheme #MClassTab:hover .MTabIcon,
		.BlackTheme #MClassTab:hover .MTabIcon {  background-image: url("images/menu-tab-classes-dark-selected.svg");  }
	#MDatabaseTab .MTabIcon {  background: url("images/menu-tab-database.svg") center center no-repeat;  }
		.DarkTheme #MDatabaseTab .MTabIcon,
		.BlackTheme #MDatabaseTab .MTabIcon {  background-image: url("images/menu-tab-database-dark.svg");  }
		.DarkTheme #MDatabaseTab.Selected .MTabIcon,
		.BlackTheme #MDatabaseTab.Selected .MTabIcon,
		.DarkTheme #MDatabaseTab:hover .MTabIcon,
		.BlackTheme #MDatabaseTab:hover .MTabIcon {  background-image: url("images/menu-tab-database-dark-selected.svg");  }
	#MModuleTab .MTabIcon {  background: url("images/menu-tab-modules.svg") center center no-repeat;  }
		.DarkTheme #MModuleTab .MTabIcon,
		.BlackTheme #MModuleTab .MTabIcon {  background-image: url("images/menu-tab-modules-dark.svg");  }
		.DarkTheme #MModuleTab.Selected .MTabIcon,
		.BlackTheme #MModuleTab.Selected .MTabIcon,
		.DarkTheme #MModuleTab:hover .MTabIcon,
		.BlackTheme #MModuleTab:hover .MTabIcon {  background-image: url("images/menu-tab-modules-dark-selected.svg");  }
	#MPackageTab .MTabIcon {  background: url("images/menu-tab-packages.svg") center center no-repeat;  }
		.DarkTheme #MPackageTab .MTabIcon,
		.BlackTheme #MPackageTab .MTabIcon {  background-image: url("images/menu-tab-packages-dark.svg");  }
		.DarkTheme #MPackageTab.Selected .MTabIcon,
		.BlackTheme #MPackageTab.Selected .MTabIcon,
		.DarkTheme #MPackageTab:hover .MTabIcon,
		.BlackTheme #MPackageTab:hover .MTabIcon {  background-image: url("images/menu-tab-packages-dark-selected.svg");  }

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

	.MTabTitle {
		display: inline-block;
		color: $MenuFadedTextColor;
		font-style: italic;
		margin: 0 4px;
		}
		.DarkTheme .MTabTitle { color: $MenuFadedTextColor_Dark; }
		.DarkTheme .MTab.Selected .MTabTitle,
		.DarkTheme .MTab:hover .MTabTitle { color: $MenuTextColor_Dark; }
		.BlackTheme .MTabTitle { color: $MenuFadedTextColor_Black; }
		.BlackTheme .MTab.Selected .MTabTitle,
		.BlackTheme .MTab:hover .MTabTitle { color: $MenuTextColor_Black; }

		.MTab.Narrow .MTabTitle {
			display: none;
			}


	.MEntry {
		display: block;
		padding: .15rem .75rem .25rem 1.25rem;
		}
	.MEntry,
	a.MEntry {
		color: $MenuTextColor;
		}
		.DarkTheme .MEntry,
		.DarkTheme a.MEntry { color: $MenuTextColor_Dark; }
		.BlackTheme .MEntry,
		.BlackTheme a.MEntry { color: $MenuTextColor_Black; }

	a.MEntry:hover,
	a.MEntry:active {
		background-color: $MenuHoverBackgroundColor;
		}
		.DarkTheme a.MEntry:hover,
		.DarkTheme a.MEntry:active { background-color: $MenuHoverBackgroundColor_Dark; }
		.BlackTheme a.MEntry:hover,
		.BlackTheme a.MEntry:active { background-color: $MenuHoverBackgroundColor_Black; }

	.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;
			}
			.DarkTheme .MTabAsFolder .MTabTitle { color: $MenuTextColor_Dark; }
			.BlackTheme .MTabAsFolder .MTabTitle { color: $MenuTextColor_Black; }
			.DarkTheme .MTabAsFolder:hover .MTabTitle { color: $MenuHoverTextColor_Dark; }
			.BlackTheme .MTabAsFolder:hover .MTabTitle { color: $MenuHoverTextColor_Black; }

		.MTabAsFolder .MTabIcon {
			opacity: 1;
			}
		.MTabAsFolder .MFolderIcon {
			padding-top: 1.2rem;
			}

	.MFolder {
		font-weight: $MenuFolderFontWeight;
		}
	.MFolder.Parent {
		border-bottom: 1px solid $MenuLineColor;
		}
		.DarkTheme .MFolder.Parent { border-bottom-color: $MenuLineColor_Dark; }
		.BlackTheme .MFolder.Parent { border-bottom-color: $MenuLineColor_Black; }

	.MFolder.Parent,
	.MFolder.Selected,
	.MEntry.TopLevel {
		padding-left: .75rem;
		}
	.MFolder.Parent,
	a.MFolder.Parent {
		color: $MenuFadedTextColor;
		}
		.DarkTheme .MFolder.Parent,
		.DarkTheme a.MFolder.Parent { color: $MenuTextColor_Dark; }
		.BlackTheme .MFolder.Parent,
		.BlackTheme a.MFolder.Parent { color: $MenuTextColor_Black; }
	.MFolder.Parent.Empty {
		opacity: .6;
		}
	.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;
		}
		.DarkTheme .MFolderIcon { background-color: $MenuBackgroundColor_Dark; }
		.BlackTheme .MFolderIcon { background-color: $MenuBackgroundColor_Black; }
		.DarkTheme .MFolderIcon,
		.BlackTheme .MFolderIcon { background-image: url("images/menu-folder-arrow-dark.svg"); }
		.DarkTheme .MEntry:hover .MFolderIcon,
		.BlackTheme .MEntry:hover .MFolderIcon { background-image: url("images/menu-folder-arrow-dark-hover.svg"); }

		a.MEntry:hover .MFolderIcon,
		a.MEntry:active .MFolderIcon {
			background-color: $MenuHoverBackgroundColor;
			}
			.DarkTheme a.MEntry:hover .MFolderIcon,
			.DarkTheme a.MEntry:active .MFolderIcon { background-color: $MenuHoverBackgroundColor_Dark; }
			.BlackTheme a.MEntry:hover .MFolderIcon,
			.BlackTheme a.MEntry:active .MFolderIcon { background-color: $MenuHoverBackgroundColor_Black; }

	.MFolder.Selected {
		font-weight: $MenuSelectedFontWeight;
		background-color: $MenuSelectedColor;
		border-bottom: 2px solid $MenuFadedTextColor;
		}
		.DarkTheme .MFolder.Selected {
			background-color: $MenuSelectedColor_Dark;
			border-bottom-color: #707070;
			}
		.BlackTheme .MFolder.Selected {
			background-color: $MenuSelectedColor_Black;
			border-bottom-color: #909090;
			}

	.MFile.Selected {
		font-weight: $MenuSelectedFontWeight;
		background-color: $MenuSelectedColor;
		}
		.DarkTheme .MFile.Selected {
			font-weight: $MenuSelectedFontWeight_Dark;
			background-color: $MenuSelectedColor_Dark;
			}
		.BlackTheme .MFile.Selected {
			font-weight: $MenuSelectedFontWeight_Black;
			background-color: $MenuSelectedColor_Black;
			}




/* Group: Summary
	___________________________________________________________________________
*/

#NDSummary {
	background-color: $SummaryBackgroundColor;
	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 */

	scrollbar-color: $SummaryScrollbarThumbColor $SummaryScrollbarTrackColor;
	}
	#NDSummary::-webkit-scrollbar {
		width: 15px;
		}
	#NDSummary::-webkit-scrollbar-track,
	#NDSummary::-webkit-scrollbar-corner {
		background-color: $SummaryBackgroundColor;
		}
	#NDSummary::-webkit-scrollbar-thumb {
		background-color: $SummaryScrollbarThumbColor;
		border: 3px solid $SummaryBackgroundColor;
		border-radius: 8px;
		}

	.DarkTheme #NDSummary {
		background-color: $SummaryBackgroundColor_Dark;
		border-right-color: $SummaryContentBorderColor_Dark;
		border-left-color: $MenuSummaryBorderColor_Dark;

		scrollbar-color: $SummaryScrollbarThumbColor_Dark $SummaryScrollbarTrackColor_Dark;
		}
		.DarkTheme #NDSummary::-webkit-scrollbar-track,
		.DarkTheme #NDSummary::-webkit-scrollbar-corner {
			background-color: $SummaryBackgroundColor_Dark;
			}
		.DarkTheme #NDSummary::-webkit-scrollbar-thumb {
			background-color: $SummaryScrollbarThumbColor_Dark;
			border-color: $SummaryBackgroundColor_Dark;
			}

	.BlackTheme #NDSummary {
		background-color: $SummaryBackgroundColor_Black;
		border-right-color: $SummaryContentBorderColor_Black;
		border-left-color: $MenuSummaryBorderColor_Black;

		scrollbar-color: $SummaryScrollbarThumbColor_Black $SummaryScrollbarTrackColor_Black;
		}
		.BlackTheme #NDSummary::-webkit-scrollbar-track,
		.BlackTheme #NDSummary::-webkit-scrollbar-corner {
			background-color: $SummaryBackgroundColor_Black;
			}
		.BlackTheme #NDSummary::-webkit-scrollbar-thumb {
			background-color: $SummaryScrollbarThumbColor_Black;
			border-color: $SummaryBackgroundColor_Black;
			}

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

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

	.SuEntry {
		display: block;
		color: $SummaryTextColor;
		padding: .05em .75rem .15em 1.85rem;
		}
		.DarkTheme .SuEntry { color: $SummaryTextColor_Dark; }
		.BlackTheme .SuEntry { color: $SummaryTextColor_Black; }

		.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: $SummaryBigTextColor;
		padding: .5em .65rem .25em .65rem;
		margin: 1.25rem 0 .25rem 0;
		line-height: 120%;
		border-bottom: 1px solid #D0D0D0;
		}
		.DarkTheme .SuEntry.TClass,
		.DarkTheme .SuEntry.TInterface,
		.DarkTheme .SuEntry.TStruct,
		.DarkTheme .SuEntry.TSection,
		.DarkTheme .SuEntry.TDatabase,
		.DarkTheme .SuEntry.TDatabaseTable,
		.DarkTheme .SuEntry.TFile.first {
			color: $SummaryBigTextColor_Dark;
			border-bottom-color: #5A5A5A;
			}
		.BlackTheme .SuEntry.TClass,
		.BlackTheme .SuEntry.TInterface,
		.BlackTheme .SuEntry.TStruct,
		.BlackTheme .SuEntry.TSection,
		.BlackTheme .SuEntry.TDatabase,
		.BlackTheme .SuEntry.TDatabaseTable,
		.BlackTheme .SuEntry.TFile.first {
			color: $SummaryBigTextColor_Black;
			border-bottom-color: #585858;
			}

		.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: $SummaryHoverBackgroundColor;
		}
		.DarkTheme a.SuEntry:hover,
		.DarkTheme a.SuEntry:active {
			color: $ContentTextColor_Dark; /* restore some contrast */
			background-color: $SummaryHoverBackgroundColor_Dark;
			}
		.BlackTheme a.SuEntry:hover,
		.BlackTheme a.SuEntry:active {
			color: $ContentTextColor_Black;
			background-color: $SummaryHoverBackgroundColor_Black;
			}




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




/* Group: Content
	___________________________________________________________________________
*/

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

	/* Set the color behind the iframe to the same as the content page's.  This will make flashing between page changes less
		noticeable in Chrome, especially when in dark mode. */
	background-color: $ContentBackgroundColor;
	}
	.DarkTheme #NDContent { background-color: $ContentBackgroundColor_Dark; }
	.BlackTheme #NDContent { background-color: $ContentBackgroundColor_Black; }

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


.NDContentPage body {
	color: $ContentTextColor;
	background-color: $ContentBackgroundColor;
	padding: .6rem 1.25rem;
	margin: 0;
	}
	.NDContentPage.DarkTheme body {
		color: $ContentTextColor_Dark;
		background-color: $ContentBackgroundColor_Dark;
		}
	.NDContentPage.BlackTheme body {
		color: $ContentTextColor_Black;
		background-color: $ContentBackgroundColor_Black;
		}

	.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;
		}
		.DarkTheme .CTitle { border-color: #707070; }
		.BlackTheme .CTitle { border-color: #686868; }

	.CTitle .Qualifier {
		color: #444444;
		font-weight: normal;
		}
		.DarkTheme .CTitle .Qualifier { color: #C4C4C4; }
		.BlackTheme .CTitle .Qualifier { color: #D6D6D6; }

	.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;
		}
		.DarkTheme .TClass .CTitle,
		.DarkTheme .TInterface .CTitle,
		.DarkTheme .TStruct .CTitle,
		.DarkTheme .TSection .CTitle,
		.DarkTheme .TDatabase .CTitle,
		.DarkTheme .TDatabaseTable .CTitle,
		.DarkTheme .TFile.first .CTitle {
			border-color: #909090;
			}
		.BlackTheme .TClass .CTitle,
		.BlackTheme .TInterface .CTitle,
		.BlackTheme .TStruct .CTitle,
		.BlackTheme .TSection .CTitle,
		.BlackTheme .TDatabase .CTitle,
		.BlackTheme .TDatabaseTable .CTitle,
		.BlackTheme .TFile.first .CTitle {
			border-color: #949494;
			}

	.TGroup .CTitle {
		text-transform: uppercase;
		font-size: 1.6rem;
		border-bottom: 2px solid $ContentTextColor;
		}
		.DarkTheme .TGroup .CTitle { border-color: $ContentTextColor_Dark; }
		.BlackTheme .TGroup .CTitle { border-color: $ContentTextColor_Black; }

	.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;
		max-width: $MaxParagraphWidth;
		}

	.CTopic a:link,
	.CTopic a:visited,
	.CTopic a:hover {
		color: $TextLinkColor;
		}
		.DarkTheme .CTopic a:link,
		.DarkTheme .CTopic a:visited,
		.DarkTheme .CTopic a:hover {
			color: $TextLinkColor_Dark;
			}
		.BlackTheme .CTopic a:link,
		.BlackTheme .CTopic a:visited,
		.BlackTheme .CTopic a:hover {
			color: $TextLinkColor_Black;
			}
	.CTopic a:active {
		color: $TextLinkActiveColor;
		}
		.DarkTheme .CTopic a:active {
			color: $TextLinkActiveColor_Dark;
			}
		.BlackTheme .CTopic a:active {
			color: $TextLinkActiveColor_Black;
			}

	.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;
		max-width: $MaxParagraphWidthMinus150pctIndent;
		}

	table.CDefinitionList {
		margin: 0 0 0 $Indent;
		max-width: $MaxParagraphWidthMinusIndent;
		}
		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;
			}
			.DarkTheme .CDLParameterType,
			.BlackTheme .CDLParameterType {
				opacity: 0.75;
				}
		td.CDLDefinition p {
			text-indent: 0;
			}

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

		margin: $DiagramSpacing $Indent;
		border: 1px solid #C0C0C0;
		padding: $CodePadding;
		}
		.DarkTheme .CTopic pre { border-color: #808080; }
		.BlackTheme .CTopic pre { border-color: #787878; }

		.CTopic pre.CCode {
			color: $ContentTextColor;
			}
			.DarkTheme .CTopic pre.CCode { color: $ContentTextColor_Dark; }
			.BlackTheme .CTopic pre.CCode { color: $ContentTextColor_Black; }

		.CTopic pre.CText {
			color: #484848;
			}
			.DarkTheme .CTopic pre.CText { color: #A6A6A6; }
			.BlackTheme .CTopic pre.CText { color: #AFAFAF; }


	.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;
			}
			.DarkTheme .CICaption { color: #7D7D7D; }
			.BlackTheme .CICaption { color: #7A7A7A; }

		.CTopic a.SeeImageLink {
			font-style: italic;
			}
		.CTopic a.SeeImageLink:link,
		.CTopic a.SeeImageLink:hover,
		.CTopic a.SeeImageLink:visited {
			color: $ContentTextColor;
			}
			.DarkTheme .CTopic a.SeeImageLink:link,
			.DarkTheme .CTopic a.SeeImageLink:hover,
			.DarkTheme .CTopic a.SeeImageLink:visited {
				color: $ContentTextColor_Dark;
				}
			.BlackTheme .CTopic a.SeeImageLink:link,
			.BlackTheme .CTopic a.SeeImageLink:hover,
			.BlackTheme .CTopic a.SeeImageLink:visited {
				color: $ContentTextColor_Black;
				}
		.CTopic a.SeeImageLink:active {
			color: $TextLinkColor;
			}
			.DarkTheme .CTopic a.SeeImageLink:active {
				color: $TextLinkColor_Dark;
				}
			.BlackTheme .CTopic a.SeeImageLink:active {
				color: $TextLinkColor_Black;
				}


	.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: $ContentBackgroundColor;
		border: 1px solid #C0C0C0;
		padding: $CodePadding;
		overflow: auto;
		scrollbar-width: thin;
		scrollbar-color: #C0C0C0 $ContentBackgroundColor;
		}
		.NDPrototype::-webkit-scrollbar {  height: 7px;  }
		.NDPrototype::-webkit-scrollbar-track {  background-color: $ContentBackgroundColor;  }
		.NDPrototype::-webkit-scrollbar-thumb {  background-color: #C0C0C0;  }

		.DarkTheme .NDPrototype {
			background-color: $ContentBackgroundColor_Dark;
			border-color: #707070;
			scrollbar-color: #707070 $ContentBackgroundColor_Dark;
			}
			.DarkTheme .NDPrototype::-webkit-scrollbar-track {  background-color: $ContentBackgroundColor_Dark;  }
			.DarkTheme .NDPrototype::-webkit-scrollbar-thumb {  background-color: #707070;  }

		.BlackTheme .NDPrototype {
			background-color: $ContentBackgroundColor_Black;
			border-color: #686868;
			scrollbar-color: #686868 $ContentBackgroundColor_Black;
			}
			.BlackTheme .NDPrototype::-webkit-scrollbar-track {  background-color: $ContentBackgroundColor_Black;  }
			.BlackTheme .NDPrototype::-webkit-scrollbar-thumb {  background-color: #686868;  }


	.PParameterCells {
		display: inline-grid;
		}
		.NarrowForm .PParameterCells[data-NarrowColumnCount="2"] { grid-template-columns: auto 1fr }
		.NarrowForm .PParameterCells[data-NarrowColumnCount="3"] { grid-template-columns: repeat(2, auto) 1fr }
		.NarrowForm .PParameterCells[data-NarrowColumnCount="4"] { grid-template-columns: repeat(3, auto) 1fr }
		.NarrowForm .PParameterCells[data-NarrowColumnCount="5"] { grid-template-columns: repeat(4, auto) 1fr }
		.NarrowForm .PParameterCells[data-NarrowColumnCount="6"] { grid-template-columns: repeat(5, auto) 1fr }
		.NarrowForm .PParameterCells[data-NarrowColumnCount="7"] { grid-template-columns: repeat(6, auto) 1fr }
		.NarrowForm .PParameterCells[data-NarrowColumnCount="8"] { grid-template-columns: repeat(7, auto) 1fr }
		.NarrowForm .PParameterCells[data-NarrowColumnCount="9"] { grid-template-columns: repeat(8, auto) 1fr }
		.NarrowForm .PParameterCells[data-NarrowColumnCount="10"] { grid-template-columns: repeat(9, auto) 1fr }
		.NarrowForm .PParameterCells[data-NarrowColumnCount="11"] { grid-template-columns: repeat(10, auto) 1fr }
		.NarrowForm .PParameterCells[data-NarrowColumnCount="12"] { grid-template-columns: repeat(11, auto) 1fr }

		.WideForm .PParameterCells[data-WideColumnCount="2"] { grid-template-columns: auto 1fr }
		.WideForm .PParameterCells[data-WideColumnCount="3"] { grid-template-columns: repeat(2, auto) 1fr }
		.WideForm .PParameterCells[data-WideColumnCount="4"] { grid-template-columns: repeat(3, auto) 1fr }
		.WideForm .PParameterCells[data-WideColumnCount="5"] { grid-template-columns: repeat(4, auto) 1fr }
		.WideForm .PParameterCells[data-WideColumnCount="6"] { grid-template-columns: repeat(5, auto) 1fr }
		.WideForm .PParameterCells[data-WideColumnCount="7"] { grid-template-columns: repeat(6, auto) 1fr }
		.WideForm .PParameterCells[data-WideColumnCount="8"] { grid-template-columns: repeat(7, auto) 1fr }
		.WideForm .PParameterCells[data-WideColumnCount="9"] { grid-template-columns: repeat(8, auto) 1fr }
		.WideForm .PParameterCells[data-WideColumnCount="10"] { grid-template-columns: repeat(9, auto) 1fr }
		.WideForm .PParameterCells[data-WideColumnCount="11"] { grid-template-columns: repeat(10, auto) 1fr }
		.WideForm .PParameterCells[data-WideColumnCount="12"] { grid-template-columns: repeat(11, auto) 1fr }

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

		/* Indent wrapped text only */
		div.PPlainSection,
		.NarrowForm div.PBeforeParameters {
			padding-left: 3ch;
			text-indent: -3ch;
			}

		.WideForm .LeftSpaceOnWide,
		.NarrowForm .LeftSpaceOnNarrow { padding-left: 1ch; }
		.WideForm .RightSpaceOnWide,
		.NarrowForm .RightSpaceOnNarrow { padding-right: 1ch; }

		.NarrowForm .InFirstParameterColumn,
		.NarrowForm .PAfterParameters {
			padding-left: 3ch;
			}
			.NarrowForm .InFirstParameterColumn.LeftSpaceOnNarrow,
			.NarrowForm .PAfterParameters.LeftSpaceOnNarrow {
				padding-left: 4ch;
				}
			.NarrowForm .PAfterParameters.FitIntoRightIndentOnNarrow {
				padding-left: 0;
				margin-top: auto; /* functions as vertical-align: bottom */
				}
			.NarrowForm .PAfterParameters.FitIntoRightIndentOnNarrow.LeftSpaceOnNarrow {
				padding-left: 1ch;
				}

		.WideForm .RightAlignOnWide,
		.NarrowForm .RightAlignOnNarrow {
			text-align: right;
			padding-left: 0 !important;
			text-indent: 0 !important;
			}

		.WideForm .NegativeLeftSpaceOnWide { text-indent: -1ch; }

		.NarrowForm .FitIntoLeftIndentOnNarrow { width: 3ch; }

		/* Seems to ignore padding-right, so just shrink the width */
		.NarrowForm .FitIntoLeftIndentOnNarrow.RightSpaceOnNarrow { width: 2ch; }


	/* 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,
	.PTypeBody,
	.PDefaultValue,
	.PDefaultValueSeparator {
		opacity: 0.5;
		}
		.DarkTheme .PNameModifier,
		.DarkTheme .PModifierQualifier,
		.DarkTheme .PTypeBody,
		.DarkTheme .PDefaultValue,
		.DarkTheme .PDefaultValueSeparator,
		.BlackTheme .PNameModifier,
		.BlackTheme .PModifierQualifier,
		.BlackTheme .PTypeBody,
		.BlackTheme .PDefaultValue,
		.BlackTheme .PDefaultValueSeparator {
			opacity: 0.66;
			}

	.PSymbols,
	.PModifierQualifier {
		text-align: right;
		}




/* Group: Class Prototypes
	___________________________________________________________________________
*/

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

		background-color: $ContentBackgroundColor;
		overflow: auto;
		scrollbar-width: thin;
		}
		.DarkTheme .CPEntry,
		.BlackTheme .CPEntry {
			border-width: 2px 1px 1px 2px;
			}
		.DarkTheme .CPEntry.Parent,
		.DarkTheme .CPEntry.Child,
		.BlackTheme .CPEntry.Parent,
		.BlackTheme .CPEntry.Child {
			border-width: 1px;
			}

		.DarkTheme .CPEntry {
			border-color: $ContentTextColor_Dark;
			background-color: $ContentBackgroundColor_Dark;
			}
		.BlackTheme .CPEntry {
			border-color: $ContentTextColor_Black;
			background-color: $ContentBackgroundColor_Black;
			}

		.CPEntry::-webkit-scrollbar {
			height: 7px;
			}

	a.CPEntry,
	a.CPAdditionalChildrenNotice {
		display: block;
		}
	a.CPEntry:link,
	a.CPEntry:hover,
	a.CPEntry:visited,
	a.CPEntry:active {
		color: $ContentTextColor;
		text-decoration: none;
		}
		.DarkTheme a.CPEntry:link,
		.DarkTheme a.CPEntry:hover,
		.DarkTheme a.CPEntry:visited,
		.DarkTheme a.CPEntry:active {
			color: $ContentTextColor_Dark;
			}
		.BlackTheme a.CPEntry:link,
		.BlackTheme a.CPEntry:hover,
		.BlackTheme a.CPEntry:visited,
		.BlackTheme a.CPEntry:active {
			color: $ContentTextColor_Black;
			}

	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;
		opacity: .84375;
		}

	.CPEntry.Parent .CPName,
	.CPEntry.Child .CPName {
		font-size: 10pt;
		}

	.CPEntry.Parent,
	.CPEntry.Child {
		opacity: .5;
		}
		.DarkTheme .CPEntry.Parent,
		.DarkTheme .CPEntry.Child,
		.BlackTheme .CPEntry.Parent,
		.BlackTheme .CPEntry.Child {
			opacity: 1;
			}
		.DarkTheme .CPEntry.Parent .CPName,
		.DarkTheme .CPEntry.Child .CPName,
		.BlackTheme .CPEntry.Parent .CPName,
		.BlackTheme .CPEntry.Child .CPName {
			opacity: .7;
			}

	.CPEntry .CPPrePrototypeLine,
	.CPEntry .CPModifiers,
	.CPEntry .CPPostPrototypeLine {
		font-size: 8pt;
		opacity: .5;
		}
		.DarkTheme .CPEntry .CPPrePrototypeLine,
		.DarkTheme .CPEntry .CPModifiers,
		.DarkTheme .CPEntry .CPPostPrototypeLine,
		.BlackTheme .CPEntry .CPPrePrototypeLine,
		.BlackTheme .CPEntry .CPModifiers,
		.BlackTheme .CPEntry .CPPostPrototypeLine {
			opacity: .7;
			}

	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;
		}
		.DarkTheme a.CPAdditionalChildrenNotice:link,
		.DarkTheme a.CPAdditionalChildrenNotice:visited,
		.DarkTheme a.CPAdditionalChildrenNotice:hover,
		.DarkTheme a.CPAdditionalChildrenNotice:active {
			color: #919191;
			border-left-color: $ContentBackgroundColor_Dark;
			}
		.BlackTheme a.CPAdditionalChildrenNotice:link,
		.BlackTheme a.CPAdditionalChildrenNotice:visited,
		.BlackTheme a.CPAdditionalChildrenNotice:hover,
		.BlackTheme a.CPAdditionalChildrenNotice:active {
			color: #9A9A9A;
			border-left-color: $ContentBackgroundColor_Black;
			}

	.CPAdditionalChildren {
		display: none;
		}




/* Group: Prototype Colors
	___________________________________________________________________________
*/


/* --- Functions --- */

$FunctionPrototypeBackground: #F4F4F4;
$FunctionPrototypeBorder: #C9C9C9;

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

$FunctionPrototypeBackground_Dark: #292929;
$FunctionPrototypeBackground_Black: #181818;
$FunctionPrototypeBorder_Dark: #444444;
$FunctionPrototypeBorder_Black: $FunctionPrototypeBorder_Dark;

	.DarkTheme .TFunction .NDPrototype,
	.DarkTheme .TOperator .NDPrototype {
		background-color: $FunctionPrototypeBackground_Dark;
		border-color: $FunctionPrototypeBorder_Dark;
		scrollbar-color: $FunctionPrototypeBorder_Dark $FunctionPrototypeBackground_Dark;
		}
		.DarkTheme .TFunction .NDPrototype::-webkit-scrollbar-thumb,
		.DarkTheme .TOperator .NDPrototype::-webkit-scrollbar-thumb {
			background-color: $FunctionPrototypeBorder_Dark;
			}
		.DarkTheme .TFunction .NDPrototype::-webkit-scrollbar-track,
		.DarkTheme .TOperator .NDPrototype::-webkit-scrollbar-track {
			background-color: $FunctionPrototypeBackground_Dark;
			}

	.BlackTheme .TFunction .NDPrototype,
	.BlackTheme .TOperator .NDPrototype {
		background-color: $FunctionPrototypeBackground_Black;
		border-color: $FunctionPrototypeBorder_Black;
		scrollbar-color: $FunctionPrototypeBorder_Black $FunctionPrototypeBackground_Black;
		}
		.BlackTheme .TFunction .NDPrototype::-webkit-scrollbar-thumb,
		.BlackTheme .TOperator .NDPrototype::-webkit-scrollbar-thumb {
			background-color: $FunctionPrototypeBorder_Black;
			}
		.BlackTheme .TFunction .NDPrototype::-webkit-scrollbar-track,
		.BlackTheme .TOperator .NDPrototype::-webkit-scrollbar-track {
			background-color: $FunctionPrototypeBackground_Black;
			}

	.DarkTheme .TFunction .SuEntryIcon,
	.DarkTheme .TOperator .SuEntryIcon,
	.DarkTheme .TFunction .SeEntryIcon,
	.DarkTheme .TOperator .SeEntryIcon,
	.BlackTheme .TFunction .SuEntryIcon,
	.BlackTheme .TOperator .SuEntryIcon,
	.BlackTheme .TFunction .SeEntryIcon,
	.BlackTheme .TOperator .SeEntryIcon {
		background-color: #272727;
		border-color: #474747;
		}


/* --- Properties --- */

$PropertyPrototypeBackground: #F1F1FF;
$PropertyPrototypeBorder: #C4C4EC;

.TProperty .NDPrototype {
	background-color: $PropertyPrototypeBackground;
	border-color: $PropertyPrototypeBorder;
	scrollbar-color: $PropertyPrototypeBorder $PropertyPrototypeBackground;
	}
	.TProperty .NDPrototype::-webkit-scrollbar-thumb {
		background-color: $PropertyPrototypeBorder;
		}
	.TProperty .NDPrototype::-webkit-scrollbar-track {
		background-color: $PropertyPrototypeBackground;
		}
	.TProperty .SuEntryIcon {
		background-color: #E2E2FF;
		border: 1px solid #B9B9EA;
		}
	.TProperty .SeEntryIcon {
		background-color: #DDDDFF;
		border: 1px solid #AAAAE8;
		}

$PropertyPrototypeBackground_Dark: #282840;
$PropertyPrototypeBackground_Black: #171725;
$PropertyPrototypeBorder_Dark: #404067;
$PropertyPrototypeBorder_Black: $PropertyPrototypeBorder_Dark;

	.DarkTheme .TProperty .NDPrototype {
		background-color: $PropertyPrototypeBackground_Dark;
		border-color: $PropertyPrototypeBorder_Dark;
		scrollbar-color: $PropertyPrototypeBorder_Dark $PropertyPrototypeBackground_Dark;
		}
		.DarkTheme .TProperty .NDPrototype::-webkit-scrollbar-thumb {
			background-color: $PropertyPrototypeBorder_Dark;
			}
		.DarkTheme .TProperty .NDPrototype::-webkit-scrollbar-track {
			background-color: $PropertyPrototypeBackground_Dark;
			}

	.BlackTheme .TProperty .NDPrototype {
		background-color: $PropertyPrototypeBackground_Black;
		border-color: $PropertyPrototypeBorder_Black;
		scrollbar-color: $PropertyPrototypeBorder_Black $PropertyPrototypeBackground_Black;
		}
		.BlackTheme .TProperty .NDPrototype::-webkit-scrollbar-thumb {
			background-color: $PropertyPrototypeBorder_Black;
			}
		.BlackTheme .TProperty .NDPrototype::-webkit-scrollbar-track {
			background-color: $PropertyPrototypeBackground_Black;
			}

	.DarkTheme .TProperty .SuEntryIcon,
	.BlackTheme .TProperty .SuEntryIcon,
	.DarkTheme .TProperty .SeEntryIcon,
	.BlackTheme .TProperty .SeEntryIcon {
		background-color: #2F2F4B;
		border: 1px solid #535386;
		}


/* --- Variables --- */

$VariablePrototypeBackground: #FCFCE8;
$VariablePrototypeBorder: #D5D590;

.TVariable .NDPrototype,
.TDatabaseField .NDPrototype {
	background-color: $VariablePrototypeBackground;
	border-color: $VariablePrototypeBorder;
	scrollbar-color: $VariablePrototypeBorder $VariablePrototypeBackground;
	}
	.TVariable .NDPrototype::-webkit-scrollbar-thumb,
	.TDatabaseField .NDPrototype::-webkit-scrollbar-thumb {
		background-color: $VariablePrototypeBorder;
		}
	.TVariable .NDPrototype::-webkit-scrollbar-track,
	.TDatabaseField .NDPrototype::-webkit-scrollbar-track {
		background-color: $VariablePrototypeBackground;
		}
	.TVariable .SuEntryIcon,
	.TDatabaseField .SuEntryIcon {
		background-color: #FBFBE2;
		border: 1px solid #CECE8B;
		}
	.TVariable .SeEntryIcon,
	.TDatabaseField .SeEntryIcon {
		background-color: #FCFCDA;
		border: 1px solid #CFCF80;
		}

$VariablePrototypeBackground_Dark: #2C2C20;
$VariablePrototypeBackground_Black: #191912;
$VariablePrototypeBorder_Dark: #474734;
$VariablePrototypeBorder_Black: $VariablePrototypeBorder_Dark;

	.DarkTheme .TVariable .NDPrototype,
	.DarkTheme .TDatabaseField .NDPrototype {
		background-color: $VariablePrototypeBackground_Dark;
		border-color: $VariablePrototypeBorder_Dark;
		scrollbar-color: $VariablePrototypeBorder_Dark $VariablePrototypeBackground_Dark;
		}
		.DarkTheme .TVariable .NDPrototype::-webkit-scrollbar-thumb,
		.DarkTheme .TDatabaseField .NDPrototype::-webkit-scrollbar-thumb {
			background-color: $VariablePrototypeBorder_Dark;
			}
		.DarkTheme .TVariable .NDPrototype::-webkit-scrollbar-track,
		.DarkTheme .TDatabaseField .NDPrototype::-webkit-scrollbar-track {
			background-color: $VariablePrototypeBackground_Dark;
			}

	.BlackTheme .TVariable .NDPrototype,
	.BlackTheme .TDatabaseField .NDPrototype {
		background-color: $VariablePrototypeBackground_Black;
		border-color: $VariablePrototypeBorder_Black;
		scrollbar-color: $VariablePrototypeBorder_Black $VariablePrototypeBackground_Black;
		}
		.BlackTheme .TVariable .NDPrototype::-webkit-scrollbar-thumb,
		.BlackTheme .TDatabaseField .NDPrototype::-webkit-scrollbar-thumb {
			background-color: $VariablePrototypeBorder_Black;
			}
		.BlackTheme .TVariable .NDPrototype::-webkit-scrollbar-track,
		.BlackTheme .TDatabaseField .NDPrototype::-webkit-scrollbar-track {
			background-color: $VariablePrototypeBackground_Black;
			}

	.DarkTheme .TVariable .SuEntryIcon,
	.DarkTheme .TDatabaseField .SuEntryIcon,
	.BlackTheme .TVariable .SuEntryIcon,
	.BlackTheme .TDatabaseField .SuEntryIcon,
	.DarkTheme .TVariable .SeEntryIcon,
	.DarkTheme .TDatabaseField .SeEntryIcon,
	.BlackTheme .TVariable .SeEntryIcon,
	.BlackTheme .TDatabaseField .SeEntryIcon {
		background-color: #3A3A2A;
		border: 1px solid #65654A;
		}


/* --- Constants --- */

$ConstantPrototypeBackground: #CCCCCC;
$ConstantPrototypeBorder: #BABABA;

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

$ConstantPrototypeBackground_Dark: #131313;
$ConstantPrototypeBackground_Black: #000000;
$ConstantPrototypeBorder_Dark: #3B3B3B;
$ConstantPrototypeBorder_Black: $ConstantPrototypeBorder_Dark;

	.DarkTheme .TConstant .NDPrototype {
		background-color: $ConstantPrototypeBackground_Dark;
		border-color: $ConstantPrototypeBorder_Dark;
		scrollbar-color: $ConstantPrototypeBorder_Dark $ConstantPrototypeBackground_Dark;
		}
		.DarkTheme .TConstant .NDPrototype::-webkit-scrollbar-thumb {
			background-color: $ConstantPrototypeBorder_Dark;
			}
		.DarkTheme .TConstant .NDPrototype::-webkit-scrollbar-track {
			background-color: $ConstantPrototypeBackground_Dark;
			}

		.DarkTheme .TConstant .SuEntryIcon,
		.DarkTheme .TConstant .SeEntryIcon {
			background-color: #0C0C0C;
			border: 1px solid #444444;
			}

	.BlackTheme .TConstant .NDPrototype {
		background-color: $ConstantPrototypeBackground_Black;
		border-color: $ConstantPrototypeBorder_Black;
		scrollbar-color: $ConstantPrototypeBorder_Black $ConstantPrototypeBackground_Black;
		}
		.BlackTheme .TConstant .NDPrototype::-webkit-scrollbar-thumb {
			background-color: $ConstantPrototypeBorder_Black;
			}
		.BlackTheme .TConstant .NDPrototype::-webkit-scrollbar-track {
			background-color: $ConstantPrototypeBackground_Black;
			}

		.BlackTheme .TConstant .SuEntryIcon,
		.BlackTheme .TConstant .SeEntryIcon {
			background-color: #000000;
			border: 1px solid #494949;
			}


/* --- Types --- */

$TypePrototypeBackground: #FCF3E6;
$TypePrototypeBorder: #D9C0AD;

.TType .NDPrototype,
.TEnumeration .NDPrototype,
.TDelegate .NDPrototype {
	background-color: $TypePrototypeBackground;
	border-color: $TypePrototypeBorder;
	scrollbar-color: $TypePrototypeBorder $TypePrototypeBackground;
	}
	.TType .NDPrototype::-webkit-scrollbar-thumb,
	.TEnumeration .NDPrototype::-webkit-scrollbar-thumb,
	.TDelegate .NDPrototype::-webkit-scrollbar-thumb {
		background-color: $TypePrototypeBorder;
		}
	.TType .NDPrototype::-webkit-scrollbar-track,
	.TEnumeration .NDPrototype::-webkit-scrollbar-track,
	.TDelegate .NDPrototype::-webkit-scrollbar-track {
		background-color: $TypePrototypeBackground;
		}
	.TType .SuEntryIcon,
	.TEnumeration .SuEntryIcon,
	.TDelegate .SuEntryIcon {
		background-color: #FEE7CD;
		border: 1px solid #D6BCAA;
		}
	.TType .SeEntryIcon,
	.TEnumeration .SeEntryIcon,
	.TDelegate .SeEntryIcon {
		background-color: #FEECD4;
		border: 1px solid #E2B29A;
		}

$TypePrototypeBackground_Dark: #2F201E;
$TypePrototypeBackground_Black: #221715;
$TypePrototypeBorder_Dark: #4E3532;
$TypePrototypeBorder_Black: $TypePrototypeBorder_Dark;

	.DarkTheme .TType .NDPrototype,
	.DarkTheme .TEnumeration .NDPrototype,
	.DarkTheme .TDelegate .NDPrototype {
		background-color: $TypePrototypeBackground_Dark;
		border-color: $TypePrototypeBorder_Dark;
		scrollbar-color: $TypePrototypeBorder_Dark $TypePrototypeBackground_Dark;
		}
		.DarkTheme .TType .NDPrototype::-webkit-scrollbar-thumb,
		.DarkTheme .TEnumeration .NDPrototype::-webkit-scrollbar-thumb,
		.DarkTheme .TDelegate .NDPrototype::-webkit-scrollbar-thumb {
			background-color: $TypePrototypeBorder_Dark;
			}
		.DarkTheme .TType .NDPrototype::-webkit-scrollbar-track,
		.DarkTheme .TEnumeration .NDPrototype::-webkit-scrollbar-track,
		.DarkTheme .TDelegate .NDPrototype::-webkit-scrollbar-track {
			background-color: $TypePrototypeBackground_Dark;
			}

	.BlackTheme .TType .NDPrototype,
	.BlackTheme .TEnumeration .NDPrototype,
	.BlackTheme .TDelegate .NDPrototype {
		background-color: $TypePrototypeBackground_Black;
		border-color: $TypePrototypeBorder_Black;
		scrollbar-color: $TypePrototypeBorder_Black $TypePrototypeBackground_Black;
		}
		.BlackTheme .TType .NDPrototype::-webkit-scrollbar-thumb,
		.BlackTheme .TEnumeration .NDPrototype::-webkit-scrollbar-thumb,
		.BlackTheme .TDelegate .NDPrototype::-webkit-scrollbar-thumb {
			background-color: $TypePrototypeBorder_Black;
			}
		.BlackTheme .TType .NDPrototype::-webkit-scrollbar-track,
		.BlackTheme .TEnumeration .NDPrototype::-webkit-scrollbar-track,
		.BlackTheme .TDelegate .NDPrototype::-webkit-scrollbar-track {
			background-color: $TypePrototypeBackground_Black;
			}

		.DarkTheme .TType .SuEntryIcon,
		.DarkTheme .TEnumeration .SuEntryIcon,
		.DarkTheme .TDelegate .SuEntryIcon,
		.BlackTheme .TType .SuEntryIcon,
		.BlackTheme .TEnumeration .SuEntryIcon,
		.BlackTheme .TDelegate .SuEntryIcon,
		.DarkTheme .TType .SeEntryIcon,
		.DarkTheme .TEnumeration .SeEntryIcon,
		.DarkTheme .TDelegate .SeEntryIcon,
		.BlackTheme .TType .SeEntryIcon,
		.BlackTheme .TEnumeration .SeEntryIcon,
		.BlackTheme .TDelegate .SeEntryIcon {
			background-color: #3C2926;
			border: 1px solid #684642;
			}


/* --- Events --- */

$EventPrototypeBackground: #E6FAE6;
$EventPrototypeBorder: #B6D1B6;

.TEvent .NDPrototype {
	background-color: $EventPrototypeBackground;
	border-color: $EventPrototypeBorder;
	scrollbar-color: $EventPrototypeBorder $EventPrototypeBackground;
	}
	.TEvent .NDPrototype::-webkit-scrollbar-thumb {
		background-color: $EventPrototypeBorder;
		}
	.TEvent .NDPrototype::-webkit-scrollbar-track {
		background-color: $EventPrototypeBackground;
		}
	.TEvent .SuEntryIcon {
		background-color: #DCF7DC;
		border: 1px solid #B3CEB3;
		}
	.TEvent .SeEntryIcon {
		background-color: #D9F9D9;
		border: 1px solid #A9C8A9;
		}

$EventPrototypeBackground_Dark: #1C2C1C;
$EventPrototypeBackground_Black: #152215;
$EventPrototypeBorder_Dark: #2D472D;
$EventPrototypeBorder_Black: $EventPrototypeBorder_Dark;

	.DarkTheme .TEvent .NDPrototype {
		background-color: $EventPrototypeBackground_Dark;
		border-color: $EventPrototypeBorder_Dark;
		scrollbar-color: $EventPrototypeBorder_Dark $EventPrototypeBackground_Dark;
		}
		.DarkTheme .TEvent .NDPrototype::-webkit-scrollbar-thumb {
			background-color: $EventPrototypeBorder_Dark;
			}
		.DarkTheme .TEvent .NDPrototype::-webkit-scrollbar-track {
			background-color: $EventPrototypeBackground_Dark;
			}

	.BlackTheme .TEvent .NDPrototype {
		background-color: $EventPrototypeBackground_Black;
		border-color: $EventPrototypeBorder_Black;
		scrollbar-color: $EventPrototypeBorder_Black $EventPrototypeBackground_Black;
		}
		.BlackTheme .TEvent .NDPrototype::-webkit-scrollbar-thumb {
			background-color: $EventPrototypeBorder_Black;
			}
		.BlackTheme .TEvent .NDPrototype::-webkit-scrollbar-track {
			background-color: $EventPrototypeBackground_Black;
			}

		.DarkTheme .TEvent .SuEntryIcon,
		.BlackTheme .TEvent .SuEntryIcon,
		.DarkTheme .TEvent .SeEntryIcon,
		.BlackTheme .TEvent .SeEntryIcon {
			background-color: #243924;
			border: 1px solid #3C5E3C;
			}


/* --- Classes --- */

$ClassPrototypeBackground: #EAEAEA;
$ClassPrototypeBorder: #606060;

/* 1/3 foreground, 2/3 background */
$ClassPrototypeScrollbar: #BCBCBC;

/* 1/2 foreground, 1/2 background, since it gets too light combined with the transparency */
$ClassPrototypeSecondaryScrollbar: #A5A5A5;

.NDClassPrototype .CPEntry {
	background-color: $ClassPrototypeBackground;
	border-color: $ClassPrototypeBorder;
	scrollbar-color: $ClassPrototypeScrollbar $ClassPrototypeBackground;
	}
	.NDClassPrototype .CPEntry::-webkit-scrollbar-thumb {
		background-color: $ClassPrototypeScrollbar;
		}
	.NDClassPrototype .CPEntry::-webkit-scrollbar-track {
		background-color: $ClassPrototypeBackground;
		}
	.NDClassPrototype .CPEntry.Parent,
	.NDClassPrototype .CPEntry.Child {
		scrollbar-color: $ClassPrototypeSecondaryScrollbar $ClassPrototypeBackground;
		}
		.NDClassPrototype .CPEntry.Parent::-webkit-scrollbar-thumb,
		.NDClassPrototype .CPEntry.Child::-webkit-scrollbar-thumb {
			background-color: $ClassPrototypeSecondaryScrollbar;
			}

$ClassPrototypeBackground_Dark: #363636;
$ClassPrototypeBorderA_Dark: #888888;
$ClassPrototypeBorderB_Dark: #606060;

$FadedClassPrototypeBackground_Dark: #262626;
$FadedClassPrototypeBorderA_Dark: #6E6E6E;
$FadedClassPrototypeBorderB_Dark: #565656;

.DarkTheme .NDClassPrototype .CPEntry {
	border-color: $ClassPrototypeBorderA_Dark $ClassPrototypeBorderB_Dark $ClassPrototypeBorderB_Dark $ClassPrototypeBorderA_Dark;
	background-color: $ClassPrototypeBackground_Dark;
	scrollbar-color: $ClassPrototypeBorderB_Dark $ClassPrototypeBackground_Dark;
	}
	.DarkTheme .NDClassPrototype .CPEntry::-webkit-scrollbar-thumb {
		background-color: $ClassPrototypeBorderB_Dark;
		}
	.DarkTheme .NDClassPrototype .CPEntry::-webkit-scrollbar-track {
		background-color: $ClassPrototypeBackground_Dark;
		}
	.DarkTheme .NDClassPrototype .CPEntry.Parent,
	.DarkTheme .NDClassPrototype .CPEntry.Child {
		border-color: $FadedClassPrototypeBorderA_Dark $FadedClassPrototypeBorderB_Dark $FadedClassPrototypeBorderB_Dark $FadedClassPrototypeBorderA_Dark;
		background-color: $FadedClassPrototypeBackground_Dark;
		scrollbar-color: $FadedClassPrototypeBorderB_Dark $FadedClassPrototypeBackground_Dark;
		}
		.DarkTheme .NDClassPrototype .CPEntry.Parent::-webkit-scrollbar-thumb,
		.DarkTheme .NDClassPrototype .CPEntry.Child::-webkit-scrollbar-thumb {
			background-color: $FadedClassPrototypeBorderB_Dark;
			}
		.DarkTheme .NDClassPrototype .CPEntry.Parent::-webkit-scrollbar-track,
		.DarkTheme .NDClassPrototype .CPEntry.Child::-webkit-scrollbar-track {
			background-color: $FadedClassPrototypeBackground_Dark;
			}

$ClassPrototypeBackground_Black: #2E2E2E;
$ClassPrototypeBorderA_Black: #888888;
$ClassPrototypeBorderB_Black: #666666;

$FadedClassPrototypeBackground_Black: #181818;
$FadedClassPrototypeBorderA_Black: #646464;
$FadedClassPrototypeBorderB_Black: #515151;

.BlackTheme .NDClassPrototype .CPEntry {
	border-color: $ClassPrototypeBorderA_Black $ClassPrototypeBorderB_Black $ClassPrototypeBorderB_Black $ClassPrototypeBorderA_Black;
	background-color: $ClassPrototypeBackground_Black;
	scrollbar-color: $ClassPrototypeBorderB_Black $ClassPrototypeBackground_Black;
	}
	.BlackTheme .NDClassPrototype .CPEntry::-webkit-scrollbar-thumb {
		background-color: $ClassPrototypeBorderB_Black;
		}
	.BlackTheme .NDClassPrototype .CPEntry::-webkit-scrollbar-track {
		background-color: $ClassPrototypeBackground_Black;
		}
	.BlackTheme .NDClassPrototype .CPEntry.Parent,
	.BlackTheme .NDClassPrototype .CPEntry.Child {
		border-color: $FadedClassPrototypeBorderA_Black $FadedClassPrototypeBorderB_Black $FadedClassPrototypeBorderB_Black $FadedClassPrototypeBorderA_Black;
		background-color: $FadedClassPrototypeBackground_Black;
		scrollbar-color: $FadedClassPrototypeBorderB_Black $FadedClassPrototypeBackground_Black;
		}
		.BlackTheme .NDClassPrototype .CPEntry.Parent::-webkit-scrollbar-thumb,
		.BlackTheme .NDClassPrototype .CPEntry.Child::-webkit-scrollbar-thumb {
			background-color: $FadedClassPrototypeBorderB_Black;
			}
		.BlackTheme .NDClassPrototype .CPEntry.Parent::-webkit-scrollbar-track,
		.BlackTheme .NDClassPrototype .CPEntry.Child::-webkit-scrollbar-track {
			background-color: $FadedClassPrototypeBackground_Black;
			}


/* --- Interfaces --- */

$InterfacePrototypeBackground: #EAEAFF;
$InterfacePrototypeBorder: #747493;

/* 1/3 foreground, 2/3 background */
$InterfacePrototypeScrollbar: #C2C2DB;

/* 1/2 foreground, 1/2 background, since it gets too light combined with the transparency */
$InterfacePrototypeSecondaryScrollbar: #AFAFC9;

.NDClassPrototype .CPEntry.TInterface {
	background-color: $InterfacePrototypeBackground;
	border-color: $InterfacePrototypeBorder;
	scrollbar-color: $InterfacePrototypeScrollbar $InterfacePrototypeBackground;
	}
	.NDClassPrototype .CPEntry.TInterface::-webkit-scrollbar-thumb {
		background-color: $InterfacePrototypeScrollbar;
		}
	.NDClassPrototype .CPEntry.TInterface::-webkit-scrollbar-track {
		background-color: $InterfacePrototypeBackground;
		}
	.NDClassPrototype .CPEntry.TInterface.Parent,
	.NDClassPrototype .CPEntry.TInterface.Child {
		scrollbar-color: $InterfacePrototypeSecondaryScrollbar $InterfacePrototypeBackground;
		}
		.NDClassPrototype .CPEntry.TInterface.Parent::-webkit-scrollbar-thumb,
		.NDClassPrototype .CPEntry.TInterface.Child::-webkit-scrollbar-thumb {
			background-color: $InterfacePrototypeSecondaryScrollbar;
			}

$InterfacePrototypeBackground_Dark: #33334B;
$InterfacePrototypeBorderA_Dark: #6D6D8F;
$InterfacePrototypeBorderB_Dark: #515178;

$FadedInterfacePrototypeBackground_Dark: #2B2B3E;
$FadedInterfacePrototypeBorderA_Dark: #6C6C8C;
$FadedInterfacePrototypeBorderB_Dark: #4B4B6B;

.DarkTheme .NDClassPrototype .CPEntry.TInterface {
	border-color: $InterfacePrototypeBorderA_Dark $InterfacePrototypeBorderB_Dark $InterfacePrototypeBorderB_Dark $InterfacePrototypeBorderA_Dark;
	background-color: $InterfacePrototypeBackground_Dark;
	scrollbar-color: $InterfacePrototypeBorderB_Dark $InterfacePrototypeBackground_Dark;
	}
	.DarkTheme .NDClassPrototype .CPEntry.TInterface::-webkit-scrollbar-thumb {
		background-color: $InterfacePrototypeBorderB_Dark;
		}
	.DarkTheme .NDClassPrototype .CPEntry.TInterface::-webkit-scrollbar-track {
		background-color: $InterfacePrototypeBackground_Dark;
		}
	.DarkTheme .NDClassPrototype .CPEntry.TInterface.Parent,
	.DarkTheme .NDClassPrototype .CPEntry.TInterface.Child {
		border-color: $FadedInterfacePrototypeBorderA_Dark $FadedInterfacePrototypeBorderB_Dark $FadedInterfacePrototypeBorderB_Dark $FadedInterfacePrototypeBorderA_Dark;
		background-color: $FadedInterfacePrototypeBackground_Dark;
		scrollbar-color: $FadedInterfacePrototypeBorderB_Dark $FadedInterfacePrototypeBackground_Dark;
		}
		.DarkTheme .NDClassPrototype .CPEntry.TInterface.Parent::-webkit-scrollbar-thumb,
		.DarkTheme .NDClassPrototype .CPEntry.TInterface.Child::-webkit-scrollbar-thumb {
			background-color: $FadedInterfacePrototypeBorderB_Dark;
			}
		.DarkTheme .NDClassPrototype .CPEntry.TInterface.Parent::-webkit-scrollbar-track,
		.DarkTheme .NDClassPrototype .CPEntry.TInterface.Child::-webkit-scrollbar-track {
			background-color: $FadedInterfacePrototypeBackground_Dark;
			}

$InterfacePrototypeBackground_Black: #29293F;
$InterfacePrototypeBorderA_Black: #7D7D98;
$InterfacePrototypeBorderB_Black: #646484;

$FadedInterfacePrototypeBackground_Black: #222230;
$FadedInterfacePrototypeBorderA_Black: #656583;
$FadedInterfacePrototypeBorderB_Black: #4C4C65;

.BlackTheme .NDClassPrototype .CPEntry.TInterface {
	border-color: $InterfacePrototypeBorderA_Black $InterfacePrototypeBorderB_Black $InterfacePrototypeBorderB_Black $InterfacePrototypeBorderA_Black;
	background-color: $InterfacePrototypeBackground_Black;
	scrollbar-color: $InterfacePrototypeBorderB_Black $InterfacePrototypeBackground_Black;
	}
	.BlackTheme .NDClassPrototype .CPEntry.TInterface::-webkit-scrollbar-thumb {
		background-color: $InterfacePrototypeBorderB_Black;
		}
	.BlackTheme .NDClassPrototype .CPEntry.TInterface::-webkit-scrollbar-track {
		background-color: $InterfacePrototypeBackground_Black;
		}
	.BlackTheme .NDClassPrototype .CPEntry.TInterface.Parent,
	.BlackTheme .NDClassPrototype .CPEntry.TInterface.Child {
		border-color: $FadedInterfacePrototypeBorderA_Black $FadedInterfacePrototypeBorderB_Black $FadedInterfacePrototypeBorderB_Black $FadedInterfacePrototypeBorderA_Black;
		background-color: $FadedInterfacePrototypeBackground_Black;
		scrollbar-color: $FadedInterfacePrototypeBorderB_Black $FadedInterfacePrototypeBackground_Black;
		}
		.BlackTheme .NDClassPrototype .CPEntry.TInterface.Parent::-webkit-scrollbar-thumb,
		.BlackTheme .NDClassPrototype .CPEntry.TInterface.Child::-webkit-scrollbar-thumb {
			background-color: $FadedInterfacePrototypeBorderB_Black;
			}
		.BlackTheme .NDClassPrototype .CPEntry.TInterface.Parent::-webkit-scrollbar-track,
		.BlackTheme .NDClassPrototype .CPEntry.TInterface.Child::-webkit-scrollbar-track {
			background-color: $FadedInterfacePrototypeBackground_Black;
			}




/* Group: Syntax Highlighting
	___________________________________________________________________________
*/

.SHComment {
	color: #808080;
	}
	.DarkTheme .SHComment { color: #989898; }
	.BlackTheme .SHComment { color: #A0A0A0; }

.SHKeyword {
	color: #880000;
	}
	.DarkTheme .SHKeyword { color: #F0B0B0; }
	.BlackTheme .SHKeyword { color: #FFB8B8; }

	/* Soften the colors a bit when they're on a white background */
	.LightTheme .CCode .SHKeyword { color: #983030; }

.SHNumber,
.SHString {
	color: #000088;
	}
	.DarkTheme .SHNumber,
	.DarkTheme .SHString { color: #B0B0F0; }
	.BlackTheme .SHNumber,
	.BlackTheme .SHString { color: #B8B8FF; }

	.LightTheme .CCode .SHNumber,
	.LightTheme .CCode .SHString { color: #3030A0; }

.SHPreprocessingDirective {
	color: $ContentTextColor;
	font-weight: bold;
	}
	.DarkTheme .SHPreprocessingDirective { color: $ContentTextColor_Dark; }
	.BlackTheme .SHPreprocessingDirective { color: $ContentTextColor_Black; }

.SHMetadata {
	color: #808000;
	}
	.DarkTheme .SHMetadata { color: #C0C080; }
	.BlackTheme .SHMetadata { color: #C8C888; }

	.LightTheme .CCode .SHMetadata { color: #989830; }

	/* The normal color is too light to easily read at .5 opacity */
	/* The dark and black theme colors are fine at .7 opacity, so only apply this to light */
	.LightTheme .CPPrePrototypeLine .SHMetadata { color: #505000; }




/* Group: Tool Tips
	___________________________________________________________________________
*/

.NDToolTip {
	color: $ContentTextColor;
	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;
	}
	.DarkTheme .NDToolTip {
		color: $ContentTextColor_Dark;
		background-color: $SummaryBackgroundColor_Dark;
		border-color: $SearchOutlineColor_Dark;
		box-shadow: $PopupShadow_Dark;
		}
	.BlackTheme .NDToolTip {
		color: $ContentTextColor_Black;
		background-color: #0C0C0C;
		border-color: $MenuLineColor_Black;
		box-shadow: $PopupShadow_Black;
		}

	.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
	___________________________________________________________________________
*/

#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;
	}
	.DarkTheme #NDFooter {
		color: $FooterTextColor_Dark;
		background-color: $MenuBackgroundColor_Dark;
		border-top-color: $MenuSummaryBorderColor_Dark;
		}
	.BlackTheme #NDFooter {
		color: $FooterTextColor_Black;
		background-color: $MenuBackgroundColor_Black;
		border-top-color: $MenuSummaryBorderColor_Black;
		}

	#NDFooter a {
		color: $FooterTextColor;
		}
		.DarkTheme #NDFooter a { color: $FooterTextColor_Dark; }
		.BlackTheme #NDFooter a { color: $FooterTextColor_Black; }

	#NDFooter:hover,
	#NDFooter:hover a {
		color: $FooterHoverColor;
		}
		.DarkTheme #NDFooter:hover,
		.DarkTheme #NDFooter:hover a { color: $FooterHoverColor_Dark; }
		.BlackTheme #NDFooter:hover,
		.BlackTheme #NDFooter:hover a { color: $FooterHoverColor_Black; }

	#NDFooter:hover a {
		text-decoration: underline;
		}

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




/* Group: Home Page
	___________________________________________________________________________
*/

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

		/* Use an inset box shadow to add a left vertical line */
		box-shadow: 1px 0 0 0 $MenuSummaryBorderColor_Dark inset;
		}
	.BlackTheme.NDHomePage body {
		background: #000000;
		box-shadow: 1px 0 0 0 $MenuLineColor_Black inset;
		}

	.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;
		color: $ContentTextColor;
		background-color: #FFFFFF;
		border-width: .25rem;
		border-style: solid;
		border-color: #E0E0E0 #A0A0A0 #202020 #C0C0C0;
		box-shadow: 0 .225rem .375rem #383838;
		text-align: center;
		}
		.DarkTheme .HContent {
			color: $ContentTextColor_Dark;
			background-image: linear-gradient(to bottom, #303030, #232323);
			border-color: #505050 #1C1C1C #141414 #383838;
			box-shadow: 0 .225rem .375rem #0C0C0C;
			}
		.BlackTheme .HContent {
			color: $ContentTextColor_Black;
			background-image: linear-gradient(to bottom, #202020, #141414);
			border-color: #404040 #141414 #0A0A0A #2C2C2C;
			box-shadow: none;
			}

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

	.HFooter {
		margin-top: 1.75rem;
		border-top: 1px solid $HomePageBottomTextColor;
		padding-top: 1.5rem;
		font: .9rem $ContentFontFamily;
		color: $HomePageBottomTextColor;
		}
		.DarkTheme .HFooter {
			border-top-color: $HomePageBottomTextColor_Dark;
			color: $HomePageBottomTextColor_Dark;
			}
		.BlackTheme .HFooter {
			border-top-color: $HomePageBottomTextColor_Black;
			color: $HomePageBottomTextColor_Black;
			}

		.HCopyright,
		.HTimestamp{
			margin-top: .25rem;
			}
		.HFooter a:link,
		.HFooter a:visited,
		.HFooter a:hover,
		.HFooter a:active {
			color: $HomePageBottomTextColor;
			}
			.DarkTheme .HFooter a:link,
			.DarkTheme .HFooter a:visited,
			.DarkTheme .HFooter a:hover,
			.DarkTheme .HFooter a:active {
				color: $HomePageBottomTextColor_Dark;
				}
			.BlackTheme .HFooter a:link,
			.BlackTheme .HFooter a:visited,
			.BlackTheme .HFooter a:hover,
			.BlackTheme .HFooter a:active {
				color: $HomePageBottomTextColor_Black;
				}

		.HContent:hover .HFooter a {
			text-decoration: underline;
			}
