diff --git a/res/anim/floating_action_button_elevation.xml b/res/anim/floating_action_button_elevation.xml
new file mode 100644
index 0000000..2d5ac5b
--- /dev/null
+++ b/res/anim/floating_action_button_elevation.xml
@@ -0,0 +1,16 @@
+<selector xmlns:android="http://schemas.android.com/apk/res/android">
+    <item android:state_pressed="true">
+        <objectAnimator
+            android:propertyName="translationZ"
+            android:duration="@android:integer/config_shortAnimTime"
+            android:valueTo="@dimen/fab_elevation_pressed"
+            android:valueType="floatType"/>
+    </item>
+    <item>
+        <objectAnimator
+            android:propertyName="translationZ"
+            android:duration="@android:integer/config_shortAnimTime"
+            android:valueTo="6dp"
+            android:valueType="floatType"/>
+    </item>
+</selector>
diff --git a/res/drawable/bookmark_widget_thumb_selector.xml b/res/drawable/bookmark_widget_thumb_selector.xml
index d34a55d..0c4e0d8 100644
--- a/res/drawable/bookmark_widget_thumb_selector.xml
+++ b/res/drawable/bookmark_widget_thumb_selector.xml
@@ -16,7 +16,6 @@
 
 <selector xmlns:android="http://schemas.android.com/apk/res/android"
         android:exitFadeDuration="@android:integer/config_mediumAnimTime">
-    <item android:state_pressed="true" android:drawable="@drawable/bookmarks_widget_thumb_selector_pressed" />
+    <item android:state_pressed="true" android:drawable="@android:color/transparent" />
     <item android:drawable="@android:color/transparent" />
 </selector>
-
diff --git a/res/drawable/fab_accent.xml b/res/drawable/fab_accent.xml
new file mode 100644
index 0000000..619ebd2
--- /dev/null
+++ b/res/drawable/fab_accent.xml
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+     Copyright (C) 2015 The CyanogenMod 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.
+-->
+<shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="oval">
+    <solid android:color="@color/yellow" />
+</shape>
diff --git a/res/drawable/floating_action_button.xml b/res/drawable/floating_action_button.xml
new file mode 100644
index 0000000..d5f1a9e
--- /dev/null
+++ b/res/drawable/floating_action_button.xml
@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+     Copyright (C) 2015 The CyanogenMod 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.
+-->
+<ripple xmlns:android="http://schemas.android.com/apk/res/android"
+    android:color="@color/floating_action_button_touch_tint">
+<item android:id="@android:id/mask">
+    <shape android:shape="oval">
+        <solid android:color="@color/yellow" />
+    </shape>
+    </item>
+</ripple>
diff --git a/res/drawable/ic_action_back.xml b/res/drawable/ic_action_back.xml
new file mode 100644
index 0000000..cab359c
--- /dev/null
+++ b/res/drawable/ic_action_back.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="utf-8"?>
+<vector xmlns:android="http://schemas.android.com/apk/res/android"
+    android:width="24dp"
+    android:height="24dp"
+    android:viewportWidth="24"
+    android:viewportHeight="24">
+
+    <path
+        android:fillColor="@color/white"
+        android:pathData="M20 11H7.83l5.59-5.59L12 4l-8 8 8 8 1.41-1.41L7.83 13H20v-2z" />
+</vector>
diff --git a/res/drawable/ic_action_download.xml b/res/drawable/ic_action_download.xml
new file mode 100644
index 0000000..44f5a34
--- /dev/null
+++ b/res/drawable/ic_action_download.xml
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="utf-8"?>
+<vector xmlns:android="http://schemas.android.com/apk/res/android"
+    android:width="24dp"
+    android:height="24dp"
+    android:viewportWidth="24"
+    android:viewportHeight="24">
+
+    <path
+        android:pathData="M0 0h24v24h-24z" />
+    <path
+        android:fillColor="@color/icon_black"
+        android:pathData="M19.35 10.04c-.68-3.45-3.71-6.04-7.35-6.04-2.89 0-5.4 1.64-6.65 4.04-3.01 .32
+-5.35 2.87-5.35 5.96 0 3.31 2.69 6 6 6h13c2.76 0 5-2.24 5-5
+0-2.64-2.05-4.78-4.65-4.96zm-2.35 2.96l-5 5-5-5h3v-4h4v4h3z" />
+</vector>
diff --git a/res/drawable/ic_download_eta.xml b/res/drawable/ic_download_eta.xml
new file mode 100644
index 0000000..b166ece
--- /dev/null
+++ b/res/drawable/ic_download_eta.xml
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- WTF???!?!?! AN ETA?!?!?!? -->
+<vector xmlns:android="http://schemas.android.com/apk/res/android"
+    android:width="40dp"
+    android:height="40dp"
+    android:viewportWidth="24"
+    android:viewportHeight="24">
+
+    <path
+        android:fillColor="@color/icon_black"
+        android:pathData="M11.99 2c-5.52 0-9.99 4.48-9.99 10s4.47 10 9.99 10c5.53 0 10.01-4.48
+10.01-10s-4.48-10-10.01-10zm.01 18c-4.42 0-8-3.58-8-8s3.58-8 8-8 8 3.58 8 8-3.58
+8-8 8z" />
+    <path
+        android:pathData="M0 0h24v24h-24z" />
+    <path
+        android:fillColor="@color/icon_black"
+        android:pathData="M12.5 7h-1.5v6l5.25 3.15 .75 -1.23-4.5-2.67z" />
+</vector>
diff --git a/res/drawable/ic_download_path.xml b/res/drawable/ic_download_path.xml
new file mode 100644
index 0000000..1995a91
--- /dev/null
+++ b/res/drawable/ic_download_path.xml
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="utf-8"?>
+<vector xmlns:android="http://schemas.android.com/apk/res/android"
+    android:width="40dp"
+    android:height="40dp"
+    android:viewportWidth="18"
+    android:viewportHeight="18">
+
+    <path
+        android:pathData="M0 0h18v18h-18z" />
+    <path
+        android:fillColor="@color/icon_black"
+        android:pathData="M10 5l-2-2h-5c-.55 0-1 .45-1 1v10c0 .55 .45 1 1 1h12c.55 0 1-.45
+1-1v-8c0-.55-.45-1-1-1h-5z" />
+</vector>
diff --git a/res/drawable/ic_download_size.xml b/res/drawable/ic_download_size.xml
new file mode 100644
index 0000000..881ae95
--- /dev/null
+++ b/res/drawable/ic_download_size.xml
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="utf-8"?>
+<vector xmlns:android="http://schemas.android.com/apk/res/android"
+    android:width="40dp"
+    android:height="40dp"
+    android:viewportWidth="24"
+    android:viewportHeight="24">
+
+    <path
+        android:pathData="M0 0h24v24h-24z" />
+    <path
+        android:fillColor="@color/icon_black"
+        android:pathData="M2 20h20v-4h-20v4zm2-3h2v2h-2v-2zm-2-13v4h20v-4h-20zm4 3h-2v-2h2v2zm-4
+7h20v-4h-20v4zm2-3h2v2h-2v-2z" />
+</vector>
diff --git a/res/layout/download_settings.xml b/res/layout/download_settings.xml
index 1d42b7d..8a45375 100644
--- a/res/layout/download_settings.xml
+++ b/res/layout/download_settings.xml
@@ -1,202 +1,202 @@
 <?xml version="1.0" encoding="utf-8"?>
 <!--
-  Copyright (c) 2013, The Linux Foundation. All rights reserved.
+    Copyright (C) 2015 The CyanogenMod Project
 
-  Redistribution and use in source and binary forms, with or without
-  modification, are permitted provided that the following conditions are
-  met:
-      * Redistributions of source code must retain the above copyright
-        notice, this list of conditions and the following disclaimer.
-      * Redistributions in binary form must reproduce the above
-          copyright notice, this list of conditions and the following
-          disclaimer in the documentation and/or other materials provided
-          with the distribution.
-      * Neither the name of The Linux Foundation nor the names of its
-          contributors may be used to endorse or promote products derived
-          from this software without specific prior written permission.
+    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
 
-  THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED
-  WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
-  MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT
-  ARE DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS
-  BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
-  CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
-  SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
-  BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
-  WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
-  OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
-  IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+        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.
 -->
-<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
+<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
     android:layout_width="match_parent"
     android:layout_height="match_parent"
-    android:divider="?android:attr/dividerHorizontal"
-    android:orientation="vertical"
-    android:showDividers="middle" >
-    <LinearLayout android:id="@+id/title_holder"
-        android:layout_width="match_parent"
-        android:layout_height="wrap_content"
-        android:orientation="horizontal"
-        android:paddingStart="5dip"
-        android:paddingEnd="5dip"
-        android:minHeight="?android:attr/listPreferredItemHeightSmall"
-        >
-        <TextView android:id="@+id/download_settings_title"
-            android:layout_width="0dip"
-            android:layout_weight="1"
+    android:orientation="vertical" >
+
+    <LinearLayout android:layout_width="match_parent"
+        android:layout_height="match_parent"
+        android:orientation="vertical"
+        android:background="@color/white"
+        android:elevation="0dp" >
+
+        <LinearLayout android:layout_width="match_parent"
             android:layout_height="wrap_content"
-            android:layout_gravity="center_vertical"
-            android:gravity="center_vertical"
-            android:text="@string/download_settings_title"
-            android:textAppearance="?android:attr/textAppearanceMedium" />
+            android:background="@color/accent"
+            android:elevation="5dp">
 
-    </LinearLayout>
-
-    <FrameLayout
-        android:layout_width="match_parent"
-        android:layout_height="0dip"
-        android:layout_weight="1" >
-
-        <ScrollView
-            android:layout_width="match_parent"
-            android:layout_height="match_parent" >
-
-            <TableLayout
-                android:id="@+id/download_table_layout"
+            <LinearLayout android:id="@+id/actions_download_holder"
                 android:layout_width="match_parent"
                 android:layout_height="wrap_content"
-                android:paddingStart="20dip"
-                android:paddingEnd="20dip"
-                android:paddingTop="10dip"
-                android:shrinkColumns="1"
-                android:stretchColumns="1" >
+                android:orientation="vertical"
+                android:paddingStart="16dp"
+                android:paddingTop="16dp">
+                <ImageButton
+                    android:id="@+id/download_cancel"
+                    style="?android:attr/buttonBarButtonStyle"
+                    android:layout_width="32dp"
+                    android:layout_height="32dp"
+                    android:src="@drawable/ic_action_back"/>
+                <ImageView
+                    android:layout_width="match_parent"
+                    android:layout_height="48dp"
+                    android:src="@color/accent"/>
 
-                <TableRow android:layout_marginBottom="10dip" >
-
-                    <TextView
-                        android:layout_width="wrap_content"
+                    <LinearLayout android:layout_width="match_parent"
                         android:layout_height="wrap_content"
-                        android:layout_gravity="center_vertical"
-                        android:layout_weight="1"
-                        android:text="@string/download_edit_filename_label"
-                        android:textAppearance="?android:attr/textAppearanceMedium"
-                        android:textSize="18sp" >
-                    </TextView>
+                        android:paddingStart="26dp"
+                        android:paddingEnd="16dp"
+                        android:paddingBottom="32dp">
+                        <EditText
+                            android:id="@+id/download_filename_edit"
+                            android:layout_width="match_parent"
+                            android:layout_height="wrap_content"
+                            android:inputType="textCapSentences"
+                            android:selectAllOnFocus="true"
+                            android:textAppearance="?android:attr/textAppearanceMedium"
+                            android:textSize="32dp"
+                            android:textColor="@color/white"
+                            android:hint="@string/download_name_hint"
+                            android:textColorHint="@color/icon_white" />
+                </LinearLayout>
 
-                    <EditText
-                        android:id="@+id/download_filename_edit"
-                        android:layout_width="260dip"
-                        android:layout_height="wrap_content"
-                        android:layout_gravity="center_vertical"
-                        android:layout_weight="1"
-                        android:inputType="textCapSentences"
-                        android:selectAllOnFocus="true"
-                        android:textAppearance="?android:attr/textAppearanceMedium"
-                        android:textSize="18sp" >
-                    </EditText>
-                </TableRow>
+            </LinearLayout>
 
-                <TableRow
-                    android:layout_marginBottom="10dip" >
+        </LinearLayout>
 
-                    <TextView
-                        android:layout_width="wrap_content"
-                        android:layout_height="wrap_content"
-                        android:layout_gravity="center_vertical"
-                        android:layout_weight="1"
-                        android:text="@string/download_filepath_label"
-                        android:textAppearance="?android:attr/textAppearanceMedium"
-                        android:textSize="18sp" >
-                    </TextView>
-
-                    <EditText
-                        android:id="@+id/download_filepath_selected"
-                        android:layout_width="260dip"
-                        android:layout_height="wrap_content"
-                        android:layout_weight="1"
-                        android:editable="false"
-                        android:ellipsize="end"
-                        android:focusableInTouchMode="false"
-                        android:textAppearance="?android:attr/textAppearanceMedium"
-                        android:textColor="@android:color/holo_blue_light"
-                        android:textSize="18sp" >
-                    </EditText>
-                </TableRow>
-
-                <TableRow
-                    android:layout_marginBottom="10dip" >
-
-                    <TextView
-                        android:layout_width="wrap_content"
-                        android:layout_height="wrap_content"
-                        android:layout_gravity="center_vertical"
-                        android:text="@string/download_filesize"
-                        android:textAppearance="?android:attr/textAppearanceMedium"
-                        android:textSize="18sp" >
-                    </TextView>
-                    <TextView
-                        android:id="@+id/download_estimate_size_content"
-                        android:layout_width="wrap_content"
-                        android:layout_height="wrap_content"
-                        android:layout_gravity="center_vertical"
-                        android:text="@string/download_filesize"
-                        android:paddingStart="10dip"
-                        android:textAppearance="?android:attr/textAppearanceMedium"
-                        android:textSize="18sp" >
-                    </TextView>
-                </TableRow>
-
-                <TableRow
-                    android:layout_marginBottom="10dip" >
-
-                    <TextView
-                        android:layout_width="wrap_content"
-                        android:layout_height="wrap_content"
-                        android:layout_gravity="center_vertical"
-                        android:text="@string/download_timeneeded"
-                        android:textAppearance="?android:attr/textAppearanceMedium"
-                        android:textSize="18sp" >
-                    </TextView>
-                    <TextView
-                        android:id="@+id/download_estimate_time_content"
-                        android:layout_width="wrap_content"
-                        android:layout_height="wrap_content"
-                        android:layout_gravity="center_vertical"
-                        android:paddingStart="10dip"
-                        android:text="@string/download_timeneeded"
-                        android:textAppearance="?android:attr/textAppearanceMedium"
-                        android:textSize="18sp" >
-                    </TextView>
-                </TableRow>
-            </TableLayout>
-        </ScrollView>
-    </FrameLayout>
-
-    <LinearLayout
-        style="?android:attr/buttonBarStyle"
-        android:layout_width="match_parent"
-        android:layout_height="wrap_content"
-        android:orientation="horizontal" >
-
-        <Button
-            android:id="@+id/download_cancel"
-            style="?android:attr/buttonBarButtonStyle"
-            android:layout_width="0dip"
-            android:layout_height="wrap_content"
-            android:layout_gravity="end"
+        <FrameLayout
+            android:layout_width="match_parent"
+            android:layout_height="0dip"
             android:layout_weight="1"
-            android:maxLines="1"
-            android:text="@string/cancel" />
+            android:paddingTop="24dp">
 
-        <Button
-            android:id="@+id/download_start"
-            style="?android:attr/buttonBarButtonStyle"
-            android:layout_width="0dip"
-            android:layout_height="wrap_content"
-            android:layout_gravity="start"
-            android:layout_weight="1"
-            android:maxLines="1"
-            android:text="@string/ok" />
+            <ScrollView
+                android:layout_width="match_parent"
+                android:layout_height="match_parent">
+
+                <LinearLayout
+                    android:id="@+id/download_table_layout"
+                    android:layout_width="match_parent"
+                    android:layout_height="wrap_content"
+                    android:paddingStart="16dp"
+                    android:paddingEnd="16dp"
+                    android:paddingTop="8dp"
+                    android:orientation="vertical" >
+
+                    <LinearLayout android:layout_width="match_parent"
+                        android:layout_height="72dp"
+                        android:orientation="horizontal"
+                        android:layout_marginBottom="8dp"
+                        android:layout_gravity="center">
+                        <ImageView
+                            android:layout_height="@dimen/download_icon_size"
+                            android:layout_width="@dimen/download_icon_size"
+                            android:src="@drawable/ic_download_path"
+                            android:layout_gravity="center"/>
+                        <EditText
+                            android:id="@+id/download_filepath_selected"
+                            android:layout_width="match_parent"
+                            android:layout_height="wrap_content"
+                            android:layout_weight="1"
+                            android:layout_gravity="center"
+                            android:layout_alignParentEnd="true"
+                            android:editable="false"
+                            android:focusableInTouchMode="false"
+                            android:textColor="@color/black"
+                            android:paddingStart="16dp"
+                            android:paddingBottom="16dp"
+                            android:textSize="18sp" />
+                    </LinearLayout>
+
+                    <LinearLayout android:layout_width="match_parent"
+                        android:layout_height="72dp"
+                        android:orientation="horizontal"
+                        android:layout_marginBottom="8dp"
+                        android:layout_gravity="center">
+                        <ImageView
+                            android:layout_height="@dimen/download_icon_size"
+                            android:layout_width="@dimen/download_icon_size"
+                            android:src="@drawable/ic_download_size"/>
+                        <LinearLayout android:layout_width="match_parent"
+                            android:layout_height="wrap_content"
+                            android:orientation="vertical"
+                            android:paddingStart="16dp"
+                            android:paddingBottom="16dp">
+                            <TextView
+                                android:id="@+id/download_estimate_size_content"
+                                android:layout_width="wrap_content"
+                                android:layout_height="wrap_content"
+                                android:layout_gravity="center_vertical"
+                                android:text="@string/download_filesize"
+                                android:textAppearance="?android:attr/textAppearanceMedium"
+                                android:textColor="@color/black"
+                                android:textSize="18sp" />
+                            <TextView
+                                android:layout_width="match_parent"
+                                android:layout_height="wrap_content"
+                                android:textColor="@color/download_text_hint"
+                                android:text="@string/download_size_hint"
+                                android:textSize="@dimen/download_text_hint" />
+                        </LinearLayout>
+                    </LinearLayout>
+
+                    <LinearLayout android:layout_width="match_parent"
+                        android:layout_height="72dp"
+                        android:orientation="horizontal"
+                        android:layout_gravity="center">
+                        <ImageView
+                            android:layout_height="@dimen/download_icon_size"
+                            android:layout_width="@dimen/download_icon_size"
+                            android:src="@drawable/ic_download_eta"/>
+                        <LinearLayout android:layout_width="match_parent"
+                            android:layout_height="wrap_content"
+                            android:orientation="vertical"
+                            android:paddingBottom="16dp"
+                            android:paddingStart="16dp">
+                            <TextView
+                                android:id="@+id/download_estimate_time_content"
+                                android:layout_width="wrap_content"
+                                android:layout_height="wrap_content"
+                                android:layout_gravity="center_vertical"
+                                android:text="@string/download_timeneeded"
+                                android:textAppearance="?android:attr/textAppearanceMedium"
+                                android:textColor="@color/black"
+                                android:textSize="18sp" />
+                            <TextView
+                                android:layout_width="match_parent"
+                                android:layout_height="wrap_content"
+                                android:text="@string/download_eta_hint"
+                                android:textColor="@color/download_text_hint"
+                                android:textSize="@dimen/download_text_hint" />
+                        </LinearLayout>
+                    </LinearLayout>
+                </LinearLayout>
+            </ScrollView>
+        </FrameLayout>
     </LinearLayout>
 
-</LinearLayout>
+    <!-- Download FAB -->
+    <LinearLayout style="?android:attr/buttonBarStyle"
+        android:layout_width="wrap_content"
+        android:layout_height="wrap_content"
+        android:orientation="horizontal"
+        android:layout_gravity="top|end"
+        android:paddingTop="144dp"
+        android:paddingEnd="16dp">
+        <FrameLayout android:id="@+id/floating_action_button_container"
+            style="@style/floating_action_button"
+            android:background="@drawable/fab_accent">
+            <ImageButton
+                android:id="@+id/download_start"
+                style="@style/floating_action_button_image"
+                android:background="@drawable/floating_action_button"
+                android:src="@drawable/ic_action_download" />
+        </FrameLayout>
+    </LinearLayout>
+
+</FrameLayout>
diff --git a/res/values-v21/styles.xml b/res/values-v21/styles.xml
index d5dd32b..d1a37d5 100644
--- a/res/values-v21/styles.xml
+++ b/res/values-v21/styles.xml
@@ -56,6 +56,9 @@
 
     <style name="DialogWhenLarge" parent="@android:style/Theme.Material.Light.DialogWhenLarge" >
         <item name="android:windowActionBar">false</item>
+        <item name="android:colorPrimary">@color/accent</item>
+        <item name="android:colorPrimaryDark">@color/accent_dark</item>
+        <item name="android:colorAccent">@color/icon_white</item>
     </style>
     <style name="PopupMenuStyle" parent="@android:style/Widget.Material.Light.PopupMenu">
     </style>
@@ -74,6 +77,23 @@
     <style name="TextAppearance.Medium" parent="@android:style/TextAppearance.Material.Medium" />
     <style name="TextAppearance.Small" parent="@android:style/TextAppearance.Material.Small" />
 
+    <style name="floating_action_button">
+        <item name="android:layout_width">@dimen/fab_size</item>
+        <item name="android:layout_height">@dimen/fab_size</item>
+        <item name="android:layout_margin">@dimen/fab_margin</item>
+        <item name="android:background">@drawable/floating_action_button</item>
+        <item name="android:stateListAnimator">@anim/floating_action_button_elevation</item>
+        <item name="android:elevation">@dimen/fab_elevation_normal</item>
+        <item name="android:layout_alignParentBottom">true</item>
+        <item name="android:layout_alignParentRight">true</item>
+        <item name="android:layout_gravity">bottom|end</item>
+    </style>
+
+    <style name="floating_action_button_image">
+        <item name="android:layout_width">@dimen/fab_size</item>
+        <item name="android:layout_height">@dimen/fab_size</item>
+        <item name="android:layout_gravity">center</item>
+    </style>
     <!-- level 2 parents -->
 
     <!-- common theme elements -->
diff --git a/res/values/colors.xml b/res/values/colors.xml
index 9adb57c..0f7fd2d 100644
--- a/res/values/colors.xml
+++ b/res/values/colors.xml
@@ -19,6 +19,7 @@
     <!-- fundamental colors -->
     <color name="white">#fafafa</color>
     <color name="black">#14181C</color>
+    <color name="grey">#eeeeee</color>
     <color name="trasparent">#ffffffff</color>
 
     <!-- chrome colors -->
@@ -34,8 +35,14 @@
     <color name="primary_dark">#161E21</color>
     <color name="accent">@color/blue</color>
     <color name="accent_dark">#5595FE</color>
-    <color name="navigation_bars">@color/primary</color>
+    <color name="navigation_bars">#263238</color>
     <color name="browser_window_background">#F2F2F2</color>
+    <color name="accent_dark">#346AC2</color>
+    <color name="navigation_bars">#263238</color>
+    <color name="browser_window_background">#F2F2F2</color>
+    <color name="edge_title">#0096a9</color>
+    <color name="floating_action_button_touch_tint">#DBA000</color>
+    <color name="download_text_hint">#b3b3b3</color>
 
     <!-- derived colors -->
     <color name="NavigationBarBackground">@color/primary</color>
diff --git a/res/values/dimensions.xml b/res/values/dimensions.xml
index 08ee890..4d04505 100755
--- a/res/values/dimensions.xml
+++ b/res/values/dimensions.xml
@@ -87,4 +87,15 @@
     <dimen name="edge_swipe_out_slop">18dp</dimen>
 
     <dimen name="SiteTileOverlineWidth">1dp</dimen>
+
+    <dimen name="download_icon_size">46dp</dimen>
+    <dimen name="download_text_hint">18sp</dimen>
+
+    <!-- FAB Dimensions -->
+    <dimen name="fab_size">56dp</dimen>
+    <dimen name="fab_margin">16dp</dimen>
+    <dimen name="fab_icon_size">24dp</dimen>
+    <dimen name="fab_elevation_normal">8dp</dimen>
+    <dimen name="fab_elevation_pressed">6dp</dimen>
+
 </resources>
diff --git a/res/values/strings.xml b/res/values/strings.xml
index c78cdb9..3263fa6 100644
--- a/res/values/strings.xml
+++ b/res/values/strings.xml
@@ -763,7 +763,7 @@
     <string name="download_filesize">Size</string>
     <string name="download_filepath_label">Path</string>
     <string name="download_edit_filename_label">Name</string>
-    <string name="download_default_path" translatable="false">/sdcard</string>
+    <string name="download_default_path" translatable="false">/Download</string>
     <string name="download_no_enough_memory">Insufficient memory for download</string>
     <string name="download_settings_title">Download settings</string>
     <string name="filename_empty_title">Download filename is empty</string>
@@ -777,6 +777,10 @@
     <string name="download_path_unavailable_dlg_title">Download directory is unavailable</string>
     <string name="download_path_unavailable_dlg_msg">Please modify the download directory</string>
     <string name="activity_not_found">No activity found to handle this intent <xliff:g id="NOACTIVITY">%s</xliff:g></string>
+    <string name="download_name_hint">File name</string>
+    <string name="download_size_hint">Size</string>
+    <string name="download_eta_hint">ETA</string>
+
     <!-- Toast message displayed when the full screen received message -->
     <string name="received_message_full_screen">Receive a message from: <xliff:g id="FROM">%s</xliff:g>.</string>
     <!-- Snapdragon Browser Additions -->
diff --git a/src/com/android/browser/BrowserUtils.java b/src/com/android/browser/BrowserUtils.java
index be16ab1..2b260df 100644
--- a/src/com/android/browser/BrowserUtils.java
+++ b/src/com/android/browser/BrowserUtils.java
@@ -75,7 +75,7 @@
 
         mAlertDialog = new AlertDialog.Builder(context);
         mAlertDialog.setTitle(R.string.browser_max_input_title)
-                .setIcon(android.R.drawable.ic_dialog_info)
+            //    .setIcon(android.R.drawable.ic_dialog_info)
                 .setMessage(context.getString(R.string.browser_max_input, max_length))
                 .setPositiveButton(R.string.ok,
                         new DialogInterface.OnClickListener() {
diff --git a/src/com/android/browser/DownloadSettings.java b/src/com/android/browser/DownloadSettings.java
index d84d3b7..32803de 100644
--- a/src/com/android/browser/DownloadSettings.java
+++ b/src/com/android/browser/DownloadSettings.java
@@ -46,6 +46,7 @@
 import android.view.View.OnClickListener;
 import android.widget.Button;
 import android.widget.EditText;
+import android.widget.ImageButton;
 import android.widget.TextView;
 import android.view.Window;
 import android.widget.Toast;
@@ -60,8 +61,8 @@
     private EditText downloadPathET;
     private TextView downloadEstimateSize;
     private TextView downloadEstimateTime;
-    private Button downloadStart;
-    private Button downloadCancel;
+    private ImageButton downloadStart;
+    private ImageButton downloadCancel;
     private String url;
     private String userAgent;
     private String contentDisposition;
@@ -94,8 +95,8 @@
         downloadPathET = (EditText) findViewById(R.id.download_filepath_selected);
         downloadEstimateSize = (TextView) findViewById(R.id.download_estimate_size_content);
         downloadEstimateTime = (TextView) findViewById(R.id.download_estimate_time_content);
-        downloadStart = (Button) findViewById(R.id.download_start);
-        downloadCancel = (Button) findViewById(R.id.download_cancel);
+        downloadStart = (ImageButton) findViewById(R.id.download_start);
+        downloadCancel = (ImageButton) findViewById(R.id.download_cancel);
         downloadPathET.setOnClickListener(downloadPathListener);
         downloadStart.setOnClickListener(downloadStartListener);
         downloadCancel.setOnClickListener(downloadCancelListener);
