/*
 * Licensed to the Apache Software Foundation (ASF) under one
 * or more contributor license agreements.  See the NOTICE file
 * distributed with this work for additional information
 * regarding copyright ownership.  The ASF licenses this file
 * to you under the Apache License, Version 2.0 (the
 * "License"); you may not use this file except in compliance
 * with the License.  You may obtain a copy of the License at
 *
 * http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing,
 * software distributed under the License is distributed on an
 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
 * KIND, either express or implied.  See the License for the
 * specific language governing permissions and limitations
 * under the License.
 */
    /* This CSS file is used for all OFBiz applications EXCEPT ecommerce. */
    /* See the "ecommain.css" file for ecommerce. */
    /* ===== Resets/Browser Normalization ===== */

html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, font, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td {
    border:0;
    margin:0;
    outline:0;
    padding:0;
    font-size: 100%; /*add font size to reset */
    background:transparent;
    vertical-align: baseline;
}

body {
    line-height: 1.5em;
    color: black;
    background: white;
}/* reset line height and baseline colors*/

blockquote,body,div,dl,dt,dd,fieldset,form,h1,h2,h3,h4,h5,h6,img,input,li,ol,p,select,span,td,textarea,th,ul
    {
    border-style: none;
    margin: 0;
    padding: 0;
}

a,address,body,caption,cite,code,dfn,em,strong,th,var {
    font-style: normal;
    font-weight: normal;
    text-decoration: none;
}

body,caption,th {
    text-align: left;
}

h1,h2,h3,h4,h5,h6 {
    font-size: 100%;
}

ol,ul {
    list-style: none;
}

/* ===== Basic Element Styles ===== */
a,a:visited {
    color: #000099;
    font-weight: bold;
}

a:hover,a:active {
    text-decoration: none;
}

.disabled {
    color: #333366;
    text-decoration: none;
}

body,textarea,input,select {
    font-family: Verdana, Arial, Helvetica, sans-serif;
}

body {
    background: #B8DFFC;
    font-size: 62.5%;
    position: relative;
}

hr {
    background-color: #999999;
    border: 0;
    height: 0.1em;
    margin: 0.5em 0 0.5em 0;
}

input[type="radio"],input[type="checkbox"] {
    font-size: 1.1em;
    margin: 0.2em;
}

input[type="text"],input[type="password"] {
    background-color: #ffffff;
    border: #999999 solid 0.1em;
    font-size: 1.1em;
    margin: 0.2em;
    padding: 0.1em 0 0.1em 0;
}

input[type="submit"],input[type="button"],input[type="reset"] {
    background-color: #ffffff;
    border: #999999 solid 0.1em;
    color: #000099;
    font-size: 1em;
    font-weight: bold;
}

input[type="submit"]:hover {
    color: #ff0000;
    cursor: pointer;
    text-decoration: underline;
}

input[type="file"] {
    font-size: 1.1em;
    height: 1.6em; /* force ctrl to scale with text */
}

select {
    background-color: #ffffff;
    border: #999999 solid 0.1em;
    font-size: 1.1em;
    height: 1.6em; /* force ctrl to scale with text */
    margin: 0.1em;
}

select[multiple="multiple"] {
    height: 5em;
}

h1,.h1 {
    font-size: 1.6em;
    font-weight: bold;
}

h2,.h2 {
    font-size: 1.3em;
    font-weight: bold;
}

h3,.h3 {
    font-size: 1.1em;
    font-weight: bold;
}

/* IE7 fix */
table {
    font-size: 1em;
}

/* IE7 fix */
table input {
    border: #999999 solid 0.1em;
}

textarea {
    background-color: #ffffff;
    border: #999999 solid 0.1em;
    font-size: 1.1em;
}

th,th a {
    color: #000000;
    font-weight: bold;
}

/* ===== Legacy Styles ===== */
    /* The "smallSubmit" class can be used to decorate
links (A elements) and make them similar to form's buttons. */
.smallSubmit,.smallSubmit:visited {
    background-color: #ffffff;
    border: #999999 solid 0.1em;
    color: #000099;
    font-size: 1em;
    font-weight: bold;
    margin: 0.2em;
    padding: 0.1em 0.2em 0.1em 0.2em;
}

.smallSubmit:hover {
    color: #ff0000;
    text-decoration: none;
}

.smallSubmit:active {
    background-color: #cccccc;
    color: #333366;
    text-decoration: none;
}

.info {
    color: #000000;
    font-style: normal;
}

.boxhead {
    color: #FFFFFF;
    font-size: 1.1em;
    font-weight: bold;
}

.boxlink {
    float: right;
}

DIV.boxtop {
    background-color: #000099;
    border-color: #999999;
    border-style: solid;
    margin: 0 auto 0 auto;
    padding: 0.1em 0.4em 0.1em 0.4em;
    text-align: center;
}

DIV.boxhead-left {
    border: none;
    color: #FFFFFF;
    float: left;
    font-size: 1.1em;
    font-weight: bold;
    width: auto;
}

DIV.boxhead-fill {
    border: none;
    color: #FFFFFF;
    font-size: 1.1em;
    font-weight: bold;
    text-align: center;
    width: 0;
}

DIV.boxhead-right {
    border: none;
    color: #FFFFFF;
    float: right;
    font-size: 1.1em;
    font-weight: bold;
    width: auto;
}

A.boxheadbutton {
    color: #FFFFFF;
    font-size: 1.1em;
}

A.boxheadbutton:hover {
    color: #ff0000;
    text-decoration: none;
}

.boxoutside {
    background-color: #FFFFFF;
    border: 0.1em solid #999999;
}

.boxtop {
    background-color: #000099;
    border: 0 solid #999999;
    padding: 0.1em 0.4em 0.1em 0.4em;
}

.boxbottom {
    background-color: #FFFFFF;
    border: 0 solid #999999;
    padding: 0.4em;
}

.button {
    background-color: #dddddd;
    border: 0.2em outset #9999CC;
    padding-right: 0.5em;
    padding-left: 0.5em;
}

.browsecategorylist {
    margin-left: 10px;
}

.browsecategorytext {
    color: #000099;
    font-weight: bold;
    padding-left: 10px;
    background: url(/images/bg_bullet_full_2.gif) no-repeat 0px 0.5em;
}

A.browsecategorybutton {
    color: #000099;
}

.browsecategorybuttondisabled {
    color: #333333;
    font-weight: bold;
}

A.buttontext,.buttontextdisabled {
    background-color: #ffffff;
    border: #999999 solid 0.1em;
    font-weight: bold;
    line-height: 1.8em;
    margin: 0.2em;
    padding: 0.1em 0.4em 0.1em 0.4em;
    /*white-space: nowrap;*/
}

A.buttontext {
    color: #000099;
}

A.buttontext:hover {
    color: #ff0000;
}

A.linktext {
    color: #000099;
}

A.linktext:hover {
    color: #ff0000;
}

.buttontextdisabled {
    color: #333333;
}

A.headerbuttontext {
    color: #000099;
}

A.headerbuttontext:hover {
    color: #000000;
}

.submenutextinfo {
    border-right: 0.1em solid #5886C6;
    color: #ffffff;
    font-size: 0.9em;
    font-weight: bold;
    padding-left: 0.5em;
    padding-right: 0.5em;
}

.submenutext,A.submenutext,A.submenutext:visited {
    border-right: 0.1em solid #5886C6;
    color: #ffff00;
    font-size: 0.9em;
    font-weight: bold;
    padding-left: 0.2em;
    padding-right: 0.5em;
}

A.submenutext:hover {
    color: #ffff00;
}

.submenutextdisabled,A.submenutextdisabled {
    border-right: 0.1em solid #5886C6;
    color: #CCCCCC;
    font-size: 0.9em;
    font-weight: bold;
    padding-left: 0.2em;
    padding-right: 0.5em;
}

A.submenutextdisabled:hover {
    color: #ffff00;
}

.submenutextinforight {
    color: #ffffff;
    font-size: 0.9em;
    font-weight: bold;
    padding-left: 0.2em;
}

.submenutextright,A.submenutextright {
    color: #ffff00;
    font-size: 0.9em;
    font-weight: bold;
    padding-left: 0.2em;
}

A.submenutextright:hover {
    color: #ffff00;
}

.submenutextrightdisabled,A.submenutextrightdisabled {
    color: #CCCCCC;
    font-size: 0.9em;
    font-weight: bold;
    padding-left: 0.2em;
}

A.submenutextrightdisabled:hover {
    color: #ffff00;
}

A.lightbuttontext {
    border: none;
    color: #ffff00;
}

A.lightbuttontext:hover {
    color: #ffff00;
}

A.lightbuttontextsmall {
    border: none;
    color: #ffff00;
    font-size: 0.8em;
}

A.lightbuttontextsmall:hover {
    color: #ffff00;
}

.lightbuttontextdisabled {
    color: #CCCCCC;
    font-weight: bold;
}

A.buttontextbig,.buttontextbigdisabled {
    background-color: #ffffff;
    border: #999999 solid 0.1em;
    font-size: 1.5em;
    font-weight: bold;
    margin: 0.2em;
    padding: 0.1em 0.4em 0.1em 0.4em;
}

A.buttontextbig {
    color: #000099;
}

.buttontextbigdisabled {
    color: #CCCCCC;
}

A.buttontextbig:hover {
    color: #ff0000;
}

A IMG.imageborder {
    border: 0.1em solid #999999;
}

#messages-container {
position:relative;
background-color: #FFFFFF;
margin: 0 7px 0 7px;
padding-bottom: 1em;
}

/* ===== System messages rendering ===== */
.eventMessage,
.errorMessage {
background-color: #B8DFFC;
font-size: 1.3em;
font-weight: bold;
margin: 0 1em 0 1em;
padding: 0 1em 0 50px;
}

.eventMessage {
background: #FFFFFF url(/bluelight/images/information.png) no-repeat 10px 50%;
color: #000099;
border: solid 3px #000099;
}

.errorMessage {
background: #FFFFFF url(/bluelight/images/exclamation.png) no-repeat 10px 50%;
color: #FF0000;
border: solid 3px #FF0000;
}

.mediumSubmit,.largeSubmit,.loginButton {
    background-color: #ffffff;
    border: #999999 solid 0.1em;
    color: #000099;
    font-size: 1.4em;
    font-weight: bold;
    margin: 0.2em;
}

.mediumSubmit:hover,.largeSubmit:hover,.loginButton:hover {
    color: #ff0000;
}

.smallAltSubmit,.mediumAltSubmit,.largeAltSubmit {
    font-size: 1.1em;
}

.basePrice {
    color: #000000;
}

.normalPrice {
    color: #008000;
}

.salePrice {
    color: #ff0000;
}

/* ===== Product Summary Styles ===== */
.product-prevnext {
    text-align: right;
}

.productsummary-container {
    border-top: #999 solid 0.1em;
    margin-top: 0.5em;
    margin-bottom: 0.5em;
}

.productsummary {
    border-bottom: #999 solid 0.1em;
    /* using min-height as an alternative to clear: both; because that, in some browsers, will clear the top-level columns and not just in this div (Mozilla based, namely) */
    min-height: 6em;
    overflow: visible;
    padding: 0.5em;
    position: relative;
}

.productsummary .smallimage {
    float: left;
    /* position: absolute; top: 5px; left: 5px; */
    margin: 0 0.5em 0.5em 0;
}

.productsummary .smallimage img {
    border: #CCC solid 0.1em;
    height: 5em;
}

.productsummary .productbuy {
    float: right;
    margin: 0.5em;
    text-align: right;
    width: 13em;
}

.productsummary .productinfo { /* margin-left: 60px; */
    text-align: left;
}

/* ===== Product Detail Styles ===== */
#productdetail #long-description {
    border-top: #999 solid 0.1em;
    margin-top: 1em;
    padding-top: 0.5em;
}

#productdetail #reviews {
    border-top: #999 solid 0.1em;
    margin-top: 1em;
    padding-top: 0.5em;
}

#productdetail #associated-products {
    border-top: #999 solid 0.1em;
    margin-top: 1em;
    padding-top: 0.5em;
}

.treeWrapper {
    background-color: #ffffff;
    border-top: 0.1em solid #000000;
    border-left: 0.1em solid #000000;
    color: #000000;
    font-size: 1.6em;
    font-weight: normal;
    margin-left: 1.2em;
    margin-top: 0.2em;
    text-align: left;
    text-decoration: none;
}

.lefthalf {
    float: left;
    height: 1%;
    left: 0;
    margin: 0% 1% 1% 0%;
    width: 49%;
}

.righthalf {
    float: right;
    height: 1%;
    margin: 0 0 1% 1%;
    right: 0;
    width: 49%;
}

.leftclear {
    clear: left;
    height: 1%;
}

/* ==== Styles For Form Widgets === */
.formTableBordered {
    border: 0.1em solid #999999;
    width: 100%;
}

/* ==== Styles For The Html Log === */
.DEBUG {
    color: #808080;
}

.WARN {
    color: #0000ff;
    font-weight: bold;
}

.INFO {
    color: #008000;
}

.ERROR {
    border: 0.2em solid #ff0000;
    color: #ff0000;
    font-weight: bold;
}

/* ==== Styles Copied From tabstyles.css === */
.treewrapper {
    margin-left: 1em;
}

.treeitem {
    border: #888888 solid 0.1em;
    color: #0000ff;
    font-size: 1.4em;
    font-weight: bold;
}

.appbar {
    background-color: #ffffff;
}

.whitearea {
    background-color: #FFFFFF;
}

.blackarea {
    background-color: #000000;
}

.page-title {
display: none;
}

DIV.row {
    background-color: #B4B0AA;
    margin: 0 auto 0 auto;
    text-align: center;
}

DIV.col {
    border: none;
    float: left;
    width: auto;
}

DIV.col-fill {
    background-color: #B4B0AA;
    border: none;
    color: #000099;
    font-weight: bold;
    text-align: center;
    width: 0;
}

DIV.col-right {
    border: none;
    float: right;
    width: auto;
}

DIV.contentarea {
    background-color: #FFFFFF;
    margin: 0px 7px 0px 7px;
}

DIV.endcolumns { /* deprecated - use .clear */
    clear: both;
}

DIV.simple-right-small {
    float: right;
    width: 2em;
    text-align: right;
}

DIV.simple-right-half {
    float: right;
    width: 50%;
    text-align: right;
}

DIV.screenlet {
    background: url("/bluelight/box-head-tr.gif") no-repeat top right;
    background-color: #5CA3D7;
    height: auto !important;
    height: 1%;
    margin-bottom: 1em;
}

/* Special Screenlet Handling for locals and timezone window */
DIV.lists.screenlet {
    margin-left: 25%;
    margin-right: 25%;
    margin-top: 1em;
}
DIV.lists.screenlet .basic-table tr td {
    text-align: center;
}
DIV.lists.screenlet .basic-table tr td a {
    display: block;
}

DIV.screenlet-body {
    background-color: #FFFFFF;
    height: auto !important;
    height: 1%;
    padding: 0.4em;
    border: 0.1em solid #5CA3D7;
}

DIV.no-padding {
    padding: 0;
    border: none;
}

#column-container {
    margin: auto;
    padding: 0 1em 1em 1em;
    position: relative;
}

#column-container h1,
#column-container .h1,
#column-container h2,
#column-container .h2 {
    margin-bottom: 0.5em;
}

#column-container h1,
#column-container .h1 {
    color: #000099;
}

#column-container .left {
    float: left;
    /* alt: position: absolute; top: 0px; left: 0px; */
    width: 22em;
    margin-right: 1em;
}

#column-container .left-larger {
float: left;
/* alt: position: absolute; top: 0px; left: 0px; */
width: 25em;
margin-right: 1em;
}

.left-border {
    float: left;
    margin-right: 1em;
    width: 22em;
    border-right: 0.5px dotted #ccc;
    background-color: #eee;
    height: 100%;
}

#column-container .right {
    float: right;
    margin-left: 1em;
    width: 22em;
}

#column-container .leftonly {
    margin-left: 23em;
    width: auto;
}

#column-container .leftonly-larger {
    margin-left: 26em;
    width: auto;
}

#column-container .rightonly {
    margin-right: 23em;
    width: auto;
}

#column-container .center {
    margin-left: 23em;
    margin-right: 23em;
    width: auto;
}

#column-container .nocolumns {
    width: auto;
}

DIV.column-left-wide {
    background-color: #CCCCCC;
    border: #000000 solid 0.2em;
    float: left;
    overflow: auto;
    width: 30em;
}

DIV.widget-container {
    margin-bottom: 2em;
}

/* ===== New Styles ===== */
/* ================================ */
/* ===== Used to clear floats ===== */
/* ================================ */

.clear {
    clear: both;
    height: 0;
    visibility: hidden;
}

.no-clear .clear {
    /* Used in container elements to override the clear class
in contained elements. */
    clear: none;
}

/* ================================= */
 /* ===== Single Element Styles ===== */
 /* ================================= */
.alert { /* Used for alert text */
    color: #ff0000;
}

.content-messages p {
    margin: 0.5em 0 0.5em 0;
}

.hidden {
    height: 0;
    display: none;
}

.label {
    /* Used for <input> element labels */
    font-weight: bold;
    height: 1.2em;
    /* Same as <input> height */
    padding-right: 1.1em;
    text-align: right;
    white-space: nowrap;
    width: 1%;
    vertical-align: middle;
}

.required,input.required {
    /* required style for <input> elements */
    background-color: #eeeeee;
}

.tooltip { /* tooltip style */
    background-color: #ffffbb;
    border: 0.1em solid #999999;
    color: #000000;
    font-style: italic;
    margin: 0.4em;
    padding: 0.1em;
}

.visible {
    height: auto;
    visibility: visible;
}

/* ================================== */
/* ===== Used to align elements ===== */
/* ================================== */
.align-float {
    float: right;
}

.align-text {
    text-align: right;
}

.align-top {
    vertical-align: top;
}

.centered {
    text-align: center;
}

.page-container {
    background-color: #B8DFFC;
}

.tabbar {
    height: 40px;
    width: 100%;
    background: url("/bluelight/bar2.gif") repeat-x;
}

.tabbar .breadcrumbs {
    color: #FFFFFF;
    float: left;
    height: 100%;
    background: url("/bluelight/corner-tl.gif") no-repeat;
}

.tabbar .breadcrumbs-start {
    float: left;
    height: 100%;
    background: url("/bluelight/bar1.gif") repeat-x;
    margin-left: 15px;
    padding-top: 1em;
    display: inline; /* IE Fix */
}

.tabbar .breadcrumbs-sep {
    float: left;
    height: 100%;
    background: url("/bluelight/separator.gif") no-repeat;
    padding-top: 0.8em;
    margin-bottom: -1em;
    padding-left: 3.5em;
    font-size: 1.5em;
    font-weight: bold;
}

.tabbar .breadcrumbs-end {
    float: right;
    height: 100%;
    background: url("/bluelight/corner-tr.gif") no-repeat;
    width: 15px;
}

.bottom-bar {
    background: url("/bluelight/bar3.gif") repeat-x;
    height: 15px;
    width: 100%;
}

.bottom-bar .left {
    background: url("/bluelight/corner-bl.gif") top left no-repeat;
}

.bottom-bar .right {
    background: url("/bluelight/corner-br.gif") top right no-repeat;
}

/* ==================================== */
/* ===== Masthead (Header) Styles ===== */
/* ==================================== */
#masthead {
    background-color: #FFFFFF;
    color: #000000;
    font-weight: bold;
    height: 1%; /* IE fix */
}

#masthead ul li {
    float: left;
    padding: 0.4em;
}

#masthead ul .logo-area {
    /* placeholder */
}

#masthead ul .opposed,
#masthead ul .control-area {
    float: right;
    text-align: right;
}

ul#preferences-menu {
    font-size: 1.1em;
    float: right;
}

ul#preferences-menu li {
    border-left: solid 1px #BBBBBB;
    padding: 0 1em 0 1em;
}

ul#preferences-menu li.first,
ul#preferences-menu li.user,
ul#preferences-menu li.org {
border: none;
}

ul#preferences-menu li.user,
ul#preferences-menu li.org {
padding: 0;
color: #777777;
}

ul#preferences-menu li.user a,
ul#preferences-menu li.org a {
color: #777777;
}

ul#preferences-menu li.user a:hover {
background-color: #777777;
color: #FFFFFF;
text-decoration: none;
}

ul#preferences-menu li.expanded,
ul#preferences-menu li.collapsed {
padding: 0 0 0 5px;
width:32px;
}

ul#preferences-menu li.expanded {
background: url(/bluelight/images/bullet_arrow_up.png) no-repeat right;
}

ul#preferences-menu li.collapsed {
background: url(/bluelight/images/bullet_arrow_down.png) no-repeat right;
}

ul#preferences-menu li.collapsed a,
ul#preferences-menu li.expanded a {
padding-left: 16px;
}

ul#preferences-menu li a {
    color: #5CA3D7;
    padding: 0.2em;
}

ul#preferences-menu a:hover {
text-decoration: none;
}

.control-area a {
    font-size: 1.1em;
    color: #5CA3D7;
}

ul#preferences-menu li a.help-link {
display:block;
height: 12px;
width:10px;
background: url(/bluelight/help.png) no-repeat;
}

/* ========================================= */
/* ===== Footer Styles ===================== */
/* ========================================= */
#footer {
text-align: center;
padding-bottom: 1em;
}

#footer p {
    margin: 1em;
}

/* ======================================================= */
/* ===== Secondary Navigation (App Menu) Styles ========== */
/* ======================================================= */
#secondary-navigation {

}

#secondary-navigation a {
    padding: 0 1em 0 1em;
    border: 0.05em solid #000099;
    color: #ffff66;
    background-image: url(/images/gradient_sub_uns.gif);
    background-repeat: repeat-x;
}

#secondary-navigation .disabled {
    padding: 0 1em 0 1em;
    border: 0.05em solid #000099;
    background-image: url(/images/gradient_sub_uns.gif);
    background-repeat: repeat-x;
    color: #D4D0C8;
}

#secondary-navigation a.selected,#secondary-navigation a:hover {
    background-color: #2626c1;
    background-image: url(/images/gradient_sub_sel.gif);
    background-repeat: repeat-x;
    border-bottom: 0.05em solid #2626c1;
    text-decoration: none;
    color: #ffffff;
}

/* ================================================== */
/* ===== Main Navigation (App Menu) Styles ========== */
/* ================================================== */
/* ========================================================= */
/* ===== Component Navigation (App Header) Styles ========== */
/* ========================================================= */
#main-navigation,#app-navigation {
    float: left;
    font-size: 130%;
}

#app-navigation .clear {
    clear: none;
}

#main-navigation h2,
#app-navigation h2 {
    color: #FFFFFF;
    cursor: default;
    font-size: 1.2em;
    font-weight: bold;
    margin-right: 1em;
    text-decoration: none;
    padding-right: 20px;
    padding-bottom: 7px;
    background: url("/bluelight/arrow-white-rt.gif") no-repeat 100% 0%;
}

#main-navigation ul li ul,
#app-navigation ul li ul {
    position:absolute;
    background-color: #AAD6F6;
    z-index:9999;
    width:200px;
    border-bottom: solid 3px #aaa;
    border-right: solid 3px #aaa;
    border-left: solid 1px #aaa;
}

#main-navigation ul li ul li a,
#app-navigation ul li ul li a {
display:block;
padding:4px 16px 4px 16px;
border-top: none;
font-weight:bold;
color: #444;
} /*Color subcells normal mode*/

#main-navigation ul li ul li a:hover,
#app-navigation ul li ul li a:hover {
background: #EAEAEA;
background: -moz-linear-gradient(left, #F5F5F5, #AAD6F6);
text-decoration: underline;
} /*Color subcells hovering mode*/

#main-navigation ul li ul li a.disabled,
#app-navigation ul li ul li a.disabled {
color:#999999;
} /*Color subcells disabled mode*/

#main-navigation ul li ul li ul.secondary{
left:204px;
}

/* ================================================= */
/* ===== Screenlet Title Bar/Navigation Styles ===== */
/* ================================================= */

.screenlet-title-bar {
    background: url("/bluelight/box-head-tl.gif") no-repeat;
    color: #ffffff;
    height: 1%; /* IE fix */
    min-height: 1.5em;
}

.screenlet-title-bar .h1,
.screenlet-title-bar .h2,
.screenlet-title-bar .h3,
.screenlet-title-bar h1,
.screenlet-title-bar h2,
.screenlet-title-bar h3 {
    background: none;
    color: #ffffff;
    font-weight: bold;
    padding: 0.1em 0.5em 0.2em 0.5em;
}

.screenlet-title-bar ul {
    display: inline; /* IE Fix */
}

.screenlet-title-bar ul li {
    background: none;
    border-left: 0.1em solid #5f9fcf;
    color: #ffffff;
    float: right;
    font-size: 1em;
    font-weight: bold;
    padding: 0.1em 0.5em 0.2em 0.5em;
}

.screenlet-title-bar ul h1,
.screenlet-title-bar ul h2,
.screenlet-title-bar ul h3,
.screenlet-title-bar ul .h1,
.screenlet-title-bar ul .h2,
.screenlet-title-bar ul .h3 {
    border-left: none;
    float: left;
}

.screenlet-title-bar .h1 {
    font-size: 1.6em;
}

.screenlet-title-bar .h2 {
    font-size: 1.3em;
}

.screenlet-title-bar .h3,.screenlet-title-bar .head4 {
    font-size: 1.1em;
}

.screenlet-title-bar .h3 a {
    color: #ffff66;
    display: inline;
}

.screenlet-title-bar ul a {
    color: #ffff66;
    display: block;
}

.screenlet-title-bar ul a:visited {
    color: #ffff66;
}

.screenlet-title-bar ul a:hover {
    color: #FF6;
    text-decoration: underline;
}

.screenlet-title-bar ul .disabled {
    color: #CCCCCC;
}

.screenlet-title-bar ul li.collapsed a,
.screenlet-title-bar ul li.collapsed a:hover {
background: url(/bluelight/images/bullet_arrow_down.png) no-repeat center;
width:32px;
text-decoration: none;
}

.screenlet-title-bar ul li.expanded a,
.screenlet-title-bar ul li.expanded a:hover {
background: url(/bluelight/images/bullet_arrow_up.png) no-repeat center;
width:32px;
text-decoration: none;
}

.screenlet-title-bar ul .collapsed a,
.screenlet-title-bar ul .expanded a {
    /* IE fix */
    cursor: default;
}

/* login screenlet decorator */
.login-screenlet {
    min-width: 25em;
    width: 25%;
}

.login-screenlet .screenlet-title-bar {
    text-align: center;
}
/***********************************************
ajax auto complete
***********************************************/
div.autocomplete {
  position:absolute;
  width:auto !important;
/* min-width:154px; */
  background-color:#f8f8f8;
  border:1px solid #999999;
  margin:0;
  padding:0;
}
div.autocomplete ul {
  list-style-type:none;
  margin:0;
  padding:0;
}
div.autocomplete ul li.selected {
 background-color: #ffb;
}
div.autocomplete ul li {
  list-style-type:none;
  display:block;
  float: none;
  margin:0;
  padding:2px;
  /*height:32px;*/
  cursor:pointer;
}

.indicator img {
  background: url(/images/ajax-loader.gif) no-repeat 0 0;
  display: block;
  margin:3px 10px 0px 24px;
  width:16px;
  height:16px;
  border: none;
}

.screenlet-title-bar .indicator img {
  float:right;
  margin:0 3px;
  width:16px;
  height:16px;
  display:inline;
}
/* ======================================================= */
    /* ===== Basic Navigation (Vertical Menu) Style ========== */
    /* ======================================================= */
.basic-nav { /* indent menu - helpful for widgets */
    padding-left: 1em;
}

.basic-nav ul { /* placeholder */

}

.basic-nav ul li {

}

.basic-nav ul a {
    color: #000099;
    font-size: 1.1em;
}

.basic-nav ul .selected,.basic-nav ul .selected a {
    color: #0000ff;
}

.basic-nav ul a:hover {
    color: #0000ff;
}

.basic-nav ul .disabled,.basic-nav ul .disabled a {
    color: #D4D0C8;
}

/* ======================================== */
    /* ===== Button Bar Navigation Styles ===== */
    /* ======================================== */
.button-bar {
margin: 0 1em 1em 0;
}

.button-bar ul {
    display: inline; /* IE Fix */
}

.button-bar ul li {
    float: left;
    font-weight: bold;
    padding: 0.1em 0.4em 0.1em 0.4em;
}

.button-bar ul .opposed {
    float: right;
}

.button-bar ul a,.tabContainer ul a {
    display: block;
}

.button-bar ul a,.button-bar a {
    padding: 0.1em 0.5em 0.1em 0.5em;
    white-space: nowrap;
}

.button-bar ul a:hover {
    color: #0000ff;
}

.button-bar .opposed,.button-bar .opposed li,.button-bar ul .opposed {
    float: right;
}

/* ===== Button style decorator ===== */
.button-style-1 ul li,.tabContainer ul li {
    background-color: #ffffff;
    color: #000099;
}

.button-style-1 a,.button-style-1 ul a,a.button-style-1 {
    background-color: #D4D0C8;
    border: solid #000099 0.1em;
    color: #000099;
}

.button-style-1 .selected,.button-style-1 ul .selected,.button-style-1 ul .selected a
    {
    background-color: #000099;
    color: #ffffff;
}

.button-style-1 a:hover,.button-style-1 ul a:hover,a.button-style-1:hover
    {
    background-color: #000099;
    color: #ffffff;
    text-decoration: none;
}

/* ===== Button style decorator ===== */
.button-style-2 ul li {
    background-color: #ffffff;
    color: #000099;
}

.button-style-2 ul a,.button-style-2 a,a.button-style-2 {
    background-color: #ffffff;
    border: solid #000099 0.1em;
    color: #000099;
}

.button-style-2 ul .selected a,.button-style-2 .selected {
    background-color: #000099;
    color: #ffffff;
}

.button-style-2 ul a:hover,.button-style-2 a:hover,a.button-style-2:hover
    {
    background-color: #000099;
    color: #ffffff;
    text-decoration: none;
}

.button-style-2 .disabled {
    border: solid #D4D0C8 0.1em;
    color: #D4D0C8
}
/* ===== Button bar decorators ===== */
.tool-bar {
    background-color: #D4D0C8;
    border: 0.1em solid #000099;
    padding: 0.2em;
}

.tool-bar ul li {
    background-color: #D4D0C8;
    padding: 0.1em;
}

/* tab-bar decorator intended to be used at
the top of the main content area */
.tab-bar {
    display: table;
}

.tab-bar ul li {
    background-color: #0366b0;
    margin: 0;
}

.tab-bar ul a,.tab-bar ul a:visited {
    color: #ffffff;
}

.tab-bar ul a:hover,.tab-bar ul .selected,.tab-bar ul .selected a,.tab-bar ul .selected a:hover
    {
    background-color: #5f9fcf;
    color: #ffffff;
    text-decoration: none;
}

.tab-bar ul .disabled {
    color: #D4D0C8;
    padding: 0.1em 0.4em 0.1em 0.4em;
}

.tab-bar .opposed,.tab-bar .opposed li,.tab-bar ul .opposed {
    border-left: 0.1em solid #5f9fcf;
    border-right: none;
}

/* ======================== */ /* ===== Table Styles ===== */
    /* ======================== */
.basic-table {
    background-color: #ffffff;
    color: #000000;
    width: 100%;
}

form .basic-table,.screenlet-body .basic-table {
    margin-bottom: 0;
}

.basic-table tr td { /* Style for all cells */
    padding: 0.1em;
    vertical-align: middle;
}

.basic-table tr .label,.basic-table tr .group-label {
    /* field labels for forms */
    font-weight: bold;
    text-align: right;
    padding-right: 1.5em;
    white-space: nowrap;
    width: 1%;
}

.basic-table tr .group-label { /* "header" for field label groups */
    font-size: 1.2em;
    padding: 2em 1.5em 0 0;
}

.basic-table tr th,.basic-table .header-row {
    font-weight: bold;
    text-align: left;
}

.basic-table .header-row td {
    border-bottom: 0.1em solid #000000;
}

.basic-table .header-row td a {
    color: #000000;
}

.basic-table .alternate-row { /* Alternating row style */
    background-color: #eeeeee;
}

.basic-table .selected {
    background: #FFFCCF;
}

.basic-table .alternate-rowSelected {
    background: #FFF55F;
}

.basic-table .Validate { /*Style use by alt-row-style on list*/
    background: #A0D5F7;
}

.basic-table .alternate-rowValidate {
    /*Style use by alt-row-style on list*/
    background: #72A8F2;
}

.basic-table .Warn { /*Style use by alt-row-style on list*/
    background: #f55C5C;
}

.basic-table .alternate-rowWarn { /*Style use by alt-row-style on list*/
    background: #FC7455;
}

.basic-table tr .button-col { /* button column style - for the small
collection of buttons used in lists */
    vertical-align: top;
}

.basic-table tr .button-col a {
    background-color: #ffffff;
    border: #999999 solid 0.1em;
    color: #000099;
    float: left;
    margin: 0 0.1em 0 0.1em;
    padding: 0.1em 0.4em 0.1em 0.4em;
    white-space: nowrap;
}

.basic-table tr .smallSubmit,.basic-table tr .smallSubmit:visited {
    background-color: #ffffff;
    border: #999999 solid 0.1em;
    color: #000099;
    font-size: 1em;
    font-weight: bold;
    margin: 0.2em;
    padding: 0.1em 0.2em 0.1em 0.2em;
    white-space: nowrap;
}

.basic-table tr .button-col a:hover,.basic-table tr .button-col a:active,.basic-table tr .smallSubmit:hover,.basic-table tr .smallSubmit:active
    {
    color: #ff0000;
    text-decoration: none;
}

.basic-table .collapsed {
    visibility: collapse;
}

/* ===== Alternate table header style ===== */
.basic-table .header-row-2 th,.basic-table .header-row-2 td {
    background-color: #999999;
    border-bottom: 0;
    border-left: 0.1em solid #cccccc;
    color: #ffffff;
    font-weight: bold;
    text-align: left;
}

/* ===== Sort field style ===== */
.basic-table .header-row-2 th .sort-order-asc,.basic-table .header-row-2 td .sort-order-asc
    {
    background: url(/images/arrow-gr-up.png) no-repeat right;
    padding-right: 20px;
}

.basic-table .header-row-2 th .sort-order-desc,.basic-table .header-row-2 td .sort-order-desc
    {
    background: url(/images/arrow-gr-dw.png) no-repeat right;
    padding-right: 20px;
}

.basic-table .header-row-2 th .sort-order,.basic-table .header-row-2 td .sort-order
    {
    background: url(/images/arrow-gr.png) no-repeat right;
    padding-right: 20px;
}

/* ===== Table decorator - Hover bar ===== */
.hover-bar tr:hover {
    background-color: #cccccc;
    cursor: default;
}

.hover-bar .header-row:hover,.hover-bar tr th:hover {
    background-color: #ffffff;
    color: #000000;
}

/* ===== Table decorator - Grid ===== */
    /* These decorators need an IE hack. IE7 does not
render borders around empty <td> elements */
.dark-grid { /* dark grid */
    border-right: 0.1em solid #000000;
    border-top: 0.1em solid #000000;
}

.dark-grid td,.dark-grid .header-row-2 th,.dark-grid .header-row-2 td {
    border-bottom: 0.1em solid #000000;
    border-left: 0.1em solid #000000;
}

.light-grid { /* light grid */
    border-right: 0.1em solid #cccccc;
    border-top: 0.1em solid #cccccc;
}

.light-grid td,.light-grid .header-row td {
    border-bottom: 0.1em solid #cccccc;
    border-left: 0.1em solid #cccccc;
}

/* ===== Table decorator - Calendar ===== */
.calendar {
    border-right: 0.1em solid #cccccc;
}

.calendar tr td {
    border-bottom: 0.1em solid #cccccc;
    border-left: 0.1em solid #cccccc;
    vertical-align: top;
    padding: 0.5em;
}

.calendar .header-row td {
    background-color: #69a9d9;
    border-bottom: 0.1em solid #cccccc;
    border-left: 0.1em solid #cccccc;
    color: #ffffff;
    height: auto;
    text-align: center;
}

.calendar tr td .add-new {
    float: right;
}

.calendar tr td .h1 {
    color: #000099;
    float: left;
}

.calendar .current-period {
    background-color: #ffffcc;
}

.calendar .active-period {
    background-color: #eeeeee;
}

/* ======================= */ /* ===== Tree Styles ===== */
    /* ======================= */
.basic-tree { /* placeholder */

}

.basic-tree ul {
    padding-left: 1em;
}

.basic-tree li {
    padding-left: 1em;
    white-space: nowrap;
}

.basic-tree li .expanded {
    background: url(/images/collapse.gif) no-repeat left center;
    padding-right: 1em;
}

.basic-tree li .collapsed {
    background: url(/images/expand.gif) no-repeat left center;
    padding-right: 1em;
}

.basic-tree li .leafnode {
    background: url(/images/expand-collapse-placeholder.gif) no-repeat left
        center;
    padding-right: 1em;
}

.basic-tree li .treeitem { /* treeitem is deprecated */
    border-style: none;
    color: #000099;
    font-size: 1em;
}

.basic-tree li a:hover {
    color: #0000ff;
}

/* ======================== */ /* ===== Form Styles ===== */
    /* ======================== */
.basic-form {
    margin-bottom: 1em;
}

.basic-form table {
    width: 100%;
}

.basic-form table .header-row:hover {
    background-color: #ffffff;
    color: #000000;
}

.basic-form table tr td {
    padding: 0.1em;
}

.basic-form table tr .label,.basic-form table tr .group-label {
    /* field labels for forms */
    font-weight: bold;
    text-align: right;
    padding-right: 1.5em;
    width: 1%;
}

.basic-form table tr .group-label {
    /* "header" for field label groups */
    font-size: 1.2em;
    padding: 2em 1.5em 0 0;
}

.basic-form table tr th,.basic-form table .header-row {
    font-weight: bold;
    text-align: left;
}

.basic-form table .header-row:hover,.basic-form table tr th:hover {
    background-color: #ffffff;
    color: #000000;
}

.basic-form table .header-row td {
    border-bottom: 0.1em solid #999999;
}

.basic-form table .viewManyTR1,.basic-form table .alternate-row {
    /* Alternating row style */
    /* .viewManyTR1 deprecated - use .alternate-row */
    background-color: #eeeeee;
}

.basic-form table tr td .smallSubmit,.basic-form table tr td .smallSubmit:visited
    {
    background-color: #ffffff;
    border: #999999 solid 0.1em;
    color: #000099;
    font-size: 1em;
    font-weight: bold;
    margin: 0.2em;
    padding: 0.1em 0.2em 0.1em 0.2em;
}

.basic-form table tr td .smallSubmit:hover,.basic-form table tr td .smallSubmit:active
    {
    color: #ff0000;
    text-decoration: none;
}

.basic-form table tr td .disabled {
    background-color: #cccccc;
    color: #333366;
    text-decoration: none;
}

/* ===== Form decorator - Form Widget ===== */
.form-widget table tr .label,.form-widget-table tr .label {
    /* Added for backward compatibility */
    width: 20%;
}

.form-widget table,.form-widget-table {
    width: auto;
}

.form-widget-table {
    margin-bottom: 1em;
}

/* Pager */
.nav-pager {
    height: 2em;
    padding-bottom: 0.7em;
    padding-top: 0.4em;
}

.nav-pager ul {
    display: inline; /* IE Fix */
}

.nav-pager ul li {
    background-color: #ffffff;
    float: left;
    font-weight: bold;
    line-height: 1.8em;
    margin: 0.2em;
}

.nav-pager ul li a {
display: block;
height: 16px;
width: 16px;
text-indent:-3000px;
}

.nav-pager ul li span {
display:none;
visibility:hidden;
display: block;
height: 16px;
width: 16px;
}


.nav-pager ul .nav-first a {
background: url(/bluelight/images/resultset_first.png) no-repeat;
}
.nav-pager ul .nav-previous a {
background: url(/bluelight/images/resultset_previous.png) no-repeat;
}
.nav-pager ul .nav-next a {
background: url(/bluelight/images/resultset_next.png) no-repeat;
}
.nav-pager ul .nav-last a {
background: url(/bluelight/images/resultset_last.png) no-repeat;
}
.nav-pager ul .nav-first-disabled {
background: url(/bluelight/images/resultset_first_disabled.png) no-repeat;
}
.nav-pager ul .nav-previous-disabled {
background: url(/bluelight/images/resultset_previous_disabled.png) no-repeat;
}
.nav-pager ul .nav-next-disabled {
background: url(/bluelight/images/resultset_next_disabled.png) no-repeat;
}
.nav-pager ul .nav-last-disabled {
background: url(/bluelight/images/resultset_last_disabled.png) no-repeat;
}
.nav-pager ul .nav-pagesize {
padding: 0 30px 0 30px;
}

.field-lookup a {
background: url(/bluelight/images/application_view_list.png) no-repeat 0 0;
display: inline-block;
/* margin: 3px 10px 0px 4px; */
vertical-align:top;
margin-top:3px;
width:16px;
height:16px;
}

/* ============================= */
/* ===== FieldGroup Styles ===== */
/* ============================= */
.fieldgroup-title-bar {
font-size: 1.2em;
font-weight: bold;
padding: 5px 0 5px 10px;
}

.fieldgroup-title-bar ul .collapsed,.fieldgroup-title-bar ul .collapsed:hover
{
background: url(/bluelight/images/bullet_toggle_plus.png) no-repeat left center;
}

.fieldgroup-title-bar ul .expanded,.fieldgroup-title-bar ul .expanded:hover
{
background: url(/bluelight/images/bullet_toggle_minus.png) no-repeat left center;
}

.fieldgroup-title-bar a {
cursor:pointer;
text-decoration:none;
padding-left: 10px;
color: #000000;
}

/* == Portlet configuration screenlet == */
.portlet-config {
    background-color: #D4D0C8;
    border: 2px solid #D4D0C8;
    margin-bottom: 5px;
}

.portlet-config-title-bar .title {
    color: #555555;
    font-size: 1.2em;
    float: left;
}

.portlet-config-title-bar ul {
    display: inline; /* IE Fix */
}

.portlet-config-title-bar ul li {
    float: right;
    font-size: 1em;
    font-weight: bold;
    padding: 0.1em 0.5em 0.2em 0.5em;
}

.portlet-config-title-bar ul li.move-up {
    background: url(/images/arrow-single-up-green.png) no-repeat center
        center;
}

.portlet-config-title-bar ul li.move-down {
    background: url(/images/arrow-single-down-green.png) no-repeat center
        center;
}

.portlet-config-title-bar ul li.move-left {
    background: url(/images/arrow-single-left-green.png) no-repeat center
        center;
}

.portlet-config-title-bar ul li.move-right {
    background: url(/images/arrow-single-right-green.png) no-repeat center
        center;
}

.portlet-config-title-bar ul li.move-top {
    background: url(/images/arrow-end-up-green.png) no-repeat center center;
}

.portlet-config-title-bar ul li.move-bottom {
    background: url(/images/arrow-end-down-green.png) no-repeat center
        center;
}

.portlet-config-title-bar ul li.remove {
    background: url(/images/mini-trash.png) no-repeat center center;
}

.portlet-config-title-bar ul li.edit {
    background: url(/images/mini-edit.png) no-repeat center center;
}

/* == Portal Manager Toolbar == */
#manage-portal-toolbar {
    background-color: #D4D0C8;
    margin-bottom: 0.5em;
}

#manage-portal-toolbar ul li {
    float: left;
    padding: 0.1em 0.5em 0.2em 0.5em;
}

#manage-portal-toolbar #config-on-off,#manage-portal-toolbar #manage-portal-page,#manage-portal-toolbar #add-column
    {
    float: right;
}

#manage-portal-toolbar #portal-page-name {
    font-size: 1.5em;
    font-weight: bold;
}

.manage-portal-column-toolbar #add-portlet,.manage-portal-column-toolbar #delete-column,.manage-portal-column-toolbar #column-width
    {
    float: right;
}

/***********************************************
Webtools
***********************************************/
.webToolList h3 {
  margin:0.75em 0 0.09em 0;
  text-transform:uppercase;
}

#wait-spinner {
z-index:50000;
position:absolute;
}
}
.wait-spinner div {
    padding-top: 4px;
}
#wait-spinner-image {
height:45px;
width:45px;
background-repeat: no-repeat;
background-image:url(/images/spinner.gif);
}

img.cssImgXLarge {
  /*border: 1px black solid;*/
  max-width: 200px;
  max-height: 150px;
}

img.cssImgLarge {
  /*border: 1px black solid;*/
  max-width: 100px;
  max-height: 75px;
}

img.cssImgStandard {
  /*border: 1px black solid;*/
  max-width: 70px;
  max-height: 52px;
}

img.cssImgSmall {
  /*border: 1px black solid;*/
  max-width: 50px;
  max-height: 37px;
}

/* ========================================================= */
/* ===== JavaScript jQuery widgets Smoothness Design   ===== */
/* ========================================================== */

/*! jQuery UI - v1.9.0 - 2012-10-16
* http://jqueryui.com
* Includes: jquery.ui.core.css, jquery.ui.resizable.css, jquery.ui.selectable.css, jquery.ui.accordion.css, jquery.ui.autocomplete.css, jquery.ui.button.css, jquery.ui.datepicker.css, jquery.ui.dialog.css, jquery.ui.menu.css, jquery.ui.progressbar.css, jquery.ui.slider.css, jquery.ui.spinner.css, jquery.ui.tabs.css, jquery.ui.tooltip.css
* To view and modify this theme, visit http://jqueryui.com/themeroller/?ffDefault=Verdana%2CArial%2Csans-serif&fwDefault=normal&fsDefault=1.1em&cornerRadius=4px&bgColorHeader=cccccc&bgTextureHeader=03_highlight_soft.png&bgImgOpacityHeader=75&borderColorHeader=aaaaaa&fcHeader=222222&iconColorHeader=222222&bgColorContent=ffffff&bgTextureContent=01_flat.png&bgImgOpacityContent=75&borderColorContent=aaaaaa&fcContent=222222&iconColorContent=222222&bgColorDefault=e6e6e6&bgTextureDefault=02_glass.png&bgImgOpacityDefault=75&borderColorDefault=d3d3d3&fcDefault=555555&iconColorDefault=888888&bgColorHover=dadada&bgTextureHover=02_glass.png&bgImgOpacityHover=75&borderColorHover=999999&fcHover=212121&iconColorHover=454545&bgColorActive=ffffff&bgTextureActive=02_glass.png&bgImgOpacityActive=65&borderColorActive=aaaaaa&fcActive=212121&iconColorActive=454545&bgColorHighlight=fbf9ee&bgTextureHighlight=02_glass.png&bgImgOpacityHighlight=55&borderColorHighlight=fcefa1&fcHighlight=363636&iconColorHighlight=2e83ff&bgColorError=fef1ec&bgTextureError=02_glass.png&bgImgOpacityError=95&borderColorError=cd0a0a&fcError=cd0a0a&iconColorError=cd0a0a&bgColorOverlay=aaaaaa&bgTextureOverlay=01_flat.png&bgImgOpacityOverlay=0&opacityOverlay=30&bgColorShadow=aaaaaa&bgTextureShadow=01_flat.png&bgImgOpacityShadow=0&opacityShadow=30&thicknessShadow=8px&offsetTopShadow=-8px&offsetLeftShadow=-8px&cornerRadiusShadow=8px
* Copyright (c) 2012 jQuery Foundation and other contributors Licensed MIT */

/* Layout helpers
----------------------------------*/
.ui-helper-hidden { display: none; }
.ui-helper-hidden-accessible { position: absolute !important; clip: rect(1px 1px 1px 1px); clip: rect(1px,1px,1px,1px); }
.ui-helper-reset { margin: 0; padding: 0; border: 0; outline: 0; line-height: 1.3; text-decoration: none; font-size: 100%; list-style: none; }
.ui-helper-clearfix:before, .ui-helper-clearfix:after { content: ""; display: table; }
.ui-helper-clearfix:after { clear: both; }
.ui-helper-clearfix { zoom: 1; }
.ui-helper-zfix { width: 100%; height: 100%; top: 0; left: 0; position: absolute; opacity: 0; filter:Alpha(Opacity=0); }


/* Interaction Cues
----------------------------------*/
.ui-state-disabled { cursor: default !important; }


/* Icons
----------------------------------*/

/* states and images */
.ui-icon { display: block; text-indent: -99999px; overflow: hidden; background-repeat: no-repeat; }


/* Misc visuals
----------------------------------*/

/* Overlays */
.ui-widget-overlay { position: absolute; top: 0; left: 0; width: 100%; height: 100%; }
.ui-resizable { position: relative;}
.ui-resizable-handle { position: absolute;font-size: 0.1px; display: block; }
.ui-resizable-disabled .ui-resizable-handle, .ui-resizable-autohide .ui-resizable-handle { display: none; }
.ui-resizable-n { cursor: n-resize; height: 7px; width: 100%; top: -5px; left: 0; }
.ui-resizable-s { cursor: s-resize; height: 7px; width: 100%; bottom: -5px; left: 0; }
.ui-resizable-e { cursor: e-resize; width: 7px; right: -5px; top: 0; height: 100%; }
.ui-resizable-w { cursor: w-resize; width: 7px; left: -5px; top: 0; height: 100%; }
.ui-resizable-se { cursor: se-resize; width: 12px; height: 12px; right: 1px; bottom: 1px; }
.ui-resizable-sw { cursor: sw-resize; width: 9px; height: 9px; left: -5px; bottom: -5px; }
.ui-resizable-nw { cursor: nw-resize; width: 9px; height: 9px; left: -5px; top: -5px; }
.ui-resizable-ne { cursor: ne-resize; width: 9px; height: 9px; right: -5px; top: -5px;}.ui-selectable-helper { position: absolute; z-index: 100; border:1px dotted black; }
.ui-accordion .ui-accordion-header { display: block; cursor: pointer; position: relative; margin-top: 2px; padding: .5em .5em .5em .7em; zoom: 1; }
.ui-accordion .ui-accordion-icons { padding-left: 2.2em; }
.ui-accordion .ui-accordion-noicons { padding-left: .7em; }
.ui-accordion .ui-accordion-icons .ui-accordion-icons { padding-left: 2.2em; }
.ui-accordion .ui-accordion-header .ui-accordion-header-icon { position: absolute; left: .5em; top: 50%; margin-top: -8px; }
.ui-accordion .ui-accordion-content { padding: 1em 2.2em; border-top: 0; overflow: auto; zoom: 1; }
.ui-autocomplete { position: absolute; cursor: default; }

/* workarounds */
* html .ui-autocomplete { width:1px; } /* without this, the menu expands to 100% in IE6 */
.ui-button { display: inline-block; position: relative; padding: 0; margin-right: .1em; cursor: pointer; text-align: center; zoom: 1; overflow: visible; } /* the overflow property removes extra width in IE */
.ui-button, .ui-button:link, .ui-button:visited, .ui-button:hover, .ui-button:active { text-decoration: none; }
.ui-button-icon-only { width: 2.2em; } /* to make room for the icon, a width needs to be set here */
button.ui-button-icon-only { width: 2.4em; } /* button elements seem to need a little more width */
.ui-button-icons-only { width: 3.4em; }
button.ui-button-icons-only { width: 3.7em; }

/*button text element */
.ui-button .ui-button-text { display: block; line-height: 1.4;  }
.ui-button-text-only .ui-button-text { padding: .4em 1em; }
.ui-button-icon-only .ui-button-text, .ui-button-icons-only .ui-button-text { padding: .4em; text-indent: -9999999px; }
.ui-button-text-icon-primary .ui-button-text, .ui-button-text-icons .ui-button-text { padding: .4em 1em .4em 2.1em; }
.ui-button-text-icon-secondary .ui-button-text, .ui-button-text-icons .ui-button-text { padding: .4em 2.1em .4em 1em; }
.ui-button-text-icons .ui-button-text { padding-left: 2.1em; padding-right: 2.1em; }
/* no icon support for input elements, provide padding by default */
input.ui-button { padding: .4em 1em; }

/*button icon element(s) */
.ui-button-icon-only .ui-icon, .ui-button-text-icon-primary .ui-icon, .ui-button-text-icon-secondary .ui-icon, .ui-button-text-icons .ui-icon, .ui-button-icons-only .ui-icon { position: absolute; top: 50%; margin-top: -8px; }
.ui-button-icon-only .ui-icon { left: 50%; margin-left: -8px; }
.ui-button-text-icon-primary .ui-button-icon-primary, .ui-button-text-icons .ui-button-icon-primary, .ui-button-icons-only .ui-button-icon-primary { left: .5em; }
.ui-button-text-icon-secondary .ui-button-icon-secondary, .ui-button-text-icons .ui-button-icon-secondary, .ui-button-icons-only .ui-button-icon-secondary { right: .5em; }
.ui-button-text-icons .ui-button-icon-secondary, .ui-button-icons-only .ui-button-icon-secondary { right: .5em; }

/*button sets*/
.ui-buttonset { margin-right: 7px; }
.ui-buttonset .ui-button { margin-left: 0; margin-right: -.3em; }

/* workarounds */
button.ui-button::-moz-focus-inner { border: 0; padding: 0; } /* reset extra padding in Firefox */
.ui-datepicker { width: 17em; padding: .2em .2em 0; display: none; }
.ui-datepicker .ui-datepicker-header { position:relative; padding:.2em 0; }
.ui-datepicker .ui-datepicker-prev, .ui-datepicker .ui-datepicker-next { position:absolute; top: 2px; width: 1.8em; height: 1.8em; }
.ui-datepicker .ui-datepicker-prev-hover, .ui-datepicker .ui-datepicker-next-hover { top: 1px; }
.ui-datepicker .ui-datepicker-prev { left:2px; }
.ui-datepicker .ui-datepicker-next { right:2px; }
.ui-datepicker .ui-datepicker-prev-hover { left:1px; }
.ui-datepicker .ui-datepicker-next-hover { right:1px; }
.ui-datepicker .ui-datepicker-prev span, .ui-datepicker .ui-datepicker-next span { display: block; position: absolute; left: 50%; margin-left: -8px; top: 50%; margin-top: -8px;  }
.ui-datepicker .ui-datepicker-title { margin: 0 2.3em; line-height: 1.8em; text-align: center; }
.ui-datepicker .ui-datepicker-title select { font-size:1em; margin:1px 0; }
.ui-datepicker select.ui-datepicker-month-year {width: 100%;}
.ui-datepicker select.ui-datepicker-month,
.ui-datepicker select.ui-datepicker-year { width: 49%;}
.ui-datepicker table {width: 100%; font-size: .9em; border-collapse: collapse; margin:0 0 .4em; }
.ui-datepicker th { padding: .7em .3em; text-align: center; font-weight: bold; border: 0;  }
.ui-datepicker td { border: 0; padding: 1px; }
.ui-datepicker td span, .ui-datepicker td a { display: block; padding: .2em; text-align: right; text-decoration: none; }
.ui-datepicker .ui-datepicker-buttonpane { background-image: none; margin: .7em 0 0 0; padding:0 .2em; border-left: 0; border-right: 0; border-bottom: 0; }
.ui-datepicker .ui-datepicker-buttonpane button { float: right; margin: .5em .2em .4em; cursor: pointer; padding: .2em .6em .3em .6em; width:auto; overflow:visible; }
.ui-datepicker .ui-datepicker-buttonpane button.ui-datepicker-current { float:left; }

/* with multiple calendars */
.ui-datepicker.ui-datepicker-multi { width:auto; }
.ui-datepicker-multi .ui-datepicker-group { float:left; }
.ui-datepicker-multi .ui-datepicker-group table { width:95%; margin:0 auto .4em; }
.ui-datepicker-multi-2 .ui-datepicker-group { width:50%; }
.ui-datepicker-multi-3 .ui-datepicker-group { width:33.3%; }
.ui-datepicker-multi-4 .ui-datepicker-group { width:25%; }
.ui-datepicker-multi .ui-datepicker-group-last .ui-datepicker-header { border-left-width:0; }
.ui-datepicker-multi .ui-datepicker-group-middle .ui-datepicker-header { border-left-width:0; }
.ui-datepicker-multi .ui-datepicker-buttonpane { clear:left; }
.ui-datepicker-row-break { clear:both; width:100%; font-size:0em; }

/* RTL support */
.ui-datepicker-rtl { direction: rtl; }
.ui-datepicker-rtl .ui-datepicker-prev { right: 2px; left: auto; }
.ui-datepicker-rtl .ui-datepicker-next { left: 2px; right: auto; }
.ui-datepicker-rtl .ui-datepicker-prev:hover { right: 1px; left: auto; }
.ui-datepicker-rtl .ui-datepicker-next:hover { left: 1px; right: auto; }
.ui-datepicker-rtl .ui-datepicker-buttonpane { clear:right; }
.ui-datepicker-rtl .ui-datepicker-buttonpane button { float: left; }
.ui-datepicker-rtl .ui-datepicker-buttonpane button.ui-datepicker-current { float:right; }
.ui-datepicker-rtl .ui-datepicker-group { float:right; }
.ui-datepicker-rtl .ui-datepicker-group-last .ui-datepicker-header { border-right-width:0; border-left-width:1px; }
.ui-datepicker-rtl .ui-datepicker-group-middle .ui-datepicker-header { border-right-width:0; border-left-width:1px; }

/* IE6 IFRAME FIX (taken from datepicker 1.5.3 */
.ui-datepicker-cover {
    position: absolute; /*must have*/
    z-index: -1; /*must have*/
    filter: mask(); /*must have*/
    top: -4px; /*must have*/
    left: -4px; /*must have*/
    width: 200px; /*must have*/
    height: 200px; /*must have*/
}.ui-dialog { position: absolute; top: 0; left: 0; padding; padding: .2em; width: 300px; overflow: hidden; }
.ui-dialog .ui-dialog-titlebar { padding: .4em 1em;  height: 16px; position: relative;}
.ui-dialog .ui-dialog-title { float: left; margin: .1em 16px .1em 0; }
.ui-dialog .ui-dialog-titlebar-close { position: absolute; right: .3em; top: 50%; width: 19px; margin: -10px 0 0 0; padding: 1px; height: 18px; }
/*.ui-dialog .ui-dialog-titlebar-close span { display: block; margin: 1px; }*/
.ui-dialog .ui-dialog-titlebar-close:hover, .ui-dialog .ui-dialog-titlebar-close:focus { padding: 0; }
.ui-dialog .ui-dialog-content { position: relative; border: 0; padding: .5em 1em; background: none; overflow: auto; zoom: 1; }
.ui-dialog .ui-dialog-buttonpane { text-align: left; border-width: 1px 0 0 0; background-image: none; margin: .5em 0 0 0; padding: .3em 1em .5em .4em; }
.ui-dialog .ui-dialog-buttonpane .ui-dialog-buttonset { float: right; }
.ui-dialog .ui-dialog-buttonpane button { margin: .5em .4em .5em 0; cursor: pointer; }
.ui-dialog .ui-resizable-se { width: 14px; height: 14px; right: 3px; bottom: 3px; }
.ui-draggable .ui-dialog-titlebar { cursor: move; }
.ui-menu { list-style:none; padding: 2px; margin: 0; display:block; outline: none; }
.ui-menu .ui-menu { margin-top: -3px; position: absolute; }
.ui-menu .ui-menu-item { margin: 0; padding: 0; zoom: 1; width: 100%; }
.ui-menu .ui-menu-divider { margin: 5px -2px 5px -2px; height: 0; font-size: 0; line-height: 0; border-width: 1px 0 0 0; }
.ui-menu .ui-menu-item a { text-decoration: none; display: block; padding: 2px .4em; line-height: 1.5; zoom: 1; font-weight: normal; }
.ui-menu .ui-menu-item a.ui-state-focus,
.ui-menu .ui-menu-item a.ui-state-active { font-weight: normal; margin: -1px; }

.ui-menu .ui-state-disabled { font-weight: normal; margin: .4em 0 .2em; line-height: 1.5; }
.ui-menu .ui-state-disabled a { cursor: default; }

/* icon support */
.ui-menu-icons { position: relative; }
.ui-menu-icons .ui-menu-item a { position: relative; padding-left: 2em; }

/* left-aligned */
.ui-menu .ui-icon { position: absolute; top: .2em; left: .2em; }

/* right-aligned */
.ui-menu .ui-menu-icon { position: static; float: right; }
.ui-progressbar { height:2em; text-align: left; overflow: hidden; }
.ui-progressbar .ui-progressbar-value {margin: -1px; height:100%; }.ui-slider { position: relative; text-align: left; }
.ui-slider .ui-slider-handle { position: absolute; z-index: 2; width: 1.2em; height: 1.2em; cursor: default; }
.ui-slider .ui-slider-range { position: absolute; z-index: 1; font-size: .7em; display: block; border: 0; background-position: 0 0; }

.ui-slider-horizontal { height: .8em; }
.ui-slider-horizontal .ui-slider-handle { top: -.3em; margin-left: -.6em; }
.ui-slider-horizontal .ui-slider-range { top: 0; height: 100%; }
.ui-slider-horizontal .ui-slider-range-min { left: 0; }
.ui-slider-horizontal .ui-slider-range-max { right: 0; }

.ui-slider-vertical { width: .8em; height: 100px; }
.ui-slider-vertical .ui-slider-handle { left: -.3em; margin-left: 0; margin-bottom: -.6em; }
.ui-slider-vertical .ui-slider-range { left: 0; width: 100%; }
.ui-slider-vertical .ui-slider-range-min { bottom: 0; }
.ui-slider-vertical .ui-slider-range-max { top: 0; }.ui-spinner { position:relative; display: inline-block; overflow: hidden; padding: 0; vertical-align: middle; }
.ui-spinner-input { border: none; background: none; padding: 0; margin: .2em 0; vertical-align: middle; margin-left: .4em; margin-right: 22px; }
.ui-spinner-button { width: 16px; height: 50%; font-size: .5em; padding: 0; margin: 0; z-index: 100; text-align: center; position: absolute; cursor: default; display: block; overflow: hidden; right: 0; }
.ui-spinner a.ui-spinner-button { border-top: none; border-bottom: none; border-right: none; } /* more specificity required here to overide default borders */
.ui-spinner .ui-icon { position: absolute; margin-top: -8px; top: 50%; left: 0; } /* vertical centre icon */
.ui-spinner-up { top: 0; }
.ui-spinner-down { bottom: 0; }

/* TR overrides */
span.ui-spinner { background: none; }
.ui-spinner .ui-icon-triangle-1-s {
  /* need to fix icons sprite */
  background-position:-65px -16px;
}
.ui-tabs { position: relative; padding: .2em; zoom: 1; } /* position: relative prevents IE scroll bug (element with position: relative inside container with overflow: auto appear as "fixed") */
.ui-tabs .ui-tabs-nav { margin: 0; padding: .2em .2em 0; }
.ui-tabs .ui-tabs-nav li { list-style: none; float: left; position: relative; top: 0; margin: 1px .2em 0 0; border-bottom: 0; padding: 0; white-space: nowrap; }
.ui-tabs .ui-tabs-nav li a { float: left; padding: .5em 1em; text-decoration: none; }
.ui-tabs .ui-tabs-nav li.ui-tabs-active { margin-bottom: -1px; padding-bottom: 1px; }
.ui-tabs .ui-tabs-nav li.ui-tabs-active a, .ui-tabs .ui-tabs-nav li.ui-state-disabled a, .ui-tabs .ui-tabs-nav li.ui-tabs-loading a { cursor: text; }
.ui-tabs .ui-tabs-nav li a, .ui-tabs-collapsible .ui-tabs-nav li.ui-tabs-active a { cursor: pointer; } /* first selector in group seems obsolete, but required to overcome bug in Opera applying cursor: text overall if defined elsewhere... */
.ui-tabs .ui-tabs-panel { display: block; border-width: 0; padding: 1em 1.4em; background: none; }
.ui-tooltip {
  padding:8px;
  position:absolute;
  z-index:9999;
  -o-box-shadow: 0 0 5px #aaa;
  -moz-box-shadow: 0 0 5px #aaa;
  -webkit-box-shadow: 0 0 5px #aaa;
  box-shadow: 0 0 5px #aaa;
}
/* Fades and background-images don't work well together in IE6, drop the image */
* html .ui-tooltip {
  background-image: none;
}
body .ui-tooltip { border-width:2px; }

/* Component containers
----------------------------------*/
.ui-widget { font-family: Verdana,Arial,sans-serif; font-size: 1.1em; }
.ui-widget .ui-widget { font-size: 1em; }
.ui-widget input, .ui-widget select, .ui-widget textarea, .ui-widget button { font-family: Verdana,Arial,sans-serif; font-size: 1em; }
.ui-widget-content { border: 1px solid #aaaaaa; background: #ffffff url(/bluelight/images/ui-bg_flat_75_ffffff_40x100.png) 50% 50% repeat-x; color: #222222; }
.ui-widget-content a { color: #222222; }
.ui-widget-header { border: 1px solid #aaaaaa; background: #cccccc url(/bluelight/images/ui-bg_highlight-soft_75_cccccc_1x100.png) 50% 50% repeat-x; color: #222222; font-weight: bold; }
.ui-widget-header a { color: #222222; }

/* Interaction states
----------------------------------*/
.ui-state-default, .ui-widget-content .ui-state-default, .ui-widget-header .ui-state-default { border: 1px solid #d3d3d3; background: #e6e6e6 url(/bluelight/images/ui-bg_glass_75_e6e6e6_1x400.png) 50% 50% repeat-x; font-weight: normal; color: #555555; }
.ui-state-default a, .ui-state-default a:link, .ui-state-default a:visited { color: #555555; text-decoration: none; }
.ui-state-hover, .ui-widget-content .ui-state-hover, .ui-widget-header .ui-state-hover, .ui-state-focus, .ui-widget-content .ui-state-focus, .ui-widget-header .ui-state-focus { border: 1px solid #999999; background: #dadada url(/bluelight/images/ui-bg_glass_75_dadada_1x400.png) 50% 50% repeat-x; font-weight: normal; color: #212121; }
.ui-state-hover a, .ui-state-hover a:hover { color: #212121; text-decoration: none; }
.ui-state-active, .ui-widget-content .ui-state-active, .ui-widget-header .ui-state-active { border: 1px solid #aaaaaa; background: #ffffff url(/bluelight/images/ui-bg_glass_65_ffffff_1x400.png) 50% 50% repeat-x; font-weight: normal; color: #212121; }
.ui-state-active a, .ui-state-active a:link, .ui-state-active a:visited { color: #212121; text-decoration: none; }

/* Interaction Cues
----------------------------------*/
.ui-state-highlight, .ui-widget-content .ui-state-highlight, .ui-widget-header .ui-state-highlight  {border: 1px solid #fcefa1; background: #fbf9ee url(/bluelight/images/ui-bg_glass_55_fbf9ee_1x400.png) 50% 50% repeat-x; color: #363636; }
.ui-state-highlight a, .ui-widget-content .ui-state-highlight a,.ui-widget-header .ui-state-highlight a { color: #363636; }
.ui-state-error, .ui-widget-content .ui-state-error, .ui-widget-header .ui-state-error {border: 1px solid #cd0a0a; background: #fef1ec url(/bluelight/images/ui-bg_glass_95_fef1ec_1x400.png) 50% 50% repeat-x; color: #cd0a0a; }
.ui-state-error a, .ui-widget-content .ui-state-error a, .ui-widget-header .ui-state-error a { color: #cd0a0a; }
.ui-state-error-text, .ui-widget-content .ui-state-error-text, .ui-widget-header .ui-state-error-text { color: #cd0a0a; }
.ui-priority-primary, .ui-widget-content .ui-priority-primary, .ui-widget-header .ui-priority-primary { font-weight: bold; }
.ui-priority-secondary, .ui-widget-content .ui-priority-secondary,  .ui-widget-header .ui-priority-secondary { opacity: .7; filter:Alpha(Opacity=70); font-weight: normal; }
.ui-state-disabled, .ui-widget-content .ui-state-disabled, .ui-widget-header .ui-state-disabled { opacity: .35; filter:Alpha(Opacity=35); background-image: none; }

/* Icons
----------------------------------*/

/* states and images */
.ui-icon { width: 16px; height: 16px; background-image: url(/bluelight/images/ui-icons_222222_256x240.png); }
.ui-widget-content .ui-icon {background-image: url(/bluelight/images/ui-icons_222222_256x240.png); }
.ui-widget-header .ui-icon {background-image: url(/bluelight/images/ui-icons_222222_256x240.png); }
.ui-state-default .ui-icon { background-image: url(/bluelight/images/ui-icons_888888_256x240.png); }
.ui-state-hover .ui-icon, .ui-state-focus .ui-icon {background-image: url(/bluelight/images/ui-icons_454545_256x240.png); }
.ui-state-active .ui-icon {background-image: url(/bluelight/images/ui-icons_454545_256x240.png); }
.ui-state-highlight .ui-icon {background-image: url(/bluelight/images/ui-icons_2e83ff_256x240.png); }
.ui-state-error .ui-icon, .ui-state-error-text .ui-icon {background-image: url(/bluelight/images/ui-icons_cd0a0a_256x240.png); }

/* positioning */
.ui-icon-carat-1-n { background-position: 0 0; }
.ui-icon-carat-1-ne { background-position: -16px 0; }
.ui-icon-carat-1-e { background-position: -32px 0; }
.ui-icon-carat-1-se { background-position: -48px 0; }
.ui-icon-carat-1-s { background-position: -64px 0; }
.ui-icon-carat-1-sw { background-position: -80px 0; }
.ui-icon-carat-1-w { background-position: -96px 0; }
.ui-icon-carat-1-nw { background-position: -112px 0; }
.ui-icon-carat-2-n-s { background-position: -128px 0; }
.ui-icon-carat-2-e-w { background-position: -144px 0; }
.ui-icon-triangle-1-n { background-position: 0 -16px; }
.ui-icon-triangle-1-ne { background-position: -16px -16px; }
.ui-icon-triangle-1-e { background-position: -32px -16px; }
.ui-icon-triangle-1-se { background-position: -48px -16px; }
.ui-icon-triangle-1-s { background-position: -64px -16px; }
.ui-icon-triangle-1-sw { background-position: -80px -16px; }
.ui-icon-triangle-1-w { background-position: -96px -16px; }
.ui-icon-triangle-1-nw { background-position: -112px -16px; }
.ui-icon-triangle-2-n-s { background-position: -128px -16px; }
.ui-icon-triangle-2-e-w { background-position: -144px -16px; }
.ui-icon-arrow-1-n { background-position: 0 -32px; }
.ui-icon-arrow-1-ne { background-position: -16px -32px; }
.ui-icon-arrow-1-e { background-position: -32px -32px; }
.ui-icon-arrow-1-se { background-position: -48px -32px; }
.ui-icon-arrow-1-s { background-position: -64px -32px; }
.ui-icon-arrow-1-sw { background-position: -80px -32px; }
.ui-icon-arrow-1-w { background-position: -96px -32px; }
.ui-icon-arrow-1-nw { background-position: -112px -32px; }
.ui-icon-arrow-2-n-s { background-position: -128px -32px; }
.ui-icon-arrow-2-ne-sw { background-position: -144px -32px; }
.ui-icon-arrow-2-e-w { background-position: -160px -32px; }
.ui-icon-arrow-2-se-nw { background-position: -176px -32px; }
.ui-icon-arrowstop-1-n { background-position: -192px -32px; }
.ui-icon-arrowstop-1-e { background-position: -208px -32px; }
.ui-icon-arrowstop-1-s { background-position: -224px -32px; }
.ui-icon-arrowstop-1-w { background-position: -240px -32px; }
.ui-icon-arrowthick-1-n { background-position: 0 -48px; }
.ui-icon-arrowthick-1-ne { background-position: -16px -48px; }
.ui-icon-arrowthick-1-e { background-position: -32px -48px; }
.ui-icon-arrowthick-1-se { background-position: -48px -48px; }
.ui-icon-arrowthick-1-s { background-position: -64px -48px; }
.ui-icon-arrowthick-1-sw { background-position: -80px -48px; }
.ui-icon-arrowthick-1-w { background-position: -96px -48px; }
.ui-icon-arrowthick-1-nw { background-position: -112px -48px; }
.ui-icon-arrowthick-2-n-s { background-position: -128px -48px; }
.ui-icon-arrowthick-2-ne-sw { background-position: -144px -48px; }
.ui-icon-arrowthick-2-e-w { background-position: -160px -48px; }
.ui-icon-arrowthick-2-se-nw { background-position: -176px -48px; }
.ui-icon-arrowthickstop-1-n { background-position: -192px -48px; }
.ui-icon-arrowthickstop-1-e { background-position: -208px -48px; }
.ui-icon-arrowthickstop-1-s { background-position: -224px -48px; }
.ui-icon-arrowthickstop-1-w { background-position: -240px -48px; }
.ui-icon-arrowreturnthick-1-w { background-position: 0 -64px; }
.ui-icon-arrowreturnthick-1-n { background-position: -16px -64px; }
.ui-icon-arrowreturnthick-1-e { background-position: -32px -64px; }
.ui-icon-arrowreturnthick-1-s { background-position: -48px -64px; }
.ui-icon-arrowreturn-1-w { background-position: -64px -64px; }
.ui-icon-arrowreturn-1-n { background-position: -80px -64px; }
.ui-icon-arrowreturn-1-e { background-position: -96px -64px; }
.ui-icon-arrowreturn-1-s { background-position: -112px -64px; }
.ui-icon-arrowrefresh-1-w { background-position: -128px -64px; }
.ui-icon-arrowrefresh-1-n { background-position: -144px -64px; }
.ui-icon-arrowrefresh-1-e { background-position: -160px -64px; }
.ui-icon-arrowrefresh-1-s { background-position: -176px -64px; }
.ui-icon-arrow-4 { background-position: 0 -80px; }
.ui-icon-arrow-4-diag { background-position: -16px -80px; }
.ui-icon-extlink { background-position: -32px -80px; }
.ui-icon-newwin { background-position: -48px -80px; }
.ui-icon-refresh { background-position: -64px -80px; }
.ui-icon-shuffle { background-position: -80px -80px; }
.ui-icon-transfer-e-w { background-position: -96px -80px; }
.ui-icon-transferthick-e-w { background-position: -112px -80px; }
.ui-icon-folder-collapsed { background-position: 0 -96px; }
.ui-icon-folder-open { background-position: -16px -96px; }
.ui-icon-document { background-position: -32px -96px; }
.ui-icon-document-b { background-position: -48px -96px; }
.ui-icon-note { background-position: -64px -96px; }
.ui-icon-mail-closed { background-position: -80px -96px; }
.ui-icon-mail-open { background-position: -96px -96px; }
.ui-icon-suitcase { background-position: -112px -96px; }
.ui-icon-comment { background-position: -128px -96px; }
.ui-icon-person { background-position: -144px -96px; }
.ui-icon-print { background-position: -160px -96px; }
.ui-icon-trash { background-position: -176px -96px; }
.ui-icon-locked { background-position: -192px -96px; }
.ui-icon-unlocked { background-position: -208px -96px; }
.ui-icon-bookmark { background-position: -224px -96px; }
.ui-icon-tag { background-position: -240px -96px; }
.ui-icon-home { background-position: 0 -112px; }
.ui-icon-flag { background-position: -16px -112px; }
.ui-icon-calendar { background-position: -32px -112px; }
.ui-icon-cart { background-position: -48px -112px; }
.ui-icon-pencil { background-position: -64px -112px; }
.ui-icon-clock { background-position: -80px -112px; }
.ui-icon-disk { background-position: -96px -112px; }
.ui-icon-calculator { background-position: -112px -112px; }
.ui-icon-zoomin { background-position: -128px -112px; }
.ui-icon-zoomout { background-position: -144px -112px; }
.ui-icon-search { background-position: -160px -112px; }
.ui-icon-wrench { background-position: -176px -112px; }
.ui-icon-gear { background-position: -192px -112px; }
.ui-icon-heart { background-position: -208px -112px; }
.ui-icon-star { background-position: -224px -112px; }
.ui-icon-link { background-position: -240px -112px; }
.ui-icon-cancel { background-position: 0 -128px; }
.ui-icon-plus { background-position: -16px -128px; }
.ui-icon-plusthick { background-position: -32px -128px; }
.ui-icon-minus { background-position: -48px -128px; }
.ui-icon-minusthick { background-position: -64px -128px; }
.ui-icon-close { background-position: -80px -128px; }
.ui-icon-closethick { background-position: -96px -128px; }
.ui-icon-key { background-position: -112px -128px; }
.ui-icon-lightbulb { background-position: -128px -128px; }
.ui-icon-scissors { background-position: -144px -128px; }
.ui-icon-clipboard { background-position: -160px -128px; }
.ui-icon-copy { background-position: -176px -128px; }
.ui-icon-contact { background-position: -192px -128px; }
.ui-icon-image { background-position: -208px -128px; }
.ui-icon-video { background-position: -224px -128px; }
.ui-icon-script { background-position: -240px -128px; }
.ui-icon-alert { background-position: 0 -144px; }
.ui-icon-info { background-position: -16px -144px; }
.ui-icon-notice { background-position: -32px -144px; }
.ui-icon-help { background-position: -48px -144px; }
.ui-icon-check { background-position: -64px -144px; }
.ui-icon-bullet { background-position: -80px -144px; }
.ui-icon-radio-on { background-position: -96px -144px; }
.ui-icon-radio-off { background-position: -112px -144px; }
.ui-icon-pin-w { background-position: -128px -144px; }
.ui-icon-pin-s { background-position: -144px -144px; }
.ui-icon-play { background-position: 0 -160px; }
.ui-icon-pause { background-position: -16px -160px; }
.ui-icon-seek-next { background-position: -32px -160px; }
.ui-icon-seek-prev { background-position: -48px -160px; }
.ui-icon-seek-end { background-position: -64px -160px; }
.ui-icon-seek-start { background-position: -80px -160px; }
/* ui-icon-seek-first is deprecated, use ui-icon-seek-start instead */
.ui-icon-seek-first { background-position: -80px -160px; }
.ui-icon-stop { background-position: -96px -160px; }
.ui-icon-eject { background-position: -112px -160px; }
.ui-icon-volume-off { background-position: -128px -160px; }
.ui-icon-volume-on { background-position: -144px -160px; }
.ui-icon-power { background-position: 0 -176px; }
.ui-icon-signal-diag { background-position: -16px -176px; }
.ui-icon-signal { background-position: -32px -176px; }
.ui-icon-battery-0 { background-position: -48px -176px; }
.ui-icon-battery-1 { background-position: -64px -176px; }
.ui-icon-battery-2 { background-position: -80px -176px; }
.ui-icon-battery-3 { background-position: -96px -176px; }
.ui-icon-circle-plus { background-position: 0 -192px; }
.ui-icon-circle-minus { background-position: -16px -192px; }
.ui-icon-circle-close { background-position: -32px -192px; }
.ui-icon-circle-triangle-e { background-position: -48px -192px; }
.ui-icon-circle-triangle-s { background-position: -64px -192px; }
.ui-icon-circle-triangle-w { background-position: -80px -192px; }
.ui-icon-circle-triangle-n { background-position: -96px -192px; }
.ui-icon-circle-arrow-e { background-position: -112px -192px; }
.ui-icon-circle-arrow-s { background-position: -128px -192px; }
.ui-icon-circle-arrow-w { background-position: -144px -192px; }
.ui-icon-circle-arrow-n { background-position: -160px -192px; }
.ui-icon-circle-zoomin { background-position: -176px -192px; }
.ui-icon-circle-zoomout { background-position: -192px -192px; }
.ui-icon-circle-check { background-position: -208px -192px; }
.ui-icon-circlesmall-plus { background-position: 0 -208px; }
.ui-icon-circlesmall-minus { background-position: -16px -208px; }
.ui-icon-circlesmall-close { background-position: -32px -208px; }
.ui-icon-squaresmall-plus { background-position: -48px -208px; }
.ui-icon-squaresmall-minus { background-position: -64px -208px; }
.ui-icon-squaresmall-close { background-position: -80px -208px; }
.ui-icon-grip-dotted-vertical { background-position: 0 -224px; }
.ui-icon-grip-dotted-horizontal { background-position: -16px -224px; }
.ui-icon-grip-solid-vertical { background-position: -32px -224px; }
.ui-icon-grip-solid-horizontal { background-position: -48px -224px; }
.ui-icon-gripsmall-diagonal-se { background-position: -64px -224px; }
.ui-icon-grip-diagonal-se { background-position: -80px -224px; }


/* Misc visuals
----------------------------------*/

/* Corner radius */
.ui-corner-all, .ui-corner-top, .ui-corner-left, .ui-corner-tl { -moz-border-radius-topleft: 4px; -webkit-border-top-left-radius: 4px; -khtml-border-top-left-radius: 4px; border-top-left-radius: 4px; }
.ui-corner-all, .ui-corner-top, .ui-corner-right, .ui-corner-tr { -moz-border-radius-topright: 4px; -webkit-border-top-right-radius: 4px; -khtml-border-top-right-radius: 4px; border-top-right-radius: 4px; }
.ui-corner-all, .ui-corner-bottom, .ui-corner-left, .ui-corner-bl { -moz-border-radius-bottomleft: 4px; -webkit-border-bottom-left-radius: 4px; -khtml-border-bottom-left-radius: 4px; border-bottom-left-radius: 4px; }
.ui-corner-all, .ui-corner-bottom, .ui-corner-right, .ui-corner-br { -moz-border-radius-bottomright: 4px; -webkit-border-bottom-right-radius: 4px; -khtml-border-bottom-right-radius: 4px; border-bottom-right-radius: 4px; }

/* Overlays */
.ui-widget-overlay { background: #aaaaaa url(/bluelight/images/ui-bg_flat_0_aaaaaa_40x100.png) 50% 50% repeat-x; opacity: .3;filter:Alpha(Opacity=30); }
.ui-widget-shadow { margin: -8px 0 0 -8px; padding: 8px; background: #aaaaaa url(/bluelight/images/ui-bg_flat_0_aaaaaa_40x100.png) 50% 50% repeat-x; opacity: .3;filter:Alpha(Opacity=30); -moz-border-radius: 8px; -khtml-border-radius: 8px; -webkit-border-radius: 8px; border-radius: 8px; }

/* Calendar Button and Image */
.view-calendar button {
background: url(/bluelight/images/cal.gif) no-repeat !important;
display: inline-block;
border: none;
vertical-align:center;
margin-top:3px;
margin-left: 6px;
width:22px;
height:22px;
}

/* css for timepicker */
.ui-timepicker-div .ui-widget-header { margin-bottom: 8px; }
.ui-timepicker-div dl { text-align: left; }
.ui-timepicker-div dl dt { height: 25px; margin-bottom: -25px; }
.ui-timepicker-div dl dd { margin: 0 10px 10px 65px; }
.ui-timepicker-div td { font-size: 90%; }
.ui-tpicker-grid-label { background: none; border: none; margin: 0; padding: 0; }

/*=================== For the quickadd page =================================*/
.quickaddall{
float:right;
padding-bottom:1em;
padding-top:1em;
}

.quickaddtable{
display:inline-block;
clear:both;
}

.quickaddtable span {
display:inline;
float:left;
border-right:1px solid #999999;
border-top:1px solid #999999;
margin:0px;
padding:3px;
}

.quickaddtable p {
clear:left;
height:100% !important; height:1em;
}

.quickaddtable span.pid {
width:10%;
}

.quickaddtable span.name {
width:50%;
text-align:left;
}

.quickaddtable span.listPrice {
width:10%
}

.quickaddtable span.totalPrice {
width:10%
}

.quickaddtable span.qty {
width:10%
}

/* From http://jqueryui.com/demos/autocomplete/maxheight.html */
/* When displaying a long list of options, you can simply set the max-height for the autocomplete menu to prevent the menu from growing too large */
.ui-autocomplete {
    max-height: 250px;
    overflow-y: auto;
    /* prevent horizontal scrollbar */
    overflow-x: hidden;
    /* add padding to account for vertical scrollbar */
    padding-right: 20px;
}
/* IE 6 doesn't support max-height
 * we use height instead, but this forces the menu to always be this tall
 */
* html .ui-autocomplete {
    height: 250px;
}

/* The custom CSS for adjust the JsTree */
.jstree-default .jstree-leaf > ins {
 background-position:-36px 0;
 vertical-align: top;
 }
html>/**/body .jstree-default a {
white-space:normal !important;
 height: auto;
 }
/* IE6 and below */
* html .jstree-default a {
white-space:normal;
height: auto;
}
/* IE7 */
*+html .jstree-default a {
white-space:normal;
height: auto;
}
