body {
 margin: 0;
 padding: 0;
 font-family: Lucida Grande, Verdana, Geneva, Sans-serif;
 font-size: 14px;
 color: #333;
 background-color: #fff;
}

a {
 color: #0134c5;
 background-color: transparent;
 text-decoration: none;
 font-weight: normal;
}
a:visited {
 color: #0134c5;
 background-color: transparent;
 text-decoration: none;
}
a:hover {
 color: #000;
 text-decoration: none;
 background-color: transparent;
}

#breadcrumb {
 float: left;
 background-color: transparent;
 margin: 10px 0 0 42px;
 padding: 0;
 font-size: 10px;
 color: #666;
}
#breadcrumb_right {
 float: right;
 width: 175px;
 background-color: transparent;
 padding: 8px 8px 3px 0;
 text-align: right;
 font-size: 10px;
 color: #666;
}
#nav {
 background-color: #494949;
 margin: 0;
 padding: 0;
}
#nav2 {
 background: #fff url(images/nav_bg_darker.jpg) repeat-x left top;
 padding: 0 310px 0 0;
 margin: 0;
 text-align: right;
}
#nav_inner {
 background-color: transparent;
 padding: 8px 12px 0 20px;
 margin: 0;
 font-family: Lucida Grande, Verdana, Geneva, Sans-serif;
 font-size: 11px;
}

#nav_inner h3 {
 font-size: 12px;
 color: #fff;
 margin: 0;
 padding: 0;
}

#nav_inner .td_sep {
 background: transparent url(images/nav_separator_darker.jpg) repeat-y left top;
 width: 25%;
 padding: 0 0 0 20px;
}
#nav_inner .td {
 width: 25%;
}
#nav_inner p {
 color: #eee;
 background-color: transparent;
 padding:0;
 margin: 0 0 10px 0;
}
#nav_inner ul {
 list-style-image: url(images/arrow.gif);
 padding: 0 0 0 18px;
 margin: 8px 0 12px 0;
}
#nav_inner li {
 padding: 0;
 margin: 0 0 4px 0;
}

#nav_inner a {
 color: #eee;
 background-color: transparent;
 text-decoration: none;
 font-weight: normal;
}

#nav_inner a:visited {
 color: #eee;
 background-color: transparent;
 text-decoration: none;
}

#nav_inner a:hover {
 color: #ccc;
 text-decoration: none;
 background-color: transparent;
}

#masthead {
 margin: 0 40px 0 35px;
 padding: 0 0 0 6px;
 border-bottom: 1px solid #999;
}

#masthead h1 {
background-color: transparent;
color: #e13300;
font-size: 18px;
font-weight: normal;
margin: 0;
padding: 0 0 6px 0;
}

#searchbox {
 background-color: transparent;
 padding: 6px 40px 0 0;
 text-align: right;
 font-size: 10px;
 color: #666;
}

#img_welcome {
 border-bottom: 1px solid #D0D0D0;
 margin: 0 40px 0 40px;
 padding: 0;
 text-align: center;
}

#content {
 margin: 20px 40px 0 40px;
 padding: 0;
}

#content p {
 margin: 12px 20px 12px 0;
}

#content h1 {
color: #e13300;
border-bottom: 1px solid #666;
background-color: transparent;
font-weight: normal;
font-size: 24px;
margin: 0 0 20px 0;
padding: 3px 0 7px 3px;
}

#content h2 {
 background-color: transparent;
 border-bottom: 1px solid #999;
 color: #000;
 font-size: 18px;
 font-weight: bold;
 margin: 28px 0 16px 0;
 padding: 5px 0 6px 0;
}

#content h3 {
 background-color: transparent;
 color: #333;
 font-size: 16px;
 font-weight: bold;
 margin: 16px 0 15px 0;
 padding: 0 0 0 0;
}

#content h4 {
 background-color: transparent;
 color: #444;
 font-size: 14px;
 font-weight: bold;
 margin: 22px 0 0 0;
 padding: 0 0 0 0;
}

#content img {
 margin: auto;
 padding: 0;
}

#content code {
 font-family: Monaco, Verdana, Sans-serif;
 font-size: 12px;
 background-color: #f9f9f9;
 border: 1px solid #D0D0D0;
 color: #002166;
 display: block;
 margin: 14px 0 14px 0;
 padding: 12px 10px 12px 10px;
}

#content pre {
 font-family: Monaco, Verdana, Sans-serif;
 font-size: 12px;
 background-color: #f9f9f9;
 border: 1px solid #D0D0D0;
 color: #002166;
 display: block;
 margin: 14px 0 14px 0;
 padding: 12px 10px 12px 10px;
}

#content .path {
 background-color: #EBF3EC;
 border: 1px solid #99BC99;
 color: #005702;
 text-align: center;
 margin: 0 0 14px 0;
 padding: 5px 10px 5px 8px;
}

#content dfn {
 font-family: Lucida Grande, Verdana, Geneva, Sans-serif;
 color: #00620C;
 font-weight: bold;
 font-style: normal;
}
#content var {
 font-family: Lucida Grande, Verdana, Geneva, Sans-serif;
 color: #8F5B00;
 font-weight: bold;
 font-style: normal;
}
#content samp {
 font-family: Lucida Grande, Verdana, Geneva, Sans-serif;
 color: #480091;
 font-weight: bold;
 font-style: normal;
}
#content kbd {
 font-family: Lucida Grande, Verdana, Geneva, Sans-serif;
 color: #A70000;
 font-weight: bold;
 font-style: normal;
}

#content ul {
 list-style-image: url(images/arrow.gif);
 margin: 10px 0 12px 0;
}

#content li {
 margin-bottom: 9px;
}

#content li p {
 margin-left: 0;
 margin-right: 0;
}

#content .tableborder {
 border: 1px solid #999;
}
#content th {
 font-weight: bold;
 text-align: left;
 font-size: 12px;
 background-color: #666;
 color: #fff;
 padding: 4px;
}

#content .td {
 font-weight: normal;
 font-size: 12px;
 padding: 6px;
 background-color: #f3f3f3;
}

#content .tdpackage {
 font-weight: normal;
 font-size: 12px;
}

#content .important {
 background: #FBE6F2;
 border: 1px solid #D893A1;
 color: #333;
 margin: 10px 0 5px 0;
 padding: 10px;
}

#content .important p {
 margin: 6px 0 8px 0;
 padding: 0;
}

#content .important .leftpad {
 margin: 6px 0 8px 0;
 padding-left: 20px;
}

#content .critical {
 background: #FBE6F2;
 border: 1px solid #E68F8F;
 color: #333;
 margin: 10px 0 5px 0;
 padding: 10px;
}

#content .critical p {
 margin: 5px 0 6px 0;
 padding: 0;
}


#footer {
background-color: transparent;
font-size: 10px;
padding: 16px 0 15px 0;
margin: 20px 0 0 0;
text-align: center;
}

#footer p {
 font-size: 10px;
 color: #999;
 text-align: center;
}
#footer address {
 font-style: normal;
}

.center {
 text-align: center;
}

img {
 padding:0;
 border: 0;
 margin: 0;
}

.nopad {
 padding:0;
 border: 0;
 margin: 0;
}


form {
 margin: 0;
 padding: 0;
}

.input {
 font-family: Lucida Grande, Verdana, Geneva, Sans-serif;
 font-size: 11px;
 color: #333;
 border: 1px solid #B3B4BD;
 width: 100%;
 font-size: 11px;
 height: 1.5em;
 padding: 0;
 margin: 0;
}

.textarea {
 font-family: Lucida Grande, Verdana, Geneva, Sans-serif;
 font-size: 14px;
 color: #143270;
 background-color: #f9f9f9;
 border: 1px solid #B3B4BD;
 width: 100%;
 padding: 6px;
 margin: 0;
}

.select {
 background-color: #fff;
 font-size:  11px;
 font-weight: normal;
 color: #333;
 padding: 0;
 margin: 0 0 3px 0;
}

.checkbox {
 background-color: transparent;
 padding: 0;
 border: 0;
}

.submit {
 background-color: #000;
 color: #fff;
 font-weight: normal;
 font-size: 10px;
 border: 1px solid #fff;
 margin: 0;
 padding: 1px 5px 2px 5px;
}