<Styles xmlns="https://github.com/avaloniaui"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
    <Styles.Resources>
        <Thickness x:Key="ComboBoxTopHeaderMargin">0,0,0,4</Thickness>
        <x:Int32 x:Key="ComboBoxPopupMaxNumberOfItems">15</x:Int32>
        <x:Int32 x:Key="ComboBoxPopupMaxNumberOfItemsThatCanBeShownOnOneSide">7</x:Int32>

        <Thickness x:Key="ComboBoxPadding">12,5,0,7</Thickness>
        <Thickness x:Key="ComboBoxEditableTextPadding">11,5,32,6</Thickness>
        <x:Double x:Key="ComboBoxMinHeight">32</x:Double>
        
        <SolidColorBrush x:Key="ComboBoxDropDownGlyphForeground" Color="{StaticResource Light}" />
    </Styles.Resources>
    
    <Style Selector="ComboBox">
        <Setter Property="Padding" Value="{DynamicResource ComboBoxPadding}" />
        <Setter Property="FocusAdorner" Value="{x:Null}" />
        <Setter Property="MaxDropDownHeight" Value="504" />
        <Setter Property="Foreground" Value="{DynamicResource ComboBoxForeground}" />
        <Setter Property="Background" Value="{DynamicResource ComboBoxBackground}" />
        <Setter Property="BorderBrush" Value="{DynamicResource ComboBoxBorderBrush}" />
        <Setter Property="BorderThickness" Value="{DynamicResource ComboBoxBorderThemeThickness}" />
        <Setter Property="CornerRadius" Value="{DynamicResource ControlCornerRadius}" />
        <Setter Property="ScrollViewer.HorizontalScrollBarVisibility" Value="Disabled" />
        <Setter Property="ScrollViewer.VerticalScrollBarVisibility" Value="Auto" />
        <Setter Property="MinHeight" Value="{DynamicResource ComboBoxMinHeight}" />
        <Setter Property="HorizontalContentAlignment" Value="Stretch" />
        <Setter Property="VerticalContentAlignment" Value="Center" />
        <Setter Property="HorizontalAlignment" Value="Left" />
        <Setter Property="VerticalAlignment" Value="Top" />
        <Setter Property="FontSize" Value="{DynamicResource ControlContentThemeFontSize}" />
        <Setter Property="PlaceholderForeground" Value="{DynamicResource ComboBoxPlaceHolderForeground}" />
        <Setter Property="Template">
          <ControlTemplate>
            <DataValidationErrors>
              <Grid ColumnDefinitions="*,32">
                <Border x:Name="Background"
                        Grid.Column="0"
                        Grid.ColumnSpan="2"
                        Background="{TemplateBinding Background}"
                        BorderBrush="{TemplateBinding BorderBrush}"
                        BorderThickness="{TemplateBinding BorderThickness}"
                        CornerRadius="{TemplateBinding CornerRadius}"
                        MinWidth="{DynamicResource ComboBoxThemeMinWidth}" />
                <Border x:Name="HighlightBackground"
                        Grid.Column="0"
                        Grid.ColumnSpan="2"
                        Background="{DynamicResource ComboBoxBackgroundUnfocused}"
                        BorderBrush="{DynamicResource ComboBoxBackgroundBorderBrushUnfocused}"
                        BorderThickness="{TemplateBinding BorderThickness}"
                        CornerRadius="{TemplateBinding CornerRadius}"
                        IsVisible="False"/>
                <TextBlock x:Name="PlaceholderTextBlock"
                           Grid.Column="0"
                           HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}"
                           VerticalAlignment="{TemplateBinding VerticalContentAlignment}"
                           Margin="{TemplateBinding Padding}"
                           Text="{TemplateBinding PlaceholderText}"
                           Foreground="{TemplateBinding PlaceholderForeground}"
                           IsVisible="{TemplateBinding SelectionBoxItem, Converter={x:Static ObjectConverters.IsNull}}" />
                <ContentControl x:Name="ContentPresenter"
                                Content="{TemplateBinding SelectionBoxItem}"
                                ContentTemplate="{TemplateBinding ItemTemplate}"
                                Grid.Column="0"
                                Margin="{TemplateBinding Padding}"
                                HorizontalContentAlignment="{TemplateBinding HorizontalContentAlignment}"
                                VerticalContentAlignment="{TemplateBinding VerticalContentAlignment}">
                    <ContentControl.Styles>
                        <Style Selector="TextBlock">
                            <Setter Property="Foreground" Value="#FFFFFF" />
                            <Setter Property="FontSize" Value="14" />
                        </Style>
                    </ContentControl.Styles>
                </ContentControl>

                <Border x:Name="DropDownOverlay"
                        Grid.Column="1"
                        Background="Transparent"
                        Margin="0,1,1,1"
                        Width="30"
                        IsVisible="False"
                        HorizontalAlignment="Right" />

                <PathIcon x:Name="DropDownGlyph"
                          Grid.Column="1"
                          UseLayoutRounding="False"
                          IsHitTestVisible="False"
                          Height="12"
                          Width="12"
                          Margin="0,0,10,0"
                          HorizontalAlignment="Right"
                          VerticalAlignment="Center"
                          Foreground="{DynamicResource ComboBoxDropDownGlyphForeground}"
                          Data="M1939 486L2029 576L1024 1581L19 576L109 486L1024 1401L1939 486Z"/>

                <Popup Grid.Column="0" 
                       Name="PART_Popup"
                       WindowManagerAddShadowHint="False"
                       IsOpen="{TemplateBinding IsDropDownOpen, Mode=TwoWay}"
                       MinWidth="{Binding Bounds.Width, RelativeSource={RelativeSource TemplatedParent}}"
                       MaxHeight="{TemplateBinding MaxDropDownHeight}"
                       PlacementTarget="Background"
                       IsLightDismissEnabled="True"
                       InheritsTransform="True">
                  <Border x:Name="PopupBorder"
                          Margin="0, 5, 0, 0"
                          BorderThickness="{DynamicResource ComboBoxDropdownBorderThickness}"
                          Padding="{DynamicResource ComboBoxDropdownBorderPadding}"
                          HorizontalAlignment="Stretch"
                          CornerRadius="{DynamicResource OverlayCornerRadius}">
                      <Border.Background>
                        <SolidColorBrush Color="#13265a" />
                      </Border.Background>
                      <Border.BorderBrush>
                        <SolidColorBrush Color="#183171" />
                      </Border.BorderBrush>
                      <ScrollViewer HorizontalScrollBarVisibility="{TemplateBinding ScrollViewer.HorizontalScrollBarVisibility}"
                                    VerticalScrollBarVisibility="{TemplateBinding ScrollViewer.VerticalScrollBarVisibility}">
                      <ItemsPresenter Name="PART_ItemsPresenter"
                                      Margin="{DynamicResource ComboBoxDropdownContentMargin}"
                                      ItemsPanel="{TemplateBinding ItemsPanel}" />
                    </ScrollViewer>
                  </Border>
                </Popup>
              </Grid>
            </DataValidationErrors>
          </ControlTemplate>
        </Setter>

    </Style>

    <Style Selector="ComboBox.filter">
        <Setter Property="FontFamily" Value="{StaticResource Font-Family}" />
        <Setter Property="FontSize" Value="14" />
        <Setter Property="Background">
            <Setter.Value>
                <SolidColorBrush Color="#2D77F3" Opacity="0.2" />
            </Setter.Value>
        </Setter>    
        <Setter Property="BorderBrush">
            <Setter.Value>
                <SolidColorBrush Color="#2D77F3" Opacity="0.3" />
            </Setter.Value>
        </Setter>    
        <Setter Property="CornerRadius" Value="6" />
        <Setter Property="PlaceholderForeground" Value="{StaticResource Light-Gray}" />
    </Style>
    
    <Style Selector="ComboBox.filter:pointerover /template/ Border#Background">
        <Setter Property="Background">
            <Setter.Value>
                <SolidColorBrush Color="#2D77F3" Opacity="0.3" />
            </Setter.Value>
        </Setter>    
        <Setter Property="BorderBrush">
            <Setter.Value>
                <SolidColorBrush Color="#2D77F3" Opacity="0.4" />
            </Setter.Value>
        </Setter>   
    </Style>
    
    <Style Selector="ComboBoxItem">
        <Setter Property="Foreground" Value="{DynamicResource ComboBoxItemForeground}" />
        <Setter Property="Background" Value="{DynamicResource ComboBoxItemBackground}" />
        <Setter Property="Padding" Value="{DynamicResource ComboBoxItemThemePadding}" />
        <Setter Property="HorizontalContentAlignment" Value="Stretch" />
        <Setter Property="Template">
            <ControlTemplate>
                <ContentPresenter Name="PART_ContentPresenter"
                                  Foreground="{TemplateBinding Foreground}"
                                  Background="{TemplateBinding Background}"
                                  BorderBrush="{TemplateBinding BorderBrush}"
                                  BorderThickness="{TemplateBinding BorderThickness}"
                                  CornerRadius="{TemplateBinding CornerRadius}"
                                  ContentTemplate="{TemplateBinding ContentTemplate}"
                                  Content="{TemplateBinding Content}"
                                  HorizontalContentAlignment="{TemplateBinding HorizontalContentAlignment}"
                                  VerticalContentAlignment="{TemplateBinding VerticalContentAlignment}"
                                  Padding="{TemplateBinding Padding}">
                    <ContentPresenter.Styles>
                        <Style Selector="TextBlock">
                            <Setter Property="Foreground" Value="#FFFFFF" />
                            <Setter Property="FontSize" Value="14" />
                        </Style>
                    </ContentPresenter.Styles>
                </ContentPresenter>
            </ControlTemplate>
        </Setter>
    </Style>
    <Style Selector="ComboBoxItem /template/ ContentPresenter">
        <Setter Property="Margin" Value="3, 0" />
        <Setter Property="CornerRadius" Value="6" />
    </Style>
    <Style Selector="ComboBoxItem:pointerover /template/ ContentPresenter">
        <Setter Property="Margin" Value="3, 0" />
        <Setter Property="CornerRadius" Value="6" />
        <Setter Property="Background">
            <Setter.Value>
                <SolidColorBrush Color="{StaticResource Blue9}" Opacity="0.3" />
            </Setter.Value>
        </Setter>
    </Style>
    <Style Selector="ComboBoxItem:selected /template/ ContentPresenter">
        <Setter Property="Margin" Value="3, 0" />
        <Setter Property="CornerRadius" Value="6" />
        <Setter Property="Background">
            <Setter.Value>
                <SolidColorBrush Color="{StaticResource Blue9}" Opacity="0.4" />
            </Setter.Value>
        </Setter>
    </Style>
    <Style Selector="ComboBoxItem:pressed /template/ ContentPresenter">
        <Setter Property="Margin" Value="3" />
        <Setter Property="CornerRadius" Value="6" />
        <Setter Property="Background">
            <Setter.Value>
                <SolidColorBrush Color="{StaticResource Blue9}" Opacity="0.3" />
            </Setter.Value>
        </Setter>
    </Style>
</Styles>
