/* Copyright (C) 2013 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.
 */
.range {
  background-color: #ffd500 !important;
}
.rangeHighlight {
  background-color: #ffff00 !important;
}

.fullscreen {
  background-color: #f7f7f7;
  border-bottom: 1px solid #ddd;
}

@external .diffHeader;
.diffHeader {
  font-size: 12px;
  font-weight: bold;
  color: #5252ad;
}

.diffHeader pre {
  margin: 0 0 3px 0;
}

@external .dark, .noIntraline, .showLineNumbers;
.dark {}
.noIntraline {}
.showLineNumbers {}