<?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="Theme.DesignDemos" parent="Theme.Design.Light.NoActionBar">
        <item name="colorPrimary">#607D8B</item>
        <item name="colorPrimaryDark">#455A64</item>
        <item name="colorAccent">#FFAB40</item>
    </style>

    <style name="Theme.DesignDemos.TransparentStatus" />

    <style name="Theme.DesignDemos.Snackbar" />

    <style name="Theme.DesignDemos.FAB" parent="Theme.Design.Light.NoActionBar">
        <item name="colorPrimary">#ff00bcd4</item>
        <item name="colorPrimaryDark">#00838f</item>
        <item name="colorAccent">#ff0000</item>
    </style>

    <style name="Theme.DesignDemos.Navigation.Base" parent="Theme.Design.NoActionBar">
        <item name="colorPrimary">#607D8B</item>
        <item name="colorPrimaryDark">#455A64</item>
        <item name="colorAccent">#FFAB40</item>
        <item name="drawerArrowStyle">@style/DrawerArrowStyle</item>
    </style>

    <style name="DrawerArrowStyle" parent="Widget.AppCompat.DrawerArrowToggle">
        <item name="spinBars">false</item>
    </style>

    <style name="Theme.DesignDemos.Navigation" parent="Theme.DesignDemos.Navigation.Base"/>

    <style name="Theme.DesignDemos.BottomSheetModal" parent="Theme.Design">
        <item name="colorPrimary">#607D8B</item>
        <item name="colorPrimaryDark">#455A64</item>
        <item name="colorAccent">#FFAB40</item>
        <item name="bottomSheetDialogTheme">@style/Theme.DesignDemos.BottomSheetModal.BottomSheetDialog</item>
    </style>

    <style name="Theme.DesignDemos.BottomSheetModal.BottomSheetDialog"
           parent="Theme.Design.BottomSheetDialog">
        <item name="android:colorBackground">#37474F</item>
        <item name="bottomSheetStyle">@style/BottomSheetStyle</item>
    </style>

    <style name="BottomSheetStyle" parent="Widget.Design.BottomSheet.Modal">
        <item name="android:layout_marginLeft">@dimen/bottom_sheet_horizontal_margin</item>
        <item name="android:layout_marginRight">@dimen/bottom_sheet_horizontal_margin</item>
    </style>

    <style name="Theme.DesignDemos.BottomSheetModal.SkipCollapsed" parent="Theme.DesignDemos.BottomSheetModal">
        <item name="bottomSheetDialogTheme">@style/Theme.DesignDemos.BottomSheetModal.BottomSheetDialog.SkipCollapsed</item>
    </style>

    <style name="Theme.DesignDemos.BottomSheetModal.BottomSheetDialog.SkipCollapsed" parent="Theme.Design.BottomSheetDialog">
        <item name="bottomSheetStyle">@style/BottomSheetStyle.SkipCollapsed</item>
    </style>

    <style name="BottomSheetStyle.SkipCollapsed" parent="BottomSheetStyle">
        <item name="behavior_skipCollapsed">true</item>
    </style>

</resources>