diff --git a/module/VuFind/src/VuFind/View/Helper/Bootstrap3/LayoutClass.php b/module/VuFind/src/VuFind/View/Helper/Bootstrap3/LayoutClass.php
index ff9fad33c23383669b16995e6d9044f604e793b6..31a4017d4c686a405e7d1a21c8662820dec00f73 100644
--- a/module/VuFind/src/VuFind/View/Helper/Bootstrap3/LayoutClass.php
+++ b/module/VuFind/src/VuFind/View/Helper/Bootstrap3/LayoutClass.php
@@ -53,10 +53,10 @@ class LayoutClass extends \VuFind\View\Helper\AbstractLayoutClass
     {
         switch ($class) {
         case 'mainbody':
-            return $this->left ? 'col-md-9 col-md-pull-3' : 'col-md-9';
+            return $this->left ? 'col-md-9 col-md-push-3' : 'col-md-9';
         case 'sidebar':
             return $this->left
-                ? 'sidebar col-md-3 col-md-push-9 hidden-print'
+                ? 'sidebar col-md-3 col-md-pull-9 hidden-print'
                 : 'sidebar col-md-3 hidden-print';
         }
     }
diff --git a/module/VuFindTheme/src/VuFindTheme/Initializer.php b/module/VuFindTheme/src/VuFindTheme/Initializer.php
index 36035ee24811f89ca92ef9bcb024423d8398bf9c..a0185b7b495bcb8f2d3912eafff208d8c25d3340 100644
--- a/module/VuFindTheme/src/VuFindTheme/Initializer.php
+++ b/module/VuFindTheme/src/VuFindTheme/Initializer.php
@@ -341,7 +341,7 @@ class Initializer
                 $resources->addLessCss($currentThemeInfo['less']);
             }
             if (isset($currentThemeInfo['scss'])) {
-                $resources->addSassCss($currentThemeInfo['scss']);
+                $resources->addScssCss($currentThemeInfo['scss']);
             }
             if (isset($currentThemeInfo['css'])) {
                 $resources->addCss($currentThemeInfo['css']);
diff --git a/module/VuFindTheme/src/VuFindTheme/ResourceContainer.php b/module/VuFindTheme/src/VuFindTheme/ResourceContainer.php
index 213e491e2a0f5d211d9c97113a5b44aef8f2de89..9a06ac11646ee8b32f21b21c0671f441a8b339ac 100644
--- a/module/VuFindTheme/src/VuFindTheme/ResourceContainer.php
+++ b/module/VuFindTheme/src/VuFindTheme/ResourceContainer.php
@@ -44,13 +44,25 @@ class ResourceContainer
      * @var array
      */
     protected $less = array();
-    
     /**
-     * Sass CSS files
+     * Less CSS active boolean
      *
      * @var array
      */
-    protected $sass = array();
+    protected $lessActive = false;
+
+    /**
+     * scss CSS files
+     *
+     * @var array
+     */
+    protected $scss = array();
+    /**
+     * SCSS CSS active boolean
+     *
+     * @var array
+     */
+    protected $scssActive = false;
 
     /**
      * CSS files
@@ -99,25 +111,35 @@ class ResourceContainer
         if (!is_array($less) && !is_a($less, 'Traversable')) {
             $less = array($less);
         }
-        foreach ($less as $current) {
-            $this->less[] = $current;
+        $this->lessActive = !isset($less['active']) || $less['active'] === true;
+        if ($this->lessActive) {
+            unset($less['active']);
+            foreach ($less as $index=>$current) {
+                $this->less[$index] = $current;
+                $this->removeCSS($current);
+            }
         }
     }
 
     /**
-     * Add a Sass CSS file.
+     * Add a scss CSS file.
      *
-     * @param array|string $sass Sass CSS file (or array of Sass CSS files) to add
+     * @param array|string $scss scss CSS file (or array of scss CSS files) to add
      *
      * @return void
      */
-    public function addSassCss($sass)
+    public function addScssCss($scss)
     {
-        if (!is_array($sass) && !is_a($sass, 'Traversable')) {
-            $sass = array($sass);
+        if (!is_array($scss) && !is_a($scss, 'Traversable')) {
+            $scss = array($scss);
         }
-        foreach ($sass as $current) {
-            $this->sass[] = $current;
+        $this->scssActive = !isset($scss['active']) || $scss['active'] === true;
+        if ($this->scssActive) {
+            unset($scss['active']);
+            foreach ($scss as $index=>$current) {
+                $this->scss[$index] = $current;
+                $this->removeCSS($current);
+            }
         }
     }
 
@@ -135,7 +157,9 @@ class ResourceContainer
             $css = array($css);
         }
         foreach ($css as $current) {
-            $this->css[] = $current;
+            if (!$this->activeInLess($current) && !$this->activeInScss($current)) {
+                $this->css[] = $current;
+            }
         }
     }
 
@@ -167,13 +191,13 @@ class ResourceContainer
         return array_unique($this->less);
     }
     /**
-     * Get Sass CSS files.
+     * Get SCSS CSS files.
      *
      * @return array
      */
-    public function getSassCss()
+    public function getScssCss()
     {
-        return array_unique($this->sass);
+        return array_unique($this->scss);
     }
 
     /**
@@ -261,4 +285,46 @@ class ResourceContainer
     {
         return $this->generator;
     }
+
+    /**
+     * Check if a CSS file is being dynamically compiled in LESS
+     *
+     * @return boolean
+     */
+    private function activeInLess($file)
+    {
+        if (empty($this->less) || $this->lessActive === false) {
+            return false;
+        }
+        list($lessFile,) = explode('.', $file);
+        $lessFile .= '.less';
+        return in_array($lessFile, $this->less, true) ? true : false;
+    }
+
+    /**
+     * Check if a CSS file is being dynamically compiled in SCSS
+     *
+     * @return boolean
+     */
+    private function activeInScss($file)
+    {
+        if (empty($this->scss) || $this->scssActive === false) {
+            return false;
+        }
+        list($scssFile,) = explode('.', $file);
+        $scssFile .= '.scss';
+        return in_array($scssFile, $this->scss, true) ? true : false;
+    }
+
+    /**
+     * Check if a CSS file is being dynamically compiled in SCSS
+     *
+     * @return boolean
+     */
+    private function removeCSS($file)
+    {
+        list($name, ) = explode('.', $file);
+        $name .= '.css';
+        unset($this->css[array_search($name, $this->css)]);
+    }
 }
diff --git a/module/VuFindTheme/src/VuFindTheme/View/Helper/HeadThemeResources.php b/module/VuFindTheme/src/VuFindTheme/View/Helper/HeadThemeResources.php
index 8e274faf5184ab908f5bf56a384d060b03df15b0..3500a2fa4c62b3fb1847ac1b35fdd5bcaf7b33eb 100644
--- a/module/VuFindTheme/src/VuFindTheme/View/Helper/HeadThemeResources.php
+++ b/module/VuFindTheme/src/VuFindTheme/View/Helper/HeadThemeResources.php
@@ -87,7 +87,7 @@ class HeadThemeResources extends \Zend\View\Helper\AbstractHelper
                 isset($parts[2]) ? trim($parts[2]) : false
             );
         }
-        
+
         // Compile and load LESS (make sure we prepend them in the appropriate order
         // theme resources should load before extras added by individual templates):
         foreach (array_reverse($this->container->getLessCss()) as $current) {
@@ -96,8 +96,8 @@ class HeadThemeResources extends \Zend\View\Helper\AbstractHelper
 
         // Compile and load SASS (make sure we prepend them in the appropriate order
         // theme resources should load before extras added by individual templates):
-        foreach (array_reverse($this->container->getSassCss()) as $current) {
-            $headLink()->addSassStylesheet($current);
+        foreach (array_reverse($this->container->getScssCss()) as $current) {
+            $headLink()->addScssStylesheet($current);
         }
 
         // Load Javascript (same ordering considerations as CSS, above):
diff --git a/themes/bootprint3/less/icons.less b/themes/bootprint3/less/icons.less
index 7b47d305f12dbe8e3997772bf335105bd2da8d28..b424c63a9279465bd89f1913484f2f53274bf20f 100644
--- a/themes/bootprint3/less/icons.less
+++ b/themes/bootprint3/less/icons.less
@@ -14,7 +14,7 @@
 .fa-x {background-image:url('../../images/icons/page_white.png'); &:extend(.bp-icon);}
 i.fa-archive {background-image:url('../../images/icons/package.png'); &:extend(.bp-icon);}
 i.fa-asterisk {background-image:url('../../images/icons/list.png'); &:extend(.bp-icon);}
-i.fa-atlas          {background-image:url('../../images/icons/map.png'); &:extend(.bp-icon);}
+i.fa-atlas {background-image:url('../../images/icons/map.png'); &:extend(.bp-icon);}
 i.fa-bell {background-image:url('../../images/icons/bell.png'); &:extend(.bp-icon);}
 i.fa-book {background-image:url('../../images/icons/book.png'); &:extend(.bp-icon);}
 i.fa-bookbag-add {background-image:url('../../images/icons/bookbag_add.png'); &:extend(.bp-icon);}
diff --git a/themes/bootstrap3/less/bootstrap.less b/themes/bootstrap3/less/bootstrap.less
index 0be356a5bd6dbf9a3852c6d48387972aa48b3a6a..6aee9ca1eaa226cec3a3dcd6d0f4b4090fdd8184 100644
--- a/themes/bootstrap3/less/bootstrap.less
+++ b/themes/bootstrap3/less/bootstrap.less
@@ -138,6 +138,11 @@ label.list-group-item {border-radius:0;font-weight:normal;margin-top:0;padding-l
     }
   }
 }
+.list-group-item.active, .badge {
+  i.fa {
+    cursor:inherit;
+  }
+}
 
 /* --- Slider accessibility --- */
 .slider {
diff --git a/themes/bootstrap3/theme.config.php b/themes/bootstrap3/theme.config.php
index d7469ac25a4d229e74034f6630ed7f5d1ad80169..c6421cc660f62d911403e4bac4b9e82721d6dc69 100644
--- a/themes/bootstrap3/theme.config.php
+++ b/themes/bootstrap3/theme.config.php
@@ -20,10 +20,12 @@ return array(
         'lightbox.js',
     ),
     'less' => array(
-        //'compiled.less'
+        'active' => true,
+        'compiled.less'
     ),
     'scss' => array(
-        //'compiled.scss'
+        'active' => false,
+        'compiled.scss'
     ),
     'favicon' => 'vufind-favicon.ico',
     'helpers' => array(