<!-- Single hero Title. -->
<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
                    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
                    xmlns:tm="using:SearchUI.TemplateManager"
                    x:Key="EntityContainer.HeroTitle_8_1_RP">

    <Style x:Key="Local.TitleStyleLarge"
           TargetType="TextBlock"
           BasedOn="{CustomResource TextStyle_Large_Light}">
        <Setter Property="Foreground"
                Value="{ThemeResource ImmersiveSaturatedPrimaryTextBrush}" />
        <Setter Property="Padding"
                Value="30, 14, 30, 22" />
    </Style>

    <Style x:Key="Local.TitleStyleSmall"
           TargetType="TextBlock"
           BasedOn="{CustomResource TextStyle_Medium_Light}">
        <Setter Property="Foreground"
                Value="{ThemeResource ImmersiveSaturatedPrimaryTextBrush}" />
        <Setter Property="Padding"
                Value="30, 26, 30, 31" />
    </Style>

    <Style x:Key="Local.TitleStyleWrapped"
           TargetType="TextBlock"
           BasedOn="{CustomResource TextStyle_Medium_Light}">
        <Setter Property="Foreground"
                Value="{ThemeResource ImmersiveSaturatedPrimaryTextBrush}" />
        <Setter Property="Padding"
                Value="30, 26, 30, 31" />
        <Setter Property="TextWrapping"
                Value="Wrap" />
        <Setter Property="TextTrimming"
                Value="CharacterEllipsis" />
        <Setter Property="MaxLines"
                Value="2" />
    </Style>

    <tm:SwitchCaseConverter x:Key="Local.TitleStyleSwitch"
                            Default="{StaticResource Local.TitleStyleLarge}">
        <tm:SwitchCase Case="smallfont"
                       Value="{StaticResource Local.TitleStyleSmall}"/>
        <tm:SwitchCase Case="wrapped"
                       Value="{StaticResource Local.TitleStyleWrapped}"/>
    </tm:SwitchCaseConverter>

    <tm:SwitchCaseConverter x:Key="Local.DominantModuleSwitch"
                            Default="Visible">
        <tm:SwitchCase Case="false"
                       Value="Collapsed" />
    </tm:SwitchCaseConverter>

    <ControlTemplate x:Key="Local.HorizontalTemplate">
        <Grid Width="{Binding Extended:horizontal.Extended:width}"
              HorizontalAlignment="Left"
              Margin="{Binding Extended:horizontal.Extended:offset}">
            <Rectangle Style="{CustomResource Resources.Shared.HeroTitleAccentStyle}"
                       Visibility="{Binding Extended:title.Extended:hasDominantModule, Converter={StaticResource Local.DominantModuleSwitch}}" />
            <TextBlock Text="{Binding Extended:title.System_Search_Contents}"
                       Style="{Binding Extended:horizontal.Extended:type, Converter={StaticResource Local.TitleStyleSwitch}}" />
        </Grid>
    </ControlTemplate>

    <ControlTemplate x:Key="Local.HorizontalLargeTemplate">
        <Grid Width="{Binding Extended:horizontalLarge.Extended:width}"
              HorizontalAlignment="Left"
              Margin="{Binding Extended:horizontalLarge.Extended:offset}">
            <Rectangle Style="{CustomResource Resources.Shared.HeroTitleAccentStyle}"
                       Visibility="{Binding Extended:title.Extended:hasDominantModule, Converter={StaticResource Local.DominantModuleSwitch}}" />
            <TextBlock Text="{Binding Extended:title.System_Search_Contents}"
                       Style="{Binding Extended:horizontalLarge.Extended:type, Converter={StaticResource Local.TitleStyleSwitch}}" />
        </Grid>
    </ControlTemplate>

    <ControlTemplate x:Key="Local.VerticalNarrowTemplate">
        <Grid Width="{Binding Extended:verticalNarrow.Extended:width}"
              HorizontalAlignment="Left">
            <Rectangle Style="{CustomResource Resources.Shared.HeroTitleAccentStyle}"
                       Visibility="{Binding Extended:title.Extended:hasDominantModule, Converter={StaticResource Local.DominantModuleSwitch}}" />
            <TextBlock Text="{Binding Extended:title.System_Search_Contents}"
                       Style="{Binding Extended:verticalNarrow.Extended:type, Converter={StaticResource Local.TitleStyleSwitch}}" />
        </Grid>
    </ControlTemplate>

    <ControlTemplate x:Key="Local.VerticalTemplate">
        <Grid Width="{Binding Extended:vertical.Extended:width}"
              HorizontalAlignment="Left">
            <Rectangle Style="{CustomResource Resources.Shared.HeroTitleAccentStyle}"
                       Visibility="{Binding Extended:title.Extended:hasDominantModule, Converter={StaticResource Local.DominantModuleSwitch}}" />
            <TextBlock Text="{Binding Extended:title.System_Search_Contents}"
                       Style="{Binding Extended:vertical.Extended:type, Converter={StaticResource Local.TitleStyleSwitch}}" />
        </Grid>
    </ControlTemplate>

    <ControlTemplate x:Key="Local.VerticalLargeTemplate">
        <Grid Width="{Binding Extended:verticalLarge.Extended:width}"
              HorizontalAlignment="Left">
            <Rectangle Style="{CustomResource Resources.Shared.HeroTitleAccentStyle}"
                       Visibility="{Binding Extended:title.Extended:hasDominantModule, Converter={StaticResource Local.DominantModuleSwitch}}" />
            <TextBlock Text="{Binding Extended:title.System_Search_Contents}"
                       Style="{Binding Extended:verticalLarge.Extended:type, Converter={StaticResource Local.TitleStyleSwitch}}" />
        </Grid>
    </ControlTemplate>

    <Style x:Key="Horizontal"
           TargetType="ContentControl">
        <Setter Property="Template"
                Value="{StaticResource Local.HorizontalTemplate}"/>
    </Style>

    <Style x:Key="HorizontalLarge"
           TargetType="ContentControl">
        <Setter Property="Template"
                Value="{StaticResource Local.HorizontalLargeTemplate}"/>
    </Style>

    <Style x:Key="VerticalNarrow"
           TargetType="ContentControl">
        <Setter Property="Template"
                Value="{StaticResource Local.VerticalNarrowTemplate}"/>
    </Style>

    <Style x:Key="Vertical"
           TargetType="ContentControl">
        <Setter Property="Template"
                Value="{StaticResource Local.VerticalTemplate}"/>
    </Style>

    <Style x:Key="VerticalLarge"
           TargetType="ContentControl">
        <Setter Property="Template"
                Value="{StaticResource Local.VerticalLargeTemplate}"/>
    </Style>
</ResourceDictionary>