blob: 5a4e5188732c6bfe7881bdc90e30de15cc2d498b [file] [log] [blame]
/*
* 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;
}