 (eval-when-compile
   (require 'color-theme))
 
-(defcustom color-theme-solarized-degrade nil
-  "For test purposes only; forces Solarized to use the 256 degraded color mode to test the approximate color values for accuracy."
+(defcustom solarized-degrade nil
+  "For test purposes only; forces Solarized to use the 256 degraded color mode
+to test the approximate color values for accuracy."
   :type 'boolean
-  :group 'color-theme-solarized)
-
-(defvar color-theme-solarized-colors
+  :group 'solarized)
+
+(defcustom solarized-bold t
+  "Stops Solarized from displaying bold when nil."
+  :type 'boolean
+  :group 'solarized)
+
+(defcustom solarized-underline t
+  "Stops Solarized from displaying underlines when nil."
+  :type 'boolean
+  :group 'solarized)
+
+(defcustom solarized-italic t
+  "Stops Solarized from displaying italics when nil."
+  :type 'boolean
+  :group 'solarized)
+
+(defvar solarized-colors
   ;; name    ideal     256
   '((base03  "#002b36" "#1c1c1c")
     (base02  "#073642" "#262626")

         (gnus-cite-9 ((t (:foreground ,base2))))
         (gnus-cite-10 ((t (:foreground ,base3))))
         (gnus-cite-11 ((t (:foreground ,blue))))
         (gnus-group-mail-1 ((t (:foreground ,base3 :bold t))))
         (gnus-group-mail-1-empty ((t (:foreground ,base3))))
         (gnus-group-mail-2 ((t (:foreground ,base2 :bold t))))
         (gnus-group-mail-2-empty ((t (:foreground ,base2))))
         (gnus-group-mail-3 ((t (:foreground ,magenta :bold t))))
         (gnus-group-mail-3-empty ((t (:foreground ,magenta))))
         (gnus-group-mail-low ((t (:foreground ,base00 :bold t))))
         (gnus-group-mail-low-empty ((t (:foreground ,base00))))
         (gnus-group-news-1 ((t (:foreground ,base1 :bold t))))
         (gnus-group-news-1-empty ((t (:foreground ,base1))))
         (gnus-group-news-2 ((t (:foreground ,blue :bold t))))
         (gnus-group-news-2-empty ((t (:foreground ,blue))))
         (gnus-group-news-low ((t (:foreground ,violet :bold t))))
         (gnus-group-news-low-empty ((t (:foreground ,violet))))
         (gnus-header-content ((t (:foreground ,cyan :italic t))))
         (gnus-header-from ((t (:foreground ,base2))))
         (gnus-header-name ((t (:foreground ,blue))))
         (gnus-header-newsgroups ((t (:foreground ,green :italic t))))
         (gnus-header-subject ((t (:foreground ,base1))))
         (gnus-server-agent ((t (:foreground ,base3 :bold t))))
         (gnus-server-closed ((t (:foreground ,base1 :italic t))))
         (gnus-server-denied ((t (:foreground ,base2 :bold t))))
         (gnus-server-offline ((t (:foreground ,green :bold t))))
         (gnus-server-opened ((t (:foreground ,cyan :bold t))))
         (gnus-splash ((t (:foreground ,base2))))
         (gnus-summary-high-ancient ((t (:foreground ,magenta :bold t))))
         (gnus-summary-high-read ((t (:foreground ,base1 :bold t))))
         (gnus-summary-high-ticked ((t (:foreground ,base3 :bold t))))
         (gnus-summary-high-undownloaded ((t (:foreground ,base2 :bold t))))
         (gnus-summary-low-ancient ((t (:foreground ,magenta :italic t))))
         (gnus-summary-low-read ((t (:foreground ,base1 :italic t))))
         (gnus-summary-low-ticked ((t (:foreground ,base3 :italic t))))
         (gnus-summary-low-undownloaded ((t (:foreground ,base2 :italic t))))
         (gnus-summary-normal-ancient ((t (:foreground ,magenta))))
         (gnus-summary-normal-read ((t (:foreground ,base1))))
         (gnus-summary-normal-ticked ((t (:foreground ,base3))))

         (custom-comment-tag ((t (:background ,base02))))
         (custom-comment-tag ((t (:background ,base02))))
         (custom-documentation ((t (:inherit default))))
         (custom-group-tag ((t (:foreground ,orange :weight ,bold))))
         (custom-link ((t (:foreground ,violet))))
         (custom-state ((t (:foreground ,green))))
         (custom-variable-tag ((t (:foreground ,orange :weight ,bold))))
         ;; diff
         (diff-added ((t (:foreground ,green :inverse-video t))))
         (diff-changed ((t (:foreground ,yellow :inverse-video t))))
         (diff-removed ((t (:foreground ,red :inverse-video t))))
         (diff-header ((t (:background ,base01))))
         (diff-file-header
          ((t (:background ,base1 :foreground ,base01 :weight ,bold))))
         (diff-refine-change ((t (:background ,base1))))
         ;; emacs-wiki
         (emacs-wiki-bad-link-face
          ((t (:foreground ,red :underline ,underline))))
         (emacs-wiki-link-face ((t (:foreground ,blue :underline ,underline))))
         (emacs-wiki-verbatim-face
          ((t (:foreground ,base00 :underline ,underline))))
         ;; font-lock
         (font-lock-builtin-face ((t (:foreground ,green))))
         (font-lock-comment-face ((t (:foreground ,base01 :slant ,italic))))
         (font-lock-constant-face ((t (:foreground ,cyan))))
         (font-lock-function-name-face ((t (:foreground ,blue))))
         (font-lock-keyword-face ((t (:foreground ,green))))
         (font-lock-string-face ((t (:foreground ,cyan))))
         (font-lock-type-face ((t (:foreground ,yellow))))
         (font-lock-variable-name-face ((t (:foreground ,blue))))
         (font-lock-warning-face ((t (:foreground ,red :weight ,bold))))
         (font-lock-doc-face ((t (:foreground ,cyan :slant ,italic))))
         (font-lock-color-constant-face ((t (:foreground ,green))))
         (font-lock-comment-delimiter-face
          ((t (:foreground ,base01 :weight ,bold))))
         (font-lock-doc-string-face ((t (:foreground ,green))))
         (font-lock-preprocessor-face ((t (:foreground ,orange))))
         (font-lock-reference-face ((t (:foreground ,cyan))))
         (font-lock-negation-char-face ((t (:foreground ,red))))
         (font-lock-other-type-face ((t (:foreground ,blue :slant ,italic))))
         (font-lock-regexp-grouping-construct    ((t (:foreground ,orange))))
         (font-lock-special-keyword-face ((t (:foreground ,magenta))))
         (font-lock-exit-face ((t (:foreground ,red))))
         (font-lock-other-emphasized-face
          ((t (:foreground ,violet :weight ,bold :slant ,italic))))
         (font-lock-regexp-grouping-backslash ((t (:foreground ,yellow))))
         ;; info
         (info-xref ((t (:foreground ,blue :underline ,underline))))
         (info-xref-visited ((t (:inherit info-xref :foreground ,magenta))))
         ;; org
         (org-hide ((t (:foreground ,base03))))
         (org-todo ((t (:foreground ,base03 :background ,red :weight ,bold))))
         (org-done ((t (:foreground ,green :weight ,bold))))
         (org-todo-kwd-face ((t (:foreground ,red :background ,base03))))
         (org-done-kwd-face ((t (:foreground ,green :background ,base03))))
         (org-project-kwd-face ((t (:foreground ,violet :background ,base03))))
