diff --git a/res/layout/effect_setting_popup.xml b/res/layout/effect_setting_popup.xml
index 3ef7baf..18c8166 100644
--- a/res/layout/effect_setting_popup.xml
+++ b/res/layout/effect_setting_popup.xml
@@ -43,20 +43,28 @@
                         android:textSize="@dimen/effect_setting_clear_text_size"
                         android:minHeight="@dimen/effect_setting_clear_text_min_height"
                         android:background="@drawable/bg_pressed"/>
-                <View style="@style/EffectTitleSeparator"/>
+
                 <TextView android:id="@+id/effect_silly_faces_title"
                         android:text="@string/effect_silly_faces"
                         android:visibility="gone"
                         style="@style/EffectSettingTypeTitle"/>
+                <View android:id="@+id/effect_silly_faces_title_separator"
+                        android:visibility="gone"
+                        style="@style/EffectTypeSeparator"/>
                 <com.android.camera.ui.ExpandedGridView android:id="@+id/effect_silly_faces"
                         style="@style/EffectSettingGrid"/>
+
                 <View android:id="@+id/effect_background_separator"
                         android:visibility="gone"
                         style="@style/EffectTitleSeparator"/>
+
                 <TextView android:id="@+id/effect_background_title"
                         android:text="@string/effect_background"
                         android:visibility="gone"
                         style="@style/EffectSettingTypeTitle"/>
+                <View android:id="@+id/effect_background_title_separator"
+                        android:visibility="gone"
+                        style="@style/EffectTypeSeparator"/>
                 <com.android.camera.ui.ExpandedGridView android:id="@+id/effect_background"
                         android:visibility="gone"
                         style="@style/EffectSettingGrid"/>
diff --git a/res/values/dimens.xml b/res/values/dimens.xml
index 9618ae1..7d12a18 100644
--- a/res/values/dimens.xml
+++ b/res/values/dimens.xml
@@ -45,10 +45,10 @@
     <dimen name="big_setting_popup_window_width">320dp</dimen>
     <dimen name="setting_item_icon_width">28dp</dimen>
     <dimen name="effect_setting_item_icon_width">40dp</dimen>
-    <dimen name="effect_setting_item_text_size">12dp</dimen>
-    <dimen name="effect_setting_type_text_size">18dp</dimen>
+    <dimen name="effect_setting_item_text_size">12sp</dimen>
+    <dimen name="effect_setting_type_text_size">12sp</dimen>
     <dimen name="effect_setting_type_text_min_height">36dp</dimen>
     <dimen name="effect_setting_clear_text_size">20dp</dimen>
-    <dimen name="effect_setting_clear_text_min_height">36dp</dimen>
+    <dimen name="effect_setting_clear_text_min_height">45dp</dimen>
     <dimen name="effect_setting_type_text_left_padding">16dp</dimen>
 </resources>
diff --git a/res/values/strings.xml b/res/values/strings.xml
index 6fb9243..c4ebb22 100644
--- a/res/values/strings.xml
+++ b/res/values/strings.xml
@@ -322,10 +322,10 @@
     <string name="clear_effects">Clear effects</string>
 
     <!-- Title of category for silly face effects. [CHAR LIMIT=26] -->
-    <string name="effect_silly_faces">Silly faces</string>
+    <string name="effect_silly_faces">SILLY FACES</string>
 
     <!-- Title of category for background replacement effects. [CHAR LIMIT=26] -->
-    <string name="effect_background">Background</string>
+    <string name="effect_background">BACKGROUND</string>
 
     <!-- The shutter button. [CHAR LIMIT = NONE] -->
     <string name="accessibility_shutter_button">Shutter button</string>
diff --git a/res/values/styles.xml b/res/values/styles.xml
index e1b30f5..79cc759 100644
--- a/res/values/styles.xml
+++ b/res/values/styles.xml
@@ -222,12 +222,21 @@
         <item name="android:textSize">@dimen/effect_setting_type_text_size</item>
         <item name="android:gravity">left|center_vertical</item>
         <item name="android:textColor">@android:color/white</item>
+        <item name="android:alpha">0.7</item>
         <item name="android:singleLine">true</item>
         <item name="android:layout_width">match_parent</item>
         <item name="android:layout_height">wrap_content</item>
         <item name="android:minHeight">@dimen/effect_setting_type_text_min_height</item>
         <item name="android:paddingLeft">@dimen/effect_setting_type_text_left_padding</item>
     </style>
+    <style name="EffectTypeSeparator">
+        <item name="android:layout_width">match_parent</item>
+        <item name="android:layout_marginLeft">8dp</item>
+        <item name="android:layout_marginRight">8dp</item>
+        <item name="android:layout_marginBottom">14dp</item>
+        <item name="android:layout_height">2dp</item>
+        <item name="android:background">#2c2c2c</item>
+    </style>
     <style name="EffectTitleSeparator">
         <item name="android:layout_width">match_parent</item>
         <item name="android:layout_height">2dp</item>
diff --git a/src/com/android/camera/ui/EffectSettingPopup.java b/src/com/android/camera/ui/EffectSettingPopup.java
index a0f9be0..485ff44 100644
--- a/src/com/android/camera/ui/EffectSettingPopup.java
+++ b/src/com/android/camera/ui/EffectSettingPopup.java
@@ -104,6 +104,7 @@
         // Initialize goofy face if it is supported.
         if (hasSillyFaces) {
             findViewById(R.id.effect_silly_faces_title).setVisibility(View.VISIBLE);
+            findViewById(R.id.effect_silly_faces_title_separator).setVisibility(View.VISIBLE);
             mSillyFacesGrid.setVisibility(View.VISIBLE);
             SimpleAdapter sillyFacesItemAdapter = new SimpleAdapter(context,
                     mSillyFacesItem, R.layout.effect_setting_item,
@@ -120,6 +121,7 @@
         // Initialize background replacer if it is supported.
         if (hasBackground) {
             findViewById(R.id.effect_background_title).setVisibility(View.VISIBLE);
+            findViewById(R.id.effect_background_title_separator).setVisibility(View.VISIBLE);
             mBackgroundGrid.setVisibility(View.VISIBLE);
             SimpleAdapter backgroundItemAdapter = new SimpleAdapter(context,
                     mBackgroundItem, R.layout.effect_setting_item,
