diff -up site_map/README.txt site_map/README.txt
--- site_map/README.txt	2009-09-07 16:37:09.000000000 +0200
+++ site_map/README.txt	2009-09-16 20:11:03.000000000 +0200
@@ -41,6 +41,21 @@ Installation:
 6. Visit http://example.com/sitemap.
 
 
+Adding your own CSS skins:
+-------------------------
+If you want to add your own CSS to your site map, create a directory
+at sites/all/libraries/site_map/css
+
+Any .css files you place in this directory will be available to select, 
+next to 'default' and 'none', in Administer -> Site configuration -> Site map
+
+A good example is the slick-map.css file you can find in this issue:
+http://drupal.org/node/514436
+
+If you do not create the directory, the module still functions but your
+only CSS options are either 'none' or 'default'.
+
+
 Site map term path (and Pathauto):
 -------------------------------
 There is a "depth" setting on the Site map settings page where you can adjust
diff -up site_map/site_map.admin.inc site_map/site_map.admin.inc
--- site_map/site_map.admin.inc	2009-06-29 21:12:54.000000000 +0200
+++ site_map/site_map.admin.inc	2009-09-16 20:00:50.000000000 +0200
@@ -125,12 +125,29 @@ function site_map_admin_settings() {
     '#multiple' => TRUE,
     '#description' => t('Ctrl-click (Windows) or Command-click (Mac) to select more than one value.'),
   );
-  $form['site_map_content']['site_map_css'] = array(
-    '#type' => 'checkbox',
-    '#title' => t('Do not include site map CSS file'),
-    '#default_value' => variable_get('site_map_css', 0),
-    '#description' => t('If you don\'t want to load the included CSS file you can check this box.'),
-  );
+  // CSS selector
+  if (_site_map_get_css()) {
+    // call helper function in site_map.module to get CSS files
+    $css_options = _site_map_get_css();
+    array_unshift($css_options, 'none', 'default');
+    $form['site_map_content']['site_map_css_selector'] = array(
+      '#type' => 'select',
+      '#title' => t('Site map CSS file'),
+      '#default_value' => variable_get('site_map_css_selector', 1),
+      '#options' => $css_options,
+      '#description' => t('Select a CSS file to use for your site map.'),
+    );
+  }
+  else {
+    $css_options = array('none', 'default');
+    $form['site_map_content']['site_map_css_selector'] = array(
+      '#type' => 'select',
+      '#title' => t('Site map CSS file'),
+      '#default_value' => variable_get('site_map_css_selector', 1),
+      '#options' => $css_options,
+      '#description' => t('Select a CSS file to use for your site map.'),
+    );
+  }
 
   $form['site_map_taxonomy_options'] = array(
     '#type' => 'fieldset',
diff -up site_map/site_map.install site_map/site_map.install
--- site_map/site_map.install	2009-06-29 21:12:54.000000000 +0200
+++ site_map/site_map.install	2009-09-16 20:04:59.000000000 +0200
@@ -20,6 +20,7 @@ function site_map_uninstall() {
   variable_del('site_map_css');
   variable_del('site_map_term_threshold');
   variable_del('site_map_forum_threshold');
+  variable_del('site_map_css_selector');
 
   if (function_exists('locale')) {
     $langs = locale_language_list();
diff -up site_map/site_map.module site_map/site_map.module
--- site_map/site_map.module	2009-08-21 08:58:49.000000000 +0200
+++ site_map/site_map.module	2009-09-17 11:35:24.000000000 +0200
@@ -96,8 +96,17 @@ function site_map_block($op = 'list', $d
  * Menu callback for the site map.
  */
 function site_map_page() {
-  if (variable_get('site_map_css', 0) != 1) {
-    drupal_add_css(drupal_get_path('module', 'site_map') .'/site_map.css');
+  // make sure we haven't set the value 'none' in admin
+  if (variable_get('site_map_css_selector', 1) != '0') {
+    // if specified, use default site map CSS
+    if (variable_get('site_map_css_selector', 1) == '1') {
+      drupal_add_css(drupal_get_path('module', 'site_map') .'/site_map.css');
+    }
+    // otherwise, load selected css file from libraries
+    else {
+      $path = 'sites/all/libraries/site_map/css/' . variable_get('site_map_css_selector', 1);
+      drupal_add_css($path);
+    }
   }
 
   return theme('site_map_display');
@@ -534,3 +543,28 @@ function _sitemap_get_message($lang_code
 
   return $message;
 }
+
+/**
+ * Load CSS files from sites/all/libraries/site_map/css
+ * 
+ * @return
+ * Array of CSS files available, ready for use in a Form API select
+ * field as '#options' or FALSE if directory does not exist.
+ */
+function _site_map_get_css() {
+  $path = realpath('./') . '/sites/all/libraries/site_map/css';
+  // make sure the css directory exists
+  if (is_dir($path)) {
+    // get all CSS files from directory
+    $files = file_scan_directory($path, '.*.css', array('.', '..', 'CVS'), 0, TRUE, 'basename');
+    $css = array();
+    // loop through files and build array ready for form select options
+    foreach ($files as $basename => $file_object) {
+      $css[$basename] = $basename;
+    }
+    return $css;
+  }
+  else {
+    return FALSE;
+  }
+}
Common subdirectories: site_map/translations and site_map/translations
