/*
 *******************************************************************************
 * Copyright (C) 2011, International Business Machines Corporation and         *
 * others. All Rights Reserved.                                                *
 *******************************************************************************
 */

/* Javadoc style sheet */

/* Define colors, fonts and other style attributes here to override the defaults */

/* Page background color */
body { background-color: #FFFFFF; color:#000000 }

/* Headings */
h1 { font-size: 145% }

/* Table colors */
.TableHeadingColor     { background: #CCCCFF; color:#000000 } /* Dark mauve */
.TableSubHeadingColor  { background: #EEEEFF; color:#000000 } /* Light mauve */
.TableRowColor         { background: #FFFFFF; color:#000000 } /* White */

/* Font used in left-hand frame lists */
.FrameTitleFont   { font-size: 100%; font-family: Helvetica, Arial, sans-serif; color:#000000 }
.FrameHeadingFont { font-size:  90%; font-family: Helvetica, Arial, sans-serif; color:#000000 }
.FrameItemFont    { font-size:  90%; font-family: Helvetica, Arial, sans-serif; color:#000000 }

/* Navigation bar fonts and colors */
.NavBarCell1    { background-color:#EEEEFF; color:#000000} /* Light mauve */
.NavBarCell1Rev { background-color:#00008B; color:#FFFFFF} /* Dark Blue */
.NavBarFont1    { font-family: Arial, Helvetica, sans-serif; color:#000000;color:#000000;}
.NavBarFont1Rev { font-family: Arial, Helvetica, sans-serif; color:#FFFFFF;color:#FFFFFF;}

.NavBarCell2    { font-family: Arial, Helvetica, sans-serif; background-color:#FFFFFF; color:#000000}
.NavBarCell3    { font-family: Arial, Helvetica, sans-serif; background-color:#FFFFFF; color:#000000}



/* ICU modified JCite styles */
pre.java /* container for citations */
    {
    border-style: solid;
    border-width: 1px;
    border-color: DarkGray;
    margin: 1.5em 1.5em 1.5em 1.5em;
    background-color: cornsilk;
    }

tt.java /* single cited line in JCite's -tt mode */
    {
    border-style: solid;
    border-width: 1px;
    border-color: DarkGray;
    margin: 1.5em 1.5em 1.5em 1.5em;
    background-color: cornsilk;
    }

span.j-blk /* block comment */
{
    color: DarkGreen;
}

span.j-cmt /* line comment */
{
    color: DarkGreen;
}

span.j-key /* keyword */
{
    /* font-weight:bold; */
    color: Purple;
    font-weight: bold;
}

span.j-str /* string constants */
{
    color: Blue;
}

span.j-chr /* char constants */
{
    color: Blue;
}

span.j-num /* number constants */
{
}

span.j-sym /* symbols, punctuation */
{
}

span.j-typ /* primitive types */
{
    color: Purple;
    font-weight: bold;
}

span.j-jdoc /* javadoc */
{
    color: DarkSlateBlue;
}

span.j-jdoc-key /* javadoc keyword */
{
    color: MediumSlateBlue;
    font-weight: bold;
}

span.j-jdoc-html /* javadoc html tag */
{
    color: SlateGray;
}

span.j-jdoc-link /* javadoc link */
{
    color: Blue;
}

span.j-undef /* undefined */
{
}

span.j-hl /* highlight */
{
    text-decoration: none;
    background-color: #FFFFB0;
}
