/* This Source Code Form is subject to the terms of the Mozilla Public
 * License, v. 2.0. If a copy of the MPL was not distributed with this
 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */

/* ===== messageHeader.css ==============================================
  == Styles for the header toolbars of a mail message.
  ======================================================================= */

@namespace url("http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul");

/* ::::: for the entire area ::::: */
.main-header-area {
  color: WindowText;
  background-color: AppWorkspace;
  border-bottom: 1px solid ThreeDShadow;
  padding: 0.4ex;
}

/* :::::  message in a tab ::::: */
#displayDeck[collapsed="true"] + splitter + #messagepaneboxwrapper 
.main-header-area {
  background-image: linear-gradient(rgba(255, 255, 255, 0.3),
                                    rgba(255, 255, 255, 0) 19px);
}

/* ::::: msg header toolbars ::::: */

#expandedHeaderView[show_header_mode="all"] {
  overflow-y: auto;
  overflow-x: hidden;
  max-height: 14em;
}

/* ::::: msg header buttons ::::: */
.headerContainer
{
  min-width: 1px;
}

#expandedHeaderRows > row,
#expandedHeader2Rows > row {
  /* Ensure that the header names and values are aligned with each other. */
  -moz-box-align: baseline;
}

#expandedHeadersTopBox {
  /* Use the HTML layout model to allow the message header toolbar to float to
     the right of the From field. */
  display: block;
}

#expandedBoxSpacer {
  display: block;
  height: 8px;
}

#otherActionsButton {
  margin-bottom: .1em;
  padding-top: 0px;
}

/* ::::: expanded header pane ::::: */

.inline-toolbox {
  -moz-appearance: none;
  -moz-padding-end: 2px;
}

.inline-toolbar {
  -moz-appearance: none;
  min-height: 0;
  padding: 0;
}

.inline-toolbar toolbarseparator {
  height: 28px;
}

.inline-toolbar toolbarspacer {
  height: 23px;
}

#expandedsubjectBox > .headerValue {
  font-weight: bold;
}

/* ::::: edit message bar ::::: */

#editMessageBox {
  min-width: 1px;
  border-bottom-left-radius: 0.2em;
  border-bottom-right-radius: 0.2em;
}

#editMessageDescription {
  font-style: italic;
  font-weight: bolder;
}

/* ::::: attachment view ::::: */

#attachmentList {
  -moz-appearance: none;
  border-top: 1px solid ThreeDShadow;
  background-color: -moz-Field;
  color: -moz-FieldText;
}

#attachmentToggle {
  -moz-appearance: treetwisty;
  -moz-user-focus: normal;
}

#attachmentToggle[checked="true"] {
  -moz-appearance: treetwistyopen;
}

#attachmentToggle:focus {
  outline: 1px dotted Highlight;
}

#attachmentIcon {
  list-style-image: url("chrome://messenger/skin/icons/filterbar.png");
  -moz-image-region: rect(0px, 80px, 16px, 64px);
  -moz-margin-start: 5px;
}

#attachmentCount {
  margin: 0;
  padding: 2px 0;
  -moz-margin-start: 2px;
  -moz-margin-end: 1px;
}

#attachmentName {
  -moz-user-focus: normal;
  margin: 0;
  -moz-margin-end: -3px;
  padding: 1px 2px;
  border-radius: 2px;
  border: 1px dotted transparent;
}

#attachmentName:hover,
#attachmentName[selected="true"] {
  cursor: pointer;
  color: HighlightText;
  background-color: Highlight;
}

#attachmentName:focus {
  border-color: Highlight;
}

#attachmentSize {
  margin: 0;
  -moz-margin-start: 8px;
  color: #888a85; /* the same color as .headerName */
}

#attachmentSaveAllSingle,
#attachmentSaveAllMultiple {
  list-style-image: url("moz-icon://stock/gtk-save?size=menu");
}

#attachmentView {
  border-top: 1px solid ThreeDShadow;
}

/* ::::: msg header captions ::::: */

#msgHeaderView {
  font-size: 100%;
  padding: 0 !important;
  margin: 0 !important;
}

#header-view-toolbar .msgHeaderView-button[disabled="true"] {
  display: none;
}

.dateLabel {
  line-height: 1.5em;
  margin: 0;
  padding: .1em 0;
  -moz-padding-end: 9px;
  -moz-user-select: text;
  -moz-user-focus: normal;
  cursor: text;
}

.msgHeaderView-button {
  -moz-appearance: button;
  min-height: 1ex;
  margin: 0px 0.1em 0px 0.1em;
  vertical-align: middle;
  /* important required to override messenger.css rule */
  min-width: 1em !important;
  padding: 0 !important;
  list-style-image: none; /* overrides the rule from primaryToolbar.css */
}

.msgHeaderView-button[type="menu-button"] {
  /* important required to override -moz-appearance from msgHdrView-button */
  -moz-appearance: dualbutton !important;
}

.msgHeaderView-button[type="menu-button"] > .toolbarbutton-menubutton-button {
  -moz-appearance: button;
  min-width: 1em;
  min-height: 1ex;
  margin: 0;
  /* important required to override messenger.css rule */
  padding: 0 !important;
}

.msgHeaderView-button[type="menu-button"] > .toolbarbutton-menubutton-dropmarker {
  -moz-margin-start: 2px;
  -moz-margin-end: 2px;
}

.msgHeaderView-button[type="menu-button"] > .toolbarbutton-menubutton-dropmarker[open="true"] {
  margin-top: 0px;
  -moz-margin-end: 2px;
}

/* toolbar[mode="text"] is necessary so that we end up with more specificity
 * than the !important rule in toolkit's toolbar.css.
 */
toolbar[mode="text"] .msgHeaderView-button .toolbarbutton-text,
toolbar[mode="text"] toolbarpaletteitem .msgHeaderView-button .toolbarbutton-text {
  margin: 0 !important;
  padding-top: 1px !important;
  padding-bottom: 2px !important;
  -moz-padding-start: 0px !important;
  -moz-padding-end: 0px !important;
}

/* For unclear reasons, toolkit's toolbarbutton.css forces a margin of 0,
 * jamming the image up against the text, so we need this !important
 * rule to override that.
 *
 * The second selector is a descendent selector rather than a child selector
 * so that we effect both buttons and menubuttons.
 */
toolbox[labelalign="end"] toolbar[mode="full"] .msgHeaderView-button .toolbarbutton-text {
  -moz-margin-start: 2px !important;
}

toolbarpaletteitem > #hdrReplyToSenderButton {
  display: -moz-box;
}

.hdrReplyToSenderButton,
.hdrDummyReplyButton,
.hdrReplyButton {
  list-style-image: url("chrome://messenger/skin/icons/button-reply.svg");
}

.hdrReplyAllButton {
  list-style-image: url("chrome://messenger/skin/icons/button-reply-all.svg");
}

.hdrReplyListButton,
.hdrFollowupButton {
  list-style-image: url("chrome://messenger/skin/icons/button-reply-list.svg");
}

.hdrForwardButton {
  list-style-image: url("chrome://messenger/skin/icons/button-forward.svg");
}

.hdrArchiveButton {
  list-style-image: url("chrome://messenger/skin/icons/button-archive.svg");
}

.hdrJunkButton {
  list-style-image: url("chrome://messenger/skin/icons/button-junk.svg");
}

.hdrTrashButton {
  list-style-image: url("chrome://messenger/skin/icons/button-delete.svg");
}

.hdrTagButton {
  list-style-image: url("chrome://messenger/skin/icons/button-tag.svg");
}

window[inlinetoolbox] #wrapper-spring {
  display: none;
}

.inline-toolbox[doCustomization] {
  background: grey;
}

.inline-toolbox[doCustomization] .inline-toolbar {
  min-width: 100px;
  min-height: 10px;
}

/* Only show the dummy smart reply button when customizing. */
.inline-toolbox[doCustomization] #hdrSmartReplyButton > toolbarbutton,
toolbarpaletteitem #hdrSmartReplyButton > toolbarbutton {
  display: none;
}

.inline-toolbox[doCustomization] #hdrDummyReplyButton,
toolbarpaletteitem #hdrDummyReplyButton {
  display: -moz-box !important;
}

.inline-toolbar {
  -moz-box-pack: end;
}

.msgHeaderView-flat-button {
  min-width: 1px !important;
  -moz-appearance: toolbarbutton;
  background-color: transparent;
  border: 3px solid transparent;
  margin-top: 1px;
  margin-bottom: 2px;
  padding: 0 3px;
  border-radius: 4px;
  -moz-border-top-colors: none;
  -moz-border-right-colors: none;
  -moz-border-bottom-colors: none;
  -moz-border-left-colors: none;
  min-height: 1ex;
}

.msgHeaderView-flat-button[type="menu-button"] > .button-menubutton-button {
  -moz-appearance: none;
  background-color: transparent;
  border-radius: 0px;
  border: 0;
  border-right: 2px solid transparent;
  -moz-padding-end: 0.2em;
  margin: 0;
  -moz-border-top-colors: none;
  -moz-border-right-colors: none;
  -moz-border-bottom-colors: none;
  -moz-border-left-colors: none;
}

.msgHeaderView-flat-button[type="menu-button"]:hover > .button-menubutton-button {
  background-color: transparent;
}

.msgHeaderView-flat-button[type="menu-button"] > .button-menubutton-button:hover {
  border-right: 2px solid ButtonShadow;
} 

.msgHeaderView-flat-button[secondary="true"] {
  background: none;
}


.msgHeaderView-flat-button:hover {
  color: -moz-buttonhovertext;
  background-color: -moz-buttonhoverface;
  -moz-border-top-colors: transparent threedhighlight threedlightshadow;
  -moz-border-right-colors: transparent threeddarkshadow threedshadow;
  -moz-border-bottom-colors: transparent threeddarkshadow threedshadow;
  -moz-border-left-colors: transparent threedhighlight threedlightshadow;
}

.headerName {
  color: #888a85; /* lower contrast */
  text-align: right;
  background-color: transparent;
  padding: 0px;
  margin-top: 0;
  -moz-margin-end: 3px;
}

.headerValueBox {
  overflow:visible;
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
}

.headerValue {
  min-width: 50px;
  white-space: normal;
  color: WindowText;
  line-height: 1.5em;

  -moz-appearance: none !important;

  padding: .1em 0px !important;
  margin: 0px !important;
  margin-bottom: 3px !important;
  -moz-margin-start: 3px !important;
  border: none !important;
  background-color: transparent;
}

.headerValue[containsEmail="true"] {
  -moz-margin-start: 0px !important;
}

.headerValueBox[singleline="true"] > .headerValue[containsEmail="true"] {
  white-space: nowrap;
}

.headerValueBox[singleline="true"] {
  overflow: hidden;
}

.headerValueUrl {
  cursor: pointer;
  color: -moz-nativehyperlinktext;
  text-decoration: underline;
}

.headerValueUrl:hover {
  color: red;
}

.headerField {
  color: inherit;
}

.moreIndicator {
  font-weight: bold;
}

.moreIndicator:hover {
  text-decoration: underline;
  color: darkred;
}

.tagvalue {
  padding: 0 0.5ex;
  -moz-margin-start: 0px;
  background-image: url("chrome://messenger/skin/tagbg.png");
  border-radius: 3px;
  border-width: 0.5px;
  border-style: outset;
  text-shadow: 0 1px 0 rgba(238,238,236,0.4); /* Tango Alumninum 1 */
  color: #111111;
}

/* ::::: msg header message ids ::::: */

.messageIdDisplayButton {
  cursor: pointer;
  color: -moz-nativehyperlinktext;
  text-decoration: underline;
  margin: 0;
  background-color: transparent;
}

.messageIdDisplayButton:hover {
  color: #FF0000;
}

.messageIdDisplayImage {
  -moz-padding-start: 2px;
  -moz-box-pack: end;
}


/* ::::: msg header email addresses ::::: */

.emailDisplayButton {
  margin: 0;
  -moz-padding-start: 2px !important;
  -moz-padding-end: 2px !important;
  background-color: transparent;
  border-radius: 2px;
  border: 1px dotted transparent;
}

.emailDisplayButton:hover {
  cursor: pointer;
  color: HighlightText;
  background-color: Highlight;
}

mail-emailaddress[selected="true"] .emailDisplayButton{
  /* when an email address context menu is selected,
    make sure that the email bubble stays displayed, and
    tweak the bottom to blend in more w/ the menu */
  cursor: pointer;
  border-radius: 3px;
  color: HighlightText;
  background-color: Highlight;
  border-bottom-left-radius: 0;
  border-bottom-right-radius: 0;
}

.emailSeparator {
  /* this is for the comma in between email addresses/newsgroups */
  -moz-margin-start: -3px; /* squeeze it inside the bubble, by the star */
}

/* Because there's no star for newsgroups like there is for email addresses,
 * pushing it back the same number of pixels as emailSeparator causes
 * the comma to be drawn too close to the last letter, which looks bad, so
 * using a separate rule here.
 */
.newsgroupSeparator {
  -moz-margin-start: -2px;
}

.emailDisplayButton:focus {
  border: 1px dotted Highlight;
}

.emailStar:focus {
  border: 1px dotted;
}

.emaillabel,
.newsgrouplabel {
  padding: 0px !important;  /* override <label> defaults */
  margin: 0px !important;  /* override <label> defaults */
  overflow: hidden;
}

.emailStar {
  max-width: 1em;
  max-height: 1em;
  -moz-appearance: none;
  -moz-box-orient: vertical;
  padding: 0px;
  -moz-margin-start: -2px !important;
  list-style-image: url("chrome://messenger/skin/starContact.png");
  -moz-image-region: rect(0px, 16px, 16px, 0px);
}

.emailStar:hover {
  -moz-image-region:rect(0px 32px 16px 16px);
}

.emailStar:hover:active {
  -moz-image-region:rect(0px 48px 16px 32px);
}

.emailStar[hascard="true"] {
  list-style-image: url("chrome://messenger/skin/contactStarred.png");
}

.emailPresence {
  padding: 0px;
  -moz-margin-start: -2px !important;
  -moz-image-region: rect(6px, 16px, 16px, 6px);
}

.emailStar[chatStatus],
.emailPresence:not([chatStatus]) {
  display: none;
}

.emailPresence[chatStatus="available"] {
  list-style-image: url("chrome://messenger/skin/icons/status-small.png");
  -moz-image-region: rect(0px 10px 10px 0px);
}

.emailPresence[chatStatus="away"] {
  list-style-image: url("chrome://messenger/skin/icons/status-small.png");
  -moz-image-region: rect(0px 40px 10px 30px);
}

.emailPopup {
  font-size: inherit;
  max-height: 7px; /* the height of the image */
  margin: 0.2em 2px 0px; /* 0.2em just to move it off the top of the text */
  list-style-image: url("chrome://messenger/skin/icons/arrow-dn-grey.png");
}

.emailPopup:hover {
  list-style-image: url("chrome://messenger/skin/icons/arrow-dn-blue.png");
}

/* ::::: email address twisty ::::: */

.addresstwisty {
  -moz-padding-end: 0px;
  padding-top: 4px;
  list-style-image:url("chrome://messenger/skin/icons/arrow/arrow-right-dim.png");
}

.addresstwisty:hover {
  list-style-image:url("chrome://messenger/skin/icons/arrow/arrow-right.png");
}

.addresstwisty[open] {
  list-style-image:url("chrome://messenger/skin/icons/arrow/arrow-down-dim.png");
}

.addresstwisty[open]:hover {
  list-style-image:url("chrome://messenger/skin/icons/arrow/arrow-down.png");
}

/* ::::: view expand twisty  ::::: */

.expandHeaderViewButton {
  list-style-image: url("chrome://global/skin/tree/twisty-open.png");
}

mail-multi-emailHeaderField,
mail-headerfield,
mail-newsgroups-headerfield {
  margin: 0;
  padding: 0;
  -moz-box-align: baseline;
}

window[inlinetoolbox] #smallicons,
window[inlinetoolbox] #newtoolbar {
  display: none;
}

window[inlinetoolbox] #modefull {
  display: none;
}

mail-headerfield > .headerValue {
  -moz-user-focus: normal;
  -moz-user-select: text;
  word-wrap: break-word;
}

/* This is a workaround for #562608 in the rare case where the buttons_have_icons gconf key is set to true */
.hdrArchiveButton > .button-box > .button-icon {
  list-style-image: url("chrome://messenger/skin/icons/mail-toolbar-small.png");
  -moz-image-region: rect(0px 224px 16px 208px);
}

.hdrTrashButton > .button-box > .button-icon {
  list-style-image: url("moz-icon://stock/gtk-delete?size=menu");
}

#header-view-toolbox {
  float: right;
  padding-top: 2px;
}

#header-view-toolbox:-moz-locale-dir(rtl) {
  float: left;
}
