<ResourceDictionary
    xmlns:local="clr-namespace:ForzaUI"
    xmlns:System="clr-namespace:System;assembly=mscorlib"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
    <!-- Resource dictionary entries should be defined here. -->

    <KeyTime x:Key="A_KeyTime_Transition_ElementIn">0:0:0.3</KeyTime>
    <Duration x:Key="A_Duration_Transition_ElementIn">0:0:0.3</Duration>
    <KeyTime x:Key="A_KeyTime_Transition_ElementOut">0:0:0.2</KeyTime>
    <Duration x:Key="A_Duration_Transition_ElementOut">0:0:0.2</Duration>
    <Duration x:Key="A_Duration_Transition_Spread">0:0:0.0</Duration>
    <Duration x:Key="A_Duration_Transition_Delay">0:0:0.15</Duration>
    <System:Double x:Key="A_Double_TransitionZOffset_Outwards">-600</System:Double>
    <System:Double x:Key="A_Double_TransitionZOffset_Inwards">300</System:Double>

    <Style x:Key="A_Style_FrameworkElement_DefaultTransition" TargetType="{x:Type FrameworkElement}">
        <Style.Resources>
            <local:UIStoryboard x:Key="PART_transition_in" DurationOverride="{StaticResource A_Duration_Transition_ElementIn}">
                <DoubleAnimationUsingKeyFrames Storyboard.TargetProperty="(UIElement.Opacity)" Storyboard.TargetName="{x:Null}">
                    <EasingDoubleKeyFrame KeyTime="0:0:1" Value="1"/>
                </DoubleAnimationUsingKeyFrames>
                <DoubleAnimationUsingKeyFrames Storyboard.TargetProperty="(local:ZPanel.ZOffset)" Storyboard.TargetName="{x:Null}">
                    <EasingDoubleKeyFrame KeyTime="0:0:1"
                        Value="0"
                        EasingFunction="{local:QuarticEasing EasingMode=EaseOut}"/>
                </DoubleAnimationUsingKeyFrames>
            </local:UIStoryboard>
            <local:UIStoryboard x:Key="transition_in_forward_root" DurationOverride="{StaticResource A_Duration_Transition_ElementIn}">
                <DoubleAnimationUsingKeyFrames Storyboard.TargetProperty="(UIElement.Opacity)" Storyboard.TargetName="{x:Null}">
                    <EasingDoubleKeyFrame KeyTime="0:0:1" Value="1"/>
                </DoubleAnimationUsingKeyFrames>
                <DoubleAnimationUsingKeyFrames Storyboard.TargetProperty="(local:ZPanel.ZOffset)" Storyboard.TargetName="{x:Null}">
                    <EasingDoubleKeyFrame KeyTime="0:0:1"
                        Value="0"
                        EasingFunction="{local:QuarticEasing EasingMode=EaseOut}"/>
                </DoubleAnimationUsingKeyFrames>
            </local:UIStoryboard>
            <local:UIStoryboard x:Key="PART_transition_out_forward" DurationOverride="{StaticResource A_Duration_Transition_ElementOut}">
                <DoubleAnimationUsingKeyFrames Storyboard.TargetProperty="(UIElement.Opacity)" Storyboard.TargetName="{x:Null}">
                    <EasingDoubleKeyFrame KeyTime="0:0:1" Value="0"/>
                </DoubleAnimationUsingKeyFrames>
                <DoubleAnimationUsingKeyFrames Storyboard.TargetProperty="(local:ZPanel.ZOffset)" Storyboard.TargetName="{x:Null}">
                    <EasingDoubleKeyFrame KeyTime="0:0:1"
                        Value="{StaticResource A_Double_TransitionZOffset_Outwards}"
                        EasingFunction="{local:QuadraticEasing EasingMode=EaseIn}"/>
                </DoubleAnimationUsingKeyFrames>
            </local:UIStoryboard>
            <local:UIStoryboard x:Key="PART_transition_out_back" DurationOverride="{StaticResource A_Duration_Transition_ElementOut}">
                <DoubleAnimationUsingKeyFrames Storyboard.TargetProperty="(UIElement.Opacity)" Storyboard.TargetName="{x:Null}">
                    <EasingDoubleKeyFrame KeyTime="0:0:1" Value="0"/>
                </DoubleAnimationUsingKeyFrames>
                <DoubleAnimationUsingKeyFrames Storyboard.TargetProperty="(local:ZPanel.ZOffset)" Storyboard.TargetName="{x:Null}">
                    <EasingDoubleKeyFrame KeyTime="0:0:1"
                        Value="{StaticResource A_Double_TransitionZOffset_Inwards}"
                        EasingFunction="{local:QuadraticEasing EasingMode=EaseIn}"/>
                </DoubleAnimationUsingKeyFrames>
            </local:UIStoryboard>
            <local:UIStoryboard x:Key="transition_out_back_root" DurationOverride="{StaticResource A_Duration_Transition_ElementOut}">
                <DoubleAnimationUsingKeyFrames Storyboard.TargetProperty="(UIElement.Opacity)" Storyboard.TargetName="{x:Null}">
                    <EasingDoubleKeyFrame KeyTime="0:0:1" Value="0"/>
                </DoubleAnimationUsingKeyFrames>
                <DoubleAnimationUsingKeyFrames Storyboard.TargetProperty="(local:ZPanel.ZOffset)" Storyboard.TargetName="{x:Null}">
                    <EasingDoubleKeyFrame KeyTime="0:0:1"
                        Value="{StaticResource A_Double_TransitionZOffset_Inwards}"
                        EasingFunction="{local:QuadraticEasing EasingMode=EaseIn}"/>
                </DoubleAnimationUsingKeyFrames>
            </local:UIStoryboard>
        </Style.Resources>
        <Setter Property="Opacity" Value="1" />
        <Setter Property="local:ZPanel.ZOffset" Value="0" />
    </Style>

    <Duration x:Key="A_Duration_Transition_TiledMenu_Spread">0:0:0.25</Duration>
    <Duration x:Key="A_Duration_Transition_TiledMenu_FastSpread">0:0:0.125</Duration>
    <Duration x:Key="A_Duration_Transition_TiledMenu_Delay">0:0:0.450</Duration>
    <Duration x:Key="A_Duration_Transition_TiledMenu_FastDelay">0:0:0.325</Duration>
    <Duration x:Key="A_Duration_Transition_TiledMenu_ElementRootMenu">0:0:0.533</Duration>
    <Duration x:Key="A_Duration_Transition_TiledMenu_RootDelay">0:0:0.783</Duration>

    <KeyTime x:Key="A_KeyTime_Transition_TiledMenu_RootMenu_FadeInRatio">0:0:0.3</KeyTime>
    <KeyTime x:Key="A_KeyTime_Transition_TiledMenu_RootMenu_FadeOutRatio">0:0:0.55</KeyTime>

    <Style x:Key="A_Style_FrameworkElement_TiledMenuTransition" TargetType="{x:Type FrameworkElement}" BasedOn="{StaticResource A_Style_FrameworkElement_DefaultTransition}">
        <Style.Resources>
            <local:UIStoryboard x:Key="transition_in_forward_root" DurationOverride="{StaticResource A_Duration_Transition_TiledMenu_ElementRootMenu}">
                <DoubleAnimationUsingKeyFrames Storyboard.TargetProperty="(UIElement.Opacity)" Storyboard.TargetName="{x:Null}">
                    <LinearDoubleKeyFrame KeyTime="{StaticResource A_KeyTime_Transition_TiledMenu_RootMenu_FadeInRatio}" Value="1"/>
                </DoubleAnimationUsingKeyFrames>
                <DoubleAnimationUsingKeyFrames Storyboard.TargetProperty="(local:ZPanel.ZOffset)" Storyboard.TargetName="{x:Null}">
                    <SplineDoubleKeyFrame KeyTime="0:0:1.0" Value="0" KeySpline="0.3,0,0.1,1.0"/>
                </DoubleAnimationUsingKeyFrames>
            </local:UIStoryboard>
            <local:UIStoryboard x:Key="transition_out_back_root" DurationOverride="{StaticResource A_Duration_Transition_TiledMenu_ElementRootMenu}">
                <DoubleAnimationUsingKeyFrames Storyboard.TargetProperty="(UIElement.Opacity)" Storyboard.TargetName="{x:Null}">
                    <LinearDoubleKeyFrame KeyTime="{StaticResource A_KeyTime_Transition_TiledMenu_RootMenu_FadeOutRatio}" Value="0"/>
                </DoubleAnimationUsingKeyFrames>
                <DoubleAnimationUsingKeyFrames Storyboard.TargetProperty="(local:ZPanel.ZOffset)" Storyboard.TargetName="{x:Null}">
                    <EasingDoubleKeyFrame KeyTime="0:0:1.0" Value="1250"
                        EasingFunction="{local:CircleEasing EasingMode=EaseInOut}"/>
                </DoubleAnimationUsingKeyFrames>
            </local:UIStoryboard>
        </Style.Resources>
        <Setter Property="local:UIPageTransitionManager.TransitionIndex" Value="{Binding (local:UIPageTransitionManager.TransitionIndex), RelativeSource={RelativeSource TemplatedParent}}"/>
    </Style>

    <Style x:Key="A_Style_FrameworkElement_FadeOnlyTransition" TargetType="{x:Type FrameworkElement}">
        <Style.Resources>
            <local:UIStoryboard x:Key="PART_transition_in" DurationOverride="{StaticResource A_Duration_Transition_ElementIn}">
                <DoubleAnimationUsingKeyFrames Storyboard.TargetProperty="(UIElement.Opacity)" Storyboard.TargetName="{x:Null}">
                    <EasingDoubleKeyFrame KeyTime="0:0:1" Value="1"/>
                </DoubleAnimationUsingKeyFrames>
            </local:UIStoryboard>
            <local:UIStoryboard x:Key="transition_in_forward_root" DurationOverride="{StaticResource A_Duration_Transition_ElementIn}">
                <DoubleAnimationUsingKeyFrames Storyboard.TargetProperty="(UIElement.Opacity)" Storyboard.TargetName="{x:Null}">
                    <EasingDoubleKeyFrame KeyTime="0:0:1" Value="1"/>
                </DoubleAnimationUsingKeyFrames>
            </local:UIStoryboard>
            <local:UIStoryboard x:Key="PART_transition_out_forward" DurationOverride="{StaticResource A_Duration_Transition_ElementOut}">
                <DoubleAnimationUsingKeyFrames Storyboard.TargetProperty="(UIElement.Opacity)" Storyboard.TargetName="{x:Null}">
                    <EasingDoubleKeyFrame KeyTime="0:0:1" Value="0"/>
                </DoubleAnimationUsingKeyFrames>
            </local:UIStoryboard>
            <local:UIStoryboard x:Key="PART_transition_out_back" DurationOverride="{StaticResource A_Duration_Transition_ElementOut}">
                <DoubleAnimationUsingKeyFrames Storyboard.TargetProperty="(UIElement.Opacity)" Storyboard.TargetName="{x:Null}">
                    <EasingDoubleKeyFrame KeyTime="0:0:1" Value="0"/>
                </DoubleAnimationUsingKeyFrames>
            </local:UIStoryboard>
            <local:UIStoryboard x:Key="transition_out_back_root" DurationOverride="{StaticResource A_Duration_Transition_ElementOut}">
                <DoubleAnimationUsingKeyFrames Storyboard.TargetProperty="(UIElement.Opacity)" Storyboard.TargetName="{x:Null}">
                    <EasingDoubleKeyFrame KeyTime="0:0:1" Value="0"/>
                </DoubleAnimationUsingKeyFrames>
            </local:UIStoryboard>
        </Style.Resources>
        <Setter Property="Opacity" Value="1" />
    </Style>

    <Style x:Key="A_Style_FrameworkElement_ScreenBlurTransition"
           TargetType="{x:Type FrameworkElement}"
           BasedOn="{StaticResource A_Style_FrameworkElement_FadeOnlyTransition}">
        <Style.Resources>
            <local:UIStoryboard x:Key="transition_in_forward_root" DurationOverride="{StaticResource A_Duration_Transition_TiledMenu_ElementRootMenu}">
                <DoubleAnimationUsingKeyFrames Storyboard.TargetProperty="(UIElement.Opacity)" Storyboard.TargetName="{x:Null}">
                    <LinearDoubleKeyFrame KeyTime="{StaticResource A_KeyTime_Transition_TiledMenu_RootMenu_FadeInRatio}" Value="1"/>
                </DoubleAnimationUsingKeyFrames>
            </local:UIStoryboard>
            <local:UIStoryboard x:Key="transition_out_back_root" DurationOverride="{StaticResource A_Duration_Transition_TiledMenu_ElementRootMenu}">
                <DoubleAnimationUsingKeyFrames Storyboard.TargetProperty="(UIElement.Opacity)" Storyboard.TargetName="{x:Null}">
                    <LinearDoubleKeyFrame KeyTime="{StaticResource A_KeyTime_Transition_TiledMenu_RootMenu_FadeOutRatio}" Value="0"/>
                </DoubleAnimationUsingKeyFrames>
            </local:UIStoryboard>
        </Style.Resources>
        <Setter Property="local:UIPageTransitionManager.TransitionIndex"
                Value="0" />
        <Setter Property="local:UIPageTransitionManager.TransitionTags"
                Value="ScreenBlur" />
    </Style>

    <Style x:Key="A_Style_FrameworkElement_SnapTransition" TargetType="{x:Type FrameworkElement}">
        <Style.Resources>
            <local:UIStoryboard x:Key="PART_transition_in" DurationOverride="{StaticResource A_Duration_Transition_ElementIn}">
                <DoubleAnimationUsingKeyFrames Storyboard.TargetProperty="(UIElement.Opacity)" Storyboard.TargetName="{x:Null}">
                    <DiscreteDoubleKeyFrame KeyTime="0:0:0" Value="1"/>
                </DoubleAnimationUsingKeyFrames>
            </local:UIStoryboard>
            <local:UIStoryboard x:Key="transition_in_forward_root" DurationOverride="{StaticResource A_Duration_Transition_ElementIn}">
                <DoubleAnimationUsingKeyFrames Storyboard.TargetProperty="(UIElement.Opacity)" Storyboard.TargetName="{x:Null}">
                    <DiscreteDoubleKeyFrame KeyTime="0:0:0" Value="1"/>
                </DoubleAnimationUsingKeyFrames>
            </local:UIStoryboard>
            <local:UIStoryboard x:Key="PART_transition_out_forward" DurationOverride="{StaticResource A_Duration_Transition_ElementOut}">
                <DoubleAnimationUsingKeyFrames Storyboard.TargetProperty="(UIElement.Opacity)" Storyboard.TargetName="{x:Null}">
                    <DiscreteDoubleKeyFrame KeyTime="0:0:1" Value="0"/>
                </DoubleAnimationUsingKeyFrames>
            </local:UIStoryboard>
            <local:UIStoryboard x:Key="PART_transition_out_back" DurationOverride="{StaticResource A_Duration_Transition_ElementOut}">
                <DoubleAnimationUsingKeyFrames Storyboard.TargetProperty="(UIElement.Opacity)" Storyboard.TargetName="{x:Null}">
                    <DiscreteDoubleKeyFrame KeyTime="0:0:1" Value="0"/>
                </DoubleAnimationUsingKeyFrames>
            </local:UIStoryboard>
            <local:UIStoryboard x:Key="transition_out_back_root" DurationOverride="{StaticResource A_Duration_Transition_ElementOut}">
                <DoubleAnimationUsingKeyFrames Storyboard.TargetProperty="(UIElement.Opacity)" Storyboard.TargetName="{x:Null}">
                    <DiscreteDoubleKeyFrame KeyTime="0:0:1" Value="0"/>
                </DoubleAnimationUsingKeyFrames>
            </local:UIStoryboard>
        </Style.Resources>
        <Setter Property="Opacity" Value="0" />
    </Style>

    <Style x:Key="H_Style_PostRaceTransition" TargetType="{Type FrameworkElement}">
        <Style.Resources>
            <UIStoryboard x:Key="PART_transition_in" DurationOverride="{StaticResource A_Duration_Transition_ElementIn}">
                <DoubleAnimationUsingKeyFrames Storyboard.TargetProperty="(UIElement.Opacity)" Storyboard.TargetName="{x:Null}">
                    <DiscreteDoubleKeyFrame KeyTime="0:0:0" Value="0"/>
                    <EasingDoubleKeyFrame KeyTime="0:0:0.5" Value="1" EasingFunction="{QuarticEasing EasingMode=EaseOut}"/>
                    <DiscreteDoubleKeyFrame KeyTime="0:0:1" Value="1"/>
                </DoubleAnimationUsingKeyFrames>
                <DoubleAnimationUsingKeyFrames Storyboard.TargetProperty="(UIElement.RenderTransform).(TranslateTransform.X)" Storyboard.TargetName="{x:Null}">
                    <DiscreteDoubleKeyFrame KeyTime="0:0:0" Value="718"/>
                    <EasingDoubleKeyFrame KeyTime="0:0:1" Value="0" EasingFunction="{local:QuarticEasing EasingMode=EaseOut}"/>
                </DoubleAnimationUsingKeyFrames>
                <ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="(UIElement.Effect)" Storyboard.TargetName="{Null}" Duration="0:0:1" FillBehavior="Stop">
                    <DiscreteObjectKeyFrame KeyTime="0:0:0">
                        <DiscreteObjectKeyFrame.Value>
                            <MotionBlurEffect/>
                        </DiscreteObjectKeyFrame.Value>
                    </DiscreteObjectKeyFrame>
                </ObjectAnimationUsingKeyFrames>
            </UIStoryboard>
            <UIStoryboard x:Key="PART_transition_out_forward" DurationOverride="{StaticResource A_Duration_Transition_ElementOut}">
                <DoubleAnimationUsingKeyFrames Storyboard.TargetProperty="(UIElement.Opacity)" Storyboard.TargetName="{x:Null}">
                    <EasingDoubleKeyFrame KeyTime="0:0:1" Value="0"/>
                </DoubleAnimationUsingKeyFrames>
            </UIStoryboard>
            <UIStoryboard x:Key="PART_transition_out_back" DurationOverride="{StaticResource A_Duration_Transition_ElementOut}">
                <DoubleAnimationUsingKeyFrames Storyboard.TargetProperty="(UIElement.Opacity)" Storyboard.TargetName="{x:Null}">
                    <EasingDoubleKeyFrame KeyTime="0:0:1" Value="0"/>
                </DoubleAnimationUsingKeyFrames>
            </UIStoryboard>
        </Style.Resources>
        <Setter Property="Opacity" Value="1" />
        <Setter Property="Effect" Value="{Null}"/>
        <Setter Property="RenderTransformOrigin" Value="0.5, 0.5"/>
        <Setter Property="RenderTransform">
            <Setter.Value>
                <TranslateTransform />
            </Setter.Value>
        </Setter>
    </Style>

    <Style x:Key="A_Style_FrameworkElement_SlideTransition_Base" TargetType="{x:Type FrameworkElement}">
        <Style.Resources>
            <DoubleAnimationUsingKeyFrames x:Key="Animation_Opacity_Show"
                Storyboard.TargetProperty="(UIElement.Opacity)"
                Storyboard.TargetName="{x:Null}"
                Duration="{StaticResource A_Duration_Transition_ElementIn}"
                FillBehavior="Stop">
                <DiscreteDoubleKeyFrame KeyTime="0%" Value="0"/>
                <EasingDoubleKeyFrame KeyTime="25%" Value="1"/>
            </DoubleAnimationUsingKeyFrames>
            <DoubleAnimationUsingKeyFrames x:Key="Animation_Opacity_Hide"
                Storyboard.TargetProperty="(UIElement.Opacity)"
                Storyboard.TargetName="{x:Null}"
                Duration="{StaticResource A_Duration_Transition_ElementOut}">
                <DiscreteDoubleKeyFrame KeyTime="75%" Value="1"/>
                <EasingDoubleKeyFrame KeyTime="100%" Value="0"/>
            </DoubleAnimationUsingKeyFrames>
            <ObjectAnimationUsingKeyFrames x:Key="Animation_MotionBlurEffect_Show"
                Storyboard.TargetProperty="(UIElement.Effect)"
                Storyboard.TargetName="{x:Null}"
                Duration="{StaticResource A_Duration_Transition_ElementIn}"
                FillBehavior="Stop">
                <DiscreteObjectKeyFrame KeyTime="0%">
                    <DiscreteObjectKeyFrame.Value>
                        <MotionBlurEffect />
                    </DiscreteObjectKeyFrame.Value>
                </DiscreteObjectKeyFrame>
            </ObjectAnimationUsingKeyFrames>
            <ObjectAnimationUsingKeyFrames x:Key="Animation_MotionBlurEffect_Hide"
                Storyboard.TargetProperty="(UIElement.Effect)"
                Storyboard.TargetName="{x:Null}"
                Duration="{StaticResource A_Duration_Transition_ElementOut}"
                FillBehavior="Stop">
                <DiscreteObjectKeyFrame KeyTime="0%">
                    <DiscreteObjectKeyFrame.Value>
                        <MotionBlurEffect />
                    </DiscreteObjectKeyFrame.Value>
                </DiscreteObjectKeyFrame>
            </ObjectAnimationUsingKeyFrames>
            <Double x:Key="Double_Offset_Left">-960</Double>
            <Double x:Key="Double_Offset_Right">960</Double>
            <QuadraticEase x:Key="Easing_Translate_Show" EasingMode="EaseOut"/>
            <QuadraticEase x:Key="Easing_Translate_Hide" EasingMode="EaseIn"/>
        </Style.Resources>
        <Setter Property="Opacity" Value="1" />
        <Setter Property="RenderTransformOrigin" Value="0.5,0.5" />
        <Setter Property="RenderTransform">
            <Setter.Value>
                <TranslateTransform />
            </Setter.Value>
        </Setter>
    </Style>

    <Style x:Key="A_Style_FrameworkElement_SlideLeftToRightTransition" TargetType="{x:Type FrameworkElement}" BasedOn="{StaticResource A_Style_FrameworkElement_SlideTransition_Base}">
        <Style.Resources>
            <DoubleAnimationUsingKeyFrames x:Key="Animation_TranslateX_Show"
                Storyboard.TargetProperty="(UIElement.RenderTransform).(TranslateTransform.X)"
                Storyboard.TargetName="{x:Null}"
                Duration="{StaticResource A_Duration_Transition_ElementIn}"
                FillBehavior="Stop">
                <DiscreteDoubleKeyFrame KeyTime="0%" Value="{StaticResource Double_Offset_Left}" />
                <EasingDoubleKeyFrame KeyTime="100%" Value="0" EasingFunction="{StaticResource Easing_Translate_Show}" />
            </DoubleAnimationUsingKeyFrames>
            <DoubleAnimationUsingKeyFrames x:Key="Animation_TranslateX_Hide"
                Storyboard.TargetProperty="(UIElement.RenderTransform).(TranslateTransform.X)"
                Storyboard.TargetName="{x:Null}"
                Duration="{StaticResource A_Duration_Transition_ElementOut}"
                FillBehavior="Stop">
                <DiscreteDoubleKeyFrame KeyTime="0%" Value="0" />
                <EasingDoubleKeyFrame KeyTime="100%" Value="{StaticResource Double_Offset_Right}" EasingFunction="{StaticResource Easing_Translate_Hide}" />
            </DoubleAnimationUsingKeyFrames>

            <UIStoryboard x:Key="PART_transition_in">
                <StaticResourceExtension ResourceKey="Animation_Opacity_Show"/>
                <StaticResourceExtension ResourceKey="Animation_MotionBlurEffect_Show"/>
                <StaticResourceExtension ResourceKey="Animation_TranslateX_Show"/>
            </UIStoryboard>
            <UIStoryboard x:Key="PART_transition_out_forward">
                <StaticResourceExtension ResourceKey="Animation_Opacity_Hide"/>
                <StaticResourceExtension ResourceKey="Animation_MotionBlurEffect_Hide"/>
                <StaticResourceExtension ResourceKey="Animation_TranslateX_Hide"/>
            </UIStoryboard>
            <UIStoryboard x:Key="PART_transition_out_back">
                <StaticResourceExtension ResourceKey="Animation_Opacity_Hide"/>
                <StaticResourceExtension ResourceKey="Animation_MotionBlurEffect_Hide"/>
                <StaticResourceExtension ResourceKey="Animation_TranslateX_Hide"/>
            </UIStoryboard>
        </Style.Resources>
    </Style>

    <Style x:Key="A_Style_FrameworkElement_SlideRightToLeftTransition" TargetType="{x:Type FrameworkElement}" BasedOn="{StaticResource A_Style_FrameworkElement_SlideTransition_Base}">
        <Style.Resources>
            <DoubleAnimationUsingKeyFrames x:Key="Animation_TranslateX_Show"
                Storyboard.TargetProperty="(UIElement.RenderTransform).(TranslateTransform.X)"
                Storyboard.TargetName="{x:Null}"
                Duration="{StaticResource A_Duration_Transition_ElementIn}"
                FillBehavior="Stop">
                <DiscreteDoubleKeyFrame KeyTime="0%" Value="{StaticResource Double_Offset_Right}" />
                <EasingDoubleKeyFrame KeyTime="100%" Value="0" EasingFunction="{StaticResource Easing_Translate_Show}" />
            </DoubleAnimationUsingKeyFrames>
            <DoubleAnimationUsingKeyFrames x:Key="Animation_TranslateX_Hide"
                Storyboard.TargetProperty="(UIElement.RenderTransform).(TranslateTransform.X)"
                Storyboard.TargetName="{x:Null}"
                Duration="{StaticResource A_Duration_Transition_ElementOut}"
                FillBehavior="Stop">
                <DiscreteDoubleKeyFrame KeyTime="0%" Value="0" />
                <EasingDoubleKeyFrame KeyTime="100%" Value="{StaticResource Double_Offset_Left}" EasingFunction="{StaticResource Easing_Translate_Hide}" />
            </DoubleAnimationUsingKeyFrames>

            <UIStoryboard x:Key="PART_transition_in">
                <StaticResourceExtension ResourceKey="Animation_Opacity_Show"/>
                <StaticResourceExtension ResourceKey="Animation_MotionBlurEffect_Show"/>
                <StaticResourceExtension ResourceKey="Animation_TranslateX_Show"/>
            </UIStoryboard>
            <UIStoryboard x:Key="PART_transition_out_forward">
                <StaticResourceExtension ResourceKey="Animation_Opacity_Hide"/>
                <StaticResourceExtension ResourceKey="Animation_MotionBlurEffect_Hide"/>
                <StaticResourceExtension ResourceKey="Animation_TranslateX_Hide"/>
            </UIStoryboard>
            <UIStoryboard x:Key="PART_transition_out_back">
                <StaticResourceExtension ResourceKey="Animation_Opacity_Hide"/>
                <StaticResourceExtension ResourceKey="Animation_MotionBlurEffect_Hide"/>
                <StaticResourceExtension ResourceKey="Animation_TranslateX_Hide"/>
            </UIStoryboard>
        </Style.Resources>
    </Style>

    <Style x:Key="A_Style_FrameworkElement_Relative_SlideRightToLeftIn_SlideLeftToRightOut_Transition" TargetType="{x:Type FrameworkElement}" BasedOn="{StaticResource A_Style_FrameworkElement_SlideTransition_Base}">
        <Style.Resources>
            <DoubleAnimationUsingKeyFrames x:Key="Animation_TranslateX_Show"
                Storyboard.TargetProperty="(RelativeTranslate.RelX)"
                Storyboard.TargetName="{x:Null}"
                Duration="{StaticResource A_Duration_Transition_ElementIn}"
                FillBehavior="Stop">
                <DiscreteDoubleKeyFrame KeyTime="0%" Value="1" />
                <EasingDoubleKeyFrame KeyTime="100%" Value="0" EasingFunction="{StaticResource Easing_Translate_Show}" />
            </DoubleAnimationUsingKeyFrames>
            <DoubleAnimationUsingKeyFrames x:Key="Animation_TranslateX_Hide"
                Storyboard.TargetProperty="(RelativeTranslate.RelX)"
                Storyboard.TargetName="{x:Null}"
                Duration="{StaticResource A_Duration_Transition_ElementOut}"
                FillBehavior="Stop">
                <DiscreteDoubleKeyFrame KeyTime="0%" Value="0" />
                <EasingDoubleKeyFrame KeyTime="100%" Value="1" EasingFunction="{StaticResource Easing_Translate_Hide}" />
            </DoubleAnimationUsingKeyFrames>

            <UIStoryboard x:Key="PART_transition_in">
                <StaticResourceExtension ResourceKey="Animation_Opacity_Show"/>
                <StaticResourceExtension ResourceKey="Animation_MotionBlurEffect_Show"/>
                <StaticResourceExtension ResourceKey="Animation_TranslateX_Show"/>
            </UIStoryboard>
            <UIStoryboard x:Key="PART_transition_out_forward">
                <StaticResourceExtension ResourceKey="Animation_Opacity_Hide"/>
                <StaticResourceExtension ResourceKey="Animation_MotionBlurEffect_Hide"/>
                <StaticResourceExtension ResourceKey="Animation_TranslateX_Hide"/>
            </UIStoryboard>
            <UIStoryboard x:Key="PART_transition_out_back">
                <StaticResourceExtension ResourceKey="Animation_Opacity_Hide"/>
                <StaticResourceExtension ResourceKey="Animation_MotionBlurEffect_Hide"/>
                <StaticResourceExtension ResourceKey="Animation_TranslateX_Hide"/>
            </UIStoryboard>
        </Style.Resources>
        <Setter Property="RenderTransform">
            <Setter.Value>
                <TranslateTransform 
                    X="{Binding Path=(RelativeTranslate.AbsX), RelativeSource={RelativeSource AncestorType=FrameworkElement}}"
                    Y="{Binding Path=(RelativeTranslate.AbsY), RelativeSource={RelativeSource AncestorType=FrameworkElement}}" />
            </Setter.Value>
        </Setter>
    </Style>

    <Style x:Key="A_Style_FrameworkElement_ShowUntilReadyToTransition_Transition" TargetType="{x:Type FrameworkElement}">
        <Style.Resources>
            <DoubleAnimationUsingKeyFrames x:Key="Animation_Opacity_Show"
                                           Storyboard.TargetProperty="(UIElement.Opacity)"
                                           Storyboard.TargetName="{x:Null}"
                                           FillBehavior="Stop">
                <EasingDoubleKeyFrame KeyTime="0:0:0" Value="0"/>
                <EasingDoubleKeyFrame KeyTime="0:0:1" Value="0"/>
                <EasingDoubleKeyFrame KeyTime="0:0:2" Value="1"/>
            </DoubleAnimationUsingKeyFrames>
            <DoubleAnimationUsingKeyFrames x:Key="Animation_Opacity_Hide"
                                           Storyboard.TargetProperty="(UIElement.Opacity)"
                                           Storyboard.TargetName="{x:Null}">
                <EasingDoubleKeyFrame KeyTime="0:0:0" Value="0"/>
            </DoubleAnimationUsingKeyFrames>
            <UIStoryboard x:Key="PART_transition_in">
                <StaticResourceExtension ResourceKey="Animation_Opacity_Hide"/>
            </UIStoryboard>
            <UIStoryboard x:Key="Storyboard_Opacity_FadeIn">
                <StaticResourceExtension ResourceKey="Animation_Opacity_Show"/>
            </UIStoryboard>
        </Style.Resources>
        <Style.Triggers>
            <EventTrigger RoutedEvent="FrameworkElement.Loaded">
                <local:BeginUIStoryboard Storyboard="{StaticResource Storyboard_Opacity_FadeIn}"/>
            </EventTrigger>
        </Style.Triggers>
        <Setter Property="Opacity" Value="1" />
    </Style>

    <Style x:Key="A_Style_FrameworkElement_DefaultTransition_0" TargetType="{x:Type FrameworkElement}" BasedOn="{StaticResource A_Style_FrameworkElement_DefaultTransition}">
        <Setter Property="local:UIPageTransitionManager.TransitionIndex" Value="0" />
    </Style>

    <Style x:Key="A_Style_FrameworkElement_FadeOnlyTransition_0" TargetType="{x:Type FrameworkElement}" BasedOn="{StaticResource A_Style_FrameworkElement_FadeOnlyTransition}">
        <Setter Property="local:UIPageTransitionManager.TransitionIndex" Value="0" />
    </Style>

    <Style x:Key="A_Style_FrameworkElement_SnapTransition_0" TargetType="{x:Type FrameworkElement}" BasedOn="{StaticResource A_Style_FrameworkElement_SnapTransition}">
        <Setter Property="local:UIPageTransitionManager.TransitionIndex" Value="0" />
    </Style>

    <Style x:Key="A_Style_FrameworkElement_DefaultTransition_1" TargetType="{x:Type FrameworkElement}" BasedOn="{StaticResource A_Style_FrameworkElement_DefaultTransition}">
        <Setter Property="local:UIPageTransitionManager.TransitionIndex" Value="1" />
    </Style>


    <Style x:Key="A_Style_FrameworkElement_DefaultTransition_2" TargetType="{x:Type FrameworkElement}" BasedOn="{StaticResource A_Style_FrameworkElement_DefaultTransition}">
        <Setter Property="local:UIPageTransitionManager.TransitionIndex" Value="2" />
    </Style>

    <Style x:Key="A_Style_FrameworkElement_DefaultTransition_3" TargetType="{x:Type FrameworkElement}" BasedOn="{StaticResource A_Style_FrameworkElement_DefaultTransition}">
        <Setter Property="local:UIPageTransitionManager.TransitionIndex" Value="3" />
    </Style>


    <Style x:Key="A_Style_FrameworkElement_TiledMenuTransition_0" TargetType="{x:Type FrameworkElement}" BasedOn="{StaticResource A_Style_FrameworkElement_TiledMenuTransition}">
        <Setter Property="local:UIPageTransitionManager.TransitionIndex" Value="0" />
    </Style>

    <Style x:Key="H_Style_PostRaceTransition_0" TargetType="{x:Type FrameworkElement}" BasedOn="{StaticResource H_Style_PostRaceTransition}">
        <Setter Property="UIPageTransitionManager.TransitionIndex" Value="0" />
    </Style>
    <Style x:Key="H_Style_PostRaceTransition_1" TargetType="{x:Type FrameworkElement}" BasedOn="{StaticResource H_Style_PostRaceTransition}">
        <Setter Property="UIPageTransitionManager.TransitionIndex" Value="1" />
    </Style>

    <Style x:Key="A_Style_FrameworkElement_SlideLeftToRightTransition_0" TargetType="{x:Type FrameworkElement}" BasedOn="{StaticResource A_Style_FrameworkElement_SlideLeftToRightTransition}">
        <Setter Property="UIPageTransitionManager.TransitionIndex" Value="0"/>
    </Style>

    <Style x:Key="A_Style_FrameworkElement_SlideRightToLeftTransition_0" TargetType="{x:Type FrameworkElement}" BasedOn="{StaticResource A_Style_FrameworkElement_SlideRightToLeftTransition}">
        <Setter Property="UIPageTransitionManager.TransitionIndex" Value="0"/>
    </Style>

    <Style x:Key="A_Style_FrameworkElement_SlideRightToLeftTransition_1" TargetType="{x:Type FrameworkElement}" BasedOn="{StaticResource A_Style_FrameworkElement_SlideRightToLeftTransition}">
        <Setter Property="UIPageTransitionManager.TransitionIndex" Value="1"/>
    </Style>

    <Style x:Key="A_Style_FrameworkElement_Relative_SlideRightToLeftIn_SlideLeftToRightOut_Transition_0" TargetType="{x:Type FrameworkElement}" BasedOn="{StaticResource A_Style_FrameworkElement_Relative_SlideRightToLeftIn_SlideLeftToRightOut_Transition}">
        <Setter Property="UIPageTransitionManager.TransitionIndex" Value="0"/>
    </Style>

    <Style x:Key="A_Style_FrameworkElement_ShowUntilReadyToTransition_Transition_0" TargetType="{x:Type FrameworkElement}" BasedOn="{StaticResource A_Style_FrameworkElement_ShowUntilReadyToTransition_Transition}">
        <Setter Property="UIPageTransitionManager.TransitionIndex" Value="0"/>
    </Style>

    <local:UIPageTransition x:Key="A_UIPageTransition_DefaultNoAudio"
        DurationSpread="{StaticResource A_Duration_Transition_Spread}"
        TransitionDelay="{StaticResource A_Duration_Transition_Delay}" />

    <local:UIPageTransition x:Key="A_UIPageTransition_DefaultNoAudio_Instant"
        DurationSpread="{StaticResource A_Duration_Transition_Spread}"
        TransitionDelay="0" />

    <local:UIPageTransition x:Key="A_UIPageTransition_MapIn"
        DurationSpread="{StaticResource A_Duration_Transition_Spread}"
        TransitionDelay="0"
        PlayAudioWithoutTransitionElements="True"
        AudioEvent="/Master/UI/Map/SFX_OpenMap"/>

    <local:UIPageTransition x:Key="A_UIPageTransition_MapOut"
        DurationSpread="{StaticResource A_Duration_Transition_Spread}"
        TransitionDelay="0"
        PlayAudioWithoutTransitionElements="True"
        AudioEvent="/Master/UI/Map/SFX_CloseMap"/>

    <local:UIPageTransitionManagerPreset x:Key="A_UIPageTransitionManagerPreset_Hud"
        TransitionInForwards="{StaticResource A_UIPageTransition_DefaultNoAudio}"
        TransitionInBack="{StaticResource A_UIPageTransition_DefaultNoAudio}"
        TransitionOutForwards="{StaticResource A_UIPageTransition_DefaultNoAudio}"
        TransitionOutBack="{StaticResource A_UIPageTransition_DefaultNoAudio}"/>

    <local:UIPageTransitionManagerPreset x:Key="A_UIPageTransitionManagerPreset_Map"
        TransitionInForwards="{StaticResource A_UIPageTransition_MapIn}"
        TransitionInBack="{StaticResource A_UIPageTransition_MapIn}"
        TransitionOutForwards="{StaticResource A_UIPageTransition_MapOut}"
        TransitionOutBack="{StaticResource A_UIPageTransition_MapOut}"/>

    <local:UIPageTransitionManagerPreset x:Key="A_UIPageTransitionManagerPreset_NoAudio"
        TransitionInForwards="{StaticResource A_UIPageTransition_DefaultNoAudio}"
        TransitionInBack="{StaticResource A_UIPageTransition_DefaultNoAudio}"
        TransitionOutForwards="{StaticResource A_UIPageTransition_DefaultNoAudio}"
        TransitionOutBack="{StaticResource A_UIPageTransition_DefaultNoAudio}"/>

    <local:UIPageTransitionManagerPreset x:Key="A_UIPageTransitionManagerPreset_NoAudio_Instant"
        TransitionInForwards="{StaticResource A_UIPageTransition_DefaultNoAudio_Instant}"
        TransitionInBack="{StaticResource A_UIPageTransition_DefaultNoAudio_Instant}"
        TransitionOutForwards="{StaticResource A_UIPageTransition_DefaultNoAudio_Instant}"
        TransitionOutBack="{StaticResource A_UIPageTransition_DefaultNoAudio_Instant}"/>

    <local:UIPageTransitionManagerPreset x:Key="A_UIPageTransitionManagerPreset_TiledRootMenu">
        <local:UIPageTransitionManagerPreset.TransitionInForwards>
            <local:UIPageTransition DurationSpread="{StaticResource A_Duration_Transition_TiledMenu_Spread}"
                TransitionDelay="{StaticResource A_Duration_Transition_TiledMenu_FastDelay}"
                AudioEvent="/Master/UI/PauseMenu/HZ2_SFX_UI_PauseMenu_Open_01"
                TransitionName="transition_in_forward_root"/>
        </local:UIPageTransitionManagerPreset.TransitionInForwards>
        <local:UIPageTransitionManagerPreset.TransitionInBack>
            <local:UIPageTransition DurationSpread="{StaticResource A_Duration_Transition_TiledMenu_Spread}"
                TransitionDelay="{StaticResource A_Duration_Transition_TiledMenu_Delay}"
                AudioEvent="/Master/UI/PauseMenu/HZ3_SFX_UI_PauseMenu_EnterAway_01"/>
        </local:UIPageTransitionManagerPreset.TransitionInBack>
        <local:UIPageTransitionManagerPreset.TransitionOutForwards>
            <local:UIPageTransition DurationSpread="{StaticResource A_Duration_Transition_TiledMenu_FastSpread}"
                TransitionDelay="{StaticResource A_Duration_Transition_TiledMenu_FastDelay}"
                AudioEvent="/Master/UI/PauseMenu/HZ3_SFX_UI_PauseMenu_ExitTowards_01"/>
        </local:UIPageTransitionManagerPreset.TransitionOutForwards>
        <local:UIPageTransitionManagerPreset.TransitionOutBack>
            <local:UIPageTransition DurationSpread="{StaticResource A_Duration_Transition_TiledMenu_Spread}"
                TransitionDelay="{StaticResource A_Duration_Transition_TiledMenu_RootDelay}"
                AudioEvent="/Master/UI/PauseMenu/HZ2_SFX_UI_PauseMenu_Close_01"
                TransitionName="transition_out_back_root"/>
        </local:UIPageTransitionManagerPreset.TransitionOutBack>
    </local:UIPageTransitionManagerPreset>

    <local:UIPageTransitionManagerPreset x:Key="A_UIPageTransitionManagerPreset_PauseMenu">
        <local:UIPageTransitionManagerPreset.TransitionInForwards>
            <local:UIPageTransition DurationSpread="{StaticResource A_Duration_Transition_TiledMenu_Spread}"
                TransitionDelay="{StaticResource A_Duration_Transition_TiledMenu_FastDelay}"
                AudioEvent="/Master/UI/PauseMenu/HZ5_SFX_UI_PauseMenu_Enter"/>
        </local:UIPageTransitionManagerPreset.TransitionInForwards>
        <local:UIPageTransitionManagerPreset.TransitionInBack>
            <local:UIPageTransition DurationSpread="{StaticResource A_Duration_Transition_TiledMenu_Spread}"
                TransitionDelay="{StaticResource A_Duration_Transition_TiledMenu_Delay}"
                AudioEvent="/Master/UI/PauseMenu/HZ3_SFX_UI_PauseMenu_EnterAway_01"/>
        </local:UIPageTransitionManagerPreset.TransitionInBack>
        <local:UIPageTransitionManagerPreset.TransitionOutForwards>
            <local:UIPageTransition DurationSpread="{StaticResource A_Duration_Transition_TiledMenu_FastSpread}"
                TransitionDelay="{StaticResource A_Duration_Transition_TiledMenu_FastDelay}"
                AudioEvent="/Master/UI/PauseMenu/HZ3_SFX_UI_PauseMenu_ExitTowards_01"/>
        </local:UIPageTransitionManagerPreset.TransitionOutForwards>
        <local:UIPageTransitionManagerPreset.TransitionOutBack>
            <local:UIPageTransition DurationSpread="{StaticResource A_Duration_Transition_TiledMenu_FastSpread}"
                TransitionDelay="{StaticResource A_Duration_Transition_TiledMenu_FastDelay}"
                AudioEvent="/Master/UI/PauseMenu/HZ5_SFX_UI_PauseMenu_Exit"
                TransitionName="PART_transition_out_forward"/>
        </local:UIPageTransitionManagerPreset.TransitionOutBack>
    </local:UIPageTransitionManagerPreset>

    <local:UIPageTransitionManagerPreset x:Key="A_UIPageTransitionManagerPreset_TiledSubMenu">
        <local:UIPageTransitionManagerPreset.TransitionInForwards>
            <local:UIPageTransition DurationSpread="{StaticResource A_Duration_Transition_TiledMenu_Spread}"
                TransitionDelay="0:0:0.05"
                AudioEvent="/Master/UI/PauseMenu/HZ2_SFX_UI_PauseMenu_Open_01"/>
        </local:UIPageTransitionManagerPreset.TransitionInForwards>
        <local:UIPageTransitionManagerPreset.TransitionInBack>
            <local:UIPageTransition DurationSpread="{StaticResource A_Duration_Transition_TiledMenu_Spread}"
                TransitionDelay="{StaticResource A_Duration_Transition_TiledMenu_Delay}"
                AudioEvent="/Master/UI/PauseMenu/HZ3_SFX_UI_PauseMenu_EnterAway_01"/>
        </local:UIPageTransitionManagerPreset.TransitionInBack>
        <local:UIPageTransitionManagerPreset.TransitionOutForwards>
            <local:UIPageTransition DurationSpread="{StaticResource A_Duration_Transition_TiledMenu_FastSpread}"
                TransitionDelay="{StaticResource A_Duration_Transition_TiledMenu_FastDelay}"
                AudioEvent="/Master/UI/PauseMenu/HZ3_SFX_UI_PauseMenu_ExitTowards_01"/>
        </local:UIPageTransitionManagerPreset.TransitionOutForwards>
        <local:UIPageTransitionManagerPreset.TransitionOutBack>
            <local:UIPageTransition DurationSpread="{StaticResource A_Duration_Transition_TiledMenu_FastSpread}"
                TransitionDelay="{StaticResource A_Duration_Transition_TiledMenu_FastDelay}"
                AudioEvent="/Master/UI/PauseMenu/HZ2_SFX_UI_PauseMenu_SubMenuClose_01"/>
        </local:UIPageTransitionManagerPreset.TransitionOutBack>
    </local:UIPageTransitionManagerPreset>

    <local:UIPageTransitionManagerPreset x:Key="A_UIPageTransitionManagerPreset_Menu">
        <local:UIPageTransitionManagerPreset.TransitionInForwards>
            <local:UIPageTransition DurationSpread="{StaticResource A_Duration_Transition_Spread}"
                TransitionDelay="{StaticResource A_Duration_Transition_Delay}"
                AudioEvent="/Master/UI/PauseMenu/HZ2_SFX_UI_PauseMenu_SubMenuOpen_01"/>
        </local:UIPageTransitionManagerPreset.TransitionInForwards>
        <local:UIPageTransitionManagerPreset.TransitionInBack>
            <local:UIPageTransition DurationSpread="{StaticResource A_Duration_Transition_Spread}"
                TransitionDelay="{StaticResource A_Duration_Transition_Delay}"
                AudioEvent="/Master/UI/GeneralMenu/HZ3_SFX_UI_GeneralMenu_EnterAway_01"/>
        </local:UIPageTransitionManagerPreset.TransitionInBack>
        <local:UIPageTransitionManagerPreset.TransitionOutForwards>
            <local:UIPageTransition DurationSpread="{StaticResource A_Duration_Transition_Spread}"
                TransitionDelay="{StaticResource A_Duration_Transition_Delay}"
                AudioEvent="/Master/UI/GeneralMenu/HZ3_SFX_UI_GeneralMenu_ExitTowards_01"/>
        </local:UIPageTransitionManagerPreset.TransitionOutForwards>
        <local:UIPageTransitionManagerPreset.TransitionOutBack>
            <local:UIPageTransition DurationSpread="{StaticResource A_Duration_Transition_Spread}"
                TransitionDelay="{StaticResource A_Duration_Transition_Delay}"
                AudioEvent="/Master/UI/PauseMenu/HZ2_SFX_UI_PauseMenu_SubMenuClose_01"/>
        </local:UIPageTransitionManagerPreset.TransitionOutBack>
    </local:UIPageTransitionManagerPreset>

    <local:UIPageTransitionManagerPreset x:Key="A_UIPageTransitionManagerPreset_PostRaceLeaderboard">
        <local:UIPageTransitionManagerPreset.TransitionInForwards>
            <local:UIPageTransition DurationSpread="{StaticResource A_Duration_Transition_Spread}"
                TransitionDelay="{StaticResource A_Duration_Transition_Delay}"
                AudioEvent="UI_PostRace_LeaderboardOpen"/>
        </local:UIPageTransitionManagerPreset.TransitionInForwards>
        <local:UIPageTransitionManagerPreset.TransitionInBack>
            <local:UIPageTransition DurationSpread="{StaticResource A_Duration_Transition_Spread}"
                TransitionDelay="{StaticResource A_Duration_Transition_Delay}"
                AudioEvent="UI_PostRace_LeaderboardOpen"/>
        </local:UIPageTransitionManagerPreset.TransitionInBack>
        <local:UIPageTransitionManagerPreset.TransitionOutForwards>
            <local:UIPageTransition DurationSpread="{StaticResource A_Duration_Transition_Spread}"
                TransitionDelay="{StaticResource A_Duration_Transition_Delay}"
                AudioEvent="UI_PostRace_LeaderboardClose"/>
        </local:UIPageTransitionManagerPreset.TransitionOutForwards>
        <local:UIPageTransitionManagerPreset.TransitionOutBack>
            <local:UIPageTransition DurationSpread="{StaticResource A_Duration_Transition_Spread}"
                TransitionDelay="{StaticResource A_Duration_Transition_Delay}"
                AudioEvent="UI_PostRace_LeaderboardClose"/>
        </local:UIPageTransitionManagerPreset.TransitionOutBack>
    </local:UIPageTransitionManagerPreset>

    <local:UIPageTransitionManagerPreset x:Key="A_UIPageTransitionManagerPreset_Popup">
        <local:UIPageTransitionManagerPreset.TransitionInForwards>
            <local:UIPageTransition DurationSpread="{StaticResource A_Duration_Transition_Spread}"
                TransitionDelay="{StaticResource A_Duration_Transition_Delay}"
                AudioEvent="/Master/UI/PopUpMenu/HZ2_SFX_HUD_PopUpMenu_Open_01"/>
        </local:UIPageTransitionManagerPreset.TransitionInForwards>
        <local:UIPageTransitionManagerPreset.TransitionInBack>
            <local:UIPageTransition DurationSpread="{StaticResource A_Duration_Transition_Spread}"
                TransitionDelay="{StaticResource A_Duration_Transition_Delay}"
                AudioEvent="/Master/UI/PopUpMenu/HZ3_SFX_UI_PopUpMenu_EnterAway_01"/>
        </local:UIPageTransitionManagerPreset.TransitionInBack>
        <local:UIPageTransitionManagerPreset.TransitionOutForwards>
            <local:UIPageTransition DurationSpread="{StaticResource A_Duration_Transition_Spread}"
                TransitionDelay="{StaticResource A_Duration_Transition_Delay}"
                AudioEvent="/Master/UI/PopUpMenu/HZ2_SFX_HUD_PopUpMenu_Close_01"/>
        </local:UIPageTransitionManagerPreset.TransitionOutForwards>
        <local:UIPageTransitionManagerPreset.TransitionOutBack>
            <local:UIPageTransition DurationSpread="{StaticResource A_Duration_Transition_Spread}"
                TransitionDelay="{StaticResource A_Duration_Transition_Delay}"
                AudioEvent="/Master/UI/PopUpMenu/HZ3_SFX_UI_PopUpMenu_ExitAway_01"/>
        </local:UIPageTransitionManagerPreset.TransitionOutBack>
    </local:UIPageTransitionManagerPreset>

    <Duration x:Key="A_Duration_Transition_Spread_PostRace_InOnly">0:0:0.3</Duration>
    <Duration x:Key="A_Duration_Transition_Delay_PostRace_InOnly">0:0:0.3</Duration>
    <local:UIPageTransitionManagerPreset x:Key="A_UIPageTransitionManagerPreset_PostRace">
        <local:UIPageTransitionManagerPreset.TransitionInForwards>
            <local:UIPageTransition
                DurationSpread="{StaticResource A_Duration_Transition_Spread_PostRace_InOnly}"
                TransitionDelay="{StaticResource A_Duration_Transition_Delay_PostRace_InOnly}"
                AudioEvent="UI_PostRace_TitleOn"/>
        </local:UIPageTransitionManagerPreset.TransitionInForwards>
        <local:UIPageTransitionManagerPreset.TransitionInBack>
            <local:UIPageTransition
                DurationSpread="{StaticResource A_Duration_Transition_Spread_PostRace_InOnly}"
                TransitionDelay="{StaticResource A_Duration_Transition_Delay_PostRace_InOnly}"
                AudioEvent="UI_PostRace_TitleOn"/>
        </local:UIPageTransitionManagerPreset.TransitionInBack>
        <local:UIPageTransitionManagerPreset.TransitionOutForwards>
            <local:UIPageTransition
                DurationSpread="{StaticResource A_Duration_Transition_Spread}"
                TransitionDelay="{StaticResource A_Duration_Transition_Delay}"
                AudioEvent="UI_PostRace_TitleOff"/>
        </local:UIPageTransitionManagerPreset.TransitionOutForwards>
        <local:UIPageTransitionManagerPreset.TransitionOutBack>
            <local:UIPageTransition
                DurationSpread="{StaticResource A_Duration_Transition_Spread}"
                TransitionDelay="{StaticResource A_Duration_Transition_Delay}"
                AudioEvent="UI_PostRace_TitleOff"/>
        </local:UIPageTransitionManagerPreset.TransitionOutBack>
    </local:UIPageTransitionManagerPreset>


    <!-- Animate RelativeTranslate.RelX for X axis movement. 1=all the way to the right, -1=all the way to the left -->
    <!-- This can deliberately target any FrameworkElement, but RelativeTranslate can also be used like a Decorator -->
    <Style x:Key="H_Style_RelativeRenderTranslate">
        <Setter Property="RenderTransform">
            <Setter.Value>
                <TranslateTransform 
                    X="{Binding (RelativeTranslate.AbsX), RelativeSource={RelativeSource AncestorType=FrameworkElement}}"
                    Y="{Binding (RelativeTranslate.AbsY), RelativeSource={RelativeSource AncestorType=FrameworkElement}}" />
            </Setter.Value>
        </Setter>
    </Style>

    <Style x:Key="{x:Type RelativeTranslate}" 
        BasedOn="{StaticResource H_Style_RelativeRenderTranslate}"/>
</ResourceDictionary>