/*
 * Copyright 2016 Software Freedom Conservancy Inc.
 * Copyright 2016, 2017 Michael Gratton <mike@vee.net>
 *
 * This software is licensed under the GNU Lesser General Public License
 * (version 2.1 or later). See the COPYING file in this distribution.
 */

/* MainWindow */

geary-conversation-list revealer {
  margin: 6px;
}

.geary-overlay {
  background-color: @theme_base_color;
  padding: 2px 6px;
  border: 1px solid @borders;
  border-bottom: 0;
}
.geary-overlay:dir(ltr) {
  border-left: 0;
}
.geary-overlay:dir(rtl) {
  border-right: 0;
}

.geary-info-bar-stack > border {
  border-width: 0;
  border-left-width: 0;
  border-right-width: 0;
}

infobar flowboxchild {
  padding: 0px;
}

revealer components-conversation-actions {
  border: solid @borders;
  border-top-width: 1px;
  padding: 6px;
}


/* Conversation List */
row.conversation-list {
  padding-top: 0.5em;
  padding-bottom: 0.5em;
  padding-right: 0.5em;
}

row.conversation-list.drag-n-drop {
  background: @theme_base_color;
  opacity: 0.7;
  box-shadow: none;
}

row.conversation-list label {
  margin-bottom: .4em;
}

row.conversation-list .tertiary {
  opacity: 0.7;
  font-size: 0.8em;
}

row.conversation-list .subject {
  font-size: 0.9em;
}

row.conversation-list .date {
  margin-left: 1em;
}

/* Unread styling */
row.conversation-list.unread .preview {
  opacity: 1;
}

row.conversation-list.unread .subject {
  font-weight: bold;
}

row.conversation-list.unread .participants {
  font-weight: bold;
}

row.conversation-list.unread .unread-button {
  opacity: 1;
}

/* Hover buttons */
row.conversation-list .conversation-ephemeral-button {
  opacity: 0;
  margin: 2px;
  border-radius: 50%;
  border: none;
}

row.conversation-list:hover .conversation-ephemeral-button {
  opacity: 1;
}

row.conversation-list.starred .flagged-button {
  opacity: 1;
}

row.conversation-list:selected .conversation-ephemeral-button {
  opacity: 1;
}

row.conversation-list .count-badge {
  background: #888888;
  color: white;
  min-width: 1.5em;
  border-radius: 1em;
  font-size: .8em;
  font-weight: bold;
}

row.conversation-list check  {
  border-radius: 50%;
  padding: 2px;
  margin: 6px;
}

/* FolderPopover */

.geary-folder-popover-list {
    border: 1px solid @borders;
    border-radius: 3px;
    padding: 0px;
}

row.geary-folder-popover-list-row {
  padding: 6px;
  border-bottom: 1px solid @borders;
}

row.geary-folder-popover-list-row:last-child {
  border-bottom: none;
}

row.geary-folder-popover-list-row > label {
  color: @theme_text_color;
}

/* ConversationListBox */

.conversation-listbox {
  padding: 0px 12px;
}

.conversation-listbox > row {
  padding: 0;
}

.conversation-listbox *.geary-matched *.geary-match {
  color: @theme_selected_fg_color;
  background: @theme_selected_bg_color;
}

.conversation-listbox > row.geary-loading {
  border-top-width: 0px;
  padding: 6px;
  border-top-left-radius: 0px;
  -gtk-outline-top-left-radius: 0px;
  border-top-right-radius: 0px;
  -gtk-outline-top-right-radius: 0px;
}

.conversation-listbox.content > row:first-child:not(.geary-loading) {
  margin-top: 12px;
  transition: 0;
}

.conversation-listbox.content > row:last-child {
  margin-bottom: 12px;
}

.conversation-listbox.content > row:last-child,
.conversation-listbox.content > row.geary-expanded-previous-sibling,
.conversation-listbox.content > row.geary-expanded {
  border-width: 1px;
}

.geary-expanded:not(:first-child), .geary-expanded + row {
  border-top-left-radius: 8px;
  -gtk-outline-top-left-radius: 7px;
  border-top-right-radius: 8px;
  -gtk-outline-top-right-radius: 7px;
  margin-top: 6px;
}

.geary-expanded,
.geary-expanded-previous-sibling {
  border-bottom-left-radius: 8px;
  -gtk-outline-bottom-left-radius: 7px;
  border-bottom-right-radius: 8px;
  -gtk-outline-bottom-right-radius: 7px;
  margin-bottom: 6px
}

/* Update this to match any change in above radius value */
.geary-message-body {
  margin: 2px;
}

/* ConversationEmail */

.geary-unread grid.geary-message-summary {
  border-color: @theme_selected_bg_color;
  transition: border 0.25s;
}

.geary-expanded > .geary_email grid.geary-message-summary,
.geary-expanded + row > .geary_email grid.geary-message-summary {
  border-top-left-radius: 8px;
  -gtk-outline-top-left-radius: 7px;
  border-top-right-radius: 8px;
  -gtk-outline-top-right-radius: 7px;
}

/* ConversationMessage */

.geary-message infobar box {
  border-width: 0;
}

.geary-message infobar box button {
  background: alpha(black, 0.1);
  color: alpha(@theme_text_color, 0.7);
  border: none;
  box-shadow: none;
}

.geary-message infobar box button:hover,
.geary-message infobar box button:checked {
  background: alpha(black, 0.2);
  color: @theme_text_color;
}

grid.geary-message-summary {
  border-top: 4px solid transparent;
  padding: 12px;
  padding-top: 8px;
  transition: border 4s;
}

.geary-headers label {
  margin: 0;
  padding: 1px;
}
.geary-headers label.geary-header:dir(ltr) {
  padding-right: 6px;
}
.geary-headers label.geary-header:dir(rtl) {
  padding-left: 6px;
}
.geary-headers flowboxchild {
  margin: 0;
  padding: 1px;
}
.geary-headers flowboxchild label {
  margin: 0;
  padding: 0;
}

.geary-headers flowboxchild.geary-spoofed image:dir(ltr) {
  margin-right: 2px;
}
.geary-headers flowboxchild.geary-spoofed image:dir(rtl) {
  margin-left: 2px;
}

.geary-headers label.geary-from {
  font-weight: bold;
}

.geary-header-value > flowboxchild:active {
  background: mix(@theme_base_color, @theme_bg_color, 0.5);
}

.geary-header-value > flowboxchild:hover {
  background: @theme_base_color;
}

.geary-header-value > flowboxchild label.dim-label:dir(ltr) {
  margin-left: 6px;
}
.geary-header-value > flowboxchild label.dim-label:dir(rtl) {
  margin-right: 6px;
}

.geary-submessages .geary-message {
  background-image: linear-gradient(rgba(0,0,0,0.2), @bg_color 6px);
}

.geary-message .geary-placeholder-pane {
  margin: 36px 16px;
}

.geary-message .geary-body-progress {
  border: none;
  background-color: transparent;
  background-image: none;
  padding-top: 0px;
  padding-bottom: 0px;
  margin-top: 0px;
  margin-bottom: 0px;
}

.geary-message .geary-body-progress progress {
  background-color: @theme_selected_bg_color;
  background-image: none;
  border: none;
  min-height: 1px;
}

.geary-message .geary-body-progress trough {
  border: none;
  background-color: transparent;
  background-image: none;
  min-height: 1px;
}

/* ContactPopover */

.geary-contact-popover .dim-label {
  font-size: 80%;
}

.geary-contact-popover .geary-deceptive {
  font-weight: bold;
}

/* Composer */

geary-composer-box > border {
  border-width: 0px;
}

geary-composer-editor > frame > border {
  border-left-width: 0;
  border-right-width: 0;
  border-bottom-width: 0;
}

geary-composer-embed headerbar {
  border-top-left-radius: 8px;
  -gtk-outline-top-left-radius: 7px;
  border-top-right-radius: 8px;
  -gtk-outline-top-right-radius: 7px;
}

geary-composer-widget-header-row {
  margin: 0 6px 6px 6px;
}

geary-composer-widget-header-row label {
  margin: 0 6px;
}

geary-composer-widget .geary-attachments-box > box > box {
  margin: 6px;
}

geary-composer-widget .geary-attachments-box > box > box > label {
  margin: 0px 4px;
}

geary-composer-widget-header-row label {

}


/* AttachmentPane  */

.geary-attachment-pane flowbox {
  margin: 6px;
}

.geary-attachment-pane flowboxchild {
  border-radius: 3px;
}

/* PlaceholderPane  */

.geary-placeholder-pane.geary-has-text > image {
  margin-bottom: 12px;
}
.geary-placeholder-pane > .title {
  font-weight: bold;
}

/* GtkListboxRows with padded labels */

row.geary-labelled-row {
  padding: 0px;
}

row.geary-labelled-row > grid > * {
  margin: 18px 6px;
}

row.geary-labelled-row > grid > *:first-child:dir(ltr),
row.geary-labelled-row > grid > *:last-child:dir(rtl) {
  margin-left: 18px;
}

row.geary-labelled-row > grid > *:last-child:dir(ltr),
row.geary-labelled-row > grid > *:first-child:dir(rtl) {
  margin-right: 18px;
}

/* Images should have some padding to offset them from adjacent
widgets, but care ust be taken since images are also used as children
of other widgets like entries, comboboxes and switches, and these
shouldn't be be touched. */
row.geary-labelled-row widget > image,
row.geary-labelled-row grid > image {
  padding: 0px 6px;
}

row.geary-labelled-row > grid > combobox,
row.geary-labelled-row > grid > entry,
row.geary-labelled-row:not(.geary-add-row) > grid > image,
row.geary-labelled-row > grid > switch {
  /* These use more space than labels, so set their valign to center
  when adding them and free up some space around them here to keep a
  consistent row height. */
  margin: 0 12px;
}

/* Accounts.Editor */

grid.geary-account-view image:dir(ltr) {
  margin-right: 6px;
}
grid.geary-account-view image:dir(rtl) {
  margin-left: 6px;
}

grid.geary-welcome-panel {
  margin-bottom: 32px;
}

label.geary-settings-heading {
  font-weight: bold;
  margin-top: 24px;
  margin-bottom: 12px;
}

row.geary-settings entry {
  border-width: 0px;
  background-color: transparent;
}

row.geary-settings.geary-drag-source {
  color: @insensitive_fg_color;
  background-color: @insensitive_bg_color;
}

row.geary-settings.geary-drag-icon {
  background-color: @theme_base_color;
  border: 1px solid @borders;
}

/* dir pseudo-class used here for required additional specificity */
row.geary-settings > grid > grid.geary-drag-handle:dir(ltr),
row.geary-settings > grid > grid.geary-drag-handle:dir(rtl) {
  margin: 0;
}

row.geary-settings > grid > grid.geary-drag-handle image:dir(ltr) {
  padding: 12px;
  padding-right: 6px;
}

row.geary-settings > grid > grid.geary-drag-handle image:dir(rtl) {
  padding: 12px;
  padding-left: 6px;
}

frame.geary-settings.geary-signature {
  min-height: 5em;
}

buttonbox.geary-settings  {
  margin-top: 36px;
}

popover.geary-editor > grid {
  margin: 12px;
}

popover.geary-editor > grid > button.geary-setting-remove {
  margin-top: 12px;
}

dialog.geary-remove-confirm .dialog-vbox {
    margin: 12px;
}

dialog.geary-remove-confirm .dialog-action-box {
    margin: 6px;
}

/* FolderList.Tree */

treeview.sidebar {
  border: none;
}

treeview.sidebar .cell {
  padding: 9px 6px;
}
treeview.sidebar .cell:dir(ltr) {
  padding-left: 0px;
}
treeview.sidebar .cell:dir(rtl) {
  padding-right: 0px;
}

treeview.sidebar:drop(active).after,
treeview.sidebar:drop(active).before,
treeview.sidebar:drop(active).into {
  border-top: 1px solid @borders;
  border-bottom: 1px solid @borders;
}

/* Inspector */

.geary-inspector-log-viewer .sidebar row > grid {
  padding: 0 6px;
}

.geary-inspector-log-viewer .sidebar row > grid * {
  margin: 4px;
}

/* Upgrade dialog */

dialog.geary-upgrade grid {
  margin: 12px;
}

dialog.geary-upgrade label {
  margin-top: 12px;
}

/* Misc */

.thin-button {
  padding-left: 4px;
  padding-right: 4px;
}
