Resources/XAML/Protect.xaml

<UserControl xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
             xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
             Style="{StaticResource Page_Style}" Background="Transparent" FontFamily="Trebuchet MS" FontSize="16"
        ToolTipService.InitialShowDelay="0"
        ToolTipService.ShowDuration="2147483647"
        ToolTipService.BetweenShowDelay="0"
        ToolTipService.ShowOnDisabled="True">
   <!-- The UserControl's 4 tooltip related elements are necessary for the style to appear properly and they only appear to this User Control/View -->
   <!-- Grid for Online Mode Tab - Removing the white border with negative margins -->
   <Grid x:Name="ParentGrid" Margin="-2.3,-2.3,-2.3,-2.3">
       <!-- Row definitions for the grid -->
       <Grid.RowDefinitions>
           <!-- Logger area Row -->
           <RowDefinition Height="200"/>
           <!-- Progress Bar Row -->
           <RowDefinition Height="10"/>
           <!-- Main Toggle Button Row -->
           <RowDefinition Height="Auto"/>
           <!-- Main Content Control for all other elements Row -->
           <RowDefinition Height="*"/>
           <!-- Execute button Row -->
           <RowDefinition Height="150"/>
       </Grid.RowDefinitions>
       <!-- Column definitions for the grid -->
       <Grid.ColumnDefinitions>
           <ColumnDefinition Width="*"/>
           <ColumnDefinition Width="*"/>
       </Grid.ColumnDefinitions>
       <!-- Logging Area -->
       <ScrollViewer x:Name="ScrollerForOutputTextBlock" Grid.Row="0" Grid.ColumnSpan="2" HorizontalScrollBarVisibility="Disabled" VerticalScrollBarVisibility="Auto" Margin="10,15,10,10">
           <!-- its max width is being dynamically set using code behind (PowerShell) -->
           <TextBox x:Name="OutputTextBlock" TextWrapping="Wrap" HorizontalAlignment="Stretch" VerticalAlignment="Stretch" Background="Transparent" BorderThickness="0" IsReadOnly="True" IsTabStop="False" Cursor="IBeam" FontSize="14" FontWeight="Bold"/>
       </ScrollViewer>
       <ProgressBar x:Name="MainProgressBar"
           Grid.Row="1"
           IsIndeterminate="True"
           Height="5"
           Background="Transparent"
           Foreground="DeepPink"
           Margin="30,2.5,30,2.5"
           Grid.ColumnSpan="2"
           BorderThickness="0" />
       <!-- ToggleButton -->
       <ToggleButton x:Name="MainTabControlToggle" ToolTip="Choose between Online or Offline modes" Foreground="White" Height="40" Width="170" FontSize="18" Grid.Row="2" Grid.ColumnSpan="2">
           <ToggleButton.Template>
               <ControlTemplate TargetType="ToggleButton">
                   <Border x:Name="Button1" Background="{StaticResource PinkGradient}" CornerRadius="20" Padding="1">
                       <Border x:Name="Button2" Background="{StaticResource GradientBLK}" Width="80" CornerRadius="20" HorizontalAlignment="Left">
                           <TextBlock x:Name="TextBlock1" Text="Online" HorizontalAlignment="Center" VerticalAlignment="Center" TextAlignment="Center"/>
                       </Border>
                   </Border>
                   <ControlTemplate.Triggers>
                       <Trigger Property="IsChecked" Value="True">
                           <Setter TargetName="Button2" Property="HorizontalAlignment" Value="Right"/>
                           <!-- The color can be changed to be different when the button is toggled vs when it's not -->
                           <Setter TargetName="Button1" Property="Background" Value="{StaticResource PinkGradient}"/>
                           <Setter TargetName="TextBlock1" Property="Text" Value="Offline"/>
                       </Trigger>
                   </ControlTemplate.Triggers>
               </ControlTemplate>
           </ToggleButton.Template>
       </ToggleButton>
       <!-- ContentControl to display content based on the ToggleButton's state -->
       <ContentControl Grid.Row="3" Grid.ColumnSpan="2" x:Name="MainContentControl">
           <ContentControl.Style>
               <Style TargetType="ContentControl" x:Name="MainContentControlStyle">
                   <Style.Triggers>
                       <DataTrigger Binding="{Binding ElementName=MainTabControlToggle, Path=IsChecked}" Value="False">
                           <Setter Property="Content">
                               <Setter.Value>
                                   <!-- Online Tab/Grid -->
                                   <Grid x:Name="Grid1" Margin="-2.3,-2.3,-2.3,-2.3">
                                       <!-- Row and Column definitions for the grid -->
                                       <Grid.RowDefinitions>
                                           <!-- This is for row 0 -->
                                           <RowDefinition Height="25"/>
                                           <!-- This is for row 1 -->
                                           <RowDefinition Height="4*" MaxHeight="215"/>
                                           <!-- This is for row 2 -->
                                           <RowDefinition Height="70"/>
                                           <!-- This is for row 3 -->
                                           <RowDefinition Height="30"/>
                                       </Grid.RowDefinitions>
                                       <Grid.ColumnDefinitions>
                                           <ColumnDefinition Width="*"/>
                                           <ColumnDefinition Width="*"/>
                                       </Grid.ColumnDefinitions>
                                       <!-- Categories and Sub-Categories text blocks -->
                                       <TextBlock x:Name="TextBlockCategories" Grid.Row="0" Grid.Column="0" Grid.ColumnSpan="1" HorizontalAlignment="Center" VerticalAlignment="bottom" Text="Categories" Foreground="#FFFA00FF" FontSize="18">
                                           <TextBlock.Effect>
                                               <DropShadowEffect ShadowDepth="6" Direction="320" Color="#FFF485F0" Opacity="100" BlurRadius="10" RenderingBias="Quality"/>
                                           </TextBlock.Effect>
                                       </TextBlock>
                                       <TextBlock x:Name="TextBlockSubCategories" Grid.Row="0" Grid.Column="1" Grid.ColumnSpan="1" HorizontalAlignment="Center" VerticalAlignment="bottom" Text="Sub-Categories" Foreground="#FFFA00FF" FontSize="18">
                                           <TextBlock.Effect>
                                               <DropShadowEffect ShadowDepth="6" Direction="320" Color="#FFF485F0" Opacity="100" BlurRadius="10" RenderingBias="Quality"/>
                                           </TextBlock.Effect>
                                       </TextBlock>
                                       <Grid Name="InnerGrid1" Grid.Row="1" Grid.Column="0" Grid.ColumnSpan="1" Margin="10">
                                           <Grid.RowDefinitions>
                                               <RowDefinition Height="Auto"/>
                                               <RowDefinition Height="*"/>
                                           </Grid.RowDefinitions>
                                           <CheckBox Grid.Row="0" Grid.Column="0" Grid.ColumnSpan="1" Content="Select All" VerticalContentAlignment="Center" Margin="7,0,0,2" Padding="10,10,40,10" x:Name="SelectAllCategories" Template="{StaticResource CustomCheckBoxTemplate}"/>
                                           <!-- ListViews for Categories -->
                                           <ListView x:Name="Categories" BorderThickness="0" ToolTip="Select the hardening categories to run" Grid.Row="1" Grid.Column="0" Grid.ColumnSpan="1">
                                               <!-- Background color for the ListView -->
                                               <ListView.Background>
                                                   <SolidColorBrush Color="transparent"/>
                                               </ListView.Background>
                                               <ListViewItem ToolTipService.InitialShowDelay="0" ToolTip="Microsoft Security Baselines | This is the foundation of all policies and is highly recommended to be selected.">
                                                   <CheckBox x:Name="MicrosoftSecurityBaselines" Content="Microsoft Security Baselines" VerticalContentAlignment="Center" Padding="10,10,40,10" Template="{StaticResource CustomCheckBoxTemplate}" />
                                               </ListViewItem>
                                               <ListViewItem ToolTipService.InitialShowDelay="0" ToolTip="MSFT365 Apps Security Baselines | You can use it even if you don't have Office apps installed.">
                                                   <CheckBox x:Name="Microsoft365AppsSecurityBaselines" Content="MSFT365 Apps Security Baselines" VerticalContentAlignment="Center" Padding="10,10,40,10" Template="{StaticResource CustomCheckBoxTemplate}"/>
                                               </ListViewItem>
                                               <ListViewItem ToolTipService.InitialShowDelay="0" ToolTip="Microsoft Defender | Highly Recommended to apply">
                                                   <CheckBox x:Name="MicrosoftDefender" Content="Microsoft Defender" VerticalContentAlignment="Center" Padding="10,10,40,10" Template="{StaticResource CustomCheckBoxTemplate}"/>
                                               </ListViewItem>
                                               <ListViewItem ToolTipService.InitialShowDelay="0" ToolTip="Attack Surface Reduction Rules | Highly Recommended to apply">
                                                   <CheckBox x:Name="AttackSurfaceReductionRules" Content="Attack Surface Reduction Rules" VerticalContentAlignment="Center" Padding="10,10,40,10" Template="{StaticResource CustomCheckBoxTemplate}"/>
                                               </ListViewItem>
                                               <ListViewItem ToolTipService.InitialShowDelay="0" ToolTip="BitLocker Settings | Highly Recommended to apply">
                                                   <CheckBox x:Name="BitLockerSettings" Content="BitLocker Settings" VerticalContentAlignment="Center" Padding="10,10,40,10" Template="{StaticResource CustomCheckBoxTemplate}"/>
                                               </ListViewItem>
                                               <ListViewItem ToolTipService.InitialShowDelay="0" ToolTip="TLS Security | Highly Recommended to apply">
                                                   <CheckBox x:Name="TLSSecurity" Content="TLS Security" VerticalContentAlignment="Center" Padding="10,10,40,10" Template="{StaticResource CustomCheckBoxTemplate}"/>
                                               </ListViewItem>
                                               <ListViewItem ToolTipService.InitialShowDelay="0" ToolTip="Lock Screen">
                                                   <CheckBox x:Name="LockScreen" Content="Lock Screen" VerticalContentAlignment="Center" Padding="10,10,40,10" Template="{StaticResource CustomCheckBoxTemplate}"/>
                                               </ListViewItem>
                                               <ListViewItem ToolTipService.InitialShowDelay="0" ToolTip="User Account Control | Highly Recommended to apply">
                                                   <CheckBox x:Name="UserAccountControl" Content="User Account Control" VerticalContentAlignment="Center" Padding="10,10,40,10" Template="{StaticResource CustomCheckBoxTemplate}"/>
                                               </ListViewItem>
                                               <ListViewItem ToolTipService.InitialShowDelay="0" ToolTip="Windows Firewall Category">
                                                   <CheckBox x:Name="WindowsFirewall" Content="Windows Firewall" VerticalContentAlignment="Center" Padding="10,10,40,10" Template="{StaticResource CustomCheckBoxTemplate}"/>
                                               </ListViewItem>
                                               <ListViewItem ToolTipService.InitialShowDelay="0" ToolTip="Optional Windows Features Category | Highly Recommended to apply">
                                                   <CheckBox x:Name="OptionalWindowsFeatures" Content="Optional Windows Features" VerticalContentAlignment="Center" Padding="10,10,40,10" Template="{StaticResource CustomCheckBoxTemplate}"/>
                                               </ListViewItem>
                                               <ListViewItem ToolTipService.InitialShowDelay="0" ToolTip="Windows Networking Category">
                                                   <CheckBox x:Name="WindowsNetworking" Content="Windows Networking" VerticalContentAlignment="Center" Padding="10,10,40,10" Template="{StaticResource CustomCheckBoxTemplate}"/>
                                               </ListViewItem>
                                               <ListViewItem ToolTipService.InitialShowDelay="0" ToolTip="Miscellaneous Configurations | Highly Recommended to apply">
                                                   <CheckBox x:Name="MiscellaneousConfigurations" Content="Miscellaneous Configurations" VerticalContentAlignment="Center" Padding="10,10,40,10" Template="{StaticResource CustomCheckBoxTemplate}"/>
                                               </ListViewItem>
                                               <ListViewItem ToolTipService.InitialShowDelay="0" ToolTip="Windows Update Configurations | Highly Recommended to apply">
                                                   <CheckBox x:Name="WindowsUpdateConfigurations" Content="Windows Update Configurations" VerticalContentAlignment="Center" Padding="10,10,40,10" Template="{StaticResource CustomCheckBoxTemplate}"/>
                                               </ListViewItem>
                                               <ListViewItem ToolTipService.InitialShowDelay="0" ToolTip="Edge Browser Configurations">
                                                   <CheckBox x:Name="EdgeBrowserConfigurations" Content="Edge Browser Configurations" VerticalContentAlignment="Center" Padding="10,10,40,10" Template="{StaticResource CustomCheckBoxTemplate}"/>
                                               </ListViewItem>
                                               <ListViewItem ToolTipService.InitialShowDelay="0" ToolTip="Certificate Checking Commands">
                                                   <CheckBox x:Name="CertificateCheckingCommands" Content="Certificate Checking Commands" VerticalContentAlignment="Center" Padding="10,10,40,10" Template="{StaticResource CustomCheckBoxTemplate}"/>
                                               </ListViewItem>
                                               <ListViewItem ToolTipService.InitialShowDelay="0" ToolTip="Country IP Blocking">
                                                   <CheckBox x:Name="CountryIPBlocking" Content="Country IP Blocking" VerticalContentAlignment="Center" Padding="10,10,40,10" Template="{StaticResource CustomCheckBoxTemplate}"/>
                                               </ListViewItem>
                                               <ListViewItem ToolTipService.InitialShowDelay="0" ToolTip="Downloads Defense Measures">
                                                   <CheckBox x:Name="DownloadsDefenseMeasures" Content="Downloads Defense Measures" VerticalContentAlignment="Center" Padding="10,10,40,10" Template="{StaticResource CustomCheckBoxTemplate}"/>
                                               </ListViewItem>
                                               <ListViewItem ToolTipService.InitialShowDelay="0" ToolTip="Non-Admin Commands">
                                                   <CheckBox x:Name="NonAdminCommands" Content="Non-Admin Commands" VerticalContentAlignment="Center" Padding="10,10,40,10" Template="{StaticResource CustomCheckBoxTemplate}"/>
                                               </ListViewItem>
                                           </ListView>
                                       </Grid>
                                       <Grid x:Name="InnerGrid2" Grid.Row="1" Grid.Column="1" Grid.ColumnSpan="1" Margin="10">
                                           <Grid.RowDefinitions>
                                               <RowDefinition Height="Auto"/>
                                               <RowDefinition Height="*"/>
                                           </Grid.RowDefinitions>
                                           <CheckBox Grid.Row="0" Grid.Column="0" Grid.ColumnSpan="1" Content="Select All" VerticalContentAlignment="Center" Margin="6,0,0,2" x:Name="SelectAllSubCategories" Template="{StaticResource CustomCheckBoxTemplate}"/>
                                           <!-- ListViews for Sub-Categories -->
                                           <ListView x:Name="SubCategories" BorderThickness="0" ToolTip="Select sub-categories" Grid.Row="1" Grid.Column="0" Grid.ColumnSpan="1">
                                               <ListView.Background>
                                                   <SolidColorBrush Color="transparent"/>
                                               </ListView.Background>
                                               <ListViewItem ToolTipService.InitialShowDelay="0" ToolTip="NOT Recommended to use!">
                                                   <CheckBox x:Name="SecBaselines_NoOverrides" Content="Security Baselines No Overrides" VerticalContentAlignment="Center" Padding="10,10,40,10" Template="{StaticResource CustomCheckBoxTemplate}"/>
                                               </ListViewItem>
                                               <ListViewItem ToolTipService.InitialShowDelay="0" ToolTip="Enables Smart App Control">
                                                   <CheckBox x:Name="MSFTDefender_SAC" Content="Smart App Control" VerticalContentAlignment="Center" Padding="10,10,40,10" Template="{StaticResource CustomCheckBoxTemplate}"/>
                                               </ListViewItem>
                                               <ListViewItem ToolTipService.InitialShowDelay="0" ToolTip="NOT Recommended to use!">
                                                   <CheckBox x:Name="MSFTDefender_NoDiagData" Content="Defender: No Diagnostics Data" VerticalContentAlignment="Center" Padding="10,10,40,10" Template="{StaticResource CustomCheckBoxTemplate}"/>
                                               </ListViewItem>
                                               <ListViewItem ToolTipService.InitialShowDelay="0" ToolTip="NOT Recommended to use!">
                                                   <CheckBox x:Name="MSFTDefender_NoScheduledTask" Content="Defender: No Scheduled Task" VerticalContentAlignment="Center" Padding="10,10,40,10" Template="{StaticResource CustomCheckBoxTemplate}"/>
                                               </ListViewItem>
                                               <ListViewItem ToolTipService.InitialShowDelay="0" ToolTip="Faster updates for Defender">
                                                   <CheckBox x:Name="MSFTDefender_BetaChannels" Content="Defender: Use Beta Update Channels" VerticalContentAlignment="Center" Padding="10,10,40,10" Template="{StaticResource CustomCheckBoxTemplate}"/>
                                               </ListViewItem>
                                               <ListViewItem ToolTipService.InitialShowDelay="0" ToolTip="More robust lock screen">
                                                   <CheckBox x:Name="LockScreen_CtrlAltDel" Content="Require CTRL + Alt + Del" VerticalContentAlignment="Center" Padding="10,10,40,10" Template="{StaticResource CustomCheckBoxTemplate}"/>
                                               </ListViewItem>
                                               <ListViewItem ToolTipService.InitialShowDelay="0" ToolTip="WILL PREVENT PIN RESET IF YOU FORGET YOUR PIN ON LOCK SCREEN!">
                                                   <CheckBox x:Name="LockScreen_NoLastSignedIn" Content="No Last Signed-In" VerticalContentAlignment="Center" Padding="10,10,40,10" Template="{StaticResource CustomCheckBoxTemplate}"/>
                                               </ListViewItem>
                                               <ListViewItem ToolTipService.InitialShowDelay="0" ToolTip="WILL PREVENT PIN RESET IF YOU FORGET YOUR PIN ON LOCK SCREEN!">
                                                   <CheckBox x:Name="UAC_NoFastSwitching" Content="No Fast User Switching" VerticalContentAlignment="Center" Padding="10,10,40,10" Template="{StaticResource CustomCheckBoxTemplate}"/>
                                               </ListViewItem>
                                               <ListViewItem ToolTipService.InitialShowDelay="0" ToolTip="Only Signed programs will be able to run as Admin!">
                                                   <CheckBox x:Name="UAC_OnlyElevateSigned" Content="Only Elevated Signed" VerticalContentAlignment="Center" Padding="10,10,40,10" Template="{StaticResource CustomCheckBoxTemplate}"/>
                                               </ListViewItem>
                                               <ListViewItem ToolTipService.InitialShowDelay="0" ToolTip="Blocks OFAC sanctioned countries' IPs in Firewall.">
                                                   <CheckBox x:Name="CountryIPBlocking_OFAC" Content="Block OFAC Sanctions Countries" VerticalContentAlignment="Center" Padding="10,10,40,10" Template="{StaticResource CustomCheckBoxTemplate}"/>
                                               </ListViewItem>
                                               <ListViewItem ToolTipService.InitialShowDelay="0" ToolTip="Recommend to use">
                                                   <CheckBox x:Name="DangerousScriptHostsBlocking" Content="Block Dangerous Script Hosts" VerticalContentAlignment="Center" Padding="10,10,40,10" Template="{StaticResource CustomCheckBoxTemplate}"/>
                                               </ListViewItem>
                                               <ListViewItem ToolTipService.InitialShowDelay="0" ToolTip="Optional">
                                                   <CheckBox x:Name="ClipboardSync" Content="Enable Clipboard Sync" VerticalContentAlignment="Center" Padding="10,10,40,10" Template="{StaticResource CustomCheckBoxTemplate}"/>
                                               </ListViewItem>
                                           </ListView>
                                       </Grid>
                                       <!-- Enable Logging CheckBox -->
                                       <Viewbox x:Name="LoggingViewBox" Grid.Row="2" Grid.Column="0" Grid.ColumnSpan="1" HorizontalAlignment="Center" VerticalAlignment="Center" Margin="14">
                                           <ToggleButton x:Name="Log" ToolTip="Enable logging" Foreground="White" Height="40" Width="170" FontSize="16">
                                               <ToggleButton.Template>
                                                   <ControlTemplate TargetType="ToggleButton">
                                                       <Border x:Name="Button11" Background="LightGray" CornerRadius="10" Padding="3">
                                                           <Border x:Name="Button22" Background="Black" Width="100" CornerRadius="10" HorizontalAlignment="Left">
                                                               <TextBlock x:Name="TextBlock11" Text="Logging Off" HorizontalAlignment="Center" VerticalAlignment="Center" TextAlignment="Center"/>
                                                           </Border>
                                                       </Border>
                                                       <ControlTemplate.Triggers>
                                                           <Trigger Property="IsChecked" Value="True">
                                                               <Setter TargetName="Button22" Property="HorizontalAlignment" Value="Right"/>
                                                               <Setter TargetName="Button11" Property="Background" Value="#FFF485F0"/>
                                                               <Setter TargetName="TextBlock11" Property="Text" Value="Logging On"/>
                                                           </Trigger>
                                                       </ControlTemplate.Triggers>
                                                   </ControlTemplate>
                                               </ToggleButton.Template>
                                           </ToggleButton>
                                       </Viewbox>
                                       <!-- Log Path TextBox -->
                                       <Button x:Name="LogPath" Grid.Row="2" Grid.Column="1" Width="150" Height="40" FontSize="16" FontWeight="Bold" Background="{StaticResource PinkGradient}" ToolTip="The path to save the log file to">
                                           <Button.Template>
                                               <ControlTemplate TargetType="Button">
                                                   <Border x:Name="border" BorderThickness="3" Width="{TemplateBinding Width}" Height="{TemplateBinding Height}" Background="{TemplateBinding Background}" CornerRadius="6" BorderBrush="MediumPurple">
                                                       <ContentPresenter HorizontalAlignment="Center" VerticalAlignment="Center"/>
                                                   </Border>
                                                   <ControlTemplate.Triggers>
                                                       <Trigger Property="IsMouseOver" Value="true">
                                                           <Trigger.EnterActions>
                                                               <BeginStoryboard>
                                                                   <Storyboard>
                                                                       <DoubleAnimation To="160" Storyboard.TargetProperty="Width" Duration="0:0:0.3"/>
                                                                       <DoubleAnimation To="45" Storyboard.TargetProperty="Height" Duration="0:0:0.3"/>
                                                                       <ColorAnimation To="Coral" Storyboard.TargetProperty="Background.(SolidColorBrush.Color)" Duration="0:0:0.3"/>
                                                                   </Storyboard>
                                                               </BeginStoryboard>
                                                           </Trigger.EnterActions>
                                                           <Trigger.ExitActions>
                                                               <BeginStoryboard>
                                                                   <Storyboard>
                                                                       <DoubleAnimation To="150" Storyboard.TargetProperty="Width" Duration="0:0:0.3"/>
                                                                       <DoubleAnimation To="40" Storyboard.TargetProperty="Height" Duration="0:0:0.3"/>
                                                                       <ColorAnimation To="White" Storyboard.TargetProperty="Background.(SolidColorBrush.Color)" Duration="0:0:0.3"/>
                                                                   </Storyboard>
                                                               </BeginStoryboard>
                                                           </Trigger.ExitActions>
                                                       </Trigger>
                                                       <Trigger Property="IsPressed" Value="true">
                                                           <Setter TargetName="border" Property="Background">
                                                               <Setter.Value>
                                                                   <LinearGradientBrush StartPoint="0,0" EndPoint="1,1">
                                                                       <GradientStop Color="#eaafc8" Offset="0.0"/>
                                                                       <GradientStop Color="#e1eec3" Offset="1.0"/>
                                                                   </LinearGradientBrush>
                                                               </Setter.Value>
                                                           </Setter>
                                                       </Trigger>
                                                   </ControlTemplate.Triggers>
                                               </ControlTemplate>
                                           </Button.Template>
                                           <StackPanel Orientation="Horizontal">
                                               <Image x:Name="LogButtonIcon" Width="40" Height="30"/>
                                               <TextBlock Text="Log Path" VerticalAlignment="Center"/>
                                           </StackPanel>
                                       </Button>
                                       <!-- File Path TextBox which is dynamic -->
                                       <TextBox x:Name="txtFilePath" Grid.Row="3" Grid.ColumnSpan="2" HorizontalAlignment="Stretch" VerticalAlignment="Stretch" Margin="30,0,30,0" BorderThickness="0" ToolTip="The selected log file path" MaxWidth="700">
                                           <TextBox.Style>
                                               <Style TargetType="{x:Type TextBox}">
                                                   <Setter Property="VerticalContentAlignment" Value="Center"/>
                                                   <Setter Property="Template">
                                                       <Setter.Value>
                                                           <ControlTemplate TargetType="{x:Type TextBox}">
                                                               <Border CornerRadius="10" Background="{TemplateBinding Background}" BorderBrush="{TemplateBinding BorderBrush}" BorderThickness="{TemplateBinding BorderThickness}">
                                                                   <ScrollViewer x:Name="PART_ContentHost" Margin="0"/>
                                                               </Border>
                                                           </ControlTemplate>
                                                       </Setter.Value>
                                                   </Setter>
                                                   <Setter Property="Effect">
                                                       <Setter.Value>
                                                           <DropShadowEffect ShadowDepth="0" Direction="0" Color="#FFF485F0" Opacity="1" BlurRadius="10" RenderingBias="Quality"/>
                                                       </Setter.Value>
                                                   </Setter>
                                                   <Style.Triggers>
                                                       <!-- Trigger to apply blur when the TextBox is disabled -->
                                                       <Trigger Property="IsEnabled" Value="False">
                                                           <Setter Property="Effect">
                                                               <Setter.Value>
                                                                   <BlurEffect Radius="5"/>
                                                               </Setter.Value>
                                                           </Setter>
                                                           <!-- Optional: Reduce opacity to further indicate that the TextBox is disabled -->
                                                           <Setter Property="Opacity" Value="0.7"/>
                                                       </Trigger>
                                                   </Style.Triggers>
                                               </Style>
                                           </TextBox.Style>
                                       </TextBox>
                                   </Grid>
                               </Setter.Value>
                           </Setter>
                       </DataTrigger>
                       <DataTrigger Binding="{Binding ElementName=MainTabControlToggle, Path=IsChecked}" Value="True">
                           <Setter Property="Content">
                               <Setter.Value>
                                   <!-- Offline Tab/Grid -->
                                   <Grid x:Name="Grid2" Margin="-2.3,-2.3,-2.3,-2.3">
                                       <Grid.ColumnDefinitions>
                                           <ColumnDefinition Width="*"/>
                                           <!-- Button column -->
                                           <ColumnDefinition Width="*"/>
                                           <!-- Text area column -->
                                       </Grid.ColumnDefinitions>
                                       <Grid.RowDefinitions>
                                           <!-- This is for row 0 -->
                                           <RowDefinition Height="60"/>
                                           <!-- This is for row 1 -->
                                           <RowDefinition Height="60"/>
                                           <!-- This is for row 2 -->
                                           <RowDefinition Height="60"/>
                                           <!-- This is for row 3 -->
                                           <RowDefinition Height="60"/>
                                       </Grid.RowDefinitions>
                                       <!-- Row 0 -->
                                       <!-- Enable Offline Mode CheckBox -->
                                       <Viewbox Grid.Row="0" Grid.ColumnSpan="2" HorizontalAlignment="Stretch" VerticalAlignment="Stretch" Margin="0,20,0,0">
                                           <ToggleButton x:Name="EnableOfflineMode" ToolTip="Enables Offline Mode and will use the selected files instead of downloading them from the Microsoft servers" Foreground="White" Height="40" Width="170" FontSize="16">
                                               <ToggleButton.Template>
                                                   <ControlTemplate TargetType="ToggleButton">
                                                       <Border x:Name="Button111" Background="LightGray" CornerRadius="10" Padding="3">
                                                           <Border x:Name="Button222" Background="Black" Width="100" CornerRadius="10" HorizontalAlignment="Left">
                                                               <TextBlock x:Name="TextBlock111" Text="Disabled" HorizontalAlignment="Center" VerticalAlignment="Center" TextAlignment="Center"/>
                                                           </Border>
                                                       </Border>
                                                       <ControlTemplate.Triggers>
                                                           <Trigger Property="IsChecked" Value="True">
                                                               <Setter TargetName="Button222" Property="HorizontalAlignment" Value="Right"/>
                                                               <Setter TargetName="Button111" Property="Background" Value="#04C8F9"/>
                                                               <Setter TargetName="TextBlock111" Property="Text" Value="Enabled"/>
                                                           </Trigger>
                                                       </ControlTemplate.Triggers>
                                                   </ControlTemplate>
                                               </ToggleButton.Template>
                                           </ToggleButton>
                                       </Viewbox>
                                       <!-- Row 1 -->
                                       <StackPanel Orientation="Horizontal" Grid.Row="1" Grid.ColumnSpan="2" HorizontalAlignment="Center" Margin="30,0,30,0">
                                           <!-- LGPO Button -->
                                           <Button x:Name="LGPOZipButton" Width="100" Height="40" FontSize="15" FontWeight="Bold" Background="{StaticResource PinkGradient}" Margin="0,0,0,0" ToolTip="Browse for the path to LGPO zip file">
                                               <Button.Template>
                                                   <ControlTemplate TargetType="Button">
                                                       <Border x:Name="border" BorderThickness="3" Width="{TemplateBinding Width}" Height="{TemplateBinding Height}" Background="{TemplateBinding Background}" CornerRadius="6" BorderBrush="MediumPurple">
                                                           <ContentPresenter HorizontalAlignment="Center" VerticalAlignment="Center"/>
                                                       </Border>
                                                       <ControlTemplate.Triggers>
                                                           <Trigger Property="IsMouseOver" Value="true">
                                                               <Trigger.EnterActions>
                                                                   <BeginStoryboard>
                                                                       <Storyboard>
                                                                           <DoubleAnimation To="115" Storyboard.TargetProperty="Width" Duration="0:0:0.3"/>
                                                                           <DoubleAnimation To="45" Storyboard.TargetProperty="Height" Duration="0:0:0.3"/>
                                                                           <ColorAnimation To="Coral" Storyboard.TargetProperty="Background.(SolidColorBrush.Color)" Duration="0:0:0.3"/>
                                                                       </Storyboard>
                                                                   </BeginStoryboard>
                                                               </Trigger.EnterActions>
                                                               <Trigger.ExitActions>
                                                                   <BeginStoryboard>
                                                                       <Storyboard>
                                                                           <DoubleAnimation To="100" Storyboard.TargetProperty="Width" Duration="0:0:0.3"/>
                                                                           <DoubleAnimation To="40" Storyboard.TargetProperty="Height" Duration="0:0:0.3"/>
                                                                           <ColorAnimation To="White" Storyboard.TargetProperty="Background.(SolidColorBrush.Color)" Duration="0:0:0.3"/>
                                                                       </Storyboard>
                                                                   </BeginStoryboard>
                                                               </Trigger.ExitActions>
                                                           </Trigger>
                                                           <Trigger Property="IsPressed" Value="true">
                                                               <Setter TargetName="border" Property="Background">
                                                                   <Setter.Value>
                                                                       <LinearGradientBrush StartPoint="0,0" EndPoint="1,1">
                                                                           <GradientStop Color="#eaafc8" Offset="0.0"/>
                                                                           <GradientStop Color="#e1eec3" Offset="1.0"/>
                                                                       </LinearGradientBrush>
                                                                   </Setter.Value>
                                                               </Setter>
                                                           </Trigger>
                                                       </ControlTemplate.Triggers>
                                                   </ControlTemplate>
                                               </Button.Template>
                                               <StackPanel Orientation="Horizontal">
                                                   <Image x:Name="PathIcon3" Width="40" Height="30"/>
                                                   <TextBlock Text="LGPO" VerticalAlignment="Center"/>
                                               </StackPanel>
                                           </Button>
                                           <!-- LGPO Path Text box -->
                                           <TextBox x:Name="LGPOZipTextBox" Height="40" Margin="20,0,0,0" ToolTip="Selected path for the LGPO zip file" MinWidth="210" MaxWidth="700">
                                               <TextBox.Style>
                                                   <Style TargetType="{x:Type TextBox}">
                                                       <Setter Property="VerticalContentAlignment" Value="Center"/>
                                                       <Setter Property="Foreground" Value="Black"/>
                                                       <Setter Property="Effect">
                                                           <Setter.Value>
                                                               <DropShadowEffect ShadowDepth="0" Direction="0" Color="#FFF485F0" Opacity="1" BlurRadius="10" RenderingBias="Quality"/>
                                                           </Setter.Value>
                                                       </Setter>
                                                       <Setter Property="Template">
                                                           <Setter.Value>
                                                               <ControlTemplate TargetType="{x:Type TextBox}">
                                                                   <Grid>
                                                                       <Border Background="{TemplateBinding Background}" BorderBrush="{TemplateBinding BorderBrush}" BorderThickness="{TemplateBinding BorderThickness}"/>
                                                                       <ScrollViewer x:Name="PART_ContentHost" Margin="5,0"/>
                                                                       <TextBlock x:Name="PART_Watermark" Text="Selected Path will be displayed here..." Foreground="Gray" IsHitTestVisible="False" Margin="5,0" VerticalAlignment="Center" Visibility="Collapsed"/>
                                                                   </Grid>
                                                                   <ControlTemplate.Triggers>
                                                                       <Trigger Property="Text" Value="">
                                                                           <Setter TargetName="PART_Watermark" Property="Visibility" Value="Visible"/>
                                                                       </Trigger>
                                                                       <Trigger Property="Text" Value="{x:Null}">
                                                                           <Setter TargetName="PART_Watermark" Property="Visibility" Value="Visible"/>
                                                                       </Trigger>
                                                                   </ControlTemplate.Triggers>
                                                               </ControlTemplate>
                                                           </Setter.Value>
                                                       </Setter>
                                                   </Style>
                                               </TextBox.Style>
                                           </TextBox>
                                       </StackPanel>
                                       <!-- Row 2 -->
                                       <StackPanel Orientation="Horizontal" Grid.Row="2" Grid.ColumnSpan="2" HorizontalAlignment="Center" Margin="30,0,30,0">
                                           <!-- Microsoft Security Baselines Button -->
                                           <Button x:Name="MicrosoftSecurityBaselineZipButton" Width="270" Height="40" FontSize="15" FontWeight="Bold" Background="{StaticResource PinkGradient}" Margin="0,0,0,0" ToolTip="Browse for the path to Microsoft Security Baseline zip file">
                                               <Button.Template>
                                                   <ControlTemplate TargetType="Button">
                                                       <Border x:Name="border" BorderThickness="3" Width="{TemplateBinding Width}" Height="{TemplateBinding Height}" Background="{TemplateBinding Background}" CornerRadius="6" BorderBrush="MediumPurple">
                                                           <ContentPresenter HorizontalAlignment="Center" VerticalAlignment="Center"/>
                                                       </Border>
                                                       <ControlTemplate.Triggers>
                                                           <Trigger Property="IsMouseOver" Value="true">
                                                               <Trigger.EnterActions>
                                                                   <BeginStoryboard>
                                                                       <Storyboard>
                                                                           <DoubleAnimation To="280" Storyboard.TargetProperty="Width" Duration="0:0:0.3"/>
                                                                           <DoubleAnimation To="45" Storyboard.TargetProperty="Height" Duration="0:0:0.3"/>
                                                                           <ColorAnimation To="Coral" Storyboard.TargetProperty="Background.(SolidColorBrush.Color)" Duration="0:0:0.3"/>
                                                                       </Storyboard>
                                                                   </BeginStoryboard>
                                                               </Trigger.EnterActions>
                                                               <Trigger.ExitActions>
                                                                   <BeginStoryboard>
                                                                       <Storyboard>
                                                                           <DoubleAnimation To="270" Storyboard.TargetProperty="Width" Duration="0:0:0.3"/>
                                                                           <DoubleAnimation To="40" Storyboard.TargetProperty="Height" Duration="0:0:0.3"/>
                                                                           <ColorAnimation To="White" Storyboard.TargetProperty="Background.(SolidColorBrush.Color)" Duration="0:0:0.3"/>
                                                                       </Storyboard>
                                                                   </BeginStoryboard>
                                                               </Trigger.ExitActions>
                                                           </Trigger>
                                                           <Trigger Property="IsPressed" Value="true">
                                                               <Setter TargetName="border" Property="Background">
                                                                   <Setter.Value>
                                                                       <LinearGradientBrush StartPoint="0,0" EndPoint="1,1">
                                                                           <GradientStop Color="#eaafc8" Offset="0.0"/>
                                                                           <GradientStop Color="#e1eec3" Offset="1.0"/>
                                                                       </LinearGradientBrush>
                                                                   </Setter.Value>
                                                               </Setter>
                                                           </Trigger>
                                                       </ControlTemplate.Triggers>
                                                   </ControlTemplate>
                                               </Button.Template>
                                               <StackPanel Orientation="Horizontal">
                                                   <Image x:Name="PathIcon1" Width="40" Height="30"/>
                                                   <TextBlock Text="Microsoft Security Baseline" VerticalAlignment="Center"/>
                                               </StackPanel>
                                           </Button>
                                           <!-- Microsoft Security Baselines Text block -->
                                           <TextBox x:Name="MicrosoftSecurityBaselineZipTextBox" Height="40" Margin="20,0,0,0" MinWidth="210" MaxWidth="700" ToolTip="Selected path for the Microsoft Security Baseline zip file" VerticalContentAlignment="Center">
                                               <TextBox.Style>
                                                   <Style TargetType="{x:Type TextBox}">
                                                       <Setter Property="Foreground" Value="Black"/>
                                                       <Setter Property="Effect">
                                                           <Setter.Value>
                                                               <DropShadowEffect ShadowDepth="0" Direction="0" Color="#FFF485F0" Opacity="1" BlurRadius="10" RenderingBias="Quality"/>
                                                           </Setter.Value>
                                                       </Setter>
                                                       <Setter Property="Template">
                                                           <Setter.Value>
                                                               <ControlTemplate TargetType="{x:Type TextBox}">
                                                                   <Grid>
                                                                       <Border Background="{TemplateBinding Background}" BorderBrush="{TemplateBinding BorderBrush}" BorderThickness="{TemplateBinding BorderThickness}"/>
                                                                       <!-- Adjust the ScrollViewer's VerticalAlignment to Center -->
                                                                       <ScrollViewer x:Name="PART_ContentHost" Margin="5,0" VerticalAlignment="Center"/>
                                                                       <TextBlock x:Name="PART_Watermark" Text="Selected Path will be displayed here..." Foreground="Gray" IsHitTestVisible="False" Margin="5,0" VerticalAlignment="Center" Visibility="Collapsed"/>
                                                                   </Grid>
                                                                   <ControlTemplate.Triggers>
                                                                       <Trigger Property="Text" Value="">
                                                                           <Setter TargetName="PART_Watermark" Property="Visibility" Value="Visible"/>
                                                                       </Trigger>
                                                                       <Trigger Property="Text" Value="{x:Null}">
                                                                           <Setter TargetName="PART_Watermark" Property="Visibility" Value="Visible"/>
                                                                       </Trigger>
                                                                   </ControlTemplate.Triggers>
                                                               </ControlTemplate>
                                                           </Setter.Value>
                                                       </Setter>
                                                   </Style>
                                               </TextBox.Style>
                                           </TextBox>
                                       </StackPanel>
                                       <!-- Row 3 -->
                                       <StackPanel Orientation="Horizontal" Grid.Row="3" Grid.ColumnSpan="2" HorizontalAlignment="Center" Margin="30,0,30,0">
                                           <!-- M365 apps security baselines button -->
                                           <Button x:Name="Microsoft365AppsSecurityBaselineZipButton" Width="320" Height="40" FontSize="15" FontWeight="Bold" Background="{StaticResource PinkGradient}" Margin="0,0,0,0" ToolTip="Browse for the path to Microsoft 365 Apps Security Baseline zip file">
                                               <Button.Template>
                                                   <ControlTemplate TargetType="Button">
                                                       <Border x:Name="border" BorderThickness="3" Width="{TemplateBinding Width}" Height="{TemplateBinding Height}" Background="{TemplateBinding Background}" CornerRadius="6" BorderBrush="MediumPurple">
                                                           <ContentPresenter HorizontalAlignment="Center" VerticalAlignment="Center"/>
                                                       </Border>
                                                       <ControlTemplate.Triggers>
                                                           <Trigger Property="IsMouseOver" Value="true">
                                                               <Trigger.EnterActions>
                                                                   <BeginStoryboard>
                                                                       <Storyboard>
                                                                           <DoubleAnimation To="345" Storyboard.TargetProperty="Width" Duration="0:0:0.3"/>
                                                                           <DoubleAnimation To="45" Storyboard.TargetProperty="Height" Duration="0:0:0.3"/>
                                                                           <ColorAnimation To="Coral" Storyboard.TargetProperty="Background.(SolidColorBrush.Color)" Duration="0:0:0.3"/>
                                                                       </Storyboard>
                                                                   </BeginStoryboard>
                                                               </Trigger.EnterActions>
                                                               <Trigger.ExitActions>
                                                                   <BeginStoryboard>
                                                                       <Storyboard>
                                                                           <DoubleAnimation To="320" Storyboard.TargetProperty="Width" Duration="0:0:0.3"/>
                                                                           <DoubleAnimation To="40" Storyboard.TargetProperty="Height" Duration="0:0:0.3"/>
                                                                           <ColorAnimation To="White" Storyboard.TargetProperty="Background.(SolidColorBrush.Color)" Duration="0:0:0.3"/>
                                                                       </Storyboard>
                                                                   </BeginStoryboard>
                                                               </Trigger.ExitActions>
                                                           </Trigger>
                                                           <Trigger Property="IsPressed" Value="true">
                                                               <Setter TargetName="border" Property="Background">
                                                                   <Setter.Value>
                                                                       <LinearGradientBrush StartPoint="0,0" EndPoint="1,1">
                                                                           <GradientStop Color="#eaafc8" Offset="0.0"/>
                                                                           <GradientStop Color="#e1eec3" Offset="1.0"/>
                                                                       </LinearGradientBrush>
                                                                   </Setter.Value>
                                                               </Setter>
                                                           </Trigger>
                                                       </ControlTemplate.Triggers>
                                                   </ControlTemplate>
                                               </Button.Template>
                                               <StackPanel Orientation="Horizontal">
                                                   <Image x:Name="PathIcon2" Width="40" Height="30"/>
                                                   <TextBlock Text="Microsoft 365 Apps Security Baseline" VerticalAlignment="Center"/>
                                               </StackPanel>
                                           </Button>
                                           <!-- M365 apps security baselines text block -->
                                           <TextBox x:Name="Microsoft365AppsSecurityBaselineZipTextBox" Height="40" Margin="20,0,0,0" MinWidth="210" MaxWidth="700" ToolTip="Selected path for the Microsoft 365 Apps Security Baseline zip file" VerticalContentAlignment="Center">
                                               <TextBox.Style>
                                                   <Style TargetType="{x:Type TextBox}">
                                                       <Setter Property="Foreground" Value="Black"/>
                                                       <Setter Property="Effect">
                                                           <Setter.Value>
                                                               <DropShadowEffect ShadowDepth="0" Direction="0" Color="#FFF485F0" Opacity="1" BlurRadius="10" RenderingBias="Quality"/>
                                                           </Setter.Value>
                                                       </Setter>
                                                       <Setter Property="Template">
                                                           <Setter.Value>
                                                               <ControlTemplate TargetType="{x:Type TextBox}">
                                                                   <Grid>
                                                                       <Border Background="{TemplateBinding Background}" BorderBrush="{TemplateBinding BorderBrush}" BorderThickness="{TemplateBinding BorderThickness}"/>
                                                                       <!-- Adjust the ScrollViewer's VerticalAlignment to Center -->
                                                                       <ScrollViewer x:Name="PART_ContentHost" Margin="5,0" VerticalAlignment="Center"/>
                                                                       <TextBlock x:Name="PART_Watermark" Text="Selected Path will be displayed here..." Foreground="Gray" IsHitTestVisible="False" Margin="5,0" VerticalAlignment="Center" Visibility="Collapsed"/>
                                                                   </Grid>
                                                                   <ControlTemplate.Triggers>
                                                                       <Trigger Property="Text" Value="">
                                                                           <Setter TargetName="PART_Watermark" Property="Visibility" Value="Visible"/>
                                                                       </Trigger>
                                                                       <Trigger Property="Text" Value="{x:Null}">
                                                                           <Setter TargetName="PART_Watermark" Property="Visibility" Value="Visible"/>
                                                                       </Trigger>
                                                                   </ControlTemplate.Triggers>
                                                               </ControlTemplate>
                                                           </Setter.Value>
                                                       </Setter>
                                                   </Style>
                                               </TextBox.Style>
                                           </TextBox>
                                       </StackPanel>
                                   </Grid>
                               </Setter.Value>
                           </Setter>
                       </DataTrigger>
                   </Style.Triggers>
               </Style>
           </ContentControl.Style>
       </ContentControl>
       <!-- Grid containing the Execute Button -->
       <Grid x:Name="ExecuteButtonGrid" Grid.Row="4" Grid.ColumnSpan="2" Height="150">
           <!-- First Ellipse (Forward1) - Represents the outermost expanding ellipse when the button is clicked -->
           <!-- Initial height and Width of the Ellipse -->
           <Ellipse x:Name="EclipseForward1"
           Height="50"
           Width="50"
           HorizontalAlignment="Center"
           VerticalAlignment="Center">
               <!-- Ellipse Fill with a gradient from #ED4264 to #cbad6d -->
               <Ellipse.Fill>
                   <LinearGradientBrush StartPoint="0,0" EndPoint="1,1">
                       <GradientStop Color="#ED4264" Offset="0.0" />
                       <GradientStop Color="#cbad6d" Offset="1.0" />
                   </LinearGradientBrush>
               </Ellipse.Fill>
           </Ellipse>
           <!-- Second Ellipse (Forward2) - Another expanding ellipse, but starts later than Forward1 -->
           <Ellipse x:Name="EclipseForward2"
           Height="50"
           Width="50"
           HorizontalAlignment="Center"
           VerticalAlignment="Center">
               <Ellipse.Fill>
                   <LinearGradientBrush StartPoint="0,0" EndPoint="1,1">
                       <GradientStop Color="#ED4264" Offset="0.0" />
                       <GradientStop Color="#cbad6d" Offset="1.0" />
                   </LinearGradientBrush>
               </Ellipse.Fill>
           </Ellipse>
           <!-- Third Ellipse (Forward3) - Another expanding ellipse, starts even later -->
           <Ellipse x:Name="EclipseForward3"
           Height="50"
           Width="50"
           HorizontalAlignment="Center"
           VerticalAlignment="Center">
               <Ellipse.Fill>
                   <LinearGradientBrush StartPoint="0,0" EndPoint="1,1">
                       <GradientStop Color="#ED4264" Offset="0.0" />
                       <GradientStop Color="#cbad6d" Offset="1.0" />
                   </LinearGradientBrush>
               </Ellipse.Fill>
           </Ellipse>
           <!-- First Ellipse (Backward1) - Represents the outermost contracting ellipse when the button is unchecked -->
           <Ellipse x:Name="EclipseBackward1"
           Height="50"
           Width="50"
           HorizontalAlignment="Center"
           VerticalAlignment="Center">
               <!-- Ellipse Fill with a gradient from #ef32d9 to #89fffd -->
               <Ellipse.Fill>
                   <LinearGradientBrush StartPoint="0,0" EndPoint="1,1">
                       <GradientStop Color="#ef32d9" Offset="0.0" />
                       <GradientStop Color="#89fffd" Offset="1.0" />
                   </LinearGradientBrush>
               </Ellipse.Fill>
           </Ellipse>
           <!-- Second Ellipse (Backward2) - Another contracting ellipse, starts later than Backward1 -->
           <Ellipse x:Name="EclipseBackward2"
           Height="50"
           Width="50"
           HorizontalAlignment="Center"
           VerticalAlignment="Center">
               <Ellipse.Fill>
                   <LinearGradientBrush StartPoint="0,0" EndPoint="1,1">
                       <GradientStop Color="#ef32d9" Offset="0.0" />
                       <GradientStop Color="#89fffd" Offset="1.0" />
                   </LinearGradientBrush>
               </Ellipse.Fill>
           </Ellipse>
           <!-- Third Ellipse (Backward3) - Another contracting ellipse, starts even later -->
           <Ellipse x:Name="EclipseBackward3"
           Height="50"
           Width="50"
           HorizontalAlignment="Center"
           VerticalAlignment="Center">
               <Ellipse.Fill>
                   <LinearGradientBrush StartPoint="0,0" EndPoint="1,1">
                       <GradientStop Color="#ef32d9" Offset="0.0" />
                       <GradientStop Color="#89fffd" Offset="1.0" />
                   </LinearGradientBrush>
               </Ellipse.Fill>
           </Ellipse>
           <!-- Execute Toggle Button - The main button in the center -->
           <ToggleButton x:Name="Execute"
                Height="55"
                Width="55"
                HorizontalAlignment="Center"
                VerticalAlignment="Center" >
               <ToggleButton.Template>
                   <ControlTemplate TargetType="ToggleButton">
                       <!-- Border around the button with rounded corners -->
                       <Border x:Name="border"
                      Background="Transparent"
                      CornerRadius="30">
                           <Grid x:Name="ExecuteButtonIconImageGrid">
                               <!-- Button icon image centered inside the button -->
                               <Image x:Name="ExecuteIconImage" Source="icon.png"
                             Stretch="None" HorizontalAlignment="Center" VerticalAlignment="Center" />
                           </Grid>
                       </Border>
                       <!-- Triggers for visual states (hover, checked) -->
                       <ControlTemplate.Triggers>
                           <!-- Mouse hover trigger -->
                           <Trigger Property="IsMouseOver" Value="True">
                               <Setter Property="Background" TargetName="border">
                                   <Setter.Value>
                                       <LinearGradientBrush StartPoint="0,0" EndPoint="1,1">
                                           <GradientStop Color="#ED4264" Offset="0.0" />
                                           <GradientStop Color="#cbad6d" Offset="1.0" />
                                       </LinearGradientBrush>
                                   </Setter.Value>
                               </Setter>
                           </Trigger>
                           <!-- Button checked trigger -->
                           <Trigger Property="IsChecked" Value="True">
                               <Setter Property="Background" TargetName="border">
                                   <Setter.Value>
                                       <LinearGradientBrush StartPoint="0,0" EndPoint="1,1">
                                           <GradientStop Color="#ED4264" Offset="0.0" />
                                           <GradientStop Color="#cbad6d" Offset="1.0" />
                                       </LinearGradientBrush>
                                   </Setter.Value>
                               </Setter>
                           </Trigger>
                           <!-- MultiTrigger: Hovering while the button is unchecked -->
                           <MultiTrigger>
                               <MultiTrigger.Conditions>
                                   <Condition Property="IsMouseOver" Value="True" />
                                   <Condition Property="IsChecked" Value="False" />
                               </MultiTrigger.Conditions>
                               <Setter Property="Background" TargetName="border">
                                   <Setter.Value>
                                       <LinearGradientBrush StartPoint="0,0" EndPoint="1,1">
                                           <GradientStop Color="#ef32d9" Offset="0.0" />
                                           <GradientStop Color="#89fffd" Offset="1.0" />
                                       </LinearGradientBrush>
                                   </Setter.Value>
                               </Setter>
                           </MultiTrigger>
                       </ControlTemplate.Triggers>
                   </ControlTemplate>
               </ToggleButton.Template>
               <!-- Triggers for button actions (Checked, Unchecked) -->
               <ToggleButton.Triggers>
                   <!-- When the button is checked (clicked) -->
                   <EventTrigger RoutedEvent="ToggleButton.Checked">
                       <EventTrigger.Actions>
                           <!-- Start the forward expanding animations -->
                           <BeginStoryboard x:Name="Ellipse_Activated">
                               <Storyboard>
                                   <!-- Forward1 Animation (Expanding and fading out) -->
                                   <DoubleAnimation BeginTime="00:00:00"
                                           Duration="00:00:01.5"
                                           From="50"
                                           To="150"
                                           Storyboard.TargetProperty="(Ellipse.Width)"
                                           Storyboard.TargetName="EclipseForward1"
                                           RepeatBehavior="Forever" />
                                   <DoubleAnimation BeginTime="00:00:00"
                                           Duration="00:00:01.5"
                                           From="50"
                                           To="150"
                                           Storyboard.TargetProperty="(Ellipse.Height)"
                                           Storyboard.TargetName="EclipseForward1"
                                           RepeatBehavior="Forever" />
                                   <DoubleAnimation Storyboard.TargetProperty="Opacity"
                                           Storyboard.TargetName="EclipseForward1"
                                           From="1.0"
                                           To="0.0"
                                           BeginTime="00:00:00"
                                           Duration="00:00:01.5"
                                           RepeatBehavior="Forever" />
                                   <!-- Forward2 Animation (Starts 1 second later) -->
                                   <DoubleAnimation BeginTime="00:00:00.5"
                                           Duration="00:00:01.5"
                                           From="50"
                                           To="150"
                                           Storyboard.TargetProperty="(Ellipse.Width)"
                                           Storyboard.TargetName="EclipseForward2"
                                           RepeatBehavior="Forever" />
                                   <DoubleAnimation BeginTime="00:00:00.5"
                                           Duration="00:00:01.5"
                                           From="50"
                                           To="150"
                                           Storyboard.TargetProperty="(Ellipse.Height)"
                                           Storyboard.TargetName="EclipseForward2"
                                           RepeatBehavior="Forever" />
                                   <DoubleAnimation Storyboard.TargetProperty="Opacity"
                                           Storyboard.TargetName="EclipseForward2"
                                           From="1.0"
                                           To="0.0"
                                           BeginTime="00:00:00.5"
                                           Duration="00:00:01.5"
                                           RepeatBehavior="Forever" />
                                   <!-- Forward3 Animation (Starts 2 seconds later) -->
                                   <DoubleAnimation BeginTime="00:00:01"
                                           Duration="00:00:01.5"
                                           From="50"
                                           To="150"
                                           Storyboard.TargetProperty="(Ellipse.Width)"
                                           Storyboard.TargetName="EclipseForward3"
                                           RepeatBehavior="Forever" />
                                   <DoubleAnimation BeginTime="00:00:01"
                                           Duration="00:00:01.5"
                                           From="50"
                                           To="150"
                                           Storyboard.TargetProperty="(Ellipse.Height)"
                                           Storyboard.TargetName="EclipseForward3"
                                           RepeatBehavior="Forever" />
                                   <DoubleAnimation Storyboard.TargetProperty="Opacity"
                                           Storyboard.TargetName="EclipseForward3"
                                           From="1.0"
                                           To="0.0"
                                           BeginTime="00:00:01"
                                           Duration="00:00:01.5"
                                           RepeatBehavior="Forever" />
                               </Storyboard>
                           </BeginStoryboard>
                       </EventTrigger.Actions>
                   </EventTrigger>
                   <!-- When the button is unchecked -->
                   <EventTrigger RoutedEvent="ToggleButton.Unchecked">
                       <EventTrigger.Actions>
                           <!-- Stop the forward animation -->
                           <RemoveStoryboard BeginStoryboardName="Ellipse_Activated" />
                           <!-- Start the backward contracting animations -->
                           <BeginStoryboard x:Name="Ellipse_Deactivated">
                               <Storyboard>
                                   <!-- Backward1 Animation (Contracting and fading in) -->
                                   <DoubleAnimation BeginTime="00:00:00"
                                           Duration="00:00:01.5"
                                           From="150"
                                           To="50"
                                           Storyboard.TargetProperty="(Ellipse.Width)"
                                           Storyboard.TargetName="EclipseBackward1" />
                                   <DoubleAnimation BeginTime="00:00:00"
                                           Duration="00:00:01.5"
                                           From="150"
                                           To="50"
                                           Storyboard.TargetProperty="(Ellipse.Height)"
                                           Storyboard.TargetName="EclipseBackward1" />
                                   <DoubleAnimation Storyboard.TargetProperty="Opacity"
                                           Storyboard.TargetName="EclipseBackward1"
                                           From="0.0"
                                           To="1.0"
                                           BeginTime="00:00:00"
                                           Duration="00:00:01.5" />
                                   <!-- Backward2 Animation (Starts 1 second later) -->
                                   <DoubleAnimation BeginTime="00:00:00"
                                           Duration="00:00:01"
                                           From="125"
                                           To="50"
                                           Storyboard.TargetProperty="(Ellipse.Width)"
                                           Storyboard.TargetName="EclipseBackward2" />
                                   <DoubleAnimation BeginTime="00:00:00"
                                           Duration="00:00:01"
                                           From="125"
                                           To="50"
                                           Storyboard.TargetProperty="(Ellipse.Height)"
                                           Storyboard.TargetName="EclipseBackward2" />
                                   <DoubleAnimation Storyboard.TargetProperty="Opacity"
                                           Storyboard.TargetName="EclipseBackward2"
                                           From="0.0"
                                           To="1.0"
                                           BeginTime="00:00:00"
                                           Duration="00:00:01" />
                                   <!-- Backward3 Animation (Starts 2 seconds later) -->
                                   <DoubleAnimation BeginTime="00:00:00"
                                           Duration="00:00:00.5"
                                           From="100"
                                           To="50"
                                           Storyboard.TargetProperty="(Ellipse.Width)"
                                           Storyboard.TargetName="EclipseBackward3" />
                                   <DoubleAnimation BeginTime="00:00:00"
                                           Duration="00:00:00.5"
                                           From="100"
                                           To="50"
                                           Storyboard.TargetProperty="(Ellipse.Height)"
                                           Storyboard.TargetName="EclipseBackward3" />
                                   <DoubleAnimation Storyboard.TargetProperty="Opacity"
                                           Storyboard.TargetName="EclipseBackward3"
                                           From="0.0"
                                           To="1.0"
                                           BeginTime="00:00:00"
                                           Duration="00:00:00.5" />
                               </Storyboard>
                           </BeginStoryboard>
                       </EventTrigger.Actions>
                   </EventTrigger>
               </ToggleButton.Triggers>
           </ToggleButton>
       </Grid>
       <!--End of Execute Button Grid-->
   </Grid>
   <!--End of the main grid-->
</UserControl>