/*
 * 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.
 */

html {
    /* Roboto has tabular numbers, use it if available, fallback to other sans. */
    font-family: "Roboto", "Arial", "sans-serif";
}

div.menu {
  background-color: #eeffff;
}

span.added {
  color: #770000;
}

span.removed {
  color: #007700;
}

/*
 * Most of the columns show numbers of bytes. Numbers should be right aligned.
 */
table td {
  background-color: #eeeeee;
  padding-left: 4px;
  padding-right: 4px;
}

table th {
  padding-left: 8px;
  padding-right: 8px;
}

.sidebar {
  position: fixed;
  right: 0;
  top: 48px;
  padding-left: 12px;
  padding-right: 24px;
  font-size: small;
  border-left: 4px solid #dcedc8;
}

.sidebar a {
  text-decoration: none;
  color: #4285f4;
}

.sidebar a:hover {
  text-decoration: underline;
  color: #073042;
}