<!--
@license
Copyright (C) 2015 The Android Open Source Project

Licensed 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.
-->
<style is="custom-style">
:root {
  /* Following vars have LTS for plugin API. */
  --primary-text-color: #000;
  /* For backwords compatibility we keep this as --header-background-color. */
  --header-background-color: #eee;
  --header-title-content: 'Gerrit';
  --header-icon: none;
  --header-icon-size: 0em;
  --header-text-color: #000;
  --header-title-font-size: 1.75rem;
  --footer-background-color: #eee;
  --border-color: #ddd;
  /* This allows to add a border in custom themes */
  --header-border-bottom: 1px solid var(--border-color);
  --header-border-image: '';
  --footer-border-top: 1px solid var(--border-color);

  /* Following are not part of plugin API. */
  --selection-background-color: rgba(161, 194, 250, 0.1);
  --hover-background-color: rgba(161, 194, 250, 0.2);
  --expanded-background-color: #eee;
  --view-background-color: #fff;
  --default-horizontal-margin: 1rem;

  --deemphasized-text-color: #757575;
  /* Used on text color for change list that doesn't need user's attention. */
  --reviewed-text-color: var(--primary-text-color);
  --font-family: 'Roboto', -apple-system, BlinkMacSystemFont, 'Segoe UI', Helvetica, Arial, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol';
  /* Used on text for change list that needs user's attention. */
  --font-weight-bold: 500;
  --monospace-font-family: 'Roboto Mono', Menlo, 'Lucida Console', Monaco, monospace;
  --iron-overlay-backdrop: {
    transition: none;
  }
  --table-header-background-color: #fafafa;
  --table-subheader-background-color: #eaeaea;

  --chip-background-color: #eee;

  --dropdown-background-color: #fff;

  --select-background-color: rgb(248, 248, 248);

  --assignee-highlight-color: #fcfad6;

  /* Font sizes */
  --font-size-normal: 1rem;
  --font-size-small: .92rem;
  --font-size-large: 1.154rem;

  --link-color: #2a66d9;
  --primary-button-background-color: var(--link-color);
  --primary-button-text-color: #fff;
  --secondary-button-background-color: #fff;
  --secondary-button-text-color: #212121;
  --default-button-background-color: #fff;
  --default-button-text-color: var(--link-color);
  --dialog-background-color: #fff;

  /* Used for both the old patchset header and for indicating that a particular
    change message was selected. */
  --emphasis-color: #fff9c4;

  --error-text-color: red;

  --vote-color-approved: #9fcc6b;
  --vote-color-recommended: #c9dfaf;
  --vote-color-rejected: #f7a1ad;
  --vote-color-disliked: #f7c4cb;
  --vote-color-neutral: #ebf5fb;

  --vote-text-color-recommended: #388E3C;
  --vote-text-color-disliked: #D32F2F;

  /* Diff colors */
  --diff-selection-background-color: #c7dbf9;
  --light-remove-highlight-color: #FFEBEE;
  --light-add-highlight-color: #D8FED8;
  --light-remove-add-highlight-color: #FFF8DC;
  --light-rebased-add-highlight-color: #EEEEFF;
  --dark-remove-highlight-color: #FFCDD2;
  --dark-add-highlight-color: #AAF2AA;
  --dark-rebased-remove-highlight-color: #F7E8B7;
  --dark-rebased-add-highlight-color: #D7D7F9;
  --diff-context-control-color: #fff7d4;
  --diff-context-control-border-color: #f6e6a5;
  --diff-tab-indicator-color: var(--deemphasized-text-color);
  --diff-trailing-whitespace-indicator: #ff9ad2;
  --diff-highlight-range-color: rgba(255, 213, 0, 0.5);
  --diff-highlight-range-hover-color: rgba(255, 255, 0, 0.5);

  --shell-command-background-color: #f5f5f5;
  --shell-command-decoration-background-color: #ebebeb;

  --comment-text-color: #000;
  --comment-background-color: #fcfad6;
  --unresolved-comment-background-color: #fcfaa6;

  --edit-mode-background-color: #ebf5fb;

  --tooltip-background-color: #333;
  --tooltip-text-color: #fff;

  --syntax-default-color: var(--primary-text-color);
  --syntax-attribute-color: var(--primary-text-color);
  --syntax-function-color: var(--primary-text-color);
  --syntax-meta-color: #FF1717;
  --syntax-keyword-color: #9E0069;
  --syntax-number-color: #164;
  --syntax-selector-class-color: #164;
  --syntax-variable-color: black;
  --syntax-template-variable-color: #0000C0;
  --syntax-comment-color: #3F7F5F;
  --syntax-string-color: #2A00FF;
  --syntax-selector-id-color: #2A00FF;
  --syntax-built_in-color: #30a;
  --syntax-tag-color: #170;
  --syntax-link-color: #219;
  --syntax-meta-keyword-color: #219;
  --syntax-type-color: var(--color-link);
  --syntax-title-color: #0000C0;
  --syntax-attr-color: #219;
  --syntax-literal-color: #219;
  --syntax-selector-pseudo-color: #FA8602;
  --syntax-regexp-color: #FA8602;
  --syntax-selector-attr-color: #FA8602;
  --syntax-template-tag-color: #FA8602;
  --syntax-params-color: var(--primary-text-color);
  --syntax-doctag-weight: bold;
}
@media screen and (max-width: 50em) {
  :root {
    --default-horizontal-margin: .7rem;
  }
}
</style>
