 
    ;; ivy-mode
    `(ivy-virtual ((t (:foreground ,pumpkin))))
-   `(ivy-current-match ((t (:foreground "white" :background "#1a4b77"))))
-   `(ivy-minibuffer-match-face-1 ((t (:background "#d3d3d3"))))
-   `(ivy-minibuffer-match-face-2 ((t (:background "#e99ce8" :weight bold))))
-   `(ivy-minibuffer-match-face-3 ((t (:background "#bbbbff" :weight bold))))
-   `(ivy-minibuffer-match-face-4 ((t (:background "#ffbbff" :weight bold))))
+   `(ivy-highlight-face ((t (:inherit highlight))))
+   `(ivy-current-match ((t (:background "#444155"))))
+   `(ivy-minibuffer-match-face-1 ((t (:foreground "#bbbbff" :underline t))))
+   `(ivy-minibuffer-match-face-2 ((t (:foreground "#e99ce8" :weight bold :underline t))))
+   `(ivy-minibuffer-match-face-3 ((t (:foreground ,emerald :weight bold :underline t))))
+   `(ivy-minibuffer-match-face-4 ((t (:foreground ,sun-flower :weight bold :underline t))))
    ;; indent-guide
    `(indent-guide-face ((t (:foreground ,concrete))))
    ;; js2-mode

   `(helm-moccur-buffer ((t (:foreground ,asbestos))))

   ;; highlight-symbol
   `(highlight-symbol-face ((t (:background "grey88"))))

   ;; hl-line-mode
   `(hl-line ((t (:background "#212026"))))

   `(grep-match-face ((t (:foreground ,sun-flower :weight bold))))
   `(match ((t (:background ,turquoise :foreground ,wet-asphalt))))
   ;; isearch
   `(isearch ((t (:foreground ,background :background "#86dc2f"))))
   `(isearch-fail ((t (:foreground ,sun-flower :weight bold :background ,pomegranate))))
   `(lazy-highlight ((t (:background "#29422d"))))

   `(menu ((t (:foreground ,midnight-blue :background ,silver))))
   `(minibuffer-prompt ((t (:foreground ,belize-hole :weight bold))))
   `(region ((,class (:background "#444155"))
             (t :inverse-video t)))
   `(secondary-selection ((t (:background ,turquoise))))
   `(trailing-whitespace ((t (:background ,alizarin))))
   `(vertical-border ((t (:foreground "#5d4d7a"))))
   ;; font lock
   `(font-lock-builtin-face ((t (:foreground ,belize-hole))))
   `(font-lock-comment-face ((t (:foreground ,asbestos))))
   `(font-lock-comment-delimiter-face ((t (:foreground ,concrete))))
   `(font-lock-constant-face ((t (:foreground ,amethyst))))
   `(font-lock-doc-face ((t (:foreground ,asbestos))))
   `(font-lock-function-name-face ((t (:foreground ,wisteria :weight bold))))
   `(font-lock-keyword-face ((t (:foreground ,belize-hole :weight bold))))
   `(font-lock-negation-char-face ((t (:foreground ,peter-river :weight bold))))
   `(font-lock-preprocessor-face ((t (:foreground ,alizarin :weight bold))))
   `(font-lock-regexp-grouping-construct ((t (:foreground ,orange :weight bold))))
