<?xml version="1.0" encoding="utf-8"?>
<!--
    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.
-->

<resources>

    <!-- General colors -->

    <color name="sud_color_accent_dark">#ff448aff</color>
    <color name="sud_color_accent_light">#ff3367d6</color>
    <color name="sud_color_background_dark">#ff303030</color>
    <color name="sud_color_background_light">#fffafafa</color>
    <color name="sud_link_color_dark">#ff448aff</color>
    <color name="sud_link_color_light">#ff3367d6</color>
    <color name="sud_list_item_icon_color_dark">#b3ffffff</color>
    <color name="sud_list_item_icon_color_light">#89000000</color>
    <color name="sud_progress_bar_color_dark">#ffffcd40</color>
    <color name="sud_progress_bar_color_light">#fff4b400</color>

    <!-- On versions < 23, we cannot reference other theme values in a color resource. Default to
         the framework default of 12% black -->
    <color name="sud_flat_button_highlight">#1f000000</color>

    <!-- Navigation bar colors -->

    <color name="sud_navbar_bg_dark">#ff21272b</color>
    <color name="sud_navbar_bg_light">#ffe4e7e9</color>

    <!-- GLIF colors -->
    <color name="sud_color_accent_glif_dark">#ff4285f4</color>
    <color name="sud_color_accent_glif_light">#ff4285f4</color>
    <color name="sud_color_accent_glif_v3">#ff1a73e8</color>
    <color name="sud_glif_background_color_dark">#ff000000</color>
    <color name="sud_glif_background_color_light">#ffffffff</color>
    <color name="sud_glif_edit_text_bg_dark_color">#ff202124</color>
    <color name="sud_glif_edit_text_bg_light_color">#0a000000</color>
    <color name="sud_glif_v3_nav_bar_color_light">#ffffffff</color>
    <color name="sud_glif_v3_nav_bar_divider_color_light">#1f000000</color>

</resources>
