<?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>

    <style name="Widget.Design.FloatingActionButton" parent="android:Widget">
        <item name="android:background">@drawable/fab_background</item>
        <item name="backgroundTint">?attr/colorAccent</item>
        <item name="fabSize">normal</item>
        <item name="elevation">@dimen/fab_elevation</item>
        <item name="pressedTranslationZ">@dimen/fab_translation_z_pressed</item>
        <item name="rippleColor">?attr/colorControlHighlight</item>
        <item name="borderWidth">@dimen/fab_border_width</item>
    </style>

    <style name="Widget.Design.ScrimInsetsFrameLayout" parent="">
        <item name="insetForeground">#4000</item>
    </style>

    <style name="Widget.Design.NavigationView" parent="">
        <item name="elevation">@dimen/navigation_elevation</item>
        <item name="android:background">?android:attr/windowBackground</item>
        <item name="android:fitsSystemWindows">true</item>
        <item name="android:maxWidth">@dimen/navigation_max_width</item>
    </style>

    <style name="Widget.Design.TabLayout" parent="Base.Widget.Design.TabLayout">
        <item name="tabGravity">fill</item>
        <item name="tabMode">fixed</item>
    </style>

    <style name="Base.Widget.Design.TabLayout" parent="android:Widget">
        <item name="tabMaxWidth">@dimen/tab_max_width</item>
        <item name="tabIndicatorColor">?attr/colorAccent</item>
        <item name="tabIndicatorHeight">2dp</item>
        <item name="tabPaddingStart">12dp</item>
        <item name="tabPaddingEnd">12dp</item>
        <item name="tabBackground">?attr/selectableItemBackground</item>
        <item name="tabTextAppearance">@style/TextAppearance.Design.Tab</item>
        <item name="tabSelectedTextColor">?android:textColorPrimary</item>
    </style>

    <style name="TextAppearance.Design.Tab" parent="TextAppearance.AppCompat.Button">
        <item name="android:textSize">14sp</item>
        <item name="android:textColor">?android:textColorSecondary</item>
        <item name="textAllCaps">true</item>
    </style>

    <style name="Widget.Design.TextInputLayout" parent="android:Widget">
        <item name="hintTextAppearance">@style/TextAppearance.Design.Hint</item>
        <item name="errorTextAppearance">@style/TextAppearance.Design.Error</item>
    </style>

    <style name="TextAppearance.Design.Hint" parent="TextAppearance.AppCompat.Caption">
        <item name="android:textColor">?attr/colorControlActivated</item>
    </style>

    <style name="TextAppearance.Design.Error" parent="TextAppearance.AppCompat.Caption">
        <item name="android:textColor">@color/error_color</item>
    </style>

    <style name="TextAppearance.Design.Snackbar.Message" parent="android:TextAppearance">
        <item name="android:textSize">@dimen/snackbar_text_size</item>
        <item name="android:textColor">?android:textColorPrimary</item>
    </style>

    <style name="TextAppearance.Design.Snackbar.Action" parent="TextAppearance.AppCompat.Button">
        <item name="android:textColor">?colorAccent</item>
    </style>

    <style name="Widget.Design.Snackbar" parent="android:Widget">
        <item name="android:theme">@style/ThemeOverlay.AppCompat.Dark</item>
        <item name="android:minWidth">@dimen/snackbar_min_width</item>
        <item name="android:maxWidth">@dimen/snackbar_max_width</item>
        <item name="android:background">@drawable/snackbar_background</item>
        <item name="android:paddingLeft">@dimen/snackbar_padding_horizontal</item>
        <item name="android:paddingRight">@dimen/snackbar_padding_horizontal</item>
        <item name="elevation">@dimen/snackbar_elevation</item>
        <item name="maxActionInlineWidth">@dimen/snackbar_action_inline_max_width</item>
    </style>

    <style name="Widget.Design.CollapsingToolbar" parent="android:Widget">
        <item name="expandedTitleMargin">32dp</item>
        <item name="expandedTitleTextAppearance">@style/TextAppearance.Design.CollapsingToolbar.Expanded</item>
        <item name="collapsedTitleTextAppearance">@style/TextAppearance.AppCompat.Widget.ActionBar.Title</item>
        <item name="statusBarScrim">?attr/colorPrimaryDark</item>
    </style>

    <style name="Widget.Design.AppBarLayout" parent="android:Widget">
        <item name="elevation">@dimen/appbar_elevation</item>
        <item name="android:background">?attr/colorPrimary</item>
    </style>

    <style name="Widget.Design.CoordinatorLayout" parent="android:Widget">
        <item name="statusBarBackground">?attr/colorPrimaryDark</item>
    </style>

    <style name="TextAppearance.Design.CollapsingToolbar.Expanded" parent="TextAppearance.AppCompat.Display1">
        <item name="android:textColor">?android:attr/textColorPrimary</item>
    </style>

</resources>

