/*
 * 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.
 *
 * CSS Stylesheet for a collapsible object.
 *
 * author: hearnden@google.com (David Hearnden)
 */

.collapsible {
  display: inline;
}

.toggle {
  display: inline-block;
  cursor: pointer;
  margin: 0 0.3em;
  white-space: nowrap;    /* Keeps bubble and arrow together. */
  font-size: 0.8em;
  vertical-align: 0.1em;  /* Keep center alignment with shrinking font. */
  user-select: none;
  -webkit-user-select: none;
  -moz-user-select: none;
}

.expanded {
}

.collapsed {
}

.arrow {
  display: inline-block;  /* Inline, but with background. */
  height: 7px;
  width: 7px;
}

@sprite .expanded.unread .arrow {
  gwt-image: 'expandedUnread';
  overflow: visible;
}

@sprite .collapsed.unread .arrow {
  gwt-image: 'collapsedUnread';
  overflow: visible;
}

@sprite .expanded.read .arrow {
  gwt-image: 'expandedRead';
  overflow: visible;
}

@sprite .collapsed.read .arrow {
  gwt-image: 'collapsedRead';
  overflow: visible;
}

.count {
  border-radius: 3px;
  -moz-border-radius: 3px;
  -webkit-border-radius: 3px;
  padding: 0 0.5em;
  margin: 0 0.3em;
  font-weight: bold;
  position: relative;
}

.unread .count {
  color: white;
  background-image: literal("-moz-linear-gradient(0% 100% 90deg, rgb(93,140,9), rgb(149,184,0))");
  background-image: literal("-webkit-gradient(linear, 0% 100%, 0% 0%, from(rgb(93,140,9)), to(rgb(149,184,0)))");
  border: 1px solid rgb(93,140,9);
}

.read .count {
  color: gray;
  background-image: literal("-moz-linear-gradient(0% 100% 90deg, rgb(220,220,220), white)");
  background-image: literal("-webkit-gradient(linear, 0% 100%, 0% 0%, from(rgb(220,220,220)), to(white))");
  border: 1px solid rgb(154,154,154);
}

.expanded.dropContainer {
  display: block;
  position: absolute;
  text-align: center;
  left: 0;
  right: 0;
  bottom: 0;
  line-height: 0;  /* Height comes only from image. */
}

/*
 * The collapsed rule must come after the expanded rule for precedence, in order
 * to handle correctly the case of multiply nested collapsibles, where both
 * (.expanded .dropContainer) and (.collapsed .dropContainer) may match.
 */ 
.collapsed.dropContainer {
  display: none;
}

@sprite .drop {
  gwt-image: 'callout';
  vertical-align: bottom;
  display: inline-block;
  background-color: #FFF;
}

/* Firefox gets it wrong. */
@if user.agent gecko1_8 {
  .drop {
    margin-bottom: -15px; /* Magic height. */
  }
} @else {
  .drop {
    margin-bottom: -16px; /* Magic height. */
  }
}

.chrome {
  /*
   * It is assumed that this box is inside something with a left margin, and
   * that when the box is expanded, the callout is to creep into that margin.
   * All other sides go in.
   */
  margin: 1em 0.5em 1em -2em;
  box-shadow: 0px 0px 4px #808080;
  -moz-box-shadow: 0px 0px 4px #808080;
  -webkit-box-shadow: 0px 0px 4px #808080;
  border-radius: 4px;
  -moz-border-radius: 4px;
  -webkit-border-radius: 4px;
}

@if user.agent ie6 ie8 {
  /*
   * Force the .chrome element to get hasLayout.
   */
  .chrome {
    zoom: 1;
  }
}

.chrome.collapsed  {
  display: none;
}
