diff --git a/Android.bp b/Android.bp
index 20ed58e..9927416 100644
--- a/Android.bp
+++ b/Android.bp
@@ -4,15 +4,13 @@
 
 android_library {
     name: "setupdesign",
-    libs: [
-        "setupcompat",
-    ],
     static_libs: [
         "androidx.annotation_annotation",
         "androidx.core_core",
         "androidx.legacy_legacy-support-core-ui",
         "androidx.appcompat_appcompat",
         "androidx.recyclerview_recyclerview",
+        "setupcompat",
         "setupdesign-strings",
     ],
     manifest: "main/AndroidManifest.xml",
diff --git a/main/res/values/dimens.xml b/main/res/values/dimens.xml
index 2adc3c7..7508f25 100644
--- a/main/res/values/dimens.xml
+++ b/main/res/values/dimens.xml
@@ -56,6 +56,7 @@
     <dimen name="sud_description_glif_margin_bottom_lists">24dp</dimen>
 
     <dimen name="sud_content_glif_margin_top">32dp</dimen>
+    <dimen name="sud_content_glif_margin_bottom">6dp</dimen>
 
     <dimen name="sud_content_illustration_max_height">312dp</dimen>
     <dimen name="sud_content_illustration_max_width">312dp</dimen>
diff --git a/main/res/values/styles.xml b/main/res/values/styles.xml
index 28306b2..84ed502 100644
--- a/main/res/values/styles.xml
+++ b/main/res/values/styles.xml
@@ -224,6 +224,9 @@
     <style name="SudThemeGlifV3" parent="SudThemeGlifV2">
         <item name="colorAccent">@color/sud_color_accent_glif_v3_dark</item>
         <item name="colorBackgroundFloating">@color/sud_glif_v3_dialog_background_color_dark</item>
+        <item name="android:datePickerDialogTheme">@style/SudDateTimePickerDialogTheme</item>
+        <item name="android:timePickerDialogTheme">@style/SudDateTimePickerDialogTheme</item>
+        <item name="android:textColorLink">@color/sud_color_accent_glif_v3_dark</item>
         <item name="sudButtonAllCaps">false</item>
         <item name="sudButtonCornerRadius">@dimen/sud_glif_v3_button_corner_radius</item>
         <item name="sudButtonFontFamily">@string/sudFontSecondaryMedium</item>
@@ -231,6 +234,9 @@
 
     <style name="SudBaseThemeGlifV3.Light" parent="SudThemeGlifV2.Light">
         <item name="colorAccent">@color/sud_color_accent_glif_v3_light</item>
+        <item name="android:datePickerDialogTheme">@style/SudDateTimePickerDialogTheme.Light</item>
+        <item name="android:timePickerDialogTheme">@style/SudDateTimePickerDialogTheme.Light</item>
+        <item name="android:textColorLink">@color/sud_color_accent_glif_v3_light</item>
         <item name="sudButtonAllCaps">false</item>
         <item name="sudButtonCornerRadius">@dimen/sud_glif_v3_button_corner_radius</item>
         <item name="sudButtonFontFamily">@string/sudFontSecondaryMedium</item>
@@ -281,7 +287,8 @@
     <!-- Ignore UnusedResources: Used by clients -->
     <style name="SudContent.Glif" parent="SudDescription" tools:ignore="UnusedResources">
         <item name="android:layout_marginTop">@dimen/sud_content_glif_margin_top</item>
-        <item name="android:gravity">?attr/sudGlifHeaderGravity</item>
+        <item name="android:layout_marginBottom">@dimen/sud_content_glif_margin_bottom</item>
+        <item name="android:gravity">start</item>
         <item name="android:textAlignment" tools:targetApi="jelly_bean_mr1">gravity</item>
     </style>
 
@@ -542,6 +549,11 @@
         <item name="android:textAppearance">@style/TextAppearance.SudGlifBody</item>
     </style>
 
+    <style name="SudItemTitle.SectionHeader" parent="SudItemTitle">
+        <item name="android:textSize">14sp</item>
+        <item name="android:fontFamily">@string/sudFontSecondaryMedium</item>
+    </style>
+
     <style name="SudSwitchStyle">
         <item name="android:paddingEnd" tools:ignore="NewApi">@dimen/sud_switch_padding_end</item>
         <item name="android:paddingLeft">@dimen/sud_switch_padding_start</item>
@@ -650,4 +662,16 @@
         <item name="dialogCornerRadius">@dimen/sud_glif_alert_dialog_corner_radius</item>
     </style>
 
+    <style name="SudDateTimePickerDialogTheme" parent="Theme.AppCompat.Dialog">
+        <item name="android:textAllCaps">false</item>
+        <item name="colorAccent">@color/sud_color_accent_glif_v3_dark</item>
+        <item name="dialogCornerRadius">@dimen/sud_glif_alert_dialog_corner_radius</item>
+    </style>
+
+    <style name="SudDateTimePickerDialogTheme.Light" parent="Theme.AppCompat.Light.Dialog">
+        <item name="android:textAllCaps">false</item>
+        <item name="colorAccent">@color/sud_color_accent_glif_v3_light</item>
+        <item name="dialogCornerRadius">@dimen/sud_glif_alert_dialog_corner_radius</item>
+    </style>
+
 </resources>
diff --git a/main/src/com/google/android/setupdesign/items/DescriptionItem.java b/main/src/com/google/android/setupdesign/items/DescriptionItem.java
new file mode 100644
index 0000000..24fbf5f
--- /dev/null
+++ b/main/src/com/google/android/setupdesign/items/DescriptionItem.java
@@ -0,0 +1,63 @@
+/*
+ * 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.
+ */
+
+package com.google.android.setupdesign.items;
+
+import android.content.Context;
+import android.util.AttributeSet;
+import android.view.View;
+import android.widget.TextView;
+import com.google.android.setupdesign.R;
+import com.google.android.setupdesign.util.DescriptionStyler;
+
+/**
+ * Definition of an item in an {@link ItemHierarchy}. An item is usually defined in XML and inflated
+ * using {@link ItemInflater}.
+ */
+public class DescriptionItem extends Item {
+
+  private boolean applyPartnerDescriptionStyle = false;
+
+  public DescriptionItem() {
+    super();
+  }
+
+  public DescriptionItem(Context context, AttributeSet attrs) {
+    super(context, attrs);
+  }
+
+  public boolean shouldApplyPartnerDescriptionStyle() {
+    return applyPartnerDescriptionStyle;
+  }
+
+  /**
+   * Applies partner description style on the title of the item, i.e. the TextView with {@code
+   * R.id.sud_items_title}.
+   */
+  public void setApplyPartnerDescriptionStyle(boolean applyPartnerDescriptionStyle) {
+    this.applyPartnerDescriptionStyle = applyPartnerDescriptionStyle;
+    notifyItemChanged();
+  }
+
+  @Override
+  public void onBindView(View view) {
+    super.onBindView(view);
+    TextView label = (TextView) view.findViewById(R.id.sud_items_title);
+    if (shouldApplyPartnerDescriptionStyle()) {
+      DescriptionStyler.applyPartnerCustomizationStyle(label);
+    }
+  }
+}
diff --git a/main/src/com/google/android/setupdesign/template/HeaderMixin.java b/main/src/com/google/android/setupdesign/template/HeaderMixin.java
index 8e573b9..51b726b 100644
--- a/main/src/com/google/android/setupdesign/template/HeaderMixin.java
+++ b/main/src/com/google/android/setupdesign/template/HeaderMixin.java
@@ -31,7 +31,7 @@
 import android.view.ViewParent;
 import android.widget.LinearLayout;
 import android.widget.TextView;
-import com.google.android.setupcompat.R;
+import com.google.android.setupdesign.R;
 import com.google.android.setupcompat.internal.TemplateLayout;
 import com.google.android.setupcompat.partnerconfig.PartnerConfig;
 import com.google.android.setupcompat.partnerconfig.PartnerConfigHelper;
