          (search-rest-bg blue)
          (search-rest-fg black)
          ;; line number column
-         (linum-bg       bg-d)
+         (linum-bg       bg)
          (linum-fg       black)
-
-
          (linum-hl-fg    "#BBBBBB")
-         (linum-hl-bg    bg-d)
+         (linum-hl-bg    bg)
          ;; mode line
          (modeline-fg    grey)
          (modeline-fg-l  blue)
          (modeline-bg    black)
-         (modeline-bg-l  (if window-system blue current-line))
+         (modeline-bg-l  blue)
          (modeline-fg-inactive grey-dd)
          (modeline-bg-inactive black)
          ;; vcs
          (vc-modified    yellow-d)
          (vc-added       green)
-         (vc-deleted     red))
+         (vc-deleted     red)
+
+         ;; terminal colors:
+         (ct-fg              ct-grey)
+         (ct-highlight       ct-magenta-d)
+         (ct-vertical-bar    ct-black)
+         (ct-current-line    ct-black)
+         (ct-selection       ct-blue-d)
+         (ct-builtin         ct-magenta)
+         (ct-comments        ct-grey-dd)
+         (ct-doc-comments    ct-green-d)
+         (ct-constants       ct-cyan)
+         (ct-functions       ct-magenta)
+         (ct-keywords        ct-red)
+         (ct-methods         ct-magenta)
+         (ct-operators       ct-cyan-d)
+         (ct-type            ct-blue)
+         (ct-strings         ct-yellow)
+         (ct-variables       ct-yellow)
+         (ct-numbers         ct-yellow-d)
+         (ct-region          "#3d4451")
+         ;; tabs
+         (ct-tab-unfocused-bg "#353a42")
+         (ct-tab-unfocused-fg "#1e2022")
+         ;; main search regions
+         (ct-search-bg      ct-cyan)
+         (ct-search-fg      ct-black)
+         ;; other search regions
+         (ct-search-rest-bg ct-blue)
+         (ct-search-rest-fg ct-black)
+         ;; line number column
+         (ct-linum-bg       ct-bg)
+         (ct-linum-fg       ct-black)
+         (ct-linum-hl-fg    "#BBBBBB")
+         (ct-linum-hl-bg    ct-bg)
+         ;; mode line
+         (ct-modeline-fg    ct-grey)
+         (ct-modeline-fg-l  ct-blue)
+         (ct-modeline-bg    ct-black)
+         (ct-modeline-bg-l  ct-blue)
+         (ct-modeline-fg-inactive ct-grey-dd)
+         (ct-modeline-bg-inactive ct-black)
+         ;; vcs
+         (ct-vc-modified    ct-yellow-d)
+         (ct-vc-added       ct-green)
+         (ct-vc-deleted     ct-red)
+         )
 
     (custom-theme-set-faces
      'challenger-deep
      `(challenger-deep-default
-       ((((type graphic)) :inherit default :background ,bg)
-        (t                :inherit default)))
+       ((,c (:inherit default :background ,bg))
+        (,ct (:inherit default :background ,ct-bg))
+        ))
      `(challenger-deep-hl-line
-       ((((type graphic)) :background ,current-line)
-        (t                :inherit hl-line)))
+       ((,c (:background ,current-line))
+        (,ct (:background ,ct-current-line))))
+
      `(challenger-deep-linum
-       ((((type graphic)) :inherit linum :background ,bg)
-        (t                :inherit linum)))
-     `(challenger-deep-minibuffer-active ((,c (:background ,bg))))
-     `(challenger-deep-nlinum-highlight  ((,c (:foreground ,linum-hl-fg :bold nil))))
+       ((,c (:inherit linum :background ,bg))
+        (,ct (:inherit linum :background ,ct-bg))))
+     `(challenger-deep-minibuffer-active ((,c (:background ,bg))
+                                          (,ct (:background ,ct-bg))))
+     `(challenger-deep-nlinum-highlight  ((,c (:foreground ,linum-hl-fg :bold nil))
+                                          (,ct (:foreground ,ct-linum-hl-fg :bold nil))))
      `(challenger-deep-flycheck-error    ((,c (:underline nil :foreground ,black :background ,red))))
-     `(challenger-deep-flycheck-warning  ((,c (:underline nil :foreground ,black :background ,yellow))))
+     `(challenger-deep-flycheck-warning  ((,c (:underline nil :foreground ,black :background ,yellow))
+                                          (,ct (:underline nil :foreground ,black :background ,yellow))))
      `(challenger-deep-flycheck-info     ((,c (:underline nil :foreground ,black :background ,green))))
      ;; Base
-     `(bold                   ((,c (:weight ,(if bold 'bold 'normal) :color ,white))))
+     `(bold                   ((,c (:weight ,(if bold 'bold 'normal) :color ,white))
+                               (,ct (:weight ,(if bold 'bold 'normal) :color ,white))))
      `(italic                 ((,c (:slant  ,(if italic 'italic 'normal)))))
-     `(bold-italic            ((,c (:weight ,(if bold 'bold 'normal) :slant ,(if italic 'italic 'normal) :foreground ,white))))
+     `(bold-italic            ((,c (:weight ,(if bold 'bold 'normal) :slant ,(if italic 'italic 'normal) :foreground ,white))
+                               (,ct (:weight ,(if bold 'bold 'normal) :slant ,(if italic 'italic 'normal) :foreground ,white))))
      ;; Global
-     `(default                ((,c (:background ,bg-d :foreground ,fg))))
-     `(fringe                 ((,c (:inherit default :foreground ,comments))))
-     `(region                 ((,c (:background ,region))))
-     `(highlight              ((,c (:background ,highlight :foreground ,black))))
-     `(hl-line                ((,c (:background ,current-line))))
-     `(cursor                 ((,c (:background ,blue))))
-     `(shadow                 ((,c (:foreground ,grey))))
-     `(minibuffer-prompt      ((,c (:foreground ,blue))))
-     `(tooltip                ((,c (:background ,black :foreground ,fg))))
-     `(error                  ((,c (:foreground ,red))))
-     `(warning                ((,c (:foreground ,yellow))))
-     `(success                ((,c (:foreground ,green))))
-     `(secondary-selection    ((,c (:background ,blue :foreground ,black))))
-     `(lazy-highlight         ((,c (:background ,blue-d :foreground ,white))))
-     `(match                  ((,c (:foreground ,green :background ,black :bold ,bold))))
-     `(trailing-whitespace    ((,c (:background ,doc-comments))))
-     `(vertical-border        ((,c (:foreground ,vertical-bar :background ,vertical-bar))))
-     `(show-paren-match       ((,c (:background ,blue-d :foreground ,black))))
-     `(linum
-       ((((type graphic)) :background ,black :foreground ,grey-dd :bold nil)
-        (t                :background ,black :foreground ,grey-dd :bold nil)))
-
-     `(font-lock-builtin-face           ((,c (:foreground ,builtin))))
-     `(font-lock-comment-face           ((,c (:foreground ,comments))))
-     `(font-lock-comment-delimiter-face ((,c (:foreground ,comments))))
-     `(font-lock-doc-face               ((,c (:foreground ,doc-comments))))
-     `(font-lock-doc-string-face        ((,c (:foreground ,doc-comments))))
-     `(font-lock-constant-face          ((,c (:foreground ,constants))))
-     `(font-lock-function-name-face     ((,c (:foreground ,functions))))
-     `(font-lock-keyword-face           ((,c (:foreground ,keywords))))
-     `(font-lock-string-face            ((,c (:foreground ,strings))))
-     `(font-lock-type-face              ((,c (:foreground ,type))))
-     `(font-lock-variable-name-face     ((,c (:foreground ,variables))))
-     `(font-lock-warning-face           ((,c (:inherit warning))))
-     `(font-lock-negation-char-face          ((,c (:foreground ,operators :bold ,bold))))
-     `(font-lock-preprocessor-face           ((,c (:foreground ,operators :bold ,bold))))
-     `(font-lock-preprocessor-char-face      ((,c (:foreground ,operators :bold ,bold))))
-     `(font-lock-regexp-grouping-backslash   ((,c (:foreground ,operators :bold ,bold))))
-     `(font-lock-regexp-grouping-construct   ((,c (:foreground ,operators :bold ,bold))))
+     `(default                ((,c (:background ,bg :foreground ,fg))
+                               (,ct (:background ,ct-bg :foreground ,ct-fg))))
+     `(fringe                 ((,c (:inherit default :foreground ,comments))
+                               (,ct (:inherit default :foreground ,ct-comments))))
+     `(region                 ((,c (:background ,region))
+                               (,ct (:background ,ct-region))))
+     `(highlight              ((,c (:background ,highlight :foreground ,black))
+                               (,ct (:background ,ct-highlight :foreground ,ct-black))))
+     `(hl-line                ((,c (:background ,current-line))
+                               (,ct (:background ,ct-current-line))))
+     `(cursor                 ((,c (:background ,blue))
+                               (,ct (:background ,ct-blue))))
+     `(shadow                 ((,c (:foreground ,grey))
+                               (,ct (:foreground ,ct-grey))))
+     `(minibuffer-prompt      ((,c (:foreground ,blue))
+                               (,ct (:foreground ,ct-blue))))
+     `(tooltip                ((,c (:background ,black :foreground ,fg))
+                               (,ct (:background ,ct-black :foreground ,ct-fg))))
+     `(error                  ((,c (:foreground ,red))
+                               (,ct (:foreground ,ct-red))))
+     `(warning                ((,c (:foreground ,yellow))
+                               (,ct (:foreground ,ct-yellow))))
+     `(success                ((,c (:foreground ,green))
+                               (,ct (:foreground ,ct-green))))
+     `(secondary-selection    ((,c (:background ,blue :foreground ,black))
+                               (,ct (:background ,ct-blue :foreground ,ct-black))))
+     `(lazy-highlight         ((,c (:background ,blue-d :foreground ,white))
+                               (,ct (:background ,ct-blue-d :foreground ,ct-white))))
+     `(match                  ((,c (:foreground ,green :background ,black :bold ,bold))
+                               (,ct (:foreground ,ct-green :background ,ct-black :bold ,bold))))
+     `(trailing-whitespace    ((,c (:background ,doc-comments))
+                               (,ct (:background ,ct-doc-comments))))
+     `(vertical-border        ((,c (:foreground ,vertical-bar :background ,vertical-bar))
+                               (,ct (:foreground ,ct-vertical-bar :background ,ct-vertical-bar))))
+     `(show-paren-match       ((,c (:background ,blue-d :foreground ,black))
+                               (,ct (:background ,ct-blue-d :foreground ,ct-black))))
+     `(linum                  ((,c (:background ,black :foreground ,grey-dd :bold))
+                               (,ct (:background ,ct-black :foreground ,ct-grey-dd :bold))))
+     `(font-lock-builtin-face           ((,c (:foreground ,builtin))
+                                         (,ct (:foreground ,ct-builtin))))
+     `(font-lock-comment-face           ((,c (:foreground ,comments))
+                                         (,ct (:foreground ,ct-comments))))
+     `(font-lock-comment-delimiter-face ((,c (:foreground ,comments))
+                                         (,ct (:foreground ,ct-comments))))
+     `(font-lock-doc-face               ((,c (:foreground ,doc-comments))
+                                         (,ct (:foreground ,ct-doc-comments))))
+     `(font-lock-doc-string-face        ((,c (:foreground ,doc-comments))
+                                         (,ct (:foreground ,ct-doc-comments))))
+     `(font-lock-constant-face          ((,c (:foreground ,constants))
+                                         (,ct (:foreground ,ct-constants))))
+     `(font-lock-function-name-face     ((,c (:foreground ,functions))
+                                         (,ct (:foreground ,ct-functions))))
+     `(font-lock-keyword-face           ((,c (:foreground ,keywords))
+                                         (,ct (:foreground ,ct-keywords))))
+     `(font-lock-string-face            ((,c (:foreground ,strings))
+                                         (,ct (:foreground ,ct-strings))))
+     `(font-lock-type-face              ((,c (:foreground ,type))
+                                         (,ct (:foreground ,ct-type))))
+     `(font-lock-variable-name-face     ((,c (:foreground ,variables))
+                                         (,ct (:foreground ,ct-variables))))
+     `(font-lock-warning-face           ((,c (:inherit warning))
+                                         (,ct (:inherit warning))))
+     `(font-lock-negation-char-face          ((,c (:foreground ,operators :bold ,bold))
+                                              (,ct (:foreground ,ct-operators :bold ,bold))))
+     `(font-lock-preprocessor-face           ((,c (:foreground ,operators :bold ,bold))
+                                              (,ct (:foreground ,ct-operators :bold ,bold))))
+     `(font-lock-preprocessor-char-face      ((,c (:foreground ,operators :bold ,bold))
+                                              (,ct (:foreground ,ct-operators :bold ,bold))))
+     `(font-lock-regexp-grouping-backslash   ((,c(:foreground ,operators :bold ,bold))
+                                              (,ct(:foreground ,ct-operators :bold ,bold))))
+     `(font-lock-regexp-grouping-construct   ((,c (:foreground ,operators :bold ,bold))
+                                              (,ct (:foreground ,ct-operators :bold ,bold))))
      ;; Modeline
-     `(mode-line                   ((,c (:foreground ,modeline-fg          :background ,modeline-bg))))
-     `(mode-line-inactive          ((,c (:foreground ,modeline-fg-inactive :background ,modeline-bg-inactive))))
-     `(header-line                 ((,c (:inherit mode-line))))
-     `(challenger-deep-modeline-buffer-path       ((,c (:foreground ,(if bold white cyan) :bold ,bold))))
-     `(challenger-deep-modeline-buffer-project    ((,c (:foreground ,fg))))
-     `(challenger-deep-modeline-buffer-modified   ((,c (:foreground ,red))))
-     `(challenger-deep-modeline-buffer-major-mode ((,c (:foreground ,(if bold white blue) :bold ,bold))))
-     `(challenger-deep-modeline-highlight     ((,c (:foreground ,blue))))
-     `(challenger-deep-modeline-panel         ((,c (:foreground ,black :background ,blue))))
-     `(challenger-deep-modeline-bar           ((,c (:background ,blue))))
-     `(challenger-deep-modeline-eldoc-bar     ((,c (:background ,yellow))))
+     `(mode-line                   ((,c (:foreground ,modeline-fg          :background ,modeline-bg))
+                                    (,ct (:foreground ,ct-modeline-fg          :background ,ct-modeline-bg))))
+     `(mode-line-inactive          ((,c (:foreground ,modeline-fg-inactive :background ,modeline-bg-inactive))
+                                    (,ct (:foreground ,ct-modeline-fg-inactive :background ,ct-modeline-bg-inactive))))
+     `(header-line                 ((,c (:inherit mode-line))
+                                    (,ct (:inherit mode-line))))
+     `(challenger-deep-modeline-buffer-path       ((,c (:foreground ,cyan :bold ,bold))
+                                                   (,ct (:foreground ,ct-cyan :bold ,bold))))
+     `(challenger-deep-modeline-buffer-project    ((,c (:foreground ,fg))
+                                                   (,ct (:foreground ,ct-fg))))
+     `(challenger-deep-modeline-buffer-modified   ((,c (:foreground ,red))
+                                                   (,ct (:foreground ,ct-red))))
+     `(challenger-deep-modeline-buffer-major-mode ((,c (:foreground ,blue :bold ,bold))
+                                                   (,ct (:foreground ,ct-blue :bold ,bold))))
+     `(challenger-deep-modeline-highlight     ((,c (:foreground ,blue))
+                                               (,ct (:foreground ,ct-blue))))
+     `(challenger-deep-modeline-panel         ((,c (:foreground ,black :background ,blue))
+                                               (,ct (:foreground ,ct-black :background ,ct-blue))))
+     `(challenger-deep-modeline-bar           ((,c (:background ,blue))
+                                               (,ct (:background ,ct-blue))))
+     `(challenger-deep-modeline-eldoc-bar     ((,c (:background ,yellow))
+                                               (,ct (:background ,ct-yellow))))
 
      ;;nlinum-relative
-     `(nlinum-relative-current-face ((,c (:foreground ,black :background ,blue :bold ,bold))))
+     `(nlinum-relative-current-face ((,c (:foreground ,black :background ,blue :bold ,bold))
+                                     (,ct (:foreground ,ct-black :background ,ct-blue :bold ,bold))))
 
      ;; Powerline/Spaceline
-     `(spaceline-highlight-face    ((,c (:foreground ,blue))))
-     `(powerline-active1           ((,c (:inherit mode-line))))
-     `(powerline-active2           ((,c (:foreground ,blue))))
-     `(powerline-inactive1         ((,c (:inherit mode-line-inactive))))
-     `(powerline-inactive2         ((,c (:inherit mode-line-inactive))))
+     `(spaceline-highlight-face    ((,c (:foreground ,blue))
+                                    (,ct (:foreground ,ct-blue))))
+     `(powerline-active1           ((,c (:inherit mode-line))
+                                    (,ct (:inherit mode-line))))
+     `(powerline-active2           ((,c (:foreground ,blue))
+                                    (,ct (:foreground ,ct-blue))))
+     `(powerline-inactive1         ((,c (:inherit mode-line-inactive))
+                                    (,ct (:inherit mode-line-inactive))))
+     `(powerline-inactive2         ((,c (:inherit mode-line-inactive))
+                                    (,ct (:inherit mode-line-inactive))))
 
      ;; Dired/dired-k
-     `(dired-directory             ((,c (:foreground ,red-d))))
-     `(dired-ignored               ((,c (:foreground ,comments))))
-     `(dired-k-directory           ((,c (:foreground ,blue))))
+     `(dired-directory             ((,c (:foreground ,red-d))
+                                    (,ct (:foreground ,ct-red-d))))
+     `(dired-ignored               ((,c (:foreground ,comments))
+                                    (,ct (:foreground ,ct-comments))))
+     `(dired-k-directory           ((,c (:foreground ,blue))
+                                    (,ct (:foreground ,ct-blue))))
 
      ;; Search
-     `(isearch                     ((,c (:background ,search-bg :foreground ,search-fg :bold ,bold))))
-     `(isearch-lazy-highlight-face ((,c (:background ,search-rest-bg :foreground ,search-rest-fg))))
-     `(yas-field-highlight-face    ((,c (:inherit match))))
+     `(isearch                     ((,c (:background ,search-bg :foreground ,search-fg :bold ,bold))
+                                    (,ct (:background ,ct-search-bg :foreground ,ct-search-fg :bold ,bold))))
+     `(isearch-lazy-highlight-face ((,c (:background ,search-rest-bg :foreground ,search-rest-fg))
+                                    (,ct (:background ,ct-search-rest-bg :foreground ,ct-search-rest-fg))))
+     `(yas-field-highlight-face    ((,c (:inherit match))
+                                    (,ct (:inherit match))))
 
      ;; `window-divider'
-     `(window-divider              ((,c (:foreground ,vertical-bar))))
-     `(window-divider-first-pixel  ((,c (:foreground ,vertical-bar))))
-     `(window-divider-last-pixel   ((,c (:foreground ,vertical-bar))))
+     `(window-divider              ((,c (:foreground ,vertical-bar))
+                                    (,ct (:foreground ,ct-vertical-bar))))
+     `(window-divider-first-pixel  ((,c (:foreground ,vertical-bar))
+                                    (,ct (:foreground ,ct-vertical-bar))))
+     `(window-divider-last-pixel   ((,c (:foreground ,vertical-bar))
+                                    (,ct (:foreground ,ct-vertical-bar))))
 
      ;; Plugins
      ;; Avy
-     `(avy-lead-face-0    ((,c (:background ,search-bg :foreground ,search-fg))))
-     `(avy-lead-face-1    ((,c (:background ,search-bg :foreground ,search-fg))))
-     `(avy-lead-face-2    ((,c (:background ,search-bg :foreground ,search-fg))))
-     `(avy-lead-face      ((,c (:background ,search-bg :foreground ,search-fg))))
+     `(avy-lead-face-0    ((,c (:background ,search-bg :foreground ,search-fg))
+                           (,ct (:background ,ct-search-bg :foreground ,ct-search-fg))))
+     `(avy-lead-face-1    ((,c (:background ,search-bg :foreground ,search-fg))
+                           (,ct (:background ,ct-search-bg :foreground ,ct-search-fg))))
+     `(avy-lead-face-2    ((,c (:background ,search-bg :foreground ,search-fg))
+                           (,ct (:background ,ct-search-bg :foreground ,ct-search-fg))))
+     `(avy-lead-face      ((,c (:background ,search-bg :foreground ,search-fg))
+                           (,ct (:background ,ct-search-bg :foreground ,ct-search-fg))))
      ;; company-mode
-     `(company-tooltip             ((,c (:inherit tooltip))))
-     `(company-tooltip-common      ((,c (:foreground ,blue))))
-     `(company-tooltip-search      ((,c (:foreground ,search-fg :background ,highlight))))
-     `(company-tooltip-selection   ((,c (:background ,selection))))
-     `(company-tooltip-mouse       ((,c (:background ,magenta :foreground ,bg))))
-     `(company-tooltip-annotation  ((,c (:foreground ,magenta-d))))
-     `(company-scrollbar-bg        ((,c (:background ,black))))
-     `(company-scrollbar-fg        ((,c (:background ,blue))))
-     `(company-preview             ((,c (:foreground ,blue))))
-     `(company-preview-common      ((,c (:foreground ,magenta :background ,black))))
-     `(company-preview-search      ((,c (:inherit company-tooltip-search))))
+     `(company-tooltip             ((,c (:inherit tooltip))
+                                    (,ct (:inherit tooltip))))
+     `(company-tooltip-common      ((,c (:foreground ,blue))
+                                    (,ct (:foreground ,ct-blue))))
+     `(company-tooltip-search      ((,c (:foreground ,search-fg :background ,highlight))
+                                    (,ct (:foreground ,ct-search-fg :background ,ct-highlight))))
+     `(company-tooltip-selection   ((,c (:background ,selection))
+                                    (,ct (:background ,ct-selection))))
+     `(company-tooltip-mouse       ((,c (:background ,magenta :foreground ,bg))
+                                    (,ct (:background ,ct-magenta :foreground ,ct-bg))))
+     `(company-tooltip-annotation  ((,c (:foreground ,magenta-d))
+                                    (,ct (:foreground ,ct-magenta-d))))
+     `(company-scrollbar-bg        ((,c (:background ,black))
+                                    (,ct (:background ,ct-black))))
+     `(company-scrollbar-fg        ((,c (:background ,blue))
+                                    (,ct (:background ,ct-blue))))
+     `(company-preview             ((,c (:foreground ,blue))
+                                    (,ct (:foreground ,ct-blue))))
+     `(company-preview-common      ((,c (:foreground ,magenta :background ,black))
+                                    (,ct (:foreground ,ct-magenta :background ,ct-black))))
+     `(company-preview-search      ((,c (:inherit company-tooltip-search))
+                                    (,ct (:inherit company-tooltip-search))))
      ;; diff-hl
-     `(diff-hl-change              ((,c (:foreground ,vc-modified))))
-     `(diff-hl-delete              ((,c (:foreground ,vc-deleted))))
-     `(diff-hl-insert              ((,c (:foreground ,vc-added))))
+     `(diff-hl-change              ((,c (:foreground ,vc-modified))
+                                    (,ct (:foreground ,ct-vc-modified))))
+     `(diff-hl-delete              ((,c (:foreground ,vc-deleted))
+                                    (,ct (:foreground ,ct-vc-deleted))))
+     `(diff-hl-insert              ((,c (:foreground ,vc-added))
+                                    (,ct (:foreground ,ct-vc-added))))
      ;; ediff
-     `(ediff-fine-diff-A    ((,c (:background ,red :foreground ,black :bold ,bold))))
-     `(ediff-fine-diff-B    ((,c (:background ,green :foreground ,black :bold ,bold))))
-     `(ediff-fine-diff-C    ((,c (:background ,grey-d :foreground ,black :bold ,bold))))
-     `(ediff-current-diff-A ((,c (:background ,red))))
-     `(ediff-current-diff-B ((,c (:background ,green))))
-     `(ediff-current-diff-C ((,c (:background ,grey))))
-     `(ediff-even-diff-A    ((,c (:background ,grey))))
-     `(ediff-even-diff-B    ((,c (:background ,grey))))
-     `(ediff-even-diff-C    ((,c (:background ,grey))))
-     `(ediff-odd-diff-A     ((,c (:background ,grey))))
-     `(ediff-odd-diff-B     ((,c (:background ,grey))))
-     `(ediff-odd-diff-C     ((,c (:background ,grey))))
+     `(ediff-fine-diff-A    ((,c (:background ,red :foreground ,black :bold ,bold))
+                             (,ct (:background ,ct-red :foreground ,ct-black :bold ,bold))))
+     `(ediff-fine-diff-B    ((,c (:background ,green :foreground ,black :bold ,bold))
+                             (,ct (:background ,ct-green :foreground ,ct-black :bold ,bold))))
+     `(ediff-fine-diff-C    ((,c (:background ,grey-d :foreground ,black :bold ,bold))
+                             (,ct (:background ,ct-grey-d :foreground ,ct-black :bold ,bold))))
+     `(ediff-current-diff-A ((,c (:background ,red))
+                             (,ct (:background ,ct-red))))
+     `(ediff-current-diff-B ((,c (:background ,green))
+                             (,ct (:background ,ct-green))))
+     `(ediff-current-diff-C ((,c (:background ,grey))
+                             (,ct (:background ,ct-grey))))
+     `(ediff-even-diff-A    ((,c (:background ,grey))
+                             (,ct (:background ,ct-grey))))
+     `(ediff-even-diff-B    ((,c (:background ,grey))
+                             (,ct (:background ,ct-grey))))
+     `(ediff-even-diff-C    ((,c (:background ,grey))
+                             (,ct (:background ,ct-grey))))
+     `(ediff-odd-diff-A     ((,c (:background ,grey))
+                             (,ct (:background ,ct-grey))))
+     `(ediff-odd-diff-B     ((,c (:background ,grey))
+                             (,ct (:background ,ct-grey))))
+     `(ediff-odd-diff-C     ((,c (:background ,grey))
+                             (,ct (:background ,ct-grey))))
      ;; elscreen
-     `(elscreen-tab-background-face     ((,c (:background ,bg-d))))
-     `(elscreen-tab-control-face        ((,c (:background ,bg-d :foreground ,bg-d))))
-     `(elscreen-tab-current-screen-face ((,c (:background ,bg :foreground ,fg))))
-     `(elscreen-tab-other-screen-face   ((,c (:background ,tab-unfocused-bg :foreground ,tab-unfocused-fg))))
+     `(elscreen-tab-background-face     ((,c (:background ,bg))
+                                         (,ct (:background ,ct-bg))))
+     `(elscreen-tab-control-face        ((,c (:background ,bg :foreground ,bg))
+                                         (,ct (:background ,ct-bg :foreground ,ct-bg))))
+     `(elscreen-tab-current-screen-face ((,c (:background ,bg :foreground ,fg))
+                                         (,ct (:background ,ct-bg :foreground ,ct-fg))))
+     `(elscreen-tab-other-screen-face   ((,c (:background ,tab-unfocused-bg :foreground ,tab-unfocused-fg))
+                                         (,ct (:background ,ct-tab-unfocused-bg :foreground ,ct-tab-unfocused-fg))))
      ;; evil-mode
-     `(evil-ex-substitute-matches                   ((,c (:background ,black :foreground ,red :strike-through t :bold ,bold))))
-     `(evil-ex-substitute-replacement               ((,c (:background ,black :foreground ,green :bold ,bold))))
-     `(evil-search-highlight-persist-highlight-face ((,c (:inherit isearch-lazy-highlight-face))))
+     `(evil-ex-substitute-matches                   ((,c (:background ,black :foreground ,red :strike-through t :bold ,bold))
+                                                     (,ct (:background ,ct-black :foreground ,ct-red :strike-through t :bold ,bold))))
+     `(evil-ex-substitute-replacement               ((,c (:background ,black :foreground ,green :bold ,bold))
+                                                     (,ct (:background ,ct-black :foreground ,ct-green :bold ,bold))))
+     `(evil-search-highlight-persist-highlight-face ((,c (:inherit isearch-lazy-highlight-face))
+                                                     (,ct (:inherit isearch-lazy-highlight-face))))
      ;; evil-snipe
-     `(evil-snipe-first-match-face ((,c (:foreground ,search-bg :background ,blue-d))))
-     `(evil-snipe-matches-face     ((,c (:foreground ,search-bg :underline t :bold ,bold))))
+     `(evil-snipe-first-match-face ((,c (:foreground ,search-bg :background ,blue-d))
+                                    (,ct (:foreground ,ct-search-bg :background ,ct-blue-d))))
+     `(evil-snipe-matches-face     ((,c (:foreground ,search-bg :underline t :bold ,bold))
+                                    (,ct (:foreground ,ct-search-bg :underline t :bold ,bold))))
      ;; flycheck
-     `(flycheck-error     ((,c (:underline (:style wave :color ,red)))))
-     `(flycheck-warning   ((,c (:underline (:style wave :color ,yellow)))))
-     `(flycheck-info      ((,c (:underline (:style wave :color ,green)))))
-     `(flyspell-incorrect ((,c (:underline (:style wave :color ,red) :inherit unspecified))))
+     `(flycheck-error     ((,c (:underline (:style wave :color ,red)))
+                           (,ct (:underline (:style wave :color ,ct-red)))))
+     `(flycheck-warning   ((,c (:underline (:style wave :color ,yellow)))
+                           (,ct (:underline (:style wave :color ,ct-yellow)))))
+     `(flycheck-info      ((,c (:underline (:style wave :color ,green)))
+                           (,ct (:underline (:style wave :color ,ct-green)))))
+     `(flyspell-incorrect ((,c (:underline (:style wave :color ,red) :inherit unspecified))
+                           (,ct (:underline (:style wave :color ,ct-red) :inherit unspecified))))
      ;; git-gutter
-     `(git-gutter-fr:modified         ((,c (:foreground ,vc-modified))))
-     `(git-gutter-fr:added            ((,c (:foreground ,vc-added))))
-     `(git-gutter-fr:deleted          ((,c (:foreground ,vc-deleted))))
-     `(git-gutter+-modified        ((,c (:foreground ,vc-modified))))
-     `(git-gutter+-added           ((,c (:foreground ,vc-added))))
-     `(git-gutter+-deleted         ((,c (:foreground ,vc-deleted))))
+     `(git-gutter-fr:modified         ((,c (:foreground ,vc-modified))
+                                       (,ct (:foreground ,ct-vc-modified))))
+     `(git-gutter-fr:added            ((,c (:foreground ,vc-added))
+                                       (,ct (:foreground ,ct-vc-added))))
+     `(git-gutter-fr:deleted          ((,c (:foreground ,vc-deleted))
+                                       (,ct (:foreground ,ct-vc-deleted))))
+     `(git-gutter+-modified        ((,c (:foreground ,vc-modified))
+                                    (,ct (:foreground ,ct-vc-modified))))
+     `(git-gutter+-added           ((,c (:foreground ,vc-added))
+                                    (,ct (:foreground ,ct-vc-added))))
+     `(git-gutter+-deleted         ((,c (:foreground ,vc-deleted))
+                                    (,ct (:foreground ,ct-vc-deleted))))
      ;; Helm
-     `(helm-selection              ((,c (:background ,selection))))
-     `(helm-match                  ((,c (:foreground ,blue :underline t))))
-     `(helm-source-header          ((,c (:background ,current-line :foreground ,grey))))
-     `(helm-swoop-target-line-face ((,c (:foreground ,highlight :inverse-video t))))
-     `(helm-ff-file                ((,c (:foreground ,fg))))
-     `(helm-ff-prefix              ((,c (:foreground ,magenta))))
-     `(helm-ff-dotted-directory    ((,c (:foreground ,grey-d))))
-     `(helm-ff-directory           ((,c (:foreground ,red-d))))
-     `(helm-ff-executable          ((,c (:foreground ,white :slant italic))))
+     `(helm-selection              ((,c (:background ,selection))
+                                    (,ct (:background ,ct-selection))))
+     `(helm-match                  ((,c (:foreground ,blue :underline t))
+                                    (,ct (:foreground ,ct-blue :underline t))))
+     `(helm-source-header          ((,c (:background ,current-line :foreground ,grey))
+                                    (,ct (:background ,ct-current-line :foreground ,ct-grey))))
+     `(helm-swoop-target-line-face ((,c (:foreground ,highlight :inverse-video t))
+                                    (,ct (:foreground ,ct-highlight :inverse-video t))))
+     `(helm-ff-file                ((,c (:foreground ,fg))
+                                    (,ct (:foreground ,ct-fg))))
+     `(helm-ff-prefix              ((,c (:foreground ,magenta))
+                                    (,ct (:foreground ,ct-magenta))))
+     `(helm-ff-dotted-directory    ((,c (:foreground ,grey-d))
+                                    (,ct (:foreground ,ct-grey-d))))
+     `(helm-ff-directory           ((,c (:foreground ,red-d))
+                                    (,ct (:foreground ,ct-red-d))))
+     `(helm-ff-executable          ((,c (:foreground ,white :slant italic))
+                                    (,ct (:foreground ,ct-white :slant italic))))
      ;; indent-guide, highlight-{quoted,numbers,indentation}-mode
-     `(indent-guide-face                         ((,c (:foreground "#2F2F38"))))
-     `(highlight-indentation-face                ((,c (:background "#222830"))))
-     `(highlight-indentation-current-column-face ((,c (:background "#222830"))))
-     `(highlight-indentation-guides-odd-face     ((,c (:background ,bg))))
-     `(highlight-indentation-guides-even-face    ((,c (:background "#222830"))))
-     `(highlight-quoted-symbol                   ((,c (:foreground ,type))))
-     `(highlight-quoted-quote                    ((,c (:foreground ,operators))))
-     `(highlight-numbers-number                  ((,c (:foreground ,numbers))))
+     `(indent-guide-face                         ((,c (:foreground "#2F2F38"))
+                                                  (,ct (:foreground "#2F2F38"))))
+     `(highlight-indentation-face                ((,c (:background "#222830"))
+                                                  (,ct (:background "#222830"))))
+     `(highlight-indentation-current-column-face ((,c (:background "#222830"))
+                                                  (,ct (:background "#222830"))))
+     `(highlight-indentation-guides-odd-face     ((,c (:background ,bg))
+                                                  (,ct (:background ,ct-bg))))
+     `(highlight-indentation-guides-even-face    ((,c (:background "#222830"))
+                                                  (,ct (:background "#222830"))))
+     `(highlight-quoted-symbol                   ((,c (:foreground ,type))
+                                                  (,ct (:foreground ,ct-type))))
+     `(highlight-quoted-quote                    ((,c (:foreground ,operators))
+                                                  (,ct (:foreground ,ct-operators))))
+     `(highlight-numbers-number                  ((,c (:foreground ,numbers))
+                                                  (,ct (:foreground ,ct-numbers))))
      ;; hide-show
-     `(hs-face            ((,c (:foreground ,comments :background ,bg-d))))
-     `(hs-fringe-face     ((,c (:foreground ,blue))))
+     `(hs-face            ((,c (:foreground ,comments :background ,bg))
+                           (,ct (:foreground ,ct-comments :background ,ct-bg))))
+     `(hs-fringe-face     ((,c (:foreground ,blue))
+                           (,ct (:foreground ,ct-blue))))
      ;; iedit
-     `(iedit-occurrence            ((,c (:foreground ,magenta :bold ,bold :inverse-video t))))
+     `(iedit-occurrence            ((,c (:foreground ,magenta :bold ,bold :inverse-video t))
+                                    (,ct (:foreground ,ct-magenta :bold ,bold :inverse-video t))))
      `(iedit-read-only-occurrence  ((,c (:inherit region))))
      ;; ivy
-     `(ivy-current-match           ((,c (:background ,black))))
-     `(ivy-minibuffer-match-face-1 ((,c (:foreground ,cyan))))
-     `(ivy-minibuffer-match-face-2 ((,c (:foreground ,magenta :bold ,bold))))
-     `(ivy-minibuffer-match-face-3 ((,c (:foreground ,green :bold ,bold))))
-     `(ivy-minibuffer-match-face-4 ((,c (:foreground ,yellow :bold ,bold))))
-     `(ivy-virtual                 ((,c (:foreground ,fg))))
+     `(ivy-current-match           ((,c (:background ,magenta-d))
+                                    (,ct (:background ,ct-magenta-d))))
+     `(ivy-minibuffer-match-face-1 ((,c (:foreground ,cyan))
+                                    (,ct (:foreground ,ct-cyan))))
+     `(ivy-minibuffer-match-face-2 ((,c (:foreground ,red :bold ,bold))
+                                    (,ct (:foreground ,ct-red :bold ,bold))))
+     `(ivy-minibuffer-match-face-3 ((,c (:foreground ,yellow :bold ,bold))
+                                    (,ct (:foreground ,ct-yellow :bold ,bold))))
+     `(ivy-minibuffer-match-face-4 ((,c (:foreground ,green :bold ,bold))
+                                    (,ct (:foreground ,ct-green :bold ,bold))))
+     `(ivy-virtual                 ((,c (:foreground ,fg))
+                                    (,ct (:foreground ,ct-fg))))
      ;; neotree
-     `(neo-root-dir-face           ((,c (:foreground ,green :background ,bg))))
-     `(neo-file-link-face          ((,c (:foreground ,fg))))
-     `(neo-dir-link-face           ((,c (:foreground ,blue))))
-     `(neo-expand-btn-face         ((,c (:foreground ,blue))))
+     `(neo-root-dir-face           ((,c (:foreground ,green :background ,bg))
+                                    (,ct (:foreground ,ct-green :background ,ct-bg))))
+     `(neo-file-link-face          ((,c (:foreground ,fg))
+                                    (,ct (:foreground ,ct-fg))))
+     `(neo-dir-link-face           ((,c (:foreground ,blue))
+                                    (,ct (:foreground ,ct-blue))))
+     `(neo-expand-btn-face         ((,c (:foreground ,blue))
+                                    (,ct (:foreground ,ct-blue))))
      ;; pos-tip
-     `(popup                       ((,c (:inherit tooltip))))
-     `(popup-tip-face              ((,c (:inherit tooltip))))
+     `(popup                       ((,c (:inherit tooltip))
+                                    (,ct (:inherit tooltip))))
+     `(popup-tip-face              ((,c (:inherit tooltip))
+                                    (,ct (:inherit tooltip))))
      ;; swiper
-     `(swiper-line-face            ((,c (:background ,blue    :foreground ,black))))
-     `(swiper-match-face-1         ((,c (:background ,black   :foreground ,grey))))
-     `(swiper-match-face-2         ((,c (:background ,red-d  :foreground ,black :bold ,bold))))
-     `(swiper-match-face-3         ((,c (:background ,magenta :foreground ,black :bold ,bold))))
-     `(swiper-match-face-4         ((,c (:background ,green   :foreground ,black :bold ,bold))))
+     `(swiper-line-face            ((,c (:background ,blue    :foreground ,black))
+                                    (,ct (:background ,ct-blue    :foreground ,ct-black))))
+     `(swiper-match-face-1         ((,c (:background ,black   :foreground ,grey))
+                                    (,ct (:background ,ct-black   :foreground ,ct-grey))))
+     `(swiper-match-face-2         ((,c (:background ,red-d  :foreground ,black :bold ,bold))
+                                    (,ct (:background ,ct-red-d  :foreground ,ct-black :bold ,bold))))
+     `(swiper-match-face-3         ((,c (:background ,magenta :foreground ,black :bold ,bold))
+                                    (,ct (:background ,ct-magenta :foreground ,ct-black :bold ,bold))))
+     `(swiper-match-face-4         ((,c (:background ,green   :foreground ,black :bold ,bold))
+                                    (,ct (:background ,ct-green :foreground ,ct-black :bold ,bold))))
      ;; stripe-buffer
-     `(stripe-highlight            ((,c (:background ,bg))))
+     `(stripe-highlight            ((,c (:background ,bg))
+                                    (,ct (:background ,ct-bg))))
      ;; Volatile highlights
-     `(vhl/default-face            ((,c (:background ,grey-d))))
+     `(vhl/default-face            ((,c (:background ,grey-d))
+                                    (,ct (:background ,ct-grey-d))))
      ;; Rainbow delimiters
-     `(rainbow-delimiters-depth-1-face   ((,c (:bold ,bold :foreground ,blue))))
-     `(rainbow-delimiters-depth-2-face   ((,c (:bold ,bold :foreground ,magenta))))
-     `(rainbow-delimiters-depth-3-face   ((,c (:bold ,bold :foreground ,green))))
-     `(rainbow-delimiters-depth-4-face   ((,c (:bold ,bold :foreground ,red-d))))
-     `(rainbow-delimiters-depth-5-face   ((,c (:bold ,bold :foreground ,magenta-d))))
-     `(rainbow-delimiters-unmatched-face ((,c (:bold ,bold :foreground ,red :inverse-video t))))
+     `(rainbow-delimiters-depth-1-face   ((,c (:bold ,bold :foreground ,blue))
+                                          (,ct (:bold ,bold :foreground ,ct-blue))))
+     `(rainbow-delimiters-depth-2-face   ((,c (:bold ,bold :foreground ,magenta))
+                                          (,ct (:bold ,bold :foreground ,ct-magenta))))
+     `(rainbow-delimiters-depth-3-face   ((,c (:bold ,bold :foreground ,green))
+                                          (,ct (:bold ,bold :foreground ,ct-green))))
+     `(rainbow-delimiters-depth-4-face   ((,c (:bold ,bold :foreground ,red-d))
+                                          (,ct (:bold ,bold :foreground ,ct-red-d))))
+     `(rainbow-delimiters-depth-5-face   ((,c (:bold ,bold :foreground ,magenta-d))
+                                          (,ct (:bold ,bold :foreground ,magenta-d))))
+     `(rainbow-delimiters-unmatched-face ((,c (:bold ,bold :foreground ,red :inverse-video t))
+                                          (,ct (:bold ,bold :foreground ,ct-red :inverse-video t))))
      ;; re-builder
-     `(reb-match-0 ((,c (:foreground ,red-d   :inverse-video t))))
-     `(reb-match-1 ((,c (:foreground ,magenta  :inverse-video t))))
-     `(reb-match-2 ((,c (:foreground ,green    :inverse-video t))))
-     `(reb-match-3 ((,c (:foreground ,yellow   :inverse-video t))))
+     `(reb-match-0 ((,c (:foreground ,red-d   :inverse-video t))
+                    (,ct (:foreground ,ct-red-d   :inverse-video t))))
+     `(reb-match-1 ((,c (:foreground ,magenta  :inverse-video t))
+                    (,ct (:foreground ,ct-magenta  :inverse-video t))))
+     `(reb-match-2 ((,c (:foreground ,green    :inverse-video t))
+                    (,ct (:foreground ,ct-green    :inverse-video t))))
+     `(reb-match-3 ((,c (:foreground ,yellow   :inverse-video t))
+                    (,ct (:foreground ,ct-yellow   :inverse-video t))))
      ;; which-key
-     `(which-key-key-face                   ((,c (:foreground ,green))))
-     `(which-key-group-description-face     ((,c (:foreground ,magenta-d))))
-     `(which-key-command-description-face   ((,c (:foreground ,blue))))
-     `(which-key-local-map-description-face ((,c (:foreground ,magenta))))
+     `(which-key-key-face                   ((,c (:foreground ,green))
+                                             (,ct (:foreground ,ct-green))))
+     `(which-key-group-description-face     ((,c (:foreground ,magenta-d))
+                                             (,ct (:foreground ,ct-magenta-d))))
+     `(which-key-command-description-face   ((,c (:foreground ,blue))
+                                             (,ct (:foreground ,ct-blue))))
+     `(which-key-local-map-description-face ((,c (:foreground ,magenta))
+                                             (,ct (:foreground ,ct-magenta))))
      ;; whitespace
-     `(whitespace-tab              ((,c (:foreground ,grey-d))))
-     `(whitespace-newline          ((,c (:foreground ,grey-d))))
-     `(whitespace-trailing         ((,c (:background ,grey-d))))
-     `(whitespace-line             ((,c (:background ,current-line :foreground ,magenta))))
+     `(whitespace-tab              ((,c (:foreground ,grey-d))
+                                    (,ct (:foreground ,ct-grey-d))))
+     `(whitespace-newline          ((,c (:foreground ,grey-d))
+                                    (,ct (:foreground ,ct-grey-d))))
+     `(whitespace-trailing         ((,c (:background ,grey-d))
+                                    (,ct (:background ,ct-grey-d))))
+     `(whitespace-line             ((,c (:background ,current-line :foreground ,magenta))
+                                    (,ct (:background ,ct-current-line :foreground ,ct-magenta))))
      ;; workgroups2
-     `(wg-current-workgroup-face   ((,c (:foreground ,black  :background ,blue))))
-     `(wg-other-workgroup-face     ((,c (:foreground ,grey :background ,current-line))))
-     `(wg-divider-face             ((,c (:foreground ,grey-d))))
-     `(wg-brace-face               ((,c (:foreground ,blue))))
+     `(wg-current-workgroup-face   ((,c (:foreground ,black  :background ,blue))
+                                    (,ct (:foreground ,ct-black  :background ,ct-blue))))
+     `(wg-other-workgroup-face     ((,c (:foreground ,grey :background ,current-line))
+                                    (,ct (:foreground ,ct-grey :background ,ct-current-line))))
+     `(wg-divider-face             ((,c (:foreground ,grey-d))
+                                    (,ct (:foreground ,ct-grey-d))))
+     `(wg-brace-face               ((,c (:foreground ,blue))
+                                    (,ct (:foreground ,ct-blue))))
 
      ;; term and ansi-term
-     `(term-color-black ((,c (:foreground ,black :background ,bg))))
-     `(term-color-white ((,c (:foreground ,grey :background ,grey-d))))
-     `(term-color-red ((,c (:foreground ,red :background ,red-d))))
-     `(term-color-yellow ((,c (:foreground ,yellow :background ,yellow-d))))
-     `(term-color-green ((,c (:foreground ,green :background ,green-d))))
-     `(term-color-cyan ((,c (:foreground ,cyan :background ,cyan-d))))
-     `(term-color-blue ((,c (:foreground ,blue :background ,blue-d))))
-     `(term-color-magenta ((,c (:foreground ,magenta :background ,magenta-d))))
-
-
-     ;; smartparens
-     `(sp-pair-overlay-face ((,c ())))
+     `(term-color-black ((,c (:foreground ,black :background ,bg))
+                         (,ct (:foreground ,ct-black :background ,ct-bg))))
+     `(term-color-white ((,c (:foreground ,grey :background ,grey-d))
+                         (,ct (:foreground ,ct-grey :background ,ct-grey-d))))
+     `(term-color-red ((,c (:foreground ,red :background ,red-d))
+                       (,ct (:foreground ,ct-red :background ,ct-red-d))))
+     `(term-color-yellow ((,c (:foreground ,yellow :background ,yellow-d))
+                          (,ct (:foreground ,ct-yellow :background ,ct-yellow-d))))
+     `(term-color-green ((,c (:foreground ,green :background ,green-d))
+                         (,ct (:foreground ,ct-green :background ,ct-green-d))))
+     `(term-color-cyan ((,c (:foreground ,cyan :background ,cyan-d))
+                        (,ct (:foreground ,ct-cyan :background ,ct-cyan-d))))
+     `(term-color-blue ((,c (:foreground ,blue :background ,blue-d))
+                        (,ct (:foreground ,ct-blue :background ,ct-blue-d))))
+     `(term-color-magenta ((,c (:foreground ,magenta :background ,magenta-d))
+                           (,ct (:foreground ,ct-magenta :background ,ct-magenta-d))))
+
 
      ;; highlight-symbol
-     `(highlight-symbol-face ((,c (:underline t))))
+     `(highlight-symbol-face ((,c (:underline t))
+                              (,ct (:underline t))))
 
      ;;evil-mc-cursor
-     `(evil-mc-cursor-default-face ((,c (:background ,yellow :foreground ,black))))
+     `(evil-mc-cursor-default-face ((,c (:background ,yellow :foreground ,black))
+                                    (,ct (:background ,ct-yellow :foreground ,ct-black))))
 
      ;;all-the-icons-dired
-     `(all-the-icons-dired-dir-face ((,c (:foreground ,blue))))
+     `(all-the-icons-dired-dir-face ((,c (:foreground ,blue))
+                                     (,ct (:foreground ,ct-blue))))
 
      ;;latex
-     `(font-latex-sectioning-1-face               ((,c (:foreground ,green :bold ,bold :height 1.8 :box (:line-width 4 :color ,current-line)))))
-     `(font-latex-sectioning-2-face               ((,c (:foreground ,green :bold ,bold :height 1.5))))
-     `(font-latex-sectioning-3-face               ((,c (:foreground ,green :bold ,bold :height 1.3))))
-     `(font-latex-sectioning-4-face               ((,c (:foreground ,green :bold ,bold :height 1.2))))
-     `(font-latex-sectioning-5-face               ((,c (:foreground ,green :bold ,bold :height 1.1))))
-     `(font-latex-sectioning-6-face               ((,c (:foreground ,green :bold ,bold))))
-     `(font-latex-warning-face                    ((,c (:foreground ,yellow-d :bold ,bold))))
-
+     `(font-latex-sectioning-1-face               ((,c (:foreground ,green :bold ,bold :height 1.8 :box (:line-width 4 :color ,current-line)))
+                                                   (,ct (:foreground ,ct-green :bold ,bold :height 1.8 :box (:line-width 4 :color ,ct-current-line)))))
+     `(font-latex-sectioning-2-face               ((,c (:foreground ,green :bold ,bold :height 1.5))
+                                                   (,ct (:foreground ,ct-green :bold ,bold :height 1.5))))
+     `(font-latex-sectioning-3-face               ((,c (:foreground ,green :bold ,bold :height 1.3))
+                                                   (,ct (:foreground ,ct-green :bold ,bold :height 1.3))))
+     `(font-latex-sectioning-4-face               ((,c (:foreground ,green :bold ,bold :height 1.2))
+                                                   (,ct (:foreground ,ct-green :bold ,bold :height 1.2))))
+     `(font-latex-sectioning-5-face               ((,c (:foreground ,green :bold ,bold :height 1.1))
+                                                   (,ct (:foreground ,ct-green :bold ,bold :height 1.1))))
+     `(font-latex-sectioning-6-face               ((,c (:foreground ,green :bold ,bold))
+                                                   (,ct (:foreground ,ct-green :bold ,bold))))
+     `(font-latex-warning-face                    ((,c (:foreground ,yellow-d :bold ,bold))
+                                                   (,ct (:foreground ,ct-yellow-d :bold ,bold))))
 
      ;;
      ;; Language-specific
      ;;
 
      ;; (css|scss)-mode
-     `(css-proprietary-property ((,c (:foreground ,red-d))))
-     `(css-property             ((,c (:foreground ,green))))
-     `(css-selector             ((,c (:foreground ,blue))))
+     `(css-proprietary-property ((,c (:foreground ,red-d))
+                                 (,ct (:foreground ,ct-red-d))))
+     `(css-property             ((,c (:foreground ,green))
+                                 (,ct (:foreground ,ct-green))))
+     `(css-selector             ((,c (:foreground ,blue))
+                                 (,ct (:foreground ,ct-blue))))
      ;; js2-mode
-     `(js2-function-param  ((,c (:foreground ,variables))))
-     `(js2-function-call   ((,c (:foreground ,functions))))
-     `(js2-object-property ((,c (:foreground ,magenta-d))))
-     `(js2-jsdoc-tag       ((,c (:foreground ,comments))))
+     `(js2-function-param  ((,c (:foreground ,variables))
+                            (,ct (:foreground ,ct-variables))))
+     `(js2-function-call   ((,c (:foreground ,functions))
+                            (,ct (:foreground ,ct-functions))))
+     `(js2-object-property ((,c (:foreground ,magenta-d))
+                            (,ct (:foreground ,ct-magenta-d))))
+     `(js2-jsdoc-tag       ((,c (:foreground ,comments))
+                            (,ct (:foreground ,ct-comments))))
      ;; typescript-mode
-     `(ts-object-property  ((,c (:inherit js2-object-property))))
+     `(ts-object-property  ((,c (:inherit js2-object-property))
+                            (,ct (:inherit js2-object-property))))
      ;; web-mode
-     `(web-mode-doctype-face           ((,c (:foreground ,comments))))
-     `(web-mode-html-tag-face          ((,c (:foreground ,methods))))
-     `(web-mode-html-tag-bracket-face  ((,c (:foreground ,methods))))
-     `(web-mode-html-attr-name-face    ((,c (:foreground ,type))))
-     `(web-mode-html-entity-face       ((,c (:foreground ,cyan :italic ,italic))))
-     `(web-mode-block-control-face     ((,c (:foreground ,red-d))))
+     `(web-mode-doctype-face           ((,c (:foreground ,comments))
+                                        (,ct (:foreground ,ct-comments))))
+     `(web-mode-html-tag-face          ((,c (:foreground ,methods))
+                                        (,ct (:foreground ,ct-methods))))
+     `(web-mode-html-tag-bracket-face  ((,c (:foreground ,methods))
+                                        (,ct (:foreground ,ct-methods))))
+     `(web-mode-html-attr-name-face    ((,c (:foreground ,type))
+                                        (,ct (:foreground ,ct-type))))
+     `(web-mode-html-entity-face       ((,c (:foreground ,cyan :italic ,italic))
+                                        (,ct (:foreground ,ct-cyan :italic ,italic))))
+     `(web-mode-block-control-face     ((,c (:foreground ,red-d))
+                                        (,ct (:foreground ,ct-red-d))))
      ;;`(web-mode-html-tag-bracket-face  ((,c (:foreground ,operators))))
      ;; makefile-*-mode
-     `(makefile-targets     ((,c (:foreground ,blue))))
+     `(makefile-targets     ((,c (:foreground ,blue))
+                             (,ct (:foreground ,ct-blue))))
      ;; markdown-mode
-     `(markdown-header-face           ((,c (:foreground ,red :bold nil))))
-     `(markdown-header-delimiter-face ((,c (:inherit markdown-header-face))))
-     `(markdown-metadata-key-face     ((,c (:foreground ,red))))
+     `(markdown-header-face           ((,c (:foreground ,red :bold nil))
+                                       (,ct (:foreground ,ct-red :bold nil))))
+     `(markdown-header-delimiter-face ((,c (:inherit markdown-header-face))
+                                       (,ct (:inherit markdown-header-face))))
+     `(markdown-metadata-key-face     ((,c (:foreground ,red))
+                                       (,ct (:foreground ,ct-red))))
      ;; `(markdown-blockquote-face ((,c (:foreground ,magenta-d))))
-     `(markdown-markup-face     ((,c (:foreground ,grey))))
+     `(markdown-markup-face     ((,c (:foreground ,grey))
+                                 (,ct (:foreground ,ct-grey))))
      ;; `(markdown-markup-face     ((,c (:foreground ,operators))))
-     `(markdown-pre-face        ((,c (:foreground ,green))))
-     `(markdown-inline-face     ((,c (:foreground ,cyan))))
-     `(markdown-list-face       ((,c (:foreground ,red))))
-     `(markdown-link-face       ((,c (:foreground ,blue :bold nil))))
-     `(markdown-url-face        ((,c (:foreground ,magenta :bold nil))))
-     `(markdown-header-face-1   ((,c (:inherit markdown-header-face))))
-     `(markdown-header-face-2   ((,c (:inherit markdown-header-face))))
-     `(markdown-header-face-3   ((,c (:inherit markdown-header-face))))
-     `(markdown-header-face-4   ((,c (:inherit markdown-header-face))))
-     `(markdown-header-face-5   ((,c (:inherit markdown-header-face))))
-     `(markdown-header-face-6   ((,c (:inherit markdown-header-face))))
+     `(markdown-pre-face        ((,c (:foreground ,green))
+                                 (,ct (:foreground ,ct-green))))
+     `(markdown-inline-face     ((,c (:foreground ,cyan))
+                                 (,ct (:foreground ,ct-cyan))))
+     `(markdown-list-face       ((,c (:foreground ,red))
+                                 (,ct (:foreground ,ct-red))))
+     `(markdown-link-face       ((,c (:foreground ,blue :bold nil))
+                                 (,ct (:foreground ,ct-blue :bold nil))))
+     `(markdown-url-face        ((,c (:foreground ,magenta :bold nil))
+                                 (,ct (:foreground ,ct-magenta :bold nil))))
+     `(markdown-header-face-1   ((,c (:inherit markdown-header-face))
+                                 (,ct (:inherit markdown-header-face))))
+     `(markdown-header-face-2   ((,c (:inherit markdown-header-face))
+                                 (,ct (:inherit markdown-header-face))))
+     `(markdown-header-face-3   ((,c (:inherit markdown-header-face))
+                                 (,ct (:inherit markdown-header-face))))
+     `(markdown-header-face-4   ((,c (:inherit markdown-header-face))
+                                 (,ct (:inherit markdown-header-face))))
+     `(markdown-header-face-5   ((,c (:inherit markdown-header-face))
+                                 (,ct (:inherit markdown-header-face))))
+     `(markdown-header-face-6   ((,c (:inherit markdown-header-face))
+                                 (,ct (:inherit markdown-header-face))))
      ;;`(markdown-header-rule-face       ((,c (:inherit shadow))))
-     `(markdown-italic-face            ((,c (:inherit italic :foreground ,magenta-d))))
-     `(markdown-bold-face              ((,c (:inherit bold :foreground ,red-d))))
+     `(markdown-italic-face            ((,c (:inherit italic :foreground ,magenta-d))
+                                        (,ct (:inherit italic :foreground ,ct-magenta-d))))
+     `(markdown-bold-face              ((,c (:inherit bold :foreground ,red-d))
+                                        (,ct (:inherit bold :foreground ,ct-red-d))))
      ;; org-mode
-     `(org-tag                   ((,c (:foreground ,yellow :bold nil))))
-     `(org-priority              ((,c (:foreground ,red))))
+     `(org-tag                   ((,c (:foreground ,yellow :bold nil))
+                                  (,ct (:foreground ,ct-yellow :bold nil))))
+     `(org-priority              ((,c (:foreground ,red))
+                                  (,ct (:foreground ,ct-red))))
      ;;`(org-ellipsis            ((,c (:inherit hs-face))))
-     `(org-hide                  ((,c (:foreground ,bg))))
-     `(org-table                 ((,c (:foreground ,cyan))))
-     `(org-quote                 ((,c (:slant italic :foreground ,grey :background ,current-line))))
-     `(org-document-info         ((,c (:foreground ,red-d))))
-     `(org-document-info-keyword ((,c (:foreground ,grey-d))))
-     `(org-meta-line             ((,c (:foreground ,doc-comments))))
-     `(org-block-begin-line      ((,c (:background ,grey-dd :foreground ,grey-d))))
-     `(org-block-end-line        ((,c (:inherit org-block-begin-line))))
-     `(org-block-background      ((,c (:background ,grey-ddd))))
-     `(org-archived              ((,c (:foreground ,grey))))
-     `(org-document-title        ((,c (:foreground ,cyan :height 1.2))))
-     `(org-level-1               ((,c (:background ,current-line :foreground ,blue :bold ,bold :height 1.2 :box (:line-width 4 :color ,current-line)))))
-     `(org-level-2               ((,c (:background ,current-line :foreground ,blue :height 1.1))))
-     `(org-level-3               ((,c (:background ,current-line :foreground ,blue :height 1.1))))
-     `(org-level-4               ((,c (:background ,current-line :foreground ,blue))))
-     `(org-level-5               ((,c (:background ,current-line :foreground ,blue))))
-     `(org-level-6               ((,c (:background ,current-line :foreground ,blue))))
-     `(org-code                  ((,c (:foreground ,red-d))))
-     `(org-verbatim              ((,c (:foreground ,green))))
-     `(org-formula               ((,c (:foreground ,cyan))))
-     `(org-list-dt               ((,c (:foreground ,cyan))))
-     `(org-footnote              ((,c (:foreground ,red-d))))
-     `(org-link                  ((,c (:foreground ,cyan :underline t))))
-     `(org-date                  ((,c (:foreground ,magenta-d))))
-     `(org-todo                  ((,c (:foreground ,yellow :bold inherit))))
-     `(org-done                  ((,c (:foreground ,green  :bold inherit))))
-     `(org-headline-done         ((,c (:foreground ,grey :bold nil :strike-through t))))
-     `(org-special-keyword       ((,c (:foreground ,magenta))))
-     `(org-checkbox              ((,c (:inherit org-todo))))
-     `(org-checkbox-statistics-todo ((,c (:inherit org-todo))))
-     `(org-checkbox-statistics-done ((,c (:inherit org-done))))
+     `(org-hide                  ((,c (:foreground ,bg))
+                                  (,ct (:foreground ,ct-bg))))
+     `(org-table                 ((,c (:foreground ,cyan))
+                                  (,ct (:foreground ,ct-cyan))))
+     `(org-quote                 ((,c (:slant italic :foreground ,grey :background ,current-line))
+                                  (,ct (:slant italic :foreground ,ct-grey :background ,ct-current-line))))
+     `(org-document-info         ((,c (:foreground ,red-d))
+                                  (,ct (:foreground ,ct-red-d))))
+     `(org-document-info-keyword ((,c (:foreground ,grey-d))
+                                  (,ct (:foreground ,ct-grey-d))))
+     `(org-meta-line             ((,c (:foreground ,doc-comments))
+                                  (,ct (:foreground ,ct-doc-comments))))
+     `(org-block-begin-line      ((,c (:background ,grey-dd :foreground ,grey-d))
+                                  (,ct (:background ,ct-grey-dd :foreground ,ct-grey-d))))
+     `(org-block-end-line        ((,c (:inherit org-block-begin-line))
+                                  (,ct (:inherit org-block-begin-line))))
+     `(org-block-background      ((,c (:background ,grey-ddd))
+                                  (,ct (:background ,ct-grey-ddd))))
+     `(org-archived              ((,c (:foreground ,grey))
+                                  (,ct (:foreground ,ct-grey))))
+     `(org-document-title        ((,c (:foreground ,cyan :height 1.2))
+                                  (,ct (:foreground ,ct-cyan :height 1.2))))
+     `(org-level-1               ((,c (:background ,current-line :foreground ,blue :bold ,bold :height 1.2 :box (:line-width 4 :color ,current-line)))
+                                  (,ct (:background ,ct-current-line :foreground ,ct-blue :bold ,bold :height 1.2 :box (:line-width 4 :color ,ct-current-line)))))
+     `(org-level-2               ((,c (:background ,current-line :foreground ,blue :height 1.1))
+                                  (,ct (:background ,ct-current-line :foreground ,ct-blue :height 1.1))))
+     `(org-level-3               ((,c (:background ,current-line :foreground ,blue :height 1.1))
+                                  (,ct (:background ,ct-current-line :foreground ,ct-blue :height 1.1))))
+     `(org-level-4               ((,c (:background ,current-line :foreground ,blue))
+                                  (,ct (:background ,ct-current-line :foreground ,ct-blue))))
+     `(org-level-5               ((,c (:background ,current-line :foreground ,blue))
+                                  (,ct (:background ,ct-current-line :foreground ,ct-blue))))
+     `(org-level-6               ((,c (:background ,current-line :foreground ,blue))
+                                  (,ct (:background ,ct-current-line :foreground ,ct-blue))))
+     `(org-code                  ((,c (:foreground ,red-d))
+                                  (,ct (:foreground ,ct-red-d))))
+     `(org-verbatim              ((,c (:foreground ,green))
+                                  (,ct (:foreground ,ct-green))))
+     `(org-formula               ((,c (:foreground ,cyan))
+                                  (,ct (:foreground ,ct-cyan))))
+     `(org-list-dt               ((,c (:foreground ,cyan))
+                                  (,ct (:foreground ,ct-cyan))))
+     `(org-footnote              ((,c (:foreground ,red-d))
+                                  (,ct (:foreground ,ct-red-d))))
+     `(org-link                  ((,c (:foreground ,cyan :underline t))
+                                  (,ct (:foreground ,ct-cyan :underline t))))
+     `(org-date                  ((,c (:foreground ,magenta-d))
+                                  (,ct (:foreground ,ct-magenta-d))))
+     `(org-todo                  ((,c (:foreground ,yellow :bold inherit))
+                                  (,ct (:foreground ,ct-yellow :bold inherit))))
+     `(org-done                  ((,c (:foreground ,green  :bold inherit))
+                                  (,ct (:foreground ,ct-green  :bold inherit))))
+     `(org-headline-done         ((,c (:foreground ,grey :bold nil :strike-through t))
+                                  (,ct (:foreground ,ct-grey :bold nil :strike-through t))))
+     `(org-special-keyword       ((,c (:foreground ,magenta))
+                                  (,ct (:foreground ,ct-magenta))))
+     `(org-checkbox              ((,c (:inherit org-todo))
+                                  (,ct (:inherit org-todo))))
+     `(org-checkbox-statistics-todo ((,c (:inherit org-todo))
+                                     (,ct (:inherit org-todo))))
+     `(org-checkbox-statistics-done ((,c (:inherit org-done))
+                                     (,ct (:inherit org-done))))
      ;; Custom org-mode faces
-     `(org-list-bullet           ((,c (:foreground ,cyan))))
-     `(message-header-name ((,c (:foreground ,green)))))
+     `(org-list-bullet           ((,c (:foreground ,cyan))
+                                  (,ct (:foreground ,ct-cyan))))
+     `(message-header-name ((,c (:foreground ,green))
+                            (,ct (:foreground ,ct-green)))))
     ))
 
 ;;;###autoload

(deftheme challenger-deep
  "challenger-deep theme")

(let ((c '((class color) (min-colors 89)))
      (bold           t)
      (italic         t)

      (black          "#100e23")
      (white          "#cbe3e7")
      (grey           "#cbe3e7")
      (grey-d         "#a6b3cc")
      (grey-dd        "#565575")
      (grey-ddd       "#2b2942")
      (yellow         "#ffe9aa")
      (yellow-d       "#ffb378")
      (red-d          "#ff5458")
      (red            "#ff8080")
      (magenta        "#c991e1")
      (magenta-d      "#906cff")
      (cyan           "#aaffe4")
      (cyan-d         "#63f2f1")
      (blue           "#91ddff")
      (blue-d         "#65b2ff")
      (green          "#95ffa4")
      (green-d        "#62d196"))


  (let* ((bg             "#1b182c")
         (bg-d           (if window-system "#1b182c" "#22252c"))
         (fg             grey)
         (highlight      magenta-d)
         (vertical-bar   black)
         (current-line   black)
         (selection      blue-d)
         (builtin        magenta)
         (comments       grey-dd)
         (doc-comments   green-d)
         (constants      cyan)
         (functions      magenta)
         (keywords       red)
         (methods        magenta)
         (operators      cyan-d)
         (type           blue)
         (strings        yellow)
         (variables      yellow)
         (numbers        yellow-d)
         (region         "#3d4451")
         ;; tabs
         (tab-unfocused-bg "#353a42")
         (tab-unfocused-fg "#1e2022")

;;; challenger-deep-theme.el --- Orbit Theme

;; Author: MaxSt
;; Version: 0.0.2
;; Package-Requires: ((emacs "24"))
;; URL: https://github.com/MaxSt/challenger-deep

