MDL-64505 theme_classic: Created the classic theme
authorBas Brands <bmbrands@gmail.com>
Fri, 11 Jan 2019 04:37:52 +0000 (12:37 +0800)
committerMichael Hawkins <michaelh@moodle.com>
Mon, 18 Mar 2019 10:59:23 +0000 (18:59 +0800)
The Classic theme is being introduced as a Bootstrap 4 replacement
for the older themes based on Bootstrap 2, such as Bootstrapbase,
Clean and More. It is a child theme of Boost, with a navigation
structure similar to the Clean theme.

Co-authored-by: Bas Brands <bmbrands@gmail.com>
Co-authored-by: Michael Hawkins <michaelh@moodle.com>
34 files changed:
.stylelintignore
Gruntfile.js
lib/classes/plugin_manager.php
theme/classic/classes/output/core_renderer.php [new file with mode: 0644]
theme/classic/classes/privacy/provider.php [new file with mode: 0644]
theme/classic/config.php [new file with mode: 0644]
theme/classic/lang/en/theme_classic.php [new file with mode: 0644]
theme/classic/layout/columns.php [new file with mode: 0644]
theme/classic/layout/contentonly.php [new file with mode: 0644]
theme/classic/layout/secure.php [new file with mode: 0644]
theme/classic/lib.php [new file with mode: 0644]
theme/classic/pix/favicon.ico [new file with mode: 0644]
theme/classic/pix/screenshot.png [new file with mode: 0644]
theme/classic/scss/bootstrap.scss [new file with mode: 0644]
theme/classic/scss/classic/body-background.scss [new file with mode: 0644]
theme/classic/scss/classic/navbar-dark.scss [new file with mode: 0644]
theme/classic/scss/classic/navbar-light.scss [new file with mode: 0644]
theme/classic/scss/classic/post.scss [new file with mode: 0644]
theme/classic/scss/classic/pre.scss [new file with mode: 0644]
theme/classic/scss/classicgrunt.scss [new file with mode: 0644]
theme/classic/scss/fontawesome.scss [new file with mode: 0644]
theme/classic/scss/moodle.scss [new file with mode: 0644]
theme/classic/scss/preset/default.scss [new file with mode: 0644]
theme/classic/scss/preset/plain.scss [new file with mode: 0644]
theme/classic/settings.php [new file with mode: 0644]
theme/classic/style/moodle.css [new file with mode: 0644]
theme/classic/templates/columns.mustache [new file with mode: 0644]
theme/classic/templates/contentonly.mustache [new file with mode: 0644]
theme/classic/templates/core/footer.mustache [new file with mode: 0644]
theme/classic/templates/core/full_header.mustache [new file with mode: 0644]
theme/classic/templates/navbar-secure.mustache [new file with mode: 0644]
theme/classic/templates/navbar.mustache [new file with mode: 0644]
theme/classic/templates/secure.mustache [new file with mode: 0644]
theme/classic/version.php [new file with mode: 0644]

index be8cec8..d7f59d0 100644 (file)
@@ -4,6 +4,7 @@ theme/bootstrapbase/style/
 theme/clean/style/custom.css
 theme/more/style/custom.css
 theme/boost/style/moodle.css
+theme/classic/style/moodle.css
 node_modules/
 vendor/
 admin/tool/policy/amd/src/jquery-eu-cookie-law-popup.js
index 29d271c..eb136bb 100644 (file)
@@ -140,11 +140,12 @@ module.exports = function(grunt) {
         sass: {
             dist: {
                 files: {
-                    "theme/boost/style/moodle.css": "theme/boost/scss/preset/default.scss"
+                    "theme/boost/style/moodle.css": "theme/boost/scss/preset/default.scss",
+                    "theme/classic/style/moodle.css": "theme/classic/scss/classicgrunt.scss"
                 }
             },
             options: {
-                includePaths: ["theme/boost/scss/"]
+                includePaths: ["theme/boost/scss/", "theme/classic/scss/"]
             }
         },
         watch: {
@@ -226,7 +227,8 @@ module.exports = function(grunt) {
           'theme/bootstrapbase/style/',
           'theme/clean/style/custom.css',
           'theme/more/style/custom.css',
-          'theme/boost/style/moodle.css'
+          'theme/boost/style/moodle.css',
+          'theme/classic/style/moodle.css',
       ].concat(thirdPartyPaths);
       grunt.file.write('.stylelintignore', stylelintIgnores.join('\n'));
     };
index 82423d9..3c6301b 100644 (file)
@@ -1905,7 +1905,7 @@ class core_plugin_manager {
             ),
 
             'theme' => array(
-                'boost', 'bootstrapbase', 'clean', 'more'
+                'boost', 'classic', 'bootstrapbase', 'clean', 'more'
             ),
 
             'tool' => array(
diff --git a/theme/classic/classes/output/core_renderer.php b/theme/classic/classes/output/core_renderer.php
new file mode 100644 (file)
index 0000000..aa8cc24
--- /dev/null
@@ -0,0 +1,41 @@
+<?php
+// This file is part of Moodle - http://moodle.org/
+//
+// Moodle is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// Moodle is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with Moodle.  If not, see <http://www.gnu.org/licenses/>.
+
+/**
+ * Renderers to align Moodle's HTML with that expected by Bootstrap
+ *
+ * @package    theme_classic
+ * @copyright  2018 Bas Brands
+ * @license    http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
+ */
+
+namespace theme_classic\output;
+
+defined('MOODLE_INTERNAL') || die;
+
+/**
+ * Renderers to align Moodle's HTML with that expected by Bootstrap
+ *
+ * Note: This class is required to avoid inheriting Boost's core_renderer,
+ *       which removes the edit button required by Classic.
+ *
+ * @package    theme_classic
+ * @copyright  2018 Bas Brands
+ * @license    http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
+ */
+class core_renderer extends \core_renderer {
+
+}
diff --git a/theme/classic/classes/privacy/provider.php b/theme/classic/classes/privacy/provider.php
new file mode 100644 (file)
index 0000000..c3ce9c2
--- /dev/null
@@ -0,0 +1,46 @@
+<?php
+// This file is part of Moodle - http://moodle.org/
+//
+// Moodle is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// Moodle is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with Moodle.  If not, see <http://www.gnu.org/licenses/>.
+
+/**
+ * Privacy Subsystem implementation for theme_classic.
+ *
+ * @package   theme_classic
+ * @copyright 2018 Bas Brands
+ * @license    http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
+ */
+
+namespace theme_classic\privacy;
+
+defined('MOODLE_INTERNAL') || die();
+
+/**
+ * The classic theme does not store any data.
+ *
+ * @copyright 2018 Bas Brands
+ * @license    http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
+ */
+class provider implements \core_privacy\local\metadata\null_provider {
+
+    /**
+     * Get the language string identifier with the component's language
+     * file to explain why this plugin stores no data.
+     *
+     * @return  string
+     */
+    public static function get_reason() : string {
+        return 'privacy:metadata';
+    }
+}
diff --git a/theme/classic/config.php b/theme/classic/config.php
new file mode 100644 (file)
index 0000000..dc6c1b8
--- /dev/null
@@ -0,0 +1,158 @@
+<?php
+// This file is part of Moodle - http://moodle.org/
+//
+// Moodle is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// Moodle is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with Moodle.  If not, see <http://www.gnu.org/licenses/>.
+
+/**
+ * classic config.
+ *
+ * @package   theme_classic
+ * @copyright 2018 Bas Brands
+ * @license   http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
+ */
+
+// This line protects the file from being accessed by a URL directly.
+defined('MOODLE_INTERNAL') || die();
+
+$THEME->name = 'classic';
+
+$THEME->sheets = [];
+
+$THEME->layouts = [
+    // Most backwards compatible layout without the blocks - this is the layout used by default.
+    'base' => array(
+        'file' => 'columns.php',
+        'regions' => array(),
+    ),
+    // Standard layout with blocks, this is recommended for most pages with general information.
+    'standard' => array(
+        'file' => 'columns.php',
+        'regions' => array('side-pre', 'side-post'),
+        'defaultregion' => 'side-pre',
+    ),
+    // Main course page.
+    'course' => array(
+        'file' => 'columns.php',
+        'regions' => array('side-pre', 'side-post'),
+        'defaultregion' => 'side-pre',
+        'options' => array('langmenu' => true),
+    ),
+    'coursecategory' => array(
+        'file' => 'columns.php',
+        'regions' => array('side-pre'),
+        'defaultregion' => 'side-pre',
+    ),
+    // Part of course, typical for modules - default page layout if $cm specified in require_login().
+    'incourse' => array(
+        'file' => 'columns.php',
+        'regions' => array('side-pre'),
+        'defaultregion' => 'side-pre',
+    ),
+    // The site home page.
+    'frontpage' => array(
+        'file' => 'columns.php',
+        'regions' => array('side-pre', 'side-post'),
+        'defaultregion' => 'side-pre',
+        'options' => array('nofullheader' => true),
+    ),
+    // Server administration scripts.
+    'admin' => array(
+        'file' => 'columns.php',
+        'regions' => array('side-pre'),
+        'defaultregion' => 'side-pre',
+    ),
+    // My dashboard page.
+    'mydashboard' => array(
+        'file' => 'columns.php',
+        'regions' => array('side-pre', 'side-post'),
+        'defaultregion' => 'side-pre',
+        'options' => array('nonavbar' => true, 'langmenu' => true, 'nocontextheader' => true),
+    ),
+    // My public page.
+    'mypublic' => array(
+        'file' => 'columns.php',
+        'regions' => array('side-pre'),
+        'defaultregion' => 'side-pre',
+    ),
+    'login' => array(
+        'theme' => 'boost',
+        'file' => 'login.php',
+        'regions' => array(),
+        'options' => array('langmenu' => true),
+    ),
+
+    // Pages that appear in pop-up windows - no navigation, no blocks, no header.
+    'popup' => array(
+        'file' => 'contentonly.php',
+        'regions' => array(),
+        'options' => array('nofooter' => true, 'nonavbar' => true),
+    ),
+    // No blocks and minimal footer - used for legacy frame layouts only!
+    'frametop' => array(
+        'file' => 'contentonly.php',
+        'regions' => array(),
+        'options' => array('nofooter' => true, 'nocoursefooter' => true),
+    ),
+    // Embeded pages, like iframe/object embeded in moodleform - it needs as much space as possible.
+    'embedded' => array(
+        'theme' => 'boost',
+        'file' => 'embedded.php',
+        'regions' => array()
+    ),
+    // Used during upgrade and install, and for the 'This site is undergoing maintenance' message.
+    // This must not have any blocks, links, or API calls that would lead to database or cache interaction.
+    // Please be extremely careful if you are modifying this layout.
+    'maintenance' => array(
+        'theme' => 'boost',
+        'file' => 'maintenance.php',
+        'regions' => array(),
+    ),
+    // Should display the content and basic headers only.
+    'print' => array(
+        'file' => 'contentonly.php',
+        'regions' => array(),
+        'options' => array('nofooter' => true, 'nonavbar' => false),
+    ),
+    // The pagelayout used when a redirection is occuring.
+    'redirect' => array(
+        'theme' => 'boost',
+        'file' => 'embedded.php',
+        'regions' => array(),
+    ),
+    // The pagelayout used for reports.
+    'report' => array(
+        'file' => 'columns.php',
+        'regions' => array('side-pre'),
+        'defaultregion' => 'side-pre',
+    ),
+    // The pagelayout used for safebrowser and securewindow.
+    'secure' => array(
+        'file' => 'secure.php',
+        'regions' => array('side-pre'),
+        'defaultregion' => 'side-pre'
+    )
+];
+
+$THEME->editor_sheets = [];
+$THEME->parents = ['boost'];
+$THEME->enable_dock = false;
+$THEME->extrascsscallback = 'theme_classic_get_extra_scss';
+$THEME->prescsscallback = 'theme_classic_get_pre_scss';
+$THEME->precompiledcsscallback = 'theme_classic_get_precompiled_css';
+$THEME->yuicssmodules = array();
+$THEME->rendererfactory = 'theme_overridden_renderer_factory';
+$THEME->scss = function($theme) {
+    return theme_classic_get_main_scss_content($theme);
+};
+$THEME->usefallback = true;
diff --git a/theme/classic/lang/en/theme_classic.php b/theme/classic/lang/en/theme_classic.php
new file mode 100644 (file)
index 0000000..add512b
--- /dev/null
@@ -0,0 +1,41 @@
+<?php
+// This file is part of Moodle - http://moodle.org/
+//
+// Moodle is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// Moodle is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with Moodle.  If not, see <http://www.gnu.org/licenses/>.
+
+/**
+ * Language file.
+ *
+ * @package   theme_classic
+ * @copyright 2018 Bas Brands
+ * @license   http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
+ */
+
+// This line protects the file from being accessed by a URL directly.
+defined('MOODLE_INTERNAL') || die();
+
+// Raw SCSS setting.
+$string['choosereadme'] = 'Classic is a highly-customisable theme, based on Boost, with an alternative navigation layout. This theme is intended to be used directly, or as a parent theme when creating or updating custom themes to utilise Bootstrap 4.';
+$string['configtitle'] = 'Classic';
+$string['navbardark'] = 'Use a dark style navbar';
+$string['navbardarkdesc'] = 'Swaps text and background colours for the navbar at the top of the page between dark and light.';
+$string['pluginname'] = 'Classic';
+$string['presetfiles'] = 'Additional theme preset files';
+$string['presetfiles_desc'] = 'Preset files can be used to dramatically alter the appearance of the theme. See <a href=https://docs.moodle.org/dev/Boost_Presets>Boost presets</a> for information on creating and sharing your own preset files, and see the <a href=http://moodle.net/boost>Presets repository</a> for presets that others have shared.';
+$string['preset'] = 'Theme preset';
+$string['preset_desc'] = 'Pick a preset to broadly change the look of the theme.';
+$string['region-side-post'] = 'Right';
+$string['region-side-pre'] = 'Left';
+$string['sitetitle'] = 'Site Title';
+$string['privacy:metadata'] = 'The Classic theme does not store any personal data.';
\ No newline at end of file
diff --git a/theme/classic/layout/columns.php b/theme/classic/layout/columns.php
new file mode 100644 (file)
index 0000000..e6c5125
--- /dev/null
@@ -0,0 +1,45 @@
+<?php
+// This file is part of Moodle - http://moodle.org/
+//
+// Moodle is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// Moodle is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with Moodle.  If not, see <http://www.gnu.org/licenses/>.
+
+/**
+ * The columns layout for the classic theme.
+ *
+ * @package   theme_classic
+ * @copyright 2018 Bas Brands
+ * @license   http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
+ */
+
+defined('MOODLE_INTERNAL') || die();
+
+$bodyattributes = $OUTPUT->body_attributes();
+$blockspre = $OUTPUT->blocks('side-pre');
+$blockspost = $OUTPUT->blocks('side-post');
+
+$hassidepre = $PAGE->blocks->region_has_content('side-pre', $OUTPUT);
+$hassidepost = $PAGE->blocks->region_has_content('side-post', $OUTPUT);
+
+$templatecontext = [
+    'sitename' => format_string($SITE->shortname, true, ['context' => context_course::instance(SITEID), "escape" => false]),
+    'output' => $OUTPUT,
+    'sidepreblocks' => $blockspre,
+    'sidepostblocks' => $blockspost,
+    'haspreblocks' => $hassidepre,
+    'haspostblocks' => $hassidepost,
+    'bodyattributes' => $bodyattributes
+];
+
+echo $OUTPUT->render_from_template('theme_classic/columns', $templatecontext);
+
diff --git a/theme/classic/layout/contentonly.php b/theme/classic/layout/contentonly.php
new file mode 100644 (file)
index 0000000..253b3da
--- /dev/null
@@ -0,0 +1,36 @@
+<?php
+// This file is part of Moodle - http://moodle.org/
+//
+// Moodle is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// Moodle is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with Moodle.  If not, see <http://www.gnu.org/licenses/>.
+
+/**
+ * A one column layout for the classic theme.
+ *
+ * @package   theme_classic
+ * @copyright 2018 Bas Brands
+ * @license   http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
+ */
+
+defined('MOODLE_INTERNAL') || die();
+
+$bodyattributes = $OUTPUT->body_attributes([]);
+
+$templatecontext = [
+    'sitename' => format_string($SITE->shortname, true, ['context' => context_course::instance(SITEID), "escape" => false]),
+    'output' => $OUTPUT,
+    'bodyattributes' => $bodyattributes
+];
+
+echo $OUTPUT->render_from_template('theme_classic/contentonly', $templatecontext);
+
diff --git a/theme/classic/layout/secure.php b/theme/classic/layout/secure.php
new file mode 100644 (file)
index 0000000..e51b3f2
--- /dev/null
@@ -0,0 +1,46 @@
+<?php
+// This file is part of Moodle - http://moodle.org/
+//
+// Moodle is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// Moodle is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with Moodle.  If not, see <http://www.gnu.org/licenses/>.
+
+/**
+ * A secure layout for the classic theme.
+ *
+ * @package   theme_classic
+ * @copyright 2018 Bas Brands
+ * @license   http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
+ */
+
+defined('MOODLE_INTERNAL') || die();
+
+$bodyattributes = $OUTPUT->body_attributes();
+
+$blockspre = $OUTPUT->blocks('side-pre');
+$blockspost = $OUTPUT->blocks('side-post');
+
+$hassidepre = $PAGE->blocks->region_has_content('side-pre', $OUTPUT);
+$hassidepost = $PAGE->blocks->region_has_content('side-post', $OUTPUT);
+
+$templatecontext = [
+    'sitename' => format_string($SITE->shortname, true, ['context' => context_course::instance(SITEID), "escape" => false]),
+    'output' => $OUTPUT,
+    'sidepreblocks' => $blockspre,
+    'sidepostblocks' => $blockspost,
+    'haspreblocks' => $hassidepre,
+    'haspostblocks' => $hassidepost,
+    'bodyattributes' => $bodyattributes
+];
+
+echo $OUTPUT->render_from_template('theme_classic/secure', $templatecontext);
+
diff --git a/theme/classic/lib.php b/theme/classic/lib.php
new file mode 100644 (file)
index 0000000..c7be24d
--- /dev/null
@@ -0,0 +1,150 @@
+<?php
+// This file is part of Moodle - http://moodle.org/
+//
+// Moodle is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// Moodle is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with Moodle.  If not, see <http://www.gnu.org/licenses/>.
+
+/**
+ * Classic theme callbacks.
+ *
+ * @package    theme_classic
+ * @copyright  2018 Bas Brands
+ * @license    http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
+ */
+
+// This line protects the file from being accessed by a URL directly.
+defined('MOODLE_INTERNAL') || die();
+
+/**
+ * Returns the main SCSS content.
+ *
+ * @param theme_config $theme The theme config object.
+ * @return string
+ */
+function theme_classic_get_main_scss_content($theme) {
+    global $CFG;
+
+    $scss = '';
+    $filename = !empty($theme->settings->preset) ? $theme->settings->preset : null;
+    $fs = get_file_storage();
+
+    $context = context_system::instance();
+    $scss .= file_get_contents($CFG->dirroot . '/theme/classic/scss/classic/pre.scss');
+    if ($filename && ($presetfile = $fs->get_file($context->id, 'theme_classic', 'preset', 0, '/', $filename))) {
+        $scss .= $presetfile->get_content();
+    } else {
+        // Safety fallback - maybe new installs etc.
+        $scss .= file_get_contents($CFG->dirroot . '/theme/classic/scss/preset/default.scss');
+    }
+    $scss .= file_get_contents($CFG->dirroot . '/theme/classic/scss/classic/post.scss');
+
+    return $scss;
+}
+
+/**
+ * Get SCSS to prepend.
+ *
+ * @param theme_config $theme The theme config object.
+ * @return array
+ */
+function theme_classic_get_pre_scss($theme) {
+    $scss = '';
+    $configurable = [
+        // Config key => [variableName, ...].
+        'brandcolor' => ['primary'],
+    ];
+
+    // Prepend variables first.
+    foreach ($configurable as $configkey => $targets) {
+        $value = isset($theme->settings->{$configkey}) ? $theme->settings->{$configkey} : null;
+        if (empty($value)) {
+            continue;
+        }
+        array_map(function($target) use (&$scss, $value) {
+            $scss .= '$' . $target . ': ' . $value . ";\n";
+        }, (array) $targets);
+    }
+
+    // Prepend pre-scss.
+    if (!empty($theme->settings->scsspre)) {
+        $scss .= $theme->settings->scsspre;
+    }
+
+    return $scss;
+}
+
+/**
+ * Inject additional SCSS.
+ *
+ * @param theme_config $theme The theme config object.
+ * @return string
+ */
+function theme_classic_get_extra_scss($theme) {
+    global $CFG;
+    $content = '';
+
+    // Set the page background image.
+    $imageurl = $theme->setting_file_url('backgroundimage', 'backgroundimage');
+    if (!empty($imageurl)) {
+        $content .= '$imageurl: "' . $imageurl . '";';
+        $content .= file_get_contents($CFG->dirroot .
+            '/theme/classic/scss/classic/body-background.scss');
+    }
+
+    if (!empty($theme->settings->navbardark)) {
+        $content .= file_get_contents($CFG->dirroot .
+            '/theme/classic/scss/classic/navbar-dark.scss');
+    } else {
+        $content .= file_get_contents($CFG->dirroot .
+            '/theme/classic/scss/classic/navbar-light.scss');
+    }
+    if (!empty($theme->settings->scss)) {
+        $content .= $theme->settings->scss;
+    }
+    return $content;
+}
+
+/**
+ * Get compiled css.
+ *
+ * @return string compiled css
+ */
+function theme_classic_get_precompiled_css() {
+    global $CFG;
+    return file_get_contents($CFG->dirroot . '/theme/classic/style/moodle.css');
+}
+
+/**
+ * Serves any files associated with the theme settings.
+ *
+ * @param stdClass $course
+ * @param stdClass $cm
+ * @param context $context
+ * @param string $filearea
+ * @param array $args
+ * @param bool $forcedownload
+ * @param array $options
+ * @return bool
+ */
+function theme_classic_pluginfile($course, $cm, $context, $filearea, $args, $forcedownload, array $options = array()) {
+    if ($context->contextlevel == CONTEXT_SYSTEM && ($filearea === 'backgroundimage')) {
+        $theme = theme_config::load('classic');
+        // By default, theme files must be cache-able by both browsers and proxies.
+        if (!array_key_exists('cacheability', $options)) {
+            $options['cacheability'] = 'public';
+        }
+        return $theme->setting_file_serve($filearea, $args, $forcedownload, $options);
+    } else {
+        send_file_not_found();
+    }
+}
diff --git a/theme/classic/pix/favicon.ico b/theme/classic/pix/favicon.ico
new file mode 100644 (file)
index 0000000..eea0248
Binary files /dev/null and b/theme/classic/pix/favicon.ico differ
diff --git a/theme/classic/pix/screenshot.png b/theme/classic/pix/screenshot.png
new file mode 100644 (file)
index 0000000..d2a21d2
Binary files /dev/null and b/theme/classic/pix/screenshot.png differ
diff --git a/theme/classic/scss/bootstrap.scss b/theme/classic/scss/bootstrap.scss
new file mode 100644 (file)
index 0000000..05d7c2a
--- /dev/null
@@ -0,0 +1,2 @@
+// Import All of Bootstrap
+@import "../../boost/scss/bootstrap";
\ No newline at end of file
diff --git a/theme/classic/scss/classic/body-background.scss b/theme/classic/scss/classic/body-background.scss
new file mode 100644 (file)
index 0000000..fafc01a
--- /dev/null
@@ -0,0 +1,10 @@
+body {
+    background-image: url($imageurl);
+    background-size: cover;
+}
+.region-main .region-main-content {
+    padding: 0.875rem;
+    background-color: $body-bg;
+    border: $card-border-width solid $card-border-color;
+    @include border-radius($card-border-radius);
+}
\ No newline at end of file
diff --git a/theme/classic/scss/classic/navbar-dark.scss b/theme/classic/scss/classic/navbar-dark.scss
new file mode 100644 (file)
index 0000000..4f02406
--- /dev/null
@@ -0,0 +1,25 @@
+.navbar-bootswatch {
+    @extend .navbar-dark;
+    background-color: $primary;
+
+    .usermenu {
+        color: $navbar-dark-color;
+        .login a {
+            color: $navbar-dark-color;
+        }
+    }
+    a.dropdown-toggle,
+    a .usertext {
+        color: $navbar-dark-color;
+        @include hover-focus {
+            color: $navbar-dark-hover-color;
+        }
+
+        &.disabled {
+            color: $navbar-dark-disabled-color;
+        }
+    }
+    .dropdown-menu a .icon {
+        color: inherit !important; // stylelint-disable-line declaration-no-important
+    }
+}
\ No newline at end of file
diff --git a/theme/classic/scss/classic/navbar-light.scss b/theme/classic/scss/classic/navbar-light.scss
new file mode 100644 (file)
index 0000000..3f7947d
--- /dev/null
@@ -0,0 +1,4 @@
+.navbar-bootswatch {
+    @extend .navbar-light;
+    background-color: $white;
+}
\ No newline at end of file
diff --git a/theme/classic/scss/classic/post.scss b/theme/classic/scss/classic/post.scss
new file mode 100644 (file)
index 0000000..dc6079d
--- /dev/null
@@ -0,0 +1,192 @@
+// General Post SCSS for use in all presets.
+
+// Generate the column layout css.
+@mixin page_layout($blockswidth) {
+    $mainwidth-oneblock: (100% - $blockswidth);
+    $mainwidth-twoblocks: (100% - $blockswidth * 2);
+    #page-content {
+        display: flex;
+
+        .region-main {
+            flex: 0 0 100%;
+            padding: 0 1rem;
+        }
+
+        &.blocks-pre {
+            .columnleft {
+                flex: 0 0 $blockswidth;
+                order: -1;
+                padding: 0 1rem;
+                max-width: $blockswidth;
+            }
+            .region-main {
+                flex: 0 0 $mainwidth-oneblock;
+                max-width: $mainwidth-oneblock;
+                padding: 0 1rem 0 0;
+            }
+        }
+        &.blocks-post {
+            .region-main {
+                flex: 0 0 $mainwidth-oneblock;
+                max-width: $mainwidth-oneblock;
+                padding: 0 0 0 1rem;
+            }
+            .columnright {
+                flex: 0 0 $blockswidth;
+                padding: 0 1rem;
+                max-width: $blockswidth;
+            }
+        }
+        &.blocks-pre.blocks-post {
+            .region-main {
+                flex: 0 0 $mainwidth-twoblocks;
+                max-width: $mainwidth-twoblocks;
+                padding: 0;
+            }
+        }
+
+        [data-region="blocks-column"] {
+            width: 100%;
+        }
+    }
+
+    .empty-region-side-pre {
+        &.used-region-side-post {
+            #page-content {
+                .region-main {
+                    flex: 0 0 $mainwidth-oneblock;
+                    max-width: $mainwidth-oneblock;
+                    padding-left: 1rem;
+                }
+                .columnright {
+                    flex: 0 0 $blockswidth;
+                    padding: 0 1rem;
+                    max-width: $blockswidth;
+                }
+            }
+        }
+    }
+    .empty-region-side-post {
+        &.used-region-side-pre {
+            #page-content {
+                .region-main {
+                    flex: 0 0 $mainwidth-oneblock;
+                    max-width: $mainwidth-oneblock;
+                    padding-right: 1rem;
+                }
+                .columnleft {
+                    flex: 0 0 $blockswidth;
+                    order: -1;
+                    padding: 0 1rem;
+                    max-width: $blockswidth;
+                }
+            }
+        }
+    }
+    .used-region-side-post {
+        &.used-region-side-pre {
+            #page-content {
+                .region-main {
+                    flex: 0 0 $mainwidth-twoblocks;
+                    max-width: $mainwidth-twoblocks;
+                    padding: 0;
+                }
+                .columnleft {
+                    flex: 0 0 $blockswidth;
+                    order: -1;
+                    padding: 0 1rem;
+                    max-width: $blockswidth;
+                }
+                .columnright {
+                    flex: 0 0 $blockswidth;
+                    padding: 0 1rem;
+                    max-width: $blockswidth;
+                }
+            }
+        }
+    }
+}
+
+// The block column needs some padding on small devices.
+@include media-breakpoint-down(sm) {
+    .blockcolumn,
+    .region-main {
+        flex: 0 0 100%;
+        padding: 0 1rem;
+        margin-bottom: 1rem;
+    }
+}
+
+// When changing this please check the size of the calendar block.
+@include media-breakpoint-up(md) {
+    @include page_layout(32%);
+}
+
+@include media-breakpoint-up(lg) {
+    @include page_layout(25%);
+}
+
+@include media-breakpoint-up(xl) {
+    @include page_layout(20%);
+}
+
+.block_myoverview,
+.block_recentlyaccesseditems {
+    .dashboard-card-deck {
+        .dashboard-card {
+            width: calc(33.33% - #{$card-gutter});
+        }
+    }
+}
+
+@include media-breakpoint-up(md) {
+    .blockcolumn {
+        .dashboard-card-deck {
+            margin-left: 0;
+            margin-right: 0;
+            .dashboard-card {
+                width: calc(100% - #{$card-gutter}) !important; /* stylelint-disable-line declaration-no-important */
+            }
+        }
+    }
+}
+
+// Settings and Navigation blocks don't render well from default boost.
+.block_navigation,
+.block_settings {
+    .block_tree {
+        &.list > li > ul {
+            padding-left: 0;
+        }
+        .tree_item.branch {
+            margin-left: 5px;
+            padding-left: 0.75rem;
+        }
+        p.hasicon {
+            text-indent: 0;
+            padding-left: 0.75rem;
+        }
+        ul {
+            margin-left: 0.25rem;
+            padding-left: 1rem;
+        }
+    }
+}
+
+.block_navigation .block_tree p.hasicon .icon,
+.block_settings .block_tree p.hasicon .icon {
+    margin-right: 5px;
+}
+
+// Remove left indenting from root nodes to allow sub-nodes to indent correctly.
+.root_node,
+.navigation_node {
+    margin-left: 0 !important; /* stylelint-disable-line declaration-no-important */
+    padding-left: 0 !important; /* stylelint-disable-line declaration-no-important */
+}
+
+.block.block_settings {
+    #settingsnav {
+        padding-top: 0 !important; /* stylelint-disable-line declaration-no-important */
+    }
+}
diff --git a/theme/classic/scss/classic/pre.scss b/theme/classic/scss/classic/pre.scss
new file mode 100644 (file)
index 0000000..258cb48
--- /dev/null
@@ -0,0 +1 @@
+// General variables for all presets
diff --git a/theme/classic/scss/classicgrunt.scss b/theme/classic/scss/classicgrunt.scss
new file mode 100644 (file)
index 0000000..0f2f3bb
--- /dev/null
@@ -0,0 +1,4 @@
+// This file allows the creation of precompiled css from the core Grunt task.
+@import "classic/pre";
+@import "preset/default";
+@import "classic/post";
\ No newline at end of file
diff --git a/theme/classic/scss/fontawesome.scss b/theme/classic/scss/fontawesome.scss
new file mode 100644 (file)
index 0000000..9768c51
--- /dev/null
@@ -0,0 +1,2 @@
+// Import FontAwesome.
+@import "../../boost/scss/fontawesome";
\ No newline at end of file
diff --git a/theme/classic/scss/moodle.scss b/theme/classic/scss/moodle.scss
new file mode 100644 (file)
index 0000000..ee3152f
--- /dev/null
@@ -0,0 +1,2 @@
+// Import Boost Core moodle CSS
+@import "../../boost/scss/moodle";
\ No newline at end of file
diff --git a/theme/classic/scss/preset/default.scss b/theme/classic/scss/preset/default.scss
new file mode 100644 (file)
index 0000000..52fc0bb
--- /dev/null
@@ -0,0 +1,107 @@
+// Bootstrap variables
+
+$white:    #fff !default;
+$gray-100: #f8f9fa !default;
+$gray-200: #e9ecef !default;
+$gray-300: #dee2e6 !default;
+$gray-400: #ced4da !default;
+$gray-500: #adb5bd !default;
+$gray-600: #868e96 !default;
+$gray-700: #495057 !default;
+$gray-800: #373a3c !default;
+$gray-900: #212529 !default;
+$black:    #000 !default;
+
+$blue:    #1177d1 !default;
+$indigo:  #6610f2 !default;
+$purple:  #613d7c !default;
+$pink:    #e83e8c !default;
+$red:     #d9534f !default;
+$orange:  #f0ad4e !default;
+$yellow:  #ff7518 !default;
+$green:   #5cb85c !default;
+$teal:    #20c997 !default;
+$cyan:    #5bc0de !default;
+
+$primary:       $blue !default;
+$secondary:     $gray-800 !default;
+$success:       $green !default;
+$info:          $cyan !default;
+$warning:       $yellow !default;
+$danger:        $red !default;
+$light:         $gray-100 !default;
+$dark:          $gray-800 !default;
+
+// Options
+$enable-rounded: true !default;
+
+// Body
+$body-color:    $gray-800 !default;
+
+// Fonts
+$font-size-base: 0.9375rem !default;
+$headings-font-weight:   300 !default;
+
+// Navbar
+$navbar-dark-hover-color:           rgba($white, 1) !default;
+$navbar-light-hover-color:          rgba($black, .9) !default;
+
+// Breadcrumbs
+$breadcrumb-padding-y:              .25rem !default;
+$breadcrumb-padding-x:              0 !default;
+$breadcrumb-item-padding:           .5rem !default;
+$breadcrumb-margin-bottom:          0 !default;
+$breadcrumb-bg:                     transparent !default;
+$breadcrumb-divider: "/" !default;
+$breadcrumb-divider-rtl: "/" !default;
+
+// Alerts
+$alert-border-width:                0 !default;
+
+$card-group-margin: .25rem;
+
+$theme-colors: (
+    primary: $primary,
+    secondary: $gray-200,
+    success: $success,
+    info: $info,
+    warning: $orange,
+    danger: $danger,
+    light: $gray-100,
+    dark: $gray-800
+);
+
+// Import FontAwesome.
+@import "fontawesome";
+
+// Import All of Bootstrap
+@import "bootstrap";
+
+// Import Core moodle CSS
+@import "moodle";
+
+// Preset CSS
+.navbar {
+    box-shadow: 0 2px 4px rgba(0, 0, 0, .08);
+}
+
+.filemanager-container,
+.filepicker-filelist {
+    border: $border-width solid $border-color;
+}
+
+// Rounded user pictures
+.userpicture {
+    border-radius: 50%;
+}
+
+.block {
+    background-color: $gray-100;
+}
+// Reset the default styling back to the bootstrap defaults for
+// the secondary outline button because gray-200 is much too light
+// for an outline button.
+.btn-outline-secondary {
+    @include button-outline-variant($gray-600);
+    border-color: $border-color;
+}
\ No newline at end of file
diff --git a/theme/classic/scss/preset/plain.scss b/theme/classic/scss/preset/plain.scss
new file mode 100644 (file)
index 0000000..fcffa09
--- /dev/null
@@ -0,0 +1,8 @@
+// Import FontAwesome.
+@import "fontawesome";
+
+// Import All of Bootstrap
+@import "bootstrap";
+
+// Import Core moodle CSS
+@import "moodle";
\ No newline at end of file
diff --git a/theme/classic/settings.php b/theme/classic/settings.php
new file mode 100644 (file)
index 0000000..399b400
--- /dev/null
@@ -0,0 +1,106 @@
+<?php
+// This file is part of Moodle - http://moodle.org/
+//
+// Moodle is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// Moodle is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with Moodle.  If not, see <http://www.gnu.org/licenses/>.
+
+/**
+ * Classic theme settings file.
+ *
+ * @package    theme_classic
+ * @copyright  2018 Bas Brands
+ * @license    http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
+ */
+defined('MOODLE_INTERNAL') || die;
+
+if ($ADMIN->fulltree) {
+
+    $settings = new theme_boost_admin_settingspage_tabs('themesettingclassic', get_string('configtitle', 'theme_classic'));
+    $page = new admin_settingpage('theme_classic_general', get_string('generalsettings', 'theme_boost'));
+
+    $name = 'theme_classic/navbardark';
+    $title = get_string('navbardark', 'theme_classic');
+    $description = get_string('navbardarkdesc', 'theme_classic');
+    $setting = new admin_setting_configcheckbox($name, $title, $description, 0);
+    $setting->set_updatedcallback('theme_reset_all_caches');
+    $page->add($setting);
+
+    // Preset.
+    $name = 'theme_classic/preset';
+    $title = get_string('preset', 'theme_classic');
+    $description = get_string('preset_desc', 'theme_classic');
+    $default = 'default.scss';
+
+    $context = context_system::instance();
+    $fs = get_file_storage();
+    $files = $fs->get_area_files($context->id, 'theme_classic', 'preset', 0, 'itemid, filepath, filename', false);
+
+    $choices = [];
+    foreach ($files as $file) {
+        $choices[$file->get_filename()] = $file->get_filename();
+    }
+
+    // These are the built in presets.
+    $choices['default.scss'] = 'default.scss';
+    $choices['plain.scss'] = 'plain.scss';
+
+    $setting = new admin_setting_configselect($name, $title, $description, $default, $choices);
+    $setting->set_updatedcallback('theme_reset_all_caches');
+    $page->add($setting);
+
+    // Preset files setting.
+    $name = 'theme_classic/presetfiles';
+    $title = get_string('presetfiles', 'theme_classic');
+    $description = get_string('presetfiles_desc', 'theme_classic');
+
+    $setting = new admin_setting_configstoredfile($name, $title, $description, 'preset', 0,
+        array('maxfiles' => 20, 'accepted_types' => array('.scss')));
+    $page->add($setting);
+
+    // Background image setting.
+    $name = 'theme_classic/backgroundimage';
+    $title = get_string('backgroundimage', 'theme_boost');
+    $description = get_string('backgroundimage_desc', 'theme_boost');
+    $setting = new admin_setting_configstoredfile($name, $title, $description, 'backgroundimage');
+    $setting->set_updatedcallback('theme_reset_all_caches');
+    $page->add($setting);
+
+    // Variable $body-color.
+    // We use an empty default value because the default colour should come from the preset.
+    $name = 'theme_classic/brandcolor';
+    $title = get_string('brandcolor', 'theme_boost');
+    $description = get_string('brandcolor_desc', 'theme_boost');
+    $setting = new admin_setting_configcolourpicker($name, $title, $description, '');
+    $setting->set_updatedcallback('theme_reset_all_caches');
+    $page->add($setting);
+
+    // Must add the page after definiting all the settings!
+    $settings->add($page);
+
+    // Advanced settings.
+    $page = new admin_settingpage('theme_classic_advanced', get_string('advancedsettings', 'theme_boost'));
+
+    // Raw SCSS to include before the content.
+    $setting = new admin_setting_scsscode('theme_classic/scsspre',
+        get_string('rawscsspre', 'theme_boost'), get_string('rawscsspre_desc', 'theme_boost'), '', PARAM_RAW);
+    $setting->set_updatedcallback('theme_reset_all_caches');
+    $page->add($setting);
+
+    // Raw SCSS to include after the content.
+    $setting = new admin_setting_scsscode('theme_classic/scss', get_string('rawscss', 'theme_boost'),
+        get_string('rawscss_desc', 'theme_boost'), '', PARAM_RAW);
+    $setting->set_updatedcallback('theme_reset_all_caches');
+    $page->add($setting);
+
+    $settings->add($page);
+}
diff --git a/theme/classic/style/moodle.css b/theme/classic/style/moodle.css
new file mode 100644 (file)
index 0000000..322d9fe
--- /dev/null
@@ -0,0 +1,17210 @@
+@charset "UTF-8";
+@font-face {
+  font-family: 'FontAwesome';
+  src: url("[[font:core|fontawesome-webfont.eot]]?v=4.7.0");
+  src: url("[[font:core|fontawesome-webfont.eot]]?#iefix&v=4.7.0") format("embedded-opentype"), url("[[font:core|fontawesome-webfont.woff2]]?v=4.7.0") format("woff2"), url("[[font:core|fontawesome-webfont.woff]]?v=4.7.0") format("woff"), url("[[font:core|fontawesome-webfont.ttf]]?v=4.7.0") format("truetype"), url("[[font:core|fontawesome-webfont.svg]]?v=4.7.0#fontawesomeregular") format("svg");
+  font-weight: normal;
+  font-style: normal; }
+
+/*!
+ *  Font Awesome 4.7.0 by @davegandy - http://fontawesome.io - @fontawesome
+ *  License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License)
+ */
+.fa, .block_settings .block_tree [aria-expanded="true"]:before,
+.block_navigation .block_tree [aria-expanded="true"]:before, .block_settings .block_tree [aria-expanded="false"]:before,
+.block_navigation .block_tree [aria-expanded="false"]:before {
+  display: inline-block;
+  font: normal normal normal 14px/1 FontAwesome;
+  font-size: inherit;
+  text-rendering: auto;
+  -webkit-font-smoothing: antialiased;
+  -moz-osx-font-smoothing: grayscale; }
+
+/* makes the font 33% larger relative to the icon container */
+.fa-lg {
+  font-size: 1.3333333333em;
+  line-height: 0.75em;
+  vertical-align: -15%; }
+
+.fa-2x {
+  font-size: 2em; }
+
+.fa-3x {
+  font-size: 3em; }
+
+.fa-4x {
+  font-size: 4em; }
+
+.fa-5x {
+  font-size: 5em; }
+
+.fa-fw {
+  width: 1.2857142857em;
+  text-align: center; }
+
+.fa-ul {
+  padding-left: 0;
+  margin-left: 2.1428571429em;
+  list-style-type: none; }
+  .fa-ul > li {
+    position: relative; }
+
+.fa-li {
+  position: absolute;
+  left: -2.1428571429em;
+  width: 2.1428571429em;
+  top: 0.1428571429em;
+  text-align: center; }
+  .fa-li.fa-lg {
+    left: -1.8571428571em; }
+
+.fa-border {
+  padding: .2em .25em .15em;
+  border: solid 0.08em #eee;
+  border-radius: .1em; }
+
+.fa-pull-left {
+  float: left; }
+
+.fa-pull-right {
+  float: right; }
+
+.fa.fa-pull-left, .block_settings .block_tree .fa-pull-left[aria-expanded="true"]:before,
+.block_navigation .block_tree .fa-pull-left[aria-expanded="true"]:before, .block_settings .block_tree .fa-pull-left[aria-expanded="false"]:before,
+.block_navigation .block_tree .fa-pull-left[aria-expanded="false"]:before {
+  margin-right: .3em; }
+
+.fa.fa-pull-right, .block_settings .block_tree .fa-pull-right[aria-expanded="true"]:before,
+.block_navigation .block_tree .fa-pull-right[aria-expanded="true"]:before, .block_settings .block_tree .fa-pull-right[aria-expanded="false"]:before,
+.block_navigation .block_tree .fa-pull-right[aria-expanded="false"]:before {
+  margin-left: .3em; }
+
+/* Deprecated as of 4.4.0 */
+.pull-right {
+  float: right; }
+
+.pull-left {
+  float: left; }
+
+.fa.pull-left, .block_settings .block_tree .pull-left[aria-expanded="true"]:before,
+.block_navigation .block_tree .pull-left[aria-expanded="true"]:before, .block_settings .block_tree .pull-left[aria-expanded="false"]:before,
+.block_navigation .block_tree .pull-left[aria-expanded="false"]:before {
+  margin-right: .3em; }
+
+.fa.pull-right, .block_settings .block_tree .pull-right[aria-expanded="true"]:before,
+.block_navigation .block_tree .pull-right[aria-expanded="true"]:before, .block_settings .block_tree .pull-right[aria-expanded="false"]:before,
+.block_navigation .block_tree .pull-right[aria-expanded="false"]:before {
+  margin-left: .3em; }
+
+.fa-spin {
+  -webkit-animation: fa-spin 2s infinite linear;
+  animation: fa-spin 2s infinite linear; }
+
+.fa-pulse {
+  -webkit-animation: fa-spin 1s infinite steps(8);
+  animation: fa-spin 1s infinite steps(8); }
+
+@-webkit-keyframes fa-spin {
+  0% {
+    -webkit-transform: rotate(0deg);
+    transform: rotate(0deg); }
+  100% {
+    -webkit-transform: rotate(359deg);
+    transform: rotate(359deg); } }
+
+@keyframes fa-spin {
+  0% {
+    -webkit-transform: rotate(0deg);
+    transform: rotate(0deg); }
+  100% {
+    -webkit-transform: rotate(359deg);
+    transform: rotate(359deg); } }
+
+.fa-rotate-90 {
+  -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=1)";
+  -webkit-transform: rotate(90deg);
+  -ms-transform: rotate(90deg);
+  transform: rotate(90deg); }
+
+.fa-rotate-180 {
+  -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=2)";
+  -webkit-transform: rotate(180deg);
+  -ms-transform: rotate(180deg);
+  transform: rotate(180deg); }
+
+.fa-rotate-270 {
+  -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=3)";
+  -webkit-transform: rotate(270deg);
+  -ms-transform: rotate(270deg);
+  transform: rotate(270deg); }
+
+.fa-flip-horizontal {
+  -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1)";
+  -webkit-transform: scale(-1, 1);
+  -ms-transform: scale(-1, 1);
+  transform: scale(-1, 1); }
+
+.fa-flip-vertical {
+  -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)";
+  -webkit-transform: scale(1, -1);
+  -ms-transform: scale(1, -1);
+  transform: scale(1, -1); }
+
+:root .fa-rotate-90,
+:root .fa-rotate-180,
+:root .fa-rotate-270,
+:root .fa-flip-horizontal,
+:root .fa-flip-vertical {
+  filter: none; }
+
+.fa-stack {
+  position: relative;
+  display: inline-block;
+  width: 2em;
+  height: 2em;
+  line-height: 2em;
+  vertical-align: middle; }
+
+.fa-stack-1x, .fa-stack-2x {
+  position: absolute;
+  left: 0;
+  width: 100%;
+  text-align: center; }
+
+.fa-stack-1x {
+  line-height: inherit; }
+
+.fa-stack-2x {
+  font-size: 2em; }
+
+.fa-inverse {
+  color: #fff; }
+
+/* Font Awesome uses the Unicode Private Use Area (PUA) to ensure screen
+   readers do not read off random characters that represent icons */
+.fa-glass:before {
+  content: ""; }
+
+.fa-music:before {
+  content: ""; }
+
+.fa-search:before {
+  content: ""; }
+
+.fa-envelope-o:before {
+  content: ""; }
+
+.fa-heart:before {
+  content: ""; }
+
+.fa-star:before {
+  content: ""; }
+
+.fa-star-o:before {
+  content: ""; }
+
+.fa-user:before {
+  content: ""; }
+
+.fa-film:before {
+  content: ""; }
+
+.fa-th-large:before {
+  content: ""; }
+
+.fa-th:before {
+  content: ""; }
+
+.fa-th-list:before {
+  content: ""; }
+
+.fa-check:before {
+  content: ""; }
+
+.fa-remove:before,
+.fa-close:before,
+.fa-times:before {
+  content: ""; }
+
+.fa-search-plus:before {
+  content: ""; }
+
+.fa-search-minus:before {
+  content: ""; }
+
+.fa-power-off:before {
+  content: ""; }
+
+.fa-signal:before {
+  content: ""; }
+
+.fa-gear:before,
+.fa-cog:before {
+  content: ""; }
+
+.fa-trash-o:before {
+  content: ""; }
+
+.fa-home:before {
+  content: ""; }
+
+.fa-file-o:before {
+  content: ""; }
+
+.fa-clock-o:before {
+  content: ""; }
+
+.fa-road:before {
+  content: ""; }
+
+.fa-download:before {
+  content: ""; }
+
+.fa-arrow-circle-o-down:before {
+  content: ""; }
+
+.fa-arrow-circle-o-up:before {
+  content: ""; }
+
+.fa-inbox:before {
+  content: ""; }
+
+.fa-play-circle-o:before {
+  content: ""; }
+
+.fa-rotate-right:before,
+.fa-repeat:before {
+  content: ""; }
+
+.fa-refresh:before {
+  content: ""; }
+
+.fa-list-alt:before {
+  content: ""; }
+
+.fa-lock:before {
+  content: ""; }
+
+.fa-flag:before {
+  content: ""; }
+
+.fa-headphones:before {
+  content: ""; }
+
+.fa-volume-off:before {
+  content: ""; }
+
+.fa-volume-down:before {
+  content: ""; }
+
+.fa-volume-up:before {
+  content: ""; }
+
+.fa-qrcode:before {
+  content: ""; }
+
+.fa-barcode:before {
+  content: ""; }
+
+.fa-tag:before {
+  content: ""; }
+
+.fa-tags:before {
+  content: ""; }
+
+.fa-book:before {
+  content: ""; }
+
+.fa-bookmark:before {
+  content: ""; }
+
+.fa-print:before {
+  content: ""; }
+
+.fa-camera:before {
+  content: ""; }
+
+.fa-font:before {
+  content: ""; }
+
+.fa-bold:before {
+  content: ""; }
+
+.fa-italic:before {
+  content: ""; }
+
+.fa-text-height:before {
+  content: ""; }
+
+.fa-text-width:before {
+  content: ""; }
+
+.fa-align-left:before {
+  content: ""; }
+
+.fa-align-center:before {
+  content: ""; }
+
+.fa-align-right:before {
+  content: ""; }
+
+.fa-align-justify:before {
+  content: ""; }
+
+.fa-list:before {
+  content: ""; }
+
+.fa-dedent:before,
+.fa-outdent:before {
+  content: ""; }
+
+.fa-indent:before {
+  content: ""; }
+
+.fa-video-camera:before {
+  content: ""; }
+
+.fa-photo:before,
+.fa-image:before,
+.fa-picture-o:before {
+  content: ""; }
+
+.fa-pencil:before {
+  content: ""; }
+
+.fa-map-marker:before {
+  content: ""; }
+
+.fa-adjust:before {
+  content: ""; }
+
+.fa-tint:before {
+  content: ""; }
+
+.fa-edit:before,
+.fa-pencil-square-o:before {
+  content: ""; }
+
+.fa-share-square-o:before {
+  content: ""; }
+
+.fa-check-square-o:before {
+  content: ""; }
+
+.fa-arrows:before {
+  content: ""; }
+
+.fa-step-backward:before {
+  content: ""; }
+
+.fa-fast-backward:before {
+  content: ""; }
+
+.fa-backward:before {
+  content: ""; }
+
+.fa-play:before {
+  content: ""; }
+
+.fa-pause:before {
+  content: ""; }
+
+.fa-stop:before {
+  content: ""; }
+
+.fa-forward:before {
+  content: ""; }
+
+.fa-fast-forward:before {
+  content: ""; }
+
+.fa-step-forward:before {
+  content: ""; }
+
+.fa-eject:before {
+  content: ""; }
+
+.fa-chevron-left:before {
+  content: ""; }
+
+.fa-chevron-right:before {
+  content: ""; }
+
+.fa-plus-circle:before {
+  content: ""; }
+
+.fa-minus-circle:before {
+  content: ""; }
+
+.fa-times-circle:before {
+  content: ""; }
+
+.fa-check-circle:before {
+  content: ""; }
+
+.fa-question-circle:before {
+  content: ""; }
+
+.fa-info-circle:before {
+  content: ""; }
+
+.fa-crosshairs:before {
+  content: ""; }
+
+.fa-times-circle-o:before {
+  content: ""; }
+
+.fa-check-circle-o:before {
+  content: ""; }
+
+.fa-ban:before {
+  content: ""; }
+
+.fa-arrow-left:before {
+  content: ""; }
+
+.fa-arrow-right:before {
+  content: ""; }
+
+.fa-arrow-up:before {
+  content: ""; }
+
+.fa-arrow-down:before {
+  content: ""; }
+
+.fa-mail-forward:before,
+.fa-share:before {
+  content: ""; }
+
+.fa-expand:before {
+  content: ""; }
+
+.fa-compress:before {
+  content: ""; }
+
+.fa-plus:before {
+  content: ""; }
+
+.fa-minus:before {
+  content: ""; }
+
+.fa-asterisk:before {
+  content: ""; }
+
+.fa-exclamation-circle:before {
+  content: ""; }
+
+.fa-gift:before {
+  content: ""; }
+
+.fa-leaf:before {
+  content: ""; }
+
+.fa-fire:before {
+  content: ""; }
+
+.fa-eye:before {
+  content: ""; }
+
+.fa-eye-slash:before {
+  content: ""; }
+
+.fa-warning:before,
+.fa-exclamation-triangle:before {
+  content: ""; }
+
+.fa-plane:before {
+  content: ""; }
+
+.fa-calendar:before {
+  content: ""; }
+
+.fa-random:before {
+  content: ""; }
+
+.fa-comment:before {
+  content: ""; }
+
+.fa-magnet:before {
+  content: ""; }
+
+.fa-chevron-up:before {
+  content: ""; }
+
+.fa-chevron-down:before {
+  content: ""; }
+
+.fa-retweet:before {
+  content: ""; }
+
+.fa-shopping-cart:before {
+  content: ""; }
+
+.fa-folder:before {
+  content: ""; }
+
+.fa-folder-open:before {
+  content: ""; }
+
+.fa-arrows-v:before {
+  content: ""; }
+
+.fa-arrows-h:before {
+  content: ""; }
+
+.fa-bar-chart-o:before,
+.fa-bar-chart:before {
+  content: ""; }
+
+.fa-twitter-square:before {
+  content: ""; }
+
+.fa-facebook-square:before {
+  content: ""; }
+
+.fa-camera-retro:before {
+  content: ""; }
+
+.fa-key:before {
+  content: ""; }
+
+.fa-gears:before,
+.fa-cogs:before {
+  content: ""; }
+
+.fa-comments:before {
+  content: ""; }
+
+.fa-thumbs-o-up:before {
+  content: ""; }
+
+.fa-thumbs-o-down:before {
+  content: ""; }
+
+.fa-star-half:before {
+  content: ""; }
+
+.fa-heart-o:before {
+  content: ""; }
+
+.fa-sign-out:before {
+  content: ""; }
+
+.fa-linkedin-square:before {
+  content: ""; }
+
+.fa-thumb-tack:before {
+  content: ""; }
+
+.fa-external-link:before {
+  content: ""; }
+
+.fa-sign-in:before {
+  content: ""; }
+
+.fa-trophy:before {
+  content: ""; }
+
+.fa-github-square:before {
+  content: ""; }
+
+.fa-upload:before {
+  content: ""; }
+
+.fa-lemon-o:before {
+  content: ""; }
+
+.fa-phone:before {
+  content: ""; }
+
+.fa-square-o:before {
+  content: ""; }
+
+.fa-bookmark-o:before {
+  content: ""; }
+
+.fa-phone-square:before {
+  content: ""; }
+
+.fa-twitter:before {
+  content: ""; }
+
+.fa-facebook-f:before,
+.fa-facebook:before {
+  content: ""; }
+
+.fa-github:before {
+  content: ""; }
+
+.fa-unlock:before {
+  content: ""; }
+
+.fa-credit-card:before {
+  content: ""; }
+
+.fa-feed:before,
+.fa-rss:before {
+  content: ""; }
+
+.fa-hdd-o:before {
+  content: ""; }
+
+.fa-bullhorn:before {
+  content: ""; }
+
+.fa-bell:before {
+  content: ""; }
+
+.fa-certificate:before {
+  content: ""; }
+
+.fa-hand-o-right:before {
+  content: ""; }
+
+.fa-hand-o-left:before {
+  content: ""; }
+
+.fa-hand-o-up:before {
+  content: ""; }
+
+.fa-hand-o-down:before {
+  content: ""; }
+
+.fa-arrow-circle-left:before {
+  content: ""; }
+
+.fa-arrow-circle-right:before {
+  content: ""; }
+
+.fa-arrow-circle-up:before {
+  content: ""; }
+
+.fa-arrow-circle-down:before {
+  content: ""; }
+
+.fa-globe:before {
+  content: ""; }
+
+.fa-wrench:before {
+  content: ""; }
+
+.fa-tasks:before {
+  content: ""; }
+
+.fa-filter:before {
+  content: ""; }
+
+.fa-briefcase:before {
+  content: ""; }
+
+.fa-arrows-alt:before {
+  content: ""; }
+
+.fa-group:before,
+.fa-users:before {
+  content: ""; }
+
+.fa-chain:before,
+.fa-link:before {
+  content: ""; }
+
+.fa-cloud:before {
+  content: ""; }
+
+.fa-flask:before {
+  content: ""; }
+
+.fa-cut:before,
+.fa-scissors:before {
+  content: ""; }
+
+.fa-copy:before,
+.fa-files-o:before {
+  content: ""; }
+
+.fa-paperclip:before {
+  content: ""; }
+
+.fa-save:before,
+.fa-floppy-o:before {
+  content: ""; }
+
+.fa-square:before {
+  content: ""; }
+
+.fa-navicon:before,
+.fa-reorder:before,
+.fa-bars:before {
+  content: ""; }
+
+.fa-list-ul:before {
+  content: ""; }
+
+.fa-list-ol:before {
+  content: ""; }
+
+.fa-strikethrough:before {
+  content: ""; }
+
+.fa-underline:before {
+  content: ""; }
+
+.fa-table:before {
+  content: ""; }
+
+.fa-magic:before {
+  content: ""; }
+
+.fa-truck:before {
+  content: ""; }
+
+.fa-pinterest:before {
+  content: ""; }
+
+.fa-pinterest-square:before {
+  content: ""; }
+
+.fa-google-plus-square:before {
+  content: ""; }
+
+.fa-google-plus:before {
+  content: ""; }
+
+.fa-money:before {
+  content: ""; }
+
+.fa-caret-down:before {
+  content: ""; }
+
+.fa-caret-up:before {
+  content: ""; }
+
+.fa-caret-left:before {
+  content: ""; }
+
+.fa-caret-right:before {
+  content: ""; }
+
+.fa-columns:before {
+  content: ""; }
+
+.fa-unsorted:before,
+.fa-sort:before {
+  content: ""; }
+
+.fa-sort-down:before,
+.fa-sort-desc:before {
+  content: ""; }
+
+.fa-sort-up:before,
+.fa-sort-asc:before {
+  content: ""; }
+
+.fa-envelope:before {
+  content: ""; }
+
+.fa-linkedin:before {
+  content: ""; }
+
+.fa-rotate-left:before,
+.fa-undo:before {
+  content: ""; }
+
+.fa-legal:before,
+.fa-gavel:before {
+  content: ""; }
+
+.fa-dashboard:before,
+.fa-tachometer:before {
+  content: ""; }
+
+.fa-comment-o:before {
+  content: ""; }
+
+.fa-comments-o:before {
+  content: ""; }
+
+.fa-flash:before,
+.fa-bolt:before {
+  content: ""; }
+
+.fa-sitemap:before {
+  content: ""; }
+
+.fa-umbrella:before {
+  content: ""; }
+
+.fa-paste:before,
+.fa-clipboard:before {
+  content: ""; }
+
+.fa-lightbulb-o:before {
+  content: ""; }
+
+.fa-exchange:before {
+  content: ""; }
+
+.fa-cloud-download:before {
+  content: ""; }
+
+.fa-cloud-upload:before {
+  content: ""; }
+
+.fa-user-md:before {
+  content: ""; }
+
+.fa-stethoscope:before {
+  content: ""; }
+
+.fa-suitcase:before {
+  content: ""; }
+
+.fa-bell-o:before {
+  content: ""; }
+
+.fa-coffee:before {
+  content: ""; }
+
+.fa-cutlery:before {
+  content: ""; }
+
+.fa-file-text-o:before {
+  content: ""; }
+
+.fa-building-o:before {
+  content: ""; }
+
+.fa-hospital-o:before {
+  content: ""; }
+
+.fa-ambulance:before {
+  content: ""; }
+
+.fa-medkit:before {
+  content: ""; }
+
+.fa-fighter-jet:before {
+  content: ""; }
+
+.fa-beer:before {
+  content: ""; }
+
+.fa-h-square:before {
+  content: ""; }
+
+.fa-plus-square:before {
+  content: ""; }
+
+.fa-angle-double-left:before {
+  content: ""; }
+
+.fa-angle-double-right:before {
+  content: ""; }
+
+.fa-angle-double-up:before {
+  content: ""; }
+
+.fa-angle-double-down:before {
+  content: ""; }
+
+.fa-angle-left:before {
+  content: ""; }
+
+.fa-angle-right:before {
+  content: ""; }
+
+.fa-angle-up:before {
+  content: ""; }
+
+.fa-angle-down:before {
+  content: ""; }
+
+.fa-desktop:before {
+  content: ""; }
+
+.fa-laptop:before {
+  content: ""; }
+
+.fa-tablet:before {
+  content: ""; }
+
+.fa-mobile-phone:before,
+.fa-mobile:before {
+  content: ""; }
+
+.fa-circle-o:before {
+  content: ""; }
+
+.fa-quote-left:before {
+  content: ""; }
+
+.fa-quote-right:before {
+  content: ""; }
+
+.fa-spinner:before {
+  content: ""; }
+
+.fa-circle:before {
+  content: ""; }
+
+.fa-mail-reply:before,
+.fa-reply:before {
+  content: ""; }
+
+.fa-github-alt:before {
+  content: ""; }
+
+.fa-folder-o:before {
+  content: ""; }
+
+.fa-folder-open-o:before {
+  content: ""; }
+
+.fa-smile-o:before {
+  content: ""; }
+
+.fa-frown-o:before {
+  content: ""; }
+
+.fa-meh-o:before {
+  content: ""; }
+
+.fa-gamepad:before {
+  content: ""; }
+
+.fa-keyboard-o:before {
+  content: ""; }
+
+.fa-flag-o:before {
+  content: ""; }
+
+.fa-flag-checkered:before {
+  content: ""; }
+
+.fa-terminal:before {
+  content: ""; }
+
+.fa-code:before {
+  content: ""; }
+
+.fa-mail-reply-all:before,
+.fa-reply-all:before {
+  content: ""; }
+
+.fa-star-half-empty:before,
+.fa-star-half-full:before,
+.fa-star-half-o:before {
+  content: ""; }
+
+.fa-location-arrow:before {
+  content: ""; }
+
+.fa-crop:before {
+  content: ""; }
+
+.fa-code-fork:before {
+  content: ""; }
+
+.fa-unlink:before,
+.fa-chain-broken:before {
+  content: ""; }
+
+.fa-question:before {
+  content: ""; }
+
+.fa-info:before {
+  content: ""; }
+
+.fa-exclamation:before {
+  content: ""; }
+
+.fa-superscript:before {
+  content: ""; }
+
+.fa-subscript:before {
+  content: ""; }
+
+.fa-eraser:before {
+  content: ""; }
+
+.fa-puzzle-piece:before {
+  content: ""; }
+
+.fa-microphone:before {
+  content: ""; }
+
+.fa-microphone-slash:before {
+  content: ""; }
+
+.fa-shield:before {
+  content: ""; }
+
+.fa-calendar-o:before {
+  content: ""; }
+
+.fa-fire-extinguisher:before {
+  content: ""; }
+
+.fa-rocket:before {
+  content: ""; }
+
+.fa-maxcdn:before {
+  content: ""; }
+
+.fa-chevron-circle-left:before {
+  content: ""; }
+
+.fa-chevron-circle-right:before {
+  content: ""; }
+
+.fa-chevron-circle-up:before {
+  content: ""; }
+
+.fa-chevron-circle-down:before {
+  content: ""; }
+
+.fa-html5:before {
+  content: ""; }
+
+.fa-css3:before {
+  content: ""; }
+
+.fa-anchor:before {
+  content: ""; }
+
+.fa-unlock-alt:before {
+  content: ""; }
+
+.fa-bullseye:before {
+  content: ""; }
+
+.fa-ellipsis-h:before {
+  content: ""; }
+
+.fa-ellipsis-v:before {
+  content: ""; }
+
+.fa-rss-square:before {
+  content: ""; }
+
+.fa-play-circle:before {
+  content: ""; }
+
+.fa-ticket:before {
+  content: ""; }
+
+.fa-minus-square:before {
+  content: ""; }
+
+.fa-minus-square-o:before {
+  content: ""; }
+
+.fa-level-up:before {
+  content: ""; }
+
+.fa-level-down:before {
+  content: ""; }
+
+.fa-check-square:before {
+  content: ""; }
+
+.fa-pencil-square:before {
+  content: ""; }
+
+.fa-external-link-square:before {
+  content: ""; }
+
+.fa-share-square:before {
+  content: ""; }
+
+.fa-compass:before {
+  content: ""; }
+
+.fa-toggle-down:before,
+.fa-caret-square-o-down:before {
+  content: ""; }
+
+.fa-toggle-up:before,
+.fa-caret-square-o-up:before {
+  content: ""; }
+
+.fa-toggle-right:before,
+.fa-caret-square-o-right:before {
+  content: ""; }
+
+.fa-euro:before,
+.fa-eur:before {
+  content: ""; }
+
+.fa-gbp:before {
+  content: ""; }
+
+.fa-dollar:before,
+.fa-usd:before {
+  content: ""; }
+
+.fa-rupee:before,
+.fa-inr:before {
+  content: ""; }
+
+.fa-cny:before,
+.fa-rmb:before,
+.fa-yen:before,
+.fa-jpy:before {
+  content: ""; }
+
+.fa-ruble:before,
+.fa-rouble:before,
+.fa-rub:before {
+  content: ""; }
+
+.fa-won:before,
+.fa-krw:before {
+  content: ""; }
+
+.fa-bitcoin:before,
+.fa-btc:before {
+  content: ""; }
+
+.fa-file:before {
+  content: ""; }
+
+.fa-file-text:before {
+  content: ""; }
+
+.fa-sort-alpha-asc:before {
+  content: ""; }
+
+.fa-sort-alpha-desc:before {
+  content: ""; }
+
+.fa-sort-amount-asc:before {
+  content: ""; }
+
+.fa-sort-amount-desc:before {
+  content: ""; }
+
+.fa-sort-numeric-asc:before {
+  content: ""; }
+
+.fa-sort-numeric-desc:before {
+  content: ""; }
+
+.fa-thumbs-up:before {
+  content: ""; }
+
+.fa-thumbs-down:before {
+  content: ""; }
+
+.fa-youtube-square:before {
+  content: ""; }
+
+.fa-youtube:before {
+  content: ""; }
+
+.fa-xing:before {
+  content: ""; }
+
+.fa-xing-square:before {
+  content: ""; }
+
+.fa-youtube-play:before {
+  content: ""; }
+
+.fa-dropbox:before {
+  content: ""; }
+
+.fa-stack-overflow:before {
+  content: ""; }
+
+.fa-instagram:before {
+  content: ""; }
+
+.fa-flickr:before {
+  content: ""; }
+
+.fa-adn:before {
+  content: ""; }
+
+.fa-bitbucket:before {
+  content: ""; }
+
+.fa-bitbucket-square:before {
+  content: ""; }
+
+.fa-tumblr:before {
+  content: ""; }
+
+.fa-tumblr-square:before {
+  content: ""; }
+
+.fa-long-arrow-down:before {
+  content: ""; }
+
+.fa-long-arrow-up:before {
+  content: ""; }
+
+.fa-long-arrow-left:before {
+  content: ""; }
+
+.fa-long-arrow-right:before {
+  content: ""; }
+
+.fa-apple:before {
+  content: ""; }
+
+.fa-windows:before {
+  content: ""; }
+
+.fa-android:before {
+  content: ""; }
+
+.fa-linux:before {
+  content: ""; }
+
+.fa-dribbble:before {
+  content: ""; }
+
+.fa-skype:before {
+  content: ""; }
+
+.fa-foursquare:before {
+  content: ""; }
+
+.fa-trello:before {
+  content: ""; }
+
+.fa-female:before {
+  content: ""; }
+
+.fa-male:before {
+  content: ""; }
+
+.fa-gittip:before,
+.fa-gratipay:before {
+  content: ""; }
+
+.fa-sun-o:before {
+  content: ""; }
+
+.fa-moon-o:before {
+  content: ""; }
+
+.fa-archive:before {
+  content: ""; }
+
+.fa-bug:before {
+  content: ""; }
+
+.fa-vk:before {
+  content: ""; }
+
+.fa-weibo:before {
+  content: ""; }
+
+.fa-renren:before {
+  content: ""; }
+
+.fa-pagelines:before {
+  content: ""; }
+
+.fa-stack-exchange:before {
+  content: ""; }
+
+.fa-arrow-circle-o-right:before {
+  content: ""; }
+
+.fa-arrow-circle-o-left:before {
+  content: ""; }
+
+.fa-toggle-left:before,
+.fa-caret-square-o-left:before {
+  content: ""; }
+
+.fa-dot-circle-o:before {
+  content: ""; }
+
+.fa-wheelchair:before {
+  content: ""; }
+
+.fa-vimeo-square:before {
+  content: ""; }
+
+.fa-turkish-lira:before,
+.fa-try:before {
+  content: ""; }
+
+.fa-plus-square-o:before {
+  content: ""; }
+
+.fa-space-shuttle:before {
+  content: ""; }
+
+.fa-slack:before {
+  content: ""; }
+
+.fa-envelope-square:before {
+  content: ""; }
+
+.fa-wordpress:before {
+  content: ""; }
+
+.fa-openid:before {
+  content: ""; }
+
+.fa-institution:before,
+.fa-bank:before,
+.fa-university:before {
+  content: ""; }
+
+.fa-mortar-board:before,
+.fa-graduation-cap:before {
+  content: ""; }
+
+.fa-yahoo:before {
+  content: ""; }
+
+.fa-google:before {
+  content: ""; }
+
+.fa-reddit:before {
+  content: ""; }
+
+.fa-reddit-square:before {
+  content: ""; }
+
+.fa-stumbleupon-circle:before {
+  content: ""; }
+
+.fa-stumbleupon:before {
+  content: ""; }
+
+.fa-delicious:before {
+  content: ""; }
+
+.fa-digg:before {
+  content: ""; }
+
+.fa-pied-piper-pp:before {
+  content: ""; }
+
+.fa-pied-piper-alt:before {
+  content: ""; }
+
+.fa-drupal:before {
+  content: ""; }
+
+.fa-joomla:before {
+  content: ""; }
+
+.fa-language:before {
+  content: ""; }
+
+.fa-fax:before {
+  content: ""; }
+
+.fa-building:before {
+  content: ""; }
+
+.fa-child:before {
+  content: ""; }
+
+.fa-paw:before {
+  content: ""; }
+
+.fa-spoon:before {
+  content: ""; }
+
+.fa-cube:before {
+  content: ""; }
+
+.fa-cubes:before {
+  content: ""; }
+
+.fa-behance:before {
+  content: ""; }
+
+.fa-behance-square:before {
+  content: ""; }
+
+.fa-steam:before {
+  content: ""; }
+
+.fa-steam-square:before {
+  content: ""; }
+
+.fa-recycle:before {
+  content: ""; }
+
+.fa-automobile:before,
+.fa-car:before {
+  content: ""; }
+
+.fa-cab:before,
+.fa-taxi:before {
+  content: ""; }
+
+.fa-tree:before {
+  content: ""; }
+
+.fa-spotify:before {
+  content: ""; }
+
+.fa-deviantart:before {
+  content: ""; }
+
+.fa-soundcloud:before {
+  content: ""; }
+
+.fa-database:before {
+  content: ""; }
+
+.fa-file-pdf-o:before {
+  content: ""; }
+
+.fa-file-word-o:before {
+  content: ""; }
+
+.fa-file-excel-o:before {
+  content: ""; }
+
+.fa-file-powerpoint-o:before {
+  content: ""; }
+
+.fa-file-photo-o:before,
+.fa-file-picture-o:before,
+.fa-file-image-o:before {
+  content: ""; }
+
+.fa-file-zip-o:before,
+.fa-file-archive-o:before {
+  content: ""; }
+
+.fa-file-sound-o:before,
+.fa-file-audio-o:before {
+  content: ""; }
+
+.fa-file-movie-o:before,
+.fa-file-video-o:before {
+  content: ""; }
+
+.fa-file-code-o:before {
+  content: ""; }
+
+.fa-vine:before {
+  content: ""; }
+
+.fa-codepen:before {
+  content: ""; }
+
+.fa-jsfiddle:before {
+  content: ""; }
+
+.fa-life-bouy:before,
+.fa-life-buoy:before,
+.fa-life-saver:before,
+.fa-support:before,
+.fa-life-ring:before {
+  content: ""; }
+
+.fa-circle-o-notch:before {
+  content: ""; }
+
+.fa-ra:before,
+.fa-resistance:before,
+.fa-rebel:before {
+  content: ""; }
+
+.fa-ge:before,
+.fa-empire:before {
+  content: ""; }
+
+.fa-git-square:before {
+  content: ""; }
+
+.fa-git:before {
+  content: ""; }
+
+.fa-y-combinator-square:before,
+.fa-yc-square:before,
+.fa-hacker-news:before {
+  content: ""; }
+
+.fa-tencent-weibo:before {
+  content: ""; }
+
+.fa-qq:before {
+  content: ""; }
+
+.fa-wechat:before,
+.fa-weixin:before {
+  content: ""; }
+
+.fa-send:before,
+.fa-paper-plane:before {
+  content: ""; }
+
+.fa-send-o:before,
+.fa-paper-plane-o:before {
+  content: ""; }
+
+.fa-history:before {
+  content: ""; }
+
+.fa-circle-thin:before {
+  content: ""; }
+
+.fa-header:before {
+  content: ""; }
+
+.fa-paragraph:before {
+  content: ""; }
+
+.fa-sliders:before {
+  content: ""; }
+
+.fa-share-alt:before {
+  content: ""; }
+
+.fa-share-alt-square:before {
+  content: ""; }
+
+.fa-bomb:before {
+  content: ""; }
+
+.fa-soccer-ball-o:before,
+.fa-futbol-o:before {
+  content: ""; }
+
+.fa-tty:before {
+  content: ""; }
+
+.fa-binoculars:before {
+  content: ""; }
+
+.fa-plug:before {
+  content: ""; }
+
+.fa-slideshare:before {
+  content: ""; }
+
+.fa-twitch:before {
+  content: ""; }
+
+.fa-yelp:before {
+  content: ""; }
+
+.fa-newspaper-o:before {
+  content: ""; }
+
+.fa-wifi:before {
+  content: ""; }
+
+.fa-calculator:before {
+  content: ""; }
+
+.fa-paypal:before {
+  content: ""; }
+
+.fa-google-wallet:before {
+  content: ""; }
+
+.fa-cc-visa:before {
+  content: ""; }
+
+.fa-cc-mastercard:before {
+  content: ""; }
+
+.fa-cc-discover:before {
+  content: ""; }
+
+.fa-cc-amex:before {
+  content: ""; }
+
+.fa-cc-paypal:before {
+  content: ""; }
+
+.fa-cc-stripe:before {
+  content: ""; }
+
+.fa-bell-slash:before {
+  content: ""; }
+
+.fa-bell-slash-o:before {
+  content: ""; }
+
+.fa-trash:before {
+  content: ""; }
+
+.fa-copyright:before {
+  content: ""; }
+
+.fa-at:before {
+  content: ""; }
+
+.fa-eyedropper:before {
+  content: ""; }
+
+.fa-paint-brush:before {
+  content: ""; }
+
+.fa-birthday-cake:before {
+  content: ""; }
+
+.fa-area-chart:before {
+  content: ""; }
+
+.fa-pie-chart:before {
+  content: ""; }
+
+.fa-line-chart:before {
+  content: ""; }
+
+.fa-lastfm:before {
+  content: ""; }
+
+.fa-lastfm-square:before {
+  content: ""; }
+
+.fa-toggle-off:before {
+  content: ""; }
+
+.fa-toggle-on:before {
+  content: ""; }
+
+.fa-bicycle:before {
+  content: ""; }
+
+.fa-bus:before {
+  content: ""; }
+
+.fa-ioxhost:before {
+  content: ""; }
+
+.fa-angellist:before {
+  content: ""; }
+
+.fa-cc:before {
+  content: ""; }
+
+.fa-shekel:before,
+.fa-sheqel:before,
+.fa-ils:before {
+  content: ""; }
+
+.fa-meanpath:before {
+  content: ""; }
+
+.fa-buysellads:before {
+  content: ""; }
+
+.fa-connectdevelop:before {
+  content: ""; }
+
+.fa-dashcube:before {
+  content: ""; }
+
+.fa-forumbee:before {
+  content: ""; }
+
+.fa-leanpub:before {
+  content: ""; }
+
+.fa-sellsy:before {
+  content: ""; }
+
+.fa-shirtsinbulk:before {
+  content: ""; }
+
+.fa-simplybuilt:before {
+  content: ""; }
+
+.fa-skyatlas:before {
+  content: ""; }
+
+.fa-cart-plus:before {
+  content: ""; }
+
+.fa-cart-arrow-down:before {
+  content: ""; }
+
+.fa-diamond:before {
+  content: ""; }
+
+.fa-ship:before {
+  content: ""; }
+
+.fa-user-secret:before {
+  content: ""; }
+
+.fa-motorcycle:before {
+  content: ""; }
+
+.fa-street-view:before {
+  content: ""; }
+
+.fa-heartbeat:before {
+  content: ""; }
+
+.fa-venus:before {
+  content: ""; }
+
+.fa-mars:before {
+  content: ""; }
+
+.fa-mercury:before {
+  content: ""; }
+
+.fa-intersex:before,
+.fa-transgender:before {
+  content: ""; }
+
+.fa-transgender-alt:before {
+  content: ""; }
+
+.fa-venus-double:before {
+  content: ""; }
+
+.fa-mars-double:before {
+  content: ""; }
+
+.fa-venus-mars:before {
+  content: ""; }
+
+.fa-mars-stroke:before {
+  content: ""; }
+
+.fa-mars-stroke-v:before {
+  content: ""; }
+
+.fa-mars-stroke-h:before {
+  content: ""; }
+
+.fa-neuter:before {
+  content: ""; }
+
+.fa-genderless:before {
+  content: ""; }
+
+.fa-facebook-official:before {
+  content: ""; }
+
+.fa-pinterest-p:before {
+  content: ""; }
+
+.fa-whatsapp:before {
+  content: ""; }
+
+.fa-server:before {
+  content: ""; }
+
+.fa-user-plus:before {
+  content: ""; }
+
+.fa-user-times:before {
+  content: ""; }
+
+.fa-hotel:before,
+.fa-bed:before {
+  content: ""; }
+
+.fa-viacoin:before {
+  content: ""; }
+
+.fa-train:before {
+  content: ""; }
+
+.fa-subway:before {
+  content: ""; }
+
+.fa-medium:before {
+  content: ""; }
+
+.fa-yc:before,
+.fa-y-combinator:before {
+  content: ""; }
+
+.fa-optin-monster:before {
+  content: ""; }
+
+.fa-opencart:before {
+  content: ""; }
+
+.fa-expeditedssl:before {
+  content: ""; }
+
+.fa-battery-4:before,
+.fa-battery:before,
+.fa-battery-full:before {
+  content: ""; }
+
+.fa-battery-3:before,
+.fa-battery-three-quarters:before {
+  content: ""; }
+
+.fa-battery-2:before,
+.fa-battery-half:before {
+  content: ""; }
+
+.fa-battery-1:before,
+.fa-battery-quarter:before {
+  content: ""; }
+
+.fa-battery-0:before,
+.fa-battery-empty:before {
+  content: ""; }
+
+.fa-mouse-pointer:before {
+  content: ""; }
+
+.fa-i-cursor:before {
+  content: ""; }
+
+.fa-object-group:before {
+  content: ""; }
+
+.fa-object-ungroup:before {
+  content: ""; }
+
+.fa-sticky-note:before {
+  content: ""; }
+
+.fa-sticky-note-o:before {
+  content: ""; }
+
+.fa-cc-jcb:before {
+  content: ""; }
+
+.fa-cc-diners-club:before {
+  content: ""; }
+
+.fa-clone:before {
+  content: ""; }
+
+.fa-balance-scale:before {
+  content: ""; }
+
+.fa-hourglass-o:before {
+  content: ""; }
+
+.fa-hourglass-1:before,
+.fa-hourglass-start:before {
+  content: ""; }
+
+.fa-hourglass-2:before,
+.fa-hourglass-half:before {
+  content: ""; }
+
+.fa-hourglass-3:before,
+.fa-hourglass-end:before {
+  content: ""; }
+
+.fa-hourglass:before {
+  content: ""; }
+
+.fa-hand-grab-o:before,
+.fa-hand-rock-o:before {
+  content: ""; }
+
+.fa-hand-stop-o:before,
+.fa-hand-paper-o:before {
+  content: ""; }
+
+.fa-hand-scissors-o:before {
+  content: ""; }
+
+.fa-hand-lizard-o:before {
+  content: ""; }
+
+.fa-hand-spock-o:before {
+  content: ""; }
+
+.fa-hand-pointer-o:before {
+  content: ""; }
+
+.fa-hand-peace-o:before {
+  content: ""; }
+
+.fa-trademark:before {
+  content: ""; }
+
+.fa-registered:before {
+  content: ""; }
+
+.fa-creative-commons:before {
+  content: ""; }
+
+.fa-gg:before {
+  content: ""; }
+
+.fa-gg-circle:before {
+  content: ""; }
+
+.fa-tripadvisor:before {
+  content: ""; }
+
+.fa-odnoklassniki:before {
+  content: ""; }
+
+.fa-odnoklassniki-square:before {
+  content: ""; }
+
+.fa-get-pocket:before {
+  content: ""; }
+
+.fa-wikipedia-w:before {
+  content: ""; }
+
+.fa-safari:before {
+  content: ""; }
+
+.fa-chrome:before {
+  content: ""; }
+
+.fa-firefox:before {
+  content: ""; }
+
+.fa-opera:before {
+  content: ""; }
+
+.fa-internet-explorer:before {
+  content: ""; }
+
+.fa-tv:before,
+.fa-television:before {
+  content: ""; }
+
+.fa-contao:before {
+  content: ""; }
+
+.fa-500px:before {
+  content: ""; }
+
+.fa-amazon:before {
+  content: ""; }
+
+.fa-calendar-plus-o:before {
+  content: ""; }
+
+.fa-calendar-minus-o:before {
+  content: ""; }
+
+.fa-calendar-times-o:before {
+  content: ""; }
+
+.fa-calendar-check-o:before {
+  content: ""; }
+
+.fa-industry:before {
+  content: ""; }
+
+.fa-map-pin:before {
+  content: ""; }
+
+.fa-map-signs:before {
+  content: ""; }
+
+.fa-map-o:before {
+  content: ""; }
+
+.fa-map:before {
+  content: ""; }
+
+.fa-commenting:before {
+  content: ""; }
+
+.fa-commenting-o:before {
+  content: ""; }
+
+.fa-houzz:before {
+  content: ""; }
+
+.fa-vimeo:before {
+  content: ""; }
+
+.fa-black-tie:before {
+  content: ""; }
+
+.fa-fonticons:before {
+  content: ""; }
+
+.fa-reddit-alien:before {
+  content: ""; }
+
+.fa-edge:before {
+  content: ""; }
+
+.fa-credit-card-alt:before {
+  content: ""; }
+
+.fa-codiepie:before {
+  content: ""; }
+
+.fa-modx:before {
+  content: ""; }
+
+.fa-fort-awesome:before {
+  content: ""; }
+
+.fa-usb:before {
+  content: ""; }
+
+.fa-product-hunt:before {
+  content: ""; }
+
+.fa-mixcloud:before {
+  content: ""; }
+
+.fa-scribd:before {
+  content: ""; }
+
+.fa-pause-circle:before {
+  content: ""; }
+
+.fa-pause-circle-o:before {
+  content: ""; }
+
+.fa-stop-circle:before {
+  content: ""; }
+
+.fa-stop-circle-o:before {
+  content: ""; }
+
+.fa-shopping-bag:before {
+  content: ""; }
+
+.fa-shopping-basket:before {
+  content: ""; }
+
+.fa-hashtag:before {
+  content: ""; }
+
+.fa-bluetooth:before {
+  content: ""; }
+
+.fa-bluetooth-b:before {
+  content: ""; }
+
+.fa-percent:before {
+  content: ""; }
+
+.fa-gitlab:before {
+  content: ""; }
+
+.fa-wpbeginner:before {
+  content: ""; }
+
+.fa-wpforms:before {
+  content: ""; }
+
+.fa-envira:before {
+  content: ""; }
+
+.fa-universal-access:before {
+  content: ""; }
+
+.fa-wheelchair-alt:before {
+  content: ""; }
+
+.fa-question-circle-o:before {
+  content: ""; }
+
+.fa-blind:before {
+  content: ""; }
+
+.fa-audio-description:before {
+  content: ""; }
+
+.fa-volume-control-phone:before {
+  content: ""; }
+
+.fa-braille:before {
+  content: ""; }
+
+.fa-assistive-listening-systems:before {
+  content: ""; }
+
+.fa-asl-interpreting:before,
+.fa-american-sign-language-interpreting:before {
+  content: ""; }
+
+.fa-deafness:before,
+.fa-hard-of-hearing:before,
+.fa-deaf:before {
+  content: ""; }
+
+.fa-glide:before {
+  content: ""; }
+
+.fa-glide-g:before {
+  content: ""; }
+
+.fa-signing:before,
+.fa-sign-language:before {
+  content: ""; }
+
+.fa-low-vision:before {
+  content: ""; }
+
+.fa-viadeo:before {
+  content: ""; }
+
+.fa-viadeo-square:before {
+  content: ""; }
+
+.fa-snapchat:before {
+  content: ""; }
+
+.fa-snapchat-ghost:before {
+  content: ""; }
+
+.fa-snapchat-square:before {
+  content: ""; }
+
+.fa-pied-piper:before {
+  content: ""; }
+
+.fa-first-order:before {
+  content: ""; }
+
+.fa-yoast:before {
+  content: ""; }
+
+.fa-themeisle:before {
+  content: ""; }
+
+.fa-google-plus-circle:before,
+.fa-google-plus-official:before {
+  content: ""; }
+
+.fa-fa:before,
+.fa-font-awesome:before {
+  content: ""; }
+
+.fa-handshake-o:before {
+  content: ""; }
+
+.fa-envelope-open:before {
+  content: ""; }
+
+.fa-envelope-open-o:before {
+  content: ""; }
+
+.fa-linode:before {
+  content: ""; }
+
+.fa-address-book:before {
+  content: ""; }
+
+.fa-address-book-o:before {
+  content: ""; }
+
+.fa-vcard:before,
+.fa-address-card:before {
+  content: ""; }
+
+.fa-vcard-o:before,
+.fa-address-card-o:before {
+  content: ""; }
+
+.fa-user-circle:before {
+  content: ""; }
+
+.fa-user-circle-o:before {
+  content: ""; }
+
+.fa-user-o:before {
+  content: ""; }
+
+.fa-id-badge:before {
+  content: ""; }
+
+.fa-drivers-license:before,
+.fa-id-card:before {
+  content: ""; }
+
+.fa-drivers-license-o:before,
+.fa-id-card-o:before {
+  content: ""; }
+
+.fa-quora:before {
+  content: ""; }
+
+.fa-free-code-camp:before {
+  content: ""; }
+
+.fa-telegram:before {
+  content: ""; }
+
+.fa-thermometer-4:before,
+.fa-thermometer:before,
+.fa-thermometer-full:before {
+  content: ""; }
+
+.fa-thermometer-3:before,
+.fa-thermometer-three-quarters:before {
+  content: ""; }
+
+.fa-thermometer-2:before,
+.fa-thermometer-half:before {
+  content: ""; }
+
+.fa-thermometer-1:before,
+.fa-thermometer-quarter:before {
+  content: ""; }
+
+.fa-thermometer-0:before,
+.fa-thermometer-empty:before {
+  content: ""; }
+
+.fa-shower:before {
+  content: ""; }
+
+.fa-bathtub:before,
+.fa-s15:before,
+.fa-bath:before {
+  content: ""; }
+
+.fa-podcast:before {
+  content: ""; }
+
+.fa-window-maximize:before {
+  content: ""; }
+
+.fa-window-minimize:before {
+  content: ""; }
+
+.fa-window-restore:before {
+  content: ""; }
+
+.fa-times-rectangle:before,
+.fa-window-close:before {
+  content: ""; }
+
+.fa-times-rectangle-o:before,
+.fa-window-close-o:before {
+  content: ""; }
+
+.fa-bandcamp:before {
+  content: ""; }
+
+.fa-grav:before {
+  content: ""; }
+
+.fa-etsy:before {
+  content: ""; }
+
+.fa-imdb:before {
+  content: ""; }
+
+.fa-ravelry:before {
+  content: ""; }
+
+.fa-eercast:before {
+  content: ""; }
+
+.fa-microchip:before {
+  content: ""; }
+
+.fa-snowflake-o:before {
+  content: ""; }
+
+.fa-superpowers:before {
+  content: ""; }
+
+.fa-wpexplorer:before {
+  content: ""; }
+
+.fa-meetup:before {
+  content: ""; }
+
+.sr-only {
+  position: absolute;
+  width: 1px;
+  height: 1px;
+  padding: 0;
+  margin: -1px;
+  overflow: hidden;
+  clip: rect(0, 0, 0, 0);
+  border: 0; }
+
+.sr-only-focusable:active, .sr-only-focusable:focus {
+  position: static;
+  width: auto;
+  height: auto;
+  margin: 0;
+  overflow: visible;
+  clip: auto; }
+
+/*!
+ * Bootstrap v4.0.0 (https://getbootstrap.com)
+ * Copyright 2011-2018 The Bootstrap Authors
+ * Copyright 2011-2018 Twitter, Inc.
+ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
+ */
+:root {
+  --blue: #1177d1;
+  --indigo: #6610f2;
+  --purple: #613d7c;
+  --pink: #e83e8c;
+  --red: #d9534f;
+  --orange: #f0ad4e;
+  --yellow: #ff7518;
+  --green: #5cb85c;
+  --teal: #20c997;
+  --cyan: #5bc0de;
+  --white: #fff;
+  --gray: #868e96;
+  --gray-dark: #373a3c;
+  --primary: #1177d1;
+  --secondary: #e9ecef;
+  --success: #5cb85c;
+  --info: #5bc0de;
+  --warning: #f0ad4e;
+  --danger: #d9534f;
+  --light: #f8f9fa;
+  --dark: #373a3c;
+  --breakpoint-xs: 0;
+  --breakpoint-sm: 576px;
+  --breakpoint-md: 768px;
+  --breakpoint-lg: 992px;
+  --breakpoint-xl: 1200px;
+  --font-family-sans-serif: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
+  --font-family-monospace: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace; }
+
+*,
+*::before,
+*::after {
+  box-sizing: border-box; }
+
+html {
+  font-family: sans-serif;
+  line-height: 1.15;
+  -webkit-text-size-adjust: 100%;
+  -ms-text-size-adjust: 100%;
+  -ms-overflow-style: scrollbar;
+  -webkit-tap-highlight-color: rgba(0, 0, 0, 0); }
+
+@-ms-viewport {
+  width: device-width; }
+
+article, aside, dialog, figcaption, figure, footer, header, hgroup, main, nav, section {
+  display: block; }
+
+body {
+  margin: 0;
+  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
+  font-size: 0.9375rem;
+  font-weight: 400;
+  line-height: 1.5;
+  color: #373a3c;
+  text-align: left;
+  background-color: #fff; }
+
+[tabindex="-1"]:focus {
+  outline: 0 !important; }
+
+hr {
+  box-sizing: content-box;
+  height: 0;
+  overflow: visible; }
+
+h1, h2, h3, h4, h5, h6 {
+  margin-top: 0;
+  margin-bottom: 0.5rem; }
+
+p {
+  margin-top: 0;
+  margin-bottom: 1rem; }
+
+abbr[title],
+abbr[data-original-title] {
+  text-decoration: underline;
+  text-decoration: underline dotted;
+  cursor: help;
+  border-bottom: 0; }
+
+address {
+  margin-bottom: 1rem;
+  font-style: normal;
+  line-height: inherit; }
+
+ol,
+ul,
+dl {
+  margin-top: 0;
+  margin-bottom: 1rem; }
+
+ol ol,
+ul ul,
+ol ul,
+ul ol {
+  margin-bottom: 0; }
+
+dt {
+  font-weight: 700; }
+
+dd {
+  margin-bottom: .5rem;
+  margin-left: 0; }
+
+blockquote {
+  margin: 0 0 1rem; }
+
+dfn {
+  font-style: italic; }
+
+b,
+strong {
+  font-weight: bolder; }
+
+small {
+  font-size: 80%; }
+
+sub,
+sup {
+  position: relative;
+  font-size: 75%;
+  line-height: 0;
+  vertical-align: baseline; }
+
+sub {
+  bottom: -.25em; }
+
+sup {
+  top: -.5em; }
+
+a {
+  color: #1177d1;
+  text-decoration: none;
+  background-color: transparent;
+  -webkit-text-decoration-skip: objects; }
+  a:hover {
+    color: #0b4f8a;
+    text-decoration: underline; }
+
+a:not([href]):not([tabindex]) {
+  color: inherit;
+  text-decoration: none; }
+  a:not([href]):not([tabindex]):hover, a:not([href]):not([tabindex]):focus {
+    color: inherit;
+    text-decoration: none; }
+  a:not([href]):not([tabindex]):focus {
+    outline: 0; }
+
+pre,
+code,
+kbd,
+samp {
+  font-family: monospace, monospace;
+  font-size: 1em; }
+
+pre {
+  margin-top: 0;
+  margin-bottom: 1rem;
+  overflow: auto;
+  -ms-overflow-style: scrollbar; }
+
+figure {
+  margin: 0 0 1rem; }
+
+img {
+  vertical-align: middle;
+  border-style: none; }
+
+svg:not(:root) {
+  overflow: hidden; }
+
+table {
+  border-collapse: collapse; }
+
+caption {
+  padding-top: 0.75rem;
+  padding-bottom: 0.75rem;
+  color: #868e96;
+  text-align: left;
+  caption-side: bottom; }
+
+th {
+  text-align: inherit; }
+
+label {
+  display: inline-block;
+  margin-bottom: .5rem; }
+
+button {
+  border-radius: 0; }
+
+button:focus {
+  outline: 1px dotted;
+  outline: 5px auto -webkit-focus-ring-color; }
+
+input,
+button,
+select,
+optgroup,
+textarea {
+  margin: 0;
+  font-family: inherit;
+  font-size: inherit;
+  line-height: inherit; }
+
+button,
+input {
+  overflow: visible; }
+
+button,
+select {
+  text-transform: none; }
+
+button,
+html [type="button"],
+[type="reset"],
+[type="submit"] {
+  -webkit-appearance: button; }
+
+button::-moz-focus-inner,
+[type="button"]::-moz-focus-inner,
+[type="reset"]::-moz-focus-inner,
+[type="submit"]::-moz-focus-inner {
+  padding: 0;
+  border-style: none; }
+
+input[type="radio"],
+input[type="checkbox"] {
+  box-sizing: border-box;
+  padding: 0; }
+
+input[type="date"],
+input[type="time"],
+input[type="datetime-local"],
+input[type="month"] {
+  -webkit-appearance: listbox; }
+
+textarea {
+  overflow: auto;
+  resize: vertical; }
+
+fieldset {
+  min-width: 0;
+  padding: 0;
+  margin: 0;
+  border: 0; }
+
+legend {
+  display: block;
+  width: 100%;
+  max-width: 100%;
+  padding: 0;
+  margin-bottom: .5rem;
+  font-size: 1.5rem;
+  line-height: inherit;
+  color: inherit;
+  white-space: normal; }
+
+progress {
+  vertical-align: baseline; }
+
+[type="number"]::-webkit-inner-spin-button,
+[type="number"]::-webkit-outer-spin-button {
+  height: auto; }
+
+[type="search"] {
+  outline-offset: -2px;
+  -webkit-appearance: none; }
+
+[type="search"]::-webkit-search-cancel-button,
+[type="search"]::-webkit-search-decoration {
+  -webkit-appearance: none; }
+
+::-webkit-file-upload-button {
+  font: inherit;
+  -webkit-appearance: button; }
+
+output {
+  display: inline-block; }
+
+summary {
+  display: list-item;
+  cursor: pointer; }
+
+template {
+  display: none; }
+
+[hidden] {
+  display: none !important; }
+
+h1, h2, h3, h4, h5, h6,
+.h1, .h2, .path-calendar .maincalendar .calendar-controls .current, .h3, .h4, .h5, .h6 {
+  margin-bottom: 0.5rem;
+  font-family: inherit;
+  font-weight: 300;
+  line-height: 1.2;
+  color: inherit; }
+
+h1, .h1 {
+  font-size: 2.34375rem; }
+
+h2, .h2, .path-calendar .maincalendar .calendar-controls .current {
+  font-size: 1.875rem; }
+
+h3, .h3 {
+  font-size: 1.640625rem; }
+
+h4, .h4 {
+  font-size: 1.40625rem; }
+
+h5, .h5 {
+  font-size: 1.171875rem; }
+
+h6, .h6 {
+  font-size: 0.9375rem; }
+
+.lead, .userprofile .profile_tree section h3 {
+  font-size: 1.171875rem;
+  font-weight: 300; }
+
+.display-1 {
+  font-size: 6rem;
+  font-weight: 300;
+  line-height: 1.2; }
+
+.display-2 {
+  font-size: 5.5rem;
+  font-weight: 300;
+  line-height: 1.2; }
+
+.display-3 {
+  font-size: 4.5rem;
+  font-weight: 300;
+  line-height: 1.2; }
+
+.display-4 {
+  font-size: 3.5rem;
+  font-weight: 300;
+  line-height: 1.2; }
+
+hr {
+  margin-top: 1rem;
+  margin-bottom: 1rem;
+  border: 0;
+  border-top: 1px solid rgba(0, 0, 0, 0.1); }
+
+small,
+.small,
+#page-admin-search .adminpagepath li {
+  font-size: 80%;
+  font-weight: 400; }
+
+mark,
+.mark {
+  padding: 0.2em;
+  background-color: #fcf8e3; }
+
+.list-unstyled {
+  padding-left: 0;
+  list-style: none; }
+
+.list-inline {
+  padding-left: 0;
+  list-style: none; }
+
+.list-inline-item {
+  display: inline-block; }
+  .list-inline-item:not(:last-child) {
+    margin-right: 0.5rem; }
+
+.initialism {
+  font-size: 90%;
+  text-transform: uppercase; }
+
+.blockquote {
+  margin-bottom: 1rem;
+  font-size: 1.171875rem; }
+
+.blockquote-footer {
+  display: block;
+  font-size: 80%;
+  color: #868e96; }
+  .blockquote-footer::before {
+    content: "\2014 \00A0"; }
+
+.img-fluid, .img-responsive {
+  max-width: 100%;
+  height: auto; }
+
+.img-thumbnail {
+  padding: 0.25rem;
+  background-color: #fff;
+  border: 1px solid #dee2e6;
+  border-radius: 0.25rem;
+  max-width: 100%;
+  height: auto; }
+
+.figure {
+  display: inline-block; }
+
+.figure-img {
+  margin-bottom: 0.5rem;
+  line-height: 1; }
+
+.figure-caption {
+  font-size: 90%;
+  color: #868e96; }
+
+code,
+kbd,
+pre,
+samp {
+  font-family: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace; }
+
+code {
+  font-size: 87.5%;
+  color: #e83e8c;
+  word-break: break-word; }
+  a > code {
+    color: inherit; }
+
+kbd {
+  padding: 0.2rem 0.4rem;
+  font-size: 87.5%;
+  color: #fff;
+  background-color: #212529;
+  border-radius: 0.2rem; }
+  kbd kbd {
+    padding: 0;
+    font-size: 100%;
+    font-weight: 700; }
+
+pre {
+  display: block;
+  font-size: 87.5%;
+  color: #212529; }
+  pre code {
+    font-size: inherit;
+    color: inherit;
+    word-break: normal; }
+
+.pre-scrollable {
+  max-height: 340px;
+  overflow-y: scroll; }
+
+.container {
+  width: 100%;
+  padding-right: 15px;
+  padding-left: 15px;
+  margin-right: auto;
+  margin-left: auto; }
+  @media (min-width: 576px) {
+    .container {
+      max-width: 540px; } }
+  @media (min-width: 768px) {
+    .container {
+      max-width: 720px; } }
+  @media (min-width: 992px) {
+    .container {
+      max-width: 960px; } }
+  @media (min-width: 1200px) {
+    .container {
+      max-width: 1140px; } }
+
+.container-fluid {
+  width: 100%;
+  padding-right: 15px;
+  padding-left: 15px;
+  margin-right: auto;
+  margin-left: auto; }
+
+.row {
+  display: flex;
+  flex-wrap: wrap;
+  margin-right: -15px;
+  margin-left: -15px; }
+
+.no-gutters {
+  margin-right: 0;
+  margin-left: 0; }
+  .no-gutters > .col,
+  .no-gutters > [class*="col-"] {
+    padding-right: 0;
+    padding-left: 0; }
+
+.col-1, .col-xs-1, .col-2, .col-xs-2, .col-3, .col-xs-3, .col-4, .col-xs-4, .col-5, .col-xs-5, .col-6, .col-xs-6, .col-7, .col-xs-7, .col-8, .col-xs-8, .col-9, .col-xs-9, .col-10, .col-xs-10, .col-11, .col-xs-11, .col-12, .col-xs-12, .col,
+.col-auto, .col-sm-1, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11, .col-sm-12, .col-sm,
+.col-sm-auto, .col-md-1, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11, .col-md-12, .col-md,
+.col-md-auto, .col-lg-1, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-10, .col-lg-11, .col-lg-12, .col-lg,
+.col-lg-auto, .col-xl-1, .col-xl-2, .col-xl-3, .col-xl-4, .col-xl-5, .col-xl-6, .col-xl-7, .col-xl-8, .col-xl-9, .col-xl-10, .col-xl-11, .col-xl-12, .col-xl,
+.col-xl-auto {
+  position: relative;
+  width: 100%;
+  min-height: 1px;
+  padding-right: 15px;
+  padding-left: 15px; }
+
+.col {
+  flex-basis: 0;
+  flex-grow: 1;
+  max-width: 100%; }
+
+.col-auto {
+  flex: 0 0 auto;
+  width: auto;
+  max-width: none; }
+
+.col-1, .col-xs-1 {
+  flex: 0 0 8.3333333333%;
+  max-width: 8.3333333333%; }
+
+.col-2, .col-xs-2 {
+  flex: 0 0 16.6666666667%;
+  max-width: 16.6666666667%; }
+
+.col-3, .col-xs-3 {
+  flex: 0 0 25%;
+  max-width: 25%; }
+
+.col-4, .col-xs-4 {
+  flex: 0 0 33.3333333333%;
+  max-width: 33.3333333333%; }
+
+.col-5, .col-xs-5 {
+  flex: 0 0 41.6666666667%;
+  max-width: 41.6666666667%; }
+
+.col-6, .col-xs-6 {
+  flex: 0 0 50%;
+  max-width: 50%; }
+
+.col-7, .col-xs-7 {
+  flex: 0 0 58.3333333333%;
+  max-width: 58.3333333333%; }
+
+.col-8, .col-xs-8 {
+  flex: 0 0 66.6666666667%;
+  max-width: 66.6666666667%; }
+
+.col-9, .col-xs-9 {
+  flex: 0 0 75%;
+  max-width: 75%; }
+
+.col-10, .col-xs-10 {
+  flex: 0 0 83.3333333333%;
+  max-width: 83.3333333333%; }
+
+.col-11, .col-xs-11 {
+  flex: 0 0 91.6666666667%;
+  max-width: 91.6666666667%; }
+
+.col-12, .col-xs-12 {
+  flex: 0 0 100%;
+  max-width: 100%; }
+
+.order-first {
+  order: -1; }
+
+.order-last {
+  order: 13; }
+
+.order-0 {
+  order: 0; }
+
+.order-1 {
+  order: 1; }
+
+.order-2 {
+  order: 2; }
+
+.order-3 {
+  order: 3; }
+
+.order-4 {
+  order: 4; }
+
+.order-5 {
+  order: 5; }
+
+.order-6 {
+  order: 6; }
+
+.order-7 {
+  order: 7; }
+
+.order-8 {
+  order: 8; }
+
+.order-9 {
+  order: 9; }
+
+.order-10 {
+  order: 10; }
+
+.order-11 {
+  order: 11; }
+
+.order-12 {
+  order: 12; }
+
+.offset-1 {
+  margin-left: 8.3333333333%; }
+
+.offset-2 {
+  margin-left: 16.6666666667%; }
+
+.offset-3 {
+  margin-left: 25%; }
+
+.offset-4 {
+  margin-left: 33.3333333333%; }
+
+.offset-5 {
+  margin-left: 41.6666666667%; }
+
+.offset-6 {
+  margin-left: 50%; }
+
+.offset-7 {
+  margin-left: 58.3333333333%; }
+
+.offset-8 {
+  margin-left: 66.6666666667%; }
+
+.offset-9 {
+  margin-left: 75%; }
+
+.offset-10 {
+  margin-left: 83.3333333333%; }
+
+.offset-11 {
+  margin-left: 91.6666666667%; }
+
+@media (min-width: 576px) {
+  .col-sm {
+    flex-basis: 0;
+    flex-grow: 1;
+    max-width: 100%; }
+  .col-sm-auto {
+    flex: 0 0 auto;
+    width: auto;
+    max-width: none; }
+  .col-sm-1 {
+    flex: 0 0 8.3333333333%;
+    max-width: 8.3333333333%; }
+  .col-sm-2 {
+    flex: 0 0 16.6666666667%;
+    max-width: 16.6666666667%; }
+  .col-sm-3 {
+    flex: 0 0 25%;
+    max-width: 25%; }
+  .col-sm-4 {
+    flex: 0 0 33.3333333333%;
+    max-width: 33.3333333333%; }
+  .col-sm-5 {
+    flex: 0 0 41.6666666667%;
+    max-width: 41.6666666667%; }
+  .col-sm-6 {
+    flex: 0 0 50%;
+    max-width: 50%; }
+  .col-sm-7 {
+    flex: 0 0 58.3333333333%;
+    max-width: 58.3333333333%; }
+  .col-sm-8 {
+    flex: 0 0 66.6666666667%;
+    max-width: 66.6666666667%; }
+  .col-sm-9 {
+    flex: 0 0 75%;
+    max-width: 75%; }
+  .col-sm-10 {
+    flex: 0 0 83.3333333333%;
+    max-width: 83.3333333333%; }
+  .col-sm-11 {
+    flex: 0 0 91.6666666667%;
+    max-width: 91.6666666667%; }
+  .col-sm-12 {
+    flex: 0 0 100%;
+    max-width: 100%; }
+  .order-sm-first {
+    order: -1; }
+  .order-sm-last {
+    order: 13; }
+  .order-sm-0 {
+    order: 0; }
+  .order-sm-1 {
+    order: 1; }
+  .order-sm-2 {
+    order: 2; }
+  .order-sm-3 {
+    order: 3; }
+  .order-sm-4 {
+    order: 4; }
+  .order-sm-5 {
+    order: 5; }
+  .order-sm-6 {
+    order: 6; }
+  .order-sm-7 {
+    order: 7; }
+  .order-sm-8 {
+    order: 8; }
+  .order-sm-9 {
+    order: 9; }
+  .order-sm-10 {
+    order: 10; }
+  .order-sm-11 {
+    order: 11; }
+  .order-sm-12 {
+    order: 12; }
+  .offset-sm-0 {
+    margin-left: 0; }
+  .offset-sm-1 {
+    margin-left: 8.3333333333%; }
+  .offset-sm-2 {
+    margin-left: 16.6666666667%; }
+  .offset-sm-3 {
+    margin-left: 25%; }
+  .offset-sm-4 {
+    margin-left: 33.3333333333%; }
+  .offset-sm-5 {
+    margin-left: 41.6666666667%; }
+  .offset-sm-6 {
+    margin-left: 50%; }
+  .offset-sm-7 {
+    margin-left: 58.3333333333%; }
+  .offset-sm-8 {
+    margin-left: 66.6666666667%; }
+  .offset-sm-9 {
+    margin-left: 75%; }
+  .offset-sm-10 {
+    margin-left: 83.3333333333%; }
+  .offset-sm-11 {
+    margin-left: 91.6666666667%; } }
+
+@media (min-width: 768px) {
+  .col-md {
+    flex-basis: 0;
+    flex-grow: 1;
+    max-width: 100%; }
+  .col-md-auto {
+    flex: 0 0 auto;
+    width: auto;
+    max-width: none; }
+  .col-md-1 {
+    flex: 0 0 8.3333333333%;
+    max-width: 8.3333333333%; }
+  .col-md-2 {
+    flex: 0 0 16.6666666667%;
+    max-width: 16.6666666667%; }
+  .col-md-3 {
+    flex: 0 0 25%;
+    max-width: 25%; }
+  .col-md-4 {
+    flex: 0 0 33.3333333333%;
+    max-width: 33.3333333333%; }
+  .col-md-5 {
+    flex: 0 0 41.6666666667%;
+    max-width: 41.6666666667%; }
+  .col-md-6 {
+    flex: 0 0 50%;
+    max-width: 50%; }
+  .col-md-7 {
+    flex: 0 0 58.3333333333%;
+    max-width: 58.3333333333%; }
+  .col-md-8 {
+    flex: 0 0 66.6666666667%;
+    max-width: 66.6666666667%; }
+  .col-md-9 {
+    flex: 0 0 75%;
+    max-width: 75%; }
+  .col-md-10 {
+    flex: 0 0 83.3333333333%;
+    max-width: 83.3333333333%; }
+  .col-md-11 {
+    flex: 0 0 91.6666666667%;
+    max-width: 91.6666666667%; }
+  .col-md-12 {
+    flex: 0 0 100%;
+    max-width: 100%; }
+  .order-md-first {
+    order: -1; }
+  .order-md-last {
+    order: 13; }
+  .order-md-0 {
+    order: 0; }
+  .order-md-1 {
+    order: 1; }
+  .order-md-2 {
+    order: 2; }
+  .order-md-3 {
+    order: 3; }
+  .order-md-4 {
+    order: 4; }
+  .order-md-5 {
+    order: 5; }
+  .order-md-6 {
+    order: 6; }
+  .order-md-7 {
+    order: 7; }
+  .order-md-8 {
+    order: 8; }
+  .order-md-9 {
+    order: 9; }
+  .order-md-10 {
+    order: 10; }
+  .order-md-11 {
+    order: 11; }
+  .order-md-12 {
+    order: 12; }
+  .offset-md-0 {
+    margin-left: 0; }
+  .offset-md-1 {
+    margin-left: 8.3333333333%; }
+  .offset-md-2 {
+    margin-left: 16.6666666667%; }
+  .offset-md-3 {
+    margin-left: 25%; }
+  .offset-md-4 {
+    margin-left: 33.3333333333%; }
+  .offset-md-5 {
+    margin-left: 41.6666666667%; }
+  .offset-md-6 {
+    margin-left: 50%; }
+  .offset-md-7 {
+    margin-left: 58.3333333333%; }
+  .offset-md-8 {
+    margin-left: 66.6666666667%; }
+  .offset-md-9 {
+    margin-left: 75%; }
+  .offset-md-10 {
+    margin-left: 83.3333333333%; }
+  .offset-md-11 {
+    margin-left: 91.6666666667%; } }
+
+@media (min-width: 992px) {
+  .col-lg {
+    flex-basis: 0;
+    flex-grow: 1;
+    max-width: 100%; }
+  .col-lg-auto {
+    flex: 0 0 auto;
+    width: auto;
+    max-width: none; }
+  .col-lg-1 {
+    flex: 0 0 8.3333333333%;
+    max-width: 8.3333333333%; }
+  .col-lg-2 {
+    flex: 0 0 16.6666666667%;
+    max-width: 16.6666666667%; }
+  .col-lg-3 {
+    flex: 0 0 25%;
+    max-width: 25%; }
+  .col-lg-4 {
+    flex: 0 0 33.3333333333%;
+    max-width: 33.3333333333%; }
+  .col-lg-5 {
+    flex: 0 0 41.6666666667%;
+    max-width: 41.6666666667%; }
+  .col-lg-6 {
+    flex: 0 0 50%;
+    max-width: 50%; }
+  .col-lg-7 {
+    flex: 0 0 58.3333333333%;
+    max-width: 58.3333333333%; }
+  .col-lg-8 {
+    flex: 0 0 66.6666666667%;
+    max-width: 66.6666666667%; }
+  .col-lg-9 {
+    flex: 0 0 75%;
+    max-width: 75%; }
+  .col-lg-10 {
+    flex: 0 0 83.3333333333%;
+    max-width: 83.3333333333%; }
+  .col-lg-11 {
+    flex: 0 0 91.6666666667%;
+    max-width: 91.6666666667%; }
+  .col-lg-12 {
+    flex: 0 0 100%;
+    max-width: 100%; }
+  .order-lg-first {
+    order: -1; }
+  .order-lg-last {
+    order: 13; }
+  .order-lg-0 {
+    order: 0; }
+  .order-lg-1 {
+    order: 1; }
+  .order-lg-2 {
+    order: 2; }
+  .order-lg-3 {
+    order: 3; }
+  .order-lg-4 {
+    order: 4; }
+  .order-lg-5 {
+    order: 5; }
+  .order-lg-6 {
+    order: 6; }
+  .order-lg-7 {
+    order: 7; }
+  .order-lg-8 {
+    order: 8; }
+  .order-lg-9 {
+    order: 9; }
+  .order-lg-10 {
+    order: 10; }
+  .order-lg-11 {
+    order: 11; }
+  .order-lg-12 {
+    order: 12; }
+  .offset-lg-0 {
+    margin-left: 0; }
+  .offset-lg-1 {
+    margin-left: 8.3333333333%; }
+  .offset-lg-2 {
+    margin-left: 16.6666666667%; }
+  .offset-lg-3 {
+    margin-left: 25%; }
+  .offset-lg-4 {
+    margin-left: 33.3333333333%; }
+  .offset-lg-5 {
+    margin-left: 41.6666666667%; }
+  .offset-lg-6 {
+    margin-left: 50%; }
+  .offset-lg-7 {
+    margin-left: 58.3333333333%; }
+  .offset-lg-8 {
+    margin-left: 66.6666666667%; }
+  .offset-lg-9 {
+    margin-left: 75%; }
+  .offset-lg-10 {
+    margin-left: 83.3333333333%; }
+  .offset-lg-11 {
+    margin-left: 91.6666666667%; } }
+
+@media (min-width: 1200px) {
+  .col-xl {
+    flex-basis: 0;
+    flex-grow: 1;
+    max-width: 100%; }
+  .col-xl-auto {
+    flex: 0 0 auto;
+    width: auto;
+    max-width: none; }
+  .col-xl-1 {
+    flex: 0 0 8.3333333333%;
+    max-width: 8.3333333333%; }
+  .col-xl-2 {
+    flex: 0 0 16.6666666667%;
+    max-width: 16.6666666667%; }
+  .col-xl-3 {
+    flex: 0 0 25%;
+    max-width: 25%; }
+  .col-xl-4 {
+    flex: 0 0 33.3333333333%;
+    max-width: 33.3333333333%; }
+  .col-xl-5 {
+    flex: 0 0 41.6666666667%;
+    max-width: 41.6666666667%; }
+  .col-xl-6 {
+    flex: 0 0 50%;
+    max-width: 50%; }
+  .col-xl-7 {
+    flex: 0 0 58.3333333333%;
+    max-width: 58.3333333333%; }
+  .col-xl-8 {
+    flex: 0 0 66.6666666667%;
+    max-width: 66.6666666667%; }
+  .col-xl-9 {
+    flex: 0 0 75%;
+    max-width: 75%; }
+  .col-xl-10 {
+    flex: 0 0 83.3333333333%;
+    max-width: 83.3333333333%; }
+  .col-xl-11 {
+    flex: 0 0 91.6666666667%;
+    max-width: 91.6666666667%; }
+  .col-xl-12 {
+    flex: 0 0 100%;
+    max-width: 100%; }
+  .order-xl-first {
+    order: -1; }
+  .order-xl-last {
+    order: 13; }
+  .order-xl-0 {
+    order: 0; }
+  .order-xl-1 {
+    order: 1; }
+  .order-xl-2 {
+    order: 2; }
+  .order-xl-3 {
+    order: 3; }
+  .order-xl-4 {
+    order: 4; }
+  .order-xl-5 {
+    order: 5; }
+  .order-xl-6 {
+    order: 6; }
+  .order-xl-7 {
+    order: 7; }
+  .order-xl-8 {
+    order: 8; }
+  .order-xl-9 {
+    order: 9; }
+  .order-xl-10 {
+    order: 10; }
+  .order-xl-11 {
+    order: 11; }
+  .order-xl-12 {
+    order: 12; }
+  .offset-xl-0 {
+    margin-left: 0; }
+  .offset-xl-1 {
+    margin-left: 8.3333333333%; }
+  .offset-xl-2 {
+    margin-left: 16.6666666667%; }
+  .offset-xl-3 {
+    margin-left: 25%; }
+  .offset-xl-4 {
+    margin-left: 33.3333333333%; }
+  .offset-xl-5 {
+    margin-left: 41.6666666667%; }
+  .offset-xl-6 {
+    margin-left: 50%; }
+  .offset-xl-7 {
+    margin-left: 58.3333333333%; }
+  .offset-xl-8 {
+    margin-left: 66.6666666667%; }
+  .offset-xl-9 {
+    margin-left: 75%; }
+  .offset-xl-10 {
+    margin-left: 83.3333333333%; }
+  .offset-xl-11 {
+    margin-left: 91.6666666667%; } }
+
+.table, table.collection, table.flexible,
+.generaltable {
+  width: 100%;
+  max-width: 100%;
+  margin-bottom: 1rem;
+  background-color: transparent; }
+  .table th, table.collection th, table.flexible th, .generaltable th,
+  .table td,
+  table.collection td,
+  table.flexible td,
+  .generaltable td {
+    padding: 0.75rem;
+    vertical-align: top;
+    border-top: 1px solid #dee2e6; }
+  .table thead th, table.collection thead th, table.flexible thead th, .generaltable thead th {
+    vertical-align: bottom;
+    border-bottom: 2px solid #dee2e6; }
+  .table tbody + tbody, table.collection tbody + tbody, table.flexible tbody + tbody, .generaltable tbody + tbody {
+    border-top: 2px solid #dee2e6; }
+  .table .table, table.collection .table, table.flexible .table, .generaltable .table, .table table.collection, table.collection table.collection, table.flexible table.collection, .generaltable table.collection, .table table.flexible, table.collection table.flexible, table.flexible table.flexible, .generaltable table.flexible,
+  .table .generaltable,
+  table.collection .generaltable,
+  table.flexible .generaltable,
+  .generaltable .generaltable {
+    background-color: #fff; }
+
+.table-sm th, #page-report-loglive-index .generaltable th, #page-admin-report-log-index .generaltable th, #page-report-log-user .generaltable th, #page-admin-user table th, .environmenttable th, .category_subcategories th, .rcs-results th, table#listdirectories th,
+.table-sm td,
+#page-report-loglive-index .generaltable td,
+#page-admin-report-log-index .generaltable td,
+#page-report-log-user .generaltable td,
+#page-admin-user table td,
+.environmenttable td,
+.category_subcategories td,
+.rcs-results td,
+table#listdirectories td {
+  padding: 0.3rem; }
+
+.table-bordered, table.collection {
+  border: 1px solid #dee2e6; }
+  .table-bordered th, table.collection th,
+  .table-bordered td,
+  table.collection td {
+    border: 1px solid #dee2e6; }
+  .table-bordered thead th, table.collection thead th,
+  .table-bordered thead td,
+  table.collection thead td {
+    border-bottom-width: 2px; }
+
+.table-striped tbody tr:nth-of-type(odd), table.collection tbody tr:nth-of-type(odd), table#explaincaps tbody tr:nth-of-type(odd), table#defineroletable tbody tr:nth-of-type(odd), table.grading-report tbody tr:nth-of-type(odd), table#listdirectories tbody tr:nth-of-type(odd), table.rolecaps tbody tr:nth-of-type(odd), table.userenrolment tbody tr:nth-of-type(odd), form#movecourses table tbody tr:nth-of-type(odd), #page-admin-course-index .editcourse tbody tr:nth-of-type(odd), .forumheaderlist tbody tr:nth-of-type(odd), table.flexible tbody tr:nth-of-type(odd), .generaltable tbody tr:nth-of-type(odd) {
+  background-color: rgba(0, 0, 0, 0.05); }
+
+.table-hover tbody tr:hover, table.grading-report tbody tr:hover, .forumheaderlist tbody tr:hover, .generaltable tbody tr:hover, table.flexible tbody tr:hover, .category_subcategories tbody tr:hover, table#modules tbody tr:hover, table#permissions tbody tr:hover {
+  background-color: rgba(0, 0, 0, 0.075); }
+
+.table-primary,
+.table-primary > th,
+.table-primary > td {
+  background-color: #bcd9f2; }
+
+.table-hover .table-primary:hover, table.grading-report .table-primary:hover, .forumheaderlist .table-primary:hover, .generaltable .table-primary:hover, table.flexible .table-primary:hover, .category_subcategories .table-primary:hover, table#modules .table-primary:hover, table#permissions .table-primary:hover {
+  background-color: #a7cdee; }
+  .table-hover .table-primary:hover > td, table.grading-report .table-primary:hover > td, .forumheaderlist .table-primary:hover > td, .generaltable .table-primary:hover > td, table.flexible .table-primary:hover > td, .category_subcategories .table-primary:hover > td, table#modules .table-primary:hover > td, table#permissions .table-primary:hover > td,
+  .table-hover .table-primary:hover > th,
+  table.grading-report .table-primary:hover > th,
+  .forumheaderlist .table-primary:hover > th,
+  .generaltable .table-primary:hover > th,
+  table.flexible .table-primary:hover > th,
+  .category_subcategories .table-primary:hover > th,
+  table#modules .table-primary:hover > th,
+  table#permissions .table-primary:hover > th {
+    background-color: #a7cdee; }
+
+.table-secondary,
+.table-secondary > th,
+.table-secondary > td {
+  background-color: #f9fafb; }
+
+.table-hover .table-secondary:hover, table.grading-report .table-secondary:hover, .forumheaderlist .table-secondary:hover, .generaltable .table-secondary:hover, table.flexible .table-secondary:hover, .category_subcategories .table-secondary:hover, table#modules .table-secondary:hover, table#permissions .table-secondary:hover {
+  background-color: #eaedf1; }
+  .table-hover .table-secondary:hover > td, table.grading-report .table-secondary:hover > td, .forumheaderlist .table-secondary:hover > td, .generaltable .table-secondary:hover > td, table.flexible .table-secondary:hover > td, .category_subcategories .table-secondary:hover > td, table#modules .table-secondary:hover > td, table#permissions .table-secondary:hover > td,
+  .table-hover .table-secondary:hover > th,
+  table.grading-report .table-secondary:hover > th,
+  .forumheaderlist .table-secondary:hover > th,
+  .generaltable .table-secondary:hover > th,
+  table.flexible .table-secondary:hover > th,
+  .category_subcategories .table-secondary:hover > th,
+  table#modules .table-secondary:hover > th,
+  table#permissions .table-secondary:hover > th {
+    background-color: #eaedf1; }
+
+.table-success,
+.table-success > th,
+.table-success > td {
+  background-color: #d1ebd1; }
+
+.table-hover .table-success:hover, table.grading-report .table-success:hover, .forumheaderlist .table-success:hover, .generaltable .table-success:hover, table.flexible .table-success:hover, .category_subcategories .table-success:hover, table#modules .table-success:hover, table#permissions .table-success:hover {
+  background-color: #bfe3bf; }
+  .table-hover .table-success:hover > td, table.grading-report .table-success:hover > td, .forumheaderlist .table-success:hover > td, .generaltable .table-success:hover > td, table.flexible .table-success:hover > td, .category_subcategories .table-success:hover > td, table#modules .table-success:hover > td, table#permissions .table-success:hover > td,
+  .table-hover .table-success:hover > th,
+  table.grading-report .table-success:hover > th,
+  .forumheaderlist .table-success:hover > th,
+  .generaltable .table-success:hover > th,
+  table.flexible .table-success:hover > th,
+  .category_subcategories .table-success:hover > th,
+  table#modules .table-success:hover > th,
+  table#permissions .table-success:hover > th {
+    background-color: #bfe3bf; }
+
+.table-info,
+.table-info > th,
+.table-info > td {
+  background-color: #d1edf6; }
+
+.table-hover .table-info:hover, table.grading-report .table-info:hover, .forumheaderlist .table-info:hover, .generaltable .table-info:hover, table.flexible .table-info:hover, .category_subcategories .table-info:hover, table#modules .table-info:hover, table#permissions .table-info:hover {
+  background-color: #bce5f2; }
+  .table-hover .table-info:hover > td, table.grading-report .table-info:hover > td, .forumheaderlist .table-info:hover > td, .generaltable .table-info:hover > td, table.flexible .table-info:hover > td, .category_subcategories .table-info:hover > td, table#modules .table-info:hover > td, table#permissions .table-info:hover > td,
+  .table-hover .table-info:hover > th,
+  table.grading-report .table-info:hover > th,
+  .forumheaderlist .table-info:hover > th,
+  .generaltable .table-info:hover > th,
+  table.flexible .table-info:hover > th,
+  .category_subcategories .table-info:hover > th,
+  table#modules .table-info:hover > th,
+  table#permissions .table-info:hover > th {
+    background-color: #bce5f2; }
+
+.table-warning, #overriderolestable .overriddenpermission,
+.table-warning > th,
+#overriderolestable .overriddenpermission > th,
+.table-warning > td,
+#overriderolestable .overriddenpermission > td {
+  background-color: #fbe8cd; }
+
+.table-hover .table-warning:hover, table.grading-report .table-warning:hover, .forumheaderlist .table-warning:hover, .generaltable .table-warning:hover, table.flexible .table-warning:hover, .category_subcategories .table-warning:hover, table#modules .table-warning:hover, table#permissions .table-warning:hover, .table-hover #overriderolestable .overriddenpermission:hover, #overriderolestable .table-hover .overriddenpermission:hover, table.grading-report #overriderolestable .overriddenpermission:hover, #overriderolestable table.grading-report .overriddenpermission:hover, .forumheaderlist #overriderolestable .overriddenpermission:hover, #overriderolestable .forumheaderlist .overriddenpermission:hover, .generaltable #overriderolestable .overriddenpermission:hover, #overriderolestable .generaltable .overriddenpermission:hover, table.flexible #overriderolestable .overriddenpermission:hover, #overriderolestable table.flexible .overriddenpermission:hover, .category_subcategories #overriderolestable .overriddenpermission:hover, #overriderolestable .category_subcategories .overriddenpermission:hover, table#modules #overriderolestable .overriddenpermission:hover, #overriderolestable table#modules .overriddenpermission:hover, table#permissions #overriderolestable .overriddenpermission:hover, #overriderolestable table#permissions .overriddenpermission:hover {
+  background-color: #f9ddb5; }
+  .table-hover .table-warning:hover > td, table.grading-report .table-warning:hover > td, .forumheaderlist .table-warning:hover > td, .generaltable .table-warning:hover > td, table.flexible .table-warning:hover > td, .category_subcategories .table-warning:hover > td, table#modules .table-warning:hover > td, table#permissions .table-warning:hover > td, .table-hover #overriderolestable .overriddenpermission:hover > td, #overriderolestable .table-hover .overriddenpermission:hover > td, table.grading-report #overriderolestable .overriddenpermission:hover > td, #overriderolestable table.grading-report .overriddenpermission:hover > td, .forumheaderlist #overriderolestable .overriddenpermission:hover > td, #overriderolestable .forumheaderlist .overriddenpermission:hover > td, .generaltable #overriderolestable .overriddenpermission:hover > td, #overriderolestable .generaltable .overriddenpermission:hover > td, table.flexible #overriderolestable .overriddenpermission:hover > td, #overriderolestable table.flexible .overriddenpermission:hover > td, .category_subcategories #overriderolestable .overriddenpermission:hover > td, #overriderolestable .category_subcategories .overriddenpermission:hover > td, table#modules #overriderolestable .overriddenpermission:hover > td, #overriderolestable table#modules .overriddenpermission:hover > td, table#permissions #overriderolestable .overriddenpermission:hover > td, #overriderolestable table#permissions .overriddenpermission:hover > td,
+  .table-hover .table-warning:hover > th,
+  table.grading-report .table-warning:hover > th,
+  .forumheaderlist .table-warning:hover > th,
+  .generaltable .table-warning:hover > th,
+  table.flexible .table-warning:hover > th,
+  .category_subcategories .table-warning:hover > th,
+  table#modules .table-warning:hover > th,
+  table#permissions .table-warning:hover > th,
+  .table-hover #overriderolestable .overriddenpermission:hover > th,
+  #overriderolestable .table-hover .overriddenpermission:hover > th,
+  table.grading-report #overriderolestable .overriddenpermission:hover > th,
+  #overriderolestable table.grading-report .overriddenpermission:hover > th,
+  .forumheaderlist #overriderolestable .overriddenpermission:hover > th,
+  #overriderolestable .forumheaderlist .overriddenpermission:hover > th,
+  .generaltable #overriderolestable .overriddenpermission:hover > th,
+  #overriderolestable .generaltable .overriddenpermission:hover > th,
+  table.flexible #overriderolestable .overriddenpermission:hover > th,
+  #overriderolestable table.flexible .overriddenpermission:hover > th,
+  .category_subcategories #overriderolestable .overriddenpermission:hover > th,
+  #overriderolestable .category_subcategories .overriddenpermission:hover > th,
+  table#modules #overriderolestable .overriddenpermission:hover > th,
+  #overriderolestable table#modules .overriddenpermission:hover > th,
+  table#permissions #overriderolestable .overriddenpermission:hover > th,
+  #overriderolestable table#permissions .overriddenpermission:hover > th {
+    background-color: #f9ddb5; }
+
+.table-danger,
+.table-danger > th,
+.table-danger > td {
+  background-color: #f4cfce; }
+
+.table-hover .table-danger:hover, table.grading-report .table-danger:hover, .forumheaderlist .table-danger:hover, .generaltable .table-danger:hover, table.flexible .table-danger:hover, .category_subcategories .table-danger:hover, table#modules .table-danger:hover, table#permissions .table-danger:hover {
+  background-color: #efbbb9; }
+  .table-hover .table-danger:hover > td, table.grading-report .table-danger:hover > td, .forumheaderlist .table-danger:hover > td, .generaltable .table-danger:hover > td, table.flexible .table-danger:hover > td, .category_subcategories .table-danger:hover > td, table#modules .table-danger:hover > td, table#permissions .table-danger:hover > td,
+  .table-hover .table-danger:hover > th,
+  table.grading-report .table-danger:hover > th,
+  .forumheaderlist .table-danger:hover > th,
+  .generaltable .table-danger:hover > th,
+  table.flexible .table-danger:hover > th,
+  .category_subcategories .table-danger:hover > th,
+  table#modules .table-danger:hover > th,
+  table#permissions .table-danger:hover > th {
+    background-color: #efbbb9; }
+
+.table-light,
+.table-light > th,
+.table-light > td {
+  background-color: #fdfdfe; }
+
+.table-hover .table-light:hover, table.grading-report .table-light:hover, .forumheaderlist .table-light:hover, .generaltable .table-light:hover, table.flexible .table-light:hover, .category_subcategories .table-light:hover, table#modules .table-light:hover, table#permissions .table-light:hover {
+  background-color: #ececf6; }
+  .table-hover .table-light:hover > td, table.grading-report .table-light:hover > td, .forumheaderlist .table-light:hover > td, .generaltable .table-light:hover > td, table.flexible .table-light:hover > td, .category_subcategories .table-light:hover > td, table#modules .table-light:hover > td, table#permissions .table-light:hover > td,
+  .table-hover .table-light:hover > th,
+  table.grading-report .table-light:hover > th,
+  .forumheaderlist .table-light:hover > th,
+  .generaltable .table-light:hover > th,
+  table.flexible .table-light:hover > th,
+  .category_subcategories .table-light:hover > th,
+  table#modules .table-light:hover > th,
+  table#permissions .table-light:hover > th {
+    background-color: #ececf6; }
+
+.table-dark,
+.table-dark > th,
+.table-dark > td {
+  background-color: #c7c8c8; }
+
+.table-hover .table-dark:hover, table.grading-report .table-dark:hover, .forumheaderlist .table-dark:hover, .generaltable .table-dark:hover, table.flexible .table-dark:hover, .category_subcategories .table-dark:hover, table#modules .table-dark:hover, table#permissions .table-dark:hover {
+  background-color: #babbbb; }
+  .table-hover .table-dark:hover > td, table.grading-report .table-dark:hover > td, .forumheaderlist .table-dark:hover > td, .generaltable .table-dark:hover > td, table.flexible .table-dark:hover > td, .category_subcategories .table-dark:hover > td, table#modules .table-dark:hover > td, table#permissions .table-dark:hover > td,
+  .table-hover .table-dark:hover > th,
+  table.grading-report .table-dark:hover > th,
+  .forumheaderlist .table-dark:hover > th,
+  .generaltable .table-dark:hover > th,
+  table.flexible .table-dark:hover > th,
+  .category_subcategories .table-dark:hover > th,
+  table#modules .table-dark:hover > th,
+  table#permissions .table-dark:hover > th {
+    background-color: #babbbb; }
+
+.table-active,
+.table-active > th,
+.table-active > td {
+  background-color: rgba(0, 0, 0, 0.075); }
+
+.table-hover .table-active:hover, table.grading-report .table-active:hover, .forumheaderlist .table-active:hover, .generaltable .table-active:hover, table.flexible .table-active:hover, .category_subcategories .table-active:hover, table#modules .table-active:hover, table#permissions .table-active:hover {
+  background-color: rgba(0, 0, 0, 0.075); }
+  .table-hover .table-active:hover > td, table.grading-report .table-active:hover > td, .forumheaderlist .table-active:hover > td, .generaltable .table-active:hover > td, table.flexible .table-active:hover > td, .category_subcategories .table-active:hover > td, table#modules .table-active:hover > td, table#permissions .table-active:hover > td,
+  .table-hover .table-active:hover > th,
+  table.grading-report .table-active:hover > th,
+  .forumheaderlist .table-active:hover > th,
+  .generaltable .table-active:hover > th,
+  table.flexible .table-active:hover > th,
+  .category_subcategories .table-active:hover > th,
+  table#modules .table-active:hover > th,
+  table#permissions .table-active:hover > th {
+    background-color: rgba(0, 0, 0, 0.075); }
+
+.table .thead-dark th, table.collection .thead-dark th, table.flexible .thead-dark th, .generaltable .thead-dark th {
+  color: #fff;
+  background-color: #212529;
+  border-color: #32383e; }
+
+.table .thead-light th, table.collection .thead-light th, table.flexible .thead-light th, .generaltable .thead-light th {
+  color: #495057;
+  background-color: #e9ecef;
+  border-color: #dee2e6; }
+
+.table-dark {
+  color: #fff;
+  background-color: #212529; }
+  .table-dark th,
+  .table-dark td,
+  .table-dark thead th {
+    border-color: #32383e; }
+  .table-dark.table-bordered, table.table-dark.collection {
+    border: 0; }
+  .table-dark.table-striped tbody tr:nth-of-type(odd), table.table-dark.collection tbody tr:nth-of-type(odd), table.table-dark#explaincaps tbody tr:nth-of-type(odd), table.table-dark#defineroletable tbody tr:nth-of-type(odd), table.table-dark.grading-report tbody tr:nth-of-type(odd), table.table-dark#listdirectories tbody tr:nth-of-type(odd), table.table-dark.rolecaps tbody tr:nth-of-type(odd), table.table-dark.userenrolment tbody tr:nth-of-type(odd), form#movecourses table.table-dark tbody tr:nth-of-type(odd), #page-admin-course-index .table-dark.editcourse tbody tr:nth-of-type(odd), .table-dark.forumheaderlist tbody tr:nth-of-type(odd), table.table-dark.flexible tbody tr:nth-of-type(odd), .table-dark.generaltable tbody tr:nth-of-type(odd) {
+    background-color: rgba(255, 255, 255, 0.05); }
+  .table-dark.table-hover tbody tr:hover, table.table-dark.grading-report tbody tr:hover, .table-dark.forumheaderlist tbody tr:hover, .table-dark.generaltable tbody tr:hover, table.table-dark.flexible tbody tr:hover, .table-dark.category_subcategories tbody tr:hover, table.table-dark#modules tbody tr:hover, table.table-dark#permissions tbody tr:hover {
+    background-color: rgba(255, 255, 255, 0.075); }
+
+@media (max-width: 575.98px) {
+  .table-responsive-sm {
+    display: block;
+    width: 100%;
+    overflow-x: auto;
+    -webkit-overflow-scrolling: touch;
+    -ms-overflow-style: -ms-autohiding-scrollbar; }
+    .table-responsive-sm > .table-bordered, .table-responsive-sm > table.collection {
+      border: 0; } }
+
+@media (max-width: 767.98px) {
+  .table-responsive-md {
+    display: block;
+    width: 100%;
+    overflow-x: auto;
+    -webkit-overflow-scrolling: touch;
+    -ms-overflow-style: -ms-autohiding-scrollbar; }
+    .table-responsive-md > .table-bordered, .table-responsive-md > table.collection {
+      border: 0; } }
+
+@media (max-width: 991.98px) {
+  .table-responsive-lg {
+    display: block;
+    width: 100%;
+    overflow-x: auto;
+    -webkit-overflow-scrolling: touch;
+    -ms-overflow-style: -ms-autohiding-scrollbar; }
+    .table-responsive-lg > .table-bordered, .table-responsive-lg > table.collection {
+      border: 0; } }
+
+@media (max-width: 1199.98px) {
+  .table-responsive-xl {
+    display: block;
+    width: 100%;
+    overflow-x: auto;
+    -webkit-overflow-scrolling: touch;
+    -ms-overflow-style: -ms-autohiding-scrollbar; }
+    .table-responsive-xl > .table-bordered, .table-responsive-xl > table.collection {
+      border: 0; } }
+
+.table-responsive {
+  display: block;
+  width: 100%;
+  overflow-x: auto;
+  -webkit-overflow-scrolling: touch;
+  -ms-overflow-style: -ms-autohiding-scrollbar; }
+  .table-responsive > .table-bordered, .table-responsive > table.collection {
+    border: 0; }
+
+.form-control {
+  display: block;
+  width: 100%;
+  padding: 0.375rem 0.75rem;
+  font-size: 0.9375rem;
+  line-height: 1.5;
+  color: #495057;
+  background-color: #fff;
+  background-clip: padding-box;
+  border: 1px solid #ced4da;
+  border-radius: 0.25rem;
+  transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; }
+  .form-control::-ms-expand {
+    background-color: transparent;
+    border: 0; }
+  .form-control:focus {
+    color: #495057;
+    background-color: #fff;
+    border-color: #6eb5f3;
+    outline: 0;
+    box-shadow: 0 0 0 0.2rem rgba(17, 119, 209, 0.25); }
+  .form-control::placeholder {
+    color: #868e96;
+    opacity: 1; }
+  .form-control:disabled, .form-control[readonly] {
+    background-color: #e9ecef;
+    opacity: 1; }
+
+select.form-control:not([size]):not([multiple]) {
+  height: calc(2.15625rem + 2px); }
+
+select.form-control:focus::-ms-value {
+  color: #495057;
+  background-color: #fff; }
+
+.form-control-file,
+.form-control-range {
+  display: block;
+  width: 100%; }
+
+.col-form-label {
+  padding-top: calc(0.375rem + 1px);
+  padding-bottom: calc(0.375rem + 1px);
+  margin-bottom: 0;
+  font-size: inherit;
+  line-height: 1.5; }
+
+.col-form-label-lg {
+  padding-top: calc(0.5rem + 1px);
+  padding-bottom: calc(0.5rem + 1px);
+  font-size: 1.171875rem;
+  line-height: 1.5; }
+
+.col-form-label-sm {
+  padding-top: calc(0.25rem + 1px);
+  padding-bottom: calc(0.25rem + 1px);
+  font-size: 0.8203125rem;
+  line-height: 1.5; }
+
+.form-control-plaintext {
+  display: block;
+  width: 100%;
+  padding-top: 0.375rem;
+  padding-bottom: 0.375rem;
+  margin-bottom: 0;
+  line-height: 1.5;
+  background-color: transparent;
+  border: solid transparent;
+  border-width: 1px 0; }
+  .form-control-plaintext.form-control-sm, .input-group-sm > .form-control-plaintext.form-control,
+  .input-group-sm > .input-group-prepend > .form-control-plaintext.input-group-text,
+  .input-group-sm > .input-group-append > .form-control-plaintext.input-group-text,
+  .input-group-sm > .input-group-prepend > .form-control-plaintext.btn, #page-grade-grading-manage .actions .input-group-sm > .input-group-prepend > .form-control-plaintext.action, #rubric-rubric.gradingform_rubric #rubric-criteria .criterion .addlevel .input-group-sm > .input-group-prepend > input.form-control-plaintext, #rubric-rubric.gradingform_rubric .input-group-sm > .input-group-prepend > .form-control-plaintext.addcriterion,
+  .input-group-sm > .input-group-append > .form-control-plaintext.btn, #page-grade-grading-manage .actions .input-group-sm > .input-group-append > .form-control-plaintext.action, #rubric-rubric.gradingform_rubric #rubric-criteria .criterion .addlevel .input-group-sm > .input-group-append > input.form-control-plaintext, #rubric-rubric.gradingform_rubric .input-group-sm > .input-group-append > .form-control-plaintext.addcriterion, .form-control-plaintext.form-control-lg, .input-group-lg > .form-control-plaintext.form-control,
+  .input-group-lg > .input-group-prepend > .form-control-plaintext.input-group-text,
+  .input-group-lg > .input-group-append > .form-control-plaintext.input-group-text,
+  .input-group-lg > .input-group-prepend > .form-control-plaintext.btn, #page-grade-grading-manage .actions .input-group-lg > .input-group-prepend > .form-control-plaintext.action, #rubric-rubric.gradingform_rubric #rubric-criteria .criterion .addlevel .input-group-lg > .input-group-prepend > input.form-control-plaintext, #rubric-rubric.gradingform_rubric .input-group-lg > .input-group-prepend > .form-control-plaintext.addcriterion,
+  .input-group-lg > .input-group-append > .form-control-plaintext.btn, #page-grade-grading-manage .actions .input-group-lg > .input-group-append > .form-control-plaintext.action, #rubric-rubric.gradingform_rubric #rubric-criteria .criterion .addlevel .input-group-lg > .input-group-append > input.form-control-plaintext, #rubric-rubric.gradingform_rubric .input-group-lg > .input-group-append > .form-control-plaintext.addcriterion {
+    padding-right: 0;
+    padding-left: 0; }
+
+.form-control-sm, .input-group-sm > .form-control,
+.input-group-sm > .input-group-prepend > .input-group-text,
+.input-group-sm > .input-group-append > .input-group-text,
+.input-group-sm > .input-group-prepend > .btn, #page-grade-grading-manage .actions .input-group-sm > .input-group-prepend > .action, #rubric-rubric.gradingform_rubric #rubric-criteria .criterion .addlevel .input-group-sm > .input-group-prepend > input, #rubric-rubric.gradingform_rubric .input-group-sm > .input-group-prepend > .addcriterion,
+.input-group-sm > .input-group-append > .btn, #page-grade-grading-manage .actions .input-group-sm > .input-group-append > .action, #rubric-rubric.gradingform_rubric #rubric-criteria .criterion .addlevel .input-group-sm > .input-group-append > input, #rubric-rubric.gradingform_rubric .input-group-sm > .input-group-append > .addcriterion {
+  padding: 0.25rem 0.5rem;
+  font-size: 0.8203125rem;
+  line-height: 1.5;
+  border-radius: 0.2rem; }
+
+select.form-control-sm:not([size]):not([multiple]), .input-group-sm > select.form-control:not([size]):not([multiple]),
+.input-group-sm > .input-group-prepend > select.input-group-text:not([size]):not([multiple]),
+.input-group-sm > .input-group-append > select.input-group-text:not([size]):not([multiple]),
+.input-group-sm > .input-group-prepend > select.btn:not([size]):not([multiple]), #page-grade-grading-manage .actions .input-group-sm > .input-group-prepend > select.action:not([size]):not([multiple]), #rubric-rubric.gradingform_rubric .input-group-sm > .input-group-prepend > select.addcriterion:not([size]):not([multiple]),
+.input-group-sm > .input-group-append > select.btn:not([size]):not([multiple]), #page-grade-grading-manage .actions .input-group-sm > .input-group-append > select.action:not([size]):not([multiple]), #rubric-rubric.gradingform_rubric .input-group-sm > .input-group-append > select.addcriterion:not([size]):not([multiple]) {
+  height: calc(1.73046875rem + 2px); }
+
+.form-control-lg, .input-group-lg > .form-control,
+.input-group-lg > .input-group-prepend > .input-group-text,
+.input-group-lg > .input-group-append > .input-group-text,
+.input-group-lg > .input-group-prepend > .btn, #page-grade-grading-manage .actions .input-group-lg > .input-group-prepend > .action, #rubric-rubric.gradingform_rubric #rubric-criteria .criterion .addlevel .input-group-lg > .input-group-prepend > input, #rubric-rubric.gradingform_rubric .input-group-lg > .input-group-prepend > .addcriterion,
+.input-group-lg > .input-group-append > .btn, #page-grade-grading-manage .actions .input-group-lg > .input-group-append > .action, #rubric-rubric.gradingform_rubric #rubric-criteria .criterion .addlevel .input-group-lg > .input-group-append > input, #rubric-rubric.gradingform_rubric .input-group-lg > .input-group-append > .addcriterion {
+  padding: 0.5rem 1rem;
+  font-size: 1.171875rem;
+  line-height: 1.5;
+  border-radius: 0.3rem; }
+
+select.form-control-lg:not([size]):not([multiple]), .input-group-lg > select.form-control:not([size]):not([multiple]),
+.input-group-lg > .input-group-prepend > select.input-group-text:not([size]):not([multiple]),
+.input-group-lg > .input-group-append > select.input-group-text:not([size]):not([multiple]),
+.input-group-lg > .input-group-prepend > select.btn:not([size]):not([multiple]), #page-grade-grading-manage .actions .input-group-lg > .input-group-prepend > select.action:not([size]):not([multiple]), #rubric-rubric.gradingform_rubric .input-group-lg > .input-group-prepend > select.addcriterion:not([size]):not([multiple]),
+.input-group-lg > .input-group-append > select.btn:not([size]):not([multiple]), #page-grade-grading-manage .actions .input-group-lg > .input-group-append > select.action:not([size]):not([multiple]), #rubric-rubric.gradingform_rubric .input-group-lg > .input-group-append > select.addcriterion:not([size]):not([multiple]) {
+  height: calc(2.7578125rem + 2px); }
+
+.form-group, .form-buttons,
+.path-admin .buttons,
+.fp-content-center form + div,
+div.backup-section + form {
+  margin-bottom: 1rem; }
+
+.form-text {
+  display: block;
+  margin-top: 0.25rem; }
+
+.form-row {
+  display: flex;
+  flex-wrap: wrap;
+  margin-right: -5px;
+  margin-left: -5px; }
+  .form-row > .col,
+  .form-row > [class*="col-"] {
+    padding-right: 5px;
+    padding-left: 5px; }
+
+.form-check {
+  position: relative;
+  display: block;
+  padding-left: 1.25rem; }
+
+.form-check-input {
+  position: absolute;
+  margin-top: 0.3rem;
+  margin-left: -1.25rem; }
+  .form-check-input:disabled ~ .form-check-label {
+    color: #868e96; }
+
+.form-check-label {
+  margin-bottom: 0; }
+
+.form-check-inline {
+  display: inline-flex;
+  align-items: center;
+  padding-left: 0;
+  margin-right: 0.75rem; }
+  .form-check-inline .form-check-input {
+    position: static;
+    margin-top: 0;
+    margin-right: 0.3125rem;
+    margin-left: 0; }
+
+.valid-feedback {
+  display: none;
+  width: 100%;
+  margin-top: 0.25rem;
+  font-size: 80%;
+  color: #5cb85c; }
+
+.valid-tooltip {
+  position: absolute;
+  top: 100%;
+  z-index: 5;
+  display: none;
+  max-width: 100%;
+  padding: .5rem;
+  margin-top: .1rem;
+  font-size: .875rem;
+  line-height: 1;
+  color: #fff;
+  background-color: rgba(92, 184, 92, 0.8);
+  border-radius: .2rem; }
+
+.was-validated .form-control:valid, .form-control.is-valid, .was-validated
+.custom-select:valid,
+.custom-select.is-valid {
+  border-color: #5cb85c; }
+  .was-validated .form-control:valid:focus, .form-control.is-valid:focus, .was-validated
+  .custom-select:valid:focus,
+  .custom-select.is-valid:focus {
+    border-color: #5cb85c;
+    box-shadow: 0 0 0 0.2rem rgba(92, 184, 92, 0.25); }
+  .was-validated .form-control:valid ~ .valid-feedback,
+  .was-validated .form-control:valid ~ .valid-tooltip, .form-control.is-valid ~ .valid-feedback,
+  .form-control.is-valid ~ .valid-tooltip, .was-validated
+  .custom-select:valid ~ .valid-feedback,
+  .was-validated
+  .custom-select:valid ~ .valid-tooltip,
+  .custom-select.is-valid ~ .valid-feedback,
+  .custom-select.is-valid ~ .valid-tooltip {
+    display: block; }
+
+.was-validated .form-check-input:valid ~ .form-check-label, .form-check-input.is-valid ~ .form-check-label {
+  color: #5cb85c; }
+
+.was-validated .form-check-input:valid ~ .valid-feedback,
+.was-validated .form-check-input:valid ~ .valid-tooltip, .form-check-input.is-valid ~ .valid-feedback,
+.form-check-input.is-valid ~ .valid-tooltip {
+  display: block; }
+
+.was-validated .custom-control-input:valid ~ .custom-control-label, .custom-control-input.is-valid ~ .custom-control-label {
+  color: #5cb85c; }
+  .was-validated .custom-control-input:valid ~ .custom-control-label::before, .custom-control-input.is-valid ~ .custom-control-label::before {
+    background-color: #b5dfb5; }
+
+.was-validated .custom-control-input:valid ~ .valid-feedback,
+.was-validated .custom-control-input:valid ~ .valid-tooltip, .custom-control-input.is-valid ~ .valid-feedback,
+.custom-control-input.is-valid ~ .valid-tooltip {
+  display: block; }
+
+.was-validated .custom-control-input:valid:checked ~ .custom-control-label::before, .custom-control-input.is-valid:checked ~ .custom-control-label::before {
+  background-color: #80c780; }
+
+.was-validated .custom-control-input:valid:focus ~ .custom-control-label::before, .custom-control-input.is-valid:focus ~ .custom-control-label::before {
+  box-shadow: 0 0 0 1px #fff, 0 0 0 0.2rem rgba(92, 184, 92, 0.25); }
+
+.was-validated .custom-file-input:valid ~ .custom-file-label, .custom-file-input.is-valid ~ .custom-file-label {
+  border-color: #5cb85c; }
+  .was-validated .custom-file-input:valid ~ .custom-file-label::before, .custom-file-input.is-valid ~ .custom-file-label::before {
+    border-color: inherit; }
+
+.was-validated .custom-file-input:valid ~ .valid-feedback,
+.was-validated .custom-file-input:valid ~ .valid-tooltip, .custom-file-input.is-valid ~ .valid-feedback,
+.custom-file-input.is-valid ~ .valid-tooltip {
+  display: block; }
+
+.was-validated .custom-file-input:valid:focus ~ .custom-file-label, .custom-file-input.is-valid:focus ~ .custom-file-label {
+  box-shadow: 0 0 0 0.2rem rgba(92, 184, 92, 0.25); }
+
+.invalid-feedback {
+  display: none;
+  width: 100%;
+  margin-top: 0.25rem;
+  font-size: 80%;
+  color: #d9534f; }
+
+.invalid-tooltip {
+  position: absolute;
+  top: 100%;
+  z-index: 5;
+  display: none;
+  max-width: 100%;
+  padding: .5rem;
+  margin-top: .1rem;
+  font-size: .875rem;
+  line-height: 1;
+  color: #fff;
+  background-color: rgba(217, 83, 79, 0.8);
+  border-radius: .2rem; }
+
+.was-validated .form-control:invalid, .form-control.is-invalid, .was-validated
+.custom-select:invalid,
+.custom-select.is-invalid {
+  border-color: #d9534f; }
+  .was-validated .form-control:invalid:focus, .form-control.is-invalid:focus, .was-validated
+  .custom-select:invalid:focus,
+  .custom-select.is-invalid:focus {
+    border-color: #d9534f;
+    box-shadow: 0 0 0 0.2rem rgba(217, 83, 79, 0.25); }
+  .was-validated .form-control:invalid ~ .invalid-feedback,
+  .was-validated .form-control:invalid ~ .invalid-tooltip, .form-control.is-invalid ~ .invalid-feedback,
+  .form-control.is-invalid ~ .invalid-tooltip, .was-validated
+  .custom-select:invalid ~ .invalid-feedback,
+  .was-validated
+  .custom-select:invalid ~ .invalid-tooltip,
+  .custom-select.is-invalid ~ .invalid-feedback,
+  .custom-select.is-invalid ~ .invalid-tooltip {
+    display: block; }
+
+.was-validated .form-check-input:invalid ~ .form-check-label, .form-check-input.is-invalid ~ .form-check-label {
+  color: #d9534f; }
+
+.was-validated .form-check-input:invalid ~ .invalid-feedback,
+.was-validated .form-check-input:invalid ~ .invalid-tooltip, .form-check-input.is-invalid ~ .invalid-feedback,
+.form-check-input.is-invalid ~ .invalid-tooltip {
+  display: block; }
+
+.was-validated .custom-control-input:invalid ~ .custom-control-label, .custom-control-input.is-invalid ~ .custom-control-label {
+  color: #d9534f; }
+  .was-validated .custom-control-input:invalid ~ .custom-control-label::before, .custom-control-input.is-invalid ~ .custom-control-label::before {
+    background-color: #f0b9b8; }
+
+.was-validated .custom-control-input:invalid ~ .invalid-feedback,
+.was-validated .custom-control-input:invalid ~ .invalid-tooltip, .custom-control-input.is-invalid ~ .invalid-feedback,
+.custom-control-input.is-invalid ~ .invalid-tooltip {
+  display: block; }
+
+.was-validated .custom-control-input:invalid:checked ~ .custom-control-label::before, .custom-control-input.is-invalid:checked ~ .custom-control-label::before {
+  background-color: #e27c79; }
+
+.was-validated .custom-control-input:invalid:focus ~ .custom-control-label::before, .custom-control-input.is-invalid:focus ~ .custom-control-label::before {
+  box-shadow: 0 0 0 1px #fff, 0 0 0 0.2rem rgba(217, 83, 79, 0.25); }
+
+.was-validated .custom-file-input:invalid ~ .custom-file-label, .custom-file-input.is-invalid ~ .custom-file-label {
+  border-color: #d9534f; }
+  .was-validated .custom-file-input:invalid ~ .custom-file-label::before, .custom-file-input.is-invalid ~ .custom-file-label::before {
+    border-color: inherit; }
+
+.was-validated .custom-file-input:invalid ~ .invalid-feedback,
+.was-validated .custom-file-input:invalid ~ .invalid-tooltip, .custom-file-input.is-invalid ~ .invalid-feedback,
+.custom-file-input.is-invalid ~ .invalid-tooltip {
+  display: block; }
+
+.was-validated .custom-file-input:invalid:focus ~ .custom-file-label, .custom-file-input.is-invalid:focus ~ .custom-file-label {
+  box-shadow: 0 0 0 0.2rem rgba(217, 83, 79, 0.25); }
+
+.form-inline {
+  display: flex;
+  flex-flow: row wrap;
+  align-items: center; }
+  .form-inline .form-check {
+    width: 100%; }
+  @media (min-width: 576px) {
+    .form-inline label {
+      display: flex;
+      align-items: center;
+      justify-content: center;
+      margin-bottom: 0; }
+    .form-inline .form-group, .form-inline .form-buttons,
+    .form-inline .path-admin .buttons, .path-admin .form-inline .buttons,
+    .form-inline .fp-content-center form + div, .fp-content-center .form-inline form + div,
+    .form-inline div.backup-section + form {
+      display: flex;
+      flex: 0 0 auto;
+      flex-flow: row wrap;
+      align-items: center;
+      margin-bottom: 0; }
+    .form-inline .form-control {
+      display: inline-block;
+      width: auto;
+      vertical-align: middle; }
+    .form-inline .form-control-plaintext {
+      display: inline-block; }
+    .form-inline .input-group {
+      width: auto; }
+    .form-inline .form-check {
+      display: flex;
+      align-items: center;
+      justify-content: center;
+      width: auto;
+      padding-left: 0; }
+    .form-inline .form-check-input {
+      position: relative;
+      margin-top: 0;
+      margin-right: 0.25rem;
+      margin-left: 0; }
+    .form-inline .custom-control {
+      align-items: center;
+      justify-content: center; }
+    .form-inline .custom-control-label {
+      margin-bottom: 0; } }
+
+.btn, #page-grade-grading-manage .actions .action, #rubric-rubric.gradingform_rubric #rubric-criteria .criterion .addlevel input, #rubric-rubric.gradingform_rubric .addcriterion {
+  display: inline-block;
+  font-weight: 400;
+  text-align: center;
+  white-space: nowrap;
+  vertical-align: middle;
+  user-select: none;
+  border: 1px solid transparent;
+  padding: 0.375rem 0.75rem;
+  font-size: 0.9375rem;
+  line-height: 1.5;
+  border-radius: 0.25rem;
+  transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; }
+  .btn:hover, #page-grade-grading-manage .actions .action:hover, #rubric-rubric.gradingform_rubric #rubric-criteria .criterion .addlevel input:hover, #rubric-rubric.gradingform_rubric .addcriterion:hover, .btn:focus, #page-grade-grading-manage .actions .action:focus, #rubric-rubric.gradingform_rubric #rubric-criteria .criterion .addlevel input:focus, #rubric-rubric.gradingform_rubric .addcriterion:focus {
+    text-decoration: none; }
+  .btn:focus, #page-grade-grading-manage .actions .action:focus, #rubric-rubric.gradingform_rubric #rubric-criteria .criterion .addlevel input:focus, #rubric-rubric.gradingform_rubric .addcriterion:focus, .btn.focus, #page-grade-grading-manage .actions .focus.action, #rubric-rubric.gradingform_rubric #rubric-criteria .criterion .addlevel input.focus, #rubric-rubric.gradingform_rubric .focus.addcriterion {
+    outline: 0;
+    box-shadow: 0 0 0 0.2rem rgba(17, 119, 209, 0.25); }
+  .btn.disabled, .fp-viewbar.disabled a, #page-grade-grading-manage .actions .disabled.action, #rubric-rubric.gradingform_rubric #rubric-criteria .criterion .addlevel input.disabled, #rubric-rubric.gradingform_rubric .disabled.addcriterion, .btn:disabled, #page-grade-grading-manage .actions .action:disabled, #rubric-rubric.gradingform_rubric #rubric-criteria .criterion .addlevel input:disabled, #rubric-rubric.gradingform_rubric .addcriterion:disabled {
+    opacity: 0.65; }
+  .btn:not(:disabled):not(.disabled), #page-grade-grading-manage .actions .action:not(:disabled):not(.disabled), #rubric-rubric.gradingform_rubric #rubric-criteria .criterion .addlevel input:not(:disabled):not(.disabled), #rubric-rubric.gradingform_rubric .addcriterion:not(:disabled):not(.disabled) {
+    cursor: pointer; }
+  .btn:not(:disabled):not(.disabled):active, #page-grade-grading-manage .actions .action:not(:disabled):not(.disabled):active, #rubric-rubric.gradingform_rubric #rubric-criteria .criterion .addlevel input:not(:disabled):not(.disabled):active, #rubric-rubric.gradingform_rubric .addcriterion:not(:disabled):not(.disabled):active, .btn:not(:disabled):not(.disabled).active, #page-grade-grading-manage .actions .action:not(:disabled):not(.disabled).active, #rubric-rubric.gradingform_rubric #rubric-criteria .criterion .addlevel input:not(:disabled):not(.disabled).active, #rubric-rubric.gradingform_rubric .addcriterion:not(:disabled):not(.disabled).active {
+    background-image: none; }
+
+a.btn.disabled, .fp-viewbar.disabled a, #page-grade-grading-manage .actions a.disabled.action, #rubric-rubric.gradingform_rubric a.disabled.addcriterion,
+fieldset:disabled a.btn,
+fieldset:disabled #page-grade-grading-manage .actions a.action,
+#page-grade-grading-manage .actions fieldset:disabled a.action,
+fieldset:disabled #rubric-rubric.gradingform_rubric a.addcriterion,
+#rubric-rubric.gradingform_rubric fieldset:disabled a.addcriterion {
+  pointer-events: none; }
+
+.btn-primary {
+  color: #fff;
+  background-color: #1177d1;
+  border-color: #1177d1; }
+  .btn-primary:hover {
+    color: #fff;
+    background-color: #0e63ae;
+    border-color: #0d5ca2; }
+  .btn-primary:focus, .btn-primary.focus {
+    box-shadow: 0 0 0 0.2rem rgba(17, 119, 209, 0.5); }
+  .btn-primary.disabled, .btn-primary:disabled {
+    color: #fff;
+    background-color: #1177d1;
+    border-color: #1177d1; }
+  .btn-primary:not(:disabled):not(.disabled):active, .btn-primary:not(:disabled):not(.disabled).active,
+  .show > .btn-primary.dropdown-toggle {
+    color: #fff;
+    background-color: #0d5ca2;
+    border-color: #0c5596; }
+    .btn-primary:not(:disabled):not(.disabled):active:focus, .btn-primary:not(:disabled):not(.disabled).active:focus,
+    .show > .btn-primary.dropdown-toggle:focus {
+      box-shadow: 0 0 0 0.2rem rgba(17, 119, 209, 0.5); }
+
+.btn-secondary, .btn-default {
+  color: #212529;
+  background-color: #e9ecef;
+  border-color: #e9ecef; }
+  .btn-secondary:hover, .btn-default:hover {
+    color: #212529;
+    background-color: #d3d9df;
+    border-color: #cbd3da; }
+  .btn-secondary:focus, .btn-default:focus, .btn-secondary.focus, .focus.btn-default {
+    box-shadow: 0 0 0 0.2rem rgba(233, 236, 239, 0.5); }
+  .btn-secondary.disabled, .fp-viewbar.disabled a, .disabled.btn-default, .btn-secondary:disabled, .btn-default:disabled {
+    color: #212529;
+    background-color: #e9ecef;
+    border-color: #e9ecef; }
+  .btn-secondary:not(:disabled):not(.disabled):active, .btn-default:not(:disabled):not(.disabled):active, .btn-secondary:not(:disabled):not(.disabled).active, .fp-viewbar:not(.disabled) a.checked:not(:disabled):not(.disabled), .btn-default:not(:disabled):not(.disabled).active,
+  .show > .btn-secondary.dropdown-toggle,
+  .show > .dropdown-toggle.btn-default {
+    color: #212529;
+    background-color: #cbd3da;
+    border-color: #c4ccd4; }
+    .btn-secondary:not(:disabled):not(.disabled):active:focus, .btn-default:not(:disabled):not(.disabled):active:focus, .btn-secondary:not(:disabled):not(.disabled).active:focus, .fp-viewbar:not(.disabled) a.checked:not(:disabled):not(.disabled):focus, .btn-default:not(:disabled):not(.disabled).active:focus,
+    .show > .btn-secondary.dropdown-toggle:focus,
+    .show > .dropdown-toggle.btn-default:focus {
+      box-shadow: 0 0 0 0.2rem rgba(233, 236, 239, 0.5); }
+
+.btn-success {
+  color: #fff;
+  background-color: #5cb85c;
+  border-color: #5cb85c; }
+  .btn-success:hover {
+    color: #fff;
+    background-color: #48a648;
+    border-color: #449d44; }
+  .btn-success:focus, .btn-success.focus {
+    box-shadow: 0 0 0 0.2rem rgba(92, 184, 92, 0.5); }
+  .btn-success.disabled, .btn-success:disabled {
+    color: #fff;
+    background-color: #5cb85c;
+    border-color: #5cb85c; }
+  .btn-success:not(:disabled):not(.disabled):active, .btn-success:not(:disabled):not(.disabled).active,
+  .show > .btn-success.dropdown-toggle {
+    color: #fff;
+    background-color: #449d44;
+    border-color: #409440; }
+    .btn-success:not(:disabled):not(.disabled):active:focus, .btn-success:not(:disabled):not(.disabled).active:focus,
+    .show > .btn-success.dropdown-toggle:focus {
+      box-shadow: 0 0 0 0.2rem rgba(92, 184, 92, 0.5); }
+
+.btn-info {
+  color: #212529;
+  background-color: #5bc0de;
+  border-color: #5bc0de; }
+  .btn-info:hover {
+    color: #fff;
+    background-color: #3bb4d8;
+    border-color: #31b0d5; }
+  .btn-info:focus, .btn-info.focus {
+    box-shadow: 0 0 0 0.2rem rgba(91, 192, 222, 0.5); }
+  .btn-info.disabled, .btn-info:disabled {
+    color: #212529;
+    background-color: #5bc0de;
+    border-color: #5bc0de; }
+  .btn-info:not(:disabled):not(.disabled):active, .btn-info:not(:disabled):not(.disabled).active,
+  .show > .btn-info.dropdown-toggle {
+    color: #fff;
+    background-color: #31b0d5;
+    border-color: #2aaacf; }
+    .btn-info:not(:disabled):not(.disabled):active:focus, .btn-info:not(:disabled):not(.disabled).active:focus,
+    .show > .btn-info.dropdown-toggle:focus {
+      box-shadow: 0 0 0 0.2rem rgba(91, 192, 222, 0.5); }
+
+.btn-warning {
+  color: #212529;
+  background-color: #f0ad4e;
+  border-color: #f0ad4e; }
+  .btn-warning:hover {
+    color: #212529;
+    background-color: #ed9d2b;
+    border-color: #ec971f; }
+  .btn-warning:focus, .btn-warning.focus {
+    box-shadow: 0 0 0 0.2rem rgba(240, 173, 78, 0.5); }
+  .btn-warning.disabled, .btn-warning:disabled {
+    color: #212529;
+    background-color: #f0ad4e;
+    border-color: #f0ad4e; }
+  .btn-warning:not(:disabled):not(.disabled):active, .btn-warning:not(:disabled):not(.disabled).active,
+  .show > .btn-warning.dropdown-toggle {
+    color: #212529;
+    background-color: #ec971f;
+    border-color: #ea9214; }
+    .btn-warning:not(:disabled):not(.disabled):active:focus, .btn-warning:not(:disabled):not(.disabled).active:focus,
+    .show > .btn-warning.dropdown-toggle:focus {
+      box-shadow: 0 0 0 0.2rem rgba(240, 173, 78, 0.5); }
+
+.btn-danger {
+  color: #fff;
+  background-color: #d9534f;
+  border-color: #d9534f; }
+  .btn-danger:hover {
+    color: #fff;
+    background-color: #d23430;
+    border-color: #c9302c; }
+  .btn-danger:focus, .btn-danger.focus {
+    box-shadow: 0 0 0 0.2rem rgba(217, 83, 79, 0.5); }
+  .btn-danger.disabled, .btn-danger:disabled {
+    color: #fff;
+    background-color: #d9534f;
+    border-color: #d9534f; }
+  .btn-danger:not(:disabled):not(.disabled):active, .btn-danger:not(:disabled):not(.disabled).active,
+  .show > .btn-danger.dropdown-toggle {
+    color: #fff;
+    background-color: #c9302c;
+    border-color: #bf2e29; }
+    .btn-danger:not(:disabled):not(.disabled):active:focus, .btn-danger:not(:disabled):not(.disabled).active:focus,
+    .show > .btn-danger.dropdown-toggle:focus {
+      box-shadow: 0 0 0 0.2rem rgba(217, 83, 79, 0.5); }
+
+.btn-light {
+  color: #212529;
+  background-color: #f8f9fa;
+  border-color: #f8f9fa; }
+  .btn-light:hover {
+    color: #212529;
+    background-color: #e2e6ea;
+    border-color: #dae0e5; }
+  .btn-light:focus, .btn-light.focus {
+    box-shadow: 0 0 0 0.2rem rgba(248, 249, 250, 0.5); }
+  .btn-light.disabled, .btn-light:disabled {
+    color: #212529;
+    background-color: #f8f9fa;
+    border-color: #f8f9fa; }
+  .btn-light:not(:disabled):not(.disabled):active, .btn-light:not(:disabled):not(.disabled).active,
+  .show > .btn-light.dropdown-toggle {
+    color: #212529;
+    background-color: #dae0e5;
+    border-color: #d3d9df; }
+    .btn-light:not(:disabled):not(.disabled):active:focus, .btn-light:not(:disabled):not(.disabled).active:focus,
+    .show > .btn-light.dropdown-toggle:focus {
+      box-shadow: 0 0 0 0.2rem rgba(248, 249, 250, 0.5); }
+
+.btn-dark {
+  color: #fff;
+  background-color: #373a3c;
+  border-color: #373a3c; }
+  .btn-dark:hover {
+    color: #fff;
+    background-color: #252728;
+    border-color: #1f2021; }
+  .btn-dark:focus, .btn-dark.focus {
+    box-shadow: 0 0 0 0.2rem rgba(55, 58, 60, 0.5); }
+  .btn-dark.disabled, .btn-dark:disabled {
+    color: #fff;
+    background-color: #373a3c;
+    border-color: #373a3c; }
+  .btn-dark:not(:disabled):not(.disabled):active, .btn-dark:not(:disabled):not(.disabled).active,
+  .show > .btn-dark.dropdown-toggle {
+    color: #fff;
+    background-color: #1f2021;
+    border-color: #191a1b; }
+    .btn-dark:not(:disabled):not(.disabled):active:focus, .btn-dark:not(:disabled):not(.disabled).active:focus,
+    .show > .btn-dark.dropdown-toggle:focus {
+      box-shadow: 0 0 0 0.2rem rgba(55, 58, 60, 0.5); }
+
+.btn-outline-primary {
+  color: #1177d1;
+  background-color: transparent;
+  background-image: none;
+  border-color: #1177d1; }
+  .btn-outline-primary:hover {
+    color: #fff;
+    background-color: #1177d1;
+    border-color: #1177d1; }
+  .btn-outline-primary:focus, .btn-outline-primary.focus {
+    box-shadow: 0 0 0 0.2rem rgba(17, 119, 209, 0.5); }
+  .btn-outline-primary.disabled, .btn-outline-primary:disabled {
+    color: #1177d1;
+    background-color: transparent; }
+  .btn-outline-primary:not(:disabled):not(.disabled):active, .btn-outline-primary:not(:disabled):not(.disabled).active,
+  .show > .btn-outline-primary.dropdown-toggle {
+    color: #fff;
+    background-color: #1177d1;
+    border-color: #1177d1; }
+    .btn-outline-primary:not(:disabled):not(.disabled):active:focus, .btn-outline-primary:not(:disabled):not(.disabled).active:focus,
+    .show > .btn-outline-primary.dropdown-toggle:focus {
+      box-shadow: 0 0 0 0.2rem rgba(17, 119, 209, 0.5); }
+
+.btn-outline-secondary {
+  color: #e9ecef;
+  background-color: transparent;
+  background-image: none;
+  border-color: #e9ecef; }
+  .btn-outline-secondary:hover {
+    color: #212529;
+    background-color: #e9ecef;
+    border-color: #e9ecef; }
+  .btn-outline-secondary:focus, .btn-outline-secondary.focus {
+    box-shadow: 0 0 0 0.2rem rgba(233, 236, 239, 0.5); }
+  .btn-outline-secondary.disabled, .btn-outline-secondary:disabled {
+    color: #e9ecef;
+    background-color: transparent; }
+  .btn-outline-secondary:not(:disabled):not(.disabled):active, .btn-outline-secondary:not(:disabled):not(.disabled).active,
+  .show > .btn-outline-secondary.dropdown-toggle {
+    color: #212529;
+    background-color: #e9ecef;
+    border-color: #e9ecef; }
+    .btn-outline-secondary:not(:disabled):not(.disabled):active:focus, .btn-outline-secondary:not(:disabled):not(.disabled).active:focus,
+    .show > .btn-outline-secondary.dropdown-toggle:focus {
+      box-shadow: 0 0 0 0.2rem rgba(233, 236, 239, 0.5); }
+
+.btn-outline-success {
+  color: #5cb85c;
+  background-color: transparent;
+  background-image: none;
+  border-color: #5cb85c; }
+  .btn-outline-success:hover {
+    color: #fff;
+    background-color: #5cb85c;
+    border-color: #5cb85c; }
+  .btn-outline-success:focus, .btn-outline-success.focus {
+    box-shadow: 0 0 0 0.2rem rgba(92, 184, 92, 0.5); }
+  .btn-outline-success.disabled, .btn-outline-success:disabled {
+    color: #5cb85c;
+    background-color: transparent; }
+  .btn-outline-success:not(:disabled):not(.disabled):active, .btn-outline-success:not(:disabled):not(.disabled).active,
+  .show > .btn-outline-success.dropdown-toggle {
+    color: #fff;
+    background-color: #5cb85c;
+    border-color: #5cb85c; }
+    .btn-outline-success:not(:disabled):not(.disabled):active:focus, .btn-outline-success:not(:disabled):not(.disabled).active:focus,
+    .show > .btn-outline-success.dropdown-toggle:focus {
+      box-shadow: 0 0 0 0.2rem rgba(92, 184, 92, 0.5); }
+
+.btn-outline-info {
+  color: #5bc0de;
+  background-color: transparent;
+  background-image: none;
+  border-color: #5bc0de; }
+  .btn-outline-info:hover {
+    color: #212529;
+    background-color: #5bc0de;
+    border-color: #5bc0de; }
+  .btn-outline-info:focus, .btn-outline-info.focus {
+    box-shadow: 0 0 0 0.2rem rgba(91, 192, 222, 0.5); }
+  .btn-outline-info.disabled, .btn-outline-info:disabled {
+    color: #5bc0de;
+    background-color: transparent; }
+  .btn-outline-info:not(:disabled):not(.disabled):active, .btn-outline-info:not(:disabled):not(.disabled).active,
+  .show > .btn-outline-info.dropdown-toggle {
+    color: #212529;
+    background-color: #5bc0de;
+    border-color: #5bc0de; }
+    .btn-outline-info:not(:disabled):not(.disabled):active:focus, .btn-outline-info:not(:disabled):not(.disabled).active:focus,
+    .show > .btn-outline-info.dropdown-toggle:focus {
+      box-shadow: 0 0 0 0.2rem rgba(91, 192, 222, 0.5); }
+
+.btn-outline-warning {
+  color: #f0ad4e;
+  background-color: transparent;
+  background-image: none;
+  border-color: #f0ad4e; }
+  .btn-outline-warning:hover {
+    color: #212529;
+    background-color: #f0ad4e;
+    border-color: #f0ad4e; }
+  .btn-outline-warning:focus, .btn-outline-warning.focus {
+    box-shadow: 0 0 0 0.2rem rgba(240, 173, 78, 0.5); }
+  .btn-outline-warning.disabled, .btn-outline-warning:disabled {
+    color: #f0ad4e;
+    background-color: transparent; }
+  .btn-outline-warning:not(:disabled):not(.disabled):active, .btn-outline-warning:not(:disabled):not(.disabled).active,
+  .show > .btn-outline-warning.dropdown-toggle {
+    color: #212529;
+    background-color: #f0ad4e;
+    border-color: #f0ad4e; }
+    .btn-outline-warning:not(:disabled):not(.disabled):active:focus, .btn-outline-warning:not(:disabled):not(.disabled).active:focus,
+    .show > .btn-outline-warning.dropdown-toggle:focus {
+      box-shadow: 0 0 0 0.2rem rgba(240, 173, 78, 0.5); }
+
+.btn-outline-danger {
+  color: #d9534f;
+  background-color: transparent;
+  background-image: none;
+  border-color: #d9534f; }
+  .btn-outline-danger:hover {
+    color: #fff;
+    background-color: #d9534f;
+    border-color: #d9534f; }
+  .btn-outline-danger:focus, .btn-outline-danger.focus {
+    box-shadow: 0 0 0 0.2rem rgba(217, 83, 79, 0.5); }
+  .btn-outline-danger.disabled, .btn-outline-danger:disabled {
+    color: #d9534f;
+    background-color: transparent; }
+  .btn-outline-danger:not(:disabled):not(.disabled):active, .btn-outline-danger:not(:disabled):not(.disabled).active,
+  .show > .btn-outline-danger.dropdown-toggle {
+    color: #fff;
+    background-color: #d9534f;
+    border-color: #d9534f; }
+    .btn-outline-danger:not(:disabled):not(.disabled):active:focus, .btn-outline-danger:not(:disabled):not(.disabled).active:focus,
+    .show > .btn-outline-danger.dropdown-toggle:focus {
+      box-shadow: 0 0 0 0.2rem rgba(217, 83, 79, 0.5); }
+
+.btn-outline-light {
+  color: #f8f9fa;
+  background-color: transparent;
+  background-image: none;
+  border-color: #f8f9fa; }
+  .btn-outline-light:hover {
+    color: #212529;
+    background-color: #f8f9fa;
+    border-color: #f8f9fa; }
+  .btn-outline-light:focus, .btn-outline-light.focus {
+    box-shadow: 0 0 0 0.2rem rgba(248, 249, 250, 0.5); }
+  .btn-outline-light.disabled, .btn-outline-light:disabled {
+    color: #f8f9fa;
+    background-color: transparent; }
+  .btn-outline-light:not(:disabled):not(.disabled):active, .btn-outline-light:not(:disabled):not(.disabled).active,
+  .show > .btn-outline-light.dropdown-toggle {
+    color: #212529;
+    background-color: #f8f9fa;
+    border-color: #f8f9fa; }
+    .btn-outline-light:not(:disabled):not(.disabled):active:focus, .btn-outline-light:not(:disabled):not(.disabled).active:focus,
+    .show > .btn-outline-light.dropdown-toggle:focus {
+      box-shadow: 0 0 0 0.2rem rgba(248, 249, 250, 0.5); }
+
+.btn-outline-dark {
+  color: #373a3c;
+  background-color: transparent;
+  background-image: none;
+  border-color: #373a3c; }
+  .btn-outline-dark:hover {
+    color: #fff;
+    background-color: #373a3c;
+    border-color: #373a3c; }
+  .btn-outline-dark:focus, .btn-outline-dark.focus {
+    box-shadow: 0 0 0 0.2rem rgba(55, 58, 60, 0.5); }
+  .btn-outline-dark.disabled, .btn-outline-dark:disabled {
+    color: #373a3c;
+    background-color: transparent; }
+  .btn-outline-dark:not(:disabled):not(.disabled):active, .btn-outline-dark:not(:disabled):not(.disabled).active,
+  .show > .btn-outline-dark.dropdown-toggle {
+    color: #fff;
+    background-color: #373a3c;
+    border-color: #373a3c; }
+    .btn-outline-dark:not(:disabled):not(.disabled):active:focus, .btn-outline-dark:not(:disabled):not(.disabled).active:focus,
+    .show > .btn-outline-dark.dropdown-toggle:focus {
+      box-shadow: 0 0 0 0.2rem rgba(55, 58, 60, 0.5); }
+
+.btn-link {
+  font-weight: 400;
+  color: #1177d1;
+  background-color: transparent; }
+  .btn-link:hover {
+    color: #0b4f8a;
+    text-decoration: underline;
+    background-color: transparent;
+    border-color: transparent; }
+  .btn-link:focus, .btn-link.focus {
+    text-decoration: underline;
+    border-color: transparent;
+    box-shadow: none; }
+  .btn-link:disabled, .btn-link.disabled {
+    color: #868e96; }
+
+.btn-lg, .btn-group-lg > .btn, #rubric-rubric.gradingform_rubric #rubric-criteria .criterion .addlevel .btn-group-lg > input, #rubric-rubric.gradingform_rubric .btn-group-lg > .addcriterion, #page-grade-grading-manage .actions .action {
+  padding: 0.5rem 1rem;
+  font-size: 1.171875rem;
+  line-height: 1.5;
+  border-radius: 0.3rem; }
+
+.btn-sm, .btn-group-sm > .btn, #page-grade-grading-manage .actions .btn-group-sm > .action, #rubric-rubric.gradingform_rubric #rubric-criteria .criterion .addlevel .btn-group-sm > input, #rubric-rubric.gradingform_rubric .btn-group-sm > .addcriterion {
+  padding: 0.25rem 0.5rem;
+  font-size: 0.8203125rem;
+  line-height: 1.5;
+  border-radius: 0.2rem; }
+
+.btn-block, p.arrow_button input, #addcontrols input,
+#removecontrols input {
+  display: block;
+  width: 100%; }
+  .btn-block + .btn-block, p.arrow_button input + .btn-block, #addcontrols input + .btn-block, #removecontrols input + .btn-block, p.arrow_button .btn-block + input, p.arrow_button input + input, #addcontrols .btn-block + input, #addcontrols p.arrow_button input + input, #addcontrols input + input,
+  #removecontrols .btn-block + input, #removecontrols p.arrow_button input + input,
+  #removecontrols input + input {
+    margin-top: 0.5rem; }
+
+input[type="submit"].btn-block, p.arrow_button input[type="submit"], #addcontrols input[type="submit"],
+#removecontrols input[type="submit"],
+input[type="reset"].btn-block,
+p.arrow_button input[type="reset"],
+#addcontrols input[type="reset"],
+#removecontrols input[type="reset"],
+input[type="button"].btn-block,
+p.arrow_button input[type="button"],
+#addcontrols input[type="button"],
+#removecontrols input[type="button"] {
+  width: 100%; }
+
+.fade {
+  opacity: 0;
+  transition: opacity 0.15s linear; }
+  .fade.show {
+    opacity: 1; }
+
+.collapse {
+  display: none; }
+  .collapse.show {
+    display: block; }
+
+tr.collapse.show {
+  display: table-row; }
+
+tbody.collapse.show {
+  display: table-row-group; }
+
+.collapsing {
+  position: relative;
+  height: 0;
+  overflow: hidden;
+  transition: height 0.35s ease; }
+
+.dropup,
+.dropdown {
+  position: relative; }
+
+.dropdown-toggle::after {
+  display: inline-block;
+  width: 0;
+  height: 0;
+  margin-left: 0.255em;
+  vertical-align: 0.255em;
+  content: "";
+  border-top: 0.3em solid;
+  border-right: 0.3em solid transparent;
+  border-bottom: 0;
+  border-left: 0.3em solid transparent; }
+
+.dropdown-toggle:empty::after {
+  margin-left: 0; }
+
+.dropdown-menu {
+  position: absolute;
+  top: 100%;
+  left: 0;
+  z-index: 1000;
+  display: none;
+  float: left;
+  min-width: 10rem;
+  padding: 0.5rem 0;
+  margin: 0.125rem 0 0;
+  font-size: 0.9375rem;
+  color: #373a3c;
+  text-align: left;
+  list-style: none;
+  background-color: #fff;
+  background-clip: padding-box;
+  border: 1px solid rgba(0, 0, 0, 0.15);
+  border-radius: 0.25rem; }
+
+.dropup .dropdown-menu {
+  margin-top: 0;
+  margin-bottom: 0.125rem; }
+
+.dropup .dropdown-toggle::after {
+  display: inline-block;
+  width: 0;
+  height: 0;
+  margin-left: 0.255em;
+  vertical-align: 0.255em;
+  content: "";
+  border-top: 0;
+  border-right: 0.3em solid transparent;
+  border-bottom: 0.3em solid;
+  border-left: 0.3em solid transparent; }
+
+.dropup .dropdown-toggle:empty::after {
+  margin-left: 0; }
+
+.dropright .dropdown-menu {
+  margin-top: 0;
+  margin-left: 0.125rem; }
+
+.dropright .dropdown-toggle::after {
+  display: inline-block;
+  width: 0;
+  height: 0;
+  margin-left: 0.255em;
+  vertical-align: 0.255em;
+  content: "";
+  border-top: 0.3em solid transparent;
+  border-bottom: 0.3em solid transparent;
+  border-left: 0.3em solid; }
+
+.dropright .dropdown-toggle:empty::after {
+  margin-left: 0; }
+
+.dropright .dropdown-toggle::after {
+  vertical-align: 0; }
+
+.dropleft .dropdown-menu {
+  margin-top: 0;
+  margin-right: 0.125rem; }
+
+.dropleft .dropdown-toggle::after {
+  display: inline-block;
+  width: 0;
+  height: 0;
+  margin-left: 0.255em;
+  vertical-align: 0.255em;
+  content: ""; }
+
+.dropleft .dropdown-toggle::after {
+  display: none; }
+
+.dropleft .dropdown-toggle::before {
+  display: inline-block;
+  width: 0;
+  height: 0;
+  margin-right: 0.255em;
+  vertical-align: 0.255em;
+  content: "";
+  border-top: 0.3em solid transparent;
+  border-right: 0.3em solid;
+  border-bottom: 0.3em solid transparent; }
+
+.dropleft .dropdown-toggle:empty::after {
+  margin-left: 0; }
+
+.dropleft .dropdown-toggle::before {
+  vertical-align: 0; }
+
+.dropdown-divider {
+  height: 0;
+  margin: 0.5rem 0;
+  overflow: hidden;
+  border-top: 1px solid #e9ecef; }
+
+.dropdown-item {
+  display: block;
+  width: 100%;
+  padding: 0.25rem 1.5rem;
+  clear: both;
+  font-weight: 400;
+  color: #212529;
+  text-align: inherit;
+  white-space: nowrap;
+  background-color: transparent;
+  border: 0; }
+  .dropdown-item:hover, .dropdown-item:focus {
+    color: #16181b;
+    text-decoration: none;
+    background-color: #f8f9fa; }
+  .dropdown-item.active, .dropdown-item:active {
+    color: #fff;
+    text-decoration: none;
+    background-color: #1177d1; }
+  .dropdown-item.disabled, .dropdown-item:disabled {
+    color: #868e96;
+    background-color: transparent; }
+
+.dropdown-menu.show {
+  display: block; }
+
+.dropdown-header {
+  display: block;
+  padding: 0.5rem 1.5rem;
+  margin-bottom: 0;
+  font-size: 0.8203125rem;
+  color: #868e96;
+  white-space: nowrap; }
+
+.btn-group,
+.btn-group-vertical {
+  position: relative;
+  display: inline-flex;
+  vertical-align: middle; }
+  .btn-group > .btn, #page-grade-grading-manage .actions .btn-group > .action, #rubric-rubric.gradingform_rubric #rubric-criteria .criterion .addlevel .btn-group > input, #rubric-rubric.gradingform_rubric .btn-group > .addcriterion,
+  .btn-group-vertical > .btn,
+  #page-grade-grading-manage .actions .btn-group-vertical > .action,
+  #rubric-rubric.gradingform_rubric #rubric-criteria .criterion .addlevel .btn-group-vertical > input,
+  #rubric-rubric.gradingform_rubric .btn-group-vertical > .addcriterion {
+    position: relative;
+    flex: 0 1 auto; }
+    .btn-group > .btn:hover, #page-grade-grading-manage .actions .btn-group > .action:hover, #rubric-rubric.gradingform_rubric #rubric-criteria .criterion .addlevel .btn-group > input:hover, #rubric-rubric.gradingform_rubric .btn-group > .addcriterion:hover,
+    .btn-group-vertical > .btn:hover,
+    #page-grade-grading-manage .actions .btn-group-vertical > .action:hover,
+    #rubric-rubric.gradingform_rubric #rubric-criteria .criterion .addlevel .btn-group-vertical > input:hover,
+    #rubric-rubric.gradingform_rubric .btn-group-vertical > .addcriterion:hover {
+      z-index: 1; }
+    .btn-group > .btn:focus, #page-grade-grading-manage .actions .btn-group > .action:focus, #rubric-rubric.gradingform_rubric #rubric-criteria .criterion .addlevel .btn-group > input:focus, #rubric-rubric.gradingform_rubric .btn-group > .addcriterion:focus, .btn-group > .btn:active, #page-grade-grading-manage .actions .btn-group > .action:active, #rubric-rubric.gradingform_rubric #rubric-criteria .criterion .addlevel .btn-group > input:active, #rubric-rubric.gradingform_rubric .btn-group > .addcriterion:active, .btn-group > .btn.active, #page-grade-grading-manage .actions .btn-group > .active.action, #rubric-rubric.gradingform_rubric #rubric-criteria .criterion .addlevel .btn-group > input.active, #rubric-rubric.gradingform_rubric .btn-group > .active.addcriterion,
+    .btn-group-vertical > .btn:focus,
+    #page-grade-grading-manage .actions .btn-group-vertical > .action:focus,
+    #rubric-rubric.gradingform_rubric #rubric-criteria .criterion .addlevel .btn-group-vertical > input:focus,
+    #rubric-rubric.gradingform_rubric .btn-group-vertical > .addcriterion:focus,
+    .btn-group-vertical > .btn:active,
+    #page-grade-grading-manage .actions .btn-group-vertical > .action:active,
+    #rubric-rubric.gradingform_rubric #rubric-criteria .criterion .addlevel .btn-group-vertical > input:active,
+    #rubric-rubric.gradingform_rubric .btn-group-vertical > .addcriterion:active,
+    .btn-group-vertical > .btn.active,
+    #page-grade-grading-manage .actions .btn-group-vertical > .active.action,
+    #rubric-rubric.gradingform_rubric #rubric-criteria .criterion .addlevel .btn-group-vertical > input.active,
+    #rubric-rubric.gradingform_rubric .btn-group-vertical > .active.addcriterion {
+      z-index: 1; }
+  .btn-group .btn + .btn, .btn-group #page-grade-grading-manage .actions .action + .btn, #page-grade-grading-manage .actions .btn-group .action + .btn, .btn-group #rubric-rubric.gradingform_rubric #rubric-criteria .criterion .addlevel input + .btn, #rubric-rubric.gradingform_rubric #rubric-criteria .criterion .addlevel .btn-group input + .btn, .btn-group #rubric-rubric.gradingform_rubric .addcriterion + .btn, #rubric-rubric.gradingform_rubric .btn-group .addcriterion + .btn, .btn-group #page-grade-grading-manage .actions .btn + .action, #page-grade-grading-manage .actions .btn-group .btn + .action, .btn-group #page-grade-grading-manage .actions .action + .action, #page-grade-grading-manage .actions .btn-group .action + .action, .btn-group #rubric-rubric.gradingform_rubric #rubric-criteria .criterion .addlevel #page-grade-grading-manage .actions input + .action, #page-grade-grading-manage .actions .btn-group #rubric-rubric.gradingform_rubric #rubric-criteria .criterion .addlevel input + .action, #rubric-rubric.gradingform_rubric #rubric-criteria .criterion .addlevel .btn-group #page-grade-grading-manage .actions input + .action, #page-grade-grading-manage .actions #rubric-rubric.gradingform_rubric #rubric-criteria .criterion .addlevel .btn-group input + .action, .btn-group #rubric-rubric.gradingform_rubric #page-grade-grading-manage .actions .addcriterion + .action, #page-grade-grading-manage .actions .btn-group #rubric-rubric.gradingform_rubric .addcriterion + .action, #rubric-rubric.gradingform_rubric .btn-group #page-grade-grading-manage .actions .addcriterion + .action, #page-grade-grading-manage .actions #rubric-rubric.gradingform_rubric .btn-group .addcriterion + .action, .btn-group #rubric-rubric.gradingform_rubric #rubric-criteria .criterion .addlevel .btn + input, #rubric-rubric.gradingform_rubric #rubric-criteria .criterion .addlevel .btn-group .btn + input, .btn-group #page-grade-grading-manage .actions #rubric-rubric.gradingform_rubric #rubric-criteria .criterion .addlevel .action + input, #rubric-rubric.gradingform_rubric #rubric-criteria .criterion .addlevel .btn-group #page-grade-grading-manage .actions .action + input, #page-grade-grading-manage .actions .btn-group #rubric-rubric.gradingform_rubric #rubric-criteria .criterion .addlevel .action + input, #rubric-rubric.gradingform_rubric #rubric-criteria .criterion .addlevel #page-grade-grading-manage .actions .btn-group .action + input, .btn-group #rubric-rubric.gradingform_rubric #rubric-criteria .criterion .addlevel input + input, #rubric-rubric.gradingform_rubric #rubric-criteria .criterion .addlevel .btn-group input + input, .btn-group #rubric-rubric.gradingform_rubric #rubric-criteria .criterion .addlevel .addcriterion + input, #rubric-rubric.gradingform_rubric .btn-group #rubric-criteria .criterion .addlevel .addcriterion + input, #rubric-rubric.gradingform_rubric #rubric-criteria .criterion .addlevel .btn-group .addcriterion + input, .btn-group #rubric-rubric.gradingform_rubric .btn + .addcriterion, #rubric-rubric.gradingform_rubric .btn-group .btn + .addcriterion, .btn-group #page-grade-grading-manage .actions #rubric-rubric.gradingform_rubric .action + .addcriterion, #rubric-rubric.gradingform_rubric .btn-group #page-grade-grading-manage .actions .action + .addcriterion, #page-grade-grading-manage .actions .btn-group #rubric-rubric.gradingform_rubric .action + .addcriterion, #rubric-rubric.gradingform_rubric #page-grade-grading-manage .actions .btn-group .action + .addcriterion, .btn-group #rubric-rubric.gradingform_rubric #rubric-criteria .criterion .addlevel input + .addcriterion, #rubric-rubric.gradingform_rubric #rubric-criteria .criterion .addlevel .btn-group input + .addcriterion, .btn-group #rubric-rubric.gradingform_rubric .addcriterion + .addcriterion, #rubric-rubric.gradingform_rubric .btn-group .addcriterion + .addcriterion,
+  .btn-group .btn + .btn-group,
+  .btn-group #page-grade-grading-manage .actions .action + .btn-group,
+  #page-grade-grading-manage .actions .btn-group .action + .btn-group,
+  .btn-group #rubric-rubric.gradingform_rubric #rubric-criteria .criterion .addlevel input + .btn-group,
+  #rubric-rubric.gradingform_rubric #rubric-criteria .criterion .addlevel .btn-group input + .btn-group,
+  .btn-group #rubric-rubric.gradingform_rubric .addcriterion + .btn-group,
+  #rubric-rubric.gradingform_rubric .btn-group .addcriterion + .btn-group,
+  .btn-group .btn-group + .btn,
+  .btn-group #page-grade-grading-manage .actions .btn-group + .action,
+  #page-grade-grading-manage .actions .btn-group .btn-group + .action,
+  .btn-group #rubric-rubric.gradingform_rubric #rubric-criteria .criterion .addlevel .btn-group + input,
+  #rubric-rubric.gradingform_rubric #rubric-criteria .criterion .addlevel .btn-group .btn-group + input,
+  .btn-group #rubric-rubric.gradingform_rubric .btn-group + .addcriterion,
+  #rubric-rubric.gradingform_rubric .btn-group .btn-group + .addcriterion,
+  .btn-group .btn-group + .btn-group,
+  .btn-group-vertical .btn + .btn,
+  .btn-group-vertical #page-grade-grading-manage .actions .action + .btn,
+  #page-grade-grading-manage .actions .btn-group-vertical .action + .btn,
+  .btn-group-vertical #rubric-rubric.gradingform_rubric #rubric-criteria .criterion .addlevel input + .btn,
+  #rubric-rubric.gradingform_rubric #rubric-criteria .criterion .addlevel .btn-group-vertical input + .btn,
+  .btn-group-vertical #rubric-rubric.gradingform_rubric .addcriterion + .btn,
+  #rubric-rubric.gradingform_rubric .btn-group-vertical .addcriterion + .btn,
+  .btn-group-vertical #page-grade-grading-manage .actions .btn + .action,
+  #page-grade-grading-manage .actions .btn-group-vertical .btn + .action,
+  .btn-group-vertical #page-grade-grading-manage .actions .action + .action,
+  #page-grade-grading-manage .actions .btn-group-vertical .action + .action,
+  .btn-group-vertical #rubric-rubric.gradingform_rubric #rubric-criteria .criterion .addlevel #page-grade-grading-manage .actions input + .action,
+  #page-grade-grading-manage .actions .btn-group-vertical #rubric-rubric.gradingform_rubric #rubric-criteria .criterion .addlevel input + .action,
+  #rubric-rubric.gradingform_rubric #rubric-criteria .criterion .addlevel .btn-group-vertical #page-grade-grading-manage .actions input + .action,
+  #page-grade-grading-manage .actions #rubric-rubric.gradingform_rubric #rubric-criteria .criterion .addlevel .btn-group-vertical input + .action,
+  .btn-group-vertical #rubric-rubric.gradingform_rubric #page-grade-grading-manage .actions .addcriterion + .action,
+  #page-grade-grading-manage .actions .btn-group-vertical #rubric-rubric.gradingform_rubric .addcriterion + .action,
+  #rubric-rubric.gradingform_rubric .btn-group-vertical #page-grade-grading-manage .actions .addcriterion + .action,
+  #page-grade-grading-manage .actions #rubric-rubric.gradingform_rubric .btn-group-vertical .addcriterion + .action,
+  .btn-group-vertical #rubric-rubric.gradingform_rubric #rubric-criteria .criterion .addlevel .btn + input,
+  #rubric-rubric.gradingform_rubric #rubric-criteria .criterion .addlevel .btn-group-vertical .btn + input,
+  .btn-group-vertical #page-grade-grading-manage .actions #rubric-rubric.gradingform_rubric #rubric-criteria .criterion .addlevel .action + input,
+  #rubric-rubric.gradingform_rubric #rubric-criteria .criterion .addlevel .btn-group-vertical #page-grade-grading-manage .actions .action + input,
+  #page-grade-grading-manage .actions .btn-group-vertical #rubric-rubric.gradingform_rubric #rubric-criteria .criterion .addlevel .action + input,
+  #rubric-rubric.gradingform_rubric #rubric-criteria .criterion .addlevel #page-grade-grading-manage .actions .btn-group-vertical .action + input,
+  .btn-group-vertical #rubric-rubric.gradingform_rubric #rubric-criteria .criterion .addlevel input + input,
+  #rubric-rubric.gradingform_rubric #rubric-criteria .criterion .addlevel .btn-group-vertical input + input,
+  .btn-group-vertical #rubric-rubric.gradingform_rubric #rubric-criteria .criterion .addlevel .addcriterion + input,
+  #rubric-rubric.gradingform_rubric .btn-group-vertical #rubric-criteria .criterion .addlevel .addcriterion + input,
+  #rubric-rubric.gradingform_rubric #rubric-criteria .criterion .addlevel .btn-group-vertical .addcriterion + input,
+  .btn-group-vertical #rubric-rubric.gradingform_rubric .btn + .addcriterion,
+  #rubric-rubric.gradingform_rubric .btn-group-vertical .btn + .addcriterion,
+  .btn-group-vertical #page-grade-grading-manage .actions #rubric-rubric.gradingform_rubric .action + .addcriterion,
+  #rubric-rubric.gradingform_rubric .btn-group-vertical #page-grade-grading-manage .actions .action + .addcriterion,
+  #page-grade-grading-manage .actions .btn-group-vertical #rubric-rubric.gradingform_rubric .action + .addcriterion,
+  #rubric-rubric.gradingform_rubric #page-grade-grading-manage .actions .btn-group-vertical .action + .addcriterion,
+  .btn-group-vertical #rubric-rubric.gradingform_rubric #rubric-criteria .criterion .addlevel input + .addcriterion,
+  #rubric-rubric.gradingform_rubric #rubric-criteria .criterion .addlevel .btn-group-vertical input + .addcriterion,
+  .btn-group-vertical #rubric-rubric.gradingform_rubric .addcriterion + .addcriterion,
+  #rubric-rubric.gradingform_rubric .btn-group-vertical .addcriterion + .addcriterion,
+  .btn-group-vertical .btn + .btn-group,
+  .btn-group-vertical #page-grade-grading-manage .actions .action + .btn-group,
+  #page-grade-grading-manage .actions .btn-group-vertical .action + .btn-group,
+  .btn-group-vertical #rubric-rubric.gradingform_rubric #rubric-criteria .criterion .addlevel input + .btn-group,
+  #rubric-rubric.gradingform_rubric #rubric-criteria .criterion .addlevel .btn-group-vertical input + .btn-group,
+  .btn-group-vertical #rubric-rubric.gradingform_rubric .addcriterion + .btn-group,
+  #rubric-rubric.gradingform_rubric .btn-group-vertical .addcriterion + .btn-group,
+  .btn-group-vertical .btn-group + .btn,
+  .btn-group-vertical #page-grade-grading-manage .actions .btn-group + .action,
+  #page-grade-grading-manage .actions .btn-group-vertical .btn-group + .action,
+  .btn-group-vertical #rubric-rubric.gradingform_rubric #rubric-criteria .criterion .addlevel .btn-group + input,
+  #rubric-rubric.gradingform_rubric #rubric-criteria .criterion .addlevel .btn-group-vertical .btn-group + input,
+  .btn-group-vertical #rubric-rubric.gradingform_rubric .btn-group + .addcriterion,
+  #rubric-rubric.gradingform_rubric .btn-group-vertical .btn-group + .addcriterion,
+  .btn-group-vertical .btn-group + .btn-group {
+    margin-left: -1px; }
+
+.btn-toolbar {
+  display: flex;
+  flex-wrap: wrap;
+  justify-content: flex-start; }
+  .btn-toolbar .input-group {
+    width: auto; }
+
+.btn-group > .btn:first-child, #page-grade-grading-manage .actions .btn-group > .action:first-child, #rubric-rubric.gradingform_rubric #rubric-criteria .criterion .addlevel .btn-group > input:first-child, #rubric-rubric.gradingform_rubric .btn-group > .addcriterion:first-child {
+  margin-left: 0; }
+
+.btn-group > .btn:not(:last-child):not(.dropdown-toggle), #page-grade-grading-manage .actions .btn-group > .action:not(:last-child):not(.dropdown-toggle), #rubric-rubric.gradingform_rubric #rubric-criteria .criterion .addlevel .btn-group > input:not(:last-child):not(.dropdown-toggle), #rubric-rubric.gradingform_rubric .btn-group > .addcriterion:not(:last-child):not(.dropdown-toggle),
+.btn-group > .btn-group:not(:last-child) > .btn,
+#page-grade-grading-manage .actions .btn-group > .btn-group:not(:last-child) > .action,
+#rubric-rubric.gradingform_rubric #rubric-criteria .criterion .addlevel .btn-group > .btn-group:not(:last-child) > input,
+#rubric-rubric.gradingform_rubric .btn-group > .btn-group:not(:last-child) > .addcriterion {
+  border-top-right-radius: 0;
+  border-bottom-right-radius: 0; }
+
+.btn-group > .btn:not(:first-child), #page-grade-grading-manage .actions .btn-group > .action:not(:first-child), #rubric-rubric.gradingform_rubric #rubric-criteria .criterion .addlevel .btn-group > input:not(:first-child), #rubric-rubric.gradingform_rubric .btn-group > .addcriterion:not(:first-child),
+.btn-group > .btn-group:not(:first-child) > .btn,
+#page-grade-grading-manage .actions .btn-group > .btn-group:not(:first-child) > .action,
+#rubric-rubric.gradingform_rubric #rubric-criteria .criterion .addlevel .btn-group > .btn-group:not(:first-child) > input,
+#rubric-rubric.gradingform_rubric .btn-group > .btn-group:not(:first-child) > .addcriterion {
+  border-top-left-radius: 0;
+  border-bottom-left-radius: 0; }
+
+.dropdown-toggle-split {
+  padding-right: 0.5625rem;
+  padding-left: 0.5625rem; }
+  .dropdown-toggle-split::after {
+    margin-left: 0; }
+
+.btn-sm + .dropdown-toggle-split, .btn-group-sm > .btn + .dropdown-toggle-split, #page-grade-grading-manage .actions .btn-group-sm > .action + .dropdown-toggle-split, #rubric-rubric.gradingform_rubric #rubric-criteria .criterion .addlevel .btn-group-sm > input + .dropdown-toggle-split, #rubric-rubric.gradingform_rubric .btn-group-sm > .addcriterion + .dropdown-toggle-split {
+  padding-right: 0.375rem;
+  padding-left: 0.375rem; }
+
+.btn-lg + .dropdown-toggle-split, .btn-group-lg > .btn + .dropdown-toggle-split, #page-grade-grading-manage .actions .btn-group-lg > .action + .dropdown-toggle-split, #rubric-rubric.gradingform_rubric #rubric-criteria .criterion .addlevel .btn-group-lg > input + .dropdown-toggle-split, #rubric-rubric.gradingform_rubric .btn-group-lg > .addcriterion + .dropdown-toggle-split, #page-grade-grading-manage .actions .action + .dropdown-toggle-split {
+  padding-right: 0.75rem;
+  padding-left: 0.75rem; }
+
+.btn-group-vertical {
+  flex-direction: column;
+  align-items: flex-start;
+  justify-content: center; }
+  .btn-group-vertical .btn, .btn-group-vertical #page-grade-grading-manage .actions .action, #page-grade-grading-manage .actions .btn-group-vertical .action, .btn-group-vertical #rubric-rubric.gradingform_rubric #rubric-criteria .criterion .addlevel input, #rubric-rubric.gradingform_rubric #rubric-criteria .criterion .addlevel .btn-group-vertical input, .btn-group-vertical #rubric-rubric.gradingform_rubric .addcriterion, #rubric-rubric.gradingform_rubric .btn-group-vertical .addcriterion,
+  .btn-group-vertical .btn-group {
+    width: 100%; }
+  .btn-group-vertical > .btn + .btn, #page-grade-grading-manage .actions .btn-group-vertical > .action + .btn, #rubric-rubric.gradingform_rubric #rubric-criteria .criterion .addlevel .btn-group-vertical > input + .btn, #rubric-rubric.gradingform_rubric .btn-group-vertical > .addcriterion + .btn, #page-grade-grading-manage .actions .btn-group-vertical > .btn + .action, #page-grade-grading-manage .actions .btn-group-vertical > .action + .action, #rubric-rubric.gradingform_rubric #rubric-criteria .criterion .addlevel #page-grade-grading-manage .actions .btn-group-vertical > input + .action, #page-grade-grading-manage .actions #rubric-rubric.gradingform_rubric #rubric-criteria .criterion .addlevel .btn-group-vertical > input + .action, #rubric-rubric.gradingform_rubric #page-grade-grading-manage .actions .btn-group-vertical > .addcriterion + .action, #page-grade-grading-manage .actions #rubric-rubric.gradingform_rubric .btn-group-vertical > .addcriterion + .action, #rubric-rubric.gradingform_rubric #rubric-criteria .criterion .addlevel .btn-group-vertical > .btn + input, #page-grade-grading-manage .actions #rubric-rubric.gradingform_rubric #rubric-criteria .criterion .addlevel .btn-group-vertical > .action + input, #rubric-rubric.gradingform_rubric #rubric-criteria .criterion .addlevel #page-grade-grading-manage .actions .btn-group-vertical > .action + input, #rubric-rubric.gradingform_rubric #rubric-criteria .criterion .addlevel .btn-group-vertical > input + input, #rubric-rubric.gradingform_rubric #rubric-criteria .criterion .addlevel .btn-group-vertical > .addcriterion + input, #rubric-rubric.gradingform_rubric .btn-group-vertical > .btn + .addcriterion, #page-grade-grading-manage .actions #rubric-rubric.gradingform_rubric .btn-group-vertical > .action + .addcriterion, #rubric-rubric.gradingform_rubric #page-grade-grading-manage .actions .btn-group-vertical > .action + .addcriterion, #rubric-rubric.gradingform_rubric #rubric-criteria .criterion .addlevel .btn-group-vertical > input + .addcriterion, #rubric-rubric.gradingform_rubric .btn-group-vertical > .addcriterion + .addcriterion,
+  .btn-group-vertical > .btn + .btn-group,
+  #page-grade-grading-manage .actions .btn-group-vertical > .action + .btn-group,
+  #rubric-rubric.gradingform_rubric #rubric-criteria .criterion .addlevel .btn-group-vertical > input + .btn-group,
+  #rubric-rubric.gradingform_rubric .btn-group-vertical > .addcriterion + .btn-group,
+  .btn-group-vertical > .btn-group + .btn,
+  #page-grade-grading-manage .actions .btn-group-vertical > .btn-group + .action,
+  #rubric-rubric.gradingform_rubric #rubric-criteria .criterion .addlevel .btn-group-vertical > .btn-group + input,
+  #rubric-rubric.gradingform_rubric .btn-group-vertical > .btn-group + .addcriterion,
+  .btn-group-vertical > .btn-group + .btn-group {
+    margin-top: -1px;
+    margin-left: 0; }
+  .btn-group-vertical > .btn:not(:last-child):not(.dropdown-toggle), #page-grade-grading-manage .actions .btn-group-vertical > .action:not(:last-child):not(.dropdown-toggle), #rubric-rubric.gradingform_rubric #rubric-criteria .criterion .addlevel .btn-group-vertical > input:not(:last-child):not(.dropdown-toggle), #rubric-rubric.gradingform_rubric .btn-group-vertical > .addcriterion:not(:last-child):not(.dropdown-toggle),
+  .btn-group-vertical > .btn-group:not(:last-child) > .btn,
+  #page-grade-grading-manage .actions .btn-group-vertical > .btn-group:not(:last-child) > .action,
+  #rubric-rubric.gradingform_rubric #rubric-criteria .criterion .addlevel .btn-group-vertical > .btn-group:not(:last-child) > input,
+  #rubric-rubric.gradingform_rubric .btn-group-vertical > .btn-group:not(:last-child) > .addcriterion {
+    border-bottom-right-radius: 0;
+    border-bottom-left-radius: 0; }
+  .btn-group-vertical > .btn:not(:first-child), #page-grade-grading-manage .actions .btn-group-vertical > .action:not(:first-child), #rubric-rubric.gradingform_rubric #rubric-criteria .criterion .addlevel .btn-group-vertical > input:not(:first-child), #rubric-rubric.gradingform_rubric .btn-group-vertical > .addcriterion:not(:first-child),
+  .btn-group-vertical > .btn-group:not(:first-child) > .btn,
+  #page-grade-grading-manage .actions .btn-group-vertical > .btn-group:not(:first-child) > .action,
+  #rubric-rubric.gradingform_rubric #rubric-criteria .criterion .addlevel .btn-group-vertical > .btn-group:not(:first-child) > input,
+  #rubric-rubric.gradingform_rubric .btn-group-vertical > .btn-group:not(:first-child) > .addcriterion {
+    border-top-left-radius: 0;
+    border-top-right-radius: 0; }
+
+.btn-group-toggle > .btn, #page-grade-grading-manage .actions .btn-group-toggle > .action, #rubric-rubric.gradingform_rubric #rubric-criteria .criterion .addlevel .btn-group-toggle > input, #rubric-rubric.gradingform_rubric .btn-group-toggle > .addcriterion,
+.btn-group-toggle > .btn-group > .btn,
+#page-grade-grading-manage .actions .btn-group-toggle > .btn-group > .action,
+#rubric-rubric.gradingform_rubric #rubric-criteria .criterion .addlevel .btn-group-toggle > .btn-group > input,
+#rubric-rubric.gradingform_rubric .btn-group-toggle > .btn-group > .addcriterion {
+  margin-bottom: 0; }
+  .btn-group-toggle > .btn input[type="radio"], #page-grade-grading-manage .actions .btn-group-toggle > .action input[type="radio"], #rubric-rubric.gradingform_rubric #rubric-criteria .criterion .addlevel .btn-group-toggle > input input[type="radio"], #rubric-rubric.gradingform_rubric .btn-group-toggle > .addcriterion input[type="radio"],
+  .btn-group-toggle > .btn input[type="checkbox"],
+  #page-grade-grading-manage .actions .btn-group-toggle > .action input[type="checkbox"],
+  #rubric-rubric.gradingform_rubric #rubric-criteria .criterion .addlevel .btn-group-toggle > input input[type="checkbox"],
+  #rubric-rubric.gradingform_rubric .btn-group-toggle > .addcriterion input[type="checkbox"],
+  .btn-group-toggle > .btn-group > .btn input[type="radio"],
+  #page-grade-grading-manage .actions .btn-group-toggle > .btn-group > .action input[type="radio"],
+  #rubric-rubric.gradingform_rubric #rubric-criteria .criterion .addlevel .btn-group-toggle > .btn-group > input input[type="radio"],
+  #rubric-rubric.gradingform_rubric .btn-group-toggle > .btn-group > .addcriterion input[type="radio"],
+  .btn-group-toggle > .btn-group > .btn input[type="checkbox"],
+  #page-grade-grading-manage .actions .btn-group-toggle > .btn-group > .action input[type="checkbox"],
+  #rubric-rubric.gradingform_rubric #rubric-criteria .criterion .addlevel .btn-group-toggle > .btn-group > input input[type="checkbox"],
+  #rubric-rubric.gradingform_rubric .btn-group-toggle > .btn-group > .addcriterion input[type="checkbox"] {
+    position: absolute;
+    clip: rect(0, 0, 0, 0);
+    pointer-events: none; }
+
+.input-group {
+  position: relative;
+  display: flex;
+  flex-wrap: wrap;
+  align-items: stretch;
+  width: 100%; }
+  .input-group > .form-control,
+  .input-group > .custom-select,
+  .input-group > .custom-file {
+    position: relative;
+    flex: 1 1 auto;
+    width: 1%;
+    margin-bottom: 0; }
+    .input-group > .form-control:focus,
+    .input-group > .custom-select:focus,
+    .input-group > .custom-file:focus {
+      z-index: 3; }
+    .input-group > .form-control + .form-control,
+    .input-group > .form-control + .custom-select,
+    .input-group > .form-control + .custom-file,
+    .input-group > .custom-select + .form-control,
+    .input-group > .custom-select + .custom-select,
+    .input-group > .custom-select + .custom-file,
+    .input-group > .custom-file + .form-control,
+    .input-group > .custom-file + .custom-select,
+    .input-group > .custom-file + .custom-file {
+      margin-left: -1px; }
+  .input-group > .form-control:not(:last-child),
+  .input-group > .custom-select:not(:last-child) {
+    border-top-right-radius: 0;
+    border-bottom-right-radius: 0; }
+  .input-group > .form-control:not(:first-child),
+  .input-group > .custom-select:not(:first-child) {
+    border-top-left-radius: 0;
+    border-bottom-left-radius: 0; }
+  .input-group > .custom-file {
+    display: flex;
+    align-items: center; }
+    .input-group > .custom-file:not(:last-child) .custom-file-label,
+    .input-group > .custom-file:not(:last-child) .custom-file-label::before {
+      border-top-right-radius: 0;
+      border-bottom-right-radius: 0; }
+    .input-group > .custom-file:not(:first-child) .custom-file-label,
+    .input-group > .custom-file:not(:first-child) .custom-file-label::before {
+      border-top-left-radius: 0;
+      border-bottom-left-radius: 0; }
+
+.input-group-prepend,
+.input-group-append {
+  display: flex; }
+  .input-group-prepend .btn, .input-group-prepend #page-grade-grading-manage .actions .action, #page-grade-grading-manage .actions .input-group-prepend .action, .input-group-prepend #rubric-rubric.gradingform_rubric #rubric-criteria .criterion .addlevel input, #rubric-rubric.gradingform_rubric #rubric-criteria .criterion .addlevel .input-group-prepend input, .input-group-prepend #rubric-rubric.gradingform_rubric .addcriterion, #rubric-rubric.gradingform_rubric .input-group-prepend .addcriterion,
+  .input-group-append .btn,
+  .input-group-append #page-grade-grading-manage .actions .action,
+  #page-grade-grading-manage .actions .input-group-append .action,
+  .input-group-append #rubric-rubric.gradingform_rubric #rubric-criteria .criterion .addlevel input,
+  #rubric-rubric.gradingform_rubric #rubric-criteria .criterion .addlevel .input-group-append input,
+  .input-group-append #rubric-rubric.gradingform_rubric .addcriterion,
+  #rubric-rubric.gradingform_rubric .input-group-append .addcriterion {
+    position: relative;
+    z-index: 2; }
+  .input-group-prepend .btn + .btn, .input-group-prepend #page-grade-grading-manage .actions .action + .btn, #page-grade-grading-manage .actions .input-group-prepend .action + .btn, .input-group-prepend #rubric-rubric.gradingform_rubric #rubric-criteria .criterion .addlevel input + .btn, #rubric-rubric.gradingform_rubric #rubric-criteria .criterion .addlevel .input-group-prepend input + .btn, .input-group-prepend #rubric-rubric.gradingform_rubric .addcriterion + .btn, #rubric-rubric.gradingform_rubric .input-group-prepend .addcriterion + .btn, .input-group-prepend #page-grade-grading-manage .actions .btn + .action, #page-grade-grading-manage .actions .input-group-prepend .btn + .action, .input-group-prepend #page-grade-grading-manage .actions .action + .action, #page-grade-grading-manage .actions .input-group-prepend .action + .action, .input-group-prepend #rubric-rubric.gradingform_rubric #rubric-criteria .criterion .addlevel #page-grade-grading-manage .actions input + .action, #page-grade-grading-manage .actions .input-group-prepend #rubric-rubric.gradingform_rubric #rubric-criteria .criterion .addlevel input + .action, #rubric-rubric.gradingform_rubric #rubric-criteria .criterion .addlevel .input-group-prepend #page-grade-grading-manage .actions input + .action, #page-grade-grading-manage .actions #rubric-rubric.gradingform_rubric #rubric-criteria .criterion .addlevel .input-group-prepend input + .action, .input-group-prepend #rubric-rubric.gradingform_rubric #page-grade-grading-manage .actions .addcriterion + .action, #page-grade-grading-manage .actions .input-group-prepend #rubric-rubric.gradingform_rubric .addcriterion + .action, #rubric-rubric.gradingform_rubric .input-group-prepend #page-grade-grading-manage .actions .addcriterion + .action, #page-grade-grading-manage .actions #rubric-rubric.gradingform_rubric .input-group-prepend .addcriterion + .action, .input-group-prepend #rubric-rubric.gradingform_rubric #rubric-criteria .criterion .addlevel .btn + input, #rubric-rubric.gradingform_rubric #rubric-criteria .criterion .addlevel .input-group-prepend .btn + input, .input-group-prepend #page-grade-grading-manage .actions #rubric-rubric.gradingform_rubric #rubric-criteria .criterion .addlevel .action + input, #rubric-rubric.gradingform_rubric #rubric-criteria .criterion .addlevel .input-group-prepend #page-grade-grading-manage .actions .action + input, #page-grade-grading-manage .actions .input-group-prepend #rubric-rubric.gradingform_rubric #rubric-criteria .criterion .addlevel .action + input, #rubric-rubric.gradingform_rubric #rubric-criteria .criterion .addlevel #page-grade-grading-manage .actions .input-group-prepend .action + input, .input-group-prepend #rubric-rubric.gradingform_rubric #rubric-criteria .criterion .addlevel input + input, #rubric-rubric.gradingform_rubric #rubric-criteria .criterion .addlevel .input-group-prepend input + input, .input-group-prepend #rubric-rubric.gradingform_rubric #rubric-criteria .criterion .addlevel .addcriterion + input, #rubric-rubric.gradingform_rubric .input-group-prepend #rubric-criteria .criterion .addlevel .addcriterion + input, #rubric-rubric.gradingform_rubric #rubric-criteria .criterion .addlevel .input-group-prepend .addcriterion + input, .input-group-prepend #rubric-rubric.gradingform_rubric .btn + .addcriterion, #rubric-rubric.gradingform_rubric .input-group-prepend .btn + .addcriterion, .input-group-prepend #page-grade-grading-manage .actions #rubric-rubric.gradingform_rubric .action + .addcriterion, #rubric-rubric.gradingform_rubric .input-group-prepend #page-grade-grading-manage .actions .action + .addcriterion, #page-grade-grading-manage .actions .input-group-prepend #rubric-rubric.gradingform_rubric .action + .addcriterion, #rubric-rubric.gradingform_rubric #page-grade-grading-manage .actions .input-group-prepend .action + .addcriterion, .input-group-prepend #rubric-rubric.gradingform_rubric #rubric-criteria .criterion .addlevel input + .addcriterion, #rubric-rubric.gradingform_rubric #rubric-criteria .criterion .addlevel .input-group-prepend input + .addcriterion, .input-group-prepend #rubric-rubric.gradingform_rubric .addcriterion + .addcriterion, #rubric-rubric.gradingform_rubric .input-group-prepend .addcriterion + .addcriterion,
+  .input-group-prepend .btn + .input-group-text,
+  .input-group-prepend #page-grade-grading-manage .actions .action + .input-group-text,
+  #page-grade-grading-manage .actions .input-group-prepend .action + .input-group-text,
+  .input-group-prepend #rubric-rubric.gradingform_rubric #rubric-criteria .criterion .addlevel input + .input-group-text,
+  #rubric-rubric.gradingform_rubric #rubric-criteria .criterion .addlevel .input-group-prepend input + .input-group-text,
+  .input-group-prepend #rubric-rubric.gradingform_rubric .addcriterion + .input-group-text,
+  #rubric-rubric.gradingform_rubric .input-group-prepend .addcriterion + .input-group-text,
+  .input-group-prepend .input-group-text + .input-group-text,
+  .input-group-prepend .input-group-text + .btn,
+  .input-group-prepend #page-grade-grading-manage .actions .input-group-text + .action,
+  #page-grade-grading-manage .actions .input-group-prepend .input-group-text + .action,
+  .input-group-prepend #rubric-rubric.gradingform_rubric #rubric-criteria .criterion .addlevel .input-group-text + input,
+  #rubric-rubric.gradingform_rubric #rubric-criteria .criterion .addlevel .input-group-prepend .input-group-text + input,
+  .input-group-prepend #rubric-rubric.gradingform_rubric .input-group-text + .addcriterion,
+  #rubric-rubric.gradingform_rubric .input-group-prepend .input-group-text + .addcriterion,
+  .input-group-append .btn + .btn,
+  .input-group-append #page-grade-grading-manage .actions .action + .btn,
+  #page-grade-grading-manage .actions .input-group-append .action + .btn,
+  .input-group-append #rubric-rubric.gradingform_rubric #rubric-criteria .criterion .addlevel input + .btn,
+  #rubric-rubric.gradingform_rubric #rubric-criteria .criterion .addlevel .input-group-append input + .btn,
+  .input-group-append #rubric-rubric.gradingform_rubric .addcriterion + .btn,
+  #rubric-rubric.gradingform_rubric .input-group-append .addcriterion + .btn,
+  .input-group-append #page-grade-grading-manage .actions .btn + .action,
+  #page-grade-grading-manage .actions .input-group-append .btn + .action,
+  .input-group-append #page-grade-grading-manage .actions .action + .action,
+  #page-grade-grading-manage .actions .input-group-append .action + .action,
+  .input-group-append #rubric-rubric.gradingform_rubric #rubric-criteria .criterion .addlevel #page-grade-grading-manage .actions input + .action,
+  #page-grade-grading-manage .actions .input-group-append #rubric-rubric.gradingform_rubric #rubric-criteria .criterion .addlevel input + .action,
+  #rubric-rubric.gradingform_rubric #rubric-criteria .criterion .addlevel .input-group-append #page-grade-grading-manage .actions input + .action,
+  #page-grade-grading-manage .actions #rubric-rubric.gradingform_rubric #rubric-criteria .criterion .addlevel .input-group-append input + .action,
+  .input-group-append #rubric-rubric.gradingform_rubric #page-grade-grading-manage .actions .addcriterion + .action,
+  #page-grade-grading-manage .actions .input-group-append #rubric-rubric.gradingform_rubric .addcriterion + .action,
+  #rubric-rubric.gradingform_rubric .input-group-append #page-grade-grading-manage .actions .addcriterion + .action,
+  #page-grade-grading-manage .actions #rubric-rubric.gradingform_rubric .input-group-append .addcriterion + .action,
+  .input-group-append #rubric-rubric.gradingform_rubric #rubric-criteria .criterion .addlevel .btn + input,
+  #rubric-rubric.gradingform_rubric #rubric-criteria .criterion .addlevel .input-group-append .btn + input,
+  .input-group-append #page-grade-grading-manage .actions #rubric-rubric.gradingform_rubric #rubric-criteria .criterion .addlevel .action + input,
+  #rubric-rubric.gradingform_rubric #rubric-criteria .criterion .addlevel .input-group-append #page-grade-grading-manage .actions .action + input,
+  #page-grade-grading-manage .actions .input-group-append #rubric-rubric.gradingform_rubric #rubric-criteria .criterion .addlevel .action + input,
+  #rubric-rubric.gradingform_rubric #rubric-criteria .criterion .addlevel #page-grade-grading-manage .actions .input-group-append .action + input,
+  .input-group-append #rubric-rubric.gradingform_rubric #rubric-criteria .criterion .addlevel input + input,
+  #rubric-rubric.gradingform_rubric #rubric-criteria .criterion .addlevel .input-group-append input + input,
+  .input-group-append #rubric-rubric.gradingform_rubric #rubric-criteria .criterion .addlevel .addcriterion + input,
+  #rubric-rubric.gradingform_rubric .input-group-append #rubric-criteria .criterion .addlevel .addcriterion + input,
+  #rubric-rubric.gradingform_rubric #rubric-criteria .criterion .addlevel .input-group-append .addcriterion + input,
+  .input-group-append #rubric-rubric.gradingform_rubric .btn + .addcriterion,
+  #rubric-rubric.gradingform_rubric .input-group-append .btn + .addcriterion,
+  .input-group-append #page-grade-grading-manage .actions #rubric-rubric.gradingform_rubric .action + .addcriterion,
+  #rubric-rubric.gradingform_rubric .input-group-append #page-grade-grading-manage .actions .action + .addcriterion,
+  #page-grade-grading-manage .actions .input-group-append #rubric-rubric.gradingform_rubric .action + .addcriterion,
+  #rubric-rubric.gradingform_rubric #page-grade-grading-manage .actions .input-group-append .action + .addcriterion,
+  .input-group-append #rubric-rubric.gradingform_rubric #rubric-criteria .criterion .addlevel input + .addcriterion,
+  #rubric-rubric.gradingform_rubric #rubric-criteria .criterion .addlevel .input-group-append input + .addcriterion,
+  .input-group-append #rubric-rubric.gradingform_rubric .addcriterion + .addcriterion,
+  #rubric-rubric.gradingform_rubric .input-group-append .addcriterion + .addcriterion,
+  .input-group-append .btn + .input-group-text,
+  .input-group-append #page-grade-grading-manage .actions .action + .input-group-text,
+  #page-grade-grading-manage .actions .input-group-append .action + .input-group-text,
+  .input-group-append #rubric-rubric.gradingform_rubric #rubric-criteria .criterion .addlevel input + .input-group-text,
+  #rubric-rubric.gradingform_rubric #rubric-criteria .criterion .addlevel .input-group-append input + .input-group-text,
+  .input-group-append #rubric-rubric.gradingform_rubric .addcriterion + .input-group-text,
+  #rubric-rubric.gradingform_rubric .input-group-append .addcriterion + .input-group-text,
+  .input-group-append .input-group-text + .input-group-text,
+  .input-group-append .input-group-text + .btn,
+  .input-group-append #page-grade-grading-manage .actions .input-group-text + .action,
+  #page-grade-grading-manage .actions .input-group-append .input-group-text + .action,
+  .input-group-append #rubric-rubric.gradingform_rubric #rubric-criteria .criterion .addlevel .input-group-text + input,
+  #rubric-rubric.gradingform_rubric #rubric-criteria .criterion .addlevel .input-group-append .input-group-text + input,
+  .input-group-append #rubric-rubric.gradingform_rubric .input-group-text + .addcriterion,
+  #rubric-rubric.gradingform_rubric .input-group-append .input-group-text + .addcriterion {
+    margin-left: -1px; }
+
+.input-group-prepend {
+  margin-right: -1px; }
+
+.input-group-append {
+  margin-left: -1px; }
+
+.input-group-text {
+  display: flex;
+  align-items: center;
+  padding: 0.375rem 0.75rem;
+  margin-bottom: 0;
+  font-size: 0.9375rem;
+  font-weight: 400;
+  line-height: 1.5;
+  color: #495057;
+  text-align: center;
+  white-space: nowrap;
+  background-color: #e9ecef;
+  border: 1px solid #ced4da;
+  border-radius: 0.25rem; }
+  .input-group-text input[type="radio"],
+  .input-group-text input[type="checkbox"] {
+    margin-top: 0; }
+
+.input-group > .input-group-prepend > .btn, #page-grade-grading-manage .actions .input-group > .input-group-prepend > .action, #rubric-rubric.gradingform_rubric #rubric-criteria .criterion .addlevel .input-group > .input-group-prepend > input, #rubric-rubric.gradingform_rubric .input-group > .input-group-prepend > .addcriterion,
+.input-group > .input-group-prepend > .input-group-text,
+.input-group > .input-group-append:not(:last-child) > .btn,
+#page-grade-grading-manage .actions .input-group > .input-group-append:not(:last-child) > .action,
+#rubric-rubric.gradingform_rubric #rubric-criteria .criterion .addlevel .input-group > .input-group-append:not(:last-child) > input,
+#rubric-rubric.gradingform_rubric .input-group > .input-group-append:not(:last-child) > .addcriterion,
+.input-group > .input-group-append:not(:last-child) > .input-group-text,
+.input-group > .input-group-append:last-child > .btn:not(:last-child):not(.dropdown-toggle),
+#page-grade-grading-manage .actions .input-group > .input-group-append:last-child > .action:not(:last-child):not(.dropdown-toggle),
+#rubric-rubric.gradingform_rubric #rubric-criteria .criterion .addlevel .input-group > .input-group-append:last-child > input:not(:last-child):not(.dropdown-toggle),
+#rubric-rubric.gradingform_rubric .input-group > .input-group-append:last-child > .addcriterion:not(:last-child):not(.dropdown-toggle),
+.input-group > .input-group-append:last-child > .input-group-text:not(:last-child) {
+  border-top-right-radius: 0;
+  border-bottom-right-radius: 0; }
+
+.input-group > .input-group-append > .btn, #page-grade-grading-manage .actions .input-group > .input-group-append > .action, #rubric-rubric.gradingform_rubric #rubric-criteria .criterion .addlevel .input-group > .input-group-append > input, #rubric-rubric.gradingform_rubric .input-group > .input-group-append > .addcriterion,
+.input-group > .input-group-append > .input-group-text,
+.input-group > .input-group-prepend:not(:first-child) > .btn,
+#page-grade-grading-manage .actions .input-group > .input-group-prepend:not(:first-child) > .action,
+#rubric-rubric.gradingform_rubric #rubric-criteria .criterion .addlevel .input-group > .input-group-prepend:not(:first-child) > input,
+#rubric-rubric.gradingform_rubric .input-group > .input-group-prepend:not(:first-child) > .addcriterion,
+.input-group > .input-group-prepend:not(:first-child) > .input-group-text,
+.input-group > .input-group-prepend:first-child > .btn:not(:first-child),
+#page-grade-grading-manage .actions .input-group > .input-group-prepend:first-child > .action:not(:first-child),
+#rubric-rubric.gradingform_rubric #rubric-criteria .criterion .addlevel .input-group > .input-group-prepend:first-child > input:not(:first-child),
+#rubric-rubric.gradingform_rubric .input-group > .input-group-prepend:first-child > .addcriterion:not(:first-child),
+.input-group > .input-group-prepend:first-child > .input-group-text:not(:first-child) {
+  border-top-left-radius: 0;
+  border-bottom-left-radius: 0; }
+
+.custom-control {
+  position: relative;
+  display: block;
+  min-height: 1.5rem;
+  padding-left: 1.5rem; }
+
+.custom-control-inline {
+  display: inline-flex;
+  margin-right: 1rem; }
+
+.custom-control-input {
+  position: absolute;
+  z-index: -1;
+  opacity: 0; }
+  .custom-control-input:checked ~ .custom-control-label::before {
+    color: #fff;
+    background-color: #1177d1; }
+  .custom-control-input:focus ~ .custom-control-label::before {
+    box-shadow: 0 0 0 1px #fff, 0 0 0 0.2rem rgba(17, 119, 209, 0.25); }
+  .custom-control-input:active ~ .custom-control-label::before {
+    color: #fff;
+    background-color: #9dcdf7; }
+  .custom-control-input:disabled ~ .custom-control-label {
+    color: #868e96; }
+    .custom-control-input:disabled ~ .custom-control-label::before {
+      background-color: #e9ecef; }
+
+.custom-control-label {
+  margin-bottom: 0; }
+  .custom-control-label::before {
+    position: absolute;
+    top: 0.25rem;
+    left: 0;
+    display: block;
+    width: 1rem;
+    height: 1rem;
+    pointer-events: none;
+    content: "";
+    user-select: none;
+    background-color: #dee2e6; }
+  .custom-control-label::after {
+    position: absolute;
+    top: 0.25rem;
+    left: 0;
+    display: block;
+    width: 1rem;
+    height: 1rem;
+    content: "";
+    background-repeat: no-repeat;
+    background-position: center center;
+    background-size: 50% 50%; }
+
+.custom-checkbox .custom-control-label::before {
+  border-radius: 0.25rem; }
+
+.custom-checkbox .custom-control-input:checked ~ .custom-control-label::before {
+  background-color: #1177d1; }
+
+.custom-checkbox .custom-control-input:checked ~ .custom-control-label::after {
+  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='%23fff' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26 2.974 7.25 8 2.193z'/%3E%3C/svg%3E"); }
+
+.custom-checkbox .custom-control-input:indeterminate ~ .custom-control-label::before {
+  background-color: #1177d1; }
+
+.custom-checkbox .custom-control-input:indeterminate ~ .custom-control-label::after {
+  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 4'%3E%3Cpath stroke='%23fff' d='M0 2h4'/%3E%3C/svg%3E"); }
+
+.custom-checkbox .custom-control-input:disabled:checked ~ .custom-control-label::before {
+  background-color: rgba(17, 119, 209, 0.5); }
+
+.custom-checkbox .custom-control-input:disabled:indeterminate ~ .custom-control-label::before {
+  background-color: rgba(17, 119, 209, 0.5); }
+
+.custom-radio .custom-control-label::before {
+  border-radius: 50%; }
+
+.custom-radio .custom-control-input:checked ~ .custom-control-label::before {
+  background-color: #1177d1; }
+
+.custom-radio .custom-control-input:checked ~ .custom-control-label::after {
+  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3E%3Ccircle r='3' fill='%23fff'/%3E%3C/svg%3E"); }
+
+.custom-radio .custom-control-input:disabled:checked ~ .custom-control-label::before {
+  background-color: rgba(17, 119, 209, 0.5); }
+
+.custom-select {
+  display: inline-block;
+  width: 100%;
+  height: calc(2.15625rem + 2px);
+  padding: 0.375rem 1.75rem 0.375rem 0.75rem;
+  line-height: 1.5;
+  color: #495057;
+  vertical-align: middle;
+  background: #fff url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 5'%3E%3Cpath fill='%23373a3c' d='M2 0L0 2h4zm0 5L0 3h4z'/%3E%3C/svg%3E") no-repeat right 0.75rem center;
+  background-size: 8px 10px;
+  border: 1px solid #ced4da;
+  border-radius: 0.25rem;
+  appearance: none; }
+  .custom-select:focus {
+    border-color: #6eb5f3;
+    outline: 0;
+    box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.075), 0 0 5px rgba(110, 181, 243, 0.5); }
+    .custom-select:focus::-ms-value {
+      color: #495057;
+      background-color: #fff; }
+  .custom-select[multiple], .custom-select[size]:not([size="1"]) {
+    height: auto;
+    padding-right: 0.75rem;
+    background-image: none; }
+  .custom-select:disabled {
+    color: #868e96;
+    background-color: #e9ecef; }
+  .custom-select::-ms-expand {
+    opacity: 0; }
+
+.custom-select-sm {
+  height: calc(1.73046875rem + 2px);
+  padding-top: 0.375rem;
+  padding-bottom: 0.375rem;
+  font-size: 75%; }
+
+.custom-select-lg {
+  height: calc(2.7578125rem + 2px);
+  padding-top: 0.375rem;
+  padding-bottom: 0.375rem;
+  font-size: 125%; }
+
+.custom-file {
+  position: relative;
+  display: inline-block;
+  width: 100%;
+  height: calc(2.15625rem + 2px);
+  margin-bottom: 0; }
+
+.custom-file-input {
+  position: relative;
+  z-index: 2;
+  width: 100%;
+  height: calc(2.15625rem + 2px);
+  margin: 0;
+  opacity: 0; }
+  .custom-file-input:focus ~ .custom-file-control {
+    border-color: #6eb5f3;
+    box-shadow: 0 0 0 0.2rem rgba(17, 119, 209, 0.25); }
+    .custom-file-input:focus ~ .custom-file-control::before {
+      border-color: #6eb5f3; }
+  .custom-file-input:lang(en) ~ .custom-file-label::after {
+    content: "Browse"; }
+
+.custom-file-label {
+  position: absolute;
+  top: 0;
+  right: 0;
+  left: 0;
+  z-index: 1;
+  height: calc(2.15625rem + 2px);
+  padding: 0.375rem 0.75rem;
+  line-height: 1.5;
+  color: #495057;
+  background-color: #fff;
+  border: 1px solid #ced4da;
+  border-radius: 0.25rem; }
+  .custom-file-label::after {
+    position: absolute;
+    top: 0;
+    right: 0;
+    bottom: 0;
+    z-index: 3;
+    display: block;
+    height: calc(calc(2.15625rem + 2px) - 1px * 2);
+    padding: 0.375rem 0.75rem;
+    line-height: 1.5;
+    color: #495057;
+    content: "Browse";
+    background-color: #e9ecef;
+    border-left: 1px solid #ced4da;
+    border-radius: 0 0.25rem 0.25rem 0; }
+
+.nav {
+  display: flex;
+  flex-wrap: wrap;
+  padding-left: 0;
+  margin-bottom: 0;
+  list-style: none; }
+
+.nav-link {
+  display: block;
+  padding: 0.5rem 1rem; }
+  .nav-link:hover, .nav-link:focus {
+    text-decoration: none; }
+  .nav-link.disabled {
+    color: #868e96; }
+
+.nav-tabs {
+  border-bottom: 1px solid #dee2e6; }
+  .nav-tabs .nav-item {
+    margin-bottom: -1px; }
+  .nav-tabs .nav-link {
+    border: 1px solid transparent;
+    border-top-left-radius: 0.25rem;
+    border-top-right-radius: 0.25rem; }
+    .nav-tabs .nav-link:hover, .nav-tabs .nav-link:focus {
+      border-color: #e9ecef #e9ecef #dee2e6; }
+    .nav-tabs .nav-link.disabled {
+      color: #868e96;
+      background-color: transparent;
+      border-color: transparent; }
+  .nav-tabs .nav-link.active,
+  .nav-tabs .nav-item.show .nav-link {
+    color: #495057;
+    background-color: #fff;
+    border-color: #dee2e6 #dee2e6 #fff; }
+  .nav-tabs .dropdown-menu {
+    margin-top: -1px;
+    border-top-left-radius: 0;
+    border-top-right-radius: 0; }
+
+.nav-pills .nav-link {
+  border-radius: 0.25rem; }
+
+.nav-pills .nav-link.active,
+.nav-pills .show > .nav-link {
+  color: #fff;
+  background-color: #1177d1; }
+
+.nav-fill .nav-item {
+  flex: 1 1 auto;
+  text-align: center; }
+
+.nav-justified .nav-item {
+  flex-basis: 0;
+  flex-grow: 1;
+  text-align: center; }
+
+.tab-content > .tab-pane {
+  display: none; }
+
+.tab-content > .active {
+  display: block; }
+
+.navbar {
+  position: relative;
+  display: flex;
+  flex-wrap: wrap;
+  align-items: center;
+  justify-content: space-between;
+  padding: 0.5rem 1rem; }
+  .navbar > .container,
+  .navbar > .container-fluid {
+    display: flex;
+    flex-wrap: wrap;
+    align-items: center;
+    justify-content: space-between; }
+
+.navbar-brand {
+  display: inline-block;
+  padding-top: 0.32421875rem;
+  padding-bottom: 0.32421875rem;
+  margin-right: 1rem;
+  font-size: 1.171875rem;
+  line-height: inherit;
+  white-space: nowrap; }
+  .navbar-brand:hover, .navbar-brand:focus {
+    text-decoration: none; }
+
+.navbar-nav {
+  display: flex;
+  flex-direction: column;
+  padding-left: 0;
+  margin-bottom: 0;
+  list-style: none; }
+  .navbar-nav .nav-link {
+    padding-right: 0;
+    padding-left: 0; }
+  .navbar-nav .dropdown-menu {
+    position: static;
+    float: none; }
+
+.navbar-text {
+  display: inline-block;
+  padding-top: 0.5rem;
+  padding-bottom: 0.5rem; }
+
+.navbar-collapse {
+  flex-basis: 100%;
+  flex-grow: 1;
+  align-items: center; }
+
+.navbar-toggler {
+  padding: 0.25rem 0.75rem;
+  font-size: 1.171875rem;
+  line-height: 1;
+  background-color: transparent;
+  border: 1px solid transparent;
+  border-radius: 0.25rem; }
+  .navbar-toggler:hover, .navbar-toggler:focus {
+    text-decoration: none; }
+  .navbar-toggler:not(:disabled):not(.disabled) {
+    cursor: pointer; }
+
+.navbar-toggler-icon {
+  display: inline-block;
+  width: 1.5em;
+  height: 1.5em;
+  vertical-align: middle;
+  content: "";
+  background: no-repeat center center;
+  background-size: 100% 100%; }
+
+@media (max-width: 575.98px) {
+  .navbar-expand-sm > .container,
+  .navbar-expand-sm > .container-fluid {
+    padding-right: 0;
+    padding-left: 0; } }
+
+@media (min-width: 576px) {
+  .navbar-expand-sm {
+    flex-flow: row nowrap;
+    justify-content: flex-start; }
+    .navbar-expand-sm .navbar-nav {
+      flex-direction: row; }
+      .navbar-expand-sm .navbar-nav .dropdown-menu {
+        position: absolute; }
+      .navbar-expand-sm .navbar-nav .dropdown-menu-right {
+        right: 0;
+        left: auto; }
+      .navbar-expand-sm .navbar-nav .nav-link {
+        padding-right: 0.5rem;
+        padding-left: 0.5rem; }
+    .navbar-expand-sm > .container,
+    .navbar-expand-sm > .container-fluid {
+      flex-wrap: nowrap; }
+    .navbar-expand-sm .navbar-collapse {
+      display: flex !important;
+      flex-basis: auto; }
+    .navbar-expand-sm .navbar-toggler {
+      display: none; }
+    .navbar-expand-sm .dropup .dropdown-menu {
+      top: auto;
+      bottom: 100%; } }
+
+@media (max-width: 767.98px) {
+  .navbar-expand-md > .container,
+  .navbar-expand-md > .container-fluid {
+    padding-right: 0;
+    padding-left: 0; } }
+
+@media (min-width: 768px) {
+  .navbar-expand-md {
+    flex-flow: row nowrap;
+    justify-content: flex-start; }
+    .navbar-expand-md .navbar-nav {
+      flex-direction: row; }
+      .navbar-expand-md .navbar-nav .dropdown-menu {
+        position: absolute; }
+      .navbar-expand-md .navbar-nav .dropdown-menu-right {
+        right: 0;
+        left: auto; }
+      .navbar-expand-md .navbar-nav .nav-link {
+        padding-right: 0.5rem;
+        padding-left: 0.5rem; }
+    .navbar-expand-md > .container,
+    .navbar-expand-md > .container-fluid {
+      flex-wrap: nowrap; }
+    .navbar-expand-md .navbar-collapse {
+      display: flex !important;
+      flex-basis: auto; }
+    .navbar-expand-md .navbar-toggler {
+      display: none; }
+    .navbar-expand-md .dropup .dropdown-menu {
+      top: auto;
+      bottom: 100%; } }
+
+@media (max-width: 991.98px) {
+  .navbar-expand-lg > .container,
+  .navbar-expand-lg > .container-fluid {
+    padding-right: 0;
+    padding-left: 0; } }
+
+@media (min-width: 992px) {
+  .navbar-expand-lg {
+    flex-flow: row nowrap;
+    justify-content: flex-start; }
+    .navbar-expand-lg .navbar-nav {
+      flex-direction: row; }
+      .navbar-expand-lg .navbar-nav .dropdown-menu {
+        position: absolute; }
+      .navbar-expand-lg .navbar-nav .dropdown-menu-right {
+        right: 0;
+        left: auto; }
+      .navbar-expand-lg .navbar-nav .nav-link {
+        padding-right: 0.5rem;
+        padding-left: 0.5rem; }
+    .navbar-expand-lg > .container,
+    .navbar-expand-lg > .container-fluid {
+      flex-wrap: nowrap; }
+    .navbar-expand-lg .navbar-collapse {
+      display: flex !important;
+      flex-basis: auto; }
+    .navbar-expand-lg .navbar-toggler {
+      display: none; }
+    .navbar-expand-lg .dropup .dropdown-menu {
+      top: auto;
+      bottom: 100%; } }
+
+@media (max-width: 1199.98px) {
+  .navbar-expand-xl > .container,
+  .navbar-expand-xl > .container-fluid {
+    padding-right: 0;
+    padding-left: 0; } }
+
+@media (min-width: 1200px) {
+  .navbar-expand-xl {
+    flex-flow: row nowrap;
+    justify-content: flex-start; }
+    .navbar-expand-xl .navbar-nav {
+      flex-direction: row; }
+      .navbar-expand-xl .navbar-nav .dropdown-menu {
+        position: absolute; }
+      .navbar-expand-xl .navbar-nav .dropdown-menu-right {
+        right: 0;
+        left: auto; }
+      .navbar-expand-xl .navbar-nav .nav-link {
+        padding-right: 0.5rem;
+        padding-left: 0.5rem; }
+    .navbar-expand-xl > .container,
+    .navbar-expand-xl > .container-fluid {
+      flex-wrap: nowrap; }
+    .navbar-expand-xl .navbar-collapse {
+      display: flex !important;
+      flex-basis: auto; }
+    .navbar-expand-xl .navbar-toggler {
+      display: none; }
+    .navbar-expand-xl .dropup .dropdown-menu {
+      top: auto;
+      bottom: 100%; } }
+
+.navbar-expand {
+  flex-flow: row nowrap;
+  justify-content: flex-start; }
+  .navbar-expand > .container,
+  .navbar-expand > .container-fluid {
+    padding-right: 0;
+    padding-left: 0; }
+  .navbar-expand .navbar-nav {
+    flex-direction: row; }
+    .navbar-expand .navbar-nav .dropdown-menu {
+      position: absolute; }
+    .navbar-expand .navbar-nav .dropdown-menu-right {
+      right: 0;
+      left: auto; }
+    .navbar-expand .navbar-nav .nav-link {
+      padding-right: 0.5rem;
+      padding-left: 0.5rem; }
+  .navbar-expand > .container,
+  .navbar-expand > .container-fluid {
+    flex-wrap: nowrap; }
+  .navbar-expand .navbar-collapse {
+    display: flex !important;
+    flex-basis: auto; }
+  .navbar-expand .navbar-toggler {
+    display: none; }
+  .navbar-expand .dropup .dropdown-menu {
+    top: auto;
+    bottom: 100%; }
+
+.navbar-light .navbar-brand {
+  color: rgba(0, 0, 0, 0.9); }
+  .navbar-light .navbar-brand:hover, .navbar-light .navbar-brand:focus {
+    color: rgba(0, 0, 0, 0.9); }
+
+.navbar-light .navbar-nav .nav-link {
+  color: rgba(0, 0, 0, 0.5); }
+  .navbar-light .navbar-nav .nav-link:hover, .navbar-light .navbar-nav .nav-link:focus {
+    color: rgba(0, 0, 0, 0.9); }
+  .navbar-light .navbar-nav .nav-link.disabled {
+    color: rgba(0, 0, 0, 0.3); }
+
+.navbar-light .navbar-nav .show > .nav-link,
+.navbar-light .navbar-nav .active > .nav-link,
+.navbar-light .navbar-nav .nav-link.show,
+.navbar-light .navbar-nav .nav-link.active {
+  color: rgba(0, 0, 0, 0.9); }
+
+.navbar-light .navbar-toggler {
+  color: rgba(0, 0, 0, 0.5);
+  border-color: rgba(0, 0, 0, 0.1); }
+
+.navbar-light .navbar-toggler-icon {
+  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='rgba(0, 0, 0, 0.5)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3E%3C/svg%3E"); }
+
+.navbar-light .navbar-text {
+  color: rgba(0, 0, 0, 0.5); }
+  .navbar-light .navbar-text a {
+    color: rgba(0, 0, 0, 0.9); }
+    .navbar-light .navbar-text a:hover, .navbar-light .navbar-text a:focus {
+      color: rgba(0, 0, 0, 0.9); }
+
+.navbar-dark .navbar-brand {
+  color: #fff; }
+  .navbar-dark .navbar-brand:hover, .navbar-dark .navbar-brand:focus {
+    color: #fff; }
+
+.navbar-dark .navbar-nav .nav-link {
+  color: rgba(255, 255, 255, 0.5); }
+  .navbar-dark .navbar-nav .nav-link:hover, .navbar-dark .navbar-nav .nav-link:focus {
+    color: white; }
+  .navbar-dark .navbar-nav .nav-link.disabled {
+    color: rgba(255, 255, 255, 0.25); }
+
+.navbar-dark .navbar-nav .show > .nav-link,
+.navbar-dark .navbar-nav .active > .nav-link,
+.navbar-dark .navbar-nav .nav-link.show,
+.navbar-dark .navbar-nav .nav-link.active {
+  color: #fff; }
+
+.navbar-dark .navbar-toggler {
+  color: rgba(255, 255, 255, 0.5);
+  border-color: rgba(255, 255, 255, 0.1); }
+
+.navbar-dark .navbar-toggler-icon {
+  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='rgba(255, 255, 255, 0.5)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3E%3C/svg%3E"); }
+
+.navbar-dark .navbar-text {
+  color: rgba(255, 255, 255, 0.5); }
+  .navbar-dark .navbar-text a {
+    color: #fff; }
+    .navbar-dark .navbar-text a:hover, .navbar-dark .navbar-text a:focus {
+      color: #fff; }
+
+.card, #page-enrol-users #filterform, .que .history, .userprofile .profile_tree section, .groupinfobox, .well {
+  position: relative;
+  display: flex;
+  flex-direction: column;
+  min-width: 0;
+  word-wrap: break-word;
+  background-color: #fff;
+  background-clip: border-box;
+  border: 1px solid rgba(0, 0, 0, 0.125);
+  border-radius: 0.25rem; }
+  .card > hr, #page-enrol-users #filterform > hr, .que .history > hr, .userprofile .profile_tree section > hr, .groupinfobox > hr, .well > hr {
+    margin-right: 0;
+    margin-left: 0; }
+  .card > .list-group:first-child .list-group-item:first-child, #page-enrol-users #filterform > .list-group:first-child .list-group-item:first-child, .que .history > .list-group:first-child .list-group-item:first-child, .userprofile .profile_tree section > .list-group:first-child .list-group-item:first-child, .groupinfobox > .list-group:first-child .list-group-item:first-child, .well > .list-group:first-child .list-group-item:first-child {
+    border-top-left-radius: 0.25rem;
+    border-top-right-radius: 0.25rem; }
+  .card > .list-group:last-child .list-group-item:last-child, #page-enrol-users #filterform > .list-group:last-child .list-group-item:last-child, .que .history > .list-group:last-child .list-group-item:last-child, .userprofile .profile_tree section > .list-group:last-child .list-group-item:last-child, .groupinfobox > .list-group:last-child .list-group-item:last-child, .well > .list-group:last-child .list-group-item:last-child {
+    border-bottom-right-radius: 0.25rem;
+    border-bottom-left-radius: 0.25rem; }
+
+.card-body, .userprofile .profile_tree section {
+  flex: 1 1 auto;
+  padding: 1.25rem; }
+
+.card-title {
+  margin-bottom: 0.75rem; }
+
+.card-subtitle {
+  margin-top: -0.375rem;
+  margin-bottom: 0; }
+
+.card-text:last-child {
+  margin-bottom: 0; }
+
+.card-link:hover {
+  text-decoration: none; }
+
+.card-link + .card-link {
+  margin-left: 1.25rem; }
+
+.card-header {
+  padding: 0.75rem 1.25rem;
+  margin-bottom: 0;
+  background-color: rgba(0, 0, 0, 0.03);
+  border-bottom: 1px solid rgba(0, 0, 0, 0.125); }
+  .card-header:first-child {
+    border-radius: calc(0.25rem - 1px) calc(0.25rem - 1px) 0 0; }
+  .card-header + .list-group .list-group-item:first-child {
+    border-top: 0; }
+
+.card-footer {
+  padding: 0.75rem 1.25rem;
+  background-color: rgba(0, 0, 0, 0.03);
+  border-top: 1px solid rgba(0, 0, 0, 0.125); }
+  .card-footer:last-child {
+    border-radius: 0 0 calc(0.25rem - 1px) calc(0.25rem - 1px); }
+
+.card-header-tabs {
+  margin-right: -0.625rem;
+  margin-bottom: -0.75rem;
+  margin-left: -0.625rem;
+  border-bottom: 0; }
+
+.card-header-pills {
+  margin-right: -0.625rem;
+  margin-left: -0.625rem; }
+
+.card-img-overlay {
+  position: absolute;
+  top: 0;
+  right: 0;
+  bottom: 0;
+  left: 0;
+  padding: 1.25rem; }
+
+.card-img {
+  width: 100%;
+  border-radius: calc(0.25rem - 1px); }
+
+.card-img-top {
+  width: 100%;
+  border-top-left-radius: calc(0.25rem - 1px);
+  border-top-right-radius: calc(0.25rem - 1px); }
+
+.card-img-bottom {
+  width: 100%;
+  border-bottom-right-radius: calc(0.25rem - 1px);
+  border-bottom-left-radius: calc(0.25rem - 1px); }
+
+.card-deck {
+  display: flex;
+  flex-direction: column; }
+  .card-deck .card, .card-deck #page-enrol-users #filterform, #page-enrol-users .card-deck #filterform, .card-deck .que .history, .que .card-deck .history, .card-deck .userprofile .profile_tree section, .userprofile .profile_tree .card-deck section, .card-deck .groupinfobox, .card-deck .well {
+    margin-bottom: 0.25rem; }
+  @media (min-width: 576px) {
+    .card-deck {
+      flex-flow: row wrap;
+      margin-right: -0.25rem;
+      margin-left: -0.25rem; }
+      .card-deck .card, .card-deck #page-enrol-users #filterform, #page-enrol-users .card-deck #filterform, .card-deck .que .history, .que .card-deck .history, .card-deck .userprofile .profile_tree section, .userprofile .profile_tree .card-deck section, .card-deck .groupinfobox, .card-deck .well {
+        display: flex;
+        flex: 1 0 0%;
+        flex-direction: column;
+        margin-right: 0.25rem;
+        margin-bottom: 0;
+        margin-left: 0.25rem; } }
+
+.card-group {
+  display: flex;
+  flex-direction: column; }
+  .card-group > .card, #page-enrol-users .card-group > #filterform, .que .card-group > .history, .userprofile .profile_tree .card-group > section, .card-group > .groupinfobox, .card-group > .well {
+    margin-bottom: 0.25rem; }
+  @media (min-width: 576px) {
+    .card-group {
+      flex-flow: row wrap; }
+      .card-group > .card, #page-enrol-users .card-group > #filterform, .que .card-group > .history, .userprofile .profile_tree .card-group > section, .card-group > .groupinfobox, .card-group > .well {
+        flex: 1 0 0%;
+        margin-bottom: 0; }
+        .card-group > .card + .card, #page-enrol-users .card-group > #filterform + .card, .que .card-group > .history + .card, .userprofile .profile_tree .card-group > section + .card, .card-group > .groupinfobox + .card, .card-group > .well + .card, #page-enrol-users .card-group > .card + #filterform, #page-enrol-users .card-group > #filterform + #filterform, .que #page-enrol-users .card-group > .history + #filterform, #page-enrol-users .que .card-group > .history + #filterform, .userprofile .profile_tree #page-enrol-users .card-group > section + #filterform, #page-enrol-users .userprofile .profile_tree .card-group > section + #filterform, #page-enrol-users .card-group > .groupinfobox + #filterform, #page-enrol-users .card-group > .well + #filterform, .que .card-group > .card + .history, #page-enrol-users .que .card-group > #filterform + .history, .que #page-enrol-users .card-group > #filterform + .history, .que .card-group > .history + .history, .userprofile .profile_tree .que .card-group > section + .history, .que .userprofile .profile_tree .card-group > section + .history, .que .card-group > .groupinfobox + .history, .que .card-group > .well + .history, .userprofile .profile_tree .card-group > .card + section, #page-enrol-users .userprofile .profile_tree .card-group > #filterform + section, .userprofile .profile_tree #page-enrol-users .card-group > #filterform + section, .que .userprofile .profile_tree .card-group > .history + section, .userprofile .profile_tree .que .card-group > .history + section, .userprofile .profile_tree .card-group > section + section, .userprofile .profile_tree .card-group > .groupinfobox + section, .userprofile .profile_tree .card-group > .well + section, .card-group > .card + .groupinfobox, #page-enrol-users .card-group > #filterform + .groupinfobox, .que .card-group > .history + .groupinfobox, .userprofile .profile_tree .card-group > section + .groupinfobox, .card-group > .groupinfobox + .groupinfobox, .card-group > .well + .groupinfobox, .card-group > .card + .well, #page-enrol-users .card-group > #filterform + .well, .que .card-group > .history + .well, .userprofile .profile_tree .card-group > section + .well, .card-group > .groupinfobox + .well, .card-group > .well + .well {
+          margin-left: 0;
+          border-left: 0; }
+        .card-group > .card:first-child, #page-enrol-users .card-group > #filterform:first-child, .que .card-group > .history:first-child, .userprofile .profile_tree .card-group > section:first-child, .card-group > .groupinfobox:first-child, .card-group > .well:first-child {
+          border-top-right-radius: 0;
+          border-bottom-right-radius: 0; }
+          .card-group > .card:first-child .card-img-top, #page-enrol-users .card-group > #filterform:first-child .card-img-top, .que .card-group > .history:first-child .card-img-top, .userprofile .profile_tree .card-group > section:first-child .card-img-top, .card-group > .groupinfobox:first-child .card-img-top, .card-group > .well:first-child .card-img-top,
+          .card-group > .card:first-child .card-header,
+          #page-enrol-users .card-group > #filterform:first-child .card-header,
+          .que .card-group > .history:first-child .card-header,
+          .userprofile .profile_tree .card-group > section:first-child .card-header,
+          .card-group > .groupinfobox:first-child .card-header,
+          .card-group > .well:first-child .card-header {
+            border-top-right-radius: 0; }
+          .card-group > .card:first-child .card-img-bottom, #page-enrol-users .card-group > #filterform:first-child .card-img-bottom, .que .card-group > .history:first-child .card-img-bottom, .userprofile .profile_tree .card-group > section:first-child .card-img-bottom, .card-group > .groupinfobox:first-child .card-img-bottom, .card-group > .well:first-child .card-img-bottom,
+          .card-group > .card:first-child .card-footer,
+          #page-enrol-users .card-group > #filterform:first-child .card-footer,
+          .que .card-group > .history:first-child .card-footer,
+          .userprofile .profile_tree .card-group > section:first-child .card-footer,
+          .card-group > .groupinfobox:first-child .card-footer,
+          .card-group > .well:first-child .card-footer {
+            border-bottom-right-radius: 0; }
+        .card-group > .card:last-child, #page-enrol-users .card-group > #filterform:last-child, .que .card-group > .history:last-child, .userprofile .profile_tree .card-group > section:last-child, .card-group > .groupinfobox:last-child, .card-group > .well:last-child {
+          border-top-left-radius: 0;
+          border-bottom-left-radius: 0; }
+          .card-group > .card:last-child .card-img-top, #page-enrol-users .card-group > #filterform:last-child .card-img-top, .que .card-group > .history:last-child .card-img-top, .userprofile .profile_tree .card-group > section:last-child .card-img-top, .card-group > .groupinfobox:last-child .card-img-top, .card-group > .well:last-child .card-img-top,
+          .card-group > .card:last-child .card-header,
+          #page-enrol-users .card-group > #filterform:last-child .card-header,
+          .que .card-group > .history:last-child .card-header,
+          .userprofile .profile_tree .card-group > section:last-child .card-header,
+          .card-group > .groupinfobox:last-child .card-header,
+          .card-group > .well:last-child .card-header {
+            border-top-left-radius: 0; }
+          .card-group > .card:last-child .card-img-bottom, #page-enrol-users .card-group > #filterform:last-child .card-img-bottom, .que .card-group > .history:last-child .card-img-bottom, .userprofile .profile_tree .card-group > section:last-child .card-img-bottom, .card-group > .groupinfobox:last-child .card-img-bottom, .card-group > .well:last-child .card-img-bottom,
+          .card-group > .card:last-child .card-footer,
+          #page-enrol-users .card-group > #filterform:last-child .card-footer,
+          .que .card-group > .history:last-child .card-footer,
+          .userprofile .profile_tree .card-group > section:last-child .card-footer,
+          .card-group > .groupinfobox:last-child .card-footer,
+          .card-group > .well:last-child .card-footer {
+            border-bottom-left-radius: 0; }
+        .card-group > .card:only-child, #page-enrol-users .card-group > #filterform:only-child, .que .card-group > .history:only-child, .userprofile .profile_tree .card-group > section:only-child, .card-group > .groupinfobox:only-child, .card-group > .well:only-child {
+          border-radius: 0.25rem; }
+          .card-group > .card:only-child .card-img-top, #page-enrol-users .card-group > #filterform:only-child .card-img-top, .que .card-group > .history:only-child .card-img-top, .userprofile .profile_tree .card-group > section:only-child .card-img-top, .card-group > .groupinfobox:only-child .card-img-top, .card-group > .well:only-child .card-img-top,
+          .card-group > .card:only-child .card-header,
+          #page-enrol-users .card-group > #filterform:only-child .card-header,
+          .que .card-group > .history:only-child .card-header,
+          .userprofile .profile_tree .card-group > section:only-child .card-header,
+          .card-group > .groupinfobox:only-child .card-header,
+          .card-group > .well:only-child .card-header {
+            border-top-left-radius: 0.25rem;
+            border-top-right-radius: 0.25rem; }
+          .card-group > .card:only-child .card-img-bottom, #page-enrol-users .card-group > #filterform:only-child .card-img-bottom, .que .card-group > .history:only-child .card-img-bottom, .userprofile .profile_tree .card-group > section:only-child .card-img-bottom, .card-group > .groupinfobox:only-child .card-img-bottom, .card-group > .well:only-child .card-img-bottom,
+          .card-group > .card:only-child .card-footer,
+          #page-enrol-users .card-group > #filterform:only-child .card-footer,
+          .que .card-group > .history:only-child .card-footer,
+          .userprofile .profile_tree .card-group > section:only-child .card-footer,
+          .card-group > .groupinfobox:only-child .card-footer,
+          .card-group > .well:only-child .card-footer {
+            border-bottom-right-radius: 0.25rem;
+            border-bottom-left-radius: 0.25rem; }
+        .card-group > .card:not(:first-child):not(:last-child):not(:only-child), #page-enrol-users .card-group > #filterform:not(:first-child):not(:last-child):not(:only-child), .que .card-group > .history:not(:first-child):not(:last-child):not(:only-child), .userprofile .profile_tree .card-group > section:not(:first-child):not(:last-child):not(:only-child), .card-group > .groupinfobox:not(:first-child):not(:last-child):not(:only-child), .card-group > .well:not(:first-child):not(:last-child):not(:only-child) {
+          border-radius: 0; }
+          .card-group > .card:not(:first-child):not(:last-child):not(:only-child) .card-img-top, #page-enrol-users .card-group > #filterform:not(:first-child):not(:last-child):not(:only-child) .card-img-top, .que .card-group > .history:not(:first-child):not(:last-child):not(:only-child) .card-img-top, .userprofile .profile_tree .card-group > section:not(:first-child):not(:last-child):not(:only-child) .card-img-top, .card-group > .groupinfobox:not(:first-child):not(:last-child):not(:only-child) .card-img-top, .card-group > .well:not(:first-child):not(:last-child):not(:only-child) .card-img-top,
+          .card-group > .card:not(:first-child):not(:last-child):not(:only-child) .card-img-bottom,
+          #page-enrol-users .card-group > #filterform:not(:first-child):not(:last-child):not(:only-child) .card-img-bottom,
+          .que .card-group > .history:not(:first-child):not(:last-child):not(:only-child) .card-img-bottom,
+          .userprofile .profile_tree .card-group > section:not(:first-child):not(:last-child):not(:only-child) .card-img-bottom,
+          .card-group > .groupinfobox:not(:first-child):not(:last-child):not(:only-child) .card-img-bottom,
+          .card-group > .well:not(:first-child):not(:last-child):not(:only-child) .card-img-bottom,
+          .card-group > .card:not(:first-child):not(:last-child):not(:only-child) .card-header,
+          #page-enrol-users .card-group > #filterform:not(:first-child):not(:last-child):not(:only-child) .card-header,
+          .que .card-group > .history:not(:first-child):not(:last-child):not(:only-child) .card-header,
+          .userprofile .profile_tree .card-group > section:not(:first-child):not(:last-child):not(:only-child) .card-header,
+          .card-group > .groupinfobox:not(:first-child):not(:last-child):not(:only-child) .card-header,
+          .card-group > .well:not(:first-child):not(:last-child):not(:only-child) .card-header,
+          .card-group > .card:not(:first-child):not(:last-child):not(:only-child) .card-footer,
+          #page-enrol-users .card-group > #filterform:not(:first-child):not(:last-child):not(:only-child) .card-footer,
+          .que .card-group > .history:not(:first-child):not(:last-child):not(:only-child) .card-footer,
+          .userprofile .profile_tree .card-group > section:not(:first-child):not(:last-child):not(:only-child) .card-footer,
+          .card-group > .groupinfobox:not(:first-child):not(:last-child):not(:only-child) .card-footer,
+          .card-group > .well:not(:first-child):not(:last-child):not(:only-child) .card-footer {
+            border-radius: 0; } }
+
+.card-columns .card, .card-columns #page-enrol-users #filterform, #page-enrol-users .card-columns #filterform, .card-columns .que .history, .que .card-columns .history, .card-columns .userprofile .profile_tree section, .userprofile .profile_tree .card-columns section, .card-columns .groupinfobox, .card-columns .well {
+  margin-bottom: 0.75rem; }
+
+@media (min-width: 576px) {
+  .card-columns {
+    column-count: 3;
+    column-gap: 1.25rem; }
+    .card-columns .card, .card-columns #page-enrol-users #filterform, #page-enrol-users .card-columns #filterform, .card-columns .que .history, .que .card-columns .history, .card-columns .userprofile .profile_tree section, .userprofile .profile_tree .card-columns section, .card-columns .groupinfobox, .card-columns .well {
+      display: inline-block;
+      width: 100%; } }
+
+.breadcrumb {
+  display: flex;
+  flex-wrap: wrap;
+  padding: 0.25rem 0;
+  margin-bottom: 0;
+  list-style: none;
+  background-color: transparent;
+  border-radius: 0.25rem; }
+
+.breadcrumb-item + .breadcrumb-item::before {
+  display: inline-block;
+  padding-right: 0.5rem;
+  padding-left: 0.5rem;
+  color: #868e96;
+  content: "/"; }
+
+.breadcrumb-item + .breadcrumb-item:hover::before {
+  text-decoration: underline; }
+
+.breadcrumb-item + .breadcrumb-item:hover::before {
+  text-decoration: none; }
+
+.breadcrumb-item.active {
+  color: #868e96; }
+
+.pagination {
+  display: flex;
+  padding-left: 0;
+  list-style: none;
+  border-radius: 0.25rem; }
+
+.page-link {
+  position: relative;
+  display: block;
+  padding: 0.5rem 0.75rem;
+  margin-left: -1px;
+  line-height: 1.25;
+  color: #1177d1;
+  background-color: #fff;
+  border: 1px solid #dee2e6; }
+  .page-link:hover {
+    color: #0b4f8a;
+    text-decoration: none;
+    background-color: #e9ecef;
+    border-color: #dee2e6; }
+  .page-link:focus {
+    z-index: 2;
+    outline: 0;
+    box-shadow: 0 0 0 0.2rem rgba(17, 119, 209, 0.25); }
+  .page-link:not(:disabled):not(.disabled) {
+    cursor: pointer; }
+
+.page-item:first-child .page-link {
+  margin-left: 0;
+  border-top-left-radius: 0.25rem;
+  border-bottom-left-radius: 0.25rem; }
+
+.page-item:last-child .page-link {
+  border-top-right-radius: 0.25rem;
+  border-bottom-right-radius: 0.25rem; }
+
+.page-item.active .page-link {
+  z-index: 1;
+  color: #fff;
+  background-color: #1177d1;
+  border-color: #1177d1; }
+
+.page-item.disabled .page-link {
+  color: #868e96;
+  pointer-events: none;
+  cursor: auto;
+  background-color: #fff;
+  border-color: #dee2e6; }
+
+.pagination-lg .page-link {
+  padding: 0.75rem 1.5rem;
+  font-size: 1.171875rem;
+  line-height: 1.5; }
+
+.pagination-lg .page-item:first-child .page-link {
+  border-top-left-radius: 0.3rem;
+  border-bottom-left-radius: 0.3rem; }
+
+.pagination-lg .page-item:last-child .page-link {
+  border-top-right-radius: 0.3rem;
+  border-bottom-right-radius: 0.3rem; }
+
+.pagination-sm .page-link {
+  padding: 0.25rem 0.5rem;
+  font-size: 0.8203125rem;
+  line-height: 1.5; }
+
+.pagination-sm .page-item:first-child .page-link {
+  border-top-left-radius: 0.2rem;
+  border-bottom-left-radius: 0.2rem; }
+
+.pagination-sm .page-item:last-child .page-link {
+  border-top-right-radius: 0.2rem;
+  border-bottom-right-radius: 0.2rem; }
+
+.badge {
+  display: inline-block;
+  padding: 0.25em 0.4em;
+  font-size: 75%;
+  font-weight: 700;
+  line-height: 1;
+  text-align: center;
+  white-space: nowrap;
+  vertical-align: baseline;
+  border-radius: 0.25rem; }
+  .badge:empty {
+    display: none; }
+
+.btn .badge, #page-grade-grading-manage .actions .action .badge, #rubric-rubric.gradingform_rubric #rubric-criteria .criterion .addlevel input .badge, #rubric-rubric.gradingform_rubric .addcriterion .badge {
+  position: relative;
+  top: -1px; }
+
+.badge-pill {
+  padding-right: 0.6em;
+  padding-left: 0.6em;
+  border-radius: 10rem; }
+
+.badge-primary {
+  color: #fff;
+  background-color: #1177d1; }
+  .badge-primary[href]:hover, .badge-primary[href]:focus {
+    color: #fff;
+    text-decoration: none;
+    background-color: #0d5ca2; }
+
+.badge-secondary {
+  color: #212529;
+  background-color: #e9ecef; }
+  .badge-secondary[href]:hover, .badge-secondary[href]:focus {
+    color: #212529;
+    text-decoration: none;
+    background-color: #cbd3da; }
+
+.badge-success {
+  color: #fff;
+  background-color: #5cb85c; }
+  .badge-success[href]:hover, .badge-success[href]:focus {
+    color: #fff;
+    text-decoration: none;
+    background-color: #449d44; }
+
+.badge-info {
+  color: #212529;
+  background-color: #5bc0de; }
+  .badge-info[href]:hover, .badge-info[href]:focus {
+    color: #212529;
+    text-decoration: none;
+    background-color: #31b0d5; }
+
+.badge-warning {
+  color: #212529;
+  background-color: #f0ad4e; }
+  .badge-warning[href]:hover, .badge-warning[href]:focus {
+    color: #212529;
+    text-decoration: none;
+    background-color: #ec971f; }
+
+.badge-danger {
+  color: #fff;
+  background-color: #d9534f; }
+  .badge-danger[href]:hover, .badge-danger[href]:focus {
+    color: #fff;
+    text-decoration: none;
+    background-color: #c9302c; }
+
+.badge-light {
+  color: #212529;
+  background-color: #f8f9fa; }
+  .badge-light[href]:hover, .badge-light[href]:focus {
+    color: #212529;
+    text-decoration: none;
+    background-color: #dae0e5; }
+
+.badge-dark {
+  color: #fff;
+  background-color: #373a3c; }
+  .badge-dark[href]:hover, .badge-dark[href]:focus {
+    color: #fff;
+    text-decoration: none;
+    background-color: #1f2021; }
+
+.jumbotron {
+  padding: 2rem 1rem;
+  margin-bottom: 2rem;
+  background-color: #e9ecef;
+  border-radius: 0.3rem; }
+  @media (min-width: 576px) {
+    .jumbotron {
+      padding: 4rem 2rem; } }
+
+.jumbotron-fluid {
+  padding-right: 0;
+  padding-left: 0;
+  border-radius: 0; }
+
+.alert, #page-admin-index .releasenoteslink,
+#page-admin-index .adminwarning,
+#page-admin-index .adminerror, .que .formulation,
+.que .outcome,
+.que .comment, .assignfeedback_editpdf_widget .label {
+  position: relative;
+  padding: 0.75rem 1.25rem;
+  margin-bottom: 1rem;
+  border: 0 solid transparent;
+  border-radius: 0.25rem; }
+
+.alert-heading {
+  color: inherit; }
+
+.alert-link {
+  font-weight: 700; }
+
+.alert-dismissible {
+  padding-right: 3.90625rem; }
+  .alert-dismissible .close, .alert-dismissible .moodle-dialogue-base .closebutton, .moodle-dialogue-base .alert-dismissible .closebutton {
+    position: absolute;
+    top: 0;
+    right: 0;
+    padding: 0.75rem 1.25rem;
+    color: inherit; }
+
+.alert-primary {
+  color: #093e6d;
+  background-color: #cfe4f6;
+  border-color: #bcd9f2; }
+  .alert-primary hr {
+    border-top-color: #a7cdee; }
+  .alert-primary .alert-link {
+    color: #05233e; }
+
+.alert-secondary {
+  color: #797b7c;
+  background-color: #fbfbfc;
+  border-color: #f9fafb; }
+  .alert-secondary hr {
+    border-top-color: #eaedf1; }
+  .alert-secondary .alert-link {
+    color: #606162; }
+
+.alert-success,
+.que .comment {
+  color: #306030;
+  background-color: #def1de;
+  border-color: #d1ebd1; }
+  .alert-success hr, .que .comment hr {
+    border-top-color: #bfe3bf; }
+  .alert-success .alert-link, .que .comment .alert-link {
+    color: #1f3e1f; }
+
+.alert-info, #page-admin-index .releasenoteslink, #adminsettings .form-overridden, .que .formulation, .assignfeedback_editpdf_widget .label {
+  color: #2f6473;
+  background-color: #def2f8;
+  border-color: #d1edf6; }
+  .alert-info hr, #page-admin-index .releasenoteslink hr, #adminsettings .form-overridden hr, .que .formulation hr, .assignfeedback_editpdf_widget .label hr {
+    border-top-color: #bce5f2; }
+  .alert-info .alert-link, #page-admin-index .releasenoteslink .alert-link, #adminsettings .form-overridden .alert-link, .que .formulation .alert-link, .assignfeedback_editpdf_widget .label .alert-link {
+    color: #20454f; }
+
+.alert-warning,
+#page-admin-index .adminwarning, .uninstalldeleteconfirmexternal,
+.que .outcome,
+.que .comment {
+  color: #7d5a29;
+  background-color: #fcefdc;
+  border-color: #fbe8cd; }
+  .alert-warning hr, #page-admin-index .adminwarning hr, .uninstalldeleteconfirmexternal hr, .que .outcome hr, .que .comment hr {
+    border-top-color: #f9ddb5; }
+  .alert-warning .alert-link, #page-admin-index .adminwarning .alert-link, .uninstalldeleteconfirmexternal .alert-link, .que .outcome .alert-link, .que .comment .alert-link {
+    color: #573e1c; }
+
+.alert-danger,
+#page-admin-index .adminerror {
+  color: #712b29;
+  background-color: #f7dddc;
+  border-color: #f4cfce; }
+  .alert-danger hr, #page-admin-index .adminerror hr {
+    border-top-color: #efbbb9; }
+  .alert-danger .alert-link, #page-admin-index .adminerror .alert-link {
+    color: #4c1d1b; }
+
+.alert-light {
+  color: #818182;
+  background-color: #fefefe;
+  border-color: #fdfdfe; }
+  .alert-light hr {
+    border-top-color: #ececf6; }
+  .alert-light .alert-link {
+    color: #686868; }
+
+.alert-dark {
+  color: #1d1e1f;
+  background-color: #d7d8d8;
+  border-color: #c7c8c8; }
+  .alert-dark hr {
+    border-top-color: #babbbb; }
+  .alert-dark .alert-link {
+    color: #040505; }
+
+@keyframes progress-bar-stripes {
+  from {
+    background-position: 1rem 0; }
+  to {
+    background-position: 0 0; } }
+
+.progress {
+  display: flex;
+  height: 1rem;
+  overflow: hidden;
+  font-size: 0.703125rem;
+  background-color: #e9ecef;
+  border-radius: 0.25rem; }
+
+.progress-bar {
+  display: flex;
+  flex-direction: column;
+  justify-content: center;
+  color: #fff;
+  text-align: center;
+  background-color: #1177d1;
+  transition: width 0.6s ease; }
+
+.progress-bar-striped {
+  background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
+  background-size: 1rem 1rem; }
+
+.progress-bar-animated {
+  animation: progress-bar-stripes 1s linear infinite; }
+
+.media {
+  display: flex;
+  align-items: flex-start; }
+
+.media-body {
+  flex: 1; }
+
+.list-group {
+  display: flex;
+  flex-direction: column;
+  padding-left: 0;
+  margin-bottom: 0; }
+
+.list-group-item-action {
+  width: 100%;
+  color: #495057;
+  text-align: inherit; }
+  .list-group-item-action:hover, .list-group-item-action:focus {
+    color: #495057;
+    text-decoration: none;
+    background-color: #f8f9fa; }
+  .list-group-item-action:active {
+    color: #373a3c;
+    background-color: #e9ecef; }
+
+.list-group-item {
+  position: relative;
+  display: block;
+  padding: 0.75rem 1.25rem;
+  margin-bottom: -1px;
+  background-color: #fff;
+  border: 1px solid rgba(0, 0, 0, 0.125); }
+  .list-group-item:first-child {
+    border-top-left-radius: 0.25rem;
+    border-top-right-radius: 0.25rem; }
+  .list-group-item:last-child {
+    margin-bottom: 0;
+    border-bottom-right-radius: 0.25rem;
+    border-bottom-left-radius: 0.25rem; }
+  .list-group-item:hover, .list-group-item:focus {
+    z-index: 1;
+    text-decoration: none; }
+  .list-group-item.disabled, .list-group-item:disabled {
+    color: #868e96;
+    background-color: #fff; }
+  .list-group-item.active {
+    z-index: 2;
+    color: #fff;
+    background-color: #1177d1;
+    border-color: #1177d1; }
+
+.list-group-flush .list-group-item {
+  border-right: 0;
+  border-left: 0;
+  border-radius: 0; }
+
+.list-group-flush:first-child .list-group-item:first-child {
+  border-top: 0; }
+
+.list-group-flush:last-child .list-group-item:last-child {
+  border-bottom: 0; }
+
+.list-group-item-primary {
+  color: #093e6d;
+  background-color: #bcd9f2; }
+  .list-group-item-primary.list-group-item-action:hover, .list-group-item-primary.list-group-item-action:focus {
+    color: #093e6d;
+    background-color: #a7cdee; }
+  .list-group-item-primary.list-group-item-action.active {
+    color: #fff;
+    background-color: #093e6d;
+    border-color: #093e6d; }
+
+.list-group-item-secondary {
+  color: #797b7c;
+  background-color: #f9fafb; }
+  .list-group-item-secondary.list-group-item-action:hover, .list-group-item-secondary.list-group-item-action:focus {
+    color: #797b7c;
+    background-color: #eaedf1; }
+  .list-group-item-secondary.list-group-item-action.active {
+    color: #fff;
+    background-color: #797b7c;
+    border-color: #797b7c; }
+
+.list-group-item-success {
+  color: #306030;
+  background-color: #d1ebd1; }
+  .list-group-item-success.list-group-item-action:hover, .list-group-item-success.list-group-item-action:focus {
+    color: #306030;
+    background-color: #bfe3bf; }
+  .list-group-item-success.list-group-item-action.active {
+    color: #fff;
+    background-color: #306030;
+    border-color: #306030; }
+
+.list-group-item-info {
+  color: #2f6473;
+  background-color: #d1edf6; }
+  .list-group-item-info.list-group-item-action:hover, .list-group-item-info.list-group-item-action:focus {
+    color: #2f6473;
+    background-color: #bce5f2; }
+  .list-group-item-info.list-group-item-action.active {
+    color: #fff;
+    background-color: #2f6473;
+    border-color: #2f6473; }
+
+.list-group-item-warning {
+  color: #7d5a29;
+  background-color: #fbe8cd; }
+  .list-group-item-warning.list-group-item-action:hover, .list-group-item-warning.list-group-item-action:focus {
+    color: #7d5a29;
+    background-color: #f9ddb5; }
+  .list-group-item-warning.list-group-item-action.active {
+    color: #fff;
+    background-color: #7d5a29;
+    border-color: #7d5a29; }
+
+.list-group-item-danger {
+  color: #712b29;
+  background-color: #f4cfce; }
+  .list-group-item-danger.list-group-item-action:hover, .list-group-item-danger.list-group-item-action:focus {
+    color: #712b29;
+    background-color: #efbbb9; }
+  .list-group-item-danger.list-group-item-action.active {
+    color: #fff;
+    background-color: #712b29;
+    border-color: #712b29; }
+
+.list-group-item-light {
+  color: #818182;
+  background-color: #fdfdfe; }
+  .list-group-item-light.list-group-item-action:hover, .list-group-item-light.list-group-item-action:focus {
+    color: #818182;
+    background-color: #ececf6; }
+  .list-group-item-light.list-group-item-action.active {
+    color: #fff;
+    background-color: #818182;
+    border-color: #818182; }
+
+.list-group-item-dark {
+  color: #1d1e1f;
+  background-color: #c7c8c8; }
+  .list-group-item-dark.list-group-item-action:hover, .list-group-item-dark.list-group-item-action:focus {
+    color: #1d1e1f;
+    background-color: #babbbb; }
+  .list-group-item-dark.list-group-item-action.active {
+    color: #fff;
+    background-color: #1d1e1f;
+    border-color: #1d1e1f; }
+
+.close, .moodle-dialogue-base .closebutton {
+  float: right;
+  font-size: 1.40625rem;
+  font-weight: 700;
+  line-height: 1;
+  color: #000;
+  text-shadow: 0 1px 0 #fff;
+  opacity: .5; }
+  .close:hover, .moodle-dialogue-base .closebutton:hover, .close:focus, .moodle-dialogue-base .closebutton:focus {
+    color: #000;
+    text-decoration: none;
+    opacity: .75; }
+  .close:not(:disabled):not(.disabled), .moodle-dialogue-base .closebutton:not(:disabled):not(.disabled) {
+    cursor: pointer; }
+
+button.close, .moodle-dialogue-base button.closebutton {
+  padding: 0;
+  background-color: transparent;
+  border: 0;
+  -webkit-appearance: none; }
+
+.modal-open {
+  overflow: hidden; }
+
+.modal {
+  position: fixed;
+  top: 0;
+  right: 0;
+  bottom: 0;
+  left: 0;
+  z-index: 1050;
+  display: none;
+  overflow: hidden;
+  outline: 0; }
+  .modal-open .modal {
+    overflow-x: hidden;
+    overflow-y: auto; }
+
+.modal-dialog {
+  position: relative;
+  width: auto;
+  margin: 0.5rem;
+  pointer-events: none; }
+  .modal.fade .modal-dialog {
+    transition: transform 0.3s ease-out;
+    transform: translate(0, -25%); }
+  .modal.show .modal-dialog {
+    transform: translate(0, 0); }
+
+.modal-dialog-centered {
+  display: flex;
+  align-items: center;
+  min-height: calc(100% - (0.5rem * 2)); }
+
+.modal-content, .moodle-dialogue-base .moodle-dialogue-wrap.moodle-dialogue-content {
+  position: relative;
+  display: flex;
+  flex-direction: column;
+  width: 100%;
+  pointer-events: auto;
+  background-color: #fff;
+  background-clip: padding-box;
+  border: 1px solid rgba(0, 0, 0, 0.2);
+  border-radius: 0.3rem;
+  outline: 0; }
+
+.modal-backdrop {
+  position: fixed;
+  top: 0;
+  right: 0;
+  bottom: 0;
+  left: 0;
+  z-index: 1040;
+  background-color: #000; }
+  .modal-backdrop.fade {
+    opacity: 0; }
+  .modal-backdrop.show {
+    opacity: 0.5; }
+
+.modal-header, .moodle-dialogue-base .moodle-dialogue-wrap .moodle-dialogue-hd, .path-mod-assign [data-region="grade-panel"] .popout > .col-md-3 {
+  display: flex;
+  align-items: flex-start;
+  justify-content: space-between;
+  padding: 1rem;
+  border-bottom: 1px solid #e9ecef;
+  border-top-left-radius: 0.3rem;
+  border-top-right-radius: 0.3rem; }
+  .modal-header .close, .moodle-dialogue-base .moodle-dialogue-wrap .moodle-dialogue-hd .close, .path-mod-assign [data-region="grade-panel"] .popout > .col-md-3 .close, .modal-header .moodle-dialogue-base .closebutton, .moodle-dialogue-base .modal-header .closebutton, .moodle-dialogue-base .moodle-dialogue-wrap .moodle-dialogue-hd .closebutton, .path-mod-assign [data-region="grade-panel"] .popout > .col-md-3 .moodle-dialogue-base .closebutton, .moodle-dialogue-base .path-mod-assign [data-region="grade-panel"] .popout > .col-md-3 .closebutton {
+    padding: 1rem;
+    margin: -1rem -1rem -1rem auto; }
+
+.modal-title, .moodle-dialogue-base .moodle-dialogue-wrap .moodle-dialogue-hd h1 {
+  margin-bottom: 0;
+  line-height: 1.5; }
+
+.modal-body {
+  position: relative;
+  flex: 1 1 auto;
+  padding: 1rem; }
+
+.modal-footer, .moodle-dialogue-base .moodle-dialogue .moodle-dialogue-content .moodle-dialogue-ft {
+  display: flex;
+  align-items: center;
+  justify-content: flex-end;
+  padding: 1rem;
+  border-top: 1px solid #e9ecef; }
+  .modal-footer > :not(:first-child), .moodle-dialogue-base .moodle-dialogue .moodle-dialogue-content .moodle-dialogue-ft > :not(:first-child) {
+    margin-left: .25rem; }
+  .modal-footer > :not(:last-child), .moodle-dialogue-base .moodle-dialogue .moodle-dialogue-content .moodle-dialogue-ft > :not(:last-child) {
+    margin-right: .25rem; }
+
+.modal-scrollbar-measure {
+  position: absolute;
+  top: -9999px;
+  width: 50px;
+  height: 50px;
+  overflow: scroll; }
+
+@media (min-width: 576px) {
+  .modal-dialog {
+    max-width: 500px;
+    margin: 1.75rem auto; }
+  .modal-dialog-centered {
+    min-height: calc(100% - (1.75rem * 2)); }
+  .modal-sm {
+    max-width: 300px; } }
+
+@media (min-width: 992px) {
+  .modal-lg {
+    max-width: 800px; } }
+
+.tooltip {
+  position: absolute;
+  z-index: 1070;
+  display: block;
+  margin: 0;
+  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
+  font-style: normal;
+  font-weight: 400;
+  line-height: 1.5;
+  text-align: left;
+  text-align: start;
+  text-decoration: none;
+  text-shadow: none;
+  text-transform: none;
+  letter-spacing: normal;
+  word-break: normal;
+  word-spacing: normal;
+  white-space: normal;
+  line-break: auto;
+  font-size: 0.8203125rem;
+  word-wrap: break-word;
+  opacity: 0; }
+  .tooltip.show {
+    opacity: 0.9; }
+  .tooltip .arrow {
+    position: absolute;
+    display: block;
+    width: 0.8rem;
+    height: 0.4rem; }
+    .tooltip .arrow::before {
+      position: absolute;
+      content: "";
+      border-color: transparent;
+      border-style: solid; }
+
+.bs-tooltip-top, .bs-tooltip-auto[x-placement^="top"] {
+  padding: 0.4rem 0; }
+  .bs-tooltip-top .arrow, .bs-tooltip-auto[x-placement^="top"] .arrow {
+    bottom: 0; }
+    .bs-tooltip-top .arrow::before, .bs-tooltip-auto[x-placement^="top"] .arrow::before {
+      top: 0;
+      border-width: 0.4rem 0.4rem 0;
+      border-top-color: #000; }
+
+.bs-tooltip-right, .bs-tooltip-auto[x-placement^="right"] {
+  padding: 0 0.4rem; }
+  .bs-tooltip-right .arrow, .bs-tooltip-auto[x-placement^="right"] .arrow {
+    left: 0;
+    width: 0.4rem;
+    height: 0.8rem; }
+    .bs-tooltip-right .arrow::before, .bs-tooltip-auto[x-placement^="right"] .arrow::before {
+      right: 0;
+      border-width: 0.4rem 0.4rem 0.4rem 0;
+      border-right-color: #000; }
+
+.bs-tooltip-bottom, .bs-tooltip-auto[x-placement^="bottom"] {
+  padding: 0.4rem 0; }
+  .bs-tooltip-bottom .arrow, .bs-tooltip-auto[x-placement^="bottom"] .arrow {
+    top: 0; }
+    .bs-tooltip-bottom .arrow::before, .bs-tooltip-auto[x-placement^="bottom"] .arrow::before {
+      bottom: 0;
+      border-width: 0 0.4rem 0.4rem;
+      border-bottom-color: #000; }
+
+.bs-tooltip-left, .bs-tooltip-auto[x-placement^="left"] {
+  padding: 0 0.4rem; }
+  .bs-tooltip-left .arrow, .bs-tooltip-auto[x-placement^="left"] .arrow {
+    right: 0;
+    width: 0.4rem;
+    height: 0.8rem; }
+    .bs-tooltip-left .arrow::before, .bs-tooltip-auto[x-placement^="left"] .arrow::before {
+      left: 0;
+      border-width: 0.4rem 0 0.4rem 0.4rem;
+      border-left-color: #000; }
+
+.tooltip-inner {
+  max-width: 200px;
+  padding: 0.25rem 0.5rem;
+  color: #fff;
+  text-align: center;
+  background-color: #000;
+  border-radius: 0.25rem; }
+
+/* rtl:begin:ignore */
+.popover {
+  position: absolute;
+  top: 0;
+  left: 0;
+  z-index: 1060;
+  display: block;
+  max-width: 276px;
+  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
+  font-style: normal;
+  font-weight: 400;
+  line-height: 1.5;
+  text-align: left;
+  text-align: start;
+  text-decoration: none;
+  text-shadow: none;
+  text-transform: none;
+  letter-spacing: normal;
+  word-break: normal;
+  word-spacing: normal;
+  white-space: normal;
+  line-break: auto;
+  font-size: 0.8203125rem;
+  word-wrap: break-word;
+  background-color: #fff;
+  background-clip: padding-box;
+  border: 1px solid rgba(0, 0, 0, 0.2);
+  border-radius: 0.3rem; }
+  .popover .arrow {
+    position: absolute;
+    display: block;
+    width: 1rem;
+    height: 0.5rem;
+    margin: 0 0.3rem; }
+    .popover .arrow::before, .popover .arrow::after {
+      position: absolute;
+      display: block;
+      content: "";
+      border-color: transparent;
+      border-style: solid; }
+
+.bs-popover-top, .bs-popover-auto[x-placement^="top"] {
+  margin-bottom: 0.5rem; }
+  .bs-popover-top .arrow, .bs-popover-auto[x-placement^="top"] .arrow {
+    bottom: calc((0.5rem + 1px) * -1); }
+  .bs-popover-top .arrow::before, .bs-popover-auto[x-placement^="top"] .arrow::before,
+  .bs-popover-top .arrow::after,
+  .bs-popover-auto[x-placement^="top"] .arrow::after {
+    border-width: 0.5rem 0.5rem 0; }
+  .bs-popover-top .arrow::before, .bs-popover-auto[x-placement^="top"] .arrow::before {
+    bottom: 0;
+    border-top-color: rgba(0, 0, 0, 0.25); }
+  
+  .bs-popover-top .arrow::after,
+  .bs-popover-auto[x-placement^="top"] .arrow::after {
+    bottom: 1px;
+    border-top-color: #fff; }
+
+.bs-popover-right, .bs-popover-auto[x-placement^="right"] {
+  margin-left: 0.5rem; }
+  .bs-popover-right .arrow, .bs-popover-auto[x-placement^="right"] .arrow {
+    left: calc((0.5rem + 1px) * -1);
+    width: 0.5rem;
+    height: 1rem;
+    margin: 0.3rem 0; }
+  .bs-popover-right .arrow::before, .bs-popover-auto[x-placement^="right"] .arrow::before,
+  .bs-popover-right .arrow::after,
+  .bs-popover-auto[x-placement^="right"] .arrow::after {
+    border-width: 0.5rem 0.5rem 0.5rem 0; }
+  .bs-popover-right .arrow::before, .bs-popover-auto[x-placement^="right"] .arrow::before {
+    left: 0;
+    border-right-color: rgba(0, 0, 0, 0.25); }
+  
+  .bs-popover-right .arrow::after,
+  .bs-popover-auto[x-placement^="right"] .arrow::after {
+    left: 1px;
+    border-right-color: #fff; }
+
+.bs-popover-bottom, .bs-popover-auto[x-placement^="bottom"] {
+  margin-top: 0.5rem; }
+  .bs-popover-bottom .arrow, .bs-popover-auto[x-placement^="bottom"] .arrow {
+    top: calc((0.5rem + 1px) * -1); }
+  .bs-popover-bottom .arrow::before, .bs-popover-auto[x-placement^="bottom"] .arrow::before,
+  .bs-popover-bottom .arrow::after,
+  .bs-popover-auto[x-placement^="bottom"] .arrow::after {
+    border-width: 0 0.5rem 0.5rem 0.5rem; }
+  .bs-popover-bottom .arrow::before, .bs-popover-auto[x-placement^="bottom"] .arrow::before {
+    top: 0;
+    border-bottom-color: rgba(0, 0, 0, 0.25); }
+  
+  .bs-popover-bottom .arrow::after,
+  .bs-popover-auto[x-placement^="bottom"] .arrow::after {
+    top: 1px;
+    border-bottom-color: #fff; }
+  .bs-popover-bottom .popover-header::before, .bs-popover-auto[x-placement^="bottom"] .popover-header::before {
+    position: absolute;
+    top: 0;
+    left: 50%;
+    display: block;
+    width: 1rem;
+    margin-left: -0.5rem;
+    content: "";
+    border-bottom: 1px solid #f7f7f7; }
+
+.bs-popover-left, .bs-popover-auto[x-placement^="left"] {
+  margin-right: 0.5rem; }
+  .bs-popover-left .arrow, .bs-popover-auto[x-placement^="left"] .arrow {
+    right: calc((0.5rem + 1px) * -1);
+    width: 0.5rem;
+    height: 1rem;
+    margin: 0.3rem 0; }
+  .bs-popover-left .arrow::before, .bs-popover-auto[x-placement^="left"] .arrow::before,
+  .bs-popover-left .arrow::after,
+  .bs-popover-auto[x-placement^="left"] .arrow::after {
+    border-width: 0.5rem 0 0.5rem 0.5rem; }
+  .bs-popover-left .arrow::before, .bs-popover-auto[x-placement^="left"] .arrow::before {
+    right: 0;
+    border-left-color: rgba(0, 0, 0, 0.25); }
+  
+  .bs-popover-left .arrow::after,
+  .bs-popover-auto[x-placement^="left"] .arrow::after {
+    right: 1px;
+    border-left-color: #fff; }
+
+.popover-header {
+  padding: 0.5rem 0.75rem;
+  margin-bottom: 0;
+  font-size: 0.9375rem;
+  color: inherit;
+  background-color: #f7f7f7;
+  border-bottom: 1px solid #ebebeb;
+  border-top-left-radius: calc(0.3rem - 1px);
+  border-top-right-radius: calc(0.3rem - 1px); }
+  .popover-header:empty {
+    display: none; }
+
+.popover-body {
+  padding: 0.5rem 0.75rem;
+  color: #373a3c; }
+
+/* rtl:end:ignore */
+.carousel {
+  position: relative; }
+
+.carousel-inner {
+  position: relative;
+  width: 100%;
+  overflow: hidden; }
+
+.carousel-item {
+  position: relative;
+  display: none;
+  align-items: center;
+  width: 100%;
+  transition: transform 0.6s ease;
+  backface-visibility: hidden;
+  perspective: 1000px; }
+
+.carousel-item.active,
+.carousel-item-next,
+.carousel-item-prev {
+  display: block; }
+
+.carousel-item-next,
+.carousel-item-prev {
+  position: absolute;
+  top: 0; }
+
+.carousel-control-prev,
+.carousel-control-next {
+  position: absolute;
+  top: 0;
+  bottom: 0;
+  display: flex;
+  align-items: center;
+  justify-content: center;
+  width: 15%;
+  color: #fff;
+  text-align: center;
+  opacity: 0.5; }
+  .carousel-control-prev:hover, .carousel-control-prev:focus,
+  .carousel-control-next:hover,
+  .carousel-control-next:focus {
+    color: #fff;
+    text-decoration: none;
+    outline: 0;
+    opacity: .9; }
+
+.carousel-control-prev {
+  left: 0; }
+
+.carousel-control-next {
+  right: 0; }
+
+.carousel-control-prev-icon,
+.carousel-control-next-icon {
+  display: inline-block;
+  width: 20px;
+  height: 20px;
+  background: transparent no-repeat center center;
+  background-size: 100% 100%; }
+
+.carousel-control-prev-icon {
+  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 8 8'%3E%3Cpath d='M5.25 0l-4 4 4 4 1.5-1.5-2.5-2.5 2.5-2.5-1.5-1.5z'/%3E%3C/svg%3E"); }
+
+.carousel-control-next-icon {
+  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 8 8'%3E%3Cpath d='M2.75 0l-1.5 1.5 2.5 2.5-2.5 2.5 1.5 1.5 4-4-4-4z'/%3E%3C/svg%3E"); }
+
+.carousel-indicators {
+  position: absolute;
+  right: 0;
+  bottom: 10px;
+  left: 0;
+  z-index: 15;
+  display: flex;
+  justify-content: center;
+  padding-left: 0;
+  margin-right: 15%;
+  margin-left: 15%;
+  list-style: none; }
+  .carousel-indicators li {
+    position: relative;
+    flex: 0 1 auto;
+    width: 30px;
+    height: 3px;
+    margin-right: 3px;
+    margin-left: 3px;
+    text-indent: -999px;
+    background-color: rgba(255, 255, 255, 0.5); }
+    .carousel-indicators li::before {
+      position: absolute;
+      top: -10px;
+      left: 0;
+      display: inline-block;
+      width: 100%;
+      height: 10px;
+      content: ""; }
+    .carousel-indicators li::after {
+      position: absolute;
+      bottom: -10px;
+      left: 0;
+      display: inline-block;
+      width: 100%;
+      height: 10px;
+      content: ""; }
+  .carousel-indicators .active {
+    background-color: #fff; }
+
+.carousel-caption {
+  position: absolute;
+  right: 15%;
+  bottom: 20px;
+  left: 15%;
+  z-index: 10;
+  padding-top: 20px;
+  padding-bottom: 20px;
+  color: #fff;
+  text-align: center; }
+
+.align-baseline {
+  vertical-align: baseline !important; }
+
+.align-top {
+  vertical-align: top !important; }
+
+.align-middle {
+  vertical-align: middle !important; }
+
+.align-bottom {
+  vertical-align: bottom !important; }
+
+.align-text-bottom {
+  vertical-align: text-bottom !important; }
+
+.align-text-top {
+  vertical-align: text-top !important; }
+
+.bg-primary {
+  background-color: #1177d1 !important; }
+
+a.bg-primary:hover, a.bg-primary:focus,
+button.bg-primary:hover,
+button.bg-primary:focus {
+  background-color: #0d5ca2 !important; }
+
+.bg-secondary {
+  background-color: #e9ecef !important; }
+
+a.bg-secondary:hover, a.bg-secondary:focus,
+button.bg-secondary:hover,
+button.bg-secondary:focus {
+  background-color: #cbd3da !important; }
+
+.bg-success {
+  background-color: #5cb85c !important; }
+
+a.bg-success:hover, a.bg-success:focus,
+button.bg-success:hover,
+button.bg-success:focus {
+  background-color: #449d44 !important; }
+
+.bg-info {
+  background-color: #5bc0de !important; }
+
+a.bg-info:hover, a.bg-info:focus,
+button.bg-info:hover,
+button.bg-info:focus {
+  background-color: #31b0d5 !important; }
+
+.bg-warning {
+  background-color: #f0ad4e !important; }
+
+a.bg-warning:hover, a.bg-warning:focus,
+button.bg-warning:hover,
+button.bg-warning:focus {
+  background-color: #ec971f !important; }
+
+.bg-danger {
+  background-color: #d9534f !important; }
+
+a.bg-danger:hover, a.bg-danger:focus,
+button.bg-danger:hover,
+button.bg-danger:focus {
+  background-color: #c9302c !important; }
+
+.bg-light {
+  background-color: #f8f9fa !important; }
+
+a.bg-light:hover, a.bg-light:focus,
+button.bg-light:hover,
+button.bg-light:focus {
+  background-color: #dae0e5 !important; }
+
+.bg-dark {
+  background-color: #373a3c !important; }
+
+a.bg-dark:hover, a.bg-dark:focus,
+button.bg-dark:hover,
+button.bg-dark:focus {
+  background-color: #1f2021 !important; }
+
+.bg-white {
+  background-color: #fff !important; }
+
+.bg-transparent {
+  background-color: transparent !important; }
+
+.border {
+  border: 1px solid #dee2e6 !important; }
+
+.border-top {
+  border-top: 1px solid #dee2e6 !important; }
+
+.border-right {
+  border-right: 1px solid #dee2e6 !important; }
+
+.border-bottom {
+  border-bottom: 1px solid #dee2e6 !important; }
+
+.border-left {
+  border-left: 1px solid #dee2e6 !important; }
+
+.border-0 {
+  border: 0 !important; }
+
+.border-top-0 {
+  border-top: 0 !important; }
+
+.border-right-0 {
+  border-right: 0 !important; }
+
+.border-bottom-0 {
+  border-bottom: 0 !important; }
+
+.border-left-0 {
+  border-left: 0 !important; }
+
+.border-primary {
+  border-color: #1177d1 !important; }
+
+.border-secondary {
+  border-color: #e9ecef !important; }
+
+.border-success {
+  border-color: #5cb85c !important; }
+
+.border-info {
+  border-color: #5bc0de !important; }
+
+.border-warning {
+  border-color: #f0ad4e !important; }
+
+.border-danger {
+  border-color: #d9534f !important; }
+
+.border-light {
+  border-color: #f8f9fa !important; }
+
+.border-dark {
+  border-color: #373a3c !important; }
+
+.border-white {
+  border-color: #fff !important; }
+
+.rounded {
+  border-radius: 0.25rem !important; }
+
+.rounded-top {
+  border-top-left-radius: 0.25rem !important;
+  border-top-right-radius: 0.25rem !important; }
+
+.rounded-right {
+  border-top-right-radius: 0.25rem !important;
+  border-bottom-right-radius: 0.25rem !important; }
+
+.rounded-bottom {
+  border-bottom-right-radius: 0.25rem !important;
+  border-bottom-left-radius: 0.25rem !important; }
+
+.rounded-left {
+  border-top-left-radius: 0.25rem !important;
+  border-bottom-left-radius: 0.25rem !important; }
+
+.rounded-circle {
+  border-radius: 50% !important; }
+
+.rounded-0 {
+  border-radius: 0 !important; }
+
+.clearfix::after {
+  display: block;
+  clear: both;
+  content: ""; }
+
+.d-none {
+  display: none !important; }
+
+.d-inline {
+  display: inline !important; }
+
+.d-inline-block {
+  display: inline-block !important; }
+
+.d-block {
+  display: block !important; }
+
+.d-table {
+  display: table !important; }
+
+.d-table-row {
+  display: table-row !important; }
+
+.d-table-cell {
+  display: table-cell !important; }
+
+.d-flex {
+  display: flex !important; }
+
+.d-inline-flex {
+  display: inline-flex !important; }
+
+@media (min-width: 576px) {
+  .d-sm-none {
+    display: none !important; }
+  .d-sm-inline {
+    display: inline !important; }
+  .d-sm-inline-block {
+    display: inline-block !important; }
+  .d-sm-block {
+    display: block !important; }
+  .d-sm-table {
+    display: table !important; }
+  .d-sm-table-row {
+    display: table-row !important; }
+  .d-sm-table-cell {
+    display: table-cell !important; }
+  .d-sm-flex {
+    display: flex !important; }
+  .d-sm-inline-flex {
+    display: inline-flex !important; } }
+
+@media (min-width: 768px) {
+  .d-md-none {
+    display: none !important; }
+  .d-md-inline {
+    display: inline !important; }
+  .d-md-inline-block {
+    display: inline-block !important; }
+  .d-md-block {
+    display: block !important; }
+  .d-md-table {
+    display: table !important; }
+  .d-md-table-row {
+    display: table-row !important; }
+  .d-md-table-cell {
+    display: table-cell !important; }
+  .d-md-flex {
+    display: flex !important; }
+  .d-md-inline-flex {
+    display: inline-flex !important; } }
+
+@media (min-width: 992px) {
+  .d-lg-none {
+    display: none !important; }
+  .d-lg-inline {
+    display: inline !important; }
+  .d-lg-inline-block {
+    display: inline-block !important; }
+  .d-lg-block {
+    display: block !important; }
+  .d-lg-table {
+    display: table !important; }
+  .d-lg-table-row {
+    display: table-row !important; }
+  .d-lg-table-cell {
+    display: table-cell !important; }
+  .d-lg-flex {
+    display: flex !important; }
+  .d-lg-inline-flex {
+    display: inline-flex !important; } }
+
+@media (min-width: 1200px) {
+  .d-xl-none {
+    display: none !important; }
+  .d-xl-inline {
+    display: inline !important; }
+  .d-xl-inline-block {
+    display: inline-block !important; }
+  .d-xl-block {
+    display: block !important; }
+  .d-xl-table {
+    display: table !important; }
+  .d-xl-table-row {
+    display: table-row !important; }
+  .d-xl-table-cell {
+    display: table-cell !important; }
+  .d-xl-flex {
+    display: flex !important; }
+  .d-xl-inline-flex {
+    display: inline-flex !important; } }
+
+@media print {
+  .d-print-none {
+    display: none !important; }
+  .d-print-inline {
+    display: inline !important; }
+  .d-print-inline-block {
+    display: inline-block !important; }
+  .d-print-block {
+    display: block !important; }
+  .d-print-table {
+    display: table !important; }
+  .d-print-table-row {
+    display: table-row !important; }
+  .d-print-table-cell {
+    display: table-cell !important; }
+  .d-print-flex {
+    display: flex !important; }
+  .d-print-inline-flex {
+    display: inline-flex !important; } }
+
+.embed-responsive {
+  position: relative;
+  display: block;
+  width: 100%;
+  padding: 0;
+  overflow: hidden; }
+  .embed-responsive::before {
+    display: block;
+    content: ""; }
+  .embed-responsive .embed-responsive-item,
+  .embed-responsive iframe,
+  .embed-responsive embed,
+  .embed-responsive object,
+  .embed-responsive video {
+    position: absolute;
+    top: 0;
+    bottom: 0;
+    left: 0;
+    width: 100%;
+    height: 100%;
+    border: 0; }
+
+.embed-responsive-21by9::before {
+  padding-top: 42.8571428571%; }
+
+.embed-responsive-16by9::before {
+  padding-top: 56.25%; }
+
+.embed-responsive-4by3::before {
+  padding-top: 75%; }
+
+.embed-responsive-1by1::before {
+  padding-top: 100%; }
+
+.flex-row {
+  flex-direction: row !important; }
+
+.flex-column {
+  flex-direction: column !important; }
+
+.flex-row-reverse {
+  flex-direction: row-reverse !important; }
+
+.flex-column-reverse {
+  flex-direction: column-reverse !important; }
+
+.flex-wrap {
+  flex-wrap: wrap !important; }
+
+.flex-nowrap {
+  flex-wrap: nowrap !important; }
+
+.flex-wrap-reverse {
+  flex-wrap: wrap-reverse !important; }
+
+.justify-content-start {
+  justify-content: flex-start !important; }
+
+.justify-content-end {
+  justify-content: flex-end !important; }
+
+.justify-content-center {
+  justify-content: center !important; }
+
+.justify-content-between {
+  justify-content: space-between !important; }
+
+.justify-content-around {
+  justify-content: space-around !important; }
+
+.align-items-start {
+  align-items: flex-start !important; }
+
+.align-items-end {
+  align-items: flex-end !important; }
+
+.align-items-center {
+  align-items: center !important; }
+
+.align-items-baseline {
+  align-items: baseline !important; }
+
+.align-items-stretch {
+  align-items: stretch !important; }
+
+.align-content-start {
+  align-content: flex-start !important; }
+
+.align-content-end {
+  align-content: flex-end !important; }
+
+.align-content-center {
+  align-content: center !important; }
+
+.align-content-between {
+  align-content: space-between !important; }
+
+.align-content-around {
+  align-content: space-around !important; }
+
+.align-content-stretch {
+  align-content: stretch !important; }
+
+.align-self-auto {
+  align-self: auto !important; }
+
+.align-self-start {
+  align-self: flex-start !important; }
+
+.align-self-end {
+  align-self: flex-end !important; }
+
+.align-self-center {
+  align-self: center !important; }
+
+.align-self-baseline {
+  align-self: baseline !important; }
+
+.align-self-stretch {
+  align-self: stretch !important; }
+
+@media (min-width: 576px) {
+  .flex-sm-row {
+    flex-direction: row !important; }
+  .flex-sm-column {
+    flex-direction: column !important; }
+  .flex-sm-row-reverse {
+    flex-direction: row-reverse !important; }
+  .flex-sm-column-reverse {
+    flex-direction: column-reverse !important; }
+  .flex-sm-wrap {
+    flex-wrap: wrap !important; }
+  .flex-sm-nowrap {
+    flex-wrap: nowrap !important; }
+  .flex-sm-wrap-reverse {
+    flex-wrap: wrap-reverse !important; }
+  .justify-content-sm-start {
+    justify-content: flex-start !important; }
+  .justify-content-sm-end {
+    justify-content: flex-end !important; }
+  .justify-content-sm-center {
+    justify-content: center !important; }
+  .justify-content-sm-between {
+    justify-content: space-between !important; }
+  .justify-content-sm-around {
+    justify-content: space-around !important; }
+  .align-items-sm-start {
+    align-items: flex-start !important; }
+  .align-items-sm-end {
+    align-items: flex-end !important; }
+  .align-items-sm-center {
+    align-items: center !important; }
+  .align-items-sm-baseline {
+    align-items: baseline !important; }
+  .align-items-sm-stretch {
+    align-items: stretch !important; }
+  .align-content-sm-start {
+    align-content: flex-start !important; }
+  .align-content-sm-end {
+    align-content: flex-end !important; }
+  .align-content-sm-center {
+    align-content: center !important; }
+  .align-content-sm-between {
+    align-content: space-between !important; }
+  .align-content-sm-around {
+    align-content: space-around !important; }
+  .align-content-sm-stretch {
+    align-content: stretch !important; }
+  .align-self-sm-auto {
+    align-self: auto !important; }
+  .align-self-sm-start {
+    align-self: flex-start !important; }
+  .align-self-sm-end {
+    align-self: flex-end !important; }
+  .align-self-sm-center {
+    align-self: center !important; }
+  .align-self-sm-baseline {
+    align-self: baseline !important; }
+  .align-self-sm-stretch {
+    align-self: stretch !important; } }
+
+@media (min-width: 768px) {
+  .flex-md-row {
+    flex-direction: row !important; }
+  .flex-md-column {
+    flex-direction: column !important; }
+  .flex-md-row-reverse {
+    flex-direction: row-reverse !important; }
+  .flex-md-column-reverse {
+    flex-direction: column-reverse !important; }
+  .flex-md-wrap {
+    flex-wrap: wrap !important; }
+  .flex-md-nowrap {
+    flex-wrap: nowrap !important; }
+  .flex-md-wrap-reverse {
+    flex-wrap: wrap-reverse !important; }
+  .justify-content-md-start {
+    justify-content: flex-start !important; }
+  .justify-content-md-end {
+    justify-content: flex-end !important; }
+  .justify-content-md-center {
+    justify-content: center !important; }
+  .justify-content-md-between {
+    justify-content: space-between !important; }
+  .justify-content-md-around {
+    justify-content: space-around !important; }
+  .align-items-md-start {
+    align-items: flex-start !important; }
+  .align-items-md-end {
+    align-items: flex-end !important; }
+  .align-items-md-center {
+    align-items: center !important; }
+  .align-items-md-baseline {
+    align-items: baseline !important; }
+  .align-items-md-stretch {
+    align-items: stretch !important; }
+  .align-content-md-start {
+    align-content: flex-start !important; }
+  .align-content-md-end {
+    align-content: flex-end !important; }
+  .align-content-md-center {
+    align-content: center !important; }
+  .align-content-md-between {
+    align-content: space-between !important; }
+  .align-content-md-around {
+    align-content: space-around !important; }
+  .align-content-md-stretch {
+    align-content: stretch !important; }
+  .align-self-md-auto {
+    align-self: auto !important; }
+  .align-self-md-start {
+    align-self: flex-start !important; }
+  .align-self-md-end {
+    align-self: flex-end !important; }
+  .align-self-md-center {
+    align-self: center !important; }
+  .align-self-md-baseline {
+    align-self: baseline !important; }
+  .align-self-md-stretch {
+    align-self: stretch !important; } }
+
+@media (min-width: 992px) {
+  .flex-lg-row {
+    flex-direction: row !important; }
+  .flex-lg-column {
+    flex-direction: column !important; }
+  .flex-lg-row-reverse {
+    flex-direction: row-reverse !important; }
+  .flex-lg-column-reverse {
+    flex-direction: column-reverse !important; }
+  .flex-lg-wrap {
+    flex-wrap: wrap !important; }
+  .flex-lg-nowrap {
+    flex-wrap: nowrap !important; }
+  .flex-lg-wrap-reverse {
+    flex-wrap: wrap-reverse !important; }
+  .justify-content-lg-start {
+    justify-content: flex-start !important; }
+  .justify-content-lg-end {
+    justify-content: flex-end !important; }
+  .justify-content-lg-center {
+    justify-content: center !important; }
+  .justify-content-lg-between {
+    justify-content: space-between !important; }
+  .justify-content-lg-around {
+    justify-content: space-around !important; }
+  .align-items-lg-start {
+    align-items: flex-start !important; }
+  .align-items-lg-end {
+    align-items: flex-end !important; }
+  .align-items-lg-center {
+    align-items: center !important; }
+  .align-items-lg-baseline {
+    align-items: baseline !important; }
+  .align-items-lg-stretch {
+    align-items: stretch !important; }
+  .align-content-lg-start {
+    align-content: flex-start !important; }
+  .align-content-lg-end {
+    align-content: flex-end !important; }
+  .align-content-lg-center {
+    align-content: center !important; }
+  .align-content-lg-between {
+    align-content: space-between !important; }
+  .align-content-lg-around {
+    align-content: space-around !important; }
+  .align-content-lg-stretch {
+    align-content: stretch !important; }
+  .align-self-lg-auto {
+    align-self: auto !important; }
+  .align-self-lg-start {
+    align-self: flex-start !important; }
+  .align-self-lg-end {
+    align-self: flex-end !important; }
+  .align-self-lg-center {
+    align-self: center !important; }
+  .align-self-lg-baseline {
+    align-self: baseline !important; }
+  .align-self-lg-stretch {
+    align-self: stretch !important; } }
+
+@media (min-width: 1200px) {
+  .flex-xl-row {
+    flex-direction: row !important; }
+  .flex-xl-column {
+    flex-direction: column !important; }
+  .flex-xl-row-reverse {
+    flex-direction: row-reverse !important; }
+  .flex-xl-column-reverse {
+    flex-direction: column-reverse !important; }
+  .flex-xl-wrap {
+    flex-wrap: wrap !important; }
+  .flex-xl-nowrap {
+    flex-wrap: nowrap !important; }
+  .flex-xl-wrap-reverse {
+    flex-wrap: wrap-reverse !important; }
+  .justify-content-xl-start {
+    justify-content: flex-start !important; }
+  .justify-content-xl-end {
+    justify-content: flex-end !important; }
+  .justify-content-xl-center {
+    justify-content: center !important; }
+  .justify-content-xl-between {
+    justify-content: space-between !important; }
+  .justify-content-xl-around {
+    justify-content: space-around !important; }
+  .align-items-xl-start {
+    align-items: flex-start !important; }
+  .align-items-xl-end {
+    align-items: flex-end !important; }
+  .align-items-xl-center {
+    align-items: center !important; }
+  .align-items-xl-baseline {
+    align-items: baseline !important; }
+  .align-items-xl-stretch {
+    align-items: stretch !important; }
+  .align-content-xl-start {
+    align-content: flex-start !important; }
+  .align-content-xl-end {
+    align-content: flex-end !important; }
+  .align-content-xl-center {
+    align-content: center !important; }
+  .align-content-xl-between {
+    align-content: space-between !important; }
+  .align-content-xl-around {
+    align-content: space-around !important; }
+  .align-content-xl-stretch {
+    align-content: stretch !important; }
+  .align-self-xl-auto {
+    align-self: auto !important; }
+  .align-self-xl-start {
+    align-self: flex-start !important; }
+  .align-self-xl-end {
+    align-self: flex-end !important; }
+  .align-self-xl-center {
+    align-self: center !important; }
+  .align-self-xl-baseline {
+    align-self: baseline !important; }
+  .align-self-xl-stretch {
+    align-self: stretch !important; } }
+
+.float-left {
+  float: left !important; }
+
+.float-right {
+  float: right !important; }
+
+.float-none {
+  float: none !important; }
+
+@media (min-width: 576px) {
+  .float-sm-left {
+    float: left !important; }
+  .float-sm-right {
+    float: right !important; }
+  .float-sm-none {
+    float: none !important; } }
+
+@media (min-width: 768px) {
+  .float-md-left {
+    float: left !important; }
+  .float-md-right {
+    float: right !important; }
+  .float-md-none {
+    float: none !important; } }
+
+@media (min-width: 992px) {
+  .float-lg-left {
+    float: left !important; }
+  .float-lg-right {
+    float: right !important; }
+  .float-lg-none {
+    float: none !important; } }
+
+@media (min-width: 1200px) {
+  .float-xl-left {
+    float: left !important; }
+  .float-xl-right {
+    float: right !important; }
+  .float-xl-none {
+    float: none !important; } }
+
+.position-static {
+  position: static !important; }
+
+.position-relative {
+  position: relative !important; }
+
+.position-absolute {
+  position: absolute !important; }
+
+.position-fixed {
+  position: fixed !important; }
+
+.position-sticky {
+  position: sticky !important; }
+
+.fixed-top {
+  position: fixed;
+  top: 0;
+  right: 0;
+  left: 0;
+  z-index: 1030; }
+
+.fixed-bottom {
+  position: fixed;
+  right: 0;
+  bottom: 0;
+  left: 0;
+  z-index: 1030; }
+
+.sr-only {
+  position: absolute;
+  width: 1px;
+  height: 1px;
+  padding: 0;
+  overflow: hidden;
+  clip: rect(0, 0, 0, 0);
+  white-space: nowrap;
+  clip-path: inset(50%);
+  border: 0; }
+
+.sr-only-focusable:active, .sr-only-focusable:focus {
+  position: static;
+  width: auto;
+  height: auto;
+  overflow: visible;
+  clip: auto;
+  white-space: normal;
+  clip-path: none; }
+
+.w-25 {
+  width: 25% !important; }
+
+.w-50 {
+  width: 50% !important; }
+
+.w-75 {
+  width: 75% !important; }
+
+.w-100 {
+  width: 100% !important; }
+
+.h-25 {
+  height: 25% !important; }
+
+.h-50 {
+  height: 50% !important; }
+
+.h-75 {
+  height: 75% !important; }
+
+.h-100 {
+  height: 100% !important; }
+
+.mw-100 {
+  max-width: 100% !important; }
+
+.mh-100 {
+  max-height: 100% !important; }
+
+.m-0 {
+  margin: 0 !important; }
+
+.mt-0,
+.my-0 {
+  margin-top: 0 !important; }
+
+.mr-0,
+.mx-0 {
+  margin-right: 0 !important; }
+
+.mb-0,
+.my-0 {
+  margin-bottom: 0 !important; }
+
+.ml-0,
+.mx-0 {
+  margin-left: 0 !important; }
+
+.m-1 {
+  margin: 0.25rem !important; }
+
+.mt-1,
+.my-1 {
+  margin-top: 0.25rem !important; }
+
+.mr-1,
+.mx-1 {
+  margin-right: 0.25rem !important; }
+
+.mb-1,
+.my-1 {
+  margin-bottom: 0.25rem !important; }
+
+.ml-1,
+.mx-1 {
+  margin-left: 0.25rem !important; }
+
+.m-2 {
+  margin: 0.5rem !important; }
+
+.mt-2,
+.my-2 {
+  margin-top: 0.5rem !important; }
+
+.mr-2,
+.mx-2 {
+  margin-right: 0.5rem !important; }
+
+.mb-2,
+.my-2 {
+  margin-bottom: 0.5rem !important; }
+
+.ml-2,
+.mx-2 {
+  margin-left: 0.5rem !important; }
+
+.m-3 {
+  margin: 1rem !important; }
+
+.mt-3,
+.my-3 {
+  margin-top: 1rem !important; }
+
+.mr-3,
+.mx-3 {
+  margin-right: 1rem !important; }
+
+.mb-3,
+.my-3 {
+  margin-bottom: 1rem !important; }
+
+.ml-3,
+.mx-3 {
+  margin-left: 1rem !important; }
+
+.m-4 {
+  margin: 1.5rem !important; }
+
+.mt-4,
+.my-4 {
+  margin-top: 1.5rem !important; }
+
+.mr-4,
+.mx-4 {
+  margin-right: 1.5rem !important; }
+
+.mb-4,
+.my-4 {
+  margin-bottom: 1.5rem !important; }
+
+.ml-4,
+.mx-4 {
+  margin-left: 1.5rem !important; }
+
+.m-5 {
+  margin: 3rem !important; }
+
+.mt-5,
+.my-5 {
+  margin-top: 3rem !important; }
+
+.mr-5,
+.mx-5 {
+  margin-right: 3rem !important; }
+
+.mb-5,
+.my-5 {
+  margin-bottom: 3rem !important; }
+
+.ml-5,
+.mx-5 {
+  margin-left: 3rem !important; }
+
+.p-0, .yui-skin-sam .yui-layout.path-mod-chat-gui_ajax #chat-input-area.py-3 {
+  padding: 0 !important; }
+
+.pt-0,
+.py-0 {
+  padding-top: 0 !important; }
+
+.pr-0,
+.px-0 {
+  padding-right: 0 !important; }
+
+.pb-0,
+.py-0 {
+  padding-bottom: 0 !important; }
+
+.pl-0,
+.px-0 {
+  padding-left: 0 !important; }
+
+.p-1 {
+  padding: 0.25rem !important; }
+
+.pt-1,
+.py-1 {
+  padding-top: 0.25rem !important; }
+
+.pr-1,
+.px-1 {
+  padding-right: 0.25rem !important; }
+
+.pb-1,
+.py-1 {
+  padding-bottom: 0.25rem !important; }
+
+.pl-1,
+.px-1 {
+  padding-left: 0.25rem !important; }
+
+.p-2 {
+  padding: 0.5rem !important; }
+
+.pt-2,
+.py-2 {
+  padding-top: 0.5rem !important; }
+
+.pr-2,
+.px-2 {
+  padding-right: 0.5rem !important; }
+
+.pb-2,
+.py-2 {
+  padding-bottom: 0.5rem !important; }
+
+.pl-2,
+.px-2 {
+  padding-left: 0.5rem !important; }
+
+.p-3 {
+  padding: 1rem !important; }
+
+.pt-3,
+.py-3 {
+  padding-top: 1rem !important; }
+
+.pr-3,
+.px-3 {
+  padding-right: 1rem !important; }
+
+.pb-3,
+.py-3 {
+  padding-bottom: 1rem !important; }
+
+.pl-3,
+.px-3 {
+  padding-left: 1rem !important; }
+
+.p-4 {
+  padding: 1.5rem !important; }
+
+.pt-4,
+.py-4 {
+  padding-top: 1.5rem !important; }
+
+.pr-4,
+.px-4 {
+  padding-right: 1.5rem !important; }
+
+.pb-4,
+.py-4 {
+  padding-bottom: 1.5rem !important; }
+
+.pl-4,
+.px-4 {
+  padding-left: 1.5rem !important; }
+
+.p-5 {
+  padding: 3rem !important; }
+
+.pt-5,
+.py-5 {
+  padding-top: 3rem !important; }
+
+.pr-5,
+.px-5 {
+  padding-right: 3rem !important; }
+
+.pb-5,
+.py-5 {
+  padding-bottom: 3rem !important; }
+
+.pl-5,
+.px-5 {
+  padding-left: 3rem !important; }
+
+.m-auto {
+  margin: auto !important; }
+
+.mt-auto,
+.my-auto {
+  margin-top: auto !important; }
+
+.mr-auto,
+.mx-auto {
+  margin-right: auto !important; }
+
+.mb-auto,
+.my-auto {
+  margin-bottom: auto !important; }
+
+.ml-auto,
+.mx-auto {
+  margin-left: auto !important; }
+
+@media (min-width: 576px) {
+  .m-sm-0 {
+    margin: 0 !important; }
+  .mt-sm-0,
+  .my-sm-0 {
+    margin-top: 0 !important; }
+  .mr-sm-0,
+  .mx-sm-0 {
+    margin-right: 0 !important; }
+  .mb-sm-0,
+  .my-sm-0 {
+    margin-bottom: 0 !important; }
+  .ml-sm-0,
+  .mx-sm-0 {
+    margin-left: 0 !important; }
+  .m-sm-1 {
+    margin: 0.25rem !important; }
+  .mt-sm-1,
+  .my-sm-1 {
+    margin-top: 0.25rem !important; }
+  .mr-sm-1,
+  .mx-sm-1 {
+    margin-right: 0.25rem !important; }
+  .mb-sm-1,
+  .my-sm-1 {
+    margin-bottom: 0.25rem !important; }
+  .ml-sm-1,
+  .mx-sm-1 {
+    margin-left: 0.25rem !important; }
+  .m-sm-2 {
+    margin: 0.5rem !important; }
+  .mt-sm-2,
+  .my-sm-2 {
+    margin-top: 0.5rem !important; }
+  .mr-sm-2,
+  .mx-sm-2 {
+    margin-right: 0.5rem !important; }
+  .mb-sm-2,
+  .my-sm-2 {
+    margin-bottom: 0.5rem !important; }
+  .ml-sm-2,
+  .mx-sm-2 {
+    margin-left: 0.5rem !important; }
+  .m-sm-3 {
+    margin: 1rem !important; }
+  .mt-sm-3,
+  .my-sm-3 {
+    margin-top: 1rem !important; }
+  .mr-sm-3,
+  .mx-sm-3 {
+    margin-right: 1rem !important; }
+  .mb-sm-3,
+  .my-sm-3 {
+    margin-bottom: 1rem !important; }
+  .ml-sm-3,
+  .mx-sm-3 {
+    margin-left: 1rem !important; }
+  .m-sm-4 {
+    margin: 1.5rem !important; }
+  .mt-sm-4,
+  .my-sm-4 {
+    margin-top: 1.5rem !important; }
+  .mr-sm-4,
+  .mx-sm-4 {
+    margin-right: 1.5rem !important; }
+  .mb-sm-4,
+  .my-sm-4 {
+    margin-bottom: 1.5rem !important; }
+  .ml-sm-4,
+  .mx-sm-4 {
+    margin-left: 1.5rem !important; }
+  .m-sm-5 {
+    margin: 3rem !important; }
+  .mt-sm-5,
+  .my-sm-5 {
+    margin-top: 3rem !important; }
+  .mr-sm-5,
+  .mx-sm-5 {
+    margin-right: 3rem !important; }
+  .mb-sm-5,
+  .my-sm-5 {
+    margin-bottom: 3rem !important; }
+  .ml-sm-5,
+  .mx-sm-5 {
+    margin-left: 3rem !important; }
+  .p-sm-0 {
+    padding: 0 !important; }
+  .pt-sm-0,
+  .py-sm-0 {
+    padding-top: 0 !important; }
+  .pr-sm-0,
+  .px-sm-0 {
+    padding-right: 0 !important; }
+  .pb-sm-0,
+  .py-sm-0 {
+    padding-bottom: 0 !important; }
+  .pl-sm-0,
+  .px-sm-0 {
+    padding-left: 0 !important; }
+  .p-sm-1 {
+    padding: 0.25rem !important; }
+  .pt-sm-1,
+  .py-sm-1 {
+    padding-top: 0.25rem !important; }
+  .pr-sm-1,
+  .px-sm-1 {
+    padding-right: 0.25rem !important; }
+  .pb-sm-1,
+  .py-sm-1 {
+    padding-bottom: 0.25rem !important; }
+  .pl-sm-1,
+  .px-sm-1 {
+    padding-left: 0.25rem !important; }
+  .p-sm-2 {
+    padding: 0.5rem !important; }
+  .pt-sm-2,
+  .py-sm-2 {
+    padding-top: 0.5rem !important; }
+  .pr-sm-2,
+  .px-sm-2 {
+    padding-right: 0.5rem !important; }
+  .pb-sm-2,
+  .py-sm-2 {
+    padding-bottom: 0.5rem !important; }
+  .pl-sm-2,
+  .px-sm-2 {
+    padding-left: 0.5rem !important; }
+  .p-sm-3 {
+    padding: 1rem !important; }
+  .pt-sm-3,
+  .py-sm-3 {
+    padding-top: 1rem !important; }
+  .pr-sm-3,
+  .px-sm-3 {
+    padding-right: 1rem !important; }
+  .pb-sm-3,
+  .py-sm-3 {
+    padding-bottom: 1rem !important; }
+  .pl-sm-3,
+  .px-sm-3 {
+    padding-left: 1rem !important; }
+  .p-sm-4 {
+    padding: 1.5rem !important; }
+  .pt-sm-4,
+  .py-sm-4 {
+    padding-top: 1.5rem !important; }
+  .pr-sm-4,
+  .px-sm-4 {
+    padding-right: 1.5rem !important; }
+  .pb-sm-4,
+  .py-sm-4 {
+    padding-bottom: 1.5rem !important; }
+  .pl-sm-4,
+  .px-sm-4 {
+    padding-left: 1.5rem !important; }
+  .p-sm-5 {
+    padding: 3rem !important; }
+  .pt-sm-5,
+  .py-sm-5 {
+    padding-top: 3rem !important; }
+  .pr-sm-5,
+  .px-sm-5 {
+    padding-right: 3rem !important; }
+  .pb-sm-5,
+  .py-sm-5 {
+    padding-bottom: 3rem !important; }
+  .pl-sm-5,
+  .px-sm-5 {
+    padding-left: 3rem !important; }
+  .m-sm-auto {
+    margin: auto !important; }
+  .mt-sm-auto,
+  .my-sm-auto {
+    margin-top: auto !important; }
+  .mr-sm-auto,
+  .mx-sm-auto {
+    margin-right: auto !important; }
+  .mb-sm-auto,
+  .my-sm-auto {
+    margin-bottom: auto !important; }
+  .ml-sm-auto,
+  .mx-sm-auto {
+    margin-left: auto !important; } }
+
+@media (min-width: 768px) {
+  .m-md-0 {
+    margin: 0 !important; }
+  .mt-md-0,
+  .my-md-0 {
+    margin-top: 0 !important; }
+  .mr-md-0,
+  .mx-md-0 {
+    margin-right: 0 !important; }
+  .mb-md-0,
+  .my-md-0 {
+    margin-bottom: 0 !important; }
+  .ml-md-0,
+  .mx-md-0 {
+    margin-left: 0 !important; }
+  .m-md-1 {
+    margin: 0.25rem !important; }
+  .mt-md-1,
+  .my-md-1 {
+    margin-top: 0.25rem !important; }
+  .mr-md-1,
+  .mx-md-1 {
+    margin-right: 0.25rem !important; }
+  .mb-md-1,
+  .my-md-1 {
+    margin-bottom: 0.25rem !important; }
+  .ml-md-1,
+  .mx-md-1 {
+    margin-left: 0.25rem !important; }
+  .m-md-2 {
+    margin: 0.5rem !important; }
+  .mt-md-2,
+  .my-md-2 {
+    margin-top: 0.5rem !important; }
+  .mr-md-2,
+  .mx-md-2 {
+    margin-right: 0.5rem !important; }
+  .mb-md-2,
+  .my-md-2 {
+    margin-bottom: 0.5rem !important; }
+  .ml-md-2,
+  .mx-md-2 {
+    margin-left: 0.5rem !important; }
+  .m-md-3 {
+    margin: 1rem !important; }
+  .mt-md-3,
+  .my-md-3 {
+    margin-top: 1rem !important; }
+  .mr-md-3,
+  .mx-md-3 {
+    margin-right: 1rem !important; }
+  .mb-md-3,
+  .my-md-3 {
+    margin-bottom: 1rem !important; }
+  .ml-md-3,
+  .mx-md-3 {
+    margin-left: 1rem !important; }
+  .m-md-4 {
+    margin: 1.5rem !important; }
+  .mt-md-4,
+  .my-md-4 {
+    margin-top: 1.5rem !important; }
+  .mr-md-4,
+  .mx-md-4 {
+    margin-right: 1.5rem !important; }
+  .mb-md-4,
+  .my-md-4 {
+    margin-bottom: 1.5rem !important; }
+  .ml-md-4,
+  .mx-md-4 {
+    margin-left: 1.5rem !important; }
+  .m-md-5 {
+    margin: 3rem !important; }
+  .mt-md-5,
+  .my-md-5 {
+    margin-top: 3rem !important; }
+  .mr-md-5,
+  .mx-md-5 {
+    margin-right: 3rem !important; }
+  .mb-md-5,
+  .my-md-5 {
+    margin-bottom: 3rem !important; }
+  .ml-md-5,
+  .mx-md-5 {
+    margin-left: 3rem !important; }
+  .p-md-0 {
+    padding: 0 !important; }
+  .pt-md-0,
+  .py-md-0 {
+    padding-top: 0 !important; }
+  .pr-md-0,
+  .px-md-0 {
+    padding-right: 0 !important; }
+  .pb-md-0,
+  .py-md-0 {
+    padding-bottom: 0 !important; }
+  .pl-md-0,
+  .px-md-0 {
+    padding-left: 0 !important; }
+  .p-md-1 {
+    padding: 0.25rem !important; }
+  .pt-md-1,
+  .py-md-1 {
+    padding-top: 0.25rem !important; }
+  .pr-md-1,
+  .px-md-1 {
+    padding-right: 0.25rem !important; }
+  .pb-md-1,
+  .py-md-1 {
+    padding-bottom: 0.25rem !important; }
+  .pl-md-1,
+  .px-md-1 {
+    padding-left: 0.25rem !important; }
+  .p-md-2 {
+    padding: 0.5rem !important; }
+  .pt-md-2,
+  .py-md-2 {
+    padding-top: 0.5rem !important; }
+  .pr-md-2,
+  .px-md-2 {
+    padding-right: 0.5rem !important; }
+  .pb-md-2,
+  .py-md-2 {
+    padding-bottom: 0.5rem !important; }
+  .pl-md-2,
+  .px-md-2 {
+    padding-left: 0.5rem !important; }
+  .p-md-3 {
+    padding: 1rem !important; }
+  .pt-md-3,
+  .py-md-3 {
+    padding-top: 1rem !important; }
+  .pr-md-3,
+  .px-md-3 {
+    padding-right: 1rem !important; }
+  .pb-md-3,
+  .py-md-3 {
+    padding-bottom: 1rem !important; }
+  .pl-md-3,
+  .px-md-3 {
+    padding-left: 1rem !important; }
+  .p-md-4 {
+    padding: 1.5rem !important; }
+  .pt-md-4,
+  .py-md-4 {
+    padding-top: 1.5rem !important; }
+  .pr-md-4,
+  .px-md-4 {
+    padding-right: 1.5rem !important; }
+  .pb-md-4,
+  .py-md-4 {
+    padding-bottom: 1.5rem !important; }
+  .pl-md-4,
+  .px-md-4 {
+    padding-left: 1.5rem !important; }
+  .p-md-5 {
+    padding: 3rem !important; }
+  .pt-md-5,
+  .py-md-5 {
+    padding-top: 3rem !important; }
+  .pr-md-5,
+  .px-md-5 {
+    padding-right: 3rem !important; }
+  .pb-md-5,
+  .py-md-5 {
+    padding-bottom: 3rem !important; }
+  .pl-md-5,
+  .px-md-5 {
+    padding-left: 3rem !important; }
+  .m-md-auto {
+    margin: auto !important; }
+  .mt-md-auto,
+  .my-md-auto {
+    margin-top: auto !important; }
+  .mr-md-auto,
+  .mx-md-auto {
+    margin-right: auto !important; }
+  .mb-md-auto,
+  .my-md-auto {
+    margin-bottom: auto !important; }
+  .ml-md-auto,
+  .mx-md-auto {
+    margin-left: auto !important; } }
+
+@media (min-width: 992px) {
+  .m-lg-0 {
+    margin: 0 !important; }
+  .mt-lg-0,
+  .my-lg-0 {
+    margin-top: 0 !important; }
+  .mr-lg-0,
+  .mx-lg-0 {
+    margin-right: 0 !important; }
+  .mb-lg-0,
+  .my-lg-0 {
+    margin-bottom: 0 !important; }
+  .ml-lg-0,
+  .mx-lg-0 {
+    margin-left: 0 !important; }
+  .m-lg-1 {
+    margin: 0.25rem !important; }
+  .mt-lg-1,
+  .my-lg-1 {
+    margin-top: 0.25rem !important; }
+  .mr-lg-1,
+  .mx-lg-1 {
+    margin-right: 0.25rem !important; }
+  .mb-lg-1,
+  .my-lg-1 {
+    margin-bottom: 0.25rem !important; }
+  .ml-lg-1,
+  .mx-lg-1 {
+    margin-left: 0.25rem !important; }
+  .m-lg-2 {
+    margin: 0.5rem !important; }
+  .mt-lg-2,
+  .my-lg-2 {
+    margin-top: 0.5rem !important; }
+  .mr-lg-2,
+  .mx-lg-2 {
+    margin-right: 0.5rem !important; }
+  .mb-lg-2,
+  .my-lg-2 {
+    margin-bottom: 0.5rem !important; }
+  .ml-lg-2,
+  .mx-lg-2 {
+    margin-left: 0.5rem !important; }
+  .m-lg-3 {
+    margin: 1rem !important; }
+  .mt-lg-3,
+  .my-lg-3 {
+    margin-top: 1rem !important; }
+  .mr-lg-3,
+  .mx-lg-3 {
+    margin-right: 1rem !important; }
+  .mb-lg-3,
+  .my-lg-3 {
+    margin-bottom: 1rem !important; }
+  .ml-lg-3,
+  .mx-lg-3 {
+    margin-left: 1rem !important; }
+  .m-lg-4 {
+    margin: 1.5rem !important; }
+  .mt-lg-4,
+  .my-lg-4 {
+    margin-top: 1.5rem !important; }
+  .mr-lg-4,
+  .mx-lg-4 {
+    margin-right: 1.5rem !important; }
+  .mb-lg-4,
+  .my-lg-4 {
+    margin-bottom: 1.5rem !important; }
+  .ml-lg-4,
+  .mx-lg-4 {
+    margin-left: 1.5rem !important; }
+  .m-lg-5 {
+    margin: 3rem !important; }
+  .mt-lg-5,
+  .my-lg-5 {
+    margin-top: 3rem !important; }
+  .mr-lg-5,
+  .mx-lg-5 {
+    margin-right: 3rem !important; }
+  .mb-lg-5,
+  .my-lg-5 {
+    margin-bottom: 3rem !important; }
+  .ml-lg-5,
+  .mx-lg-5 {
+    margin-left: 3rem !important; }
+  .p-lg-0 {
+    padding: 0 !important; }
+  .pt-lg-0,
+  .py-lg-0 {
+    padding-top: 0 !important; }
+  .pr-lg-0,
+  .px-lg-0 {
+    padding-right: 0 !important; }
+  .pb-lg-0,
+  .py-lg-0 {
+    padding-bottom: 0 !important; }
+  .pl-lg-0,
+  .px-lg-0 {
+    padding-left: 0 !important; }
+  .p-lg-1 {
+    padding: 0.25rem !important; }
+  .pt-lg-1,
+  .py-lg-1 {
+    padding-top: 0.25rem !important; }
+  .pr-lg-1,
+  .px-lg-1 {
+    padding-right: 0.25rem !important; }
+  .pb-lg-1,
+  .py-lg-1 {
+    padding-bottom: 0.25rem !important; }
+  .pl-lg-1,
+  .px-lg-1 {
+    padding-left: 0.25rem !important; }
+  .p-lg-2 {
+    padding: 0.5rem !important; }
+  .pt-lg-2,
+  .py-lg-2 {
+    padding-top: 0.5rem !important; }
+  .pr-lg-2,
+  .px-lg-2 {
+    padding-right: 0.5rem !important; }
+  .pb-lg-2,
+  .py-lg-2 {
+    padding-bottom: 0.5rem !important; }
+  .pl-lg-2,
+  .px-lg-2 {
+    padding-left: 0.5rem !important; }
+  .p-lg-3 {
+    padding: 1rem !important; }
+  .pt-lg-3,
+  .py-lg-3 {
+    padding-top: 1rem !important; }
+  .pr-lg-3,
+  .px-lg-3 {
+    padding-right: 1rem !important; }
+  .pb-lg-3,
+  .py-lg-3 {
+    padding-bottom: 1rem !important; }
+  .pl-lg-3,
+  .px-lg-3 {
+    padding-left: 1rem !important; }
+  .p-lg-4 {
+    padding: 1.5rem !important; }
+  .pt-lg-4,
+  .py-lg-4 {
+    padding-top: 1.5rem !important; }
+  .pr-lg-4,
+  .px-lg-4 {
+    padding-right: 1.5rem !important; }
+  .pb-lg-4,
+  .py-lg-4 {
+    padding-bottom: 1.5rem !important; }
+  .pl-lg-4,
+  .px-lg-4 {
+    padding-left: 1.5rem !important; }
+  .p-lg-5 {
+    padding: 3rem !important; }
+  .pt-lg-5,
+  .py-lg-5 {
+    padding-top: 3rem !important; }
+  .pr-lg-5,
+  .px-lg-5 {
+    padding-right: 3rem !important; }
+  .pb-lg-5,
+  .py-lg-5 {
+    padding-bottom: 3rem !important; }
+  .pl-lg-5,
+  .px-lg-5 {
+    padding-left: 3rem !important; }
+  .m-lg-auto {
+    margin: auto !important; }
+  .mt-lg-auto,
+  .my-lg-auto {
+    margin-top: auto !important; }
+  .mr-lg-auto,
+  .mx-lg-auto {
+    margin-right: auto !important; }
+  .mb-lg-auto,
+  .my-lg-auto {
+    margin-bottom: auto !important; }
+  .ml-lg-auto,
+  .mx-lg-auto {
+    margin-left: auto !important; } }
+
+@media (min-width: 1200px) {
+  .m-xl-0 {
+    margin: 0 !important; }
+  .mt-xl-0,
+  .my-xl-0 {
+    margin-top: 0 !important; }
+  .mr-xl-0,
+  .mx-xl-0 {
+    margin-right: 0 !important; }
+  .mb-xl-0,
+  .my-xl-0 {
+    margin-bottom: 0 !important; }
+  .ml-xl-0,
+  .mx-xl-0 {
+    margin-left: 0 !important; }
+  .m-xl-1 {
+    margin: 0.25rem !important; }
+  .mt-xl-1,
+  .my-xl-1 {
+    margin-top: 0.25rem !important; }
+  .mr-xl-1,
+  .mx-xl-1 {
+    margin-right: 0.25rem !important; }
+  .mb-xl-1,
+  .my-xl-1 {
+    margin-bottom: 0.25rem !important; }
+  .ml-xl-1,
+  .mx-xl-1 {
+    margin-left: 0.25rem !important; }
+  .m-xl-2 {
+    margin: 0.5rem !important; }
+  .mt-xl-2,
+  .my-xl-2 {
+    margin-top: 0.5rem !important; }
+  .mr-xl-2,
+  .mx-xl-2 {
+    margin-right: 0.5rem !important; }
+  .mb-xl-2,
+  .my-xl-2 {
+    margin-bottom: 0.5rem !important; }
+  .ml-xl-2,
+  .mx-xl-2 {
+    margin-left: 0.5rem !important; }
+  .m-xl-3 {
+    margin: 1rem !important; }
+  .mt-xl-3,
+  .my-xl-3 {
+    margin-top: 1rem !important; }
+  .mr-xl-3,
+  .mx-xl-3 {
+    margin-right: 1rem !important; }
+  .mb-xl-3,
+  .my-xl-3 {
+    margin-bottom: 1rem !important; }
+  .ml-xl-3,
+  .mx-xl-3 {
+    margin-left: 1rem !important; }
+  .m-xl-4 {
+    margin: 1.5rem !important; }
+  .mt-xl-4,
+  .my-xl-4 {
+    margin-top: 1.5rem !important; }
+  .mr-xl-4,
+  .mx-xl-4 {
+    margin-right: 1.5rem !important; }
+  .mb-xl-4,
+  .my-xl-4 {
+    margin-bottom: 1.5rem !important; }
+  .ml-xl-4,
+  .mx-xl-4 {
+    margin-left: 1.5rem !important; }
+  .m-xl-5 {
+    margin: 3rem !important; }
+  .mt-xl-5,
+  .my-xl-5 {
+    margin-top: 3rem !important; }
+  .mr-xl-5,
+  .mx-xl-5 {
+    margin-right: 3rem !important; }
+  .mb-xl-5,
+  .my-xl-5 {
+    margin-bottom: 3rem !important; }
+  .ml-xl-5,
+  .mx-xl-5 {
+    margin-left: 3rem !important; }
+  .p-xl-0 {
+    padding: 0 !important; }
+  .pt-xl-0,
+  .py-xl-0 {
+    padding-top: 0 !important; }
+  .pr-xl-0,
+  .px-xl-0 {
+    padding-right: 0 !important; }
+  .pb-xl-0,
+  .py-xl-0 {
+    padding-bottom: 0 !important; }
+  .pl-xl-0,
+  .px-xl-0 {
+    padding-left: 0 !important; }
+  .p-xl-1 {
+    padding: 0.25rem !important; }
+  .pt-xl-1,
+  .py-xl-1 {
+    padding-top: 0.25rem !important; }
+  .pr-xl-1,
+  .px-xl-1 {
+    padding-right: 0.25rem !important; }
+  .pb-xl-1,
+  .py-xl-1 {
+    padding-bottom: 0.25rem !important; }
+  .pl-xl-1,
+  .px-xl-1 {
+    padding-left: 0.25rem !important; }
+  .p-xl-2 {
+    padding: 0.5rem !important; }
+  .pt-xl-2,
+  .py-xl-2 {
+    padding-top: 0.5rem !important; }
+  .pr-xl-2,
+  .px-xl-2 {
+    padding-right: 0.5rem !important; }
+  .pb-xl-2,
+  .py-xl-2 {
+    padding-bottom: 0.5rem !important; }
+  .pl-xl-2,
+  .px-xl-2 {
+    padding-left: 0.5rem !important; }
+  .p-xl-3 {
+    padding: 1rem !important; }
+  .pt-xl-3,
+  .py-xl-3 {
+    padding-top: 1rem !important; }
+  .pr-xl-3,
+  .px-xl-3 {
+    padding-right: 1rem !important; }
+  .pb-xl-3,
+  .py-xl-3 {
+    padding-bottom: 1rem !important; }
+  .pl-xl-3,
+  .px-xl-3 {
+    padding-left: 1rem !important; }
+  .p-xl-4 {
+    padding: 1.5rem !important; }
+  .pt-xl-4,
+  .py-xl-4 {
+    padding-top: 1.5rem !important; }
+  .pr-xl-4,
+  .px-xl-4 {
+    padding-right: 1.5rem !important; }
+  .pb-xl-4,
+  .py-xl-4 {
+    padding-bottom: 1.5rem !important; }
+  .pl-xl-4,
+  .px-xl-4 {
+    padding-left: 1.5rem !important; }
+  .p-xl-5 {
+    padding: 3rem !important; }
+  .pt-xl-5,
+  .py-xl-5 {
+    padding-top: 3rem !important; }
+  .pr-xl-5,
+  .px-xl-5 {
+    padding-right: 3rem !important; }
+  .pb-xl-5,
+  .py-xl-5 {
+    padding-bottom: 3rem !important; }
+  .pl-xl-5,
+  .px-xl-5 {
+    padding-left: 3rem !important; }
+  .m-xl-auto {
+    margin: auto !important; }
+  .mt-xl-auto,
+  .my-xl-auto {
+    margin-top: auto !important; }
+  .mr-xl-auto,
+  .mx-xl-auto {
+    margin-right: auto !important; }
+  .mb-xl-auto,
+  .my-xl-auto {
+    margin-bottom: auto !important; }
+  .ml-xl-auto,
+  .mx-xl-auto {
+    margin-left: auto !important; } }
+
+.text-justify {
+  text-align: justify !important; }
+
+.text-nowrap {
+  white-space: nowrap !important; }
+
+.text-truncate {
+  overflow: hidden;
+  text-overflow: ellipsis;
+  white-space: nowrap; }
+
+.text-left {
+  text-align: left !important; }
+
+.text-right {
+  text-align: right !important; }
+
+.text-center {
+  text-align: center !important; }
+
+@media (min-width: 576px) {
+  .text-sm-left {
+    text-align: left !important; }
+  .text-sm-right {
+    text-align: right !important; }
+  .text-sm-center {
+    text-align: center !important; } }
+
+@media (min-width: 768px) {
+  .text-md-left {
+    text-align: left !important; }
+  .text-md-right {
+    text-align: right !important; }
+  .text-md-center {
+    text-align: center !important; } }
+
+@media (min-width: 992px) {
+  .text-lg-left {
+    text-align: left !important; }
+  .text-lg-right {
+    text-align: right !important; }
+  .text-lg-center {
+    text-align: center !important; } }
+
+@media (min-width: 1200px) {
+  .text-xl-left {
+    text-align: left !important; }
+  .text-xl-right {
+    text-align: right !important; }
+  .text-xl-center {
+    text-align: center !important; } }
+
+.text-lowercase {
+  text-transform: lowercase !important; }
+
+.text-uppercase {
+  text-transform: uppercase !important; }
+
+.text-capitalize {
+  text-transform: capitalize !important; }
+
+.font-weight-light {
+  font-weight: 300 !important; }
+
+.font-weight-normal {
+  font-weight: 400 !important; }
+
+.font-weight-bold {
+  font-weight: 700 !important; }
+
+.font-italic {
+  font-style: italic !important; }
+
+.text-white {
+  color: #fff !important; }
+
+.text-primary {
+  color: #1177d1 !important; }
+
+a.text-primary:hover, a.text-primary:focus {
+  color: #0d5ca2 !important; }
+
+.text-secondary {
+  color: #e9ecef !important; }
+
+a.text-secondary:hover, a.text-secondary:focus {
+  color: #cbd3da !important; }
+
+.text-success, .green,
+.notifysuccess, .connected {
+  color: #5cb85c !important; }
+
+a.text-success:hover, a.green:hover,
+a.notifysuccess:hover, a.connected:hover, a.text-success:focus, a.green:focus,
+a.notifysuccess:focus, a.connected:focus {
+  color: #449d44 !important; }
+
+.text-info, .highlight {
+  color: #5bc0de !important; }
+
+a.text-info:hover, a.highlight:hover, a.text-info:focus, a.highlight:focus {
+  color: #31b0d5 !important; }
+
+.text-warning, .red,
+.notifyproblem, .completion-expired, span.flagged-tag,
+tr.flagged-tag,
+span.flagged-tag a,
+tr.flagged-tag a, .moodle-dialogue-exception .param-stacktrace .stacktrace-line, .connecting {
+  color: #f0ad4e !important; }
+
+a.text-warning:hover, a.red:hover,
+a.notifyproblem:hover, a.completion-expired:hover,
+span.flagged-tag a:hover,
+tr.flagged-tag a:hover, .moodle-dialogue-exception .param-stacktrace a.stacktrace-line:hover, a.connecting:hover, a.text-warning:focus, a.red:focus,
+a.notifyproblem:focus, a.completion-expired:focus,
+span.flagged-tag a:focus,
+tr.flagged-tag a:focus, .moodle-dialogue-exception .param-stacktrace a.stacktrace-line:focus, a.connecting:focus {
+  color: #ec971f !important; }
+
+.text-danger, .notconnected, .que .validationerror, .text-error {
+  color: #d9534f !important; }
+
+a.text-danger:hover, a.notconnected:hover, .que a.validationerror:hover, a.text-error:hover, a.text-danger:focus, a.notconnected:focus, .que a.validationerror:focus, a.text-error:focus {
+  color: #c9302c !important; }
+
+.text-light {
+  color: #f8f9fa !important; }
+
+a.text-light:hover, a.text-light:focus {
+  color: #dae0e5 !important; }
+
+.text-dark, #categoryquestions .highlight {
+  color: #373a3c !important; }
+
+a.text-dark:hover, #categoryquestions a.highlight:hover, a.text-dark:focus, #categoryquestions a.highlight:focus {
+  color: #1f2021 !important; }
+
+.text-muted, a.dimmed,
+a.dimmed:link,
+a.dimmed:visited,
+a.dimmed_text,
+a.dimmed_text:link,
+a.dimmed_text:visited,
+.dimmed_text,
+.dimmed_text a,
+.dimmed_text a:link,
+.dimmed_text a:visited,
+.usersuspended,
+.usersuspended a,
+.usersuspended a:link,
+.usersuspended a:visited,
+.dimmed_category,
+.dimmed_category a, .tag_feed .media .muted a, #page-admin-qtypes .disabled,
+#page-admin-qbehaviours .disabled, #page-admin-plugins #plugins-control-panel .pluginname .componentname, #page-admin-plugins #plugins-control-panel .version .versionnumber, #page-admin-plugins #plugins-control-panel .notes .requiredby, #plugins-check-page .page-description, #plugins-check-page #plugins-check .requires-ok, #plugins-check-page #plugins-check .displayname .plugindir, #plugins-check-page #plugins-check-available-dependencies .displayname .component, #page-admin-search .adminpagepath li, .block .minicalendar td.weekend, .section .activity .stealth, .course-content .section-summary .section-summary-activities .activity-count, .course-content ul li.section.hidden .sectionname > span,
+.course-content ul li.section.hidden .content > div.summary,
+.course-content ul li.section.hidden .activity .activityinstance, #course-category-listings .listitem[data-visible="0"], #course-category-listings .listitem[data-visible="0"] > div > a, #course-category-listings .listing-pagination-totals.dimmed, .fitem.disabled .fp-btn-choose, .form-defaultinfo,
+.form-label .form-shortname, .formsettingheading .form-horizontal, .no-felement.fstatic, .path-backup .backup_progress .backup_stage {
+  color: #868e96 !important; }
+
+.text-hide {
+  font: 0/0 a;
+  color: transparent;
+  text-shadow: none;
+  background-color: transparent;
+  border: 0; }
+
+.visible {
+  visibility: visible !important; }
+
+.invisible {
+  visibility: hidden !important; }
+
+@media print {
+  *,
+  *::before,
+  *::after {
+    text-shadow: none !important;
+    box-shadow: none !important; }
+  a:not(.btn) {
+    text-decoration: underline; }
+  abbr[title]::after {
+    content: " (" attr(title) ")"; }
+  pre {
+    white-space: pre-wrap !important; }
+  pre,
+  blockquote {
+    border: 1px solid #999;
+    page-break-inside: avoid; }
+  thead {
+    display: table-header-group; }
+  tr,
+  img {
+    page-break-inside: avoid; }
+  p,
+  h2,
+  h3 {
+    orphans: 3;
+    widows: 3; }
+  h2,
+  h3 {
+    page-break-after: avoid; }
+  @page {
+    size: a3; }
+  body {
+    min-width: 992px !important; }
+  .container {
+    min-width: 992px !important; }
+  .navbar {
+    display: none; }
+  .badge {
+    border: 1px solid #000; }
+  .table, table.collection, table.flexible,
+  .generaltable {
+    border-collapse: collapse !important; }
+    
+    .table td,
+    table.collection td,
+    table.flexible td,
+    .generaltable td, .table th, table.collection th, table.flexible th, .generaltable th {
+      background-color: #fff !important; }
+  .table-bordered th, table.collection th,
+  .table-bordered td,
+  table.collection td {
+    border: 1px solid #ddd !important; } }
+
+/* stylelint-disable function-url-scheme-blacklist */
+/* stylelint-enable function-url-scheme-blacklist */
+.tag, .statusok, .statuswarning, .statusserious,
+.statuscritical, .que .correctness, .label, .badge {
+  display: inline-block;
+  padding: 0.25rem 0.4em;
+  font-size: 75%;
+  font-weight: bold;
+  line-height: 1;
+  color: #fff;
+  text-align: center;
+  white-space: nowrap;
+  vertical-align: baseline;
+  border-radius: 0.25rem; }
+  .tag:empty, .statusok:empty, .statuswarning:empty, .statusserious:empty,
+  .statuscritical:empty, .que .correctness:empty, .label:empty, .badge:empty {
+    display: none; }
+
+.form-control-success,
+.form-control-warning,
+.maintenancewarning.warning,
+.form-control-danger,
+#page-admin-mnet-peers .mform .deletedhostinfo,
+.maintenancewarning.error {
+  padding-right: 2.25rem;
+  background-repeat: no-repeat;
+  background-position: center right calc(2.15625rem + 2px)/4;
+  background-size: calc(2.15625rem + 2px)/2 calc(2.15625rem + 2px)/2; }
+
+.tag-default {
+  background-color: #868e96; }
+  .tag-default[href]:hover, .tag-default[href]:focus {
+    background-color: #6c757d; }
+
+.tag-primary {
+  background-color: #1177d1; }
+  .tag-primary[href]:hover, .tag-primary[href]:focus {
+    background-color: #0d5ca2; }
+
+.tag-success, .statusok, #page-admin-report-backups-index .backup-skipped,
+#page-admin-report-backups-index .backup-ok,
+#page-admin-report-backups-index .backup-notyetrun {
+  background-color: #5cb85c; }
+  .tag-success[href]:hover, .statusok[href]:hover, #page-admin-report-backups-index .backup-skipped[href]:hover,
+  #page-admin-report-backups-index .backup-ok[href]:hover,
+  #page-admin-report-backups-index .backup-notyetrun[href]:hover, .tag-success[href]:focus, .statusok[href]:focus, #page-admin-report-backups-index .backup-skipped[href]:focus,
+  #page-admin-report-backups-index .backup-ok[href]:focus,
+  #page-admin-report-backups-index .backup-notyetrun[href]:focus {
+    background-color: #449d44; }
+
+.tag-info, #page-admin-index .adminwarning.availableupdatesinfo .moodleupdateinfo.maturity200 .info.release {
+  background-color: #5bc0de; }
+  .tag-info[href]:hover, #page-admin-index .adminwarning.availableupdatesinfo .moodleupdateinfo.maturity200 .info.release[href]:hover, .tag-info[href]:focus, #page-admin-index .adminwarning.availableupdatesinfo .moodleupdateinfo.maturity200 .info.release[href]:focus {
+    background-color: #31b0d5; }
+
+.tag-warning, .statuswarning, #page-admin-report-backups-index .backup-warning, #page-admin-index .updateplugin .updatepluginconfirmexternal, #page-admin-index .adminwarning.availableupdatesinfo .moodleupdateinfo.maturity100 .info.release,
+#page-admin-index .adminwarning.availableupdatesinfo .moodleupdateinfo.maturity150 .info.release {
+  background-color: #ff7518; }
+  .tag-warning[href]:hover, .statuswarning[href]:hover, #page-admin-report-backups-index .backup-warning[href]:hover, #page-admin-index .updateplugin .updatepluginconfirmexternal[href]:hover, #page-admin-index .adminwarning.availableupdatesinfo .moodleupdateinfo.maturity100 .info.release[href]:hover,
+  #page-admin-index .adminwarning.availableupdatesinfo .moodleupdateinfo.maturity150 .info.release[href]:hover, .tag-warning[href]:focus, .statuswarning[href]:focus, #page-admin-report-backups-index .backup-warning[href]:focus, #page-admin-index .updateplugin .updatepluginconfirmexternal[href]:focus, #page-admin-index .adminwarning.availableupdatesinfo .moodleupdateinfo.maturity100 .info.release[href]:focus,
+  #page-admin-index .adminwarning.availableupdatesinfo .moodleupdateinfo.maturity150 .info.release[href]:focus {
+    background-color: #e45c00; }
+
+.tag-danger, .statusserious,
+.statuscritical, #page-admin-report-backups-index .backup-error,
+#page-admin-report-backups-index .backup-unfinished, #page-admin-index .adminwarning.availableupdatesinfo .moodleupdateinfo.maturity50 .info.release {
+  background-color: #d9534f; }
+  .tag-danger[href]:hover, .statusserious[href]:hover,
+  .statuscritical[href]:hover, #page-admin-report-backups-index .backup-error[href]:hover,
+  #page-admin-report-backups-index .backup-unfinished[href]:hover, #page-admin-index .adminwarning.availableupdatesinfo .moodleupdateinfo.maturity50 .info.release[href]:hover, .tag-danger[href]:focus, .statusserious[href]:focus,
+  .statuscritical[href]:focus, #page-admin-report-backups-index .backup-error[href]:focus,
+  #page-admin-report-backups-index .backup-unfinished[href]:focus, #page-admin-index .adminwarning.availableupdatesinfo .moodleupdateinfo.maturity50 .info.release[href]:focus {
+    background-color: #c9302c; }
+
+.custom-select {
+  width: auto; }
+
+.fade.in {
+  opacity: 1; }
+
+.m-a-0 {
+  margin: 0 !important; }
+
+.m-t-0,
+.m-y-0 {
+  margin-top: 0 !important; }
+
+.m-r-0,
+.m-x-0 {
+  margin-right: 0 !important; }
+
+.m-b-0,
+.m-y-0 {
+  margin-bottom: 0 !important; }
+
+.m-l-0,
+.m-x-0 {
+  margin-left: 0 !important; }
+
+.m-a-1 {
+  margin: 1rem !important; }
+
+.m-t-1,
+.m-y-1 {
+  margin-top: 1rem !important; }
+
+.m-r-1,
+.m-x-1 {
+  margin-right: 1rem !important; }
+
+.m-b-1,
+.m-y-1 {
+  margin-bottom: 1rem !important; }
+
+.m-l-1,
+.m-x-1 {
+  margin-left: 1rem !important; }
+
+.m-a-2 {
+  margin: 2rem !important; }
+
+.m-t-2,
+.m-y-2 {
+  margin-top: 2rem !important; }
+
+.m-r-2,
+.m-x-2 {
+  margin-right: 2rem !important; }
+
+.m-b-2,
+.m-y-2 {
+  margin-bottom: 2rem !important; }
+
+.m-l-2,
+.m-x-2 {
+  margin-left: 2rem !important; }
+
+.m-a-3 {
+  margin: 3rem !important; }
+
+.m-t-3,
+.m-y-3 {
+  margin-top: 3rem !important; }
+
+.m-r-3,
+.m-x-3 {
+  margin-right: 3rem !important; }
+
+.m-b-3,
+.m-y-3 {
+  margin-bottom: 3rem !important; }
+
+.m-l-3,
+.m-x-3 {
+  margin-left: 3rem !important; }
+
+.p-a-0 {
+  padding: 0 !important; }
+
+.p-t-0,
+.p-y-0 {
+  padding-top: 0 !important; }
+
+.p-r-0,
+.p-x-0 {
+  padding-right: 0 !important; }
+
+.p-b-0,
+.p-y-0 {
+  padding-bottom: 0 !important; }
+
+.p-l-0,
+.p-x-0 {
+  padding-left: 0 !important; }
+
+.p-a-1 {
+  padding: 1rem !important; }
+
+.p-t-1,
+.p-y-1 {
+  padding-top: 1rem !important; }
+
+.p-r-1,
+.p-x-1 {
+  padding-right: 1rem !important; }
+
+.p-b-1,
+.p-y-1 {
+  padding-bottom: 1rem !important; }
+
+.p-l-1,
+.p-x-1 {
+  padding-left: 1rem !important; }
+
+.p-a-2 {
+  padding: 2rem !important; }
+
+.p-t-2,
+.p-y-2 {
+  padding-top: 2rem !important; }
+
+.p-r-2,
+.p-x-2 {
+  padding-right: 2rem !important; }
+
+.p-b-2,
+.p-y-2 {
+  padding-bottom: 2rem !important; }
+
+.p-l-2,
+.p-x-2 {
+  padding-left: 2rem !important; }
+
+.p-a-3 {
+  padding: 3rem !important; }
+
+.p-t-3,
+.p-y-3 {
+  padding-top: 3rem !important; }
+
+.p-r-3,
+.p-x-3 {
+  padding-right: 3rem !important; }
+
+.p-b-3,
+.p-y-3 {
+  padding-bottom: 3rem !important; }
+
+.p-l-3,
+.p-x-3 {
+  padding-left: 3rem !important; }
+
+input[disabled] {
+  cursor: not-allowed; }
+
+.row-fluid {
+  display: flex;
+  flex-wrap: wrap;
+  margin-right: -15px;
+  margin-left: -15px; }
+
+/*rtl:raw:
+.dropdown-menu-right {
+    right: 0;
+    left: auto;
+}
+.dropdown-menu-left {
+    right: auto;
+    left: 0;
+}
+*/
+/**
+ * Bootstrap overrides for RTL
+ *
+ * This file is only for overriding sass from upstream bootstrap, all general rtl fixes for
+ * moodle scss should be placed immediately after the definition of the ltr rule.
+ */
+.breadcrumb-item + .breadcrumb-item::before {
+  content: "/";
+  /*rtl:remove*/
+  content: "/";
+  /* stylelint-disable-line declaration-block-no-duplicate-properties */ }
+
+/*rtl:raw:
+.dropdown-menu {
+    right: auto;
+    left: 0;
+    text-align: right;
+}
+*/
+/* core.less */
+#region-main {
+  overflow-x: auto;
+  overflow-y: visible;
+  border: 1px solid rgba(0, 0, 0, 0.125);
+  padding: 1.25rem;
+  background-color: #fff; }
+
+.context-header-settings-menu,
+.region-main-settings-menu {
+  float: right;
+  width: auto;
+  max-width: 4em;
+  height: 2em;
+  display: block;
+  margin-top: 4px; }
+
+.context-header-settings-menu .dropdown-toggle > .icon,
+#region-main-settings-menu .dropdown-toggle > .icon {
+  height: 24px;
+  font-size: 24px;
+  width: auto; }
+
+/** Prevent user notifications overlapping with region main settings menu */
+#user-notifications {
+  display: block;
+  overflow: hidden; }
+
+/** Page layout CSS starts **/
+.layout-option-noheader #page-header,
+.layout-option-nonavbar #page-navbar,
+.layout-option-nofooter #page-footer,
+.layout-option-nocourseheader .course-content-header,
+.layout-option-nocoursefooter .course-content-footer {
+  display: none; }
+
+/** Page layout CSS ends **/
+.mdl-left {
+  text-align: left; }
+
+.mdl-right {
+  text-align: right; }
+
+/*rtl:ignore*/
+.text-ltr {
+  direction: ltr !important;
+  /* stylelint-disable-line declaration-no-important */ }
+
+#add,
+#remove,
+.centerpara,
+.mdl-align {
+  text-align: center; }
+
+.unlist,
+.unlist li,
+.inline-list,
+.inline-list li,
+.block .list,
+.block .list li,
+.section li.activity,
+.section li.movehere,
+.tabtree li {
+  list-style: none;
+  margin: 0;
+  padding: 0; }
+
+.inline,
+.inline-list li {
+  display: inline; }
+
+.notifytiny {
+  font-size: 0.703125rem; }
+
+.notifytiny li,
+.notifytiny td {
+  font-size: 100%; }
+
+.fitem.advanced .text-info, .fitem.advanced .highlight {
+  font-weight: bold; }
+
+.reportlink {
+  text-align: right; }
+
+a.autolink.glossary:hover {
+  cursor: help; }
+
+/* Block which is hidden if javascript enabled, prevents fickering visible when JS from footer used! */
+.collapsibleregioncaption {
+  white-space: nowrap;
+  min-height: 1.40625rem; }
+
+.pagelayout-mydashboard.jsenabled .collapsibleregioncaption {
+  cursor: pointer; }
+
+.pagelayout-mydashboard #region-main {
+  border: 0;
+  padding: 0;
+  background-color: transparent;
+  margin-top: -1px; }
+
+.collapsibleregioncaption img {
+  vertical-align: middle; }
+
+.jsenabled .hiddenifjs {
+  display: none; }
+
+.visibleifjs {
+  display: none; }
+
+.jsenabled .visibleifjs {
+  display: inline; }
+
+.jsenabled .collapsibleregion {
+  overflow: hidden;
+  box-sizing: content-box; }
+
+.jsenabled .collapsed .collapsibleregioninner {
+  visibility: hidden; }
+
+.collapsible-actions {
+  display: none;
+  text-align: right; }
+
+.jsenabled .collapsible-actions {
+  display: block; }
+
+.collapsible-actions .collapseexpand {
+  padding-left: 20px;
+  background: url([[pix:t/collapsed]]) 2px center no-repeat; }
+
+/*rtl:raw:
+.collapsible-actions .collapseexpand {
+    background: url([[pix:t/collapsed_rtl]]) right center no-repeat;
+}
+*/
+.collapsible-actions .collapse-all {
+  background-image: url([[pix:t/expanded]]); }
+
+.yui-overlay .yui-widget-bd {
+  background-color: #ffee69;
+  border: 1px solid #a6982b;
+  border-top-color: #d4c237;
+  color: #000;
+  left: 0;
+  padding: 2px 5px;
+  position: relative;
+  top: 0;
+  z-index: 1; }
+
+.clearer {
+  background: transparent;
+  border-width: 0;
+  clear: both;
+  display: block;
+  height: 1px;
+  margin: 0;
+  padding: 0; }
+
+.bold,
+.warning,
+.errorbox .title,
+.pagingbar .title,
+.pagingbar .thispage {
+  font-weight: bold; }
+
+img.userpicture {
+  margin-right: 0.5rem; }
+
+img.resize {
+  height: 1em;
+  width: 1em; }
+
+.action-menu .dropdown-toggle {
+  text-decoration: none; }
+
+.action-menu {
+  white-space: nowrap; }
+
+.block img.resize {
+  height: 0.9em;
+  width: 0.8em; }
+
+/* Icon styles */
+img.activityicon {
+  height: 24px;
+  width: 24px;
+  vertical-align: middle; }
+
+.headermain {
+  font-weight: bold; }
+
+#maincontent {
+  display: block;
+  height: 1px;
+  overflow: hidden; }
+
+img.uihint {
+  cursor: help; }
+
+#addmembersform table {
+  margin-left: auto;
+  margin-right: auto; }
+
+table.flexible .emptyrow {
+  display: none; }
+
+form.popupform,
+form.popupform div {
+  display: inline; }
+
+.arrow_button input {
+  overflow: hidden; }
+
+.no-overflow {
+  overflow: auto; }
+
+.no-overflow > .generaltable {
+  position: relative;
+  margin-bottom: 0;
+  min-height: 10em; }
+
+.accesshide {
+  position: absolute;
+  width: 1px;
+  height: 1px;
+  padding: 0;
+  overflow: hidden;
+  clip: rect(0, 0, 0, 0);
+  white-space: nowrap;
+  clip-path: inset(50%);
+  border: 0; }
+
+span.hide,
+div.hide,
+.hidden {
+  display: none; }
+
+a.skip-block,
+a.skip {
+  position: absolute;
+  top: -1000em;
+  font-size: 0.85em;
+  text-decoration: none; }
+
+a.skip-block:focus,
+a.skip-block:active,
+a.skip:focus,
+a.skip:active {
+  position: static;
+  display: block; }
+
+.skip-block-to {
+  display: block;
+  height: 1px;
+  overflow: hidden; }
+
+.addbloglink {
+  text-align: center; }
+
+.blog_entry .audience {
+  text-align: right;
+  padding-right: 4px; }
+
+.blog_entry .tags {
+  margin-top: 15px; }
+
+.blog_entry .content {
+  margin-left: 43px; }
+
+#doc-contents h1 {
+  margin: 1em 0 0 0; }
+
+#doc-contents ul {
+  margin: 0;
+  padding: 0;
+  width: 90%; }
+
+#doc-contents ul li {
+  list-style-type: none; }
+
+.groupmanagementtable td {
+  vertical-align: top; }
+
+.groupmanagementtable #existingcell,
+.groupmanagementtable #potentialcell {
+  width: 42%; }
+
+.groupmanagementtable #buttonscell {
+  width: 16%; }
+
+.groupmanagementtable #buttonscell p.arrow_button input {
+  width: auto;
+  min-width: 80%;
+  margin: 0 auto; }
+
+.groupmanagementtable #removeselect_wrapper,
+.groupmanagementtable #addselect_wrapper {
+  width: 100%; }
+
+.groupmanagementtable #removeselect_wrapper label,
+.groupmanagementtable #addselect_wrapper label {
+  font-weight: normal; }
+
+#group-usersummary {
+  width: 14em; }
+
+.groupselector {
+  margin-top: 3px;
+  margin-bottom: 3px;
+  display: inline-block; }
+
+.groupselector label {
+  display: inline-block; }
+
+.login-page [name="username"] {
+  margin-bottom: -1px;
+  border-bottom-right-radius: 0;
+  border-bottom-left-radius: 0; }
+
+.login-page [type="password"] {
+  margin-bottom: 10px;
+  border-top-left-radius: 0;
+  border-top-right-radius: 0; }
+
+.notepost {
+  margin-bottom: 1em; }
+
+.notepost .userpicture {
+  float: left;
+  margin-right: 5px; }
+
+.notepost .content,
+.notepost .footer {
+  clear: both; }
+
+.notesgroup {
+  margin-left: 20px; }
+
+.path-my .coursebox {
+  margin: 1rem 0;
+  padding: 0; }
+  .path-my .coursebox .overview {
+    margin: 15px 30px 10px 30px; }
+
+.path-my .coursebox .info {
+  float: none;
+  margin: 0; }
+
+.mod_introbox {
+  padding: 10px; }
+
+table.mod_index {
+  width: 100%; }
+
+.comment-ctrl {
+  font-size: 12px;
+  display: none;
+  margin: 0;
+  padding: 0; }
+
+.comment-ctrl h5 {
+  margin: 0;
+  padding: 5px; }
+
+.comment-area {
+  max-width: 400px;
+  padding: 5px; }
+
+.comment-area textarea {
+  width: 100%;
+  overflow: auto; }
+  .comment-area textarea.fullwidth {
+    -webkit-box-sizing: border-box;
+    -moz-box-sizing: border-box;
+    box-sizing: border-box; }
+
+.comment-area .fd {
+  text-align: right; }
+
+.comment-meta span {
+  color: gray; }
+
+.comment-link img {
+  vertical-align: text-bottom; }
+
+.comment-list {
+  font-size: 11px;
+  overflow: auto;
+  list-style: none;
+  padding: 0;
+  margin: 0; }
+
+.comment-list li {
+  margin: 2px;
+  list-style: none;
+  margin-bottom: 5px;
+  clear: both;
+  padding: .3em;
+  position: relative; }
+
+.comment-list li.first {
+  display: none; }
+
+.comment-paging {
+  text-align: center; }
+
+.comment-paging .pageno {
+  padding: 2px; }
+
+.comment-paging .curpage {
+  border: 1px solid #ccc; }
+
+.comment-message .picture {
+  width: 20px;
+  float: left; }
+
+.comment-message .text {
+  margin: 0;
+  padding: 0; }
+
+.comment-message .text p {
+  padding: 0;
+  margin: 0 18px 0 0; }
+
+.comment-delete {
+  position: absolute;
+  top: 0;
+  right: 0;
+  margin: .3em; }
+
+.comment-report-selectall {
+  display: none; }
+
+.comment-link {
+  display: none; }
+
+.jsenabled .comment-link {
+  display: block; }
+
+.jsenabled .showcommentsnonjs {
+  display: none; }
+
+.jsenabled .comment-report-selectall {
+  display: inline; }
+
+/**
+* Completion progress report
+*/
+.completion-expected {
+  font-size: 0.703125rem; }
+
+.completion-sortchoice,
+.completion-identifyfield {
+  font-size: 0.703125rem;
+  vertical-align: bottom; }
+
+.completion-progresscell {
+  text-align: right; }
+
+.completion-expired .completion-expected {
+  font-weight: bold; }
+
+/**
+* Tags
+*/
+img.user-image {
+  height: 100px;
+  width: 100px; }
+
+#tag-search-box {
+  text-align: center;
+  margin: 10px auto; }
+
+.path-tag .tag-index-items .tagarea {
+  border: 1px solid #e3e3e3;
+  border-radius: 4px;
+  padding: 10px;
+  margin-top: 10px; }
+
+.path-tag .tag-index-items .tagarea h3 {
+  display: block;
+  padding: 3px 0 10px 0;
+  margin: 0;
+  font-size: 1.1em;
+  font-weight: bold;
+  line-height: 20px;
+  color: #999;
+  text-shadow: 0 1px 0 rgba(255, 255, 255, 0.5);
+  text-transform: uppercase;
+  word-wrap: break-word;
+  border-bottom: solid 1px #e3e3e3;
+  margin-bottom: 10px; }
+
+.path-tag .tagarea .controls::after,
+.path-tag .tagarea .taggeditems::after {
+  display: block;
+  clear: both;
+  content: ""; }
+
+.path-tag .tagarea .controls,
+.path-tag .tag-backtoallitems {
+  text-align: center; }
+
+.path-tag .tagarea .controls .gotopage.nextpage {
+  float: right; }
+
+.path-tag .tagarea .controls .gotopage.prevpage {
+  float: left; }
+
+.path-tag .tagarea .controls .exclusivemode {
+  display: inline-block; }
+
+.path-tag .tagarea .controls.controls-bottom {
+  margin-top: 5px; }
+
+.path-tag .tagarea .controls .gotopage.nextpage::after {
+  padding-right: 5px;
+  padding-left: 5px;
+  content: "»"; }
+
+.path-tag .tagarea .controls .gotopage.prevpage::before {
+  padding-right: 5px;
+  padding-left: 5px;
+  content: "«"; }
+
+.tag-management-table td,
+.tag-management-table th {
+  vertical-align: middle;
+  padding: 4px; }
+
+.tag-management-table .inplaceeditable.inplaceeditingon input {
+  width: 150px; }
+
+.path-admin-tag .addstandardtags {
+  float: right; }
+  .path-admin-tag .addstandardtags img {
+    margin: 0 5px; }
+
+.path-tag .tag-relatedtags {
+  padding-top: 10px; }
+
+.path-tag .tag-management-box {
+  text-align: right; }
+
+.path-tag .tag-index-toc {
+  padding: 10px;
+  text-align: center; }
+
+.path-tag .tag-index-toc li,
+.path-tag .tag-management-box li {
+  margin-left: 5px;
+  margin-right: 5px; }
+
+.path-tag .tag-management-box li a.edittag {
+  background-image: url([[pix:moodle|i/settings]]); }
+
+.path-tag .tag-management-box li a.flagasinappropriate {
+  background-image: url([[pix:moodle|i/flagged]]); }
+
+.path-tag .tag-management-box li a.removefrommyinterests {
+  background-image: url([[pix:moodle|t/delete]]); }
+
+.path-tag .tag-management-box li a.addtomyinterests {
+  background-image: url([[pix:moodle|t/add]]); }
+
+.path-tag .tag-management-box li a {
+  background-repeat: no-repeat;
+  background-position: left;
+  padding-left: 17px; }
+
+.tag_feed.media-list .media .itemimage {
+  float: left; }
+
+.tag_feed.media-list .media .itemimage img {
+  height: 35px;
+  width: 35px; }
+
+.tag_feed.media-list .media .media-body {
+  padding-right: 10px;
+  padding-left: 10px; }
+
+.tag_cloud {
+  text-align: center; }
+
+.tag_cloud .inline-list li {
+  padding: 0 0.2em; }
+
+.tag_cloud .tag_overflow {
+  margin-top: 1em;
+  font-style: italic; }
+
+.tag_cloud .s20 {
+  font-size: 2.7em; }
+
+.tag_cloud .s19 {
+  font-size: 2.6em; }
+
+.tag_cloud .s18 {
+  font-size: 2.5em; }
+
+.tag_cloud .s17 {
+  font-size: 2.4em; }
+
+.tag_cloud .s16 {
+  font-size: 2.3em; }
+
+.tag_cloud .s15 {
+  font-size: 2.2em; }
+
+.tag_cloud .s14 {
+  font-size: 2.1em; }
+
+.tag_cloud .s13 {
+  font-size: 2em; }
+
+.tag_cloud .s12 {
+  font-size: 1.9em; }
+
+.tag_cloud .s11 {
+  font-size: 1.8em; }
+
+.tag_cloud .s10 {
+  font-size: 1.7em; }
+
+.tag_cloud .s9 {
+  font-size: 1.6em; }
+
+.tag_cloud .s8 {
+  font-size: 1.5em; }
+
+.tag_cloud .s7 {
+  font-size: 1.4em; }
+
+.tag_cloud .s6 {
+  font-size: 1.3em; }
+
+.tag_cloud .s5 {
+  font-size: 1.2em; }
+
+.tag_cloud .s4 {
+  font-size: 1.1em; }
+
+.tag_cloud .s3 {
+  font-size: 1em; }
+
+.tag_cloud .s2 {
+  font-size: 0.9em; }
+
+.tag_cloud .s1 {
+  font-size: 0.8em; }
+
+.tag_cloud .s0 {
+  font-size: 0.7em; }
+
+.tag_list ul {
+  display: inline; }
+
+.tag_list.hideoverlimit .overlimit {
+  display: none; }
+
+.tag_list .tagmorelink {
+  display: none; }
+
+.tag_list.hideoverlimit .tagmorelink {
+  display: inline; }
+
+.tag_list.hideoverlimit .taglesslink {
+  display: none; }
+
+/**
+* Web Service
+*/
+#webservice-doc-generator td {
+  text-align: left;
+  border: 0 solid black; }
+
+/**
+* Enrol
+*/
+.userenrolment {
+  width: 100%;
+  border-collapse: collapse; }
+
+.userenrolment tr {
+  vertical-align: top; }
+
+.userenrolment td {
+  padding: 0;
+  height: 41px; }
+
+.userenrolment .subfield {
+  margin-right: 5px; }
+
+.userenrolment .col_userdetails .subfield {
+  margin-left: 40px; }
+
+.userenrolment .col_userdetails .subfield_picture {
+  float: left;
+  margin-left: 0; }
+
+.userenrolment .col_lastseen {
+  width: 150px; }
+
+.userenrolment .col_role {
+  width: 262px; }
+
+.userenrolment .col_role .roles,
+.userenrolment .col_group .groups {
+  margin-right: 30px; }
+
+.userenrolment .col_role .role {
+  float: left;
+  padding: 0 3px 3px;
+  margin: 0 3px 3px;
+  white-space: nowrap; }
+
+.userenrolment .col_group .group {
+  float: left;
+  padding: 3px;
+  margin: 3px;
+  white-space: nowrap; }
+
+.userenrolment .col_role .role a,
+.userenrolment .col_group .group a {
+  margin-left: 3px;
+  cursor: pointer; }
+
+.userenrolment .col_role .addrole,
+.userenrolment .col_group .addgroup {
+  float: right;
+  padding: 3px;
+  margin: 3px; }
+  .userenrolment .col_role .addrole > a:hover,
+  .userenrolment .col_group .addgroup > a:hover {
+    border-bottom: 1px solid #666; }
+
+.userenrolment .col_role .addrole img,
+.userenrolment .col_group .addgroup img {
+  vertical-align: baseline; }
+
+.userenrolment .hasAllRoles .col_role .addrole {
+  display: none; }
+
+.userenrolment .col_enrol .enrolment {
+  float: left;
+  padding: 0 3px 3px;
+  margin: 0 3px 3px; }
+
+.userenrolment .col_enrol .enrolment a {
+  float: right;
+  margin-left: 3px; }
+
+#page-enrol-users .enrol_user_buttons {
+  text-align: right; }
+
+#page-enrol-users .enrol-users-page-action input {
+  margin-left: 0; }
+
+.corelightbox {
+  background-color: #ccc;
+  position: absolute;
+  top: 0;
+  left: 0;
+  width: 100%;
+  height: 100%;
+  text-align: center; }
+
+.corelightbox img {
+  position: fixed;
+  top: 50%;
+  left: 50%; }
+
+.mod-indent-outer {
+  display: table; }
+
+.mod-indent {
+  display: table-cell; }
+
+.label .mod-indent {
+  float: left;
+  padding-top: 20px; }
+
+/* Creates a series of .mod-indent-# rule declarations based on indent size and number of indent levels. */
+.mod-indent-1 {
+  width: 30px; }
+
+.mod-indent-2 {
+  width: 60px; }
+
+.mod-indent-3 {
+  width: 90px; }
+
+.mod-indent-4 {
+  width: 120px; }
+
+.mod-indent-5 {
+  width: 150px; }
+
+.mod-indent-6 {
+  width: 180px; }
+
+.mod-indent-7 {
+  width: 210px; }
+
+.mod-indent-8 {
+  width: 240px; }
+
+.mod-indent-9 {
+  width: 270px; }
+
+.mod-indent-10 {
+  width: 300px; }
+
+.mod-indent-11 {
+  width: 330px; }
+
+.mod-indent-12 {
+  width: 360px; }
+
+.mod-indent-13 {
+  width: 390px; }
+
+.mod-indent-14 {
+  width: 420px; }
+
+.mod-indent-15 {
+  width: 450px; }
+
+.mod-indent-16 {
+  width: 480px; }
+
+.mod-indent-huge {
+  width: 480px; }
+
+/* Audio player size in 'block' mode (can only change width, height is hardcoded in JS) */
+.resourcecontent .mediaplugin_mp3 object {
+  height: 25px;
+  width: 600px; }
+
+.resourcecontent audio.mediaplugin_html5audio {
+  width: 600px; }
+
+/** Large resource images should avoid hidden overflow **/
+.resourceimage {
+  max-width: 100%; }
+
+/* Audio player size in 'inline' mode (can only change width, as above) */
+.mediaplugin_mp3 object {
+  height: 15px;
+  width: 300px; }
+
+audio.mediaplugin_html5audio {
+  width: 300px; }
+
+/* TinyMCE moodle media preview frame should not have padding */
+.core_media_preview.pagelayout-embedded #content {
+  padding: 0; }
+
+.core_media_preview.pagelayout-embedded #maincontent {
+  height: 0; }
+
+body#page-lib-editor-tinymce-plugins-moodlemedia-preview {
+  padding: 0;
+  margin: 0;
+  min-width: 0;
+  background: none; }
+
+.path-rating .ratingtable {
+  width: 100%;
+  margin-bottom: 1em; }
+
+.path-rating .ratingtable th.rating {
+  width: 100%; }
+
+.path-rating .ratingtable td.rating,
+.path-rating .ratingtable td.time {
+  white-space: nowrap;
+  text-align: center; }
+
+/* Moodle Dialogue Settings (moodle-core-dialogue)  */
+.moodle-dialogue-base .moodle-dialogue-lightbox {
+  background-color: #495057; }
+
+.pagelayout-popup .moodle-dialogue-base .moodle-dialogue-lightbox {
+  background-color: transparent; }
+
+.pagelayout-popup .moodle-dialogue-base .moodle-dialogue {
+  box-shadow: 0 0.25rem 0.5rem rgba(0, 0, 0, 0.2); }
+
+.moodle-dialogue-base .hidden,
+.moodle-dialogue-base .moodle-dialogue-hidden {
+  display: none; }
+
+.no-scrolling {
+  overflow: hidden; }
+
+.moodle-dialogue-base .moodle-dialogue-fullscreen {
+  left: 0;
+  top: 0;
+  right: 0;
+  bottom: -50px;
+  position: fixed; }
+
+.moodle-dialogue-base .moodle-dialogue-fullscreen .moodle-dialogue-content {
+  overflow: auto; }
+
+.moodle-dialogue-base .moodle-dialogue-fullscreen .closebutton {
+  width: 28px;
+  height: 16px;
+  background-size: 100%; }
+
+.moodle-dialogue-base .moodle-dialogue-wrap {
+  background-color: #fff;
+  border: 1px solid #ccc; }
+
+.modal.show {
+  display: block; }
+
+.moodle-dialogue-base .moodle-dialogue-wrap .moodle-dialogue-hd.yui3-widget-hd {
+  min-height: 3rem;
+  color: initial;
+  background: initial;
+  font-size: 1.5rem;
+  line-height: 1.5; }
+
+.moodle-dialogue-base .moodle-dialogue-wrap .moodle-dialogue-hd h1 {
+  font-size: 1.5rem; }
+
+.moodle-dialogue-base .moodle-dialogue-wrap .moodle-dialogue-hd .yui3-widget-buttons {
+  /*rtl:raw:
+        left: 0;
+        right: auto;
+    */
+  padding: 1rem; }
+
+.moodle-dialogue-base .closebutton {
+  box-shadow: none; }
+  .moodle-dialogue-base .closebutton::after {
+    content: "×"; }
+
+.moodle-dialogue-base .moodle-dialogue .moodle-dialogue-bd {
+  padding: 0.5rem; }
+
+.moodle-dialogue-base .moodle-dialogue-fullscreen .moodle-dialogue-content {
+  overflow: auto;
+  position: absolute;
+  top: 0;
+  bottom: 50px;
+  left: 0;
+  right: 0;
+  margin: 0;
+  border: 0; }
+
+.moodle-dialogue-exception .moodle-exception-param label {
+  font-weight: bold; }
+
+.moodle-dialogue-exception .param-stacktrace label {
+  background-color: #eee;
+  border: 1px solid #ccc;
+  border-bottom-width: 0; }
+
+.moodle-dialogue-exception .param-stacktrace pre {
+  border: 1px solid #ccc;
+  background-color: #fff; }
+
+.moodle-dialogue-exception .param-stacktrace .stacktrace-file {
+  color: navy;
+  font-size: 0.8203125rem; }
+
+.moodle-dialogue-exception .param-stacktrace .stacktrace-line {
+  font-size: 0.8203125rem; }
+
+.moodle-dialogue-exception .param-stacktrace .stacktrace-call {
+  color: #333;
+  font-size: 90%;
+  border-bottom: 1px solid #eee; }
+
+.moodle-dialogue-base .moodle-dialogue .moodle-dialogue-content .moodle-dialogue-ft:empty {
+  display: none; }
+
+.moodle-dialogue-base .moodle-dialogue .moodle-dialogue-content .moodle-dialogue-ft.yui3-widget-ft {
+  background: initial; }
+
+.moodle-dialogue-confirm .confirmation-message {
+  margin: 0.5rem 0; }
+
+.moodle-dialogue-confirm .confirmation-dialogue input {
+  min-width: 80px; }
+
+.moodle-dialogue-exception .moodle-exception-message {
+  margin: 1em; }
+
+.moodle-dialogue-exception .moodle-exception-param {
+  margin-bottom: 0.5em; }
+
+.moodle-dialogue-exception .moodle-exception-param label {
+  width: 150px; }
+
+.moodle-dialogue-exception .param-stacktrace label {
+  display: block;
+  margin: 0;
+  padding: 4px 1em; }
+
+.moodle-dialogue-exception .param-stacktrace pre {
+  display: block;
+  height: 200px;
+  overflow: auto; }
+
+.moodle-dialogue-exception .param-stacktrace .stacktrace-file {
+  display: inline-block;
+  margin: 4px 0; }
+
+.moodle-dialogue-exception .param-stacktrace .stacktrace-line {
+  display: inline-block;
+  width: 50px;
+  margin: 4px 1em; }
+
+.moodle-dialogue-exception .param-stacktrace .stacktrace-call {
+  padding-left: 25px;
+  margin-bottom: 4px;
+  padding-bottom: 4px; }
+
+.moodle-dialogue .moodle-dialogue-bd .content-lightbox {
+  opacity: 0.75;
+  width: 100%;
+  height: 100%;
+  top: 0;
+  left: 0;
+  background-color: white;
+  text-align: center;
+  padding: 10% 0; }
+
+/* Apply a default max-height on tooltip text */
+.moodle-dialogue .tooltiptext {
+  max-height: 300px; }
+
+.moodle-dialogue-base .moodle-dialogue.moodle-dialogue-tooltip {
+  z-index: 3001; }
+  .moodle-dialogue-base .moodle-dialogue.moodle-dialogue-tooltip .moodle-dialogue-bd {
+    overflow: auto; }
+
+/**
+ * Chooser Dialogues (moodle-core-chooserdialogue)
+ *
+ * This CSS belong to the chooser dialogue which should work both with, and
+ * without javascript enabled
+ */
+/* Hide the dialog and it's title */
+.chooserdialoguebody,
+.choosertitle {
+  display: none; }
+
+.moodle-dialogue.chooserdialogue .moodle-dialogue-content .moodle-dialogue-ft {
+  margin: 0; }
+
+.chooserdialogue .moodle-dialogue-wrap .moodle-dialogue-bd {
+  padding: 0;
+  background: #f2f2f2;
+  border-bottom-right-radius: 10px;
+  border-bottom-left-radius: 10px; }
+
+/* Center the submit buttons within the area */
+.choosercontainer #chooseform .submitbuttons {
+  padding: 0.7em 0;
+  text-align: right; }
+
+/* Fixed for safari browser on iPhone4S with ios7@mixin */
+@media (max-height: 639px) {
+  .ios .choosercontainer #chooseform .submitbuttons {
+    padding: 45px 0; } }
+
+.choosercontainer #chooseform .submitbuttons input {
+  min-width: 100px;
+  margin: 0 0.5em; }
+
+/* Various settings for the options area */
+.choosercontainer #chooseform .options {
+  position: relative;
+  border-bottom: 1px solid #bbb; }
+
+/* Only set these options if we're showing the js container */
+.jschooser .choosercontainer #chooseform .alloptions {
+  overflow-x: hidden;
+  overflow-y: auto;
+  max-width: 240px; }
+  .jschooser .choosercontainer #chooseform .alloptions .option input[type=radio] {
+    display: inline-block; }
+  .jschooser .choosercontainer #chooseform .alloptions .option .typename {
+    display: inline-block;
+    width: 55%; }
+
+/* Settings for option rows and option subtypes */
+.choosercontainer #chooseform .moduletypetitle,
+.choosercontainer #chooseform .option,
+.choosercontainer #chooseform .nonoption {
+  margin-bottom: 0;
+  padding: 0 1.6em 0 1.6em; }
+
+.choosercontainer #chooseform .moduletypetitle {
+  text-transform: uppercase;
+  padding-top: 1.2em;
+  padding-bottom: 0.4em; }
+
+.choosercontainer #chooseform .option .typename,
+.choosercontainer #chooseform .nonoption .typename {
+  padding: 0 0 0 0.5em; }
+
+.choosercontainer #chooseform .modicon + .typename {
+  padding-left: 0; }
+
+.choosercontainer #chooseform .option input[type=radio],
+.choosercontainer #chooseform .option span.typename {
+  vertical-align: middle; }
+
+.choosercontainer #chooseform .option label {
+  display: block;
+  margin: 0;
+  padding: 0.5rem 0;
+  border-bottom: 1px solid #fff; }
+
+.choosercontainer #chooseform .option .icon {
+  margin: 0;
+  padding: 0 1rem; }
+
+.choosercontainer #chooseform .nonoption {
+  padding-left: 2.7em;
+  padding-top: 0.3em;
+  padding-bottom: 0.1em; }
+
+.choosercontainer #chooseform .subtype {
+  margin-bottom: 0;
+  padding: 0 1.6em 0 3.2em; }
+
+.choosercontainer #chooseform .subtype .typename {
+  margin: 0 0 0 0.2em; }
+
+/* The instruction/help area */
+.jschooser .choosercontainer #chooseform .instruction,
+.jschooser .choosercontainer #chooseform .typesummary {
+  display: none;
+  position: absolute;
+  top: 0;
+  right: 0;
+  bottom: 0;
+  left: 240px;
+  margin: 0;
+  padding: 1.6em;
+  background-color: #fff;
+  overflow-x: hidden;
+  overflow-y: auto;
+  line-height: 2em; }
+
+/* Selected option settings */
+.jschooser .choosercontainer #chooseform .instruction,
+.choosercontainer #chooseform .selected .typesummary {
+  display: block; }
+
+.choosercontainer #chooseform .selected {
+  background-color: #fff;
+  margin-top: -1px;
+  padding-top: 1px; }
+
+.chooserdialogue-course-modchooser .modicon .icon {
+  width: 24px;
+  height: 24px;
+  font-size: 24px; }
+
+@media (max-width: 575.98px) {
+  .jsenabled .choosercontainer #chooseform .alloptions {
+    max-width: 100%; }
+  .jsenabled .choosercontainer #chooseform .instruction,
+  .jsenabled .choosercontainer #chooseform .typesummary {
+    position: static; } }
+
+/* Form element: listing */
+.formlistingradio {
+  padding-bottom: 25px;
+  padding-right: 10px; }
+
+.formlistinginputradio {
+  float: left; }
+
+.formlistingmain {
+  min-height: 225px; }
+
+.formlisting {
+  position: relative;
+  margin: 15px 0;
+  padding: 1px 19px 14px;
+  background-color: white;
+  border: 1px solid #ddd;
+  border-radius: 4px; }
+
+.formlistingmore {
+  position: absolute;
+  cursor: pointer;
+  bottom: -1px;
+  right: -1px;
+  padding: 3px 7px;
+  font-size: 12px;
+  font-weight: bold;
+  background-color: whitesmoke;
+  border: 1px solid #ddd;
+  color: #9da0a4;
+  border-radius: 4px 0 4px 0; }
+
+.formlistingall {
+  margin: 15px 0;
+  padding: 0;
+  border-radius: 4px; }
+
+.formlistingrow {
+  cursor: pointer;
+  border-bottom: 1px solid;
+  border-color: #e1e1e8;
+  border-left: 1px solid #e1e1e8;
+  border-right: 1px solid #e1e1e8;
+  background-color: #f7f7f9;
+  border-radius: 0 0 4px 4px;
+  padding: 6px;
+  top: 50%;
+  left: 50%;
+  min-height: 34px;
+  float: left;
+  width: 150px; }
+
+body.jsenabled .formlistingradio {
+  display: none; }
+
+body.jsenabled .formlisting {
+  display: block; }
+
+/* Badges styles */
+a.criteria-action {
+  padding: 0 3px;
+  float: right; }
+
+div.criteria-description {
+  padding: 10px 15px;
+  margin: 5px 0;
+  background: none repeat scroll 0 0 #f9f9f9;
+  border: 1px solid #eee; }
+
+ul.badges {
+  margin: 0;
+  list-style: none; }
+
+.badges li {
+  position: relative;
+  display: inline-block;
+  padding-top: 1em;
+  text-align: center;
+  vertical-align: top;
+  width: 150px; }
+
+.badges li .badge-name {
+  display: block;
+  padding: 5px; }
+
+.badges li > img {
+  position: absolute; }
+
+.badges li .badge-image {
+  width: 100px;
+  height: 100px;
+  left: 10px;
+  top: 0;
+  z-index: 1; }
+
+.badges li .badge-actions {
+  position: relative; }
+
+.badges li .expireimage {
+  width: 100px;
+  height: 100px;
+  left: 25px;
+  top: 0;
+  position: absolute;
+  z-index: 10;
+  opacity: 0.85; }
+
+#badge-image {
+  background-color: transparent;
+  padding: 0;
+  position: relative;
+  min-width: 100px;
+  width: 20%;
+  display: inline-block;
+  vertical-align: top;
+  margin-top: 17px;
+  margin-bottom: 20px; }
+  #badge-image .expireimage {
+    width: 100px;
+    height: 100px;
+    left: 0;
+    top: 0;
+    opacity: 0.85;
+    position: absolute;
+    z-index: 10; }
+  #badge-image .singlebutton {
+    padding-top: 5px;
+    display: block; }
+    #badge-image .singlebutton button {
+      margin-left: 4px; }
+
+#badge-details {
+  display: inline-block;
+  width: 79%; }
+
+#badge-overview dl,
+#badge-details dl {
+  margin: 0; }
+  #badge-overview dl dt,
+  #badge-overview dl dd,
+  #badge-details dl dt,
+  #badge-details dl dd {
+    vertical-align: top;
+    padding: 3px 0; }
+  #badge-overview dl dt,
+  #badge-details dl dt {
+    clear: both;
+    display: inline-block;
+    width: 20%;
+    min-width: 100px; }
+  #badge-overview dl dd,
+  #badge-details dl dd {
+    display: inline-block;
+    width: 79%;
+    margin-left: 1%; }
+
+.badge-profile {
+  vertical-align: top; }
+
+#page-badges-award .recipienttable tr td {
+  vertical-align: top; }
+
+#page-badges-award .recipienttable tr td.actions .actionbutton {
+  margin: 0.3em 0;
+  padding: 0.5em 0;
+  width: 100%; }
+
+#page-badges-award .recipienttable tr td.existing,
+#page-badges-award .recipienttable tr td.potential {
+  width: 42%; }
+
+#issued-badge-table .activatebadge {
+  display: inline-block; }
+
+.statusbox.active {
+  background-color: #def1de; }
+
+.statusbox.inactive {
+  background-color: #fcefdc; }
+
+.statusbox {
+  text-align: center;
+  margin-bottom: 5px;
+  padding: 5px; }
+
+.statusbox .activatebadge {
+  display: inline-block; }
+
+.statusbox .activatebadge input[type=submit] {
+  margin: 3px; }
+
+.activatebadge {
+  margin: 0;
+  text-align: left;
+  vertical-align: middle; }
+
+img#persona_signin {
+  cursor: pointer; }
+
+.addcourse {
+  float: right; }
+
+.invisiblefieldset {
+  display: inline;
+  padding: 0;
+  border-width: 0; }
+
+/** Page header */
+#page-header .logo {
+  margin: 1rem 0; }
+  #page-header .logo img {
+    max-height: 75px; }
+
+/** Navbar logo. */
+nav.navbar .logo img {
+  max-height: 35px; }
+
+/** Header-bar styles **/
+.page-context-header {
+  overflow: hidden; }
+  .page-context-header .page-header-image,
+  .page-context-header .page-header-headings {
+    float: left;
+    display: block;
+    position: relative; }
+  .page-context-header .page-header-image {
+    margin-right: 1em;
+    margin-bottom: 1em; }
+  .page-context-header .page-header-headings,
+  .page-context-header .header-button-group {
+    position: relative;
+    line-height: 24px;
+    vertical-align: middle; }
+  .page-context-header .header-button-group {
+    display: block;
+    float: left; }
+    .page-context-header .header-button-group a {
+      position: relative;
+      top: -0.4em; }
+
+ul.dragdrop-keyboard-drag li {
+  list-style-type: none; }
+
+a.disabled:hover,
+a.disabled {
+  text-decoration: none;
+  cursor: default;
+  font-style: italic;
+  color: #808080; }
+
+body.lockscroll {
+  height: 100%;
+  overflow: hidden; }
+
+.progressbar_container {
+  max-width: 500px;
+  margin: 0 auto; }
+
+/* IE10 only fix for calendar titling */
+.ie10 .yui3-calendar-header-label {
+  display: inline-block; }
+
+dd:before,
+dd:after {
+  display: block;
+  content: " "; }
+
+dd:after {
+  clear: both; }
+
+.nav-tabs > .active > a[href],
+.nav-tabs > .active > a[href]:hover,
+.nav-tabs > .active > a[href]:focus {
+  cursor: pointer; }
+
+.inplaceeditable.inplaceeditingon {
+  position: relative; }
+  .inplaceeditable.inplaceeditingon .editinstructions {
+    margin-top: -30px;
+    font-weight: normal;
+    margin-right: 0;
+    margin-left: 0;
+    left: 0;
+    right: auto;
+    white-space: nowrap; }
+  .inplaceeditable.inplaceeditingon input {
+    width: 330px;
+    vertical-align: text-bottom;
+    margin-bottom: 0; }
+  .inplaceeditable.inplaceeditingon select {
+    margin-bottom: 0; }
+
+.inplaceeditable .quickediticon img {
+  opacity: 0.2; }
+
+.inplaceeditable .quickeditlink {
+  color: inherit;
+  text-decoration: inherit; }
+
+.inplaceeditable:hover .quickeditlink .quickediticon img,
+.inplaceeditable .quickeditlink:focus .quickediticon img {
+  opacity: 1; }
+
+.inplaceeditable.inplaceeditable-toggle .quickediticon {
+  display: none; }
+
+.inplaceeditable.inplaceeditable-autocomplete {
+  display: block; }
+
+h3.sectionname .inplaceeditable.inplaceeditingon .editinstructions {
+  margin-top: -20px; }
+
+/** Chart area. */
+.chart-area .chart-table-data {
+  display: none; }
+
+.chart-area .chart-table {
+  /** When accessible, we display the table only. */ }
+  .chart-area .chart-table .chart-output-htmltable caption {
+    white-space: nowrap; }
+  .chart-area .chart-table.accesshide .chart-table-expand {
+    display: none; }
+  .chart-area .chart-table.accesshide .chart-table-data {
+    display: block; }
+
+ul {
+  padding-left: 1rem; }
+
+/* YUI 2 Tree View */
+/*rtl:raw:
+.ygtvtn,
+.ygtvtm,
+.ygtvtmh,
+.ygtvtmhh,
+.ygtvtp,
+.ygtvtph,
+.ygtvtphh,
+.ygtvln,
+.ygtvlm,
+.ygtvlmh,
+.ygtvlmhh,
+.ygtvlp,
+.ygtvlph,
+.ygtvlphh,
+.ygtvdepthcell,
+.ygtvok,
+.ygtvok:hover,
+.ygtvcancel,
+.ygtvcancel:hover {
+    background-image: url([[pix:theme|yui2-treeview-sprite-rtl]]);
+}
+*/
+.hover-tooltip-container {
+  position: relative; }
+  .hover-tooltip-container .hover-tooltip {
+    opacity: 0;
+    visibility: hidden;
+    position: absolute;
+    /*rtl:ignore*/
+    left: 50%;
+    top: calc(-50% - 5px);
+    transform: translate(-50%, -50%);
+    background-color: #fff;
+    border: 1px solid rgba(0, 0, 0, 0.2);
+    border-radius: .3rem;
+    box-sizing: border-box;
+    padding: 5px;
+    white-space: nowrap;
+    transition: opacity 0.15s, visibility 0.15s;
+    z-index: 1000; }
+    .hover-tooltip-container .hover-tooltip:before {
+      content: '';
+      display: inline-block;
+      border-left: 8px solid transparent;
+      border-right: 8px solid transparent;
+      border-top: 8px solid rgba(0, 0, 0, 0.2);
+      position: absolute;
+      bottom: -8px;
+      left: calc(50% - 8px); }
+    .hover-tooltip-container .hover-tooltip:after {
+      content: '';
+      display: inline-block;
+      border-left: 7px solid transparent;
+      border-right: 7px solid transparent;
+      border-top: 7px solid #fff;
+      position: absolute;
+      bottom: -6px;
+      left: calc(50% - 7px);
+      z-index: 2; }
+  .hover-tooltip-container:hover .hover-tooltip {
+    opacity: 1;
+    visibility: visible;
+    transition: opacity 0.15s 0.5s, visibility 0.15s 0.5s; }
+
+#region-flat-nav {
+  padding-right: 0;
+  padding-left: 0; }
+  #region-flat-nav .nav {
+    margin-right: 15px;
+    background-color: #fff; }
+  @media (max-width: 767.98px) {
+    #region-flat-nav .nav {
+      margin-top: 30px;
+      margin-right: 0; } }
+
+#page-footer a {
+  color: #fff;
+  text-decoration: underline; }
+  #page-footer a .icon {
+    color: #fff; }
+
+.bg-inverse a {
+  color: #fff;
+  text-decoration: underline; }
+  .bg-inverse a .icon {
+    color: #fff; }
+
+.sitelink img {
+  width: 112px; }
+
+.dropdown-item a {
+  display: block;
+  width: 100%;
+  color: #373a3c; }
+
+.dropdown-item:active a {
+  color: #fff; }
+
+.competency-tree ul {
+  padding-left: 1.5rem; }
+
+.sr-only-focusable:active, .sr-only-focusable:focus {
+  z-index: 1031;
+  position: fixed;
+  background: #fff;
+  padding: 7px;
+  left: 0;
+  top: 0; }
+
+[data-drag-type="move"] {
+  cursor: move;
+  touch-action: none; }
+
+.clickable {
+  cursor: pointer; }
+
+.overlay-icon-container {
+  position: absolute;
+  top: 0;
+  left: 0;
+  width: 100%;
+  height: 100%;
+  background-color: rgba(255, 255, 255, 0.6); }
+  .overlay-icon-container .loading-icon {
+    position: absolute;
+    top: 50%;
+    left: 50%;
+    transform: translate(-50%, -50%); }
+    .overlay-icon-container .loading-icon .icon {
+      height: 30px;
+      width: 30px;
+      font-size: 30px; }
+
+.open.atto_menu > .dropdown-menu {
+  display: block; }
+
+div.editor_atto_toolbar button .icon {
+  color: #495057; }
+
+.w-auto {
+  width: auto; }
+
+.bg-pulse-grey {
+  animation: bg-pulse-grey 2s infinite linear; }
+
+@keyframes bg-pulse-grey {
+  0% {
+    background-color: #f8f9fa; }
+  50% {
+    background-color: #e9ecef; }
+  100% {
+    background-color: #f8f9fa; } }
+
+.line-height-0 {
+  line-height: 0 !important;
+  /* stylelint-disable-line declaration-no-important */ }
+
+.line-height-1 {
+  line-height: 0.25rem !important;
+  /* stylelint-disable-line declaration-no-important */ }
+
+.line-height-2 {
+  line-height: 0.5rem !important;
+  /* stylelint-disable-line declaration-no-important */ }
+
+.line-height-3 {
+  line-height: 1rem !important;
+  /* stylelint-disable-line declaration-no-important */ }
+
+.line-height-4 {
+  line-height: 1.5rem !important;
+  /* stylelint-disable-line declaration-no-important */ }
+
+.line-height-5 {
+  line-height: 3rem !important;
+  /* stylelint-disable-line declaration-no-important */ }
+
+.dir-rtl .dir-rtl-hide {
+  display: none; }
+
+.dir-ltr .dir-ltr-hide {
+  display: none; }
+
+.switch {
+  position: relative; }
+  .switch input {
+    float: left;
+    width: 1px;
+    transform: translateX(1px);
+    padding: 0;
+    margin: 0;
+    opacity: 0; }
+    .switch input + label {
+      position: relative;
+      min-height: 1.725rem;
+      min-width: 3.45rem;
+      line-height: 1.725rem;
+      border-radius: 1.725rem;
+      display: inline-block;
+      cursor: pointer;
+      outline: none;
+      user-select: none;
+      vertical-align: middle;
+      padding-left: 3.95rem; }
+    .switch input + label::before,
+    .switch input + label::after {
+      content: '';
+      position: absolute;
+      top: calc(50% - 0.8625rem);
+      left: 0;
+      width: 3.45rem;
+      height: 1.725rem;
+      bottom: 0;
+      display: block; }
+    .switch input + label::before {
+      right: 0;
+      background-color: #dee2e6;
+      border-radius: 1.725rem;
+      transition: 0.2s all; }
+    .switch input + label::after {
+      margin-top: 2px;
+      left: 2px;
+      width: calc(1.725rem - 4px);
+      height: calc(1.725rem - 4px);
+      border-radius: 50%;
+      background-color: #fff;
+      transition: 0.2s all; }
+    .switch input:checked + label::before {
+      background-color: #1177d1; }
+    .switch input:checked + label::after {
+      margin-left: 1.725rem; }
+    .switch input:focus + label::before {
+      outline: none;
+      box-shadow: 0 0 0 0.2rem rgba(17, 119, 209, 0.25); }
+    .switch input:disabled + label {
+      color: #868e96;
+      cursor: not-allowed; }
+    .switch input:disabled + label::before {
+      background-color: #e9ecef; }
+
+.paged-content-page-container {
+  min-height: 3.125rem; }
+
+.text-decoration-none {
+  text-decoration: none !important;
+  /* stylelint-disable-line declaration-no-important */ }
+
+.position-right {
+  right: 0 !important;
+  /* stylelint-disable-line declaration-no-important */ }
+
+.overflow-hidden {
+  overflow: hidden !important;
+  /* stylelint-disable-line declaration-no-important */ }
+
+.icon {
+  font-size: 16px;
+  width: 16px;
+  height: 16px;
+  margin: 0;
+  padding: 0;
+  box-sizing: content-box;
+  margin-right: 0.5rem; }
+  .icon.spacer {
+    margin-right: 0; }
+  .icon.iconsize-big {
+    width: 64px;
+    height: 64px;
+    font-size: 64px; }
+
+.navbar-dark a .icon {
+  color: rgba(255, 255, 255, 0.5) !important;
+  /* stylelint-disable-line declaration-no-important */ }
+
+.action-menu-item a:first-of-type > .icon {
+  margin-left: 0.5rem; }
+
+.ygtvcell .icon {
+  margin-left: 0 !important;
+  /* stylelint-disable-line declaration-no-important */ }
+
+.block_navigation .tree_item .icon,
+.block_settings .tree_item .icon {
+  margin-left: 0; }
+
+[data-action=toggle-drawer] .icon {
+  margin: 0; }
+
+.icon-no-spacing a > .icon {
+  margin: 0; }
+
+.icon-no-margin .icon {
+  margin-left: 0;
+  margin-right: 0;
+  margin-top: 0;
+  margin-bottom: 0; }
+
+.icon-large > .icon {
+  width: 32px;
+  height: 32px; }
+
+.icon-size-0 .icon {
+  height: 0 !important;
+  /* stylelint-disable-line declaration-no-important */
+  width: 0 !important;
+  /* stylelint-disable-line declaration-no-important */
+  font-size: 0 !important;
+  /* stylelint-disable-line declaration-no-important */ }
+
+.icon-size-1 .icon {
+  height: 4px !important;
+  /* stylelint-disable-line declaration-no-important */
+  width: 4px !important;
+  /* stylelint-disable-line declaration-no-important */
+  font-size: 4px !important;
+  /* stylelint-disable-line declaration-no-important */ }
+
+.icon-size-2 .icon {
+  height: 8px !important;
+  /* stylelint-disable-line declaration-no-important */
+  width: 8px !important;
+  /* stylelint-disable-line declaration-no-important */
+  font-size: 8px !important;
+  /* stylelint-disable-line declaration-no-important */ }
+
+.icon-size-3 .icon {
+  height: 16px !important;
+  /* stylelint-disable-line declaration-no-important */
+  width: 16px !important;
+  /* stylelint-disable-line declaration-no-important */
+  font-size: 16px !important;
+  /* stylelint-disable-line declaration-no-important */ }
+
+.icon-size-4 .icon {
+  height: 24px !important;
+  /* stylelint-disable-line declaration-no-important */
+  width: 24px !important;
+  /* stylelint-disable-line declaration-no-important */
+  font-size: 24px !important;
+  /* stylelint-disable-line declaration-no-important */ }
+
+.icon-size-5 .icon {
+  height: 48px !important;
+  /* stylelint-disable-line declaration-no-important */
+  width: 48px !important;
+  /* stylelint-disable-line declaration-no-important */
+  font-size: 48px !important;
+  /* stylelint-disable-line declaration-no-important */ }
+
+.helplink .icon {
+  margin-left: 0.5rem; }
+
+/* admin.less */
+.formtable tbody th {
+  font-weight: normal;
+  text-align: right; }
+
+.path-admin #assignrole {
+  width: 60%;
+  margin-left: auto;
+  margin-right: auto; }
+
+.path-admin .admintable .leftalign {
+  text-align: left; }
+
+.environmenttable .warn {
+  background-color: #fcefdc;
+  color: #ff7518; }
+
+.environmenttable .error {
+  background-color: #f7dddc;
+  color: #d9534f; }
+
+.environmenttable .ok {
+  background-color: #def1de;
+  color: #5cb85c; }
+
+.path-admin .admintable.environmenttable .name,
+.path-admin .admintable.environmenttable .info,
+.path-admin #assignrole .admintable .role,
+.path-admin #assignrole .admintable .userrole,
+.path-admin #assignrole .admintable .roleholder {
+  white-space: nowrap; }
+
+.path-admin .incompatibleblockstable td.c0 {
+  font-weight: bold; }
+
+#page-admin-course-category .addcategory {
+  padding: 10px; }
+
+#page-admin-course-index .editcourse {
+  margin: 20px auto; }
+
+#page-admin-course-index .editcourse th,
+#page-admin-course-index .editcourse td {
+  padding-left: 10px;
+  padding-right: 10px; }
+
+.timewarninghidden {
+  display: none; }
+
+#page-admin-report-capability-index #capabilitysearch {
+  width: 30em; }
+
+#page-admin-qtypes #qtypes div,
+#page-admin-qtypes #qtypes form,
+#page-admin-qbehaviours #qbehaviours div,
+#page-admin-qbehaviours #qbehaviours form {
+  display: inline; }
+
+#page-admin-qtypes #qtypes img.spacer,
+#page-admin-qbehaviours #qbehaviours img.spacer {
+  width: 16px; }
+
+#page-admin-qbehaviours .cell.c3,
+#page-admin-qtypes .cell.c3 {
+  font-size: 0.8203125rem; }
+
+#page-admin-lang .generalbox,
+#page-admin-course-index .singlebutton,
+#page-admin-course-index .addcategory,
+#page-course-index .buttons,
+#page-course-index-category .buttons,
+#page-admin-course-category .addcategory,
+#page-admin-stickyblocks .generalbox,
+#page-admin-maintenance .buttons,
+#page-admin-course-index .buttons,
+#page-admin-course-category .buttons,
+#page-admin-index .copyright,
+#page-admin-index .copyrightnotice,
+#page-admin-index .adminerror .singlebutton,
+#page-admin-index .adminwarning .singlebutton,
+#page-admin-index #layout-table .singlebutton {
+  text-align: center;
+  margin-bottom: 1em; }
+
+.path-admin-roles .capabilitysearchui {
+  text-align: left;
+  margin-left: auto;
+  margin-right: auto;
+  margin-top: 1rem; }
+
+#page-admin-roles-define .topfields {
+  margin: 1em 0 2em; }
+
+#page-admin-roles-define .capdefault {
+  background-color: rgba(0, 0, 0, 0.075); }
+
+#page-filter-manage .backlink,
+.path-admin-roles .backlink {
+  margin-top: 1em; }
+
+#page-admin-roles-explain #chooseuser h3,
+#page-admin-roles-usersroles .contextname {
+  margin-top: 0; }
+
+#page-admin-roles-explain #chooseusersubmit {
+  margin-top: 0;
+  text-align: center; }
+
+#page-admin-roles-usersroles p {
+  margin: 0; }
+
+#page-admin-roles-override .cell.c1,
+#page-admin-roles-assign .cell.c3,
+#page-admin-roles-assign .cell.c1 {
+  padding-top: 0.75em; }
+
+#page-admin-roles-override .overridenotice,
+#page-admin-roles-define .definenotice {
+  margin: 1em 10% 2em 10%;
+  text-align: left; }
+
+#page-admin-index .adminwarning.availableupdatesinfo .moodleupdateinfo span {
+  display: block; }
+
+#page-admin-index .updateplugin div {
+  margin-bottom: 0.5em; }
+
+#page-admin-user-user_bulk #users .fgroup {
+  white-space: nowrap; }
+
+#page-admin-report-stats-index .graph {
+  text-align: center;
+  margin-bottom: 1em; }
+
+#page-admin-report-courseoverview-index .graph {
+  text-align: center;
+  margin-bottom: 1em; }
+
+#page-admin-lang .translator {
+  border-width: 1px;
+  border-style: solid; }
+
+.path-admin .roleassigntable {
+  width: 100%; }
+
+.path-admin .roleassigntable td {
+  vertical-align: top;
+  padding: 0.2em 0.3em; }
+
+.path-admin .roleassigntable p {
+  text-align: left;
+  margin: 0.2em 0; }
+
+.path-admin .roleassigntable #existingcell,
+.path-admin .roleassigntable #potentialcell {
+  width: 42%; }
+
+.path-admin .roleassigntable #existingcell p > label:first-child,
+.path-admin .roleassigntable #potentialcell p > label:first-child {
+  font-weight: bold; }
+
+.path-admin .roleassigntable #buttonscell {
+  width: 16%; }
+
+.path-admin .roleassigntable #buttonscell #assignoptions {
+  font-size: 0.8203125rem; }
+
+.path-admin .roleassigntable #removeselect_wrapper,
+.path-admin .roleassigntable #addselect_wrapper {
+  width: 100%; }
+
+.path-admin table.rolecap tr.rolecap th {
+  text-align: left;
+  font-weight: normal; }
+
+.path-admin .rolecap .hiddenrow {
+  display: none; }
+
+.path-admin #defineroletable .rolecap .inherit,
+.path-admin #defineroletable .rolecap .allow,
+.path-admin #defineroletable .rolecap .prevent,
+.path-admin #defineroletable .rolecap .prohibit {
+  text-align: center;
+  padding: 0;
+  min-width: 3.5em; }
+
+.path-admin .rolecap .cap-name,
+.path-admin .rolecap .note {
+  display: block;
+  font-size: 0.8203125rem;
+  white-space: nowrap;
+  font-weight: normal; }
+
+.path-admin .rolecap label {
+  display: block;
+  text-align: center;
+  padding: 0.5em;
+  margin: 0; }
+
+.plugincheckwrapper {
+  width: 100%; }
+
+.environmentbox {
+  margin-top: 1em; }
+
+#mnetconfig table {
+  margin-left: auto;
+  margin-right: auto; }
+
+.environmenttable .cell {
+  padding: .15em .5em; }
+
+#trustedhosts .generaltable {
+  margin-left: auto;
+  margin-right: auto;
+  width: 500px; }
+
+#trustedhosts .standard {
+  width: auto; }
+
+#adminsettings legend {
+  display: none; }
+
+#adminsettings fieldset.error {
+  margin: .2em 0 .5em 0; }
+
+#adminsettings fieldset.error legend {
+  display: block; }
+
+#admin-spelllanguagelist textarea,
+#page-admin-setting-editorsettingstinymce .form-textarea textarea {
+  /* rtl:ignore */
+  text-align: left;
+  /* rtl:ignore */
+  direction: ltr; }
+
+/* Styles for flags on admin settings */
+.adminsettingsflags {
+  float: right; }
+
+.adminsettingsflags label {
+  margin-right: 7px; }
+
+.form-description pre,
+.formsettingheading pre {
+  /*rtl:ignore*/
+  direction: ltr; }
+
+.form-item .form-setting .form-htmlarea {
+  display: inline; }
+
+.form-item .form-setting .form-htmlarea .htmlarea {
+  width: 640px;
+  display: block; }
+
+.form-item .form-setting .form-multicheckbox ul {
+  list-style: none;
+  padding: 0;
+  margin: 7px 0 0 0; }
+
+.form-item .form-setting .defaultsnext {
+  display: inline; }
+
+.form-item .form-setting .locked-checkbox {
+  margin-right: 0.2em;
+  margin-left: 0.5em;
+  display: inline; }
+
+.form-item .form-setting .form-password .unmask,
+.form-item .form-setting .form-defaultinfo {
+  display: inline-block; }
+
+.form-item .form-setting .form-defaultinfo {
+  max-width: 100%;
+  word-wrap: break-word; }
+
+#admin-emoticons td input {
+  width: 8em; }
+
+#admin-emoticons td.c0 input {
+  width: 4em; }
+
+#adminthemeselector .selectedtheme td.c0 {
+  border: 1px solid #d1edf6;
+  border-right-width: 0; }
+
+#adminthemeselector .selectedtheme td.c1 {
+  border: 1px solid #d1edf6;
+  border-left-width: 0; }
+
+.admin_colourpicker,
+.admin_colourpicker_preview {
+  display: none; }
+
+.jsenabled .admin_colourpicker_preview {
+  display: inline; }
+
+.jsenabled .admin_colourpicker {
+  display: block;
+  height: 102px;
+  width: 410px;
+  margin-bottom: 10px;
+  box-sizing: content-box; }
+
+.admin_colourpicker .loadingicon {
+  vertical-align: middle;
+  margin-left: auto; }
+
+.admin_colourpicker .colourdialogue {
+  float: left;
+  border: 1px solid #d1edf6; }
+
+.admin_colourpicker .previewcolour {
+  border: 1px solid #d1edf6;
+  margin-left: 301px; }
+
+.admin_colourpicker .currentcolour {
+  border: 1px solid #d1edf6;
+  margin-left: 301px;
+  border-top-width: 0; }
+
+#page-admin-index #notice .checkforupdates {
+  text-align: center; }
+
+#page-admin-plugins #plugins-overview-panel .info {
+  display: inline-block;
+  margin-right: 1em; }
+
+#page-admin-plugins .checkforupdates {
+  margin: 10px 0; }
+  #page-admin-plugins .checkforupdates .singlebutton {
+    margin: 5px 0;
+    padding: 0; }
+    #page-admin-plugins .checkforupdates .singlebutton div,
+    #page-admin-plugins .checkforupdates .singlebutton input {
+      margin: 0 3px 0 0; }
+
+#page-admin-plugins .updateavailableinstallall {
+  margin: 5px 0;
+  padding: 0; }
+  #page-admin-plugins .updateavailableinstallall div,
+  #page-admin-plugins .updateavailableinstallall input {
+    margin: 0 3px 5px 0; }
+
+#page-admin-plugins #plugins-control-panel .status-missing td {
+  background-color: #fcefdc; }
+
+#page-admin-plugins #plugins-control-panel .pluginname .componentname {
+  font-size: 0.8203125rem;
+  margin-left: 22px; }
+
+#page-admin-plugins #plugins-control-panel .version .versionnumber {
+  font-size: 0.8203125rem; }
+
+#page-admin-plugins #plugins-control-panel .uninstall a {
+  color: #d9534f; }
+
+#page-admin-plugins #plugins-control-panel .notes .label {
+  margin-right: 3px; }
+
+#page-admin-plugins #plugins-control-panel .notes .requiredby {
+  font-size: 0.8203125rem; }
+
+#plugins-check-page .checkforupdates .singlebutton {
+  margin: 5px 0;
+  padding: 0; }
+  #plugins-check-page .checkforupdates .singlebutton div,
+  #plugins-check-page .checkforupdates .singlebutton input {
+    margin: 0 3px 0 0; }
+
+#plugins-check-page #plugins-check-info .actions > div {
+  display: inline-block;
+  margin-right: 1em; }
+
+#plugins-check-page #plugins-check-info .actions .singlebutton {
+  margin: 5px 0;
+  padding: 0; }
+  #plugins-check-page #plugins-check-info .actions .singlebutton div,
+  #plugins-check-page #plugins-check-info .actions .singlebutton input {
+    margin: 0 3px 0 0; }
+
+#plugins-check-page #plugins-check .status-missing td,
+#plugins-check-page #plugins-check .status-downgrade td {
+  background-color: #f7dddc; }
+
+#plugins-check-page #plugins-check .displayname .plugindir {
+  font-size: 0.8203125rem; }
+
+#plugins-check-page #plugins-check .requires ul {
+  margin-left: 13px; }
+
+#plugins-check-page #plugins-check .status .actionbutton {
+  margin: 5px 0;
+  padding: 0; }
+  #plugins-check-page #plugins-check .status .actionbutton input {
+    margin: 0; }
+
+#plugins-check-page .plugins-check-dependencies-actions > div {
+  display: inline-block;
+  margin-right: 1em; }
+
+#plugins-check-page .plugins-check-dependencies-actions .singlebutton {
+  margin: 5px 0;
+  padding: 0; }
+  #plugins-check-page .plugins-check-dependencies-actions .singlebutton div,
+  #plugins-check-page .plugins-check-dependencies-actions .singlebutton input {
+    margin: 0 3px 0 0; }
+
+#plugins-check-page #plugins-check-available-dependencies .displayname .component {
+  font-size: 0.8203125rem; }
+
+#plugins-check-page #plugins-check-available-dependencies .info .actions > div {
+  display: inline-block;
+  margin-right: 1em; }
+
+#plugins-check-page #plugins-check-available-dependencies .info .actions .dependencyinstall {
+  display: block;
+  margin: 5px 0;
+  padding: 0; }
+  #plugins-check-page #plugins-check-available-dependencies .info .actions .dependencyinstall input {
+    margin: 0; }
+
+#plugins-check-page .pluginupdateinfo,
+#plugins-control-panel .pluginupdateinfo {
+  background-color: #def2f8;
+  padding: 5px;
+  margin: 10px 0;
+  border-radius: 5px; }
+  #plugins-check-page .pluginupdateinfo.maturity50,
+  #plugins-control-panel .pluginupdateinfo.maturity50 {
+    background-color: #f7dddc; }
+  #plugins-check-page .pluginupdateinfo.maturity100, #plugins-check-page .pluginupdateinfo.maturity150,
+  #plugins-control-panel .pluginupdateinfo.maturity100,
+  #plugins-control-panel .pluginupdateinfo.maturity150 {
+    background-color: #fcefdc; }
+  #plugins-check-page .pluginupdateinfo .info,
+  #plugins-control-panel .pluginupdateinfo .info {
+    display: inline-block; }
+  #plugins-check-page .pluginupdateinfo .separator:after,
+  #plugins-control-panel .pluginupdateinfo .separator:after {
+    content: " | "; }
+  #plugins-check-page .pluginupdateinfo .singlebutton,
+  #plugins-control-panel .pluginupdateinfo .singlebutton {
+    margin: 5px 0;
+    padding: 0; }
+    #plugins-check-page .pluginupdateinfo .singlebutton div,
+    #plugins-check-page .pluginupdateinfo .singlebutton input,
+    #plugins-control-panel .pluginupdateinfo .singlebutton div,
+    #plugins-control-panel .pluginupdateinfo .singlebutton input {
+      margin: 0 3px 0 0; }
+
+.plugins-management-confirm-buttons > div {
+  display: inline-block;
+  margin: 1em 1em 1em 0; }
+
+.plugins-management-confirm-buttons .continue {
+  padding: 0; }
+  .plugins-management-confirm-buttons .continue div,
+  .plugins-management-confirm-buttons .continue input {
+    margin: 0; }
+
+.uninstalldeleteconfirmexternal {
+  padding: 0.5em 1em;
+  margin: 5px 0 10px 0; }
+
+#page-admin-index .upgradepluginsinfo {
+  text-align: center; }
+
+#page-admin-index .adminwarning.availableupdatesinfo .moodleupdateinfo .separator:after {
+  content: " | "; }
+
+/** MNet networking */
+#page-admin-mnet-peers .box.deletedhosts {
+  margin-bottom: 1em;
+  font-size: 0.8203125rem; }
+
+#page-admin-mnet-peers .mform .deletedhostinfo {
+  padding: 4px;
+  margin-bottom: 5px; }
+
+#core-cache-plugin-summaries table,
+#core-cache-store-summaries table {
+  width: 100%; }
+
+#core-cache-lock-summary table,
+#core-cache-definition-summaries table,
+#core-cache-mode-mappings table {
+  margin: 0 auto; }
+
+#core-cache-store-summaries .default-store td {
+  font-style: italic; }
+
+#core-cache-rescan-definitions,
+#core-cache-mode-mappings .edit-link,
+#core-cache-lock-summary .new-instance {
+  margin-top: 0.5em;
+  text-align: center; }
+
+.maintenancewarning {
+  position: fixed;
+  bottom: 0;
+  right: 0;
+  overflow: hidden;
+  z-index: 1000; }
+
+.modal.modal-in-page {
+  z-index: 0; }
+
+#page-admin-search .adminpagetitle {
+  margin-bottom: 0;
+  border-bottom: none; }
+
+#page-admin-search .adminpagepath {
+  display: flex;
+  flex-wrap: wrap;
+  list-style: none;
+  padding: 0;
+  margin: 0 0 1.5rem 0; }
+  #page-admin-search .adminpagepath li + li:before {
+    padding-right: 0.5rem;
+    padding-left: 0.5rem;
+    content: "/"; }
+
+#page-admin-tasklogs .task-class {
+  font-size: 0.8203125rem;
+  color: #868e96; }
+
+.blockmovetarget .accesshide {
+  position: relative;
+  left: initial; }
+
+.block:target {
+  padding-top: 0 !important;
+  /* stylelint-disable declaration-no-important */
+  margin-top: 0 !important; }
+
+.block_search_forums .searchform {
+  /* Override plugin's default. */
+  text-align: left; }
+
+.block.block_navigation .block_tree ul,
+.block_settings .block_tree ul {
+  margin-left: 0; }
+
+.block .block-controls .dropdown-toggle {
+  /* So that the caret takes the colour of the icon. */
+  color: #373a3c; }
+
+[data-region="blocks-column"] {
+  width: 360px;
+  float: right; }
+
+/* We put an absolutely positioned div in a relatively positioned div so it takes up no space */
+#region-main-settings-menu {
+  position: relative;
+  float: left;
+  width: 100%; }
+
+#region-main-settings-menu > div {
+  position: absolute;
+  right: 0;
+  z-index: 100;
+  margin: 1rem; }
+
+.region_main_settings_menu_proxy {
+  width: 4rem;
+  height: 2rem;
+  background-color: #fff;
+  margin-left: 0.625rem;
+  margin-bottom: 0.625rem;
+  border-bottom-left-radius: 0.5rem;
+  float: right; }
+
+#region-main-settings-menu.has-blocks,
+#region-main.has-blocks {
+  display: inline-block;
+  width: calc(100% - 375px); }
+  @media (max-width: 1199.98px) {
+    #region-main-settings-menu.has-blocks,
+    #region-main.has-blocks {
+      width: 100%;
+      /* MDL-63102 - Remove extra space at bottom.
+        If modifying make sure block-region is horizontally stacked when in full screen */
+      display: block; } }
+
+@media (max-width: 1199.98px) {
+  [data-region="blocks-column"] {
+    width: 100%; } }
+
+.block .empty-placeholder-image-lg {
+  height: 5rem; }
+
+.block .block-cards .course-info-container {
+  padding: 0.8rem; }
+
+.block .block-cards .progress {
+  height: 0.5rem; }
+
+.block .block-cards .course-summaryitem {
+  border: 1px solid #dee2e6;
+  background-color: #fff; }
+
+.block .block-cards .icon {
+  margin-right: 0; }
+
+.block .block-cards .card .coursemenubtn, .block .block-cards #page-enrol-users #filterform .coursemenubtn, #page-enrol-users .block .block-cards #filterform .coursemenubtn, .block .block-cards .que .history .coursemenubtn, .que .block .block-cards .history .coursemenubtn, .block .block-cards .userprofile .profile_tree section .coursemenubtn, .userprofile .profile_tree .block .block-cards section .coursemenubtn, .block .block-cards .groupinfobox .coursemenubtn, .block .block-cards .well .coursemenubtn {
+  margin-top: -0.5rem; }
+
+.block .block-cards a.coursename,
+.block .block-cards .btn-link {
+  color: inherit; }
+
+.block .block-cards .multiline {
+  white-space: normal; }
+
+.block .block-cards .btn.btn-link.btn-icon, .block .block-cards #page-grade-grading-manage .actions .btn-link.btn-icon.action, #page-grade-grading-manage .actions .block .block-cards .btn-link.btn-icon.action, .block .block-cards #rubric-rubric.gradingform_rubric #rubric-criteria .criterion .addlevel input.btn-link.btn-icon, #rubric-rubric.gradingform_rubric #rubric-criteria .criterion .addlevel .block .block-cards input.btn-link.btn-icon, .block .block-cards #rubric-rubric.gradingform_rubric .btn-link.btn-icon.addcriterion, #rubric-rubric.gradingform_rubric .block .block-cards .btn-link.btn-icon.addcriterion {
+  height: 36px;
+  width: 36px;
+  padding: 0;
+  border-radius: 50%; }
+  .block .block-cards .btn.btn-link.btn-icon:hover, .block .block-cards #page-grade-grading-manage .actions .btn-link.btn-icon.action:hover, #page-grade-grading-manage .actions .block .block-cards .btn-link.btn-icon.action:hover, .block .block-cards #rubric-rubric.gradingform_rubric #rubric-criteria .criterion .addlevel input.btn-link.btn-icon:hover, #rubric-rubric.gradingform_rubric #rubric-criteria .criterion .addlevel .block .block-cards input.btn-link.btn-icon:hover, .block .block-cards #rubric-rubric.gradingform_rubric .btn-link.btn-icon.addcriterion:hover, #rubric-rubric.gradingform_rubric .block .block-cards .btn-link.btn-icon.addcriterion:hover, .block .block-cards .btn.btn-link.btn-icon:focus, .block .block-cards #page-grade-grading-manage .actions .btn-link.btn-icon.action:focus, #page-grade-grading-manage .actions .block .block-cards .btn-link.btn-icon.action:focus, .block .block-cards #rubric-rubric.gradingform_rubric #rubric-criteria .criterion .addlevel input.btn-link.btn-icon:focus, #rubric-rubric.gradingform_rubric #rubric-criteria .criterion .addlevel .block .block-cards input.btn-link.btn-icon:focus, .block .block-cards #rubric-rubric.gradingform_rubric .btn-link.btn-icon.addcriterion:focus, #rubric-rubric.gradingform_rubric .block .block-cards .btn-link.btn-icon.addcriterion:focus {
+    background-color: #e9ecef; }
+
+.dashboard-card-deck.one-row {
+  flex-flow: nowrap;
+  overflow-x: scroll; }
+
+.summaryimage {
+  height: 5rem;
+  width: 5rem;
+  background-position: center;
+  background-size: cover; }
+
+.dashboard-card-deck .dashboard-card {
+  margin-bottom: 0.5rem;
+  flex-basis: auto;
+  width: 100%;
+  flex-grow: 0;
+  flex-shrink: 0; }
+  .dashboard-card-deck .dashboard-card .dashboard-card-img {
+    height: 7rem;
+    background-position: center;
+    background-size: cover; }
+  .dashboard-card-deck .dashboard-card .dashboard-card-footer {
+    padding: 0.8rem; }
+
+.dashboard-card-deck.fixed-width-cards .dashboard-card {
+  width: 300px; }
+
+@media (min-width: 576px) {
+  .dashboard-card-deck:not(.fixed-width-cards) .dashboard-card {
+    width: calc(50% - 0.5rem); } }
+
+@media (min-width: 840px) {
+  .dashboard-card-deck:not(.fixed-width-cards) .dashboard-ca