  '(message-separator ((t :foreground "#4c3840" :weight bold)))
 
  ;; Org-Mode
- '(org-todo ((t :foreground "red")))
- '(org-done ((t :foreground "chartreuse")))
+ '(org-todo ((t :background "LightSalmon" :foreground "dark red" :weight bold)))
+ '(org-done ((t :foreground "dark green" :background "chartreuse" :weight bold)))
  '(org-hide ((t :foreground "#3a3f4b")))
- '(org-link ((t :foreground "cyan" :underline t)))
- '(org-date ((t :foreground "gold")))
+ '(org-link ((t :foreground "cyan3" :underline t)))
+ '(org-date ((t :foreground "dark orange")))
  '(org-block-begin-line ((t :foreground "cyan")))
- '(org-block-background ((t :background "black")))
+ '(org-block-background ((t :background "white")))
  '(org-block-end-line ((t :foreground "cyan")))
- '(org-tag ((t :foreground "gray60")))
+ '(org-tag ((t :foreground "DimGrey")))
  '(org-special-keyword ((t :foreground "gold")))
  '(org-priority ((t :foreground "chocolate1")))
- '(org-level-1 ((t :foreground "DodgerBlue1" :weight bold)))
- '(org-level-2 ((t :foreground "yellow2" :weight bold)))
- '(org-level-3 ((t :foreground "dark orange" :weight bold)))
+ '(org-level-1 ((t :foreground "DodgerBlue3" :weight bold)))
+ '(org-level-2 ((t :foreground "yellow3" :weight bold)))
+ '(org-level-3 ((t :foreground "orange3" :weight bold)))
  '(org-level-4 ((t :foreground "firebrick1" :weight bold)))
- '(org-level-5 ((t :foreground "lavender" :weight bold)))
- '(org-level-6 ((t :foreground "medium spring green" :weight bold)))
+ '(org-level-5 ((t :foreground "gray60" :weight bold))) ;; gray80 for black bg
+ '(org-level-6 ((t :foreground "green3" :weight bold)))
  '(org-ellipsis ((t :foreground "#cccccc")))
  '(org-mode-line-clock ((t :background unspecified (:inherit mode-line))))
 
  ;; ERC
- ;; '(erc-nick-default-face ((t :foreground "cyan" :background "navyblue" :weight bold)))
- '(erc-nick-default-face ((t :foreground "gold" :weight bold)))
- '(erc-current-nick-face ((t :foreground "gold" :weight bold)))
- '(erc-my-nick-face ((t :foreground "gold" :weight normal)))
- '(erc-nick-msg-face ((t :foreground "gray" :weight bold)))
- '(erc-notice-face ((t :foreground "chocolate1")))
+ '(erc-nick-default-face ((t :foreground "gold" :background "black" :weight bold)))
+ '(erc-current-nick-face ((t :inherit erc-nick-default-face)))
+ '(erc-my-nick-face ((t :inherit erc-nick-default-face)))
+ '(erc-nick-msg-face ((t :inherit erc-nick-default-face)))
+ '(erc-notice-face (:inherit (font-lock-comment-face)))
  '(erc-input-face ((t :foreground "white" :weight bold)))
- '(erc-prompt-face ((t :foreground "gold" :background "black" :weight bold :box 1)))
+ '(erc-prompt-face ((t :inherit erc-nick-default-face :box 1)))
  '(erc-timestamp-face ((t :foreground "DodgerBlue1" :weight bold)))
 
  ;; Ivy
- '(ivy-current-match ((t :background "blue1" :weight bold :foreground "cyan")))
- '(ivy-minibuffer-match-face-1 ((t :foreground "orange1")))
- '(ivy-minibuffer-match-face-2 ((t :foreground "chartreuse")))
- '(ivy-minibuffer-match-face-3 ((t :foreground "orange1")))
- '(ivy-minibuffer-match-face-4 ((t :foreground "chartreuse")))
- '(ivy-match-required-face ((t :foreground "#4c3840" :background "#4c3840" :weight bold)))
+ '(ivy-current-match ((t :inherit highlight)))
+ '(ivy-minibuffer-match-face-1 ((t :foreground "white" :background "gray60" :weight bold)))
+ '(ivy-minibuffer-match-face-2 ((t :foreground "white" :background "Dodgerblue3" :weight bold)))
+ '(ivy-minibuffer-match-face-3 ((t (:inherit ivy-minibuffer-match-face-1))))
+ '(ivy-minibuffer-match-face-4 ((t (:inherit ivy-minibuffer-match-face-2))))
+ '(ivy-match-required-face ((t :foreground "white" :background "orange4" :weight bold)))
  '(ivy-modified-buffer ((t :foreground "#4c3840")))
- '(ivy-remote ((t :foreground "cyan")))
+ '(ivy-remote ((t :background "cyan" :foreground "DodgerBlue4")))
 
  ;; Company
- '(company-preview ((t :background "#22252c" :foreground "white")))
- '(company-preview-common ((t :background "#22252c" :foreground "LightSkyblue1")))
- '(company-preview-search ((t :background "cyan" :foreground "white")))
- '(company-tooltip ((t :background "#22252c" :foreground "white")))
- '(company-scrollbar-bg ((t :background "#22252c")))
- '(company-scrollbar-fg ((t :background "navyblue")))
- '(company-tooltip-common ((t :foreground "LightSkyblue1" :weight bold :background "#22252c")))
- '(company-tooltip-annotation ((t :foreground "cyan" :weight bold :background "navyblue")))
- '(company-tooltip-common-selection ((t :foreground "dodgerblue1" :background "#3a3f4b" :weight bold)))
- '(company-tooltip-selection ((t :foreground "white" :background "#3a3f4b")))
+ '(company-preview ((t :background "DodgerBlue3" :foreground "white"))) ;; Autocomplete single suggestion
+ '(company-preview-common ((t :inherit highlight :weight bold))) ;; Autocomplete current word suggestion
+ '(company-preview-search ((t :background "cyan" :foreground "black")))
+ '(company-scrollbar-bg ((t :background "gray30"))) ;; Autocomplete Scroll bar background
+ '(company-scrollbar-fg ((t :background "DodgerBlue3"))) ;; Autocomplete Scrollbar
+ '(company-tooltip ((t :background "gray80" :foreground "white"))) ;; Autocomplete background
+ '(company-tooltip-common ((t :foreground "white" :background "DodgerBlue1" :weight bold))) ;; Autocomplete matched text
+ '(company-tooltip-annotation ((t :foreground "white" :background "DodgerBlue1" :weight bold)))
+ '(company-tooltip-common-selection ((t :foreground "white" :background "DodgerBlue3" :weight bold)))
+ '(company-tooltip-selection ((t :inherit highlight)))
  '(company-tooltip-mouse ((t :foreground "white" :background "#3a3f4b")))
 
  ;; Flycheck
  '(flycheck-fringe-error ((t :foreground "#4c3840" :background "#4c3840" :weight bold :inverse-video t)))
  '(flycheck-fringe-warning ((t :background "#4a473d" :foreground "orange1" :weight bold :inverse-video t)))
- '(flycheck-fringe-info ((t :background "navyblue" :foreground "cyan" :weight bold :inverse-video t)))
+ '(flycheck-fringe-info ((t :background "Dodgerblue4" :foreground "cyan" :weight bold :inverse-video t)))
  '(flycheck-warning ((t :underline (:color "#4c3840" :style wave))))
  '(flycheck-error ((t :underline (:color "#4c3840" :style wave))))
 
  ;; Visible mark
- '(visible-mark-face1 ((t :foreground "orange1"-light :inverse-video t)))
+ '(visible-mark-face1 ((t :foreground "orange1"-dark :inverse-video t)))
  '(visible-mark-face2 ((t :foreground "PeachPuff3" :inverse-video t)))
 
  ;; Compilation

;; Customizable-dark --- A dark theme that is completely customizable
;;; Commentary:
;;; Code:

(deftheme customizable-dark
  "Created 2018-09-03. A completely and easily customizable dark theme")

(custom-theme-set-faces
 'customizable-dark
 '(default ((t (:family "DejaVu Sans Mono"
                        :foundry "unknown"
                        :width normal
                        :height 106
                        :weight normal
                        :slant normal
                        :underline nil
                        :overline nil
                        :strike-through nil
                        :box nil
                        :inverse-video nil
                        :foreground "white"
                        :background "black"
                        :stipple nil
                        :inherit nil))))

 '(fixed-pitch ((t (:family "Monospace"))))
 '(variable-pitch ((((type w32)) (:foundry "outline" :family "Arial")) (t (:family "Sans Serif"))))
 '(escape-glyph ((t (:weight bold :foreground "cyan"))))
 '(homoglyph ((((background dark)) (:foreground "cyan"))
              (((type pc)) (:foreground "magenta")) (t (:foreground "brown"))))
 '(minibuffer-prompt ((t (:weight bold :foreground "cyan"))))
 '(highlight ((t (:underline nil :foreground "white" :background "#3e4451"))))
 '(region ((t (:foreground "white" :background "#3e4451"))))
 '(shadow ((t (:foreground "#9b9b9b"))))
 '(secondary-selection ((t (:foreground "white" :background "#3e4451"))))
 '(trailing-whitespace ((t (:background "#a52621"))))


 ;; Base fonts
 '(font-lock-comment-delimiter-face ((default (:inherit (font-lock-comment-face)))))
 '(font-lock-comment-face ((((class grayscale) (background light)) (:slant italic :weight bold :foreground "DimGray"))
                           (((class grayscale) (background dark)) (:slant italic :weight bold :foreground "LightGray"))
                           (((class color) (min-colors 88) (background light)) (:foreground "Firebrick"))
                           (((class color) (min-colors 88) (background dark)) (:foreground "chocolate1"))
                           (((class color) (min-colors 16) (background light)) (:foreground "red"))
                           (((class color) (min-colors 16) (background dark)) (:foreground "red1"))
                           (((class color) (min-colors 8) (background light)) (:foreground "red"))
                           (((class color) (min-colors 8) (background dark)) (:foreground "yellow"))
                           (t (:slant italic :weight bold))))
 '(font-lock-string-face ((t (:foreground "orange1"))))
 '(font-lock-constant-face ((t (:foreground "dodgerblue1"))))
 '(font-lock-builtin-face ((t (:foreground "#ee0000"))))
 '(font-lock-doc-face ((t (:inherit (font-lock-string-face)))))
 '(font-lock-function-name-face ((t (:foreground "yellow2"))))
 '(font-lock-keyword-face ((t (:foreground "green"))))
 '(font-lock-negation-char-face ((t (:foreground "#00a2f5"))))
 '(font-lock-preprocessor-face ((t (:foreground "#29b029"))))
 '(font-lock-regexp-grouping-backslash ((t (:foreground "#ae2823"))))
 '(font-lock-regexp-grouping-construct ((t (:foreground "#c9d617"))))
 '(font-lock-type-face ((t (:foreground "cyan"))))
 '(font-lock-variable-name-face ((t (:foreground "white"))))
 '(font-lock-warning-face ((t (:weight bold :foreground "#ee0000" :background "#4c3840"))))

 
 '(button ((t (:underline (:color "#b2af95" :style line) :inherit (link)))))
 '(link ((t (:underline (:color foreground-color :style line) :foreground "cyan"))))
 '(link-visited ((t (:underline (:color foreground-color :style line) :foreground "cyan"))))
 '(fringe ((t (:foreground "chocolate1" :background "#24282f"))))
 '(header-line ((t (:height 1.13 :box (:line-width 1 :color "#d6cbae" :style nil) :foreground "#d6cbae"))))
 '(tooltip ((t (:foreground "#0a7874" :background "#404040" :inherit (variable-pitch)))))

 '(isearch ((t (:foreground "#3e4451" :background "#ddbd78"))))
 '(isearch-fail ((t (:background "#86201c"))))
 '(lazy-highlight ((t (:foreground "#ddbd78" :background "#666666"))))
 '(match ((t (:foreground "#b2af95" :background "#0c325a"))))
 '(next-error ((t (:inherit (region)))))
 '(query-replace ((t (:inherit (isearch)))))

 ;; ;; Set Emacs background colour to black
 ;; '(add-to-list 'default-frame-alist '(foreground-color . "white"))
 ;; '(add-to-list 'default-frame-alist '(background-color . "black"))

 ;; Modeline
 '(mode-line              ((((background light))
                            :foreground "gray" :background "#1c2129"
                            :box (:line-width 2 :color "white"))
                           (((background dark))
                            :foreground "gray" :background "black"
                            :box (:line-width 1 :color "gray"))))
 '(mode-line-buffer-id ((t (:weight bold :foreground "white"))))
 '(mode-line-emphasis ((t (:weight bold :background "red")))) ;; Testing this atm
 '(mode-line-highlight ((t (:weight bold ))))
 '(mode-line-inactive ((t (:foreground "#8b806c" :background "black" :box (:line-width 1 :color "gray20")))))

 ;; Cursor
 '(cursor ((((background light)) (:background "black")) (((background dark)) (:background "white"))))

 ;; mml
 '(message-mml-face ((t :foreground "chocolate1")))

 ;; Escape and prompt faces
 '(minibuffer-prompt ((t :foreground "cyan" :weight bold)))
 '(escape-glyph ((t :foreground "cyan" :weight bold)))

 ;; linum (code line numbering)
 '(linum ((t :foreground "gray" :background "black")))
 ;; from hlinum
 '(linum-highlight-face ((t :foreground "cyan" :background "navyblue")))

 ;; eshell
 '(eshell-prompt ((t :foreground "orange1" :background "black" :weight bold)))
 '(eshell-ls-directory ((t :foreground "cyan" :background "black" :weight bold)))
 '(eshell-ls-symlink ((t :foreground "orange1" :background "black" :weight normal)))
 '(eshell-ls-executable ((t :foreground "chartreuse" :background "black" :weight bold)))

 ;; whitespace
 '(whitespace-space ((t :background unspecified :foreground "#3e4451"

                      :inverse-video unspecified)))
 '(whitespace-newline ((t :background unspecified :foreground "#3e4451"
                          :inverse-video unspecified)))
 '(whitespace-trailing ((t :background "#ee0000" :foreground "white" :weight bold
                           :inverse-video nil)))
 '(whitespace-line ((t :background unspecified :foreground "#ee0000"
                       '                                        :inverse-video unspecified)))
