/*******************************************************************************
 * Tree container
 */
ul.dynatree-container {
    white-space: nowrap;
    padding: 3px;
}

ul.dynatree-container ul {
    padding: 0 0 0 16px;
    margin: 0;
}

ul.dynatree-container li {
    list-style: none outside none;
    -moz-background-clip: border;
    -moz-background-inline-policy: continuous;
    -moz-background-origin: padding;
    background-attachment: scroll;
    background-color: transparent;
    background-repeat: repeat-y;
    background-image: url("vline.gif");
    background-position: 0 0;
}

/* Suppress lines for last child node */
ul.dynatree-container li.dynatree-lastsib {
    background-image: none;
}

/* Suppress lines if level is fixed expanded (option minExpandLevel) */
ul.dynatree-no-connector > li {
    background-image: none;
}

/* Style, when control is disabled */
.ui-dynatree-disabled ul.dynatree-container {
    opacity: 0.5;
    background-color: silver;
}

/*******************************************************************************
 * Common icon definitions
 */
.dynatree-empty,
.dynatree-vline,
.dynatree-connector,
.dynatree-expander,
.dynatree-icon,
.dynatree-checkbox,
.dynatree-radio,
.dynatree-drag-helper-img,
#dynatree-drop-marker {
    width: 16px;
    height: 16px;
    display: inline-block; /* Required to make a  sizeable */
    background-repeat: no-repeat;
    background-image: url("icons.gif");
    background-position: 0 0;
}

/** Used by 'icon' node option: */
ul.dynatree-container img {
    width: 12px;
    height: 12px;
    margin-left: 3px;
    border-style: none;
}

/*******************************************************************************
 * Lines and connectors
 */
.dynatree-connector {
    background-position: -16px -64px;
}

/*******************************************************************************
 * Expander icon
 * Note: IE6 doesn't correctly evaluate multiples class names,
 *     so we create combined class names that can be used in the CSS.
 *
 * Prefix: dynatree-exp-
 * 1st character: 'e': expanded, 'c': collapsed
 * 2nd character (optional): 'd': lazy (Delayed)
 * 3rd character (optional): 'l': Last sibling
 */
.dynatree-expander {
    background-position: 0px -80px;
    cursor: pointer;
}
.dynatree-exp-cl .dynatree-expander /* Collapsed, not delayed, last sibling */ {
    background-position: 0px -96px;
}
.dynatree-exp-cd .dynatree-expander /* Collapsed, delayed, not last sibling */ {
    background-position: -64px -80px;
}
.dynatree-exp-cdl .dynatree-expander /* Collapsed, delayed, last sibling */ {
    background-position: -64px -96px;
}
.dynatree-exp-e .dynatree-expander, /* Expanded, not delayed, not last sibling */ .dynatree-exp-ed .dynatree-expander /* Expanded, delayed, not last sibling */ {
    background-position: -32px -80px;
}
.dynatree-exp-el .dynatree-expander, /* Expanded, not delayed, last sibling */ .dynatree-exp-edl .dynatree-expander /* Expanded, delayed, last sibling */ {
    background-position: -32px -96px;
}
.dynatree-loading .dynatree-expander /* 'Loading' status overrides all others */ {
    background-position: 0 0;
    background-image: url("loading.gif");
}

/*******************************************************************************
 * Checkbox icon
 */
.dynatree-checkbox {
    margin-left: 3px;
    background-position: 0px -32px;
}
.dynatree-checkbox:hover {
    background-position: -16px -32px;
}
.dynatree-partsel .dynatree-checkbox {
    background-position: -64px -32px;
}
.dynatree-partsel .dynatree-checkbox:hover {
    background-position: -80px -32px;
}
.dynatree-selected .dynatree-checkbox {
    background-position: -32px -32px;
}
.dynatree-selected .dynatree-checkbox:hover {
    background-position: -48px -32px;
}

/*******************************************************************************
 * Radiobutton icon
 * This is a customization, that may be activated by overriding the 'checkbox'
 * class name as 'dynatree-radio' in the tree options.
 */
.dynatree-radio {
    margin-left: 3px;
    background-position: 0px -48px;
}
.dynatree-radio:hover {
    background-position: -16px -48px;
}
.dynatree-partsel .dynatree-radio {
    background-position: -64px -48px;
}
.dynatree-partsel .dynatree-radio:hover {
    background-position: -80px -48px;
}
.dynatree-selected .dynatree-radio {
    background-position: -32px -48px;
}
.dynatree-selected .dynatree-radio:hover {
    background-position: -48px -48px;
}

/*******************************************************************************
 * Node type icon
 * Note: IE6 doesn't correctly evaluate multiples class names,
 *     so we create combined class names that can be used in the CSS.
 *
 * Prefix: dynatree-ico-
 * 1st character: 'e': expanded, 'c': collapsed
 * 2nd character (optional): 'f': folder
 */
.dynatree-icon /* Default icon */ {
    margin-left: 3px;
    background-position: 0px 0px;
}
.dynatree-ico-cf .dynatree-icon /* Collapsed Folder */ {
    background-position: 0px -16px;
}
.dynatree-ico-ef .dynatree-icon /* Expanded Folder */ {
    background-position: -64px -16px;
}

/* Status node icons */
.dynatree-statusnode-wait .dynatree-icon {
    background-image: url("loading.gif");
}
.dynatree-statusnode-error .dynatree-icon {
    background-position: 0px -112px;
    background-image: url("ltError.gif");
}

/*******************************************************************************
 * Node titles
 */

/* Remove blue color and underline from title links */
ul.dynatree-container a /*, ul.dynatree-container a:visited*/ {
    text-decoration: none;
    margin: 0px;
    margin-left: 3px;
    color: #333;
}
ul.dynatree-container a:hover {
    background-color: #f2f7fd; /* light blue */
    border-color: #b8d6fb; /* darker light blue */
}
.dynatree-node a {
    display: inline-block; /* Better alignment, when title contains <br> */
    padding-left: 3px;
    padding-right: 3px; /* Otherwise italic font will be outside bounds */
    white-space: normal;
    line-height: 1em;
}
.dynatree-active a {
    background-color: #3169c6 !important;
    color: white !important; /* @ IE6 */
}

/*******************************************************************************
 * Drag'n'drop support
 */

/*** Helper object ************************************************************/
div.dynatree-drag-helper a {
    border: 1px solid gray;
    background-color: white;
    padding-left: 5px;
    padding-right: 5px;
    opacity: 0.8;
}
div.dynatree-drop-accept .dynatree-drag-helper-img {
    background-position: -32px -112px;
}
div.dynatree-drag-helper.dynatree-drop-reject {
    border-color: red;
}
div.dynatree-drop-reject .dynatree-drag-helper-img {
    background-position: -16px -112px;
}

/*** Drop marker icon *********************************************************/
#dynatree-drop-marker {
    width: 24px;
    position: absolute;
    background-position: 0 -128px;
    margin: 0;
}
#dynatree-drop-marker.dynatree-drop-after,
#dynatree-drop-marker.dynatree-drop-before {
    width: 64px;
    background-position: 0 -144px;
}
#dynatree-drop-marker.dynatree-drop-copy {
    background-position: -64px -128px;
}
#dynatree-drop-marker.dynatree-drop-move {
    background-position: -64px -128px;
}

/*** Source node while dragging ***********************************************/
.dynatree-drag-source {
    background-color: #e0e0e0;
}
.dynatree-drag-source a {
    color: gray;
}

/*** Target node while dragging cursor is over it *****************************/
.dynatree-drop-target.dynatree-drop-accept a {
    background-color: #3169c6 !important;
    color: white !important; /* @ IE6 */
    text-decoration: none;
}

/*******************************************************************************
 * Custom node classes (sample)
 */
.custom1 a {
    background-color: maroon;
    color: yellow;
}
