/*
 * 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, .button-bar li.buttontext a {
    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, .button-bar li.buttontext a {
    color: #000099;
}

A.buttontext:hover, .button-bar li.buttontext a: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;
    overflow: auto;
}

/* 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%
}

/*set Jgrowl css here to avoid side effect with other class*/
.errorMessageJGrowl {
    background: url("/bluelight/images/exclamation.png") no-repeat scroll 5px 50% #820f05;
    border: 3px solid #f0f0f0;
    color: #ffffff;
    font-size: 1.3em;
    font-weight: bold;
    padding: 10px 10px 10px 50px;
    line-height: 1.3em;
    min-width: 350px;
    word-wrap: break-word;
    box-shadow: -0px -0px 20px 5px #888888;
    text-overflow: ellipsis;
}

.eventMessageJGrowl {
    background: url("/bluelight/images/information.png") no-repeat scroll 5px 50% #105fa8;
    border: 3px solid #f0f0f0;
    color: #ffffff;
    font-size: 1.3em;
    font-weight: bold;
    padding: 10px 10px 10px 50px;
    line-height: 1.3em;
    min-width: 350px;
    word-wrap: break-word;
    box-shadow: -0px -0px 20px 5px #888888;
}

.closeAllJGrowl {
    min-width: 350px;
    padding: 5px 5px 5px 50px;
    border: 1px solid #f0f0f0;
}

.content-messages p {
    display: none;
}

/* 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;
}
/* The custom CSS to show mouse pointer on links using featherlight plugin  */
a[data-featherlight] {
    cursor: pointer;
}
