/********************************************************************************
 * Copyright (c) 2020 Contributors to the Eclipse Foundation
 *
 * See the NOTICE file(s) distributed with this work for additional
 * information regarding copyright ownership.
 *
 * This program and the accompanying materials are made available under the
 * terms of the Eclipse Public License 2.0 which is available at
 * http://www.eclipse.org/legal/epl-2.0
 *
 * SPDX-License-Identifier: EPL-2.0
 ********************************************************************************/

@import "openk.styles";

:host {
  width: 100%;
  height: 100%;
  padding: 1em;
  box-sizing: border-box;

  display: flex;
  flex-flow: column;
}

.email-controls {
  width: 100%;
  margin-top: 1em;
  display: flex;
  justify-content: flex-end;

  & > * {
    width: initial;
    margin-left: 0.5em;
  }
}

.email--header {
  display: flex;
  justify-content: flex-end;
  align-content: center;
  margin-right: 0.125em;
}

.email--content--attachments--btn {
  border: 0;
  padding: 0.1em 0 0.1em 0.5em;

  &:not(.openk-info) {
    background-color: transparent;
  }

  &:not(.openk-info):active,
  &:not(.openk-info):focus,
  &:not(.openk-info):hover {
    background-color: $openk-background-highlight;
  }
}

.email--content--attachments--icon {
  color: get-color($openk-info-palette);
  font-size: 1em;
  padding: 0;
}

.email--content--attachments {
  border: initial;
  background: initial;
  font-size: smaller;
}

.email--content--attachments--row {
  margin: 0 0.5em 0.5em 0.5em;
  font-size: medium;
  display: inline-block;
  border-radius: 0.5em;
}

.email {
  max-height: calc(100vh - 50px - 7.25em);
}

.email--content {
  display: grid;
  grid-template-rows: auto 1fr auto;
  height: 100%;
}

.email--content--info {
  display: flex;
  padding: 0.5em;
  border-bottom: 1px solid $openk-form-border;
}

.email--content--info--text {
  display: flex;
  flex-direction: column;

  & > * {
    margin-left: 0.25em;
  }
}

.email--content--info--text---bold {
  font-weight: 600;
}

.email--content--body {
  overflow: auto;
  padding: 0.5em 1em;
  border-bottom: 1px solid $openk-form-border;
  min-height: 5em;
}

.email--content--body--placeholder {
  font-weight: 600;
  width: 100%;
  margin-top: 1.5em;
  text-align: center;
}

.progress-spinner---hidden {
  display: block;
  font-size: 0;
  height: 0;
  width: 0;
  overflow: hidden;
}

