diff --git a/.gitignore b/.gitignore index b166d2719fc7..77a5265ac0f2 100644 --- a/.gitignore +++ b/.gitignore @@ -65,8 +65,8 @@ test_root/uploads/*.txt .pip_download_cache/ .prereqs_cache .vagrant/ -node_modules -.bundle/ +node_modules/ +bower_components/ bin/ ### Static assets pipeline artifacts diff --git a/.ruby-gemset b/.ruby-gemset deleted file mode 100644 index 77266c35f04c..000000000000 --- a/.ruby-gemset +++ /dev/null @@ -1 +0,0 @@ -edx-platform diff --git a/.ruby-version b/.ruby-version deleted file mode 100644 index 311baaf3e2e7..000000000000 --- a/.ruby-version +++ /dev/null @@ -1 +0,0 @@ -1.9.3-p374 diff --git a/Gemfile b/Gemfile deleted file mode 100644 index b99a22b64e01..000000000000 --- a/Gemfile +++ /dev/null @@ -1,13 +0,0 @@ -source 'https://rubygems.org' -gem 'sass', '3.3.5' -gem 'bourbon', '~> 4.0.2' -gem 'neat', '~> 1.6.0' -gem 'colorize', '~> 0.5.8' -gem 'launchy', '~> 2.1.2' -gem 'sys-proctable', '~> 0.9.3' -gem 'dalli', '~> 2.6.4' -# These gems aren't actually required; they are used by Linux and Mac to -# detect when files change. If these gems are not installed, the system -# will fall back to polling files. -gem 'rb-inotify', '~> 0.9' -gem 'rb-fsevent', '~> 0.9.3' diff --git a/Gemfile.lock b/Gemfile.lock deleted file mode 100644 index 2d8e77cb9fe9..000000000000 --- a/Gemfile.lock +++ /dev/null @@ -1,35 +0,0 @@ -GEM - remote: https://rubygems.org/ - specs: - addressable (2.3.5) - bourbon (4.0.2) - sass (~> 3.3) - thor - colorize (0.5.8) - dalli (2.6.4) - ffi (1.9.0) - launchy (2.1.2) - addressable (~> 2.3) - neat (1.6.0) - bourbon (>= 3.1) - sass (>= 3.3) - rb-fsevent (0.9.3) - rb-inotify (0.9.2) - ffi (>= 0.5.0) - sass (3.3.5) - sys-proctable (0.9.3) - thor (0.19.1) - -PLATFORMS - ruby - -DEPENDENCIES - bourbon (~> 4.0.2) - colorize (~> 0.5.8) - dalli (~> 2.6.4) - launchy (~> 2.1.2) - neat (~> 1.6.0) - rb-fsevent (~> 0.9.3) - rb-inotify (~> 0.9) - sass (= 3.3.5) - sys-proctable (~> 0.9.3) diff --git a/Gruntfile.js b/Gruntfile.js new file mode 100644 index 000000000000..1d2a632142ea --- /dev/null +++ b/Gruntfile.js @@ -0,0 +1,413 @@ +'use strict'; + +var fs = require('fs'); +var util = require('util'); + +module.exports = function (grunt) { + require('load-grunt-tasks')(grunt); + require('time-grunt')(grunt); + + var config = { + bower: 'bower_components', + lms: 'lms/static', + studio: 'cms/static', + common: 'common/static', + theme: grunt.option('theme') + }; + + if (config.theme) { + if (fs.existsSync(config.theme)) { + grunt.log.writeln(util.format('Theme configured in: %s', config.theme)); + config.theme += '/static'; + } + else { + grunt.fail.warn(util.format('The theme directory (%s) does not exist', config.theme)); + } + } + + var addThemed = function (default_, add) { + if (config.theme) { + default_.push(add); + } + + return default_; + }; + + grunt.initConfig({ + c: config, + + watch: { + 'sass_lms': { + files: addThemed([ + '<%= c.lms %>/sass/**/*.scss', + '<%= c.common %>/sass/**/*.scss', + ], '<%= c.theme %>/sass/**/*.scss'), + tasks: [ + 'sass:lms', + 'concat:lms' + ] + }, + + 'sass_studio': { + files: [ + '<%= c.studio %>/sass/**/*.scss', + '<%= c.common %>/sass/**/*.scss' + ], + tasks: [ + 'sass:studio', + 'concat:studio' + ] + }, + + 'coffee_common': { + files: [ + '<%= c.common %>/coffee/**/*.coffee', + '<%= c.common %>/xmodule/**/*.coffee' + ], + tasks: [ + 'coffee:common' + ] + }, + + 'coffee_lms': { + files: addThemed([ + '<%= c.lms %>/coffee/**/*.coffee' + ], '<%= c.theme %>/coffee/**/*.coffee'), + tasks: [ + 'coffee:lms' + ] + }, + + 'coffee_studio': { + files: [ + '<%= c.studio %>/coffee/**/*.coffee' + ], + tasks: [ + 'coffee:studio' + ] + } + }, + + clean: { + lms: { + src: [ + '<%= c.lms %>/css/lms-style-vendor.css', + '<%= c.lms %>/css/lms-style-vendor-tinymce-content.css', + '<%= c.lms %>/css/lms-style-vendor-tinymce-skin.css', + '<%= c.lms %>/css/lms-style-app.css', + '<%= c.lms %>/css/lms-style-app-rtl.css', + '<%= c.lms %>/css/lms-style-app-extend1.css', + '<%= c.lms %>/css/lms-style-app-extend1-rtl.css', + '<%= c.lms %>/css/lms-style-app-extend2.css', + '<%= c.lms %>/css/lms-style-app-extend2-rtl.css', + '<%= c.lms %>/css/lms-style-course-vendor.css', + '<%= c.lms %>/css/lms-style-student-notes.css', + '<%= c.lms %>/css/lms-style-course.css', + '<%= c.lms %>/css/lms-style-course-rtl.css', + '<%= c.lms %>/css/lms-style-xmodule-annotations.css' + ] + }, + studio: { + src: [ + '<%= c.studio %>/css/cms-style-vendor.css', + '<%= c.studio %>/css/cms-style-vendor-tinymce-content.css', + '<%= c.studio %>/css/cms-style-vendor-tinymce-skin.css', + '<%= c.studio %>/css/cms-style-app.css', + '<%= c.studio %>/css/cms-style-app-rtl.css', + '<%= c.studio %>/css/cms-style-app-extend1.css', + '<%= c.studio %>/css/cms-style-app-extend1-rtl.css', + '<%= c.studio %>/css/cms-style-xmodule.css', + '<%= c.studio %>/css/cms-style-xmodule-rtl.css', + '<%= c.studio %>/css/cms-style-xmodule-annotations.css' + ] + } + }, + + sass: { + lms: { + options: { + includePaths: addThemed([ + '<%= c.bower %>', + '<%= c.common %>/sass', + // This is for xmodule sass files + '<%= c.common %>' + ], '<%= c.theme %>/sass') + }, + files: { + '<%= c.lms %>/css/lms-style-app-extend1.css': '<%= c.lms %>/sass/application-extend1.scss', + '<%= c.lms %>/css/lms-style-app-extend1-rtl.css': '<%= c.lms %>/sass/application-extend1-rtl.scss', + '<%= c.lms %>/css/lms-style-app-extend2.css': '<%= c.lms %>/sass/application-extend2.scss', + '<%= c.lms %>/css/lms-style-app-extend2-rtl.css': '<%= c.lms %>/sass/application-extend2-rtl.scss', + '<%= c.lms %>/css/lms-style-app.css': [ + '<%= c.lms %>/sass/application.scss', + '<%= c.lms %>/sass/ie.scss' + ], + '<%= c.lms %>/css/lms-style-app-rtl.css': [ + '<%= c.lms %>/sass/application-rtl.scss', + '<%= c.lms %>/sass/ie-rtl.scss' + ], + '<%= c.lms %>/css/lms-style-course.css': '<%= c.lms %>/sass/course.scss', + '<%= c.lms %>/css/lms-style-course-rtl.css': '<%= c.lms %>/sass/course-rtl.scss' + } + }, + studio: { + options: { + includePaths: [ + '<%= c.bower %>', + '<%= c.common %>/sass', + // This is for xmodule sass files + '<%= c.common %>' + ] + }, + files: { + '<%= c.studio %>/css/cms-style-app.css': '<%= c.studio %>/sass/style-app.scss', + '<%= c.studio %>/css/cms-style-app-rtl.css': '<%= c.studio %>/sass/style-app-rtl.scss', + '<%= c.studio %>/css/cms-style-app-extend1.css': '<%= c.studio %>/sass/style-app-extend1.scss', + '<%= c.studio %>/css/cms-style-app-extend1-rtl.css': '<%= c.studio %>/sass/style-app-extend1-rtl.scss', + '<%= c.studio %>/css/cms-style-xmodule.css': '<%= c.studio %>/sass/style-xmodule.scss', + '<%= c.studio %>/css/cms-style-xmodule-rtl.css': '<%= c.studio %>/sass/style-xmodule-rtl.scss' + } + } + }, + + concat: { + lms: { + files: { + '<%= c.lms %>/css/lms-style-vendor.css': [ + '<%= c.bower %>/font-awesome/css/font-awesome.css', + '<%= c.common %>/css/vendor/jquery.qtip.min.css', + '<%= c.lms %>/css/vendor/responsive-carousel/responsive-carousel.css', + '<%= c.lms %>/css/vendor/responsive-carousel/responsive-carousel.slide.css' + ], + '<%= c.lms %>/css/lms-style-student-notes.css': [ + '<%= c.common %>/css/lms-style-student-notes.css' + ], + '<%= c.lms %>/css/lms-style-vendor-tinymce-content.css': [ + '<%= c.common %>/js/vendor/tinymce/js/tinymce/skins/studio-tmce4/content.min.css' + ], + '<%= c.lms %>/css/lms-style-vendor-tinymce-skin.css': [ + '<%= c.common %>/js/vendor/tinymce/js/tinymce/skins/studio-tmce4/skin.min.css' + ], + '<%= c.lms %>/css/lms-style-course-vendor.css': [ + '<%= c.lms %>/js/vendor/CodeMirror/codemirror.css', + '<%= c.lms %>/css/vendor/jquery.treeview.css', + '<%= c.lms %>/css/vendor/ui-lightness/jquery-ui-1.8.22.custom.css' + ], + '<%= c.lms %>/css/lms-style-xmodule-annotations.css': [ + '<%= c.common %>/css/vendor/ova/annotator.css', + '<%= c.common %>/css/vendor/ova/edx-annotator.css', + '<%= c.common %>/css/vendor/ova/video-js.min.css', + '<%= c.common %>/css/vendor/ova/rangeslider.css', + '<%= c.common %>/css/vendor/ova/share-annotator.css', + '<%= c.common %>/css/vendor/ova/richText-annotator.css', + '<%= c.common %>/css/vendor/ova/tags-annotator.css', + '<%= c.common %>/css/vendor/ova/flagging-annotator.css', + '<%= c.common %>/css/vendor/ova/diacritic-annotator.css', + '<%= c.common %>/css/vendor/ova/grouping-annotator.css', + '<%= c.common %>/css/vendor/ova/ova.css', + '<%= c.common %>/js/vendor/ova/catch/css/main.css' + ] + } + }, + studio: { + files: { + '<%= c.studio %>/css/cms-style-vendor.css': [ + '<%= c.common %>/css/vendor/normalize.css', + '<%= c.bower %>/font-awesome/css/font-awesome.css', + '<%= c.common %>/css/vendor/html5-input-polyfills/number-polyfill.css', + '<%= c.common %>/js/vendor/CodeMirror/codemirror.css', + '<%= c.common %>/css/vendor/ui-lightness/jquery-ui-1.8.22.custom.css', + '<%= c.common %>/css/vendor/jquery.qtip.min.css', + '<%= c.common %>/js/vendor/markitup/skins/simple/style.css', + '<%= c.common %>/js/vendor/markitup/sets/wiki/style.css', + ], + '<%= c.studio %>/css/cms-style-vendor-tinymce-content.css': [ + '<%= c.common %>/css/tinymce-studio-content-fonts.css', + '<%= c.common %>/js/vendor/tinymce/js/tinymce/skins/studio-tmce4/content.min.css', + '<%= c.common %>/css/tinymce-studio-content.css' + ], + '<%= c.studio %>/css/cms-style-vendor-tinymce-skin.css': [ + '<%= c.common %>/js/vendor/tinymce/js/tinymce/skins/studio-tmce4/skin.min.css' + ], + '<%= c.studio %>/css/cms-style-xmodule-annotations.css': [ + '<%= c.common %>/css/vendor/ova/annotator.css', + '<%= c.common %>/css/vendor/ova/edx-annotator.css', + '<%= c.common %>/css/vendor/ova/video-js.min.css', + '<%= c.common %>/css/vendor/ova/rangeslider.css', + '<%= c.common %>/css/vendor/ova/share-annotator.css', + '<%= c.common %>/css/vendor/ova/richText-annotator.css', + '<%= c.common %>/css/vendor/ova/tags-annotator.css', + '<%= c.common %>/css/vendor/ova/flagging-annotator.css', + '<%= c.common %>/css/vendor/ova/diacritic-annotator.css', + '<%= c.common %>/css/vendor/ova/grouping-annotator.css', + '<%= c.common %>/css/vendor/ova/ova.css', + '<%= c.common %>/js/vendor/ova/catch/css/main.css' + ] + } + } + }, + + cssmin: { + lms: { + files: { + '<%= c.lms %>/css/lms-style-vendor.css': '<%= c.lms %>/css/lms-style-vendor.css', + '<%= c.lms %>/css/lms-style-vendor-tinymce-content.css': '<%= c.lms %>/css/lms-style-vendor-tinymce-content.css', + '<%= c.lms %>/css/lms-style-vendor-tinymce-skin.css': '<%= c.lms %>/css/lms-style-vendor-tinymce-skin.css', + '<%= c.lms %>/css/lms-style-app.css': '<%= c.lms %>/css/lms-style-app.css', + '<%= c.lms %>/css/lms-style-app-rtl.css': '<%= c.lms %>/css/lms-style-app-rtl.css', + '<%= c.lms %>/css/lms-style-app-extend1.css': '<%= c.lms %>/css/lms-style-app-extend1.css', + '<%= c.lms %>/css/lms-style-app-extend1-rtl.css': '<%= c.lms %>/css/lms-style-app-extend1-rtl.css', + '<%= c.lms %>/css/lms-style-app-extend2.css': '<%= c.lms %>/css/lms-style-app-extend2.css', + '<%= c.lms %>/css/lms-style-app-extend2-rtl.css': '<%= c.lms %>/css/lms-style-app-extend2-rtl.css', + '<%= c.lms %>/css/lms-style-course-vendor.css': '<%= c.lms %>/css/lms-style-course-vendor.css', + '<%= c.lms %>/css/lms-style-course.css': '<%= c.lms %>/css/lms-style-course.css', + '<%= c.lms %>/css/lms-style-course-rtl.css': '<%= c.lms %>/css/lms-style-course-rtl.css', + '<%= c.lms %>/css/lms-style-xmodule-annotations.css': '<%= c.lms %>/css/lms-style-xmodule-annotations.css' + } + }, + studio: { + files: { + '<%= c.studio %>/css/cms-style-vendor.css': '<%= c.studio %>/css/cms-style-vendor.css', + '<%= c.studio %>/css/cms-style-vendor-tinymce-content.css': '<%= c.studio %>/css/cms-style-vendor-tinymce-content.css', + '<%= c.studio %>/css/cms-style-vendor-tinymce-skin.css': '<%= c.studio %>/css/cms-style-vendor-tinymce-skin.css', + '<%= c.studio %>/css/cms-style-app.css': '<%= c.studio %>/css/cms-style-app.css', + '<%= c.studio %>/css/cms-style-app-rtl.css': '<%= c.studio %>/css/cms-style-app-rtl.css', + '<%= c.studio %>/css/cms-style-app-extend1.css': '<%= c.studio %>/css/cms-style-app-extend1.css', + '<%= c.studio %>/css/cms-style-app-extend1-rtl.css': '<%= c.studio %>/css/cms-style-app-extend1-rtl.css', + '<%= c.studio %>/css/cms-style-xmodule.css': '<%= c.studio %>/css/cms-style-xmodule.css', + '<%= c.studio %>/css/cms-style-xmodule-rtl.css': '<%= c.studio %>/css/cms-style-xmodule-rtl.css', + '<%= c.studio %>/css/cms-style-xmodule-annotations.css': '<%= c.studio %>/css/cms-style-xmodule-annotations.css' + } + } + }, + + coffee: { + common: { + expand: true, + src: [ + '<%= c.common %>/coffee/**/*.coffee', + '<%= c.common %>/xmodule/**/*.coffee' + ], + extDot: 'last', + ext: '.js' + }, + lms: { + expand: true, + src: addThemed([ + '<%= c.lms %>/coffee/**/*.coffee' + ], '<%= c.theme %>/coffee/**/*.coffee'), + extDot: 'last', + ext: '.js' + }, + + studio: { + expand: true, + src: [ + '<%= c.studio %>/coffee/**/*.coffee' + ], + extDot: 'last', + ext: '.js' + } + }, + + concurrent: { + 'watch_lms': { + options: { + logConcurrentOutput: true + }, + tasks: [ + 'watch:sass_lms', + 'watch:coffee_common', + 'watch:coffee_lms' + ] + }, + + 'watch_studio': { + options: { + logConcurrentOutput: true + }, + tasks: [ + 'watch:sass_studio', + 'watch:coffee_common', + 'watch:coffee_studio' + ] + }, + + 'build_lms': { + tasks: [ + 'lms:css', + 'lms:js' + ] + }, + + 'build_studio': { + tasks: [ + 'studio:css', + 'studio:js' + ] + } + + } + }); + + // LMS tasks + grunt.registerTask('lms', [ + 'concurrent:build_lms' + ]); + + grunt.registerTask('lms:css', [ + 'sass:lms', + 'concat:lms' + ]); + + grunt.registerTask('lms:js', [ + 'coffee:common', + 'coffee:lms' + ]); + + grunt.registerTask('lms:watch', [ + 'concurrent:watch_lms' + ]); + + grunt.registerTask('lms:dev', [ + 'lms', + 'lms:watch' + ]); + + grunt.registerTask('lms:dist', [ + 'clean:lms', + 'lms', + 'cssmin:lms' + ]); + + + // Studio tasks + grunt.registerTask('studio', [ + 'concurrent:build_studio' + ]); + + grunt.registerTask('studio:css', [ + 'sass:studio', + 'concat:studio' + ]); + + grunt.registerTask('studio:js', [ + 'coffee:common', + 'coffee:studio' + ]); + + grunt.registerTask('studio:watch', [ + 'concurrent:watch_studio' + ]); + + grunt.registerTask('studio:dev', [ + 'studio', + 'studio:watch' + ]); + + grunt.registerTask('studio:dist', [ + 'clean:studio', + 'studio', + 'cssmin:studio' + ]); +}; diff --git a/bower.json b/bower.json new file mode 100644 index 000000000000..a78485e2fa58 --- /dev/null +++ b/bower.json @@ -0,0 +1,11 @@ +{ + "name": "edx", + "private": true, + "homepage": "https://github.com/edx/edx-platform", + "dependencies": { + "bourbon": "https://github.com/thoughtbot/bourbon.git#v4.0.2", + "neat": "https://github.com/thoughtbot/neat.git#1.7.0", + "bi-app-sass": "https://github.com/anasnakawa/bi-app-sass.git#master", + "font-awesome": "https://github.com/FortAwesome/Font-Awesome.git#3.2.1" + } +} diff --git a/cms/envs/common.py b/cms/envs/common.py index 9404427b0f1c..b653963ea7fd 100644 --- a/cms/envs/common.py +++ b/cms/envs/common.py @@ -158,6 +158,7 @@ PROJECT_ROOT = path(__file__).abspath().dirname().dirname() # /edx-platform/cms REPO_ROOT = PROJECT_ROOT.dirname() COMMON_ROOT = REPO_ROOT / "common" +BOWER_ROOT = REPO_ROOT / "bower_components" LMS_ROOT = REPO_ROOT / "lms" ENV_ROOT = REPO_ROOT.dirname() # virtualenv dir /edx-platform is in @@ -354,12 +355,25 @@ STATIC_ROOT = ENV_ROOT / "staticfiles" / EDX_PLATFORM_REVISION STATICFILES_DIRS = [ - COMMON_ROOT / "static", - PROJECT_ROOT / "static", - LMS_ROOT / "static", + ("css", PROJECT_ROOT / "static/css"), - # This is how you would use the textbook images locally - # ("book", ENV_ROOT / "book_images"), + ("js", COMMON_ROOT / "static/js"), + ("js", PROJECT_ROOT / "static/js"), + + ("fonts", PROJECT_ROOT / "static/fonts"), + ("font", BOWER_ROOT / "font-awesome/font"), + + ("images", COMMON_ROOT / "static/images"), + ("images", PROJECT_ROOT / "static/images"), + + ("xmodule", COMMON_ROOT / "static/xmodule"), + + # All these should not be here + + ("coffee", COMMON_ROOT / "static/coffee"), + ("coffee", PROJECT_ROOT / "static/coffee"), + + PROJECT_ROOT / "static" ] # Locale/Internationalization @@ -387,89 +401,6 @@ from rooted_paths import rooted_glob -PIPELINE_CSS = { - 'style-vendor': { - 'source_filenames': [ - 'css/vendor/normalize.css', - 'css/vendor/font-awesome.css', - 'css/vendor/html5-input-polyfills/number-polyfill.css', - 'js/vendor/CodeMirror/codemirror.css', - 'css/vendor/ui-lightness/jquery-ui-1.8.22.custom.css', - 'css/vendor/jquery.qtip.min.css', - 'js/vendor/markitup/skins/simple/style.css', - 'js/vendor/markitup/sets/wiki/style.css', - ], - 'output_filename': 'css/cms-style-vendor.css', - }, - 'style-vendor-tinymce-content': { - 'source_filenames': [ - 'css/tinymce-studio-content-fonts.css', - 'js/vendor/tinymce/js/tinymce/skins/studio-tmce4/content.min.css', - 'css/tinymce-studio-content.css' - ], - 'output_filename': 'css/cms-style-vendor-tinymce-content.css', - }, - 'style-vendor-tinymce-skin': { - 'source_filenames': [ - 'js/vendor/tinymce/js/tinymce/skins/studio-tmce4/skin.min.css' - ], - 'output_filename': 'css/cms-style-vendor-tinymce-skin.css', - }, - 'style-app': { - 'source_filenames': [ - 'sass/style-app.css', - ], - 'output_filename': 'css/cms-style-app.css', - }, - 'style-app-extend1': { - 'source_filenames': [ - 'sass/style-app-extend1.css', - ], - 'output_filename': 'css/cms-style-app-extend1.css', - }, - 'style-app-rtl': { - 'source_filenames': [ - 'sass/style-app-rtl.css', - ], - 'output_filename': 'css/cms-style-app-rtl.css', - }, - 'style-app-extend1-rtl': { - 'source_filenames': [ - 'sass/style-app-extend1-rtl.css', - ], - 'output_filename': 'css/cms-style-app-extend1-rtl.css', - }, - 'style-xmodule': { - 'source_filenames': [ - 'sass/style-xmodule.css', - ], - 'output_filename': 'css/cms-style-xmodule.css', - }, - 'style-xmodule-rtl': { - 'source_filenames': [ - 'sass/style-xmodule-rtl.css', - ], - 'output_filename': 'css/cms-style-xmodule-rtl.css', - }, - 'style-xmodule-annotations': { - 'source_filenames': [ - 'css/vendor/ova/annotator.css', - 'css/vendor/ova/edx-annotator.css', - 'css/vendor/ova/video-js.min.css', - 'css/vendor/ova/rangeslider.css', - 'css/vendor/ova/share-annotator.css', - 'css/vendor/ova/richText-annotator.css', - 'css/vendor/ova/tags-annotator.css', - 'css/vendor/ova/flagging-annotator.css', - 'css/vendor/ova/diacritic-annotator.css', - 'css/vendor/ova/grouping-annotator.css', - 'css/vendor/ova/ova.css', - 'js/vendor/ova/catch/css/main.css' - ], - 'output_filename': 'css/cms-style-xmodule-annotations.css', - }, -} - # test_order: Determines the position of this chunk of javascript on # the jasmine test page PIPELINE_JS = { @@ -488,7 +419,6 @@ 'pipeline.compilers.coffee.CoffeeScriptCompiler', ) -PIPELINE_CSS_COMPRESSOR = None PIPELINE_JS_COMPRESSOR = None STATICFILES_IGNORE_PATTERNS = ( @@ -505,11 +435,7 @@ "coffee/*.coffee", "coffee/*/*.coffee", "coffee/*/*/*.coffee", - "coffee/*/*/*/*.coffee", - - # Symlinks used by js-test-tool - "xmodule_js", - "common_static", + "coffee/*/*/*/*.coffee" ) PIPELINE_YUI_BINARY = 'yui-compressor' diff --git a/cms/envs/dev.py b/cms/envs/dev.py index a82da4cfcdec..8d7a5b4612be 100644 --- a/cms/envs/dev.py +++ b/cms/envs/dev.py @@ -124,10 +124,6 @@ # Dummy secret key for dev SECRET_KEY = '85920908f28904ed733fe576320db18cabd7b6cd' -################################ PIPELINE ################################# - -PIPELINE_SASS_ARGUMENTS = '--debug-info --require {proj_dir}/static/sass/bourbon/lib/bourbon.rb'.format(proj_dir=PROJECT_ROOT) - ################################# CELERY ###################################### # By default don't use a worker, execute tasks as if they were local functions diff --git a/cms/static/sass/README.txt b/cms/static/sass/README.txt deleted file mode 100644 index 3b760ff21440..000000000000 --- a/cms/static/sass/README.txt +++ /dev/null @@ -1,3 +0,0 @@ -Sass Watch: - -sass --watch cms/static/sass:cms/static/sass -r ./cms/static/sass/bourbon/lib/bourbon.rb diff --git a/cms/static/sass/style-app-extend1-rtl.scss b/cms/static/sass/style-app-extend1-rtl.scss index 542483e4b58b..49d7902143f6 100644 --- a/cms/static/sass/style-app-extend1-rtl.scss +++ b/cms/static/sass/style-app-extend1-rtl.scss @@ -14,8 +14,8 @@ // +Libs and Resets - *do not edit* // ==================== -@import 'bourbon/bourbon'; // lib - bourbon -@import 'vendor/bi-app/bi-app-rtl'; // set the layout for right to left languages +@import 'bourbon/dist/bourbon'; // lib - bourbon +@import 'bi-app-sass/bi-app/bi-app-rtl'; // set the layout for right to left languages // +Vendor and Rebase - *referenced/used vendor presentation and reset* // ==================== diff --git a/cms/static/sass/style-app-extend1.scss b/cms/static/sass/style-app-extend1.scss index 13efe1702d1e..14d96a6e998c 100644 --- a/cms/static/sass/style-app-extend1.scss +++ b/cms/static/sass/style-app-extend1.scss @@ -11,11 +11,10 @@ // * +Base - Specific Views // * +Base - Contexts - // +Libs and Resets - *do not edit* // ==================== -@import 'bourbon/bourbon'; // lib - bourbon -@import 'vendor/bi-app/bi-app-ltr'; // set the layout for left to right languages +@import 'bourbon/dist/bourbon'; // lib - bourbon +@import 'bi-app-sass/bi-app/bi-app-ltr'; // set the layout for left to right languages // +Vendor and Rebase - *referenced/used vendor presentation and reset* // ==================== diff --git a/cms/static/sass/style-app-rtl.scss b/cms/static/sass/style-app-rtl.scss index ff9b6814cfc6..6d6695d67f2c 100644 --- a/cms/static/sass/style-app-rtl.scss +++ b/cms/static/sass/style-app-rtl.scss @@ -11,8 +11,8 @@ // +Libs and Resets - *do not edit* // ==================== -@import 'bourbon/bourbon'; // lib - bourbon -@import 'vendor/bi-app/bi-app-rtl'; // set the layout for right to left languages +@import 'bourbon/dist/bourbon'; // lib - bourbon +@import 'bi-app-sass/bi-app/bi-app-rtl'; // set the layout for right to left languages // +Vendor and Rebase - *referenced/used vendor presentation and reset* // ==================== diff --git a/cms/static/sass/style-app.scss b/cms/static/sass/style-app.scss index 3bca8305ff4d..a4cfb7fda13e 100644 --- a/cms/static/sass/style-app.scss +++ b/cms/static/sass/style-app.scss @@ -8,11 +8,10 @@ // * +Base - Assets // * +Base - Starter // * +Base - Elements - // +Libs and Resets - *do not edit* // ==================== -@import 'bourbon/bourbon'; // lib - bourbon -@import 'vendor/bi-app/bi-app-ltr'; // set the layout for left to right languages +@import 'bourbon/dist/bourbon'; // lib - bourbon +@import 'bi-app-sass/bi-app/bi-app-ltr'; // set the layout for left to right languages // +Vendor and Rebase - *referenced/used vendor presentation and reset* // ==================== diff --git a/cms/static/sass/style-xmodule-rtl.scss b/cms/static/sass/style-xmodule-rtl.scss index f5e3379accb4..b6b5620c9ba4 100644 --- a/cms/static/sass/style-xmodule-rtl.scss +++ b/cms/static/sass/style-xmodule-rtl.scss @@ -13,8 +13,8 @@ // +Libs and Resets - *do not edit* // ==================== -@import 'bourbon/bourbon'; // lib - bourbon -@import 'vendor/bi-app/bi-app-rtl'; // set the layout for right to left languages +@import 'bourbon/dist/bourbon'; // lib - bourbon +@import 'bi-app-sass/bi-app/bi-app-rtl'; // set the layout for right to left languages // +Vendor and Rebase - *referenced/used vendor presentation and reset* // ==================== diff --git a/cms/static/sass/style-xmodule.scss b/cms/static/sass/style-xmodule.scss index d083a749a6e2..fbc9ad380866 100644 --- a/cms/static/sass/style-xmodule.scss +++ b/cms/static/sass/style-xmodule.scss @@ -12,8 +12,8 @@ // +Libs and Resets - *do not edit* // ==================== -@import 'bourbon/bourbon'; // lib - bourbon -@import 'vendor/bi-app/bi-app-ltr'; // set the layout for left to right languages +@import 'bourbon/dist/bourbon'; // lib - bourbon +@import 'bi-app-sass/bi-app/bi-app-ltr'; // set the layout for left to right languages // +Vendor and Rebase - *referenced/used vendor presentation and reset* // ==================== diff --git a/cms/static/sass/vendor/bi-app/_bi-app-ltr.scss b/cms/static/sass/vendor/bi-app/_bi-app-ltr.scss deleted file mode 100755 index 6278a31380e8..000000000000 --- a/cms/static/sass/vendor/bi-app/_bi-app-ltr.scss +++ /dev/null @@ -1,11 +0,0 @@ -// ------------------------------------------ -// left to right module -// authors: -// twitter.com/anasnakawa -// twitter.com/victorzamfir -// licensed under the MIT license -// http://www.opensource.org/licenses/mit-license.php -// ------------------------------------------ - -@import 'variables-ltr'; -@import 'mixins'; \ No newline at end of file diff --git a/cms/static/sass/vendor/bi-app/_bi-app-rtl.scss b/cms/static/sass/vendor/bi-app/_bi-app-rtl.scss deleted file mode 100755 index 17b7f2e90fe7..000000000000 --- a/cms/static/sass/vendor/bi-app/_bi-app-rtl.scss +++ /dev/null @@ -1,11 +0,0 @@ -// ------------------------------------------ -// right to left module -// authors: -// twitter.com/anasnakawa -// twitter.com/victorzamfir -// licensed under the MIT license -// http://www.opensource.org/licenses/mit-license.php -// ------------------------------------------ - -@import 'variables-rtl'; -@import 'mixins'; \ No newline at end of file diff --git a/cms/static/sass/vendor/bi-app/_mixins.scss b/cms/static/sass/vendor/bi-app/_mixins.scss deleted file mode 100755 index 170120e1b0e1..000000000000 --- a/cms/static/sass/vendor/bi-app/_mixins.scss +++ /dev/null @@ -1,294 +0,0 @@ -// ------------------------------------------ -// bi app mixins -// authors: -// twitter.com/anasnakawa -// twitter.com/victorzamfir -// licensed under the MIT license -// http://www.opensource.org/licenses/mit-license.php -// ------------------------------------------ - -// ------------------------------------------ -// Table of contents -// ------------------------------------------ -// padding -// margin -// float -// text align -// clear -// left / right -// border -// - width -// - style -// - color -// - generic -// - radius -// ltr / rtl contents -// ------------------------------------------ - -// generic mixin for properties with values -// (top right bottom left) -// ------------------------------------------ -@mixin bi-app-compact($property, $top, $right, $bottom, $left) { - @if $bi-app-direction == ltr { - #{$property}: $top $right $bottom $left; - } @else { - #{$property}: $top $left $bottom $right; - } -} - -// padding -// ------------------------------------------ -@mixin padding-left($distance) { - padding-#{$bi-app-left}: $distance; -} - -@mixin padding-right($distance) { - padding-#{$bi-app-right}: $distance; -} - -@mixin padding($top, $right, $bottom, $left) { - @include bi-app-compact(padding, $top, $right, $bottom, $left); -} - -// margin -// ------------------------------------------ -@mixin margin-left($distance) { - margin-#{$bi-app-left}: $distance; -} - -@mixin margin-right($distance) { - margin-#{$bi-app-right}: $distance; -} - -@mixin margin($top, $right, $bottom, $left) { - @include bi-app-compact(margin, $top, $right, $bottom, $left); -} - -// float -// ------------------------------------------ -@mixin bi-app-float-left { - float: $bi-app-left; -} - -@mixin bi-app-float-right { - float: $bi-app-right; -} - -@mixin float($direction) { - @if $direction == left { - @include bi-app-float-left; - } @else if $direction == right { - @include bi-app-float-right; - } @else { - float: $direction; - } -} - -// text align -// ------------------------------------------ -@mixin bi-app-text-align-left { - text-align: $bi-app-left; -} - -@mixin bi-app-text-align-right { - text-align: $bi-app-right; -} - -@mixin text-align($direction) { - @if $direction == left { - @include bi-app-text-align-left; - } @else if $direction == right { - @include bi-app-text-align-right; - } @else { - text-align: $direction; - } -} - -// clear -// ------------------------------------------ -@mixin bi-app-clear-left { - clear: $bi-app-left; -} - -@mixin bi-app-clear-right { - clear: $bi-app-right; -} - -@mixin clear($direction) { - @if $direction == left { - @include bi-app-clear-left; - } @else if $direction == right { - @include bi-app-clear-right; - } @else { - clear: $direction; - } -} - -// left / right -// ------------------------------------------ -@mixin left($distance) { - @if $bi-app-direction == ltr { - left: $distance; - } @else if $bi-app-direction == rtl { - right: $distance; - } -} - -@mixin right($distance) { - @if $bi-app-direction == ltr { - right: $distance; - } @else if $bi-app-direction == rtl { - left: $distance; - } -} - -// border -// ------------------------------------------ - -// width -@mixin border-left-width($width) { - border-#{$bi-app-left}-width: $width; -} - -@mixin border-right-width($width) { - border-#{$bi-app-right}-width: $width; -} - -@mixin border-width($top, $right, $bottom, $left) { - @include bi-app-compact(border-width, $top, $right, $bottom, $left); -} - -// style -@mixin border-left-style($style) { - border-#{$bi-app-left}-style: $style; -} - -@mixin border-right-style($style) { - border-#{$bi-app-right}-style: $style; -} - -@mixin border-style($top, $right, $bottom, $left) { - @include bi-app-compact(border-style, $top, $right, $bottom, $left); -} - -// color -@mixin border-left-color($color) { - border-#{$bi-app-left}-color: $color; -} - -@mixin border-right-color($color) { - border-#{$bi-app-right}-color: $color; -} - -@mixin border-color($top, $right, $bottom, $left) { - @include bi-app-compact(border-color, $top, $right, $bottom, $left); -} - -// generic -@mixin border-left($border-style) { - border-#{$bi-app-left}: $border-style; -} - -@mixin border-right($border-style) { - border-#{$bi-app-right}: $border-style; -} - -// radius -@mixin border-top-left-radius($radius) { - -webkit-border-top-#{$bi-app-left}-radius: $radius; - -moz-border-top#{$bi-app-left}-radius: $radius; - border-top-#{$bi-app-left}-radius: $radius; -} - -@mixin border-top-right-radius($radius) { - -webkit-border-top-#{$bi-app-right}-radius: $radius; - -moz-border-top#{$bi-app-right}-radius: $radius; - border-top-#{$bi-app-right}-radius: $radius; -} - -@mixin border-bottom-left-radius($radius) { - -webkit-border-bottom-#{$bi-app-left}-radius: $radius; - -moz-border-bottom#{$bi-app-left}-radius: $radius; - border-bottom-#{$bi-app-left}-radius: $radius; -} - -@mixin border-bottom-right-radius($radius) { - -webkit-border-bottom-#{$bi-app-right}-radius: $radius; - -moz-border-bottom#{$bi-app-right}-radius: $radius; - border-bottom-#{$bi-app-right}-radius: $radius; -} - -@mixin border-right-radius($radius) { - @include border-top-right-radius($radius); - @include border-bottom-right-radius($radius); -} - -@mixin border-left-radius($radius) { - @include border-top-left-radius($radius); - @include border-bottom-left-radius($radius); -} - -@mixin border-top-radius($radius) { - @include border-top-left-radius($radius); - @include border-top-right-radius($radius); -} - -@mixin border-bottom-radius($radius) { - @include border-bottom-left-radius($radius); - @include border-bottom-right-radius($radius); -} - -@mixin border-radius($topLeft, $topRight: null, $bottomRight: null, $bottomLeft: null) { - @if $topRight != null { - @include border-top-left-radius($topLeft); - @include border-top-right-radius($topRight); - @include border-bottom-right-radius($bottomRight); - @include border-bottom-left-radius($bottomLeft); - } @else { - -webkit-border-radius: $topLeft; - -moz-border-radius: $topLeft; - -ms-border-radius: $topLeft; - -o-border-radius: $topLeft; - border-radius: $topLeft; - } -} - -// Returns "en" or "ar", useful for image suffixes. -// Usage: background-image: url(/images/header-#{lang()}.png); -@function lang() { - @if $bi-app-direction == ltr { - @return 'en'; - } @else { - @return 'ar'; - } -} - -// Support for "direction" declaration (renders ltr/rtl). -// Useful for form elements as they swap the text-indent property and align the text accordingly. -@mixin direction { - direction: $bi-app-direction; -} - -// Inverts a percentage value. Example: 97% becames 3%. -// Useful for background-position. -@function bi-app-invert-percentage($percentage) { - @if $bi-app-direction == rtl { - @return 100% - $percentage; - } @else { - @return $percentage; - } -} - -// ltr / rtl contents -// ------------------------------------------ -@mixin ltr { - @if $bi-app-direction == ltr { - @content; - } -} - -@mixin rtl { - @if $bi-app-direction == rtl { - @content; - } -} diff --git a/cms/static/sass/vendor/bi-app/_variables-ltr.scss b/cms/static/sass/vendor/bi-app/_variables-ltr.scss deleted file mode 100755 index 36d5a7b06e15..000000000000 --- a/cms/static/sass/vendor/bi-app/_variables-ltr.scss +++ /dev/null @@ -1,15 +0,0 @@ -// ------------------------------------------ -// left to right variables to be used by bi-app mixins -// authors: -// twitter.com/anasnakawa -// twitter.com/victorzamfir -// licensed under the MIT license -// http://www.opensource.org/licenses/mit-license.php -// ------------------------------------------ - -// namespacing variables with bi-app to -// avoid conflicting with other global variables -$bi-app-left : left; -$bi-app-right : right; -$bi-app-direction : ltr; -$bi-app-invert-direction: rtl; \ No newline at end of file diff --git a/cms/static/sass/vendor/bi-app/_variables-rtl.scss b/cms/static/sass/vendor/bi-app/_variables-rtl.scss deleted file mode 100755 index 7300f1786357..000000000000 --- a/cms/static/sass/vendor/bi-app/_variables-rtl.scss +++ /dev/null @@ -1,15 +0,0 @@ -// ------------------------------------------ -// right to left variables to be used by bi-app mixins -// authors: -// twitter.com/anasnakawa -// twitter.com/victorzamfir -// licensed under the MIT license -// http://www.opensource.org/licenses/mit-license.php -// ------------------------------------------ - -// namespacing variables with bi-app to -// avoid conflicting with other global variables -$bi-app-left : right; -$bi-app-right : left; -$bi-app-direction : rtl; -$bi-app-invert-direction: ltr; \ No newline at end of file diff --git a/cms/templates/base.html b/cms/templates/base.html index a640c07dd93f..d6732bb720e0 100644 --- a/cms/templates/base.html +++ b/cms/templates/base.html @@ -33,12 +33,18 @@ - <%static:css group='style-vendor'/> - <%static:css group='style-vendor-tinymce-content'/> - <%static:css group='style-vendor-tinymce-skin'/> - <%static:css group='style-app'/> - <%static:css group='style-app-extend1'/> - <%static:css group='style-xmodule'/> + + + + %if dir_rtl == 'rtl': + + + + %else: + + + + %endif <%include file="widgets/segment-io.html" /> diff --git a/common/djangoapps/pipeline_mako/templates/static_content.html b/common/djangoapps/pipeline_mako/templates/static_content.html index 9deb58e7b673..ef3ffd66ddab 100644 --- a/common/djangoapps/pipeline_mako/templates/static_content.html +++ b/common/djangoapps/pipeline_mako/templates/static_content.html @@ -1,6 +1,6 @@ <%! from staticfiles.storage import staticfiles_storage -from pipeline_mako import compressed_css, compressed_js +from pipeline_mako import compressed_js from django.utils.translation import get_language_bidi %> @@ -11,22 +11,6 @@ url = file %>${url}${"?raw" if raw else ""} -<%def name='css(group, raw=False)'> - <% - rtl_group = '{}-rtl'.format(group) - - if get_language_bidi() and rtl_group in settings.PIPELINE_CSS: - group = rtl_group - %> - - % if settings.FEATURES['USE_DJANGO_PIPELINE']: - ${compressed_css(group, raw=raw)} - % else: - % for filename in settings.PIPELINE_CSS[group]['source_filenames']: - - % endfor - %endif - <%def name='js(group)'> % if settings.FEATURES['USE_DJANGO_PIPELINE']: ${compressed_js(group)} diff --git a/common/lib/xmodule/xmodule/static_content.py b/common/lib/xmodule/xmodule/static_content.py index 85468be87dc3..8cdcfec39193 100755 --- a/common/lib/xmodule/xmodule/static_content.py +++ b/common/lib/xmodule/xmodule/static_content.py @@ -96,8 +96,9 @@ def _write_styles(selector, output_root, classes): css_imports[class_].add(fragment_name) module_styles_lines = [] - module_styles_lines.append("@import 'bourbon/bourbon';") - module_styles_lines.append("@import 'bourbon/addons/button';") + module_styles_lines.append("@import 'bourbon/dist/bourbon';") + module_styles_lines.append("@import 'bourbon/dist/addons/button';") + module_styles_lines.append("@import 'bi-app-sass/bi-app/bi-app-ltr';") module_styles_lines.append("@import 'assets/anims';") for class_, fragment_names in css_imports.items(): module_styles_lines.append("""{selector}.xmodule_{class_} {{""".format( diff --git a/common/static/css/vendor/font-awesome.css b/common/static/css/vendor/font-awesome.css deleted file mode 100644 index 043235ab1523..000000000000 --- a/common/static/css/vendor/font-awesome.css +++ /dev/null @@ -1,1805 +0,0 @@ -/*! - * Font Awesome 4.3.0 by @davegandy - http://fontawesome.io - @fontawesome - * License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License) - */ -/* FONT PATH - * -------------------------- */ -@font-face { - font-family: 'FontAwesome'; - src: url('../../fonts/vendor/fontawesome-webfont.eot?v=4.3.0'); - src: url('../../fonts/vendor/fontawesome-webfont.eot?#iefix&v=4.3.0') format('embedded-opentype'), - url('../../fonts/vendor/fontawesome-webfont.woff2?v=4.3.0') format('woff2'), - url('../../fonts/vendor/fontawesome-webfont.woff?v=4.3.0') format('woff'), - url('../../fonts/vendor/fontawesome-webfont.ttf?v=4.3.0') format('truetype'), - url('../../fonts/vendor/fontawesome-webfont.svg?v=4.3.0#fontawesomeregular') format('svg'); - font-weight: normal; - font-style: normal; -} -.fa { - 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; - transform: translate(0, 0); -} -/* makes the font 33% larger relative to the icon container */ -.fa-lg { - font-size: 1.33333333em; - 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.28571429em; - text-align: center; -} -.fa-ul { - padding-left: 0; - margin-left: 2.14285714em; - list-style-type: none; -} -.fa-ul > li { - position: relative; -} -.fa-li { - position: absolute; - left: -2.14285714em; - width: 2.14285714em; - top: 0.14285714em; - text-align: center; -} -.fa-li.fa-lg { - left: -1.85714286em; -} -.fa-border { - padding: .2em .25em .15em; - border: solid 0.08em #eeeeee; - border-radius: .1em; -} -.pull-right { - float: right; -} -.pull-left { - float: left; -} -.fa.pull-left { - margin-right: .3em; -} -.fa.pull-right { - 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 { - filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=1); - -webkit-transform: rotate(90deg); - -ms-transform: rotate(90deg); - transform: rotate(90deg); -} -.fa-rotate-180 { - filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=2); - -webkit-transform: rotate(180deg); - -ms-transform: rotate(180deg); - transform: rotate(180deg); -} -.fa-rotate-270 { - filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=3); - -webkit-transform: rotate(270deg); - -ms-transform: rotate(270deg); - transform: rotate(270deg); -} -.fa-flip-horizontal { - 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 { - 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: #ffffff; -} -/* 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: "\f000"; -} -.fa-music:before { - content: "\f001"; -} -.fa-search:before { - content: "\f002"; -} -.fa-envelope-o:before { - content: "\f003"; -} -.fa-heart:before { - content: "\f004"; -} -.fa-star:before { - content: "\f005"; -} -.fa-star-o:before { - content: "\f006"; -} -.fa-user:before { - content: "\f007"; -} -.fa-film:before { - content: "\f008"; -} -.fa-th-large:before { - content: "\f009"; -} -.fa-th:before { - content: "\f00a"; -} -.fa-th-list:before { - content: "\f00b"; -} -.fa-check:before { - content: "\f00c"; -} -.fa-remove:before, -.fa-close:before, -.fa-times:before { - content: "\f00d"; -} -.fa-search-plus:before { - content: "\f00e"; -} -.fa-search-minus:before { - content: "\f010"; -} -.fa-power-off:before { - content: "\f011"; -} -.fa-signal:before { - content: "\f012"; -} -.fa-gear:before, -.fa-cog:before { - content: "\f013"; -} -.fa-trash-o:before { - content: "\f014"; -} -.fa-home:before { - content: "\f015"; -} -.fa-file-o:before { - content: "\f016"; -} -.fa-clock-o:before { - content: "\f017"; -} -.fa-road:before { - content: "\f018"; -} -.fa-download:before { - content: "\f019"; -} -.fa-arrow-circle-o-down:before { - content: "\f01a"; -} -.fa-arrow-circle-o-up:before { - content: "\f01b"; -} -.fa-inbox:before { - content: "\f01c"; -} -.fa-play-circle-o:before { - content: "\f01d"; -} -.fa-rotate-right:before, -.fa-repeat:before { - content: "\f01e"; -} -.fa-refresh:before { - content: "\f021"; -} -.fa-list-alt:before { - content: "\f022"; -} -.fa-lock:before { - content: "\f023"; -} -.fa-flag:before { - content: "\f024"; -} -.fa-headphones:before { - content: "\f025"; -} -.fa-volume-off:before { - content: "\f026"; -} -.fa-volume-down:before { - content: "\f027"; -} -.fa-volume-up:before { - content: "\f028"; -} -.fa-qrcode:before { - content: "\f029"; -} -.fa-barcode:before { - content: "\f02a"; -} -.fa-tag:before { - content: "\f02b"; -} -.fa-tags:before { - content: "\f02c"; -} -.fa-book:before { - content: "\f02d"; -} -.fa-bookmark:before { - content: "\f02e"; -} -.fa-print:before { - content: "\f02f"; -} -.fa-camera:before { - content: "\f030"; -} -.fa-font:before { - content: "\f031"; -} -.fa-bold:before { - content: "\f032"; -} -.fa-italic:before { - content: "\f033"; -} -.fa-text-height:before { - content: "\f034"; -} -.fa-text-width:before { - content: "\f035"; -} -.fa-align-left:before { - content: "\f036"; -} -.fa-align-center:before { - content: "\f037"; -} -.fa-align-right:before { - content: "\f038"; -} -.fa-align-justify:before { - content: "\f039"; -} -.fa-list:before { - content: "\f03a"; -} -.fa-dedent:before, -.fa-outdent:before { - content: "\f03b"; -} -.fa-indent:before { - content: "\f03c"; -} -.fa-video-camera:before { - content: "\f03d"; -} -.fa-photo:before, -.fa-image:before, -.fa-picture-o:before { - content: "\f03e"; -} -.fa-pencil:before { - content: "\f040"; -} -.fa-map-marker:before { - content: "\f041"; -} -.fa-adjust:before { - content: "\f042"; -} -.fa-tint:before { - content: "\f043"; -} -.fa-edit:before, -.fa-pencil-square-o:before { - content: "\f044"; -} -.fa-share-square-o:before { - content: "\f045"; -} -.fa-check-square-o:before { - content: "\f046"; -} -.fa-arrows:before { - content: "\f047"; -} -.fa-step-backward:before { - content: "\f048"; -} -.fa-fast-backward:before { - content: "\f049"; -} -.fa-backward:before { - content: "\f04a"; -} -.fa-play:before { - content: "\f04b"; -} -.fa-pause:before { - content: "\f04c"; -} -.fa-stop:before { - content: "\f04d"; -} -.fa-forward:before { - content: "\f04e"; -} -.fa-fast-forward:before { - content: "\f050"; -} -.fa-step-forward:before { - content: "\f051"; -} -.fa-eject:before { - content: "\f052"; -} -.fa-chevron-left:before { - content: "\f053"; -} -.fa-chevron-right:before { - content: "\f054"; -} -.fa-plus-circle:before { - content: "\f055"; -} -.fa-minus-circle:before { - content: "\f056"; -} -.fa-times-circle:before { - content: "\f057"; -} -.fa-check-circle:before { - content: "\f058"; -} -.fa-question-circle:before { - content: "\f059"; -} -.fa-info-circle:before { - content: "\f05a"; -} -.fa-crosshairs:before { - content: "\f05b"; -} -.fa-times-circle-o:before { - content: "\f05c"; -} -.fa-check-circle-o:before { - content: "\f05d"; -} -.fa-ban:before { - content: "\f05e"; -} -.fa-arrow-left:before { - content: "\f060"; -} -.fa-arrow-right:before { - content: "\f061"; -} -.fa-arrow-up:before { - content: "\f062"; -} -.fa-arrow-down:before { - content: "\f063"; -} -.fa-mail-forward:before, -.fa-share:before { - content: "\f064"; -} -.fa-expand:before { - content: "\f065"; -} -.fa-compress:before { - content: "\f066"; -} -.fa-plus:before { - content: "\f067"; -} -.fa-minus:before { - content: "\f068"; -} -.fa-asterisk:before { - content: "\f069"; -} -.fa-exclamation-circle:before { - content: "\f06a"; -} -.fa-gift:before { - content: "\f06b"; -} -.fa-leaf:before { - content: "\f06c"; -} -.fa-fire:before { - content: "\f06d"; -} -.fa-eye:before { - content: "\f06e"; -} -.fa-eye-slash:before { - content: "\f070"; -} -.fa-warning:before, -.fa-exclamation-triangle:before { - content: "\f071"; -} -.fa-plane:before { - content: "\f072"; -} -.fa-calendar:before { - content: "\f073"; -} -.fa-random:before { - content: "\f074"; -} -.fa-comment:before { - content: "\f075"; -} -.fa-magnet:before { - content: "\f076"; -} -.fa-chevron-up:before { - content: "\f077"; -} -.fa-chevron-down:before { - content: "\f078"; -} -.fa-retweet:before { - content: "\f079"; -} -.fa-shopping-cart:before { - content: "\f07a"; -} -.fa-folder:before { - content: "\f07b"; -} -.fa-folder-open:before { - content: "\f07c"; -} -.fa-arrows-v:before { - content: "\f07d"; -} -.fa-arrows-h:before { - content: "\f07e"; -} -.fa-bar-chart-o:before, -.fa-bar-chart:before { - content: "\f080"; -} -.fa-twitter-square:before { - content: "\f081"; -} -.fa-facebook-square:before { - content: "\f082"; -} -.fa-camera-retro:before { - content: "\f083"; -} -.fa-key:before { - content: "\f084"; -} -.fa-gears:before, -.fa-cogs:before { - content: "\f085"; -} -.fa-comments:before { - content: "\f086"; -} -.fa-thumbs-o-up:before { - content: "\f087"; -} -.fa-thumbs-o-down:before { - content: "\f088"; -} -.fa-star-half:before { - content: "\f089"; -} -.fa-heart-o:before { - content: "\f08a"; -} -.fa-sign-out:before { - content: "\f08b"; -} -.fa-linkedin-square:before { - content: "\f08c"; -} -.fa-thumb-tack:before { - content: "\f08d"; -} -.fa-external-link:before { - content: "\f08e"; -} -.fa-sign-in:before { - content: "\f090"; -} -.fa-trophy:before { - content: "\f091"; -} -.fa-github-square:before { - content: "\f092"; -} -.fa-upload:before { - content: "\f093"; -} -.fa-lemon-o:before { - content: "\f094"; -} -.fa-phone:before { - content: "\f095"; -} -.fa-square-o:before { - content: "\f096"; -} -.fa-bookmark-o:before { - content: "\f097"; -} -.fa-phone-square:before { - content: "\f098"; -} -.fa-twitter:before { - content: "\f099"; -} -.fa-facebook-f:before, -.fa-facebook:before { - content: "\f09a"; -} -.fa-github:before { - content: "\f09b"; -} -.fa-unlock:before { - content: "\f09c"; -} -.fa-credit-card:before { - content: "\f09d"; -} -.fa-rss:before { - content: "\f09e"; -} -.fa-hdd-o:before { - content: "\f0a0"; -} -.fa-bullhorn:before { - content: "\f0a1"; -} -.fa-bell:before { - content: "\f0f3"; -} -.fa-certificate:before { - content: "\f0a3"; -} -.fa-hand-o-right:before { - content: "\f0a4"; -} -.fa-hand-o-left:before { - content: "\f0a5"; -} -.fa-hand-o-up:before { - content: "\f0a6"; -} -.fa-hand-o-down:before { - content: "\f0a7"; -} -.fa-arrow-circle-left:before { - content: "\f0a8"; -} -.fa-arrow-circle-right:before { - content: "\f0a9"; -} -.fa-arrow-circle-up:before { - content: "\f0aa"; -} -.fa-arrow-circle-down:before { - content: "\f0ab"; -} -.fa-globe:before { - content: "\f0ac"; -} -.fa-wrench:before { - content: "\f0ad"; -} -.fa-tasks:before { - content: "\f0ae"; -} -.fa-filter:before { - content: "\f0b0"; -} -.fa-briefcase:before { - content: "\f0b1"; -} -.fa-arrows-alt:before { - content: "\f0b2"; -} -.fa-group:before, -.fa-users:before { - content: "\f0c0"; -} -.fa-chain:before, -.fa-link:before { - content: "\f0c1"; -} -.fa-cloud:before { - content: "\f0c2"; -} -.fa-flask:before { - content: "\f0c3"; -} -.fa-cut:before, -.fa-scissors:before { - content: "\f0c4"; -} -.fa-copy:before, -.fa-files-o:before { - content: "\f0c5"; -} -.fa-paperclip:before { - content: "\f0c6"; -} -.fa-save:before, -.fa-floppy-o:before { - content: "\f0c7"; -} -.fa-square:before { - content: "\f0c8"; -} -.fa-navicon:before, -.fa-reorder:before, -.fa-bars:before { - content: "\f0c9"; -} -.fa-list-ul:before { - content: "\f0ca"; -} -.fa-list-ol:before { - content: "\f0cb"; -} -.fa-strikethrough:before { - content: "\f0cc"; -} -.fa-underline:before { - content: "\f0cd"; -} -.fa-table:before { - content: "\f0ce"; -} -.fa-magic:before { - content: "\f0d0"; -} -.fa-truck:before { - content: "\f0d1"; -} -.fa-pinterest:before { - content: "\f0d2"; -} -.fa-pinterest-square:before { - content: "\f0d3"; -} -.fa-google-plus-square:before { - content: "\f0d4"; -} -.fa-google-plus:before { - content: "\f0d5"; -} -.fa-money:before { - content: "\f0d6"; -} -.fa-caret-down:before { - content: "\f0d7"; -} -.fa-caret-up:before { - content: "\f0d8"; -} -.fa-caret-left:before { - content: "\f0d9"; -} -.fa-caret-right:before { - content: "\f0da"; -} -.fa-columns:before { - content: "\f0db"; -} -.fa-unsorted:before, -.fa-sort:before { - content: "\f0dc"; -} -.fa-sort-down:before, -.fa-sort-desc:before { - content: "\f0dd"; -} -.fa-sort-up:before, -.fa-sort-asc:before { - content: "\f0de"; -} -.fa-envelope:before { - content: "\f0e0"; -} -.fa-linkedin:before { - content: "\f0e1"; -} -.fa-rotate-left:before, -.fa-undo:before { - content: "\f0e2"; -} -.fa-legal:before, -.fa-gavel:before { - content: "\f0e3"; -} -.fa-dashboard:before, -.fa-tachometer:before { - content: "\f0e4"; -} -.fa-comment-o:before { - content: "\f0e5"; -} -.fa-comments-o:before { - content: "\f0e6"; -} -.fa-flash:before, -.fa-bolt:before { - content: "\f0e7"; -} -.fa-sitemap:before { - content: "\f0e8"; -} -.fa-umbrella:before { - content: "\f0e9"; -} -.fa-paste:before, -.fa-clipboard:before { - content: "\f0ea"; -} -.fa-lightbulb-o:before { - content: "\f0eb"; -} -.fa-exchange:before { - content: "\f0ec"; -} -.fa-cloud-download:before { - content: "\f0ed"; -} -.fa-cloud-upload:before { - content: "\f0ee"; -} -.fa-user-md:before { - content: "\f0f0"; -} -.fa-stethoscope:before { - content: "\f0f1"; -} -.fa-suitcase:before { - content: "\f0f2"; -} -.fa-bell-o:before { - content: "\f0a2"; -} -.fa-coffee:before { - content: "\f0f4"; -} -.fa-cutlery:before { - content: "\f0f5"; -} -.fa-file-text-o:before { - content: "\f0f6"; -} -.fa-building-o:before { - content: "\f0f7"; -} -.fa-hospital-o:before { - content: "\f0f8"; -} -.fa-ambulance:before { - content: "\f0f9"; -} -.fa-medkit:before { - content: "\f0fa"; -} -.fa-fighter-jet:before { - content: "\f0fb"; -} -.fa-beer:before { - content: "\f0fc"; -} -.fa-h-square:before { - content: "\f0fd"; -} -.fa-plus-square:before { - content: "\f0fe"; -} -.fa-angle-double-left:before { - content: "\f100"; -} -.fa-angle-double-right:before { - content: "\f101"; -} -.fa-angle-double-up:before { - content: "\f102"; -} -.fa-angle-double-down:before { - content: "\f103"; -} -.fa-angle-left:before { - content: "\f104"; -} -.fa-angle-right:before { - content: "\f105"; -} -.fa-angle-up:before { - content: "\f106"; -} -.fa-angle-down:before { - content: "\f107"; -} -.fa-desktop:before { - content: "\f108"; -} -.fa-laptop:before { - content: "\f109"; -} -.fa-tablet:before { - content: "\f10a"; -} -.fa-mobile-phone:before, -.fa-mobile:before { - content: "\f10b"; -} -.fa-circle-o:before { - content: "\f10c"; -} -.fa-quote-left:before { - content: "\f10d"; -} -.fa-quote-right:before { - content: "\f10e"; -} -.fa-spinner:before { - content: "\f110"; -} -.fa-circle:before { - content: "\f111"; -} -.fa-mail-reply:before, -.fa-reply:before { - content: "\f112"; -} -.fa-github-alt:before { - content: "\f113"; -} -.fa-folder-o:before { - content: "\f114"; -} -.fa-folder-open-o:before { - content: "\f115"; -} -.fa-smile-o:before { - content: "\f118"; -} -.fa-frown-o:before { - content: "\f119"; -} -.fa-meh-o:before { - content: "\f11a"; -} -.fa-gamepad:before { - content: "\f11b"; -} -.fa-keyboard-o:before { - content: "\f11c"; -} -.fa-flag-o:before { - content: "\f11d"; -} -.fa-flag-checkered:before { - content: "\f11e"; -} -.fa-terminal:before { - content: "\f120"; -} -.fa-code:before { - content: "\f121"; -} -.fa-mail-reply-all:before, -.fa-reply-all:before { - content: "\f122"; -} -.fa-star-half-empty:before, -.fa-star-half-full:before, -.fa-star-half-o:before { - content: "\f123"; -} -.fa-location-arrow:before { - content: "\f124"; -} -.fa-crop:before { - content: "\f125"; -} -.fa-code-fork:before { - content: "\f126"; -} -.fa-unlink:before, -.fa-chain-broken:before { - content: "\f127"; -} -.fa-question:before { - content: "\f128"; -} -.fa-info:before { - content: "\f129"; -} -.fa-exclamation:before { - content: "\f12a"; -} -.fa-superscript:before { - content: "\f12b"; -} -.fa-subscript:before { - content: "\f12c"; -} -.fa-eraser:before { - content: "\f12d"; -} -.fa-puzzle-piece:before { - content: "\f12e"; -} -.fa-microphone:before { - content: "\f130"; -} -.fa-microphone-slash:before { - content: "\f131"; -} -.fa-shield:before { - content: "\f132"; -} -.fa-calendar-o:before { - content: "\f133"; -} -.fa-fire-extinguisher:before { - content: "\f134"; -} -.fa-rocket:before { - content: "\f135"; -} -.fa-maxcdn:before { - content: "\f136"; -} -.fa-chevron-circle-left:before { - content: "\f137"; -} -.fa-chevron-circle-right:before { - content: "\f138"; -} -.fa-chevron-circle-up:before { - content: "\f139"; -} -.fa-chevron-circle-down:before { - content: "\f13a"; -} -.fa-html5:before { - content: "\f13b"; -} -.fa-css3:before { - content: "\f13c"; -} -.fa-anchor:before { - content: "\f13d"; -} -.fa-unlock-alt:before { - content: "\f13e"; -} -.fa-bullseye:before { - content: "\f140"; -} -.fa-ellipsis-h:before { - content: "\f141"; -} -.fa-ellipsis-v:before { - content: "\f142"; -} -.fa-rss-square:before { - content: "\f143"; -} -.fa-play-circle:before { - content: "\f144"; -} -.fa-ticket:before { - content: "\f145"; -} -.fa-minus-square:before { - content: "\f146"; -} -.fa-minus-square-o:before { - content: "\f147"; -} -.fa-level-up:before { - content: "\f148"; -} -.fa-level-down:before { - content: "\f149"; -} -.fa-check-square:before { - content: "\f14a"; -} -.fa-pencil-square:before { - content: "\f14b"; -} -.fa-external-link-square:before { - content: "\f14c"; -} -.fa-share-square:before { - content: "\f14d"; -} -.fa-compass:before { - content: "\f14e"; -} -.fa-toggle-down:before, -.fa-caret-square-o-down:before { - content: "\f150"; -} -.fa-toggle-up:before, -.fa-caret-square-o-up:before { - content: "\f151"; -} -.fa-toggle-right:before, -.fa-caret-square-o-right:before { - content: "\f152"; -} -.fa-euro:before, -.fa-eur:before { - content: "\f153"; -} -.fa-gbp:before { - content: "\f154"; -} -.fa-dollar:before, -.fa-usd:before { - content: "\f155"; -} -.fa-rupee:before, -.fa-inr:before { - content: "\f156"; -} -.fa-cny:before, -.fa-rmb:before, -.fa-yen:before, -.fa-jpy:before { - content: "\f157"; -} -.fa-ruble:before, -.fa-rouble:before, -.fa-rub:before { - content: "\f158"; -} -.fa-won:before, -.fa-krw:before { - content: "\f159"; -} -.fa-bitcoin:before, -.fa-btc:before { - content: "\f15a"; -} -.fa-file:before { - content: "\f15b"; -} -.fa-file-text:before { - content: "\f15c"; -} -.fa-sort-alpha-asc:before { - content: "\f15d"; -} -.fa-sort-alpha-desc:before { - content: "\f15e"; -} -.fa-sort-amount-asc:before { - content: "\f160"; -} -.fa-sort-amount-desc:before { - content: "\f161"; -} -.fa-sort-numeric-asc:before { - content: "\f162"; -} -.fa-sort-numeric-desc:before { - content: "\f163"; -} -.fa-thumbs-up:before { - content: "\f164"; -} -.fa-thumbs-down:before { - content: "\f165"; -} -.fa-youtube-square:before { - content: "\f166"; -} -.fa-youtube:before { - content: "\f167"; -} -.fa-xing:before { - content: "\f168"; -} -.fa-xing-square:before { - content: "\f169"; -} -.fa-youtube-play:before { - content: "\f16a"; -} -.fa-dropbox:before { - content: "\f16b"; -} -.fa-stack-overflow:before { - content: "\f16c"; -} -.fa-instagram:before { - content: "\f16d"; -} -.fa-flickr:before { - content: "\f16e"; -} -.fa-adn:before { - content: "\f170"; -} -.fa-bitbucket:before { - content: "\f171"; -} -.fa-bitbucket-square:before { - content: "\f172"; -} -.fa-tumblr:before { - content: "\f173"; -} -.fa-tumblr-square:before { - content: "\f174"; -} -.fa-long-arrow-down:before { - content: "\f175"; -} -.fa-long-arrow-up:before { - content: "\f176"; -} -.fa-long-arrow-left:before { - content: "\f177"; -} -.fa-long-arrow-right:before { - content: "\f178"; -} -.fa-apple:before { - content: "\f179"; -} -.fa-windows:before { - content: "\f17a"; -} -.fa-android:before { - content: "\f17b"; -} -.fa-linux:before { - content: "\f17c"; -} -.fa-dribbble:before { - content: "\f17d"; -} -.fa-skype:before { - content: "\f17e"; -} -.fa-foursquare:before { - content: "\f180"; -} -.fa-trello:before { - content: "\f181"; -} -.fa-female:before { - content: "\f182"; -} -.fa-male:before { - content: "\f183"; -} -.fa-gittip:before, -.fa-gratipay:before { - content: "\f184"; -} -.fa-sun-o:before { - content: "\f185"; -} -.fa-moon-o:before { - content: "\f186"; -} -.fa-archive:before { - content: "\f187"; -} -.fa-bug:before { - content: "\f188"; -} -.fa-vk:before { - content: "\f189"; -} -.fa-weibo:before { - content: "\f18a"; -} -.fa-renren:before { - content: "\f18b"; -} -.fa-pagelines:before { - content: "\f18c"; -} -.fa-stack-exchange:before { - content: "\f18d"; -} -.fa-arrow-circle-o-right:before { - content: "\f18e"; -} -.fa-arrow-circle-o-left:before { - content: "\f190"; -} -.fa-toggle-left:before, -.fa-caret-square-o-left:before { - content: "\f191"; -} -.fa-dot-circle-o:before { - content: "\f192"; -} -.fa-wheelchair:before { - content: "\f193"; -} -.fa-vimeo-square:before { - content: "\f194"; -} -.fa-turkish-lira:before, -.fa-try:before { - content: "\f195"; -} -.fa-plus-square-o:before { - content: "\f196"; -} -.fa-space-shuttle:before { - content: "\f197"; -} -.fa-slack:before { - content: "\f198"; -} -.fa-envelope-square:before { - content: "\f199"; -} -.fa-wordpress:before { - content: "\f19a"; -} -.fa-openid:before { - content: "\f19b"; -} -.fa-institution:before, -.fa-bank:before, -.fa-university:before { - content: "\f19c"; -} -.fa-mortar-board:before, -.fa-graduation-cap:before { - content: "\f19d"; -} -.fa-yahoo:before { - content: "\f19e"; -} -.fa-google:before { - content: "\f1a0"; -} -.fa-reddit:before { - content: "\f1a1"; -} -.fa-reddit-square:before { - content: "\f1a2"; -} -.fa-stumbleupon-circle:before { - content: "\f1a3"; -} -.fa-stumbleupon:before { - content: "\f1a4"; -} -.fa-delicious:before { - content: "\f1a5"; -} -.fa-digg:before { - content: "\f1a6"; -} -.fa-pied-piper:before { - content: "\f1a7"; -} -.fa-pied-piper-alt:before { - content: "\f1a8"; -} -.fa-drupal:before { - content: "\f1a9"; -} -.fa-joomla:before { - content: "\f1aa"; -} -.fa-language:before { - content: "\f1ab"; -} -.fa-fax:before { - content: "\f1ac"; -} -.fa-building:before { - content: "\f1ad"; -} -.fa-child:before { - content: "\f1ae"; -} -.fa-paw:before { - content: "\f1b0"; -} -.fa-spoon:before { - content: "\f1b1"; -} -.fa-cube:before { - content: "\f1b2"; -} -.fa-cubes:before { - content: "\f1b3"; -} -.fa-behance:before { - content: "\f1b4"; -} -.fa-behance-square:before { - content: "\f1b5"; -} -.fa-steam:before { - content: "\f1b6"; -} -.fa-steam-square:before { - content: "\f1b7"; -} -.fa-recycle:before { - content: "\f1b8"; -} -.fa-automobile:before, -.fa-car:before { - content: "\f1b9"; -} -.fa-cab:before, -.fa-taxi:before { - content: "\f1ba"; -} -.fa-tree:before { - content: "\f1bb"; -} -.fa-spotify:before { - content: "\f1bc"; -} -.fa-deviantart:before { - content: "\f1bd"; -} -.fa-soundcloud:before { - content: "\f1be"; -} -.fa-database:before { - content: "\f1c0"; -} -.fa-file-pdf-o:before { - content: "\f1c1"; -} -.fa-file-word-o:before { - content: "\f1c2"; -} -.fa-file-excel-o:before { - content: "\f1c3"; -} -.fa-file-powerpoint-o:before { - content: "\f1c4"; -} -.fa-file-photo-o:before, -.fa-file-picture-o:before, -.fa-file-image-o:before { - content: "\f1c5"; -} -.fa-file-zip-o:before, -.fa-file-archive-o:before { - content: "\f1c6"; -} -.fa-file-sound-o:before, -.fa-file-audio-o:before { - content: "\f1c7"; -} -.fa-file-movie-o:before, -.fa-file-video-o:before { - content: "\f1c8"; -} -.fa-file-code-o:before { - content: "\f1c9"; -} -.fa-vine:before { - content: "\f1ca"; -} -.fa-codepen:before { - content: "\f1cb"; -} -.fa-jsfiddle:before { - content: "\f1cc"; -} -.fa-life-bouy:before, -.fa-life-buoy:before, -.fa-life-saver:before, -.fa-support:before, -.fa-life-ring:before { - content: "\f1cd"; -} -.fa-circle-o-notch:before { - content: "\f1ce"; -} -.fa-ra:before, -.fa-rebel:before { - content: "\f1d0"; -} -.fa-ge:before, -.fa-empire:before { - content: "\f1d1"; -} -.fa-git-square:before { - content: "\f1d2"; -} -.fa-git:before { - content: "\f1d3"; -} -.fa-hacker-news:before { - content: "\f1d4"; -} -.fa-tencent-weibo:before { - content: "\f1d5"; -} -.fa-qq:before { - content: "\f1d6"; -} -.fa-wechat:before, -.fa-weixin:before { - content: "\f1d7"; -} -.fa-send:before, -.fa-paper-plane:before { - content: "\f1d8"; -} -.fa-send-o:before, -.fa-paper-plane-o:before { - content: "\f1d9"; -} -.fa-history:before { - content: "\f1da"; -} -.fa-genderless:before, -.fa-circle-thin:before { - content: "\f1db"; -} -.fa-header:before { - content: "\f1dc"; -} -.fa-paragraph:before { - content: "\f1dd"; -} -.fa-sliders:before { - content: "\f1de"; -} -.fa-share-alt:before { - content: "\f1e0"; -} -.fa-share-alt-square:before { - content: "\f1e1"; -} -.fa-bomb:before { - content: "\f1e2"; -} -.fa-soccer-ball-o:before, -.fa-futbol-o:before { - content: "\f1e3"; -} -.fa-tty:before { - content: "\f1e4"; -} -.fa-binoculars:before { - content: "\f1e5"; -} -.fa-plug:before { - content: "\f1e6"; -} -.fa-slideshare:before { - content: "\f1e7"; -} -.fa-twitch:before { - content: "\f1e8"; -} -.fa-yelp:before { - content: "\f1e9"; -} -.fa-newspaper-o:before { - content: "\f1ea"; -} -.fa-wifi:before { - content: "\f1eb"; -} -.fa-calculator:before { - content: "\f1ec"; -} -.fa-paypal:before { - content: "\f1ed"; -} -.fa-google-wallet:before { - content: "\f1ee"; -} -.fa-cc-visa:before { - content: "\f1f0"; -} -.fa-cc-mastercard:before { - content: "\f1f1"; -} -.fa-cc-discover:before { - content: "\f1f2"; -} -.fa-cc-amex:before { - content: "\f1f3"; -} -.fa-cc-paypal:before { - content: "\f1f4"; -} -.fa-cc-stripe:before { - content: "\f1f5"; -} -.fa-bell-slash:before { - content: "\f1f6"; -} -.fa-bell-slash-o:before { - content: "\f1f7"; -} -.fa-trash:before { - content: "\f1f8"; -} -.fa-copyright:before { - content: "\f1f9"; -} -.fa-at:before { - content: "\f1fa"; -} -.fa-eyedropper:before { - content: "\f1fb"; -} -.fa-paint-brush:before { - content: "\f1fc"; -} -.fa-birthday-cake:before { - content: "\f1fd"; -} -.fa-area-chart:before { - content: "\f1fe"; -} -.fa-pie-chart:before { - content: "\f200"; -} -.fa-line-chart:before { - content: "\f201"; -} -.fa-lastfm:before { - content: "\f202"; -} -.fa-lastfm-square:before { - content: "\f203"; -} -.fa-toggle-off:before { - content: "\f204"; -} -.fa-toggle-on:before { - content: "\f205"; -} -.fa-bicycle:before { - content: "\f206"; -} -.fa-bus:before { - content: "\f207"; -} -.fa-ioxhost:before { - content: "\f208"; -} -.fa-angellist:before { - content: "\f209"; -} -.fa-cc:before { - content: "\f20a"; -} -.fa-shekel:before, -.fa-sheqel:before, -.fa-ils:before { - content: "\f20b"; -} -.fa-meanpath:before { - content: "\f20c"; -} -.fa-buysellads:before { - content: "\f20d"; -} -.fa-connectdevelop:before { - content: "\f20e"; -} -.fa-dashcube:before { - content: "\f210"; -} -.fa-forumbee:before { - content: "\f211"; -} -.fa-leanpub:before { - content: "\f212"; -} -.fa-sellsy:before { - content: "\f213"; -} -.fa-shirtsinbulk:before { - content: "\f214"; -} -.fa-simplybuilt:before { - content: "\f215"; -} -.fa-skyatlas:before { - content: "\f216"; -} -.fa-cart-plus:before { - content: "\f217"; -} -.fa-cart-arrow-down:before { - content: "\f218"; -} -.fa-diamond:before { - content: "\f219"; -} -.fa-ship:before { - content: "\f21a"; -} -.fa-user-secret:before { - content: "\f21b"; -} -.fa-motorcycle:before { - content: "\f21c"; -} -.fa-street-view:before { - content: "\f21d"; -} -.fa-heartbeat:before { - content: "\f21e"; -} -.fa-venus:before { - content: "\f221"; -} -.fa-mars:before { - content: "\f222"; -} -.fa-mercury:before { - content: "\f223"; -} -.fa-transgender:before { - content: "\f224"; -} -.fa-transgender-alt:before { - content: "\f225"; -} -.fa-venus-double:before { - content: "\f226"; -} -.fa-mars-double:before { - content: "\f227"; -} -.fa-venus-mars:before { - content: "\f228"; -} -.fa-mars-stroke:before { - content: "\f229"; -} -.fa-mars-stroke-v:before { - content: "\f22a"; -} -.fa-mars-stroke-h:before { - content: "\f22b"; -} -.fa-neuter:before { - content: "\f22c"; -} -.fa-facebook-official:before { - content: "\f230"; -} -.fa-pinterest-p:before { - content: "\f231"; -} -.fa-whatsapp:before { - content: "\f232"; -} -.fa-server:before { - content: "\f233"; -} -.fa-user-plus:before { - content: "\f234"; -} -.fa-user-times:before { - content: "\f235"; -} -.fa-hotel:before, -.fa-bed:before { - content: "\f236"; -} -.fa-viacoin:before { - content: "\f237"; -} -.fa-train:before { - content: "\f238"; -} -.fa-subway:before { - content: "\f239"; -} -.fa-medium:before { - content: "\f23a"; -} diff --git a/common/static/fonts/vendor/FontAwesome.otf b/common/static/fonts/vendor/FontAwesome.otf deleted file mode 100644 index f7936cc1e789..000000000000 Binary files a/common/static/fonts/vendor/FontAwesome.otf and /dev/null differ diff --git a/common/static/fonts/vendor/fontawesome-webfont.eot b/common/static/fonts/vendor/fontawesome-webfont.eot deleted file mode 100644 index 33b2bb80055c..000000000000 Binary files a/common/static/fonts/vendor/fontawesome-webfont.eot and /dev/null differ diff --git a/common/static/fonts/vendor/fontawesome-webfont.svg b/common/static/fonts/vendor/fontawesome-webfont.svg deleted file mode 100644 index 1ee89d4368d3..000000000000 --- a/common/static/fonts/vendor/fontawesome-webfont.svg +++ /dev/null @@ -1,565 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/common/static/fonts/vendor/fontawesome-webfont.ttf b/common/static/fonts/vendor/fontawesome-webfont.ttf deleted file mode 100644 index ed9372f8ea0f..000000000000 Binary files a/common/static/fonts/vendor/fontawesome-webfont.ttf and /dev/null differ diff --git a/common/static/fonts/vendor/fontawesome-webfont.woff b/common/static/fonts/vendor/fontawesome-webfont.woff deleted file mode 100644 index 8b280b98fa2f..000000000000 Binary files a/common/static/fonts/vendor/fontawesome-webfont.woff and /dev/null differ diff --git a/common/static/sass/bourbon/_bourbon-deprecated-upcoming.scss b/common/static/sass/bourbon/_bourbon-deprecated-upcoming.scss deleted file mode 100644 index f946b3b456d1..000000000000 --- a/common/static/sass/bourbon/_bourbon-deprecated-upcoming.scss +++ /dev/null @@ -1,8 +0,0 @@ -//************************************************************************// -// These mixins/functions are deprecated -// They will be removed in the next MAJOR version release -//************************************************************************// -@mixin inline-block { - display: inline-block; - @warn "inline-block mixin is deprecated and will be removed in the next major version release"; -} diff --git a/common/static/sass/bourbon/_bourbon.scss b/common/static/sass/bourbon/_bourbon.scss deleted file mode 100644 index eea6e21e9ed8..000000000000 --- a/common/static/sass/bourbon/_bourbon.scss +++ /dev/null @@ -1,79 +0,0 @@ -// Settings -@import "settings/prefixer"; -@import "settings/px-to-em"; -@import "settings/asset-pipeline"; - -// Custom Helpers -@import "helpers/convert-units"; -@import "helpers/gradient-positions-parser"; -@import "helpers/is-num"; -@import "helpers/linear-angle-parser"; -@import "helpers/linear-gradient-parser"; -@import "helpers/linear-positions-parser"; -@import "helpers/linear-side-corner-parser"; -@import "helpers/radial-arg-parser"; -@import "helpers/radial-positions-parser"; -@import "helpers/radial-gradient-parser"; -@import "helpers/render-gradients"; -@import "helpers/shape-size-stripper"; -@import "helpers/str-to-num"; - -// Custom Functions -@import "functions/assign"; -@import "functions/color-lightness"; -@import "functions/flex-grid"; -@import "functions/golden-ratio"; -@import "functions/grid-width"; -@import "functions/modular-scale"; -@import "functions/px-to-em"; -@import "functions/px-to-rem"; -@import "functions/strip-units"; -@import "functions/tint-shade"; -@import "functions/transition-property-name"; -@import "functions/unpack"; - -// CSS3 Mixins -@import "css3/animation"; -@import "css3/appearance"; -@import "css3/backface-visibility"; -@import "css3/background"; -@import "css3/background-image"; -@import "css3/border-image"; -@import "css3/border-radius"; -@import "css3/box-sizing"; -@import "css3/calc"; -@import "css3/columns"; -@import "css3/filter"; -@import "css3/flex-box"; -@import "css3/font-face"; -@import "css3/font-feature-settings"; -@import "css3/hyphens"; -@import "css3/hidpi-media-query"; -@import "css3/image-rendering"; -@import "css3/keyframes"; -@import "css3/linear-gradient"; -@import "css3/perspective"; -@import "css3/radial-gradient"; -@import "css3/transform"; -@import "css3/transition"; -@import "css3/user-select"; -@import "css3/placeholder"; - -// Addons & other mixins -@import "addons/button"; -@import "addons/clearfix"; -@import "addons/directional-values"; -@import "addons/ellipsis"; -@import "addons/font-family"; -@import "addons/hide-text"; -@import "addons/html5-input-types"; -@import "addons/position"; -@import "addons/prefixer"; -@import "addons/retina-image"; -@import "addons/size"; -@import "addons/timing-functions"; -@import "addons/triangle"; -@import "addons/word-wrap"; - -// Soon to be deprecated Mixins -@import "bourbon-deprecated-upcoming"; diff --git a/common/static/sass/bourbon/addons/_button.scss b/common/static/sass/bourbon/addons/_button.scss deleted file mode 100644 index 14a89e480c15..000000000000 --- a/common/static/sass/bourbon/addons/_button.scss +++ /dev/null @@ -1,374 +0,0 @@ -@mixin button ($style: simple, $base-color: #4294f0, $text-size: inherit, $padding: 7px 18px) { - - @if type-of($style) == string and type-of($base-color) == color { - @include buttonstyle($style, $base-color, $text-size, $padding); - } - - @if type-of($style) == string and type-of($base-color) == number { - $padding: $text-size; - $text-size: $base-color; - $base-color: #4294f0; - - @if $padding == inherit { - $padding: 7px 18px; - } - - @include buttonstyle($style, $base-color, $text-size, $padding); - } - - @if type-of($style) == color and type-of($base-color) == color { - $base-color: $style; - $style: simple; - @include buttonstyle($style, $base-color, $text-size, $padding); - } - - @if type-of($style) == color and type-of($base-color) == number { - $padding: $text-size; - $text-size: $base-color; - $base-color: $style; - $style: simple; - - @if $padding == inherit { - $padding: 7px 18px; - } - - @include buttonstyle($style, $base-color, $text-size, $padding); - } - - @if type-of($style) == number { - $padding: $base-color; - $text-size: $style; - $base-color: #4294f0; - $style: simple; - - @if $padding == #4294f0 { - $padding: 7px 18px; - } - - @include buttonstyle($style, $base-color, $text-size, $padding); - } - - &:disabled { - opacity: 0.5; - cursor: not-allowed; - } -} - - -// Selector Style Button -//************************************************************************// -@mixin buttonstyle($type, $b-color, $t-size, $pad) { - // Grayscale button - @if $type == simple and $b-color == grayscale($b-color) { - @include simple($b-color, true, $t-size, $pad); - } - - @if $type == shiny and $b-color == grayscale($b-color) { - @include shiny($b-color, true, $t-size, $pad); - } - - @if $type == pill and $b-color == grayscale($b-color) { - @include pill($b-color, true, $t-size, $pad); - } - - @if $type == flat and $b-color == grayscale($b-color) { - @include flat($b-color, true, $t-size, $pad); - } - - // Colored button - @if $type == simple { - @include simple($b-color, false, $t-size, $pad); - } - - @else if $type == shiny { - @include shiny($b-color, false, $t-size, $pad); - } - - @else if $type == pill { - @include pill($b-color, false, $t-size, $pad); - } - - @else if $type == flat { - @include flat($b-color, false, $t-size, $pad); - } -} - - -// Simple Button -//************************************************************************// -@mixin simple($base-color, $grayscale: false, $textsize: inherit, $padding: 7px 18px) { - $color: hsl(0, 0, 100%); - $border: adjust-color($base-color, $saturation: 9%, $lightness: -14%); - $inset-shadow: adjust-color($base-color, $saturation: -8%, $lightness: 15%); - $stop-gradient: adjust-color($base-color, $saturation: 9%, $lightness: -11%); - $text-shadow: adjust-color($base-color, $saturation: 15%, $lightness: -18%); - - @if is-light($base-color) { - $color: hsl(0, 0, 20%); - $text-shadow: adjust-color($base-color, $saturation: 10%, $lightness: 4%); - } - - @if $grayscale == true { - $border: grayscale($border); - $inset-shadow: grayscale($inset-shadow); - $stop-gradient: grayscale($stop-gradient); - $text-shadow: grayscale($text-shadow); - } - - border: 1px solid $border; - border-radius: 3px; - box-shadow: inset 0 1px 0 0 $inset-shadow; - color: $color; - display: inline-block; - font-size: $textsize; - font-weight: bold; - @include linear-gradient ($base-color, $stop-gradient); - padding: $padding; - text-decoration: none; - text-shadow: 0 1px 0 $text-shadow; - background-clip: padding-box; - - &:hover:not(:disabled) { - $base-color-hover: adjust-color($base-color, $saturation: -4%, $lightness: -5%); - $inset-shadow-hover: adjust-color($base-color, $saturation: -7%, $lightness: 5%); - $stop-gradient-hover: adjust-color($base-color, $saturation: 8%, $lightness: -14%); - - @if $grayscale == true { - $base-color-hover: grayscale($base-color-hover); - $inset-shadow-hover: grayscale($inset-shadow-hover); - $stop-gradient-hover: grayscale($stop-gradient-hover); - } - - box-shadow: inset 0 1px 0 0 $inset-shadow-hover; - cursor: pointer; - @include linear-gradient ($base-color-hover, $stop-gradient-hover); - } - - &:active:not(:disabled), - &:focus:not(:disabled) { - $border-active: adjust-color($base-color, $saturation: 9%, $lightness: -14%); - $inset-shadow-active: adjust-color($base-color, $saturation: 7%, $lightness: -17%); - - @if $grayscale == true { - $border-active: grayscale($border-active); - $inset-shadow-active: grayscale($inset-shadow-active); - } - - border: 1px solid $border-active; - box-shadow: inset 0 0 8px 4px $inset-shadow-active, inset 0 0 8px 4px $inset-shadow-active; - } -} - - -// Shiny Button -//************************************************************************// -@mixin shiny($base-color, $grayscale: false, $textsize: inherit, $padding: 7px 18px) { - $color: hsl(0, 0, 100%); - $border: adjust-color($base-color, $red: -117, $green: -111, $blue: -81); - $border-bottom: adjust-color($base-color, $red: -126, $green: -127, $blue: -122); - $fourth-stop: adjust-color($base-color, $red: -79, $green: -70, $blue: -46); - $inset-shadow: adjust-color($base-color, $red: 37, $green: 29, $blue: 12); - $second-stop: adjust-color($base-color, $red: -56, $green: -50, $blue: -33); - $text-shadow: adjust-color($base-color, $red: -140, $green: -141, $blue: -114); - $third-stop: adjust-color($base-color, $red: -86, $green: -75, $blue: -48); - - @if is-light($base-color) { - $color: hsl(0, 0, 20%); - $text-shadow: adjust-color($base-color, $saturation: 10%, $lightness: 4%); - } - - @if $grayscale == true { - $border: grayscale($border); - $border-bottom: grayscale($border-bottom); - $fourth-stop: grayscale($fourth-stop); - $inset-shadow: grayscale($inset-shadow); - $second-stop: grayscale($second-stop); - $text-shadow: grayscale($text-shadow); - $third-stop: grayscale($third-stop); - } - - border: 1px solid $border; - border-bottom: 1px solid $border-bottom; - border-radius: 5px; - box-shadow: inset 0 1px 0 0 $inset-shadow; - color: $color; - display: inline-block; - font-size: $textsize; - font-weight: bold; - @include linear-gradient(top, $base-color 0%, $second-stop 50%, $third-stop 50%, $fourth-stop 100%); - padding: $padding; - text-align: center; - text-decoration: none; - text-shadow: 0 -1px 1px $text-shadow; - - &:hover:not(:disabled) { - $first-stop-hover: adjust-color($base-color, $red: -13, $green: -15, $blue: -18); - $second-stop-hover: adjust-color($base-color, $red: -66, $green: -62, $blue: -51); - $third-stop-hover: adjust-color($base-color, $red: -93, $green: -85, $blue: -66); - $fourth-stop-hover: adjust-color($base-color, $red: -86, $green: -80, $blue: -63); - - @if $grayscale == true { - $first-stop-hover: grayscale($first-stop-hover); - $second-stop-hover: grayscale($second-stop-hover); - $third-stop-hover: grayscale($third-stop-hover); - $fourth-stop-hover: grayscale($fourth-stop-hover); - } - - cursor: pointer; - @include linear-gradient(top, $first-stop-hover 0%, - $second-stop-hover 50%, - $third-stop-hover 50%, - $fourth-stop-hover 100%); - } - - &:active:not(:disabled), - &:focus:not(:disabled) { - $inset-shadow-active: adjust-color($base-color, $red: -111, $green: -116, $blue: -122); - - @if $grayscale == true { - $inset-shadow-active: grayscale($inset-shadow-active); - } - - box-shadow: inset 0 0 20px 0 $inset-shadow-active; - } -} - - -// Pill Button -//************************************************************************// -@mixin pill($base-color, $grayscale: false, $textsize: inherit, $padding: 7px 18px) { - $color: hsl(0, 0, 100%); - $border-bottom: adjust-color($base-color, $hue: 8, $saturation: -11%, $lightness: -26%); - $border-sides: adjust-color($base-color, $hue: 4, $saturation: -21%, $lightness: -21%); - $border-top: adjust-color($base-color, $hue: -1, $saturation: -30%, $lightness: -15%); - $inset-shadow: adjust-color($base-color, $hue: -1, $saturation: -1%, $lightness: 7%); - $stop-gradient: adjust-color($base-color, $hue: 8, $saturation: 14%, $lightness: -10%); - $text-shadow: adjust-color($base-color, $hue: 5, $saturation: -19%, $lightness: -15%); - - @if is-light($base-color) { - $color: hsl(0, 0, 20%); - $text-shadow: adjust-color($base-color, $saturation: 10%, $lightness: 4%); - } - - @if $grayscale == true { - $border-bottom: grayscale($border-bottom); - $border-sides: grayscale($border-sides); - $border-top: grayscale($border-top); - $inset-shadow: grayscale($inset-shadow); - $stop-gradient: grayscale($stop-gradient); - $text-shadow: grayscale($text-shadow); - } - - border: 1px solid $border-top; - border-color: $border-top $border-sides $border-bottom; - border-radius: 16px; - box-shadow: inset 0 1px 0 0 $inset-shadow; - color: $color; - display: inline-block; - font-size: $textsize; - font-weight: normal; - line-height: 1; - @include linear-gradient ($base-color, $stop-gradient); - padding: $padding; - text-align: center; - text-decoration: none; - text-shadow: 0 -1px 1px $text-shadow; - background-clip: padding-box; - - &:hover:not(:disabled) { - $base-color-hover: adjust-color($base-color, $lightness: -4.5%); - $border-bottom: adjust-color($base-color, $hue: 8, $saturation: 13.5%, $lightness: -32%); - $border-sides: adjust-color($base-color, $hue: 4, $saturation: -2%, $lightness: -27%); - $border-top: adjust-color($base-color, $hue: -1, $saturation: -17%, $lightness: -21%); - $inset-shadow-hover: adjust-color($base-color, $saturation: -1%, $lightness: 3%); - $stop-gradient-hover: adjust-color($base-color, $hue: 8, $saturation: -4%, $lightness: -15.5%); - $text-shadow-hover: adjust-color($base-color, $hue: 5, $saturation: -5%, $lightness: -22%); - - @if $grayscale == true { - $base-color-hover: grayscale($base-color-hover); - $border-bottom: grayscale($border-bottom); - $border-sides: grayscale($border-sides); - $border-top: grayscale($border-top); - $inset-shadow-hover: grayscale($inset-shadow-hover); - $stop-gradient-hover: grayscale($stop-gradient-hover); - $text-shadow-hover: grayscale($text-shadow-hover); - } - - border: 1px solid $border-top; - border-color: $border-top $border-sides $border-bottom; - box-shadow: inset 0 1px 0 0 $inset-shadow-hover; - cursor: pointer; - @include linear-gradient ($base-color-hover, $stop-gradient-hover); - text-shadow: 0 -1px 1px $text-shadow-hover; - background-clip: padding-box; - } - - &:active:not(:disabled), - &:focus:not(:disabled) { - $active-color: adjust-color($base-color, $hue: 4, $saturation: -12%, $lightness: -10%); - $border-active: adjust-color($base-color, $hue: 6, $saturation: -2.5%, $lightness: -30%); - $border-bottom-active: adjust-color($base-color, $hue: 11, $saturation: 6%, $lightness: -31%); - $inset-shadow-active: adjust-color($base-color, $hue: 9, $saturation: 2%, $lightness: -21.5%); - $text-shadow-active: adjust-color($base-color, $hue: 5, $saturation: -12%, $lightness: -21.5%); - - @if $grayscale == true { - $active-color: grayscale($active-color); - $border-active: grayscale($border-active); - $border-bottom-active: grayscale($border-bottom-active); - $inset-shadow-active: grayscale($inset-shadow-active); - $text-shadow-active: grayscale($text-shadow-active); - } - - background: $active-color; - border: 1px solid $border-active; - border-bottom: 1px solid $border-bottom-active; - box-shadow: inset 0 0 6px 3px $inset-shadow-active; - text-shadow: 0 -1px 1px $text-shadow-active; - } -} - - - -// Flat Button -//************************************************************************// -@mixin flat($base-color, $grayscale: false, $textsize: inherit, $padding: 7px 18px) { - $color: hsl(0, 0, 100%); - - @if is-light($base-color) { - $color: hsl(0, 0, 20%); - } - - background-color: $base-color; - border-radius: 3px; - border: none; - color: $color; - display: inline-block; - font-size: inherit; - font-weight: bold; - padding: 7px 18px; - text-decoration: none; - background-clip: padding-box; - - &:hover:not(:disabled){ - $base-color-hover: adjust-color($base-color, $saturation: 4%, $lightness: 5%); - - @if $grayscale == true { - $base-color-hover: grayscale($base-color-hover); - } - - background-color: $base-color-hover; - cursor: pointer; - } - - &:active:not(:disabled), - &:focus:not(:disabled) { - $base-color-active: adjust-color($base-color, $saturation: -4%, $lightness: -5%); - - @if $grayscale == true { - $base-color-active: grayscale($base-color-active); - } - - background-color: $base-color-active; - cursor: pointer; - } -} diff --git a/common/static/sass/bourbon/addons/_clearfix.scss b/common/static/sass/bourbon/addons/_clearfix.scss deleted file mode 100644 index 783cfbc79227..000000000000 --- a/common/static/sass/bourbon/addons/_clearfix.scss +++ /dev/null @@ -1,23 +0,0 @@ -// Modern micro clearfix provides an easy way to contain floats without adding additional markup. -// -// Example usage: -// -// // Contain all floats within .wrapper -// .wrapper { -// @include clearfix; -// .content, -// .sidebar { -// float : left; -// } -// } - -@mixin clearfix { - &:after { - content:""; - display:table; - clear:both; - } -} - -// Acknowledgements -// Beat *that* clearfix: [Thierry Koblentz](http://www.css-101.org/articles/clearfix/latest-new-clearfix-so-far.php) diff --git a/common/static/sass/bourbon/addons/_directional-values.scss b/common/static/sass/bourbon/addons/_directional-values.scss deleted file mode 100644 index 742f1031a484..000000000000 --- a/common/static/sass/bourbon/addons/_directional-values.scss +++ /dev/null @@ -1,111 +0,0 @@ -// directional-property mixins are shorthands -// for writing properties like the following -// -// @include margin(null 0 10px); -// ------ -// margin-right: 0; -// margin-bottom: 10px; -// margin-left: 0; -// -// - or - -// -// @include border-style(dotted null); -// ------ -// border-top-style: dotted; -// border-bottom-style: dotted; -// -// ------ -// -// Note: You can also use false instead of null - -@function collapse-directionals($vals) { - $output: null; - - $A: nth( $vals, 1 ); - $B: if( length($vals) < 2, $A, nth($vals, 2)); - $C: if( length($vals) < 3, $A, nth($vals, 3)); - $D: if( length($vals) < 2, $A, nth($vals, if( length($vals) < 4, 2, 4) )); - - @if $A == 0 { $A: 0 } - @if $B == 0 { $B: 0 } - @if $C == 0 { $C: 0 } - @if $D == 0 { $D: 0 } - - @if $A == $B and $A == $C and $A == $D { $output: $A } - @else if $A == $C and $B == $D { $output: $A $B } - @else if $B == $D { $output: $A $B $C } - @else { $output: $A $B $C $D } - - @return $output; -} - -@function contains-falsy($list) { - @each $item in $list { - @if not $item { - @return true; - } - } - - @return false; -} - -@mixin directional-property($pre, $suf, $vals) { - // Property Names - $top: $pre + "-top" + if($suf, "-#{$suf}", ""); - $bottom: $pre + "-bottom" + if($suf, "-#{$suf}", ""); - $left: $pre + "-left" + if($suf, "-#{$suf}", ""); - $right: $pre + "-right" + if($suf, "-#{$suf}", ""); - $all: $pre + if($suf, "-#{$suf}", ""); - - $vals: collapse-directionals($vals); - - @if contains-falsy($vals) { - @if nth($vals, 1) { #{$top}: nth($vals, 1); } - - @if length($vals) == 1 { - @if nth($vals, 1) { #{$right}: nth($vals, 1); } - } @else { - @if nth($vals, 2) { #{$right}: nth($vals, 2); } - } - - // prop: top/bottom right/left - @if length($vals) == 2 { - @if nth($vals, 1) { #{$bottom}: nth($vals, 1); } - @if nth($vals, 2) { #{$left}: nth($vals, 2); } - - // prop: top right/left bottom - } @else if length($vals) == 3 { - @if nth($vals, 3) { #{$bottom}: nth($vals, 3); } - @if nth($vals, 2) { #{$left}: nth($vals, 2); } - - // prop: top right bottom left - } @else if length($vals) == 4 { - @if nth($vals, 3) { #{$bottom}: nth($vals, 3); } - @if nth($vals, 4) { #{$left}: nth($vals, 4); } - } - - // prop: top/right/bottom/left - } @else { - #{$all}: $vals; - } -} - -@mixin margin($vals...) { - @include directional-property(margin, false, $vals...); -} - -@mixin padding($vals...) { - @include directional-property(padding, false, $vals...); -} - -@mixin border-style($vals...) { - @include directional-property(border, style, $vals...); -} - -@mixin border-color($vals...) { - @include directional-property(border, color, $vals...); -} - -@mixin border-width($vals...) { - @include directional-property(border, width, $vals...); -} diff --git a/common/static/sass/bourbon/addons/_ellipsis.scss b/common/static/sass/bourbon/addons/_ellipsis.scss deleted file mode 100644 index a8ea2a4a867d..000000000000 --- a/common/static/sass/bourbon/addons/_ellipsis.scss +++ /dev/null @@ -1,7 +0,0 @@ -@mixin ellipsis($width: 100%) { - display: inline-block; - max-width: $width; - overflow: hidden; - text-overflow: ellipsis; - white-space: nowrap; -} diff --git a/common/static/sass/bourbon/addons/_font-family.scss b/common/static/sass/bourbon/addons/_font-family.scss deleted file mode 100644 index 31f5d9ca75c5..000000000000 --- a/common/static/sass/bourbon/addons/_font-family.scss +++ /dev/null @@ -1,5 +0,0 @@ -$georgia: Georgia, Cambria, "Times New Roman", Times, serif; -$helvetica: "Helvetica Neue", Helvetica, Roboto, Arial, sans-serif; -$lucida-grande: "Lucida Grande", Tahoma, Verdana, Arial, sans-serif; -$monospace: "Bitstream Vera Sans Mono", Consolas, Courier, monospace; -$verdana: Verdana, Geneva, sans-serif; diff --git a/common/static/sass/bourbon/addons/_hide-text.scss b/common/static/sass/bourbon/addons/_hide-text.scss deleted file mode 100644 index fc7943811d3c..000000000000 --- a/common/static/sass/bourbon/addons/_hide-text.scss +++ /dev/null @@ -1,10 +0,0 @@ -@mixin hide-text { - overflow: hidden; - - &:before { - content: ""; - display: block; - width: 0; - height: 100%; - } -} diff --git a/common/static/sass/bourbon/addons/_html5-input-types.scss b/common/static/sass/bourbon/addons/_html5-input-types.scss deleted file mode 100644 index 9e9324ae0a70..000000000000 --- a/common/static/sass/bourbon/addons/_html5-input-types.scss +++ /dev/null @@ -1,86 +0,0 @@ -//************************************************************************// -// Generate a variable ($all-text-inputs) with a list of all html5 -// input types that have a text-based input, excluding textarea. -// http://diveintohtml5.org/forms.html -//************************************************************************// -$inputs-list: 'input[type="email"]', - 'input[type="number"]', - 'input[type="password"]', - 'input[type="search"]', - 'input[type="tel"]', - 'input[type="text"]', - 'input[type="url"]', - - // Webkit & Gecko may change the display of these in the future - 'input[type="color"]', - 'input[type="date"]', - 'input[type="datetime"]', - 'input[type="datetime-local"]', - 'input[type="month"]', - 'input[type="time"]', - 'input[type="week"]'; - -// Bare inputs -//************************************************************************// -$all-text-inputs: assign-inputs($inputs-list); - -// Hover Pseudo-class -//************************************************************************// -$all-text-inputs-hover: assign-inputs($inputs-list, hover); - -// Focus Pseudo-class -//************************************************************************// -$all-text-inputs-focus: assign-inputs($inputs-list, focus); - - - -// You must use interpolation on the variable: -// #{$all-text-inputs} -// #{$all-text-inputs-hover} -// #{$all-text-inputs-focus} - -// Example -//************************************************************************// -// #{$all-text-inputs}, textarea { -// border: 1px solid red; -// } - - - -//************************************************************************// -// Generate a variable ($all-button-inputs) with a list of all html5 -// input types that have a button-based input, excluding button. -//************************************************************************// -$inputs-button-list: 'input[type="button"]', - 'input[type="reset"]', - 'input[type="submit"]'; - -// Bare inputs -//************************************************************************// -$all-button-inputs: assign-inputs($inputs-button-list); - -// Hover Pseudo-class -//************************************************************************// -$all-button-inputs-hover: assign-inputs($inputs-button-list, hover); - -// Focus Pseudo-class -//************************************************************************// -$all-button-inputs-focus: assign-inputs($inputs-button-list, focus); - -// Active Pseudo-class -//************************************************************************// -$all-button-inputs-active: assign-inputs($inputs-button-list, active); - - - -// You must use interpolation on the variable: -// #{$all-button-inputs} -// #{$all-button-inputs-hover} -// #{$all-button-inputs-focus} -// #{$all-button-inputs-active} - -// Example -//************************************************************************// -// #{$all-button-inputs}, button { -// border: 1px solid red; -// } diff --git a/common/static/sass/bourbon/addons/_position.scss b/common/static/sass/bourbon/addons/_position.scss deleted file mode 100644 index 7de75182bc0b..000000000000 --- a/common/static/sass/bourbon/addons/_position.scss +++ /dev/null @@ -1,32 +0,0 @@ -@mixin position ($position: relative, $coordinates: null null null null) { - - @if type-of($position) == list { - $coordinates: $position; - $position: relative; - } - - $coordinates: unpack($coordinates); - - $top: nth($coordinates, 1); - $right: nth($coordinates, 2); - $bottom: nth($coordinates, 3); - $left: nth($coordinates, 4); - - position: $position; - - @if ($top and $top == auto) or (type-of($top) == number) { - top: $top; - } - - @if ($right and $right == auto) or (type-of($right) == number) { - right: $right; - } - - @if ($bottom and $bottom == auto) or (type-of($bottom) == number) { - bottom: $bottom; - } - - @if ($left and $left == auto) or (type-of($left) == number) { - left: $left; - } -} diff --git a/common/static/sass/bourbon/addons/_prefixer.scss b/common/static/sass/bourbon/addons/_prefixer.scss deleted file mode 100644 index c32f502758f2..000000000000 --- a/common/static/sass/bourbon/addons/_prefixer.scss +++ /dev/null @@ -1,45 +0,0 @@ -//************************************************************************// -// Example: @include prefixer(border-radius, $radii, webkit ms spec); -//************************************************************************// -// Variables located in /settings/_prefixer.scss - -@mixin prefixer ($property, $value, $prefixes) { - @each $prefix in $prefixes { - @if $prefix == webkit { - @if $prefix-for-webkit { - -webkit-#{$property}: $value; - } - } - @else if $prefix == moz { - @if $prefix-for-mozilla { - -moz-#{$property}: $value; - } - } - @else if $prefix == ms { - @if $prefix-for-microsoft { - -ms-#{$property}: $value; - } - } - @else if $prefix == o { - @if $prefix-for-opera { - -o-#{$property}: $value; - } - } - @else if $prefix == spec { - @if $prefix-for-spec { - #{$property}: $value; - } - } - @else { - @warn "Unrecognized prefix: #{$prefix}"; - } - } -} - -@mixin disable-prefix-for-all() { - $prefix-for-webkit: false !global; - $prefix-for-mozilla: false !global; - $prefix-for-microsoft: false !global; - $prefix-for-opera: false !global; - $prefix-for-spec: false !global; -} diff --git a/common/static/sass/bourbon/addons/_retina-image.scss b/common/static/sass/bourbon/addons/_retina-image.scss deleted file mode 100644 index 3995c1970a6c..000000000000 --- a/common/static/sass/bourbon/addons/_retina-image.scss +++ /dev/null @@ -1,31 +0,0 @@ -@mixin retina-image($filename, $background-size, $extension: png, $retina-filename: null, $retina-suffix: _2x, $asset-pipeline: $asset-pipeline) { - @if $asset-pipeline { - background-image: image-url("#{$filename}.#{$extension}"); - } - @else { - background-image: url("#{$filename}.#{$extension}"); - } - - @include hidpi { - @if $asset-pipeline { - @if $retina-filename { - background-image: image-url("#{$retina-filename}.#{$extension}"); - } - @else { - background-image: image-url("#{$filename}#{$retina-suffix}.#{$extension}"); - } - } - - @else { - @if $retina-filename { - background-image: url("#{$retina-filename}.#{$extension}"); - } - @else { - background-image: url("#{$filename}#{$retina-suffix}.#{$extension}"); - } - } - - background-size: $background-size; - - } -} diff --git a/common/static/sass/bourbon/addons/_size.scss b/common/static/sass/bourbon/addons/_size.scss deleted file mode 100644 index a8653799a7ef..000000000000 --- a/common/static/sass/bourbon/addons/_size.scss +++ /dev/null @@ -1,16 +0,0 @@ -@mixin size($size) { - $height: nth($size, 1); - $width: $height; - - @if length($size) > 1 { - $height: nth($size, 2); - } - - @if $height == auto or (type-of($height) == number and not unitless($height)) { - height: $height; - } - - @if $width == auto or (type-of($width) == number and not unitless($width)) { - width: $width; - } -} diff --git a/common/static/sass/bourbon/addons/_timing-functions.scss b/common/static/sass/bourbon/addons/_timing-functions.scss deleted file mode 100644 index 5ecc6f9dcf93..000000000000 --- a/common/static/sass/bourbon/addons/_timing-functions.scss +++ /dev/null @@ -1,32 +0,0 @@ -// CSS cubic-bezier timing functions. Timing functions courtesy of jquery.easie (github.com/jaukia/easie) -// Timing functions are the same as demo'ed here: http://jqueryui.com/resources/demos/effect/easing.html - -// EASE IN -$ease-in-quad: cubic-bezier(0.550, 0.085, 0.680, 0.530); -$ease-in-cubic: cubic-bezier(0.550, 0.055, 0.675, 0.190); -$ease-in-quart: cubic-bezier(0.895, 0.030, 0.685, 0.220); -$ease-in-quint: cubic-bezier(0.755, 0.050, 0.855, 0.060); -$ease-in-sine: cubic-bezier(0.470, 0.000, 0.745, 0.715); -$ease-in-expo: cubic-bezier(0.950, 0.050, 0.795, 0.035); -$ease-in-circ: cubic-bezier(0.600, 0.040, 0.980, 0.335); -$ease-in-back: cubic-bezier(0.600, -0.280, 0.735, 0.045); - -// EASE OUT -$ease-out-quad: cubic-bezier(0.250, 0.460, 0.450, 0.940); -$ease-out-cubic: cubic-bezier(0.215, 0.610, 0.355, 1.000); -$ease-out-quart: cubic-bezier(0.165, 0.840, 0.440, 1.000); -$ease-out-quint: cubic-bezier(0.230, 1.000, 0.320, 1.000); -$ease-out-sine: cubic-bezier(0.390, 0.575, 0.565, 1.000); -$ease-out-expo: cubic-bezier(0.190, 1.000, 0.220, 1.000); -$ease-out-circ: cubic-bezier(0.075, 0.820, 0.165, 1.000); -$ease-out-back: cubic-bezier(0.175, 0.885, 0.320, 1.275); - -// EASE IN OUT -$ease-in-out-quad: cubic-bezier(0.455, 0.030, 0.515, 0.955); -$ease-in-out-cubic: cubic-bezier(0.645, 0.045, 0.355, 1.000); -$ease-in-out-quart: cubic-bezier(0.770, 0.000, 0.175, 1.000); -$ease-in-out-quint: cubic-bezier(0.860, 0.000, 0.070, 1.000); -$ease-in-out-sine: cubic-bezier(0.445, 0.050, 0.550, 0.950); -$ease-in-out-expo: cubic-bezier(1.000, 0.000, 0.000, 1.000); -$ease-in-out-circ: cubic-bezier(0.785, 0.135, 0.150, 0.860); -$ease-in-out-back: cubic-bezier(0.680, -0.550, 0.265, 1.550); diff --git a/common/static/sass/bourbon/addons/_triangle.scss b/common/static/sass/bourbon/addons/_triangle.scss deleted file mode 100644 index 573954e41e33..000000000000 --- a/common/static/sass/bourbon/addons/_triangle.scss +++ /dev/null @@ -1,83 +0,0 @@ -@mixin triangle ($size, $color, $direction) { - height: 0; - width: 0; - - $width: nth($size, 1); - $height: nth($size, length($size)); - - $foreground-color: nth($color, 1); - $background-color: if(length($color) == 2, nth($color, 2), transparent); - - @if ($direction == up) or ($direction == down) or ($direction == right) or ($direction == left) { - - $width: $width / 2; - $height: if(length($size) > 1, $height, $height/2); - - @if $direction == up { - border-left: $width solid $background-color; - border-right: $width solid $background-color; - border-bottom: $height solid $foreground-color; - - } @else if $direction == right { - border-top: $width solid $background-color; - border-bottom: $width solid $background-color; - border-left: $height solid $foreground-color; - - } @else if $direction == down { - border-left: $width solid $background-color; - border-right: $width solid $background-color; - border-top: $height solid $foreground-color; - - } @else if $direction == left { - border-top: $width solid $background-color; - border-bottom: $width solid $background-color; - border-right: $height solid $foreground-color; - } - } - - @else if ($direction == up-right) or ($direction == up-left) { - border-top: $height solid $foreground-color; - - @if $direction == up-right { - border-left: $width solid $background-color; - - } @else if $direction == up-left { - border-right: $width solid $background-color; - } - } - - @else if ($direction == down-right) or ($direction == down-left) { - border-bottom: $height solid $foreground-color; - - @if $direction == down-right { - border-left: $width solid $background-color; - - } @else if $direction == down-left { - border-right: $width solid $background-color; - } - } - - @else if ($direction == inset-up) { - border-width: $height $width; - border-style: solid; - border-color: $background-color $background-color $foreground-color; - } - - @else if ($direction == inset-down) { - border-width: $height $width; - border-style: solid; - border-color: $foreground-color $background-color $background-color; - } - - @else if ($direction == inset-right) { - border-width: $width $height; - border-style: solid; - border-color: $background-color $background-color $background-color $foreground-color; - } - - @else if ($direction == inset-left) { - border-width: $width $height; - border-style: solid; - border-color: $background-color $foreground-color $background-color $background-color; - } -} diff --git a/common/static/sass/bourbon/addons/_word-wrap.scss b/common/static/sass/bourbon/addons/_word-wrap.scss deleted file mode 100644 index 9734a597cd05..000000000000 --- a/common/static/sass/bourbon/addons/_word-wrap.scss +++ /dev/null @@ -1,8 +0,0 @@ -@mixin word-wrap($wrap: break-word) { - word-wrap: $wrap; - - @if $wrap == break-word { - overflow-wrap: break-word; - word-break: break-all; - } -} diff --git a/common/static/sass/bourbon/css3/_animation.scss b/common/static/sass/bourbon/css3/_animation.scss deleted file mode 100644 index 08c3dbf157c1..000000000000 --- a/common/static/sass/bourbon/css3/_animation.scss +++ /dev/null @@ -1,52 +0,0 @@ -// http://www.w3.org/TR/css3-animations/#the-animation-name-property- -// Each of these mixins support comma separated lists of values, which allows different transitions for individual properties to be described in a single style rule. Each value in the list corresponds to the value at that same position in the other properties. - -// Official animation shorthand property. -@mixin animation ($animations...) { - @include prefixer(animation, $animations, webkit moz spec); -} - -// Individual Animation Properties -@mixin animation-name ($names...) { - @include prefixer(animation-name, $names, webkit moz spec); -} - - -@mixin animation-duration ($times...) { - @include prefixer(animation-duration, $times, webkit moz spec); -} - - -@mixin animation-timing-function ($motions...) { -// ease | linear | ease-in | ease-out | ease-in-out - @include prefixer(animation-timing-function, $motions, webkit moz spec); -} - - -@mixin animation-iteration-count ($values...) { -// infinite | - @include prefixer(animation-iteration-count, $values, webkit moz spec); -} - - -@mixin animation-direction ($directions...) { -// normal | alternate - @include prefixer(animation-direction, $directions, webkit moz spec); -} - - -@mixin animation-play-state ($states...) { -// running | paused - @include prefixer(animation-play-state, $states, webkit moz spec); -} - - -@mixin animation-delay ($times...) { - @include prefixer(animation-delay, $times, webkit moz spec); -} - - -@mixin animation-fill-mode ($modes...) { -// none | forwards | backwards | both - @include prefixer(animation-fill-mode, $modes, webkit moz spec); -} diff --git a/common/static/sass/bourbon/css3/_appearance.scss b/common/static/sass/bourbon/css3/_appearance.scss deleted file mode 100644 index 3eb16e45de7e..000000000000 --- a/common/static/sass/bourbon/css3/_appearance.scss +++ /dev/null @@ -1,3 +0,0 @@ -@mixin appearance ($value) { - @include prefixer(appearance, $value, webkit moz ms o spec); -} diff --git a/common/static/sass/bourbon/css3/_backface-visibility.scss b/common/static/sass/bourbon/css3/_backface-visibility.scss deleted file mode 100644 index 1161fe60dd1e..000000000000 --- a/common/static/sass/bourbon/css3/_backface-visibility.scss +++ /dev/null @@ -1,6 +0,0 @@ -//************************************************************************// -// Backface-visibility mixin -//************************************************************************// -@mixin backface-visibility($visibility) { - @include prefixer(backface-visibility, $visibility, webkit spec); -} diff --git a/common/static/sass/bourbon/css3/_background-image.scss b/common/static/sass/bourbon/css3/_background-image.scss deleted file mode 100644 index 6abe88be9a5e..000000000000 --- a/common/static/sass/bourbon/css3/_background-image.scss +++ /dev/null @@ -1,42 +0,0 @@ -//************************************************************************// -// Background-image property for adding multiple background images with -// gradients, or for stringing multiple gradients together. -//************************************************************************// - -@mixin background-image($images...) { - $webkit-images: (); - $spec-images: (); - - @each $image in $images { - $webkit-image: (); - $spec-image: (); - - @if (type-of($image) == string) { - $url-str: str-slice($image, 0, 3); - $gradient-type: str-slice($image, 0, 6); - - @if $url-str == "url" { - $webkit-image: $image; - $spec-image: $image; - } - - @else if $gradient-type == "linear" { - $gradients: _linear-gradient-parser($image); - $webkit-image: map-get($gradients, webkit-image); - $spec-image: map-get($gradients, spec-image); - } - - @else if $gradient-type == "radial" { - $gradients: _radial-gradient-parser($image); - $webkit-image: map-get($gradients, webkit-image); - $spec-image: map-get($gradients, spec-image); - } - } - - $webkit-images: append($webkit-images, $webkit-image, comma); - $spec-images: append($spec-images, $spec-image, comma); - } - - background-image: $webkit-images; - background-image: $spec-images; -} diff --git a/common/static/sass/bourbon/css3/_background.scss b/common/static/sass/bourbon/css3/_background.scss deleted file mode 100644 index 9bce9308bf96..000000000000 --- a/common/static/sass/bourbon/css3/_background.scss +++ /dev/null @@ -1,55 +0,0 @@ -//************************************************************************// -// Background property for adding multiple backgrounds using shorthand -// notation. -//************************************************************************// - -@mixin background($backgrounds...) { - $webkit-backgrounds: (); - $spec-backgrounds: (); - - @each $background in $backgrounds { - $webkit-background: (); - $spec-background: (); - $background-type: type-of($background); - - @if $background-type == string or list { - $background-str: if($background-type == list, nth($background, 1), $background); - - $url-str: str-slice($background-str, 0, 3); - $gradient-type: str-slice($background-str, 0, 6); - - @if $url-str == "url" { - $webkit-background: $background; - $spec-background: $background; - } - - @else if $gradient-type == "linear" { - $gradients: _linear-gradient-parser("#{$background}"); - $webkit-background: map-get($gradients, webkit-image); - $spec-background: map-get($gradients, spec-image); - } - - @else if $gradient-type == "radial" { - $gradients: _radial-gradient-parser("#{$background}"); - $webkit-background: map-get($gradients, webkit-image); - $spec-background: map-get($gradients, spec-image); - } - - @else { - $webkit-background: $background; - $spec-background: $background; - } - } - - @else { - $webkit-background: $background; - $spec-background: $background; - } - - $webkit-backgrounds: append($webkit-backgrounds, $webkit-background, comma); - $spec-backgrounds: append($spec-backgrounds, $spec-background, comma); - } - - background: $webkit-backgrounds; - background: $spec-backgrounds; -} diff --git a/common/static/sass/bourbon/css3/_border-image.scss b/common/static/sass/bourbon/css3/_border-image.scss deleted file mode 100644 index e338c2dcd245..000000000000 --- a/common/static/sass/bourbon/css3/_border-image.scss +++ /dev/null @@ -1,59 +0,0 @@ -@mixin border-image($borders...) { - $webkit-borders: (); - $spec-borders: (); - - @each $border in $borders { - $webkit-border: (); - $spec-border: (); - $border-type: type-of($border); - - @if $border-type == string or list { - $border-str: if($border-type == list, nth($border, 1), $border); - - $url-str: str-slice($border-str, 0, 3); - $gradient-type: str-slice($border-str, 0, 6); - - @if $url-str == "url" { - $webkit-border: $border; - $spec-border: $border; - } - - @else if $gradient-type == "linear" { - $gradients: _linear-gradient-parser("#{$border}"); - $webkit-border: map-get($gradients, webkit-image); - $spec-border: map-get($gradients, spec-image); - } - - @else if $gradient-type == "radial" { - $gradients: _radial-gradient-parser("#{$border}"); - $webkit-border: map-get($gradients, webkit-image); - $spec-border: map-get($gradients, spec-image); - } - - @else { - $webkit-border: $border; - $spec-border: $border; - } - } - - @else { - $webkit-border: $border; - $spec-border: $border; - } - - $webkit-borders: append($webkit-borders, $webkit-border, comma); - $spec-borders: append($spec-borders, $spec-border, comma); - } - - -webkit-border-image: $webkit-borders; - border-image: $spec-borders; - border-style: solid; -} - -//Examples: -// @include border-image(url("image.png")); -// @include border-image(url("image.png") 20 stretch); -// @include border-image(linear-gradient(45deg, orange, yellow)); -// @include border-image(linear-gradient(45deg, orange, yellow) stretch); -// @include border-image(linear-gradient(45deg, orange, yellow) 20 30 40 50 stretch round); -// @include border-image(radial-gradient(top, cover, orange, yellow, orange)); diff --git a/common/static/sass/bourbon/css3/_border-radius.scss b/common/static/sass/bourbon/css3/_border-radius.scss deleted file mode 100644 index 7c1719010907..000000000000 --- a/common/static/sass/bourbon/css3/_border-radius.scss +++ /dev/null @@ -1,22 +0,0 @@ -//************************************************************************// -// Shorthand Border-radius mixins -//************************************************************************// -@mixin border-top-radius($radii) { - @include prefixer(border-top-left-radius, $radii, spec); - @include prefixer(border-top-right-radius, $radii, spec); -} - -@mixin border-bottom-radius($radii) { - @include prefixer(border-bottom-left-radius, $radii, spec); - @include prefixer(border-bottom-right-radius, $radii, spec); -} - -@mixin border-left-radius($radii) { - @include prefixer(border-top-left-radius, $radii, spec); - @include prefixer(border-bottom-left-radius, $radii, spec); -} - -@mixin border-right-radius($radii) { - @include prefixer(border-top-right-radius, $radii, spec); - @include prefixer(border-bottom-right-radius, $radii, spec); -} diff --git a/common/static/sass/bourbon/css3/_box-sizing.scss b/common/static/sass/bourbon/css3/_box-sizing.scss deleted file mode 100644 index f07e1d412e32..000000000000 --- a/common/static/sass/bourbon/css3/_box-sizing.scss +++ /dev/null @@ -1,4 +0,0 @@ -@mixin box-sizing ($box) { -// content-box | border-box | inherit - @include prefixer(box-sizing, $box, webkit moz spec); -} diff --git a/common/static/sass/bourbon/css3/_calc.scss b/common/static/sass/bourbon/css3/_calc.scss deleted file mode 100644 index 94d7e4cef3c7..000000000000 --- a/common/static/sass/bourbon/css3/_calc.scss +++ /dev/null @@ -1,4 +0,0 @@ -@mixin calc($property, $value) { - #{$property}: -webkit-calc(#{$value}); - #{$property}: calc(#{$value}); -} diff --git a/common/static/sass/bourbon/css3/_columns.scss b/common/static/sass/bourbon/css3/_columns.scss deleted file mode 100644 index 96f601c1a81a..000000000000 --- a/common/static/sass/bourbon/css3/_columns.scss +++ /dev/null @@ -1,47 +0,0 @@ -@mixin columns($arg: auto) { -// || - @include prefixer(columns, $arg, webkit moz spec); -} - -@mixin column-count($int: auto) { -// auto || integer - @include prefixer(column-count, $int, webkit moz spec); -} - -@mixin column-gap($length: normal) { -// normal || length - @include prefixer(column-gap, $length, webkit moz spec); -} - -@mixin column-fill($arg: auto) { -// auto || length - @include prefixer(column-fill, $arg, webkit moz spec); -} - -@mixin column-rule($arg) { -// || || - @include prefixer(column-rule, $arg, webkit moz spec); -} - -@mixin column-rule-color($color) { - @include prefixer(column-rule-color, $color, webkit moz spec); -} - -@mixin column-rule-style($style: none) { -// none | hidden | dashed | dotted | double | groove | inset | inset | outset | ridge | solid - @include prefixer(column-rule-style, $style, webkit moz spec); -} - -@mixin column-rule-width ($width: none) { - @include prefixer(column-rule-width, $width, webkit moz spec); -} - -@mixin column-span($arg: none) { -// none || all - @include prefixer(column-span, $arg, webkit moz spec); -} - -@mixin column-width($length: auto) { -// auto || length - @include prefixer(column-width, $length, webkit moz spec); -} diff --git a/common/static/sass/bourbon/css3/_filter.scss b/common/static/sass/bourbon/css3/_filter.scss deleted file mode 100644 index 8560d77676dc..000000000000 --- a/common/static/sass/bourbon/css3/_filter.scss +++ /dev/null @@ -1,5 +0,0 @@ -@mixin filter($function: none) { - // [ - @include prefixer(perspective, $depth, webkit moz spec); -} - -@mixin perspective-origin($value: 50% 50%) { - @include prefixer(perspective-origin, $value, webkit moz spec); -} diff --git a/common/static/sass/bourbon/css3/_placeholder.scss b/common/static/sass/bourbon/css3/_placeholder.scss deleted file mode 100644 index 5682fd097a5a..000000000000 --- a/common/static/sass/bourbon/css3/_placeholder.scss +++ /dev/null @@ -1,8 +0,0 @@ -@mixin placeholder { - $placeholders: ":-webkit-input" ":-moz" "-moz" "-ms-input"; - @each $placeholder in $placeholders { - &:#{$placeholder}-placeholder { - @content; - } - } -} diff --git a/common/static/sass/bourbon/css3/_radial-gradient.scss b/common/static/sass/bourbon/css3/_radial-gradient.scss deleted file mode 100644 index 7a8c3765f16c..000000000000 --- a/common/static/sass/bourbon/css3/_radial-gradient.scss +++ /dev/null @@ -1,39 +0,0 @@ -// Requires Sass 3.1+ -@mixin radial-gradient($G1, $G2, - $G3: null, $G4: null, - $G5: null, $G6: null, - $G7: null, $G8: null, - $G9: null, $G10: null, - $pos: null, - $shape-size: null, - $fallback: null) { - - $data: _radial-arg-parser($G1, $G2, $pos, $shape-size); - $G1: nth($data, 1); - $G2: nth($data, 2); - $pos: nth($data, 3); - $shape-size: nth($data, 4); - - $full: $G1, $G2, $G3, $G4, $G5, $G6, $G7, $G8, $G9, $G10; - - // Strip deprecated cover/contain for spec - $shape-size-spec: _shape-size-stripper($shape-size); - - // Set $G1 as the default fallback color - $first-color: nth($full, 1); - $fallback-color: nth($first-color, 1); - - @if (type-of($fallback) == color) or ($fallback == "transparent") { - $fallback-color: $fallback; - } - - // Add Commas and spaces - $shape-size: if($shape-size, '#{$shape-size}, ', null); - $pos: if($pos, '#{$pos}, ', null); - $pos-spec: if($pos, 'at #{$pos}', null); - $shape-size-spec: if(($shape-size-spec != ' ') and ($pos == null), '#{$shape-size-spec}, ', '#{$shape-size-spec} '); - - background-color: $fallback-color; - background-image: -webkit-radial-gradient(unquote(#{$pos}#{$shape-size}#{$full})); - background-image: unquote("radial-gradient(#{$shape-size-spec}#{$pos-spec}#{$full})"); -} diff --git a/common/static/sass/bourbon/css3/_transform.scss b/common/static/sass/bourbon/css3/_transform.scss deleted file mode 100644 index 8cc35963d555..000000000000 --- a/common/static/sass/bourbon/css3/_transform.scss +++ /dev/null @@ -1,15 +0,0 @@ -@mixin transform($property: none) { -// none | - @include prefixer(transform, $property, webkit moz ms o spec); -} - -@mixin transform-origin($axes: 50%) { -// x-axis - left | center | right | length | % -// y-axis - top | center | bottom | length | % -// z-axis - length - @include prefixer(transform-origin, $axes, webkit moz ms o spec); -} - -@mixin transform-style ($style: flat) { - @include prefixer(transform-style, $style, webkit moz ms o spec); -} diff --git a/common/static/sass/bourbon/css3/_transition.scss b/common/static/sass/bourbon/css3/_transition.scss deleted file mode 100644 index 5ad4c0aed238..000000000000 --- a/common/static/sass/bourbon/css3/_transition.scss +++ /dev/null @@ -1,77 +0,0 @@ -// Shorthand mixin. Supports multiple parentheses-deliminated values for each variable. -// Example: @include transition (all 2s ease-in-out); -// @include transition (opacity 1s ease-in 2s, width 2s ease-out); -// @include transition-property (transform, opacity); - -@mixin transition ($properties...) { - // Fix for vendor-prefix transform property - $needs-prefixes: false; - $webkit: (); - $moz: (); - $spec: (); - - // Create lists for vendor-prefixed transform - @each $list in $properties { - @if nth($list, 1) == "transform" { - $needs-prefixes: true; - $list1: -webkit-transform; - $list2: -moz-transform; - $list3: (); - - @each $var in $list { - $list3: join($list3, $var); - - @if $var != "transform" { - $list1: join($list1, $var); - $list2: join($list2, $var); - } - } - - $webkit: append($webkit, $list1); - $moz: append($moz, $list2); - $spec: append($spec, $list3); - } - - // Create lists for non-prefixed transition properties - @else { - $webkit: append($webkit, $list, comma); - $moz: append($moz, $list, comma); - $spec: append($spec, $list, comma); - } - } - - @if $needs-prefixes { - -webkit-transition: $webkit; - -moz-transition: $moz; - transition: $spec; - } - @else { - @if length($properties) >= 1 { - @include prefixer(transition, $properties, webkit moz spec); - } - - @else { - $properties: all 0.15s ease-out 0s; - @include prefixer(transition, $properties, webkit moz spec); - } - } -} - -@mixin transition-property ($properties...) { - -webkit-transition-property: transition-property-names($properties, 'webkit'); - -moz-transition-property: transition-property-names($properties, 'moz'); - transition-property: transition-property-names($properties, false); -} - -@mixin transition-duration ($times...) { - @include prefixer(transition-duration, $times, webkit moz spec); -} - -@mixin transition-timing-function ($motions...) { -// ease | linear | ease-in | ease-out | ease-in-out | cubic-bezier() - @include prefixer(transition-timing-function, $motions, webkit moz spec); -} - -@mixin transition-delay ($times...) { - @include prefixer(transition-delay, $times, webkit moz spec); -} diff --git a/common/static/sass/bourbon/css3/_user-select.scss b/common/static/sass/bourbon/css3/_user-select.scss deleted file mode 100644 index 1380aa8baa9f..000000000000 --- a/common/static/sass/bourbon/css3/_user-select.scss +++ /dev/null @@ -1,3 +0,0 @@ -@mixin user-select($arg: none) { - @include prefixer(user-select, $arg, webkit moz ms spec); -} diff --git a/common/static/sass/bourbon/functions/_assign.scss b/common/static/sass/bourbon/functions/_assign.scss deleted file mode 100644 index 9a1db93ef749..000000000000 --- a/common/static/sass/bourbon/functions/_assign.scss +++ /dev/null @@ -1,11 +0,0 @@ -@function assign-inputs($inputs, $pseudo: null) { - $list : (); - - @each $input in $inputs { - $input: unquote($input); - $input: if($pseudo, $input + ":" + $pseudo, $input); - $list: append($list, $input, comma); - } - - @return $list; -} \ No newline at end of file diff --git a/common/static/sass/bourbon/functions/_color-lightness.scss b/common/static/sass/bourbon/functions/_color-lightness.scss deleted file mode 100644 index 8c6df4e2564d..000000000000 --- a/common/static/sass/bourbon/functions/_color-lightness.scss +++ /dev/null @@ -1,13 +0,0 @@ -// Programatically determines whether a color is light or dark -// Returns a boolean -// More details here http://robots.thoughtbot.com/closer-look-color-lightness - -@function is-light($hex-color) { - $-local-red: red(rgba($hex-color, 1.0)); - $-local-green: green(rgba($hex-color, 1.0)); - $-local-blue: blue(rgba($hex-color, 1.0)); - - $-local-lightness: ($-local-red * 0.2126 + $-local-green * 0.7152 + $-local-blue * 0.0722) / 255; - - @return $-local-lightness > .6; -} diff --git a/common/static/sass/bourbon/functions/_flex-grid.scss b/common/static/sass/bourbon/functions/_flex-grid.scss deleted file mode 100644 index 3bbd8665732d..000000000000 --- a/common/static/sass/bourbon/functions/_flex-grid.scss +++ /dev/null @@ -1,39 +0,0 @@ -// Flexible grid -@function flex-grid($columns, $container-columns: $fg-max-columns) { - $width: $columns * $fg-column + ($columns - 1) * $fg-gutter; - $container-width: $container-columns * $fg-column + ($container-columns - 1) * $fg-gutter; - @return percentage($width / $container-width); -} - -// Flexible gutter -@function flex-gutter($container-columns: $fg-max-columns, $gutter: $fg-gutter) { - $container-width: $container-columns * $fg-column + ($container-columns - 1) * $fg-gutter; - @return percentage($gutter / $container-width); -} - -// The $fg-column, $fg-gutter and $fg-max-columns variables must be defined in your base stylesheet to properly use the flex-grid function. -// This function takes the fluid grid equation (target / context = result) and uses columns to help define each. -// -// The calculation presumes that your column structure will be missing the last gutter: -// -// -- column -- gutter -- column -- gutter -- column -// -// $fg-column: 60px; // Column Width -// $fg-gutter: 25px; // Gutter Width -// $fg-max-columns: 12; // Total Columns For Main Container -// -// div { -// width: flex-grid(4); // returns (315px / 995px) = 31.65829%; -// margin-left: flex-gutter(); // returns (25px / 995px) = 2.51256%; -// -// p { -// width: flex-grid(2, 4); // returns (145px / 315px) = 46.031746%; -// float: left; -// margin: flex-gutter(4); // returns (25px / 315px) = 7.936508%; -// } -// -// blockquote { -// float: left; -// width: flex-grid(2, 4); // returns (145px / 315px) = 46.031746%; -// } -// } \ No newline at end of file diff --git a/common/static/sass/bourbon/functions/_golden-ratio.scss b/common/static/sass/bourbon/functions/_golden-ratio.scss deleted file mode 100644 index 463d14a00c17..000000000000 --- a/common/static/sass/bourbon/functions/_golden-ratio.scss +++ /dev/null @@ -1,3 +0,0 @@ -@function golden-ratio($value, $increment) { - @return modular-scale($value, $increment, $golden) -} diff --git a/common/static/sass/bourbon/functions/_grid-width.scss b/common/static/sass/bourbon/functions/_grid-width.scss deleted file mode 100644 index 8e63d83d6023..000000000000 --- a/common/static/sass/bourbon/functions/_grid-width.scss +++ /dev/null @@ -1,13 +0,0 @@ -@function grid-width($n) { - @return $n * $gw-column + ($n - 1) * $gw-gutter; -} - -// The $gw-column and $gw-gutter variables must be defined in your base stylesheet to properly use the grid-width function. -// -// $gw-column: 100px; // Column Width -// $gw-gutter: 40px; // Gutter Width -// -// div { -// width: grid-width(4); // returns 520px; -// margin-left: $gw-gutter; // returns 40px; -// } diff --git a/common/static/sass/bourbon/functions/_modular-scale.scss b/common/static/sass/bourbon/functions/_modular-scale.scss deleted file mode 100644 index afc59eb954de..000000000000 --- a/common/static/sass/bourbon/functions/_modular-scale.scss +++ /dev/null @@ -1,66 +0,0 @@ -// Scaling Variables -$golden: 1.618; -$minor-second: 1.067; -$major-second: 1.125; -$minor-third: 1.2; -$major-third: 1.25; -$perfect-fourth: 1.333; -$augmented-fourth: 1.414; -$perfect-fifth: 1.5; -$minor-sixth: 1.6; -$major-sixth: 1.667; -$minor-seventh: 1.778; -$major-seventh: 1.875; -$octave: 2; -$major-tenth: 2.5; -$major-eleventh: 2.667; -$major-twelfth: 3; -$double-octave: 4; - -@function modular-scale($value, $increment, $ratio) { - $v1: nth($value, 1); - $v2: nth($value, length($value)); - $value: $v1; - - // scale $v2 to just above $v1 - @while $v2 > $v1 { - $v2: ($v2 / $ratio); // will be off-by-1 - } - @while $v2 < $v1 { - $v2: ($v2 * $ratio); // will fix off-by-1 - } - - // check AFTER scaling $v2 to prevent double-counting corner-case - $double-stranded: $v2 > $v1; - - @if $increment > 0 { - @for $i from 1 through $increment { - @if $double-stranded and ($v1 * $ratio) > $v2 { - $value: $v2; - $v2: ($v2 * $ratio); - } @else { - $v1: ($v1 * $ratio); - $value: $v1; - } - } - } - - @if $increment < 0 { - // adjust $v2 to just below $v1 - @if $double-stranded { - $v2: ($v2 / $ratio); - } - - @for $i from $increment through -1 { - @if $double-stranded and ($v1 / $ratio) < $v2 { - $value: $v2; - $v2: ($v2 / $ratio); - } @else { - $v1: ($v1 / $ratio); - $value: $v1; - } - } - } - - @return $value; -} diff --git a/common/static/sass/bourbon/functions/_px-to-em.scss b/common/static/sass/bourbon/functions/_px-to-em.scss deleted file mode 100644 index 4832245e455b..000000000000 --- a/common/static/sass/bourbon/functions/_px-to-em.scss +++ /dev/null @@ -1,13 +0,0 @@ -// Convert pixels to ems -// eg. for a relational value of 12px write em(12) when the parent is 16px -// if the parent is another value say 24px write em(12, 24) - -@function em($pxval, $base: $em-base) { - @if not unitless($pxval) { - $pxval: strip-units($pxval); - } - @if not unitless($base) { - $base: strip-units($base); - } - @return ($pxval / $base) * 1em; -} diff --git a/common/static/sass/bourbon/functions/_px-to-rem.scss b/common/static/sass/bourbon/functions/_px-to-rem.scss deleted file mode 100644 index 96b244e4cb1b..000000000000 --- a/common/static/sass/bourbon/functions/_px-to-rem.scss +++ /dev/null @@ -1,15 +0,0 @@ -// Convert pixels to rems -// eg. for a relational value of 12px write rem(12) -// Assumes $em-base is the font-size of - -@function rem($pxval) { - @if not unitless($pxval) { - $pxval: strip-units($pxval); - } - - $base: $em-base; - @if not unitless($base) { - $base: strip-units($base); - } - @return ($pxval / $base) * 1rem; -} diff --git a/common/static/sass/bourbon/functions/_strip-units.scss b/common/static/sass/bourbon/functions/_strip-units.scss deleted file mode 100644 index 6afc6e601c03..000000000000 --- a/common/static/sass/bourbon/functions/_strip-units.scss +++ /dev/null @@ -1,5 +0,0 @@ -// Srtips the units from a value. e.g. 12px -> 12 - -@function strip-units($val) { - @return ($val / ($val * 0 + 1)); -} diff --git a/common/static/sass/bourbon/functions/_tint-shade.scss b/common/static/sass/bourbon/functions/_tint-shade.scss deleted file mode 100644 index f7172004ac63..000000000000 --- a/common/static/sass/bourbon/functions/_tint-shade.scss +++ /dev/null @@ -1,9 +0,0 @@ -// Add percentage of white to a color -@function tint($color, $percent){ - @return mix(white, $color, $percent); -} - -// Add percentage of black to a color -@function shade($color, $percent){ - @return mix(black, $color, $percent); -} diff --git a/common/static/sass/bourbon/functions/_transition-property-name.scss b/common/static/sass/bourbon/functions/_transition-property-name.scss deleted file mode 100644 index 54cd42281121..000000000000 --- a/common/static/sass/bourbon/functions/_transition-property-name.scss +++ /dev/null @@ -1,22 +0,0 @@ -// Return vendor-prefixed property names if appropriate -// Example: transition-property-names((transform, color, background), moz) -> -moz-transform, color, background -//************************************************************************// -@function transition-property-names($props, $vendor: false) { - $new-props: (); - - @each $prop in $props { - $new-props: append($new-props, transition-property-name($prop, $vendor), comma); - } - - @return $new-props; -} - -@function transition-property-name($prop, $vendor: false) { - // put other properties that need to be prefixed here aswell - @if $vendor and $prop == transform { - @return unquote('-'+$vendor+'-'+$prop); - } - @else { - @return $prop; - } -} \ No newline at end of file diff --git a/common/static/sass/bourbon/functions/_unpack.scss b/common/static/sass/bourbon/functions/_unpack.scss deleted file mode 100644 index 377596365c89..000000000000 --- a/common/static/sass/bourbon/functions/_unpack.scss +++ /dev/null @@ -1,17 +0,0 @@ -// Convert shorthand to the 4-value syntax - -@function unpack($shorthand) { - @if length($shorthand) == 1 { - @return nth($shorthand, 1) nth($shorthand, 1) nth($shorthand, 1) nth($shorthand, 1); - } - @else if length($shorthand) == 2 { - @return nth($shorthand, 1) nth($shorthand, 2) nth($shorthand, 1) nth($shorthand, 2); - } - @else if length($shorthand) == 3 { - @return nth($shorthand, 1) nth($shorthand, 2) nth($shorthand, 3) nth($shorthand, 2); - } - @else { - @return $shorthand; - } -} - diff --git a/common/static/sass/bourbon/helpers/_convert-units.scss b/common/static/sass/bourbon/helpers/_convert-units.scss deleted file mode 100644 index 3443db397c22..000000000000 --- a/common/static/sass/bourbon/helpers/_convert-units.scss +++ /dev/null @@ -1,15 +0,0 @@ -//************************************************************************// -// Helper function for str-to-num fn. -// Source: http://sassmeister.com/gist/9647408 -//************************************************************************// -@function _convert-units($number, $unit) { - $strings: 'px' 'cm' 'mm' '%' 'ch' 'pica' 'in' 'em' 'rem' 'pt' 'pc' 'ex' 'vw' 'vh' 'vmin' 'vmax', 'deg', 'rad', 'grad', 'turn'; - $units: 1px 1cm 1mm 1% 1ch 1pica 1in 1em 1rem 1pt 1pc 1ex 1vw 1vh 1vmin 1vmax, 1deg, 1rad, 1grad, 1turn; - $index: index($strings, $unit); - - @if not $index { - @warn "Unknown unit `#{$unit}`."; - @return false; - } - @return $number * nth($units, $index); -} diff --git a/common/static/sass/bourbon/helpers/_gradient-positions-parser.scss b/common/static/sass/bourbon/helpers/_gradient-positions-parser.scss deleted file mode 100644 index 07d30b6cf956..000000000000 --- a/common/static/sass/bourbon/helpers/_gradient-positions-parser.scss +++ /dev/null @@ -1,13 +0,0 @@ -@function _gradient-positions-parser($gradient-type, $gradient-positions) { - @if $gradient-positions - and ($gradient-type == linear) - and (type-of($gradient-positions) != color) { - $gradient-positions: _linear-positions-parser($gradient-positions); - } - @else if $gradient-positions - and ($gradient-type == radial) - and (type-of($gradient-positions) != color) { - $gradient-positions: _radial-positions-parser($gradient-positions); - } - @return $gradient-positions; -} diff --git a/common/static/sass/bourbon/helpers/_is-num.scss b/common/static/sass/bourbon/helpers/_is-num.scss deleted file mode 100644 index 71459e1404ad..000000000000 --- a/common/static/sass/bourbon/helpers/_is-num.scss +++ /dev/null @@ -1,8 +0,0 @@ -//************************************************************************// -// Helper for linear-gradient-parser -//************************************************************************// -@function _is-num($char) { - $values: '0' '1' '2' '3' '4' '5' '6' '7' '8' '9' 0 1 2 3 4 5 6 7 8 9; - $index: index($values, $char); - @return if($index, true, false); -} diff --git a/common/static/sass/bourbon/helpers/_linear-angle-parser.scss b/common/static/sass/bourbon/helpers/_linear-angle-parser.scss deleted file mode 100644 index e0401ed8df12..000000000000 --- a/common/static/sass/bourbon/helpers/_linear-angle-parser.scss +++ /dev/null @@ -1,25 +0,0 @@ -// Private function for linear-gradient-parser -@function _linear-angle-parser($image, $first-val, $prefix, $suffix) { - $offset: null; - $unit-short: str-slice($first-val, str-length($first-val) - 2, str-length($first-val)); - $unit-long: str-slice($first-val, str-length($first-val) - 3, str-length($first-val)); - - @if ($unit-long == "grad") or - ($unit-long == "turn") { - $offset: if($unit-long == "grad", -100grad * 3, -0.75turn); - } - - @else if ($unit-short == "deg") or - ($unit-short == "rad") { - $offset: if($unit-short == "deg", -90 * 3, 1.6rad); - } - - @if $offset { - $num: _str-to-num($first-val); - - @return ( - webkit-image: -webkit- + $prefix + ($offset - $num) + $suffix, - spec-image: $image - ); - } -} diff --git a/common/static/sass/bourbon/helpers/_linear-gradient-parser.scss b/common/static/sass/bourbon/helpers/_linear-gradient-parser.scss deleted file mode 100644 index 12bcdcda8fda..000000000000 --- a/common/static/sass/bourbon/helpers/_linear-gradient-parser.scss +++ /dev/null @@ -1,41 +0,0 @@ -@function _linear-gradient-parser($image) { - $image: unquote($image); - $gradients: (); - $start: str-index($image, "("); - $end: str-index($image, ","); - $first-val: str-slice($image, $start + 1, $end - 1); - - $prefix: str-slice($image, 0, $start); - $suffix: str-slice($image, $end, str-length($image)); - - $has-multiple-vals: str-index($first-val, " "); - $has-single-position: unquote(_position-flipper($first-val) + ""); - $has-angle: _is-num(str-slice($first-val, 0, 0)); - - @if $has-multiple-vals { - $gradients: _linear-side-corner-parser($image, $first-val, $prefix, $suffix, $has-multiple-vals); - } - - @else if $has-single-position != "" { - $pos: unquote($has-single-position + ""); - - $gradients: ( - webkit-image: -webkit- + $image, - spec-image: $prefix + "to " + $pos + $suffix - ); - } - - @else if $has-angle { - // Rotate degree for webkit - $gradients: _linear-angle-parser($image, $first-val, $prefix, $suffix); - } - - @else { - $gradients: ( - webkit-image: -webkit- + $image, - spec-image: $image - ); - } - - @return $gradients; -} diff --git a/common/static/sass/bourbon/helpers/_linear-positions-parser.scss b/common/static/sass/bourbon/helpers/_linear-positions-parser.scss deleted file mode 100644 index d26383edce15..000000000000 --- a/common/static/sass/bourbon/helpers/_linear-positions-parser.scss +++ /dev/null @@ -1,61 +0,0 @@ -@function _linear-positions-parser($pos) { - $type: type-of(nth($pos, 1)); - $spec: null; - $degree: null; - $side: null; - $corner: null; - $length: length($pos); - // Parse Side and corner positions - @if ($length > 1) { - @if nth($pos, 1) == "to" { // Newer syntax - $side: nth($pos, 2); - - @if $length == 2 { // eg. to top - // Swap for backwards compatability - $degree: _position-flipper(nth($pos, 2)); - } - @else if $length == 3 { // eg. to top left - $corner: nth($pos, 3); - } - } - @else if $length == 2 { // Older syntax ("top left") - $side: _position-flipper(nth($pos, 1)); - $corner: _position-flipper(nth($pos, 2)); - } - - @if ("#{$side} #{$corner}" == "left top") or ("#{$side} #{$corner}" == "top left") { - $degree: _position-flipper(#{$side}) _position-flipper(#{$corner}); - } - @else if ("#{$side} #{$corner}" == "right top") or ("#{$side} #{$corner}" == "top right") { - $degree: _position-flipper(#{$side}) _position-flipper(#{$corner}); - } - @else if ("#{$side} #{$corner}" == "right bottom") or ("#{$side} #{$corner}" == "bottom right") { - $degree: _position-flipper(#{$side}) _position-flipper(#{$corner}); - } - @else if ("#{$side} #{$corner}" == "left bottom") or ("#{$side} #{$corner}" == "bottom left") { - $degree: _position-flipper(#{$side}) _position-flipper(#{$corner}); - } - $spec: to $side $corner; - } - @else if $length == 1 { - // Swap for backwards compatability - @if $type == string { - $degree: $pos; - $spec: to _position-flipper($pos); - } - @else { - $degree: -270 - $pos; //rotate the gradient opposite from spec - $spec: $pos; - } - } - $degree: unquote($degree + ","); - $spec: unquote($spec + ","); - @return $degree $spec; -} - -@function _position-flipper($pos) { - @return if($pos == left, right, null) - if($pos == right, left, null) - if($pos == top, bottom, null) - if($pos == bottom, top, null); -} diff --git a/common/static/sass/bourbon/helpers/_linear-side-corner-parser.scss b/common/static/sass/bourbon/helpers/_linear-side-corner-parser.scss deleted file mode 100644 index 86ad88fbb7d9..000000000000 --- a/common/static/sass/bourbon/helpers/_linear-side-corner-parser.scss +++ /dev/null @@ -1,31 +0,0 @@ -// Private function for linear-gradient-parser -@function _linear-side-corner-parser($image, $first-val, $prefix, $suffix, $has-multiple-vals) { - $val-1: str-slice($first-val, 0, $has-multiple-vals - 1 ); - $val-2: str-slice($first-val, $has-multiple-vals + 1, str-length($first-val)); - $val-3: null; - $has-val-3: str-index($val-2, " "); - - @if $has-val-3 { - $val-3: str-slice($val-2, $has-val-3 + 1, str-length($val-2)); - $val-2: str-slice($val-2, 0, $has-val-3 - 1); - } - - $pos: _position-flipper($val-1) _position-flipper($val-2) _position-flipper($val-3); - $pos: unquote($pos + ""); - - // Use old spec for webkit - @if $val-1 == "to" { - @return ( - webkit-image: -webkit- + $prefix + $pos + $suffix, - spec-image: $image - ); - } - - // Bring the code up to spec - @else { - @return ( - webkit-image: -webkit- + $image, - spec-image: $prefix + "to " + $pos + $suffix - ); - } -} diff --git a/common/static/sass/bourbon/helpers/_radial-arg-parser.scss b/common/static/sass/bourbon/helpers/_radial-arg-parser.scss deleted file mode 100644 index a3a3704af5e8..000000000000 --- a/common/static/sass/bourbon/helpers/_radial-arg-parser.scss +++ /dev/null @@ -1,69 +0,0 @@ -@function _radial-arg-parser($G1, $G2, $pos, $shape-size) { - @each $value in $G1, $G2 { - $first-val: nth($value, 1); - $pos-type: type-of($first-val); - $spec-at-index: null; - - // Determine if spec was passed to mixin - @if type-of($value) == list { - $spec-at-index: if(index($value, at), index($value, at), false); - } - @if $spec-at-index { - @if $spec-at-index > 1 { - @for $i from 1 through ($spec-at-index - 1) { - $shape-size: $shape-size nth($value, $i); - } - @for $i from ($spec-at-index + 1) through length($value) { - $pos: $pos nth($value, $i); - } - } - @else if $spec-at-index == 1 { - @for $i from ($spec-at-index + 1) through length($value) { - $pos: $pos nth($value, $i); - } - } - $G1: null; - } - - // If not spec calculate correct values - @else { - @if ($pos-type != color) or ($first-val != "transparent") { - @if ($pos-type == number) - or ($first-val == "center") - or ($first-val == "top") - or ($first-val == "right") - or ($first-val == "bottom") - or ($first-val == "left") { - - $pos: $value; - - @if $pos == $G1 { - $G1: null; - } - } - - @else if - ($first-val == "ellipse") - or ($first-val == "circle") - or ($first-val == "closest-side") - or ($first-val == "closest-corner") - or ($first-val == "farthest-side") - or ($first-val == "farthest-corner") - or ($first-val == "contain") - or ($first-val == "cover") { - - $shape-size: $value; - - @if $value == $G1 { - $G1: null; - } - - @else if $value == $G2 { - $G2: null; - } - } - } - } - } - @return $G1, $G2, $pos, $shape-size; -} diff --git a/common/static/sass/bourbon/helpers/_radial-gradient-parser.scss b/common/static/sass/bourbon/helpers/_radial-gradient-parser.scss deleted file mode 100644 index 6dde50f06400..000000000000 --- a/common/static/sass/bourbon/helpers/_radial-gradient-parser.scss +++ /dev/null @@ -1,50 +0,0 @@ -@function _radial-gradient-parser($image) { - $image: unquote($image); - $gradients: (); - $start: str-index($image, "("); - $end: str-index($image, ","); - $first-val: str-slice($image, $start + 1, $end - 1); - - $prefix: str-slice($image, 0, $start); - $suffix: str-slice($image, $end, str-length($image)); - - $is-spec-syntax: str-index($first-val, "at"); - - @if $is-spec-syntax and $is-spec-syntax > 1 { - $keyword: str-slice($first-val, 1, $is-spec-syntax - 2); - $pos: str-slice($first-val, $is-spec-syntax + 3, str-length($first-val)); - $pos: append($pos, $keyword, comma); - - $gradients: ( - webkit-image: -webkit- + $prefix + $pos + $suffix, - spec-image: $image - ) - } - - @else if $is-spec-syntax == 1 { - $pos: str-slice($first-val, $is-spec-syntax + 3, str-length($first-val)); - - $gradients: ( - webkit-image: -webkit- + $prefix + $pos + $suffix, - spec-image: $image - ) - } - - @else if str-index($image, "cover") or str-index($image, "contain") { - @warn "Radial-gradient needs to be updated to conform to latest spec."; - - $gradients: ( - webkit-image: null, - spec-image: $image - ) - } - - @else { - $gradients: ( - webkit-image: -webkit- + $image, - spec-image: $image - ) - } - - @return $gradients; -} diff --git a/common/static/sass/bourbon/helpers/_radial-positions-parser.scss b/common/static/sass/bourbon/helpers/_radial-positions-parser.scss deleted file mode 100644 index 6a5b47777815..000000000000 --- a/common/static/sass/bourbon/helpers/_radial-positions-parser.scss +++ /dev/null @@ -1,18 +0,0 @@ -@function _radial-positions-parser($gradient-pos) { - $shape-size: nth($gradient-pos, 1); - $pos: nth($gradient-pos, 2); - $shape-size-spec: _shape-size-stripper($shape-size); - - $pre-spec: unquote(if($pos, "#{$pos}, ", null)) - unquote(if($shape-size, "#{$shape-size},", null)); - $pos-spec: if($pos, "at #{$pos}", null); - - $spec: "#{$shape-size-spec} #{$pos-spec}"; - - // Add comma - @if ($spec != ' ') { - $spec: "#{$spec}," - } - - @return $pre-spec $spec; -} diff --git a/common/static/sass/bourbon/helpers/_render-gradients.scss b/common/static/sass/bourbon/helpers/_render-gradients.scss deleted file mode 100644 index 5765676838de..000000000000 --- a/common/static/sass/bourbon/helpers/_render-gradients.scss +++ /dev/null @@ -1,26 +0,0 @@ -// User for linear and radial gradients within background-image or border-image properties - -@function _render-gradients($gradient-positions, $gradients, $gradient-type, $vendor: false) { - $pre-spec: null; - $spec: null; - $vendor-gradients: null; - @if $gradient-type == linear { - @if $gradient-positions { - $pre-spec: nth($gradient-positions, 1); - $spec: nth($gradient-positions, 2); - } - } - @else if $gradient-type == radial { - $pre-spec: nth($gradient-positions, 1); - $spec: nth($gradient-positions, 2); - } - - @if $vendor { - $vendor-gradients: -#{$vendor}-#{$gradient-type}-gradient(#{$pre-spec} $gradients); - } - @else if $vendor == false { - $vendor-gradients: "#{$gradient-type}-gradient(#{$spec} #{$gradients})"; - $vendor-gradients: unquote($vendor-gradients); - } - @return $vendor-gradients; -} diff --git a/common/static/sass/bourbon/helpers/_shape-size-stripper.scss b/common/static/sass/bourbon/helpers/_shape-size-stripper.scss deleted file mode 100644 index ee5eda422050..000000000000 --- a/common/static/sass/bourbon/helpers/_shape-size-stripper.scss +++ /dev/null @@ -1,10 +0,0 @@ -@function _shape-size-stripper($shape-size) { - $shape-size-spec: null; - @each $value in $shape-size { - @if ($value == "cover") or ($value == "contain") { - $value: null; - } - $shape-size-spec: "#{$shape-size-spec} #{$value}"; - } - @return $shape-size-spec; -} diff --git a/common/static/sass/bourbon/helpers/_str-to-num.scss b/common/static/sass/bourbon/helpers/_str-to-num.scss deleted file mode 100644 index b3d616824d3b..000000000000 --- a/common/static/sass/bourbon/helpers/_str-to-num.scss +++ /dev/null @@ -1,50 +0,0 @@ -//************************************************************************// -// Helper function for linear/radial-gradient-parsers. -// Source: http://sassmeister.com/gist/9647408 -//************************************************************************// -@function _str-to-num($string) { - // Matrices - $strings: '0' '1' '2' '3' '4' '5' '6' '7' '8' '9'; - $numbers: 0 1 2 3 4 5 6 7 8 9; - - // Result - $result: 0; - $divider: 0; - $minus: false; - - // Looping through all characters - @for $i from 1 through str-length($string) { - $character: str-slice($string, $i, $i); - $index: index($strings, $character); - - @if $character == '-' { - $minus: true; - } - - @else if $character == '.' { - $divider: 1; - } - - @else { - @if not $index { - $result: if($minus, $result * -1, $result); - @return _convert-units($result, str-slice($string, $i)); - } - - $number: nth($numbers, $index); - - @if $divider == 0 { - $result: $result * 10; - } - - @else { - // Move the decimal dot to the left - $divider: $divider * 10; - $number: $number / $divider; - } - - $result: $result + $number; - } - } - @return if($minus, $result * -1, $result); -} diff --git a/common/static/sass/bourbon/settings/_asset-pipeline.scss b/common/static/sass/bourbon/settings/_asset-pipeline.scss deleted file mode 100644 index d481a6afb162..000000000000 --- a/common/static/sass/bourbon/settings/_asset-pipeline.scss +++ /dev/null @@ -1 +0,0 @@ -$asset-pipeline: false !default; diff --git a/common/static/sass/bourbon/settings/_prefixer.scss b/common/static/sass/bourbon/settings/_prefixer.scss deleted file mode 100644 index ecab49fb5426..000000000000 --- a/common/static/sass/bourbon/settings/_prefixer.scss +++ /dev/null @@ -1,6 +0,0 @@ -// Variable settings for /addons/prefixer.scss -$prefix-for-webkit: true !default; -$prefix-for-mozilla: true !default; -$prefix-for-microsoft: true !default; -$prefix-for-opera: true !default; -$prefix-for-spec: true !default; // required for keyframe mixin diff --git a/common/static/sass/bourbon/settings/_px-to-em.scss b/common/static/sass/bourbon/settings/_px-to-em.scss deleted file mode 100644 index f2f9a3e8dee1..000000000000 --- a/common/static/sass/bourbon/settings/_px-to-em.scss +++ /dev/null @@ -1 +0,0 @@ -$em-base: 16px !default; diff --git a/common/static/sass/neat/_neat-helpers.scss b/common/static/sass/neat/_neat-helpers.scss deleted file mode 100644 index e915c698b945..000000000000 --- a/common/static/sass/neat/_neat-helpers.scss +++ /dev/null @@ -1,7 +0,0 @@ -// Functions -@import "functions/private"; -@import "functions/new-breakpoint"; - -// Settings -@import "settings/grid"; -@import "settings/visual-grid"; diff --git a/common/static/sass/neat/_neat.scss b/common/static/sass/neat/_neat.scss deleted file mode 100644 index e93d636e6b60..000000000000 --- a/common/static/sass/neat/_neat.scss +++ /dev/null @@ -1,21 +0,0 @@ -// Bourbon Neat 1.6.0.pre -// MIT Licensed -// Copyright (c) 2012-2013 thoughtbot, inc. - -// Helpers -@import "neat-helpers"; - -// Grid -@import "grid/private"; -@import "grid/reset"; -@import "grid/grid"; -@import "grid/omega"; -@import "grid/outer-container"; -@import "grid/span-columns"; -@import "grid/row"; -@import "grid/shift"; -@import "grid/pad"; -@import "grid/fill-parent"; -@import "grid/media"; -@import "grid/to-deprecate"; -@import "grid/visual-grid"; diff --git a/common/static/sass/neat/functions/_new-breakpoint.scss b/common/static/sass/neat/functions/_new-breakpoint.scss deleted file mode 100644 index a89c9ce6bba3..000000000000 --- a/common/static/sass/neat/functions/_new-breakpoint.scss +++ /dev/null @@ -1,16 +0,0 @@ -@function new-breakpoint($query:$feature $value $columns, $total-columns: $grid-columns) { - - @if length($query) == 1 { - $query: $default-feature nth($query, 1) $total-columns; - } - - @else if length($query) % 2 == 0 { - $query: append($query, $total-columns); - } - - @if not belongs-to($query, $visual-grid-breakpoints) { - $visual-grid-breakpoints: append($visual-grid-breakpoints, $query, comma) !global; - } - - @return $query; -} diff --git a/common/static/sass/neat/functions/_private.scss b/common/static/sass/neat/functions/_private.scss deleted file mode 100644 index 25dd271e3e14..000000000000 --- a/common/static/sass/neat/functions/_private.scss +++ /dev/null @@ -1,125 +0,0 @@ -// Checks if a number is even -@function is-even($int) { - @if $int%2 == 0 { - @return true; - } - - @return false; -} - -// Checks if an element belongs to a list -@function belongs-to($tested-item, $list) { - @each $item in $list { - @if $item == $tested-item { - @return true; - } - } - - @return false; -} - -// Contains display value -@function contains-display-value($query) { - @if belongs-to(table, $query) or belongs-to(block, $query) or belongs-to(inline-block, $query) or belongs-to(inline, $query) { - @return true; - } - - @return false; -} - -// Parses the first argument of span-columns() -@function container-span($span: $span) { - @if length($span) == 3 { - $container-columns: nth($span, 3); - @return $container-columns; - } - - @else if length($span) == 2 { - $container-columns: nth($span, 2); - @return $container-columns; - } - - @else { - @return $grid-columns; - } -} - -@function container-shift($shift: $shift) { - $parent-columns: $grid-columns !global !default; - - @if length($shift) == 3 { - $container-columns: nth($shift, 3); - @return $container-columns; - } - - @else if length($shift) == 2 { - $container-columns: nth($shift, 2); - @return $container-columns; - } - - @else { - @return $parent-columns; - } -} - -// Generates a striped background -@function gradient-stops($grid-columns, $color: $visual-grid-color) { - $transparent: $transparent; - - $column-width: flex-grid(1, $grid-columns); - $gutter-width: flex-gutter($grid-columns); - $column-offset: $column-width; - - $values: ($transparent 0, $color 0); - - @for $i from 1 to $grid-columns*2 { - @if is-even($i) { - $values: append($values, $transparent $column-offset, comma); - $values: append($values, $color $column-offset, comma); - $column-offset: $column-offset + $column-width; - } - - @else { - $values: append($values, $color $column-offset, comma); - $values: append($values, $transparent $column-offset, comma); - $column-offset: $column-offset + $gutter-width; - } - } - - @return $values; -} - -// Layout direction -@function get-direction($layout, $default) { - $direction: nil; - - @if $layout == LTR or $layout == RTL { - $direction: direction-from-layout($layout); - } @else { - $direction: direction-from-layout($default); - } - - @return $direction; -} - -@function direction-from-layout($layout) { - $direction: nil; - - @if $layout == LTR { - $direction: right; - } @else { - $direction: left; - } - - @return $direction; -} - -@function get-opposite-direction($direction) { - $opposite-direction: left; - - @if $direction == left { - $opposite-direction: right; - } - - @return $opposite-direction; -} diff --git a/common/static/sass/neat/grid/_fill-parent.scss b/common/static/sass/neat/grid/_fill-parent.scss deleted file mode 100644 index 859c97790bff..000000000000 --- a/common/static/sass/neat/grid/_fill-parent.scss +++ /dev/null @@ -1,7 +0,0 @@ -@mixin fill-parent() { - width: 100%; - - @if $border-box-sizing == false { - @include box-sizing(border-box); - } -} diff --git a/common/static/sass/neat/grid/_grid.scss b/common/static/sass/neat/grid/_grid.scss deleted file mode 100644 index e074b6c536c8..000000000000 --- a/common/static/sass/neat/grid/_grid.scss +++ /dev/null @@ -1,5 +0,0 @@ -@if $border-box-sizing == true { - * { - @include box-sizing(border-box); - } -} diff --git a/common/static/sass/neat/grid/_media.scss b/common/static/sass/neat/grid/_media.scss deleted file mode 100644 index bf27f70ee5c3..000000000000 --- a/common/static/sass/neat/grid/_media.scss +++ /dev/null @@ -1,38 +0,0 @@ -@mixin media($query:$feature $value $columns, $total-columns: $grid-columns) { - @if length($query) == 1 { - @media screen and ($default-feature: nth($query, 1)) { - $default-grid-columns: $grid-columns; - $grid-columns: $total-columns !global; - @content; - $grid-columns: $default-grid-columns !global; - } - } - - @else { - $loopTo: length($query); - $mediaQuery: 'screen and '; - $default-grid-columns: $grid-columns; - $grid-columns: $total-columns !global; - - @if length($query) % 2 != 0 { - $grid-columns: nth($query, $loopTo) !global; - $loopTo: $loopTo - 1; - } - - $i: 1; - @while $i <= $loopTo { - $mediaQuery: $mediaQuery + '(' + nth($query, $i) + ': ' + nth($query, $i + 1) + ') '; - - @if ($i + 1) != $loopTo { - $mediaQuery: $mediaQuery + 'and '; - } - - $i: $i + 2; - } - - @media #{$mediaQuery} { - @content; - $grid-columns: $default-grid-columns !global; - } - } -} diff --git a/common/static/sass/neat/grid/_omega.scss b/common/static/sass/neat/grid/_omega.scss deleted file mode 100644 index c99ed6cf8a95..000000000000 --- a/common/static/sass/neat/grid/_omega.scss +++ /dev/null @@ -1,61 +0,0 @@ -// Remove last element gutter -@mixin omega($query: block, $direction: default) { - $table: if(belongs-to(table, $query), true, false); - $auto: if(belongs-to(auto, $query), true, false); - - @if $direction != default { - @warn "The omega mixin will no longer take a $direction argument. To change the layout direction, use row($direction) or set $default-layout-direction instead." - } @else { - $direction: get-direction($layout-direction, $default-layout-direction); - } - - @if $table { - @warn "The omega mixin no longer removes padding in table layouts." - } - - @if length($query) == 1 { - @if $auto { - &:last-child { - margin-#{$direction}: 0; - } - } - - @else if contains-display-value($query) and $table == false { - margin-#{$direction}: 0; - } - - @else { - @include nth-child($query, $direction); - } - } - - @else if length($query) == 2 { - @if $auto { - &:last-child { - margin-#{$direction}: 0; - } - } - - @else { - @include nth-child(nth($query, 1), $direction); - } - } - - @else { - @warn "Too many arguments passed to the omega() mixin." - } -} - -@mixin nth-child($query, $direction) { - $opposite-direction: get-opposite-direction($direction); - - &:nth-child(#{$query}) { - margin-#{$direction}: 0; - } - - @if type-of($query) == number { - &:nth-child(#{$query}+1) { - clear: $opposite-direction; - } - } -} diff --git a/common/static/sass/neat/grid/_outer-container.scss b/common/static/sass/neat/grid/_outer-container.scss deleted file mode 100644 index 0709518132dc..000000000000 --- a/common/static/sass/neat/grid/_outer-container.scss +++ /dev/null @@ -1,8 +0,0 @@ -@mixin outer-container { - @include clearfix(); - max-width: $max-width; - margin: { - left: auto; - right: auto; - } -} diff --git a/common/static/sass/neat/grid/_pad.scss b/common/static/sass/neat/grid/_pad.scss deleted file mode 100644 index 3ef5d80e45b7..000000000000 --- a/common/static/sass/neat/grid/_pad.scss +++ /dev/null @@ -1,8 +0,0 @@ -@mixin pad($padding: flex-gutter()) { - $padding-list: null; - @each $value in $padding { - $value: if($value == 'default', flex-gutter(), $value); - $padding-list: join($padding-list, $value); - } - padding: $padding-list; -} diff --git a/common/static/sass/neat/grid/_private.scss b/common/static/sass/neat/grid/_private.scss deleted file mode 100644 index b1953368d7c8..000000000000 --- a/common/static/sass/neat/grid/_private.scss +++ /dev/null @@ -1,43 +0,0 @@ -$parent-columns: $grid-columns !default; -$fg-column: $column; -$fg-gutter: $gutter; -$fg-max-columns: $grid-columns; -$container-display-table: false !default; -$layout-direction: nil !default; - -@function flex-grid($columns, $container-columns: $fg-max-columns) { - $width: $columns * $fg-column + ($columns - 1) * $fg-gutter; - $container-width: $container-columns * $fg-column + ($container-columns - 1) * $fg-gutter; - @return percentage($width / $container-width); -} - -@function flex-gutter($container-columns: $fg-max-columns, $gutter: $fg-gutter) { - $container-width: $container-columns * $fg-column + ($container-columns - 1) * $fg-gutter; - @return percentage($gutter / $container-width); -} - -@function grid-width($n) { - @return $n * $gw-column + ($n - 1) * $gw-gutter; -} - -@function get-parent-columns($columns) { - @if $columns != $grid-columns { - $parent-columns: $columns !global; - } @else { - $parent-columns: $grid-columns !global; - } - - @return $parent-columns; -} - -@function is-display-table($container-is-display-table, $display) { - $display-table: false; - - @if $container-is-display-table == true { - $display-table: true; - } @else if $display == table { - $display-table: true; - } - - @return $display-table; -} diff --git a/common/static/sass/neat/grid/_reset.scss b/common/static/sass/neat/grid/_reset.scss deleted file mode 100644 index 496c4a775baf..000000000000 --- a/common/static/sass/neat/grid/_reset.scss +++ /dev/null @@ -1,12 +0,0 @@ -@mixin reset-display { - $container-display-table: false !global; -} - -@mixin reset-layout-direction { - $layout-direction: $default-layout-direction !global; -} - -@mixin reset-all { - @include reset-display; - @include reset-layout-direction; -} diff --git a/common/static/sass/neat/grid/_row.scss b/common/static/sass/neat/grid/_row.scss deleted file mode 100644 index 81da6d36a6cf..000000000000 --- a/common/static/sass/neat/grid/_row.scss +++ /dev/null @@ -1,17 +0,0 @@ -@mixin row($display: block, $direction: $default-layout-direction) { - @include clearfix; - $layout-direction: $direction !global; - - @if $display == table { - display: table; - @include fill-parent; - table-layout: fixed; - $container-display-table: true !global; - } - - @else { - display: block; - $container-display-table: false !global; - } -} - diff --git a/common/static/sass/neat/grid/_shift.scss b/common/static/sass/neat/grid/_shift.scss deleted file mode 100644 index 1d27b9b77f9f..000000000000 --- a/common/static/sass/neat/grid/_shift.scss +++ /dev/null @@ -1,16 +0,0 @@ -@mixin shift($n-columns: 1) { - @include shift-in-context($n-columns); -} - -@mixin shift-in-context($shift: $columns of $container-columns) { - $n-columns: nth($shift, 1); - $parent-columns: container-shift($shift) !global; - - $direction: get-direction($layout-direction, $default-layout-direction); - $opposite-direction: get-opposite-direction($direction); - - margin-#{$opposite-direction}: $n-columns * flex-grid(1, $parent-columns) + $n-columns * flex-gutter($parent-columns); - - // Reset nesting context - $parent-columns: $grid-columns !global; -} diff --git a/common/static/sass/neat/grid/_span-columns.scss b/common/static/sass/neat/grid/_span-columns.scss deleted file mode 100644 index c79193d93cf8..000000000000 --- a/common/static/sass/neat/grid/_span-columns.scss +++ /dev/null @@ -1,43 +0,0 @@ -@mixin span-columns($span: $columns of $container-columns, $display: block) { - $columns: nth($span, 1); - $container-columns: container-span($span); - - // Set nesting context (used by shift()) - $parent-columns: get-parent-columns($container-columns) !global; - - $direction: get-direction($layout-direction, $default-layout-direction); - $opposite-direction: get-opposite-direction($direction); - - $display-table: is-display-table($container-display-table, $display); - - @if $display-table { - display: table-cell; - width: percentage($columns / $container-columns); - } @else { - float: #{$opposite-direction}; - - @if $display != no-display { - display: block; - } - - @if $display == collapse { - @warn "The 'collapse' argument will be deprecated. Use 'block-collapse' instead." - } - - @if $display == collapse or $display == block-collapse { - width: flex-grid($columns, $container-columns) + flex-gutter($container-columns); - - &:last-child { - width: flex-grid($columns, $container-columns); - } - - } @else { - margin-#{$direction}: flex-gutter($container-columns); - width: flex-grid($columns, $container-columns); - - &:last-child { - margin-#{$direction}: 0; - } - } - } -} diff --git a/common/static/sass/neat/grid/_to-deprecate.scss b/common/static/sass/neat/grid/_to-deprecate.scss deleted file mode 100644 index d0a681fd12e5..000000000000 --- a/common/static/sass/neat/grid/_to-deprecate.scss +++ /dev/null @@ -1,57 +0,0 @@ -@mixin breakpoint($query:$feature $value $columns, $total-columns: $grid-columns) { - @warn "The breakpoint() mixin was renamed to media() in Neat 1.0. Please update your project with the new syntax before the next version bump."; - - @if length($query) == 1 { - @media screen and ($default-feature: nth($query, 1)) { - $default-grid-columns: $grid-columns; - $grid-columns: $total-columns; - @content; - $grid-columns: $default-grid-columns; - } - } - - @else if length($query) == 2 { - @media screen and (nth($query, 1): nth($query, 2)) { - $default-grid-columns: $grid-columns; - $grid-columns: $total-columns; - @content; - $grid-columns: $default-grid-columns; - } - } - - @else if length($query) == 3 { - @media screen and (nth($query, 1): nth($query, 2)) { - $default-grid-columns: $grid-columns; - $grid-columns: nth($query, 3); - @content; - $grid-columns: $default-grid-columns; - } - } - - @else if length($query) == 4 { - @media screen and (nth($query, 1): nth($query, 2)) and (nth($query, 3): nth($query, 4)) { - $default-grid-columns: $grid-columns; - $grid-columns: $total-columns; - @content; - $grid-columns: $default-grid-columns; - } - } - - @else if length($query) == 5 { - @media screen and (nth($query, 1): nth($query, 2)) and (nth($query, 3): nth($query, 4)) { - $default-grid-columns: $grid-columns; - $grid-columns: nth($query, 5); - @content; - $grid-columns: $default-grid-columns; - } - } - - @else { - @warn "Wrong number of arguments for breakpoint(). Read the documentation for more details."; - } -} - -@mixin nth-omega($nth, $display: block, $direction: default) { - @warn "The nth-omega() mixin is deprecated. Please use omega() instead."; - @include omega($nth $display, $direction); -} diff --git a/common/static/sass/neat/grid/_visual-grid.scss b/common/static/sass/neat/grid/_visual-grid.scss deleted file mode 100644 index 76defd2ca9ed..000000000000 --- a/common/static/sass/neat/grid/_visual-grid.scss +++ /dev/null @@ -1,41 +0,0 @@ -@mixin grid-column-gradient($values...) { - background-image: deprecated-webkit-gradient(linear, left top, left bottom, $values); - background-image: -webkit-linear-gradient(left, $values); - background-image: -moz-linear-gradient(left, $values); - background-image: -ms-linear-gradient(left, $values); - background-image: -o-linear-gradient(left, $values); - background-image: unquote("linear-gradient(left, #{$values})"); -} - -@if $visual-grid == true or $visual-grid == yes { - body:before { - content: ''; - display: inline-block; - @include grid-column-gradient(gradient-stops($grid-columns)); - height: 100%; - left: 0; - margin: 0 auto; - max-width: $max-width; - opacity: $visual-grid-opacity; - position: fixed; - right: 0; - width: 100%; - pointer-events: none; - - @if $visual-grid-index == back { - z-index: -1; - } - - @else if $visual-grid-index == front { - z-index: 9999; - } - - @each $breakpoint in $visual-grid-breakpoints { - @if $breakpoint != nil { - @include media($breakpoint) { - @include grid-column-gradient(gradient-stops($grid-columns)); - } - } - } - } -} diff --git a/common/static/sass/neat/settings/_grid.scss b/common/static/sass/neat/settings/_grid.scss deleted file mode 100644 index f1dcda478046..000000000000 --- a/common/static/sass/neat/settings/_grid.scss +++ /dev/null @@ -1,7 +0,0 @@ -$column: golden-ratio(1em, 3) !default; // Column width -$gutter: golden-ratio(1em, 1) !default; // Gutter between each two columns -$grid-columns: 12 !default; // Total number of columns in the grid -$max-width: em(1088) !default; // Max-width of the outer container -$border-box-sizing: true !default; // Makes all elements have a border-box layout -$default-feature: min-width; // Default @media feature for the breakpoint() mixin -$default-layout-direction: LTR !default; diff --git a/common/static/sass/neat/settings/_visual-grid.scss b/common/static/sass/neat/settings/_visual-grid.scss deleted file mode 100644 index 611c2b37274d..000000000000 --- a/common/static/sass/neat/settings/_visual-grid.scss +++ /dev/null @@ -1,5 +0,0 @@ -$visual-grid: false !default; // Display the base grid -$visual-grid-color: #EEE !default; -$visual-grid-index: back !default; // Show grid behind content (back) or overlay it over the content (front) -$visual-grid-opacity: 0.4 !default; -$visual-grid-breakpoints: () !default; diff --git a/lms/envs/common.py b/lms/envs/common.py index 4146828573eb..ae8c7f4dc43c 100644 --- a/lms/envs/common.py +++ b/lms/envs/common.py @@ -354,6 +354,7 @@ PROJECT_ROOT = path(__file__).abspath().dirname().dirname() # /edx-platform/lms REPO_ROOT = PROJECT_ROOT.dirname() COMMON_ROOT = REPO_ROOT / "common" +BOWER_ROOT = REPO_ROOT / "bower_components" ENV_ROOT = REPO_ROOT.dirname() # virtualenv dir /edx-platform is in COURSES_ROOT = ENV_ROOT / "data" @@ -730,8 +731,26 @@ STATIC_ROOT = ENV_ROOT / "staticfiles" STATICFILES_DIRS = [ - COMMON_ROOT / "static", - PROJECT_ROOT / "static", + ("css", COMMON_ROOT / "static/css"), + ("css", PROJECT_ROOT / "static/css"), + + ("js", COMMON_ROOT / "static/js"), + ("js", PROJECT_ROOT / "static/js"), + + ("fonts", PROJECT_ROOT / "static/fonts"), + ("font", BOWER_ROOT / "font-awesome/font"), + + ("images", COMMON_ROOT / "static/images"), + ("images", PROJECT_ROOT / "static/images"), + + ("xmodule", COMMON_ROOT / "static/xmodule"), + + # All these should not be here + + ("coffee", COMMON_ROOT / "static/coffee"), + ("coffee", PROJECT_ROOT / "static/coffee"), + + ("sass", PROJECT_ROOT / "static/sass") ] FAVICON_PATH = 'images/favicon.ico' @@ -1142,114 +1161,6 @@ 'js/verify_student/pay_and_verify.js', ] -PIPELINE_CSS = { - 'style-vendor': { - 'source_filenames': [ - 'css/vendor/font-awesome.css', - 'css/vendor/jquery.qtip.min.css', - 'css/vendor/responsive-carousel/responsive-carousel.css', - 'css/vendor/responsive-carousel/responsive-carousel.slide.css', - ], - 'output_filename': 'css/lms-style-vendor.css', - }, - 'style-vendor-tinymce-content': { - 'source_filenames': [ - 'js/vendor/tinymce/js/tinymce/skins/studio-tmce4/content.min.css' - ], - 'output_filename': 'css/lms-style-vendor-tinymce-content.css', - }, - 'style-vendor-tinymce-skin': { - 'source_filenames': [ - 'js/vendor/tinymce/js/tinymce/skins/studio-tmce4/skin.min.css' - ], - 'output_filename': 'css/lms-style-vendor-tinymce-skin.css', - }, - 'style-app': { - 'source_filenames': [ - 'sass/application.css', - 'sass/ie.css' - ], - 'output_filename': 'css/lms-style-app.css', - }, - 'style-app-extend1': { - 'source_filenames': [ - 'sass/application-extend1.css', - ], - 'output_filename': 'css/lms-style-app-extend1.css', - }, - 'style-app-extend2': { - 'source_filenames': [ - 'sass/application-extend2.css', - ], - 'output_filename': 'css/lms-style-app-extend2.css', - }, - 'style-app-rtl': { - 'source_filenames': [ - 'sass/application-rtl.css', - 'sass/ie-rtl.css' - ], - 'output_filename': 'css/lms-style-app-rtl.css', - }, - 'style-app-extend1-rtl': { - 'source_filenames': [ - 'sass/application-extend1-rtl.css', - ], - 'output_filename': 'css/lms-style-app-extend1-rtl.css', - }, - 'style-app-extend2-rtl': { - 'source_filenames': [ - 'sass/application-extend2-rtl.css', - ], - 'output_filename': 'css/lms-style-app-extend2-rtl.css', - }, - 'style-course-vendor': { - 'source_filenames': [ - 'js/vendor/CodeMirror/codemirror.css', - 'css/vendor/jquery.treeview.css', - 'css/vendor/ui-lightness/jquery-ui-1.8.22.custom.css', - ], - 'output_filename': 'css/lms-style-course-vendor.css', - }, - 'style-student-notes': { - 'source_filenames': [ - 'css/vendor/edxnotes/annotator.min.css', - ], - 'output_filename': 'css/lms-style-student-notes.css', - }, - 'style-course': { - 'source_filenames': [ - 'sass/course.css', - 'xmodule/modules.css', - ], - 'output_filename': 'css/lms-style-course.css', - }, - 'style-course-rtl': { - 'source_filenames': [ - 'sass/course-rtl.css', - 'xmodule/modules.css', - ], - 'output_filename': 'css/lms-style-course-rtl.css', - }, - 'style-xmodule-annotations': { - 'source_filenames': [ - 'css/vendor/ova/annotator.css', - 'css/vendor/ova/edx-annotator.css', - 'css/vendor/ova/video-js.min.css', - 'css/vendor/ova/rangeslider.css', - 'css/vendor/ova/share-annotator.css', - 'css/vendor/ova/richText-annotator.css', - 'css/vendor/ova/tags-annotator.css', - 'css/vendor/ova/flagging-annotator.css', - 'css/vendor/ova/diacritic-annotator.css', - 'css/vendor/ova/grouping-annotator.css', - 'css/vendor/ova/ova.css', - 'js/vendor/ova/catch/css/main.css' - ], - 'output_filename': 'css/lms-style-xmodule-annotations.css', - }, -} - - common_js = set(rooted_glob(COMMON_ROOT / 'static', 'coffee/src/**/*.js')) - set(courseware_js + discussion_js + staff_grading_js + open_ended_js + notes_js + instructor_dash_js) project_js = set(rooted_glob(PROJECT_ROOT / 'static', 'coffee/src/**/*.js')) - set(courseware_js + discussion_js + staff_grading_js + open_ended_js + notes_js + instructor_dash_js) @@ -1356,7 +1267,6 @@ os.system("coffee -c %s" % (js_dir / filename)) -PIPELINE_CSS_COMPRESSOR = None PIPELINE_JS_COMPRESSOR = "pipeline.compressors.uglifyjs.UglifyJSCompressor" STATICFILES_IGNORE_PATTERNS = ( diff --git a/lms/envs/dev.py b/lms/envs/dev.py index 718be6318366..a2864b8cd59d 100644 --- a/lms/envs/dev.py +++ b/lms/envs/dev.py @@ -270,10 +270,6 @@ FEATURES['AUTH_USE_SHIB'] = True FEATURES['RESTRICT_ENROLL_BY_REG_METHOD'] = True -########################### PIPELINE ################################# - -PIPELINE_SASS_ARGUMENTS = '--debug-info --require {proj_dir}/static/sass/bourbon/lib/bourbon.rb'.format(proj_dir=PROJECT_ROOT) - ########################## ANALYTICS TESTING ######################## ANALYTICS_SERVER_URL = "http://127.0.0.1:9000/" diff --git a/lms/envs/devstack.py b/lms/envs/devstack.py index 4606d6f3023f..76f59656b5dd 100644 --- a/lms/envs/devstack.py +++ b/lms/envs/devstack.py @@ -72,10 +72,6 @@ 'SHOW_TOOLBAR_CALLBACK': lambda _: True, } -########################### PIPELINE ################################# - -PIPELINE_SASS_ARGUMENTS = '--debug-info --require {proj_dir}/static/sass/bourbon/lib/bourbon.rb'.format(proj_dir=PROJECT_ROOT) - ########################### VERIFIED CERTIFICATES ################################# FEATURES['AUTOMATIC_VERIFY_STUDENT_IDENTITY_FOR_TESTING'] = True diff --git a/lms/envs/edx4edx_aws.py b/lms/envs/edx4edx_aws.py index 13a1e1b9f71f..9d470a9737ce 100644 --- a/lms/envs/edx4edx_aws.py +++ b/lms/envs/edx4edx_aws.py @@ -12,7 +12,6 @@ ### Dark code. Should be enabled in local settings for devel. ENABLE_MULTICOURSE = True # set to False to disable multicourse display (see lib.util.views.edxhome) ### -PIPELINE_CSS_COMPRESSOR = None PIPELINE_JS_COMPRESSOR = None COURSE_DEFAULT = 'edx4edx' diff --git a/lms/static/sass/README.txt b/lms/static/sass/README.txt deleted file mode 100644 index 5523d207acb3..000000000000 --- a/lms/static/sass/README.txt +++ /dev/null @@ -1,3 +0,0 @@ -Sass Watch: - -sass --watch lms/static/sass:lms/static/sass -r ./lms/static/sass/bourbon/lib/bourbon.rb diff --git a/lms/static/sass/application-extend1-rtl.scss.mako b/lms/static/sass/application-extend1-rtl.scss.mako index a7e8fe9a7a1c..a01a54482354 100644 --- a/lms/static/sass/application-extend1-rtl.scss.mako +++ b/lms/static/sass/application-extend1-rtl.scss.mako @@ -4,8 +4,8 @@ // ==================== // libs and resets *do not edit* -@import 'bourbon/bourbon'; // lib - bourbon -@import 'vendor/bi-app/bi-app-rtl'; // set the layout for right to left languages +@import 'bourbon/dist/bourbon'; // lib - bourbon +@import 'bi-app-sass/bi-app/bi-app-rtl'; // set the layout for right to left languages // BASE *default edX offerings* // ==================== diff --git a/lms/static/sass/application-extend1.scss.mako b/lms/static/sass/application-extend1.scss.mako index beb628e65395..706e20ceb1ce 100644 --- a/lms/static/sass/application-extend1.scss.mako +++ b/lms/static/sass/application-extend1.scss.mako @@ -4,8 +4,8 @@ // ==================== // libs and resets *do not edit* -@import 'bourbon/bourbon'; // lib - bourbon -@import 'vendor/bi-app/bi-app-ltr'; // set the layout for left to right languages +@import 'bourbon/dist/bourbon'; // lib - bourbon +@import 'bi-app-sass/bi-app/bi-app-ltr'; // set the layout for left to right languages // BASE *default edX offerings* // ==================== diff --git a/lms/static/sass/application-extend2-rtl.scss.mako b/lms/static/sass/application-extend2-rtl.scss.mako index 7535f6a7c4f6..fc81049ba582 100644 --- a/lms/static/sass/application-extend2-rtl.scss.mako +++ b/lms/static/sass/application-extend2-rtl.scss.mako @@ -4,8 +4,8 @@ // ==================== // libs and resets *do not edit* -@import 'bourbon/bourbon'; // lib - bourbon -@import 'vendor/bi-app/bi-app-rtl'; // set the layout for right to left languages +@import 'bourbon/dist/bourbon'; // lib - bourbon +@import 'bi-app-sass/bi-app/bi-app-rtl'; // set the layout for right to left languages // BASE *default edX offerings* // ==================== diff --git a/lms/static/sass/application-extend2.scss.mako b/lms/static/sass/application-extend2.scss.mako index b1ff2a6a2152..2a38f299499c 100644 --- a/lms/static/sass/application-extend2.scss.mako +++ b/lms/static/sass/application-extend2.scss.mako @@ -4,8 +4,8 @@ // ==================== // libs and resets *do not edit* -@import 'bourbon/bourbon'; // lib - bourbon -@import 'vendor/bi-app/bi-app-ltr'; // set the layout for left to right languages +@import 'bourbon/dist/bourbon'; // lib - bourbon +@import 'bi-app-sass/bi-app/bi-app-ltr'; // set the layout for left to right languages // BASE *default edX offerings* diff --git a/lms/static/sass/application-rtl.scss.mako b/lms/static/sass/application-rtl.scss.mako index 2336fe85c02f..35beee86cf7e 100644 --- a/lms/static/sass/application-rtl.scss.mako +++ b/lms/static/sass/application-rtl.scss.mako @@ -4,8 +4,8 @@ // ==================== // libs and resets *do not edit* -@import 'bourbon/bourbon'; // lib - bourbon -@import 'vendor/bi-app/bi-app-rtl'; // set the layout for right to left languages +@import 'bourbon/dist/bourbon'; // lib - bourbon +@import 'bi-app-sass/bi-app/bi-app-rtl'; // set the layout for right to left languages // BASE *default edX offerings* // ==================== diff --git a/lms/static/sass/application.scss.mako b/lms/static/sass/application.scss.mako index 80a8e95a8337..8befd7cb9d65 100644 --- a/lms/static/sass/application.scss.mako +++ b/lms/static/sass/application.scss.mako @@ -4,8 +4,8 @@ // ==================== // libs and resets *do not edit* -@import 'bourbon/bourbon'; // lib - bourbon -@import 'vendor/bi-app/bi-app-ltr'; // set the layout for left to right languages +@import 'bourbon/dist/bourbon'; // lib - bourbon +@import 'bi-app-sass/bi-app/bi-app-ltr'; // set the layout for left to right languages // BASE *default edX offerings* // ==================== diff --git a/lms/static/sass/base/_grid-settings.scss b/lms/static/sass/base/_grid-settings.scss index 582472519ef4..7b04652920b0 100644 --- a/lms/static/sass/base/_grid-settings.scss +++ b/lms/static/sass/base/_grid-settings.scss @@ -1,4 +1,4 @@ -@import "neat/neat-helpers"; // or "neat-helpers" when in Rails +@import "neat/app/assets/stylesheets/neat-helpers"; // or "neat-helpers" when in Rails /* Change the grid settings */ $max-width: 1200px; diff --git a/lms/static/sass/course-rtl.scss.mako b/lms/static/sass/course-rtl.scss.mako index fdef27cbe2a1..952b4a118443 100644 --- a/lms/static/sass/course-rtl.scss.mako +++ b/lms/static/sass/course-rtl.scss.mako @@ -1,5 +1,5 @@ -@import 'bourbon/bourbon'; -@import 'vendor/bi-app/bi-app-rtl'; // set the layout for right to left languages +@import 'bourbon/dist/bourbon'; +@import 'bi-app-sass/bi-app/bi-app-rtl'; // set the layout for right to left languages @import 'base/reset'; @import 'base/font_face'; diff --git a/lms/static/sass/course.scss.mako b/lms/static/sass/course.scss.mako index b6cb030d79ca..3f9fcc8f5656 100644 --- a/lms/static/sass/course.scss.mako +++ b/lms/static/sass/course.scss.mako @@ -1,5 +1,5 @@ -@import 'bourbon/bourbon'; -@import 'vendor/bi-app/bi-app-ltr'; // set the layout for left to right languages +@import 'bourbon/dist/bourbon'; +@import 'bi-app-sass/bi-app/bi-app-ltr'; // set the layout for left to right languages @import 'base/reset'; @import 'base/font_face'; diff --git a/lms/static/sass/course/instructor/_instructor_2.scss b/lms/static/sass/course/instructor/_instructor_2.scss index 8fddfd6b0047..73567da95b92 100644 --- a/lms/static/sass/course/instructor/_instructor_2.scss +++ b/lms/static/sass/course/instructor/_instructor_2.scss @@ -796,7 +796,7 @@ } input[disabled] { @include border-radius(4px 0 0 4px); - @include padding(6px 6px 5px); + @include padding(6px, 6px, 5px, 5px); border: 1px solid $lightGrey1; cursor: not-allowed; } @@ -1052,7 +1052,7 @@ .cohort-section-header { margin-top: ($baseline*1.5); - @include padding($baseline 0 ($baseline/2) 0); + @include padding($baseline, 0, ($baseline/2), 0); } .cohort-section-header > .form-field { @@ -1088,7 +1088,7 @@ a { padding-bottom: ($baseline - 5); border-style: solid; - @include border-width(1px 1px 0 1px); + @include border-width(1px, 1px, 0, 1px); border-color: $gray-l4; background: $white; color: inherit; @@ -1099,7 +1099,7 @@ } .tab-content { - @include padding($baseline $baseline 0 $baseline); + @include padding($baseline, $baseline, 0, $baseline); border: 1px solid $gray-l5; &.new-cohort-form { @@ -1582,7 +1582,7 @@ input[name="subject"] { @extend .button-reset; } .modal-form-error { - @include margin($baseline 0 ($baseline/2) 0); + @include margin($baseline, 0, ($baseline/2), 0); padding: $baseline; box-shadow: inset 0 -1px 2px 0 #f3d9db; -webkit-box-sizing: border-box; @@ -1855,7 +1855,7 @@ input[name="subject"] { span.code_tip { display: block; margin-bottom: 30px; - @include padding(($baseline/2) 15px ($baseline/2) 0); + @include padding(($baseline/2), 15px, ($baseline/2), 0); color: #3C3C3C; line-height: 30px; .add{ @@ -1868,7 +1868,7 @@ input[name="subject"] { display: block; line-height: 30px; margin-bottom: 6px; - @include padding(($baseline/2) 15px ($baseline/2) 1px); + @include padding(($baseline/2), 15px, ($baseline/2), 1px); .add{ font-size: em(13); } @@ -1877,7 +1877,7 @@ input[name="subject"] { display: block; height: 37px; margin-bottom: 6px; - @include padding(($baseline/2) 15px ($baseline/2) 1px); + @include padding(($baseline/2), 15px, ($baseline/2), 1px); background: none repeat scroll 0 0 #F8F4EC; color: #3C3C3C; line-height: 30px; diff --git a/lms/static/sass/ie.scss b/lms/static/sass/ie.scss index b4acb8dfa1ef..d1d0fdfaeb07 100644 --- a/lms/static/sass/ie.scss +++ b/lms/static/sass/ie.scss @@ -1,4 +1,4 @@ -@import "bourbon/bourbon"; +@import "bourbon/dist/bourbon"; @import "base/variables"; // These are all quick solutions for IE please rewrite diff --git a/lms/static/sass/shared/_footer.scss b/lms/static/sass/shared/_footer.scss index a70f4e21653d..25da40ffc0b3 100644 --- a/lms/static/sass/shared/_footer.scss +++ b/lms/static/sass/shared/_footer.scss @@ -1,7 +1,7 @@ // Open edX: LMS footer // ==================== @import '../base/grid-settings'; -@import 'neat/neat'; // lib - Neat +@import 'neat/app/assets/stylesheets/neat'; // lib - Neat .wrapper-footer { box-shadow: 0 -1px 5px 0 $shadow-l1; diff --git a/lms/static/sass/shared/_header.scss b/lms/static/sass/shared/_header.scss index 29cf06b520f1..10626a11fb79 100644 --- a/lms/static/sass/shared/_header.scss +++ b/lms/static/sass/shared/_header.scss @@ -1,5 +1,5 @@ @import '../base/grid-settings'; -@import 'neat/neat'; // lib - Neat +@import 'neat/app/assets/stylesheets/neat'; // lib - Neat header.global { @extend %ui-depth1; diff --git a/lms/static/sass/vendor/bi-app/_bi-app-ltr.scss b/lms/static/sass/vendor/bi-app/_bi-app-ltr.scss deleted file mode 100755 index 6278a31380e8..000000000000 --- a/lms/static/sass/vendor/bi-app/_bi-app-ltr.scss +++ /dev/null @@ -1,11 +0,0 @@ -// ------------------------------------------ -// left to right module -// authors: -// twitter.com/anasnakawa -// twitter.com/victorzamfir -// licensed under the MIT license -// http://www.opensource.org/licenses/mit-license.php -// ------------------------------------------ - -@import 'variables-ltr'; -@import 'mixins'; \ No newline at end of file diff --git a/lms/static/sass/vendor/bi-app/_bi-app-rtl.scss b/lms/static/sass/vendor/bi-app/_bi-app-rtl.scss deleted file mode 100755 index 17b7f2e90fe7..000000000000 --- a/lms/static/sass/vendor/bi-app/_bi-app-rtl.scss +++ /dev/null @@ -1,11 +0,0 @@ -// ------------------------------------------ -// right to left module -// authors: -// twitter.com/anasnakawa -// twitter.com/victorzamfir -// licensed under the MIT license -// http://www.opensource.org/licenses/mit-license.php -// ------------------------------------------ - -@import 'variables-rtl'; -@import 'mixins'; \ No newline at end of file diff --git a/lms/static/sass/vendor/bi-app/_mixins.scss b/lms/static/sass/vendor/bi-app/_mixins.scss deleted file mode 100755 index 353999671d4c..000000000000 --- a/lms/static/sass/vendor/bi-app/_mixins.scss +++ /dev/null @@ -1,294 +0,0 @@ -// ------------------------------------------ -// bi app mixins -// authors: -// twitter.com/anasnakawa -// twitter.com/victorzamfir -// licensed under the MIT license -// http://www.opensource.org/licenses/mit-license.php -// ------------------------------------------ - -// ------------------------------------------ -// Table of contents -// ------------------------------------------ -// padding -// margin -// float -// text align -// clear -// left / right -// border -// - width -// - style -// - color -// - generic -// - radius -// ltr / rtl contents -// ------------------------------------------ - -// generic mixin for properties with values -// (top right bottom left) -// ------------------------------------------ -@mixin bi-app-compact($property, $top, $right, $bottom, $left) { - @if $bi-app-direction == ltr { - #{$property}: $top $right $bottom $left; - } @else { - #{$property}: $top $left $bottom $right; - } -} - -// padding -// ------------------------------------------ -@mixin padding-left($distance) { - padding-#{$bi-app-left}: $distance; -} - -@mixin padding-right($distance) { - padding-#{$bi-app-right}: $distance; -} - -@mixin padding($top, $right, $bottom, $left) { - @include bi-app-compact(padding, $top, $right, $bottom, $left); -} - -// margin -// ------------------------------------------ -@mixin margin-left($distance) { - margin-#{$bi-app-left}: $distance; -} - -@mixin margin-right($distance) { - margin-#{$bi-app-right}: $distance; -} - -@mixin margin($top, $right, $bottom, $left) { - @include bi-app-compact(margin, $top, $right, $bottom, $left); -} - -// float -// ------------------------------------------ -@mixin bi-app-float-left { - float: $bi-app-left; -} - -@mixin bi-app-float-right { - float: $bi-app-right; -} - -@mixin float($direction) { - @if $direction == left { - @include bi-app-float-left; - } @else if $direction == right { - @include bi-app-float-right; - } @else { - float: $direction; - } -} - -// text align -// ------------------------------------------ -@mixin bi-app-text-align-left { - text-align: $bi-app-left; -} - -@mixin bi-app-text-align-right { - text-align: $bi-app-right; -} - -@mixin text-align($direction) { - @if $direction == left { - @include bi-app-text-align-left; - } @else if $direction == right { - @include bi-app-text-align-right; - } @else { - text-align: $direction; - } -} - -// clear -// ------------------------------------------ -@mixin bi-app-clear-left { - clear: $bi-app-left; -} - -@mixin bi-app-clear-right { - clear: $bi-app-right; -} - -@mixin clear($direction) { - @if $direction == left { - @include bi-app-clear-left; - } @else if $direction == right { - @include bi-app-clear-right; - } @else { - clear: $direction; - } -} - -// left / right -// ------------------------------------------ -@mixin left($distance) { - @if $bi-app-direction == ltr { - left: $distance; - } @else if $bi-app-direction == rtl { - right: $distance; - } -} - -@mixin right($distance) { - @if $bi-app-direction == ltr { - right: $distance; - } @else if $bi-app-direction == rtl { - left: $distance; - } -} - -// border -// ------------------------------------------ - -// width -@mixin border-left-width($width) { - border-#{$bi-app-left}-width: $width; -} - -@mixin border-right-width($width) { - border-#{$bi-app-right}-width: $width; -} - -@mixin border-width($top, $right, $bottom, $left) { - @include bi-app-compact(border-width, $top, $right, $bottom, $left); -} - -// style -@mixin border-left-style($style) { - border-#{$bi-app-left}-style: $style; -} - -@mixin border-right-style($style) { - border-#{$bi-app-right}-style: $style; -} - -@mixin border-style($top, $right, $bottom, $left) { - @include bi-app-compact(border-style, $top, $right, $bottom, $left); -} - -// color -@mixin border-left-color($color) { - border-#{$bi-app-left}-color: $color; -} - -@mixin border-right-color($color) { - border-#{$bi-app-right}-color: $color; -} - -@mixin border-color($top, $right, $bottom, $left) { - @include bi-app-compact(border-color, $top, $right, $bottom, $left); -} - -// generic -@mixin border-left($border-style) { - border-#{$bi-app-left}: $border-style; -} - -@mixin border-right($border-style) { - border-#{$bi-app-right}: $border-style; -} - -// radius -@mixin border-top-left-radius($radius) { - -webkit-border-top-#{$bi-app-left}-radius: $radius; - -moz-border-top#{$bi-app-left}-radius: $radius; - border-top-#{$bi-app-left}-radius: $radius; -} - -@mixin border-top-right-radius($radius) { - -webkit-border-top-#{$bi-app-right}-radius: $radius; - -moz-border-top#{$bi-app-right}-radius: $radius; - border-top-#{$bi-app-right}-radius: $radius; -} - -@mixin border-bottom-left-radius($radius) { - -webkit-border-bottom-#{$bi-app-left}-radius: $radius; - -moz-border-bottom#{$bi-app-left}-radius: $radius; - border-bottom-#{$bi-app-left}-radius: $radius; -} - -@mixin border-bottom-right-radius($radius) { - -webkit-border-bottom-#{$bi-app-right}-radius: $radius; - -moz-border-bottom#{$bi-app-right}-radius: $radius; - border-bottom-#{$bi-app-right}-radius: $radius; -} - -@mixin border-right-radius($radius) { - @include border-top-right-radius($radius); - @include border-bottom-right-radius($radius); -} - -@mixin border-left-radius($radius) { - @include border-top-left-radius($radius); - @include border-bottom-left-radius($radius); -} - -@mixin border-top-radius($radius) { - @include border-top-left-radius($radius); - @include border-top-right-radius($radius); -} - -@mixin border-bottom-radius($radius) { - @include border-bottom-left-radius($radius); - @include border-bottom-right-radius($radius); -} - -@mixin border-radius($topLeft, $topRight: null, $bottomRight: null, $bottomLeft: null) { - @if $topRight != null { - @include border-top-left-radius($topLeft); - @include border-top-right-radius($topRight); - @include border-bottom-right-radius($bottomRight); - @include border-bottom-left-radius($bottomLeft); - } @else { - -webkit-border-radius: $topLeft; - -moz-border-radius: $topLeft; - -ms-border-radius: $topLeft; - -o-border-radius: $topLeft; - border-radius: $topLeft; - } -} - -// Returns "en" or "ar", useful for image suffixes. -// Usage: background-image: url(/img/header-#{lang()}.png); -@function lang() { - @if $bi-app-direction == ltr { - @return 'en'; - } @else { - @return 'ar'; - } -} - -// Support for "direction" declaration (renders ltr/rtl). -// Useful for form elements as they swap the text-indent property and align the text accordingly. -@mixin direction { - direction: $bi-app-direction; -} - -// Inverts a percentage value. Example: 97% becames 3%. -// Useful for background-position. -@function bi-app-invert-percentage($percentage) { - @if $bi-app-direction == rtl { - @return 100% - $percentage; - } @else { - @return $percentage; - } -} - -// ltr / rtl contents -// ------------------------------------------ -@mixin ltr { - @if $bi-app-direction == ltr { - @content; - } -} - -@mixin rtl { - @if $bi-app-direction == rtl { - @content; - } -} diff --git a/lms/static/sass/vendor/bi-app/_variables-ltr.scss b/lms/static/sass/vendor/bi-app/_variables-ltr.scss deleted file mode 100755 index 36d5a7b06e15..000000000000 --- a/lms/static/sass/vendor/bi-app/_variables-ltr.scss +++ /dev/null @@ -1,15 +0,0 @@ -// ------------------------------------------ -// left to right variables to be used by bi-app mixins -// authors: -// twitter.com/anasnakawa -// twitter.com/victorzamfir -// licensed under the MIT license -// http://www.opensource.org/licenses/mit-license.php -// ------------------------------------------ - -// namespacing variables with bi-app to -// avoid conflicting with other global variables -$bi-app-left : left; -$bi-app-right : right; -$bi-app-direction : ltr; -$bi-app-invert-direction: rtl; \ No newline at end of file diff --git a/lms/static/sass/vendor/bi-app/_variables-rtl.scss b/lms/static/sass/vendor/bi-app/_variables-rtl.scss deleted file mode 100755 index 7300f1786357..000000000000 --- a/lms/static/sass/vendor/bi-app/_variables-rtl.scss +++ /dev/null @@ -1,15 +0,0 @@ -// ------------------------------------------ -// right to left variables to be used by bi-app mixins -// authors: -// twitter.com/anasnakawa -// twitter.com/victorzamfir -// licensed under the MIT license -// http://www.opensource.org/licenses/mit-license.php -// ------------------------------------------ - -// namespacing variables with bi-app to -// avoid conflicting with other global variables -$bi-app-left : right; -$bi-app-right : left; -$bi-app-direction : rtl; -$bi-app-invert-direction: ltr; \ No newline at end of file diff --git a/lms/static/sass/views/_login-register.scss b/lms/static/sass/views/_login-register.scss index 446705589010..8864484c0ee8 100644 --- a/lms/static/sass/views/_login-register.scss +++ b/lms/static/sass/views/_login-register.scss @@ -1,7 +1,7 @@ // lms - views - login/register view // ==================== @import '../base/grid-settings'; -@import "neat/neat"; // lib - Neat +@import "neat/app/assets/stylesheets/neat"; // lib - Neat %heading-4 { font-size: 14px; diff --git a/lms/static/sass/views/_verification.scss b/lms/static/sass/views/_verification.scss index 2d532225d2ff..179831202359 100644 --- a/lms/static/sass/views/_verification.scss +++ b/lms/static/sass/views/_verification.scss @@ -1,7 +1,7 @@ // lms - views - verification flow // ==================== @import '../base/grid-settings'; -@import 'neat/neat'; // lib - Neat +@import 'neat/app/assets/stylesheets/neat'; // lib - Neat // MISC: extends - button %btn-verify-primary { @@ -1388,7 +1388,7 @@ } } - @include media(min-width 550px max-width 768px) { + @include media($tablet) { .contribution-options { .field { @include span-columns(6); diff --git a/lms/templates/courseware/courseware-error.html b/lms/templates/courseware/courseware-error.html index 8829ba3811ec..ddd3d4bb51f4 100644 --- a/lms/templates/courseware/courseware-error.html +++ b/lms/templates/courseware/courseware-error.html @@ -5,8 +5,8 @@ <%block name="pagetitle">${_("Courseware")} <%block name="headextra"> -<%static:css group='style-course-vendor'/> -<%static:css group='style-course'/> + + <%include file="/courseware/course_navigation.html" args="active_page='courseware'" /> diff --git a/lms/templates/courseware/courseware.html b/lms/templates/courseware/courseware.html index b11ffb1d54ce..29598d5edbbf 100644 --- a/lms/templates/courseware/courseware.html +++ b/lms/templates/courseware/courseware.html @@ -33,8 +33,8 @@ <%block name="headextra"> -<%static:css group='style-course-vendor'/> -<%static:css group='style-course'/> + + ## Utility: Notes % if is_edxnotes_enabled(course): <%static:css group='style-student-notes'/> diff --git a/lms/templates/courseware/gradebook.html b/lms/templates/courseware/gradebook.html index a293267c724f..5a32f7b8713e 100644 --- a/lms/templates/courseware/gradebook.html +++ b/lms/templates/courseware/gradebook.html @@ -11,8 +11,8 @@ <%block name="headextra"> -<%static:css group='style-course-vendor'/> -<%static:css group='style-course'/> + +