/**
 * @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.
 */
const $_documentContainer = document.createElement('template');

$_documentContainer.innerHTML = `<custom-style><style is="custom-style">
html {
  /**
   * When adding a new color variable make sure to also add it to the other
   * theme files in the same directory.
   *
   * For colors prefer lower case hex colors.
   *
   * Note that plugins might be using these variables, so removing a variable
   * can be a breaking change that should go into the release notes.
   */

  /* text colors */
  --primary-text-color: black;
  --link-color: #2a66d9;
  --comment-text-color: black;
  --deemphasized-text-color: #5F6368;
  --default-button-text-color: #2a66d9;
  --error-text-color: red;
  --primary-button-text-color: white;
    /* Used on text color for change list that doesn't need user's attention. */
  --reviewed-text-color: black;
  --tooltip-text-color: white;
  --vote-text-color-recommended: #388e3c;
  --vote-text-color-disliked: #d32f2f;

  /* background colors */
  /* primary background colors */
  --background-color-primary: #ffffff;
  --background-color-secondary: #f8f9fa;
  --background-color-tertiary: #f1f3f4;
  /* directly derived from primary background colors */
  --chip-background-color: var(--background-color-tertiary);
  --default-button-background-color: var(--background-color-primary);
  --dialog-background-color: var(--background-color-primary);
  --dropdown-background-color: var(--background-color-primary);
  --expanded-background-color: var(--background-color-tertiary);
  --select-background-color: var(--background-color-secondary);
  --shell-command-background-color: var(--background-color-secondary);
  --shell-command-decoration-background-color: var(--background-color-tertiary);
  --table-header-background-color: var(--background-color-secondary);
  --table-subheader-background-color: var(--background-color-tertiary);
  --view-background-color: var(--background-color-primary);
  /* unique background colors */
  --assignee-highlight-color: #fcfad6;
  --edit-mode-background-color: #ebf5fb;
  --emphasis-color: #fff9c4;
  --hover-background-color: rgba(161, 194, 250, 0.2);
  --disabled-button-background-color: #e8eaed;
  --primary-button-background-color: #2a66d9;
  --selection-background-color: rgba(161, 194, 250, 0.1);
  --tooltip-background-color: #333;
  /* comment background colors */
  --comment-background-color: #e8eaed;
  --robot-comment-background-color: #e8f0fe;
  --unresolved-comment-background-color: #fef7e0;
  /* vote background colors */
  --vote-color-approved: #9fcc6b;
  --vote-color-disliked: #f7c4cb;
  --vote-color-neutral: #ebf5fb;
  --vote-color-recommended: #c9dfaf;
  --vote-color-rejected: #f7a1ad;

  /* misc colors */
  --border-color: #e8e8e8;

  /* fonts */
  --font-family: 'Roboto', -apple-system, BlinkMacSystemFont, 'Segoe UI', Helvetica, Arial, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol';
  --header-font-family: 'Open Sans', 'Roboto', -apple-system, BlinkMacSystemFont, 'Segoe UI', Helvetica, Arial, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol';
  --monospace-font-family: 'Roboto Mono', 'SF Mono', 'Lucida Console', Monaco, monospace;
  --font-size-code: 12px;     /* 12px mono */
  --font-size-mono: .929rem;  /* 13px mono */
  --font-size-small: .857rem; /* 12px */
  --font-size-normal: 1rem;   /* 14px */
  --font-size-h3: 1.143rem;   /* 16px */
  --font-size-h2: 1.429rem;   /* 20px */
  --font-size-h1: 1.714rem;   /* 24px */
  --line-height-code: 1.334;      /* 16px */
  --line-height-mono: 1.286rem;   /* 18px */
  --line-height-small: 1.143rem;  /* 16px */
  --line-height-normal: 1.429rem; /* 20px */
  --line-height-h3: 1.714rem;     /* 24px */
  --line-height-h2: 2rem;         /* 28px */
  --line-height-h1: 2.286rem;     /* 32px */
  --font-weight-normal: 400; /* 400 is the same as 'normal' */
  --font-weight-bold: 500;
  --font-weight-h1: 400;
  --font-weight-h2: 400;
  --font-weight-h3: 400;

  /* spacing */
  --spacing-xxs: 1px;
  --spacing-xs: 2px;
  --spacing-s: 4px;
  --spacing-m: 8px;
  --spacing-l: 12px;
  --spacing-xl: 16px;
  --spacing-xxl: 24px;

  /* header and footer */
  --footer-background-color: transparent;
  --footer-border-top: none;
  --header-background-color: var(--background-color-tertiary);
  --header-border-bottom: 1px solid var(--border-color);
  --header-border-image: '';
  --header-box-shadow: none;
  --header-padding: 0 var(--spacing-l);
  --header-icon-size: 0em;
  --header-icon: none;
  --header-text-color: black;
  --header-title-content: 'Gerrit';
  --header-title-font-size: 1.75rem;

  /* diff colors */
  --dark-add-highlight-color: #aaf2aa;
  --dark-rebased-add-highlight-color: #d7d7f9;
  --dark-rebased-remove-highlight-color: #f7e8b7;
  --dark-remove-highlight-color: #ffcdd2;
  --diff-blank-background-color: var(--background-color-secondary);
  --diff-context-control-background-color: #fff7d4;
  --diff-context-control-border-color: #f6e6a5;
  --diff-context-control-color: var(--deemphasized-text-color);
  --diff-highlight-range-color: rgba(255, 213, 0, 0.5);
  --diff-highlight-range-hover-color: rgba(255, 255, 0, 0.5);
  --diff-selection-background-color: #c7dbf9;
  --diff-tab-indicator-color: var(--deemphasized-text-color);
  --diff-trailing-whitespace-indicator: #ff9ad2;
  --light-add-highlight-color: #d8fed8;
  --light-rebased-add-highlight-color: #eef;
  --light-remove-add-highlight-color: #fff8dc;
  --light-remove-highlight-color: #ffebee;
  --coverage-covered: #e0f2f1;
  --coverage-not-covered: #ffd1a4;

  /* syntax colors */
  --syntax-attr-color: #219;
  --syntax-attribute-color: var(--primary-text-color);
  --syntax-built_in-color: #30a;
  --syntax-comment-color: #3f7f5f;
  --syntax-default-color: var(--primary-text-color);
  --syntax-doctag-weight: bold;
  --syntax-function-color: var(--primary-text-color);
  --syntax-keyword-color: #9e0069;
  --syntax-link-color: #219;
  --syntax-literal-color: #219;
  --syntax-meta-color: #ff1717;
  --syntax-meta-keyword-color: #219;
  --syntax-number-color: #164;
  --syntax-params-color: var(--primary-text-color);
  --syntax-regexp-color: #fa8602;
  --syntax-selector-attr-color: #fa8602;
  --syntax-selector-class-color: #164;
  --syntax-selector-id-color: #2a00ff;
  --syntax-selector-pseudo-color: #fa8602;
  --syntax-string-color: #2a00ff;
  --syntax-tag-color: #170;
  --syntax-template-tag-color: #fa8602;
  --syntax-template-variable-color: #0000c0;
  --syntax-title-color: #0000c0;
  --syntax-type-color: #2a66d9;
  --syntax-variable-color: var(--primary-text-color);

  /* elevation */
  --elevation-level-1: 0px 1px 2px 0px rgba(60, 64, 67, .30), 0px 1px 3px 1px rgba(60, 64, 67, .15);
  --elevation-level-2: 0px 1px 2px 0px rgba(60, 64, 67, .30), 0px 2px 6px 2px rgba(60, 64, 67, .15);
  --elevation-level-3: 0px 1px 3px 0px rgba(60, 64, 67, .30), 0px 4px 8px 3px rgba(60, 64, 67, .15);
  --elevation-level-4: 0px 2px 3px 0px rgba(60, 64, 67, .30), 0px 6px 10px 4px rgba(60, 64, 67, .15);
  --elevation-level-5: 0px 4px 4px 0px rgba(60, 64, 67, .30), 0px 8px 12px 6px rgba(60, 64, 67, .15);

  /* misc */
  --border-radius: 4px;
  --reply-overlay-z-index: 1000;

  /* paper and iron component overrides */
  --iron-overlay-backdrop-background-color: black;
  --iron-overlay-backdrop-opacity: 0.32;
  --iron-overlay-backdrop: {
    transition: none;
  };
}
@media screen and (max-width: 50em) {
  html {
    --spacing-xxs: 1px;
    --spacing-xs: 1px;
    --spacing-s: 2px;
    --spacing-m: 4px;
    --spacing-l: 8px;
    --spacing-xl: 12px;
    --spacing-xxl: 16px;
  }
}
</style></custom-style>`;

document.head.appendChild($_documentContainer.content);

/*
  FIXME(polymer-modulizer): the above comments were extracted
  from HTML and may be out of place here. Review them and
  then delete this comment!
*/

