diff --git colorbox-display.js colorbox-display.js
index 811095a..f8441ae 100644
--- colorbox-display.js
+++ colorbox-display.js
@@ -20,19 +20,25 @@ Drupal.behaviors.mediaGalleryColorbox.attach = function (context, settings) {
         $link.attr('href', href.replace(/\/detail\/([0-9]+)\/([0-9]+)/, '/lightbox/$1/$2'));
       }
       $links.not('.meta-wrapper').colorbox({
-        slideshow: true,
-        slideshowAuto: false,
-        slideshowStart: 'Slideshow',
-        slideshowStop: '[stop slideshow]',
-        slideshowSpeed: 4000,
-        current: "Item {current} of {total}",
+        slideshow: Drupal.settings.colorbox.slideshow,
+        slideshowAuto: Drupal.settings.colorbox.slideshowAuto,
+        slideshowStart: Drupal.settings.colorbox.slideshowStart,
+        slideshowStop: Drupal.settings.colorbox.slideshowStop,
+        slideshowSpeed: Drupal.settings.colorbox.slideshowSpeed,
+        current: Drupal.settings.colorbox.current,
+        next: Drupal.settings.colorbox.next,
+        previous: Drupal.settings.colorbox.previous,
         innerWidth: 'auto',
+        speed: Drupal.settings.colorbox.speed,
+        close:settings.colorbox.close,
+        overlayClose:settings.colorbox.overlayClose,
         // If 'title' evaluates to false, Colorbox will use the title from the
         // underlying <a> element, which we don't want. Using a space is the
         // officially approved workaround. See
         // http://groups.google.com/group/colorbox/msg/7671ae69708950bf
         title: ' ',
-        transition: 'fade',
+        transition: Drupal.settings.colorbox.transition,
+        opacity: Drupal.settings.colorbox.opacity,
         preloading: true
       });
     }
@@ -74,3 +80,12 @@ Drupal.mediaGalleryColorbox.handleMediaYoutubeLoad = function (event, videoSetti
       // set the slideshow to restart when the video is done playing.
   }
 };
+
+
+// Put the title in the correct div container
+jQuery(document).ready(function() {
+    jQuery(document).bind('cbox_complete', function() {
+                var cboxTitle = jQuery("#mg-cbox-title").html();
+                jQuery("#cboxTitle").html(cboxTitle);
+            });
+});
diff --git media_gallery.css media_gallery.css
index cad3938..ba3bae7 100644
--- media_gallery.css
+++ media_gallery.css
@@ -550,14 +550,35 @@ a.media-gallery-thumb img,
 }
 
 .mg-lightbox-detail {
-  float: left;
-  padding-right: 320px;
 }
 
 .mg-lightbox-description {
-  width: 300px;
-  margin-left: -300px;
-  float: left;
+  width: auto;
+  position: absolute;
+  z-index: 10010;
+  padding: 0 8px;
+}
+
+.lightbox-has-description .mg-lightbox-description .mg-lightbox-description-inner {
+    overflow: auto;
+    height: 70px;
+}
+
+.lightbox-stack .media-gallery-detail-info {
+    padding: 0;
+    margin: 0;
+}
+
+.lightbox-has-description .media-gallery-detail-info {
+    padding: 0;
+    margin: 0;
+    height: 100px;
+}
+
+.lightbox-stack .gallery-download,
+.lightbox-stack .lightbox-view-detail,
+.lightbox-stack .media-license {
+    padding: 0 8px;
 }
 
 .lightbox-stack {
diff --git media_gallery.info media_gallery.info
index c21ef79..4b1fde5 100755
--- media_gallery.info
+++ media_gallery.info
@@ -3,6 +3,7 @@ description = A flexible gallery of media.
 core = 7.x
 package = Media
 
+dependencies[] = colorbox
 dependencies[] = list
 dependencies[] = number
 dependencies[] = media
diff --git media_gallery.module media_gallery.module
index d6e0ff5..ab8c66f 100644
--- media_gallery.module
+++ media_gallery.module
@@ -672,29 +672,6 @@ function media_gallery_block_save($delta = '', $edit = array()) {
 }
 
 /**
- * Implements hook_library().
- */
-function media_gallery_library() {
-  $library_path = variable_get('media_gallery_library_path', 'sites/all/libraries');
-  $stylesheet = variable_get('media_gallery_colorbox_stylesheet', 'example1');
-  $libraries['colorbox'] = array(
-    'title' => 'Colorbox',
-    'website' => 'http://colorpowered.com/colorbox/',
-    'version' => '1.3.9',
-    'js' => array(
-      $library_path . '/colorbox/colorbox/jquery.colorbox-min.js' => array(),
-    ),
-    'css' => array(
-      $library_path . '/colorbox/' . $stylesheet . '/colorbox.css' => array(
-        'type' => 'file',
-        'media' => 'screen',
-      ),
-    ),
-  );
-  return $libraries;
-}
-
-/**
  * Helper function to sort media gallery items by an ordered list of file IDs.
  *
  * Call once with $set_fid_order set to an array of file orders, keyed by the
diff --git media_gallery.theme.inc media_gallery.theme.inc
index 1b6b635..31bcc15 100644
--- media_gallery.theme.inc
+++ media_gallery.theme.inc
@@ -193,7 +193,7 @@ function theme_media_gallery_media_item_lightbox($variables) {
   $link_vars['no_link'] = $element['#bundle'] == 'video' ? TRUE : FALSE;
 
   if ($gallery_node->getValue('media_gallery_allow_download') == TRUE) {
-    $download_link = $element['#bundle'] == 'video' ? l(t('View detail page'), $link_vars['link_path']) : theme('media_gallery_download_link', array('file' => $media_entity));
+    $download_link = $element['#bundle'] == 'video' ? l(t('View detail page'), $link_vars['link_path'], array('attributes' => array('class' => array('lightbox-view-detail')))) : theme('media_gallery_download_link', array('file' => $media_entity));
   }
 
   else {
@@ -204,31 +204,32 @@ function theme_media_gallery_media_item_lightbox($variables) {
     $download_link = '&nbsp;';
   }
 
+  if (!empty($gallery_node->media_gallery_lightbox_extras[LANGUAGE_NONE][0]['value'])) {
+      $media_desc = '<div class="mg-lightbox-description"><div class="mg-lightbox-description-inner">' .
+        drupal_render_children($element['media_description']) .
+      '</div></div>';
+      $media_desc_class = (!empty($element['media_description'])) ? ' lightbox-has-description' : '';
+      $media_title = '<div class="element-invisible" id="mg-cbox-title">' . drupal_render($element['media_title']) . '</div>';
+  } else {
+      $media_desc = '';
+      $media_desc_class = '';
+  }
   $media_gallery_detail =
-      '<div class="lightbox-stack">' .
+      '<div class="lightbox-stack'.$media_desc_class.'">' .
       theme('media_gallery_item', $link_vars) .
       '<div class="media-gallery-detail-info">' .
       $download_link .
       theme('media_gallery_license', array('element' => isset($element['field_license']) ? $element['field_license'] : array(), 'color' => 'medium', 'media' => $media_entity)) .
+      $media_title.
+      $media_desc.
       '</div></div>';
+
   // The license info has been themed already, keep it from being rendered as a child
   $element['field_license']['#access'] = FALSE;
 
   $output = 'Error';
-  // If the format is to have the description as well, we add it here
-  if (!empty($gallery_node->media_gallery_lightbox_extras[LANGUAGE_NONE][0]['value'])) {
-    $output =
-    '<div class="mg-lightbox-wrapper clearfix">' .
-      '<div class="lightbox-title">' . drupal_render($element['media_title']) . '</div>' .
-      '<div class="mg-lightbox-detail">' .
-      $media_gallery_detail .
-      '</div><div class="mg-lightbox-description">' .
-        drupal_render_children($element) .
-      '</div>' .
-    '</div>';
-  } else {
-    $output = $media_gallery_detail;
-  }
+  
+  $output = $media_gallery_detail;
 
   return $output;
 }
