<ResourceDictionary
	xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
	xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:local="clr-namespace:ForzaUI;assembly="
    xmlns:System="clr-namespace:System;assembly=mscorlib">

    <Color x:Key="A_Color_Loading_StatsValue">#FFFFFFFF</Color>

    <Thickness x:Key="A_Span_LoadingMargin">43, 60</Thickness>

    <MappingConverter x:Key="A_LangStrToLoadingMargin" Default="0,7,0,0">
        <MappingConverterEntry Key="CHS" Value="0,14,0,0"/>
        <MappingConverterEntry Key="CHT" Value="0,14,0,0"/>
        <MappingConverterEntry Key="JP" Value="0,14,0,0"/>
        <MappingConverterEntry Key="KO" Value="0,14,0,0"/>
    </MappingConverter>

    <local:UIStoryboard x:Key="A_Storyboard_CyclingLoadingBackground_OpacityBlendingBetweenImages">
        <DoubleAnimationUsingKeyFrames Storyboard.TargetName="Previous" Storyboard.TargetProperty="Opacity">
            <DiscreteDoubleKeyFrame KeyTime="0:0:0.0" Value="1"/>
            <EasingDoubleKeyFrame KeyTime="0:0:0.4" Value="0"/>
        </DoubleAnimationUsingKeyFrames>
        <DoubleAnimationUsingKeyFrames Storyboard.TargetName="Current" Storyboard.TargetProperty="Opacity">
            <DiscreteDoubleKeyFrame KeyTime="0:0:0.0" Value="0"/>
            <DiscreteDoubleKeyFrame KeyTime="0:0:0.6" Value="0"/>
            <EasingDoubleKeyFrame KeyTime="0:0:1.0" Value="1"/>
        </DoubleAnimationUsingKeyFrames>
    </local:UIStoryboard>

    <local:UIStoryboard x:Key="A_Storyboard_CyclingLoadingBackground_ZoomIn">
        <DoubleAnimationUsingKeyFrames Storyboard.TargetName="BackgroundSlide" Storyboard.TargetProperty="(UIElement.RenderTransform).(TransformGroup.Children)[1].(TranslateTransform.X)">
            <DiscreteDoubleKeyFrame KeyTime="0:0:0.4" Value="0"/>
        </DoubleAnimationUsingKeyFrames>
        <DoubleAnimationUsingKeyFrames Storyboard.TargetName="BackgroundSlide" Storyboard.TargetProperty="(UIElement.RenderTransform).(TransformGroup.Children)[0].(ScaleTransform.ScaleX)">
            <DiscreteDoubleKeyFrame KeyTime="0:0:0.4" Value="1"/>
            <EasingDoubleKeyFrame KeyTime="0:0:8" Value="1.1"/>
        </DoubleAnimationUsingKeyFrames>
        <DoubleAnimationUsingKeyFrames Storyboard.TargetName="BackgroundSlide" Storyboard.TargetProperty="(UIElement.RenderTransform).(TransformGroup.Children)[0].(ScaleTransform.ScaleY)">
            <DiscreteDoubleKeyFrame KeyTime="0:0:0.4" Value="1"/>
            <EasingDoubleKeyFrame KeyTime="0:0:8" Value="1.1"/>
        </DoubleAnimationUsingKeyFrames>
    </local:UIStoryboard>

    <local:UIStoryboard x:Key="A_Storyboard_CyclingLoadingBackground_TranslationRight">
        <DoubleAnimationUsingKeyFrames Storyboard.TargetName="BackgroundSlide" Storyboard.TargetProperty="(UIElement.RenderTransform).(TransformGroup.Children)[0].(ScaleTransform.ScaleX)">
            <DiscreteDoubleKeyFrame KeyTime="0:0:0.4" Value="1.3"/>
            <DiscreteDoubleKeyFrame KeyTime="0:0:8.0" Value="1"/>
        </DoubleAnimationUsingKeyFrames>
        <DoubleAnimationUsingKeyFrames Storyboard.TargetName="BackgroundSlide" Storyboard.TargetProperty="(UIElement.RenderTransform).(TransformGroup.Children)[0].(ScaleTransform.ScaleY)">
            <DiscreteDoubleKeyFrame KeyTime="0:0:0.4" Value="1.3"/>
            <DiscreteDoubleKeyFrame KeyTime="0:0:8.0" Value="1"/>
        </DoubleAnimationUsingKeyFrames>
        <DoubleAnimationUsingKeyFrames Storyboard.TargetName="BackgroundSlide" Storyboard.TargetProperty="(UIElement.RenderTransform).(TransformGroup.Children)[1].(TranslateTransform.X)">
            <DiscreteDoubleKeyFrame KeyTime="0:0:0.4" Value="0"/>
            <EasingDoubleKeyFrame KeyTime="0:0:8" Value="80"/>
        </DoubleAnimationUsingKeyFrames>
    </local:UIStoryboard>


    <Style x:Key="A_Style_FrameworkElement_StatContainer" TargetType="FrameworkElement">
        <Setter Property="RenderTransformOrigin"
                        Value="0.5,0.5" />
        <Setter Property="RenderTransform">
            <Setter.Value>
                <TransformGroup>
                    <SkewTransform AngleX="-8" />
                </TransformGroup>
            </Setter.Value>
        </Setter>
        <Setter Property="HorizontalAlignment" Value="Center"/>
    </Style>

    <Style x:Key="A_Style_FrameworkElement_StatContainer_New" TargetType="FrameworkElement">
        <Setter Property="HorizontalAlignment" Value="Left"/>
    </Style>

    <Style x:Key="A_Style_FrameworkElement_StatContainer_Skewed" TargetType="FrameworkElement">
        <Setter Property="RenderTransformOrigin"
                        Value="0.5,0.5" />
        <Setter Property="RenderTransform">
            <Setter.Value>
                <TransformGroup>
                    <SkewTransform AngleX="-8" />
                </TransformGroup>
            </Setter.Value>
        </Setter>
        <Setter Property="HorizontalAlignment" Value="Left"/>
    </Style>

    <Style x:Key="A_Style_FZTextBlock_StatsBase" TargetType="local:FZTextBlock">
        <Setter Property="HorizontalAlignment" Value="Center"/>
    </Style>

    <Style x:Key="A_Style_FZTextBlock_StatTitle" BasedOn="{StaticResource A_Style_FZTextBlock_StatsBase}" TargetType="local:FZTextBlock">
        <Setter Property="Color" Value="{StaticResource H_Color_Primary_Green}"/>
        <Setter Property="FontFamily" Value="Horizon_A"/>
        <Setter Property="CapHeight" Value="25.5"/>
        <Setter Property="Margin" Value="0"/>
    </Style>

    <Style x:Key="A_Style_FZTextBlock_StatValue" BasedOn="{StaticResource A_Style_FZTextBlock_StatsBase}" TargetType="local:FZTextBlock">
        <Setter Property="Color" Value="{StaticResource A_Color_Loading_StatsValue}"/>
        <Setter Property="FontFamily" Value="Horizon_A"/>
        <Setter Property="CapHeight" Value="49.5"/>
        <Setter Property="Margin" Value="0,15,0,0"/>
    </Style>

    <Style x:Key="A_Style_Decorator_StatValueWrapper" TargetType="Decorator">
        <Setter Property="Margin" Value="20,0,0,0"/>
    </Style>

    <Style x:Key="A_Style_FZMaterial_StatValue" TargetType="local:FZMaterial">
        <Setter Property="Width" Value="50"/>
        <Setter Property="Height" Value="50"/>
        <Setter Property="Margin" Value="3,15,15,0"/>
        <Setter Property="VerticalAlignment" Value="Center"/>
    </Style>

    <Style x:Key="A_Style_Control_Loading_StatsDisplay" TargetType="Control">
        <Style.Resources>
            <MappingConverter x:Key="A_LangStrToLoadingContainerTitleSlideMargin" Default="0,0,0,0">
                <MappingConverterEntry Key="CHS" Value="0,2,0,4"/>
                <MappingConverterEntry Key="CHT" Value="0,2,0,4"/>
                <MappingConverterEntry Key="JP" Value="0,2,0,0"/>
                <MappingConverterEntry Key="CZ" Value="0,2,0,0"/>
                <MappingConverterEntry Key="FR" Value="0,4,0,4"/>
            </MappingConverter>

            <MappingConverter x:Key="A_LangStrToLoadingContainerValueSlideMargin" Default="0,0,0,0">
                <MappingConverterEntry Key="CHS" Value="2,4,2,1"/>
                <MappingConverterEntry Key="CHT" Value="2,4,2,1"/>
                <MappingConverterEntry Key="JP" Value="2,4,2,2"/>
                <MappingConverterEntry Key="CZ" Value="0,6,0,0"/>
                <MappingConverterEntry Key="FR" Value="0,4,0,4"/>
            </MappingConverter>
        </Style.Resources>
        <Style.Setters>
            <Setter Property="HorizontalAlignment" Value="Left" />
            <Setter Property="VerticalAlignment" Value="Bottom" />
            <Setter Property="Margin" Value="{StaticResource A_Span_LoadingMargin}"/>
            <Setter Property="Template">
                <Setter.Value>
                    <ControlTemplate>
                        <Grid Margin="0,0,0,-7">
                            <StackPanel x:Name="StatsContainer" HorizontalAlignment="Center">
                                <Grid x:Name="TitleSlide">
                                    <Grid.RenderTransform>
                                        <TranslateTransform />
                                    </Grid.RenderTransform>
                                    <Decorator Style="{StaticResource A_Style_FrameworkElement_StatContainer_New}" Margin="{Binding LangStr, Source={StaticResource PART_UISceneContext}, Converter={StaticResource A_LangStrToLoadingContainerTitleSlideMargin}}">
                                        <local:FZTextBlock x:Name="StatTitle" 
                                                           Text="{Binding StatName, NotifyOnTargetUpdated=True}" 
                                                           Style="{StaticResource A_Style_FZTextBlock_StatTitle}"/>
                                    </Decorator>
                                    <Decorator Style="{StaticResource A_Style_FrameworkElement_StatContainer_New}" Margin="{Binding LangStr, Source={StaticResource PART_UISceneContext}, Converter={StaticResource A_LangStrToLoadingContainerTitleSlideMargin}}">
                                        <local:FZTextBlock x:Name="StatTitlePrev"
                                                           local:PropertyChangeHistory.Input="{Binding StatName}"
                                                           Text="{Binding Path=(local:PropertyChangeHistory.Previous), RelativeSource={RelativeSource Self}}" 
                                                           Style="{StaticResource A_Style_FZTextBlock_StatTitle}"
                                                           Visibility="Collapsed"/>
                                    </Decorator>
                                </Grid>
                                <Grid x:Name="ValueSlide">
                                    <Grid.RenderTransform>
                                        <TranslateTransform />
                                    </Grid.RenderTransform>
                                    <Decorator Style="{StaticResource A_Style_Decorator_StatValueWrapper}">
                                        <DockPanel x:Name="StatValue" >
                                            <local:FZMaterial DockPanel.Dock="Left"
                                                        Style="{StaticResource A_Style_FZMaterial_StatValue}"
                                                        ImageSource="{Binding ItemType, Converter={StaticResource A_Converter_StatTypes_to_ImageSource}}"
                                                        Visibility="{Binding ItemType, Converter={StaticResource A_Converter_StatTypes_to_Image_Visibility}}"/>
                                            <Decorator Style="{StaticResource A_Style_FrameworkElement_StatContainer_Skewed}" Margin="{Binding LangStr, Source={StaticResource PART_UISceneContext}, Converter={StaticResource A_LangStrToLoadingContainerValueSlideMargin}}">
                                                <local:FZTextBlock Text="{Binding StatValue}" 
                                                                   Style="{StaticResource A_Style_FZTextBlock_StatValue}"/>
                                            </Decorator>
                                        </DockPanel>
                                    </Decorator>
                                    <Decorator Style="{StaticResource A_Style_Decorator_StatValueWrapper}">
                                        <DockPanel x:Name="StatValuePrev" Visibility="Collapsed" >
                                            <local:FZMaterial DockPanel.Dock="Left"
                                                        Style="{StaticResource A_Style_FZMaterial_StatValue}"
                                                        ImageSource="{Binding ItemTypePrev, Converter={StaticResource A_Converter_StatTypes_to_ImageSource}}"
                                                        Visibility="{Binding ItemTypePrev, Converter={StaticResource A_Converter_StatTypes_to_Image_Visibility}}"/>
                                            <Decorator Style="{StaticResource A_Style_FrameworkElement_StatContainer_Skewed}" Margin="{Binding LangStr, Source={StaticResource PART_UISceneContext}, Converter={StaticResource A_LangStrToLoadingContainerValueSlideMargin}}">
                                                <local:FZTextBlock local:PropertyChangeHistory.Input="{Binding StatValue}"
                                                                   Text="{Binding Path=(local:PropertyChangeHistory.Previous), RelativeSource={RelativeSource Self}}" 
                                                                   Style="{StaticResource A_Style_FZTextBlock_StatValue}"
                                                                   />
                                            </Decorator>
                                        </DockPanel>
                                    </Decorator>
                                </Grid>
                            </StackPanel>
                        </Grid>

                        <ControlTemplate.Triggers>
                            <EventTrigger RoutedEvent="Binding.TargetUpdated">
                                <BeginStoryboard>
                                    <local:UIStoryboard>
                                        <ObjectAnimationUsingKeyFrames Storyboard.TargetName="StatTitle" Storyboard.TargetProperty="(FrameworkElement.Visibility)">
                                            <DiscreteObjectKeyFrame KeyTime="0:0:0.0" Value="{x:Static Visibility.Collapsed}"/>
                                            <DiscreteObjectKeyFrame KeyTime="0:0:0.3" Value="{x:Static Visibility.Visible}"/>
                                        </ObjectAnimationUsingKeyFrames>
                                        <ObjectAnimationUsingKeyFrames Storyboard.TargetName="StatTitlePrev" Storyboard.TargetProperty="(FrameworkElement.Visibility)">
                                            <DiscreteObjectKeyFrame KeyTime="0:0:0.0" Value="{x:Static Visibility.Visible}"/>
                                            <DiscreteObjectKeyFrame KeyTime="0:0:0.3" Value="{x:Static Visibility.Collapsed}"/>
                                        </ObjectAnimationUsingKeyFrames>
                                        <ObjectAnimationUsingKeyFrames Storyboard.TargetName="StatValue" Storyboard.TargetProperty="(FrameworkElement.Visibility)">
                                            <DiscreteObjectKeyFrame KeyTime="0:0:0.0" Value="{x:Static Visibility.Collapsed}"/>
                                            <DiscreteObjectKeyFrame KeyTime="0:0:0.3" Value="{x:Static Visibility.Visible}"/>
                                        </ObjectAnimationUsingKeyFrames>
                                        <ObjectAnimationUsingKeyFrames Storyboard.TargetName="StatValuePrev" Storyboard.TargetProperty="(FrameworkElement.Visibility)">
                                            <DiscreteObjectKeyFrame KeyTime="0:0:0.0" Value="{x:Static Visibility.Visible}"/>
                                            <DiscreteObjectKeyFrame KeyTime="0:0:0.3" Value="{x:Static Visibility.Collapsed}"/>
                                        </ObjectAnimationUsingKeyFrames>

                                        <DoubleAnimationUsingKeyFrames Storyboard.TargetProperty="(UIElement.Opacity)" Storyboard.TargetName="TitleSlide">
                                            <DiscreteDoubleKeyFrame KeyTime="0:0:0.0" Value="1"/>
                                            <EasingDoubleKeyFrame KeyTime="0:0:0.3" Value="0"/>
                                            <DiscreteDoubleKeyFrame KeyTime="0:0:0.7" Value="0"/>
                                            <EasingDoubleKeyFrame KeyTime="0:0:1.0" Value="1"/>
                                        </DoubleAnimationUsingKeyFrames>
                                        <DoubleAnimationUsingKeyFrames Storyboard.TargetProperty="(UIElement.Opacity)" Storyboard.TargetName="ValueSlide">
                                            <DiscreteDoubleKeyFrame KeyTime="0:0:0.0" Value="1"/>
                                            <EasingDoubleKeyFrame KeyTime="0:0:0.3" Value="0"/>
                                            <DiscreteDoubleKeyFrame KeyTime="0:0:0.95" Value="0"/>
                                            <EasingDoubleKeyFrame KeyTime="0:0:1.15" Value="1"/>
                                        </DoubleAnimationUsingKeyFrames>
                                        <DoubleAnimationUsingKeyFrames Storyboard.TargetProperty="(UIElement.RenderTransform).(TranslateTransform.X)" Storyboard.TargetName="TitleSlide">
                                            <DiscreteDoubleKeyFrame KeyTime="0:0:0.0" Value="0.0"/>
                                            <EasingDoubleKeyFrame KeyTime="0:0:0.3" Value="100.0">
                                                <EasingDoubleKeyFrame.EasingFunction>
                                                    <PowerEase EasingMode="EaseIn" Power="2" />
                                                </EasingDoubleKeyFrame.EasingFunction>
                                            </EasingDoubleKeyFrame>
                                            <DiscreteDoubleKeyFrame KeyTime="0:0:0.7" Value="-200.0"/>
                                            <EasingDoubleKeyFrame KeyTime="0:0:1.0" Value="0">
                                                <EasingDoubleKeyFrame.EasingFunction>
                                                    <PowerEase EasingMode="EaseOut" Power="2" />
                                                </EasingDoubleKeyFrame.EasingFunction>
                                            </EasingDoubleKeyFrame>
                                        </DoubleAnimationUsingKeyFrames>
                                        <DoubleAnimationUsingKeyFrames Storyboard.TargetProperty="(UIElement.RenderTransform).(TranslateTransform.X)" Storyboard.TargetName="ValueSlide">
                                            <DiscreteDoubleKeyFrame KeyTime="0:0:0.0" Value="0.0"/>
                                            <EasingDoubleKeyFrame KeyTime="0:0:0.3" Value="100.0">
                                                <EasingDoubleKeyFrame.EasingFunction>
                                                    <PowerEase EasingMode="EaseIn" Power="2" />
                                                </EasingDoubleKeyFrame.EasingFunction>
                                            </EasingDoubleKeyFrame>
                                            <DiscreteDoubleKeyFrame KeyTime="0:0:0.95" Value="-100.0"/>
                                            <EasingDoubleKeyFrame KeyTime="0:0:1.15" Value="0.0">
                                                <EasingDoubleKeyFrame.EasingFunction>
                                                    <PowerEase EasingMode="EaseOut" Power="2" />
                                                </EasingDoubleKeyFrame.EasingFunction>
                                            </EasingDoubleKeyFrame>
                                        </DoubleAnimationUsingKeyFrames>
                                    </local:UIStoryboard>
                                </BeginStoryboard>
                            </EventTrigger>
                        </ControlTemplate.Triggers>
                    </ControlTemplate>
                </Setter.Value>
            </Setter>
        </Style.Setters>
    </Style>

    <Style x:Key="A_Style_Control_Loading_InstallProgress" TargetType="Control">
        <Style.Setters>
            <Setter Property="HorizontalAlignment" Value="Center" />
            <Setter Property="VerticalAlignment" Value="Bottom" />
            <Setter Property="Margin" Value="{StaticResource A_Span_LoadingMargin}"/>
            <Setter Property="Template">
                <Setter.Value>
                    <ControlTemplate>
                        <StackPanel>
                            <Grid>
                                <Decorator Style="{StaticResource A_Style_FrameworkElement_StatContainer}">
                                    <local:FZTextBlock Text="{Binding InstallationMessage}"
                                        Style="{StaticResource A_Style_FZTextBlock_StatTitle}"/>
                                </Decorator>
                            </Grid>
                            <local:FZMaterial Height="3" 
                                              Margin="0,12,0,6"
                                              Visibility="{Binding InstallationProgress, Converter={StaticResource A_FZBooleanToVisibilityConverter}}"/>
                            <Decorator Margin="{Binding LangStr, Source={StaticResource PART_UISceneContext}, Converter={StaticResource A_LangStrToLoadingMargin}}" HorizontalAlignment="Center">
                                <Grid Style="{StaticResource A_Style_FrameworkElement_StatContainer}">
                                    <local:FZTextBlock 
                                        Text="{Binding InstallationProgress, ConverterParameter=fracpercentage, Converter={StaticResource A_NumUnitConverter_ShowUnit_0dp}}"
                                        Style="{StaticResource A_Style_FZTextBlock_StatValue}" 
                                        Visibility="{Binding InstallationProgress, Converter={StaticResource A_FZBooleanToVisibilityConverter}}"/>
                                    <local:FZTextBlock
                                        Text="{Binding CustomSubtitle}"
                                        Style="{StaticResource A_Style_FZTextBlock_StatValue}"
                                        Visibility="{Binding CustomSubtitle, Converter={StaticResource A_StringVisConverter}}"/>
                                </Grid>
                            </Decorator>
                      </StackPanel>
                    </ControlTemplate>
                </Setter.Value>
            </Setter>
        </Style.Setters>
    </Style>

    <Style
        x:Key="A_Style_FZTextBlock_SpinnerLoadingMessage"
        TargetType="{Type FZTextBlock}">
        <Setter Property="Text" Value="{Binding Content, RelativeSource={RelativeSource TemplatedParent}}" />
        <Setter Property="TextAlignment" Value="Right"/>
        <Setter Property="VerticalAlignment" Value="Center"/>
        <Setter Property="TextWrapping" Value="NoWrap"/>
        <Setter Property="MaxWidth" Value="310"/>
        <Setter Property="Color" Value="{StaticResource H_Color_Primary_White}"/>
        <Setter Property="FontFamily" Value="Horizon_A"/>
        <Setter Property="CapHeight" Value="20"/>
        <Setter Property="LineAdjust" Value="-0.425"/>
        <Setter Property="ScreenReader.LineType" Value="{Static ScreenReaderLineType.Loading}"/>
        <Setter Property="ScreenReader.Event" Value="{Static ScreenReaderEvent.OnChange}"/>
        <Setter Property="ScreenReader.RepeatInterval" Value="0:0:10.0"/>
        <Setter Property="ScreenReader.InterruptBehavior" Value="WaitForNonePlaying"/>
        <Style.Triggers>
            <DataTrigger Binding="{Binding Visibility, RelativeSource={RelativeSource TemplatedParent}}" Value="{Static Visibility.Visible}">
                <Setter Property="ScreenReader.Line" Value="{Loc Main.IDS_ScreenReader_Loading}"/>
            </DataTrigger>
            <MultiDataTrigger>
                <MultiDataTrigger.Conditions>
                    <Condition Binding="{Binding Visibility, RelativeSource={RelativeSource TemplatedParent}}" Value="{Static Visibility.Visible}"/>
                    <Condition Binding="{Binding Content, Converter={StringVisConverter}, RelativeSource={RelativeSource TemplatedParent}}" Value="{Static Visibility.Visible}"/>
                </MultiDataTrigger.Conditions>
                <Setter Property="ScreenReader.Line" Value="{Binding Content, RelativeSource={RelativeSource TemplatedParent}}"/>
            </MultiDataTrigger>
        </Style.Triggers>
    </Style>

    <Style
        x:Key="A_Style_ContentControl_VideoLoadingSpinnerWithMessage"
        TargetType="{Type ContentControl}">
        <Setter Property="HorizontalAlignment" Value="Right"/>
        <Setter Property="VerticalAlignment" Value="Bottom"/>
        <Setter Property="Margin" Value="30,48"/>
        <Setter Property="Template">
            <Setter.Value>
                <ControlTemplate TargetType="{Type ContentControl}">
                    <DockPanel>
                        <MediaElement
                            DockPanel.Dock="Right"
                            Width="100"
                            Height="100"
                            Loop="True"
                            Source="game:/Media/UI/Videos/Loading_Spinner.bk2"/>
                        <Decorator Style="{StaticResource A_Style_FrameworkElement_StatContainer}">
                            <FZTextBlock Style="{StaticResource A_Style_FZTextBlock_SpinnerLoadingMessage}"
                                Margin="0,0,20,0"/>
                        </Decorator>
                    </DockPanel>
                </ControlTemplate>
            </Setter.Value>
        </Setter>
    </Style>

    <Style x:Key="A_Style_Progressbar_Loading_SmallSpinner" TargetType="ProgressBar" BasedOn="{StaticResource A_Style_ProgressBar_WaitSpinner}">
        <Style.Setters>
            <Setter Property="Width" Value="{StaticResource A_Double_LoadingSpinner_Height}" />
            <Setter Property="Height" Value="{StaticResource A_Double_LoadingSpinner_Height}" />
            <Setter Property="Margin" Value="{StaticResource A_Span_LoadingMargin}"/>
            <Setter Property="HorizontalAlignment" Value="Right" />
            <Setter Property="VerticalAlignment" Value="Bottom" />
            <Setter Property="IsIndeterminate" Value="True"/>
        </Style.Setters>
    </Style>

    <Style x:Key="A_Style_ContentControl_LoadingSpinnerWithMessage"
        TargetType="{x:Type ContentControl}">
        <Setter Property="Margin" Value="{StaticResource A_Span_LoadingMargin}"/>
        <Setter Property="HorizontalAlignment" Value="Right"/>
        <Setter Property="VerticalAlignment" Value="Bottom"/>
        <Setter Property="Template">
            <Setter.Value>
                <ControlTemplate>
                    <DockPanel>
                        <ProgressBar Style="{StaticResource A_Style_Progressbar_Loading_SmallSpinner}" 
                                     Margin="40,0,0,0"
                                     DockPanel.Dock="Right"
                                     Tag="{StaticResource H_Color_Primary_Green}"/>
                        <Decorator Style="{StaticResource A_Style_FrameworkElement_StatContainer}">
                            <local:FZTextBlock Style="{StaticResource A_Style_FZTextBlock_SpinnerLoadingMessage}"/>
                         </Decorator>
                    </DockPanel>
                </ControlTemplate>
            </Setter.Value>
        </Setter>
    </Style>

    <Style x:Key="A_Style_ContentControl_BottomLeft" TargetType="ContentControl">
        <Setter Property="VerticalAlignment" Value="Bottom" />
        <Setter Property="HorizontalAlignment" Value="Left" />
        <Setter Property="Margin" Value="{StaticResource A_Span_LoadingMargin}" />
    </Style>

    <Style x:Key="A_Style_Text_LoadingSmall" TargetType="{x:Type local:FZTextBlock}" BasedOn="{StaticResource A_Style_FZTextBlock_HorizonA}">
        <Setter Property="Color" Value="#FFFFFF"/>
        <Setter Property="CapHeight" Value="18"/>
        <Setter Property="VerticalAlignment" Value="Center"/>
        <Setter Property="Effect" Value="{StaticResource A_DropShadowEffect_DefaultHud}" />
    </Style>

    <Style x:Key="A_Style_Control_LoadingMini" TargetType="Control">
        <Setter Property="IsHitTestVisible"
                Value="False" />
        <Setter Property="HorizontalAlignment" 
                Value="Center" />
        <Setter Property="Template">
            <Setter.Value>
                <ControlTemplate>
                    <DockPanel>
                        <ProgressBar Width="{StaticResource A_Double_LoadingSpinner_Height}" Height="{StaticResource A_Double_LoadingSpinner_Height}" HorizontalAlignment="Right"
                                         IsIndeterminate="True"
                                         Style="{StaticResource A_Style_ProgressBar_WaitSpinner}"
                                         Margin="0,-5,0,-5"
                                         DockPanel.Dock="Right">
                            <ProgressBar.LayoutTransform>
                                <ScaleTransform ScaleX="0.5" ScaleY="0.5" />
                            </ProgressBar.LayoutTransform>
                        </ProgressBar>

                        <Decorator RenderTransformOrigin="0.5,0.5" RenderTransform="{StaticResource A_Transform_Italic}" DockPanel.Dock="Left" Margin="0,0,10,0">
                            <local:FZTextBlock Text="{local:Loc Main.IDS_Loading_Generic}" Style="{StaticResource A_Style_Text_LoadingSmall}" />
                        </Decorator>
                    </DockPanel>
                </ControlTemplate>
            </Setter.Value>
        </Setter>
    </Style>

    <Style x:Key="A_Style_Control_CyclingLoadingBackground" TargetType="Control">
        <Style.Resources>
            <Style x:Key="A_Style_FZMaterial_LoadingMaterial" TargetType="local:FZMaterial">
                <Setter Property="Stretch" Value="UniformToFill" />
                <Setter Property="VerticalAlignment" Value="Center" />
                <Setter Property="HorizontalAlignment" Value="Center" />
                <Setter Property="GreedyMeasure" Value="True" />
            </Style>
        </Style.Resources>
        <Style.Setters>
            <Setter Property="Template">
                <Setter.Value>
                    <ControlTemplate>
                        <Grid x:Name="BackgroundSlide" RenderTransformOrigin="0.5, 0.5">
                            
                            <Grid.RenderTransform>
                                <TransformGroup>
                                    <ScaleTransform/>
                                    <TranslateTransform/>
                                </TransformGroup>
                            </Grid.RenderTransform>
                            <local:FZMaterial x:Name="Current"
                                              Style="{StaticResource A_Style_FZMaterial_LoadingMaterial}" 
                                              ImageSource="{Binding CurrentImageBackground, NotifyOnTargetUpdated=True}"/>
                            <local:FZMaterial x:Name="Previous"
                                              Style="{StaticResource A_Style_FZMaterial_LoadingMaterial}" 
                                              local:PropertyChangeHistory.Input="{Binding CurrentImageBackground}"
                                              ImageSource="{Binding Path=(local:PropertyChangeHistory.Previous), RelativeSource={RelativeSource Self}}"/>
                        </Grid>
                        <ControlTemplate.Triggers>
                            <EventTrigger RoutedEvent="Binding.TargetUpdated">
                                <BeginStoryboard Storyboard="{StaticResource A_Storyboard_CyclingLoadingBackground_OpacityBlendingBetweenImages}"/>
                            </EventTrigger>
                            <DataTrigger Binding="{Binding CurrentImageAnimation}" Value="{Static ImageAnimType.ZoomIn}">
                                <DataTrigger.EnterActions>
                                    <BeginStoryboard Storyboard="{StaticResource A_Storyboard_CyclingLoadingBackground_ZoomIn}"/>
                                </DataTrigger.EnterActions>
                            </DataTrigger>
                            <DataTrigger Binding="{Binding CurrentImageAnimation}" Value="{Static ImageAnimType.TranslationRight}">
                                <DataTrigger.EnterActions>
                                    <BeginStoryboard Storyboard="{StaticResource A_Storyboard_CyclingLoadingBackground_TranslationRight}"/>
                                </DataTrigger.EnterActions>
                            </DataTrigger>
                        </ControlTemplate.Triggers>
                    </ControlTemplate>
                </Setter.Value>
            </Setter>
        </Style.Setters>
    </Style>

    <Style x:Key="A_Style_Control_Loading_ControllerMappingIE" TargetType="Control">
        <Style.Setters>
            <Setter Property="Template">
                <Setter.Value>
                    <ControlTemplate>
                        <Grid Style="{StaticResource A_Style_FrameworkElement_LayoutRoot}">
                            <Control Style="{StaticResource A_Style_Control_ControllerMapping}" Visibility="{Binding IsWheel, Converter={StaticResource A_FZBooleanToVisibilityConverter_Inverse}}" VerticalAlignment="Center" HorizontalAlignment="Center"/>
                            <Control Style="{StaticResource A_Style_Control_WheelMapping}" Visibility="{Binding IsWheel, Converter={StaticResource A_FZBooleanToVisibilityConverter}}" VerticalAlignment="Center" HorizontalAlignment="Center"/>
                            <local:FZTextBlock Text="{local:Loc Main.IDS_Loading_ControllerDesc}" Margin="76,53" Style="{StaticResource A_Style_FZTextBlock_Heading_Small}" FontSize="32" Color="{StaticResource A_Color_SubHeader_Text}" VerticalAlignment="Bottom" HorizontalAlignment="Center"/>
                        </Grid>
                    </ControlTemplate>
                </Setter.Value>
            </Setter>
        </Style.Setters>
    </Style>

    <Double x:Key="A_LoadingScreenText_Scale_Minimum">0.92</Double>
    <Double x:Key="A_LoadingScreenText_Scale_Maximum">1</Double>

    <Double x:Key="A_LoadingScreenText_TrackingAdjust_Minimum">0.15</Double>
    <Double x:Key="A_LoadingScreenText_TrackingAdjust_Maximum">0.15</Double>

    <Double x:Key="A_LoadingScreenText_Opacity_Shown">1</Double>

    <Style x:Key="A_Style_FZTextBlock_TransitionTitle"
               TargetType="{x:Type local:FZTextBlock}">
        <Setter Property="FontFamily" Value="Horizon_C"/>
        <Setter Property="LineAdjust" Value="0"/>
        <Setter Property="Color" Value="{StaticResource H_Color_Primary_White}" />
        <Setter Property="CapHeight" Value="58" />
        <Setter Property="VerticalAlignment" Value="Center" />
        <Setter Property="HorizontalAlignment" Value="Center" />
        <Setter Property="TextAlignment" Value="Center" />
        <Setter Property="Opacity" Value="0" />
        <Setter Property="TrackingAdjust" Value="{StaticResource A_LoadingScreenText_TrackingAdjust_Minimum}" />
        <Setter Property="TextWrapping" Value="NoWrap"/>
        <Setter Property="Effect" Value="{StaticResource A_DropShadowEffect_DefaultHud}"/>
    </Style>

    <Style x:Key="A_Style_FZTextBlock_TransitionSubTitle"
               TargetType="{x:Type local:FZTextBlock}"
               BasedOn="{StaticResource A_Style_FZTextBlock_TransitionTitle}">
    </Style>
</ResourceDictionary>
