body {
    font: 10pt Verdana, Arial, sans-serif;
    color: #FFFFFF;
    background-color: #000000;
    margin: 0; padding: 0;
    }

.ContentPage,
.IndexPage,
.FramedMenuPage {
    background-color: #222222;
    }
.FramedContentPage,
.FramedIndexPage,
.FramedSearchResultsPage,
.PopupSearchResultsPage {
    background-color: #000000;
    }


a:link,
a:visited { color: #22CC22; text-decoration: none }
a:hover { color: #990000; text-decoration: underline }
a:active { color: #44FF44; text-decoration: underline }

td {
    vertical-align: top }

img { border: 0;  }

p { text-indent: 0ex; margin: 1ex }

/*  Can't use something like display: none or it won't break.  */
.HB {
    font-size: 1px;
    visibility: hidden;
    }

/*  Blockquotes are used as containers for things that may need to scroll.  */
blockquote {
    padding: 0;
    margin: 0;
    overflow: auto;
    /* border-color: #666666; */
    }
blockquote>pre {
    color: #FFDDDD;
    background-color: #222244;
    padding-left: 1em;
    padding-top: 1ex;
    padding-bottom: 1ex;
    border: 4px ridge #6666FF;
}


.Firefox1 blockquote {
    padding-bottom: .5em;
    }

/*  Turn off scrolling when printing.  */
@media print {
    blockquote {
        overflow: visible;
        }
    .IE blockquote {
        width: auto;
        }
    }

#Menu {
    font-size: 9pt;
    padding: 10px 0 0 0;
    background-color: #222222;
    }
.ContentPage #Menu,
.IndexPage #Menu {
    position: absolute;
    top: 0;
    left: 0;
    width: 33ex;
    overflow: hidden;
    }
.ContentPage .Firefox #Menu,
.IndexPage .Firefox #Menu {
    width: 30ex;
    }

    .MTitle {
        color: #CCCCCC;
        font-size: 16pt; font-weight: bold; font-variant: small-caps;
        text-align: center;
        padding: 5px 10px 15px 10px;
        border-bottom: 2px;
        border-bottom-style: solid;
        border-color: #991111;
        margin-bottom: 15px }

    .MSubTitle {
        font-size: 9pt; font-weight: normal; font-variant: normal;
        margin-top: 1ex; margin-bottom: 5px }

    .MEntry a:link,    .MGroup a:link,
    .MEntry a:hover,   .MGroup a:hover,
    .MEntry a:visited, .MGroup a:visited { color: #DDDDFF; margin-right: 0 }
    .MEntry a:active,  .MGroup a:active { color: #FF6699; margin-right: 0 }

    .MGroup > a:link,
    .MGroup > a:hover,
    .MGroup > a:visited {
       color: #DDDDFF; 
       padding: 0 0 0 4px; }
    .MGroup > a:active {
       color: #FF6699;
    }

    .MGroup {
        font-variant: small-caps; font-weight: bold;
        margin: 1em;
        margin-bottom: 0;
        margin-right: 0;
        width: 100%;
        background-color: #444444;
        border: 1px solid gray;
    }
	.MGroup .MGroup {
       margin-bottom: 8px;
    }
	.Safari .MGroup { font-size: 10pt }
    
    .MGroupContent {
        border: 1px solid #333333;
        border-top: 1px dashed gray;
        background-color: #333333;
        font-variant: normal; font-weight: normal }

    .MGroupContent .MGroup {
        background-color: #555555;
    }

    .MGroupContent .MGroupContent {
        border: 1px solid #444444;
        border-top: 1px dashed gray;
        background-color: #444444;
    }

    .MGroupContent .MGroupContent .MGroup {
        background-color: #777777;
    }

    .MGroupContent .MGroupContent .MGroupContent {
        border: 1px solid #666666;
        border-top: 1px dashed gray;
        background-color: #666666;
    }

	.Safari .MGroup {
        -webkit-border-top-left-radius: 6px;
        -webkit-border-bottom-left-radius: 6px;
    }
    .Firefox .MGroup {
        -moz-border-radius-topleft: 8px;
        -moz-border-radius-bottomleft: 10px;
    }
    .Safari .MGroupContent {
        -webkit-border-bottom-left-radius: 9px;
	}
    .Firefox .MGroupContent {
        -moz-border-radius-bottomleft: 6px;
    }

    .MFile,
    .MText,
    .MLink,
    .MIndex {
        font-size: 9pt;
        padding: 2px 17px 2px 10px;
        margin: .25em 0 .25em 0;
        color: #FFFFFF;
        }

    .MText {
        font-size: 8pt; font-style: italic }

    .MLink {
        font-style: italic }

    #MSelected {
        color: #FFFFFF; background-color: #333399;
        /*  Replace padding with border.  */
        padding: 0px 17px 0px 10px;
        border-width: 2px 0px 2px 0px; 
        border-style: solid none solid solid;
        border-color: #6666FF;
        margin-left: 1px;
        }

    .Firefox #MSelected {
        -moz-border-radius-topleft: 10px;
        -moz-border-radius-bottomleft: 10px }
    .Safari #MSelected {
        -webkit-border-top-left-radius: 6px;
        -webkit-border-bottom-left-radius: 6px }

    /*  Close off the left side when its in a group.  */
    .MGroup #MSelected {
        padding-left: 9px; border-left-width: 1px }

    #MSearchPanel {
        border-top: 2pt solid #6666FF;
        padding: 12px 6px;
        margin: 12px 0;
        }

    #MSearchField {
        font: italic bold 9pt Verdana, sans-serif;
        color: white;
        background-color: #222244;
        border: 2px inset #222244;
        padding: 2px 2px;
        width: 100%;
        }
/*
	.Firefox #MSearchField {
		-moz-border-radius-topright: 12px;
	}
*/
    /* Only Opera gets it right. */
    .Firefox #MSearchField,
    .IE #MSearchField,
    .Safari #MSearchField {
        width: 94%;
        }
    .Opera9 #MSearchField,
    .Konqueror #MSearchField {
        width: 97%;
        }
    .FramedMenuPage .Firefox #MSearchField,
    .FramedMenuPage .Safari #MSearchField,
    .FramedMenuPage .Konqueror #MSearchField {
        width: 98%;
        }

    /* Firefox doesn't do this right in frames without #MSearchPanel added on.
        It's presence doesn't hurt anything other browsers. */
    #MSearchPanel.MSearchPanelInactive:hover #MSearchField {
        /*background-color: #111122;
		color: #FFFF33;
        border: 1px solid #C0C0C0;
        padding: 1px 3px;*/
		border-style: outset;
        }
    .MSearchPanelActive #MSearchField {
        /*background-color: gray;
        border: 1px solid #C0C0C0;*/
        font-style: normal;
        /*padding: 1px 3px;*/
        }

    #MSearchType {
        visibility: hidden;
        font: 8pt Verdana, sans-serif;
        width: 98%;
        padding: 0;
		border: 2px solid #6666FF;
        }
    .MSearchPanelActive #MSearchType,
    /*  As mentioned above, Firefox doesn't do this right in frames without #MSearchPanel added on. */
    #MSearchPanel.MSearchPanelInactive:hover #MSearchType,
    #MSearchType:focus {
        visibility: visible;
        color: #99DD99;
		background-color: #111122;
		border: 2px solid #6666FF;
        }
    #MSearchType option#MSearchEverything {
        font-weight: bold;
        }

    .Opera8 .MSearchPanelInactive:hover,
    .Opera8 .MSearchPanelActive {
        margin-left: -1px;
        }


    iframe#MSearchResults {
        width: 60ex;
        height: 15em;
        }
    #MSearchResultsWindow {
        display: none;
        position: absolute;
        left: 0; top: 0;
        border: 2px solid gray; 
        background-color: gray;
        }
	.Firefox #MSearchResultsWindow {
		-moz-border-radius-bottomright: 12px;
	}
	.Safari #MSearchResultsWindow {
		-webkit-border-bottom-right-radius: 12px;
	}
    #MSearchResultsWindowClose {
        font-weight: bold;
        font-size: 8pt;
        display: block;
        padding: 2px 5px;
		background-color: #666666;
		color: #FF8888;
        }
    .Firefox #MSearchResultsWindowClose {
		-moz-border-radius-bottomright: 8px;
	}
    .Safari #MSearchResultsWindowClose {
		-webkit-border-bottom-right-radius: 8px;
	}
    #MSearchResultsWindowClose:link,
    #MSearchResultsWindowClose:visited {
        color: #000000;
        text-decoration: none;
        }
    #MSearchResultsWindowClose:active,
    #MSearchResultsWindowClose:hover {
        color: #800000;
        text-decoration: none;
        background-color: #F4F4F4;
        }




#Content {
    padding-bottom: 15px;
    }

.ContentPage #Content {
    border-width: 0 0 2px 2px;
    border-style: solid;
    border-color: #6666FF;
    background-color: #111122;
    color: #FFFFFF;
    font-size: 9pt;  /* To make 33ex match the menu's 33ex. */
    margin-left: 33ex;
	min-height: 1800px;
    }


.ContentPage .Firefox #Content {
    margin-left: 30ex;
	-moz-border-radius-bottomleft: 40px;
    -moz-border-radius-topleft: 20px;
    }
.ContentPage .Safari #Content {
	-webkit-border-bottom-left-radius: 40px;
    -webkit-border-top-left-radius: 20px;
    }

    .CTopic {
        font-size: 10pt;
        margin-bottom: 3em;
        }

    .CTitle {
        font-size: 12pt; font-weight: bold;
        margin: 0 15px .5em 15px }

    .CGroup .CTitle {
        font-size: 16pt; font-variant: small-caps;
        padding-left: 15px; padding-right: 15px;
        border-top: 2px solid #3333FF;
        border-bottom: 2px solid #3333FF;
        background-color: #222244;
        margin-left: 0; margin-right: 0 }


    .CClass .CTitle,
    .CInterface .CTitle,
    .CDatabase .CTitle,
    .CDatabaseTable .CTitle,
    .CSection .CTitle {
        font-size: 18pt;
        color: #FFFFFF; background-color: #333399;
        padding: 2px 15px;
		padding-top: 1px;
        border-top: 2px solid #6666FF;
		border-bottom: 3px solid #222266;
        margin-left: 0; margin-right: 0 }

     .CGroup .Firefox .CTitle {
    }

    #MainTopic .CTitle {

        font-size: 20pt;
        color: #FFFFFF; background-color: #333399;
        padding: 3px 15px;
        border-width: 2px 0px 2px 0; border-color: #6666FF;
        border-style: solid;
        margin-left: 0; margin-right: 0;
    }

    .Firefox #MainTopic .CTitle {
        -moz-border-radius-topleft: 18px;
    }

    .Safari #MainTopic .CTitle {
        -webkit-border-top-left-radius: 18px;
    }


    .CBody {
        margin-left: 15px; margin-right: 15px }


    .CToolTip {
        position: absolute; visibility: hidden;
        left: 0; top: 0;
        background-color: #222222;
        padding: 5px;
        border-width: 1px 1px 1px 1px; border-style: solid;
        border-color: #666600;
        font-size: 8pt;
        }

    .Opera .CToolTip {
        max-width: 98%;
        }

    /*  Scrollbars would be useless.  */
    .CToolTip blockquote {
        overflow: hidden;
        }
    .IE6 .CToolTip blockquote {
        overflow: visible;
        }

    .CHeading {
        font-size: 10pt;
        font-style: italic;
        margin: 1.5em 0 .5em 0;
        }

    .CBody pre {
        font: 10pt "Courier New", Courier, monospace;
        margin: 1em 0;
        }

    .CBody ul {
        /*  I don't know why CBody's margin doesn't apply, but it's consistent across browsers so whatever.
             Reapply it here as padding.  */
        padding-left: 15px; padding-right: 15px;
        margin: .5em 5ex .5em 5ex;
        }

    .CDescriptionList {
        margin: .5em 5ex 0 5ex }

        .CDLEntry {
            font: 10pt "Courier New", Courier, monospace; color: #DDDDFF;
            font-weight: bold;
            text-align: right;
            padding-bottom: .25em;
            white-space: nowrap }

        .CDLDescription {
            font-size: 10pt;  /*  For browsers that don't inherit correctly, like Opera 5.  */
            padding-bottom: .5em; padding-left: 5ex }


    .CTopic img {
        text-align: center;
        display: block;
        margin: 1em auto;
        }
    .CImageCaption {
        font-variant: small-caps;
        font-size: 8pt;
        color: #808080;
        text-align: center;
        position: relative;
        top: 1em;
        }

    .CImageLink {
        color: #808080;
        font-style: italic;
        }
    a.CImageLink:link,
    a.CImageLink:visited,
    a.CImageLink:hover { color: #808080 }





.Prototype {
    font: 10pt "Courier New", Courier, monospace;
    padding: 1ex 1em;
    border-width: 1px; border-style: solid;
    margin: 1ex 5em 1ex 1em;
    }

    .Prototype td {
        font-size: 10pt;
        }

    .PDefaultValue,
    .PDefaultValuePrefix,
    /*.PTypePrefix {
        color: #FFFF00;
        }*/
    .PTypePrefix {
        text-align: right;
        }
    .PAfterParameters {
        vertical-align: bottom;
        }

    .IE .Prototype table {
        padding: 0;
        }

    .CType .Prototype,
    .CClass .Prototype,
    .CInterface .Prototype,
    .CVariable .Prototype,
    .CFunction .Prototype, 
    .CProperty .Prototype,
    .CMember .Prototype {
        background-color: #336633; border-color: #999900; border-width: 2px; }

    .Firefox .CType .Prototype,
    .Firefox .CClass .Prototype,
    .Firefox .CInterface .Prototype,
    .Firefox .CVariable .Prototype,
    .Firefox .CFunction .Prototype, 
    .Firefox .CProperty .Prototype,
    .Firefox .CMember .Prototype {
        -moz-border-radius: 10px }
    .Safari .CType .Prototype,
    .Safari .CClass .Prototype,
    .Safari .CInterface .Prototype,
    .Safari .CVariable .Prototype,
    .Safari .CFunction .Prototype, 
    .Safari .CProperty .Prototype,
    .Safari .CMember .Prototype {
        -webkit-border-radius: 10px }
    .CProperty .Prototype, .CMember .Prototype {
        background-color: #333366; }

    .CDatabaseIndex .Prototype,
    .CConstant .Prototype {
        background-color: #D0D0D0; border-color: #000000 }
    .CType .Prototype,
    .CClass .Prototype,
    .CInterface .Prototype {
        background-color: #444444
        }
    .CDatabaseTrigger .Prototype,
    .CEvent .Prototype,
    .CDelegate .Prototype {
        background-color: #F0FCF0; border-color: #B8E4B8 }

    .CToolTip .Prototype {
        margin: 0 0 .5em 0;
        white-space: nowrap;
        }





.Summary {
    margin: 1.5em 5ex 0 3ex }

    .STitle {
        font-size: 12pt; font-weight: bold;
        margin-bottom: .5em }


    .SBorder {
        background-color: black; /*#C0C060; */
        /*padding: 2px;*/
        border: 8px solid #55CC00; 
        border: 8px solid #CE5408; }

    /* In a frame IE 6 will make them too long unless you set the width to 100%.  Without frames it will be correct without a width
        or slightly too long (but not enough to scroll) with a width.  This arbitrary weirdness simply astounds me.  IE 7 has the same
        problem with frames, haven't tested it without.  */
    .FramedContentPage .IE .SBorder {
        width: 100% }

    /*  A treat for Mozilla users.  Blatantly non-standard.  Will be replaced with CSS 3 attributes when finalized/supported.  */
    .Firefox .SBorder {
        -moz-border-radius: 8px;
        -moz-border-radius-topright: 40px; }

    .Firefox .STable {
        -moz-border-radius-topright: 30px; }

    .Safari .SBorder {
        -webkit-border-radius: 8px;
        -webkit-border-top-right-radius: 40px; }

    .Safari .STable {
        -webkit-border-top-right-radius: 30px; }

    .STable {
        padding-left: 1em;
        padding-right: 1em;
        padding-top: 1ex; padding-bottom: 1ex;
        font-size: 9pt; width: 100% }

    .SEntry {
        width: 30%; }
    .SDescription {
        width: 70%; }

     /*.SIndent1 { background-color: #444444; }
     .SIndent2 { background-color: #222222; }
     .SMarked .SIndent2 { background-color: #111111; }
     .SIndent3 { background-color: #000000; }
     .SMarked .SIndent3 { background-color: #080808; }

    */
/*

    .SIndent1 .SEntry, .SIndent1 .SDescription { border-top: 2px ridge yellow; }

*/
    .STable,
    .SSection .SEntry, .SSection .SDescription,
    .SMain .SEntry, .SMain .SDescription 
    { background-color: #000000; }
    .SEntry, .SDescription { padding-top: 1ex; padding-bottom: 1ex; 
        background-color: #000000; 
    }

    .SDescription { padding-left: 2ex; }
    .SIndent1 .SEntry { padding-left: 1.5ex }
    .SIndent1 .SDescription { padding-left: 3.5ex; padding-bottom: 1.0ex }

    .SIndent2 .SEntry { padding-left: 3.0ex }
    .SIndent2 .SDescription { padding-left: 5.0ex }

    .SIndent3 .SEntry { padding-left: 4.5ex }
    .SIndent3 .SDescription { padding-left: 6.5ex }

    .SIndent4 .SEntry { padding-left: 6.0ex }
    .SIndent4 .SDescription { padding-left: 8.0ex }

    .SIndent5 .SEntry { padding-left: 7.5ex }
    .SIndent5 .SDescription { padding-left: 9.5ex }

    .SGroup td {
        padding-top: .5em; padding-bottom: .25em }

    .SGroup .SEntry {
        font-weight: bold; font-variant: small-caps }

    .SGroup .SEntry a {
        color: #C0A000; }
	.Safari .SGroup .SEntry a { font-size: 10pt }
    .SGroup .SEntry a:hover {
        color: #CC4444; }

    .SGroup .SEntry a:active {
        color: #00FF66; }

    .Summary a { color: #00CC00 }
    .Summary a:hover {
        color: #CC4444; }
    .Summary a:active { color: #00FF00 }


    .SMain td,
    .SClass td,
    .SDatabase td,
    .SDatabaseTable td,
    .SSection td {
        font-size: 10pt;
        padding-bottom: .25em }

    .SMain td,
    .SClass td,
    .SDatabase td,
    .SDatabaseTable td,
    .SSection td {
        padding: 0 }

    .SMain .SEntry,
    .SClass .SEntry,
    .SDatabase .SEntry,
    .SDatabaseTable .SEntry,
    .SSection .SEntry {
        font-weight: bold;
        }

    .SMain .SEntry a,
    .SClass .SEntry a,
    .SDatabase .SEntry a,
    .SDatabaseTable .SEntry a,
    .SSection .SEntry a { color: #FFFF33; }

    .SMain .SEntry a:active,
    .SClass .SEntry a:active,
    .SDatabase .SEntry a:active,
    .SDatabaseTable .SEntry a:active,
    .SSection .SEntry a:active { color: #A00000 }





.ClassHierarchy {
    margin: 0 15px 1em 15px }

    .CHEntry {
        border-width: 1px 2px 2px 1px; border-style: solid; border-color: #A0A0A0;
        margin-bottom: 3px;
        padding: 2px 2ex;
        font-size: 10pt;
        background-color: #222222; color: #606060;
        }

    .Firefox .CHEntry {
        -moz-border-radius: 4px; 
        }

    .CHCurrent .CHEntry {
        font-weight: bold;
        border-color: #000000;
        color: #000000;
        }

    .CHChildNote .CHEntry {
        font-style: italic;
        font-size: 8pt;
        }

    .CHIndent {
        margin-left: 3ex;
        }

    .CHEntry a:link,
    .CHEntry a:visited,
    .CHEntry a:hover {
        color: #606060;
        }
    .CHEntry a:active {
        color: #800000;
        }





#Index {
    background-color: #111122;
    }

/*  As opposed to .PopupSearchResultsPage #Index  */
.IndexPage #Index,
.FramedIndexPage #Index,
.FramedSearchResultsPage #Index {
    padding: 15px;
    }

.IndexPage #Index {
    border-width: 0 0 2px 2px;
    border-style: solid;
    border-color: #6666FF;
    font-size: 9pt;  /* To make 30ex match the menu's 30ex. */
    margin-left: 30ex;
	color: #CCCCCC;
    }


    .IPageTitle {
        font-size: 20pt; font-weight: bold;
        color: #FFFFFF; background-color: #333399;
        padding: 10px 15px 10px 15px;
        border-width: 2px 0 2px 0 ; border-color: #6666FF; border-style: solid;
        margin: -15px -15px 0 -15px }

    .FramedSearchResultsPage .IPageTitle {
        margin-bottom: 15px;
        }

    .INavigationBar {
        font-size: 10pt;
        text-align: center;
		color: #555555;
        background-color: #222222;
        padding: 5px;
        border-bottom: solid 2px #444444;
        margin: 0 -15px 15px -15px;
        }

    .INavigationBar a {
        font-weight: bold;
		color: #CC4444 }

    .IHeading {
        font-size: 16pt; font-weight: bold;
        padding: 2.5em 0 .5em 0;
        text-align: center;
        width: 3.5ex;
        }
    #IFirstHeading {
        padding-top: 0;
        }

    .IEntry {
        font-size: 10pt;
        padding-left: 1ex;
        }
    .PopupSearchResultsPage .IEntry {
        font-size: 8pt;
        padding: 1px 5px;
        }
    .PopupSearchResultsPage .Opera9 .IEntry,
    .FramedSearchResultsPage .Opera9 .IEntry {
        text-align: left;
        }
    .FramedSearchResultsPage .IEntry {
        padding: 0;
        }

    .ISubIndex {
        padding-left: 3ex; padding-bottom: .5em }
    .PopupSearchResultsPage .ISubIndex {
        display: none;
        }

    /*  While it may cause some entries to look like links when they aren't, I found it's much easier to read the
         index if everything's the same color.  */
    .ISymbol {
        font-weight: bold; color: #999999  }

    .IndexPage .ISymbolPrefix,
    .FramedIndexPage .ISymbolPrefix {
        font-size: 10pt;
        text-align: right;
        color: #996699;
        background-color: #333333;
        border-right: 2px solid #444444;
        border-left: 2px solid #444444;
        padding: 0 1px 0 2px;
        }
    .PopupSearchResultsPage .ISymbolPrefix,
    .FramedSearchResultsPage .ISymbolPrefix {
        color: #900000;
        }
    .PopupSearchResultsPage .ISymbolPrefix {
        font-size: 8pt;
        }

    .IndexPage #IFirstSymbolPrefix,
    .FramedIndexPage #IFirstSymbolPrefix {
        border-top: 2px solid #444444;
        }
    .IndexPage #ILastSymbolPrefix,
    .FramedIndexPage #ILastSymbolPrefix {
        border-bottom: 2px solid #444444;
        }
    .IndexPage #IOnlySymbolPrefix,
    .FramedIndexPage #IOnlySymbolPrefix {
        border-top: 2px solid #444444;
        border-bottom: 2px solid #444444;
        }

    a.IParent,
    a.IFile {
        display: block;
        }

    .PopupSearchResultsPage .SRStatus {
        padding: 2px 5px;
        font-size: 8pt;
        font-style: italic;
        }
    .FramedSearchResultsPage .SRStatus {
        font-size: 10pt;
        font-style: italic;
        }

    .SRResult {
        display: none;
        }



#Footer {
    font-size: 8pt;
    color: #CCCCCC;
    text-align: right;
    }

#Footer p {
    text-indent: 0;
    margin-bottom: .5em;
    }

.ContentPage #Footer,
.IndexPage #Footer {
    text-align: right;
    margin: 2px;
    }

.FramedMenuPage #Footer {
    text-align: center;
    margin: 5em 10px 10px 10px;
    padding-top: 1em;
    border-top: 1px solid #C8C8C8;
    }

    #Footer a:link,
    #Footer a:hover,
    #Footer a:visited { color: #FFCCCC; }
    #Footer a:active { color: #A00000; }

@media print {
    .ContentPage #Content {
        min-height: 300px;
        margin-left: 0ex;
        border-left: none;
        border-bottom: none;
    }

    .ContentPage .Firefox #Content {
        min-height: 300px;
        margin-left: 0ex;
    }

    .Summary * {
        border-color: black;
        color: black;
    }

    #Menu, #MSearchPanel, #MSearchResultsWindow, 
    #MSearchResults, #MSearchResultsWindowClose {
        visibility: hidden
    }
}
