/*

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.

*/

#content #logging .loader
{
  background-position: 0 50%;
  padding-left: 21px;
}

#content #logging .block h2
{
  background-image: url( ../../img/ico/document-text.png );
  margin-bottom: 10px;
}

#content #logging .block h2 span span
{
  color: #c0c0c0;
  font-weight: normal;
  margin-left: 10px;
}

#content #logging #viewer
{
  position: relative;
}

#content #logging #viewer time
{
  white-space: pre;
}

#content #logging #viewer #footer
{
  margin-top: 20px;
}

#content #logging #viewer #state
{
  background-position: 0 50%;
  float: left;
  color: #c0c0c0;
  padding-left: 21px;
  width: 45%;
}

#content #logging #viewer #date-format
{
  float: right;
}

#content #logging #viewer #date-format a
{
  background-image: url( ../../img/ico/ui-check-box-uncheck.png );
  background-position: 0 50%;
  color: #c0c0c0;
  display: block;
  padding-left: 21px;
}

#content #logging #viewer #date-format a:hover
{
  color: #008;
}

#content #logging #viewer #date-format a.on
{
  background-image: url( ../../img/ico/ui-check-box.png );
  color: #333;
}

#content #logging #viewer table
{
  border-collapse: collapse;
  width: 100%;
}

#content #logging #viewer th,
#content #logging #viewer td a,
#content #logging #viewer tbody .trace td
{
  padding: 3px 10px;
}

#content #logging #viewer td
{
  vertical-align: top;
}

#content #logging #viewer td a
{
  display: block;
}

#content #logging #viewer thead th
{
  font-weight: bold;
  text-align: left;
}

#content #logging #viewer tbody td,
#content #logging #viewer tfoot td
{
  border-top: 1px solid #f0f0f0;
}

#content #logging #viewer thead th.message
{
  width:100%;
}

#content #logging #viewer tbody td.span a
{
  padding-left: 0;
  padding-right: 0;
}

#content #logging #viewer tbody span
{
  display: block;
  padding-left: 10px;
  padding-right: 10px;
}

#content #logging #viewer tbody .level-info .level span { background-color: #ebf5eb; }
#content #logging #viewer tbody .level-warning     span { background-color: #FFD930; }
#content #logging #viewer tbody .level-severe     span  { background-color: #c43c35; color: #fff; }

#content #logging #viewer tbody .level-debug  span  { background-color: #ebf5eb; }
#content #logging #viewer tbody .level-warn   span  { background-color: #FFD930; }
#content #logging #viewer tbody .level-error  span  { background-color: #FF6130; }
#content #logging #viewer tbody .level-fatal  span  { background-color: #c43c35; }

#content #logging #viewer tbody .has-trace a
{
  cursor: pointer;
}

#content #logging #viewer tbody .has-trace a:hover
{
  color: #008;
}

#content #logging #viewer tbody .has-trace .message a
{
  background-image: url( ../../img/ico/information.png );
  background-position: 100% 50%;
  display: block;
  padding-right: 21px;
}

#content #logging #viewer tbody .has-trace.open .message a
{
  background-image: url( ../../img/ico/information-white.png );
}

#content #logging #viewer tbody .trace
{
  display: none;
}

#content #logging #viewer tbody .trace td
{
  border-top: 0;
  color: #c0c0c0;
}

#content #logging #viewer .has-data tfoot
{
  display: none;
}

#content #logging #viewer tfoot td
{
  color: #c0c0c0;
}

#content #logging .jstree > li
{
  margin-left: 0;
}

#content #logging .jstree li
{
  position: relative;
}

#content #logging .jstree .level-finest  { background-color: #d5e5fc; }
#content #logging .jstree .level-fine    { background-color: #d5fafc; }
#content #logging .jstree .level-config  { background-color: #e6fded; }
#content #logging .jstree .level-info    { background-color: #fafcd7; }
#content #logging .jstree .level-warning { background-color: #fcecd5; }
#content #logging .jstree .level-severe  { background-color: #fcdcda; }
#content #logging .jstree .level-off     { background-color: #ffffff; }

/* Log4j */
#content #logging .jstree .level-all     { background-color: #9EDAFF; }
#content #logging .jstree .level-trace   { background-color: #d5e5fc; }
#content #logging .jstree .level-debug   { background-color: #d5fafc; }
#content #logging .jstree .level-warn    { background-color: #e6fded; }
#content #logging .jstree .level-error   { background-color: #fcecd5; }
#content #logging .jstree .level-fatal   { background-color: #fcdcda; }


#content #logging .jstree a
{
  height: 17px;
  line-height: 17px;
  padding: 0;
  width: 90%;
}

#content #logging .jstree a:hover
{
  color: #008;
}

#content #logging .jstree a span.ns
{
  display: none;
}

#content #logging.ns .jstree a span.ns
{
  display: inline;
}

#content #logging .jstree a span.name
{
  background-position: 100% 50%;
  cursor: pointer;
  padding-right: 21px;
}

#content #logging .jstree a span.name em
{
  color: #f00;
  font-style: normal;
  text-transform: uppercase;
}

#content #logging .jstree a.trigger.set
{
  font-weight: bold;
}

#content #logging .jstree a:hover span.name
{
  background-image: url( ../../img/ico/pencil-small.png );
}

#content #logging .jstree .selector-holder
{
  position: absolute;
  top: -2px;
  z-index: 700;
}

#content #logging .jstree .selector-holder.open
{
  background-color: #fff;
  margin-left: -19px;
  z-index: 800;
}

#content #logging .jstree li .selector-holder { left: 440px; }
#content #logging .jstree li li .selector-holder { left: 422px; }
#content #logging .jstree li li li .selector-holder { left: 404px; }
#content #logging .jstree li li li li .selector-holder { left: 386px; }
#content #logging .jstree li li li li li .selector-holder { left: 368px; }
#content #logging .jstree li li li li li li .selector-holder { left: 350px; }
#content #logging .jstree li li li li li li li .selector-holder { left: 332px; }
#content #logging .jstree li li li li li li li li .selector-holder { left: 314px; }

#content #logging .jstree .selector
{
  border: 1px solid transparent;
  position: relative;
}

#content #logging .jstree .open .selector
{
  border-color: #f0f0f0;
  box-shadow: 5px 5px 10px #c0c0c0;
  -moz-box-shadow: 5px 5px 10px #c0c0c0;
  -webkit-box-shadow: 5px 5px 10px #c0c0c0;
}

#content #logging .jstree .selector a
{
  display: block;
  padding: 2px;
  width: auto;
}

#content #logging .jstree .selector .close
{
  display: none;
}

#content #logging .jstree .open .selector .close
{
  background-image: url( ../../img/ico/cross-0.png );
  background-position: 50% 50%;
  display: block;
  position: absolute;
  right: -25px;
  top: 0;
  width: 20px;
}

#content #logging .jstree .open .selector .close:hover
{
  background-image: url( ../../img/ico/cross-1.png );
}

#content #logging .jstree .open .selector .close span
{
  display: none;
}

#content #logging .jstree .open .selector a.trigger
{
  display: none;
}

#content #logging .jstree .selector ul
{
  display: none;
}

#content #logging .jstree .open .selector ul
{
  display: block;
}

#content #logging .jstree .selector ul li
{
  background: none;
  margin-left: 0;
}

#content #logging .jstree .selector ul li a
{
  background-image: url( ../../img/ico/ui-radio-button-uncheck.png );
  background-position: 2px 50%;
  padding-left: 21px;
}

#content #logging .jstree .selector ul li a.level
{
  background-color: #f0f0f0;
}

#content #logging .jstree .selector ul li a:hover
{
  background-image: url( ../../img/ico/ui-radio-button.png );
}

#content #logging .jstree .selector li.unset
{
  border-top: 1px solid #f0f0f0;
}

#content #logging .jstree .selector li.unset a
{
  background-image: url( ../../img/ico/cross-0.png );
  background-position: 4px 50%;
}

#content #logging .jstree .selector li.unset a:hover
{
  background-image: url( ../../img/ico/cross-1.png );
  color: #800;
}
