a {
    color: #023264;
}

body {
    background: #FFFFFF;
    color: #000000;
    margin: 0;
    padding: 20px 15px;
}

div.authors {
    width: 150px;
    background: #EEEEFF;
    border: 1px solid #CCCCFF;
    color: #333333;
    margin: 2em 0 0;
    padding-bottom: 0.5em;
}

div.authors li {
    color: #023264;
    line-height: 1;
    margin: 0;
    padding: 0;
}

div.authors ul {
    list-style: none;
    margin: 0;
    padding: 0;
}

div.indent {
    padding: 0 4%;
}

div.notice {
    background: #00FFFF;
    border: 1px solid #000000;
    margin-left: 8%;
    padding: 0 2%;
    width: 80%;
}

h1, h2, h3 {
    color: #FFFFFF;
    font-family: Arial, Helvetica, sans-serif;
    margin: 1em 0;
}

h1 a, h2 a, h3 a {
    color: #FFFFFF;
}

h1 {
    background: #023264;
    font-size: 1.2em;
    font-weight: bold;
    padding: 5px;
}

h2 {
    background: #023264;
    font-size: 1.1em;
    font-weight: normal;
    padding: 3px 5px;
}

h3 {
    background: #023264;
    font-size: 1em;
    font-weight: normal;
    padding: 2px 5px;
}

h4 {
    font-size: 1.1em;
}

hr {
    background: #CCCCCC;
    border: none;
    height: 1px;
}

hr.section {
    background: #023264;
    border: none;
    height: 1px;
}

img {
    border: none;
}

img.book {
    margin: 10px;
}

q {
    font-family: Arial, Helvetica, sans-serif;
}

table {
    border: 2px solid #CCCCCC;
    border-collapse: collapse;
}

table.noborder, table.noborder td, table.noborder td th {
    border: none;
}

table.tag-attributes {
    width: 100%;
}

table.taglib-summary {
    width: 100%;
}

table.task-list {
    width: 100%;
}

td, th {
    border: 1px solid #CCCCCC;
    padding: 3px;
}

th.attribute {
    width: 15%;
}

thead {
    border: 2px solid #CCCCCC;
    background: #DDDDDD;
    color: #333333;
    font-family: Arial, Helvetica, sans-serif;
}

tr.evenRow {
    background: #F6F6F6;
}

.center {
    text-align: center;
}

.clear {
    clear: both;
}

.deprecated {
    color: #FF0000;
}

.float-left {
    float: left;
}

.float-right {
    float: right;
}

.left {
    text-align: left;
}

.right {
    text-align: right;
}

.since {
    font-style: italic;
}

.version {
    color: #999999;
    font: 0.7em Arial, Helvetica, sans-serif;
    margin: 0;
}

.warning {
    color: #FF0000;
    font-weight: bold;
}

#footer {
    border-top: 1px solid #333333;
    clear: both;
    color: #023264;
    font-size: 0.83em;
    font-style: italic;
    padding-top: 10px;
    text-align: center;
}

#heading {
    border-bottom: 1px solid #333333;
    height: 100px;
    margin-bottom: 0.5em;
    position: relative;
}

#jakarta-logo {
    left: 0;
    position: absolute;
    top: 0;
}

#main {
    margin-left: 22%;
}

#menu {
    width: 21%;
    float: left;
}

#menu li {
    font-size: 0.84em;
    font-weight: normal;
    margin: 0 0 0.5em 2em;
}

#menu p {
    color: #023264;
    font-weight: bold;
    margin: 0.5em;
}

#menu ul {
    list-style: none;
    margin: 0 0 1em;
    padding: 0;
}

#powered-logo {
    float: right;
    margin-bottom: 20px;
}

#struts-logo {
    position: absolute;
    right: 0;
    top: 0;
}

@media
print
{
.noprint, #menu, #jakarta-logo {
    display: none;
}

#main {
    margin-left: 0;
}

h1, h2, h3 {
    background: #fff;
    color: #000;
    font-weight: bold;
}

}
