diff --git a/.gitignore b/.gitignore index f356293..882edcb 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,5 @@ +node_modules + lib-cov *.seed *.log diff --git a/admin/.bowerrc b/admin/.bowerrc new file mode 100644 index 0000000..ba0accc --- /dev/null +++ b/admin/.bowerrc @@ -0,0 +1,3 @@ +{ + "directory": "app/bower_components" +} diff --git a/admin/.editorconfig b/admin/.editorconfig new file mode 100644 index 0000000..c2cdfb8 --- /dev/null +++ b/admin/.editorconfig @@ -0,0 +1,21 @@ +# EditorConfig helps developers define and maintain consistent +# coding styles between different editors and IDEs +# editorconfig.org + +root = true + + +[*] + +# Change these settings to your own preference +indent_style = space +indent_size = 2 + +# We recommend you to keep these unchanged +end_of_line = lf +charset = utf-8 +trim_trailing_whitespace = true +insert_final_newline = true + +[*.md] +trim_trailing_whitespace = false diff --git a/admin/.gitattributes b/admin/.gitattributes new file mode 100644 index 0000000..2125666 --- /dev/null +++ b/admin/.gitattributes @@ -0,0 +1 @@ +* text=auto \ No newline at end of file diff --git a/admin/.gitignore b/admin/.gitignore new file mode 100644 index 0000000..7911b28 --- /dev/null +++ b/admin/.gitignore @@ -0,0 +1,5 @@ +node_modules +dist +.tmp +.sass-cache +app/bower_components diff --git a/admin/.jshintrc b/admin/.jshintrc new file mode 100644 index 0000000..40377ba --- /dev/null +++ b/admin/.jshintrc @@ -0,0 +1,24 @@ +{ + "node": true, + "browser": true, + "esnext": true, + "bitwise": true, + "camelcase": true, + "curly": true, + "eqeqeq": true, + "immed": true, + "indent": 2, + "latedef": true, + "newcap": true, + "noarg": true, + "quotmark": "single", + "regexp": true, + "undef": true, + "unused": true, + "strict": true, + "trailing": true, + "smarttabs": true, + "globals": { + "angular": false + } +} diff --git a/admin/.travis.yml b/admin/.travis.yml new file mode 100644 index 0000000..83f4e22 --- /dev/null +++ b/admin/.travis.yml @@ -0,0 +1,7 @@ +language: node_js +node_js: + - '0.8' + - '0.10' +before_script: + - 'npm install -g bower grunt-cli' + - 'bower install' diff --git a/admin/Gruntfile.js b/admin/Gruntfile.js new file mode 100644 index 0000000..253cf40 --- /dev/null +++ b/admin/Gruntfile.js @@ -0,0 +1,359 @@ +// Generated on 2013-08-08 using generator-angular 0.3.1 +'use strict'; +var LIVERELOAD_PORT = 35729; +var lrSnippet = require('connect-livereload')({ port: LIVERELOAD_PORT }); +var mountFolder = function (connect, dir) { + return connect.static(require('path').resolve(dir)); +}; + +// # Globbing +// for performance reasons we're only matching one level down: +// 'test/spec/{,*/}*.js' +// use this if you want to recursively match all subfolders: +// 'test/spec/**/*.js' + +module.exports = function (grunt) { + // load all grunt tasks + require('matchdep').filterDev('grunt-*').forEach(grunt.loadNpmTasks); + + // configurable paths + var yeomanConfig = { + app: 'app', + dist: 'dist' + }; + + try { + yeomanConfig.app = require('./bower.json').appPath || yeomanConfig.app; + } catch (e) {} + + grunt.initConfig({ + yeoman: yeomanConfig, + watch: { + coffee: { + files: ['<%= yeoman.app %>/scripts/{,*/}*.coffee'], + tasks: ['coffee:dist'] + }, + coffeeTest: { + files: ['test/spec/{,*/}*.coffee'], + tasks: ['coffee:test'] + }, + compass: { + files: ['<%= yeoman.app %>/styles/{,*/}*.{scss,sass}'], + tasks: ['compass:server'] + }, + livereload: { + options: { + livereload: LIVERELOAD_PORT + }, + files: [ + '<%= yeoman.app %>/{,*/}*.html', + '{.tmp,<%= yeoman.app %>}/styles/{,*/}*.css', + '{.tmp,<%= yeoman.app %>}/scripts/{,*/}*.js', + '<%= yeoman.app %>/images/{,*/}*.{png,jpg,jpeg,gif,webp,svg}' + ] + } + }, + connect: { + options: { + port: 9000, + // Change this to '0.0.0.0' to access the server from outside. + hostname: 'localhost' + }, + livereload: { + options: { + middleware: function (connect) { + return [ + lrSnippet, + mountFolder(connect, '.tmp'), + mountFolder(connect, yeomanConfig.app) + ]; + } + } + }, + test: { + options: { + middleware: function (connect) { + return [ + mountFolder(connect, '.tmp'), + mountFolder(connect, 'test') + ]; + } + } + }, + dist: { + options: { + middleware: function (connect) { + return [ + mountFolder(connect, yeomanConfig.dist) + ]; + } + } + } + }, + open: { + server: { + url: 'http://localhost:<%= connect.options.port %>' + } + }, + clean: { + dist: { + files: [{ + dot: true, + src: [ + '.tmp', + '<%= yeoman.dist %>/*', + '!<%= yeoman.dist %>/.git*' + ] + }] + }, + server: '.tmp' + }, + jshint: { + options: { + jshintrc: '.jshintrc' + }, + all: [ + 'Gruntfile.js', + '<%= yeoman.app %>/scripts/{,*/}*.js' + ] + }, + coffee: { + dist: { + files: [{ + expand: true, + cwd: '<%= yeoman.app %>/scripts', + src: '{,*/}*.coffee', + dest: '.tmp/scripts', + ext: '.js' + }] + }, + test: { + files: [{ + expand: true, + cwd: 'test/spec', + src: '{,*/}*.coffee', + dest: '.tmp/spec', + ext: '.js' + }] + } + }, + compass: { + options: { + sassDir: '<%= yeoman.app %>/styles', + cssDir: '.tmp/styles', + generatedImagesDir: '.tmp/images/generated', + imagesDir: '<%= yeoman.app %>/images', + javascriptsDir: '<%= yeoman.app %>/scripts', + fontsDir: '<%= yeoman.app %>/styles/fonts', + importPath: '<%= yeoman.app %>/bower_components', + httpImagesPath: '/images', + httpGeneratedImagesPath: '/images/generated', + httpFontsPath: '/styles/fonts', + relativeAssets: false + }, + dist: {}, + server: { + options: { + debugInfo: false + } + } + }, + // not used since Uglify task does concat, + // but still available if needed + /*concat: { + dist: {} + },*/ + rev: { + dist: { + files: { + src: [ + '<%= yeoman.dist %>/scripts/{,*/}*.js', + '<%= yeoman.dist %>/styles/{,*/}*.css', + '<%= yeoman.dist %>/images/{,*/}*.{png,jpg,jpeg,gif,webp,svg}', + '<%= yeoman.dist %>/styles/fonts/*' + ] + } + } + }, + useminPrepare: { + html: '<%= yeoman.app %>/index.html', + options: { + dest: '<%= yeoman.dist %>' + } + }, + usemin: { + html: ['<%= yeoman.dist %>/{,*/}*.html'], + css: ['<%= yeoman.dist %>/styles/{,*/}*.css'], + options: { + dirs: ['<%= yeoman.dist %>'] + } + }, + imagemin: { + dist: { + files: [{ + expand: true, + cwd: '<%= yeoman.app %>/images', + src: '{,*/}*.{png,jpg,jpeg}', + dest: '<%= yeoman.dist %>/images' + }] + } + }, + svgmin: { + dist: { + files: [{ + expand: true, + cwd: '<%= yeoman.app %>/images', + src: '{,*/}*.svg', + dest: '<%= yeoman.dist %>/images' + }] + } + }, + cssmin: { + // By default, your `index.html` will take care of + // minification. This option is pre-configured if you do not wish to use + // Usemin blocks. + // dist: { + // files: { + // '<%= yeoman.dist %>/styles/main.css': [ + // '.tmp/styles/{,*/}*.css', + // '<%= yeoman.app %>/styles/{,*/}*.css' + // ] + // } + // } + }, + htmlmin: { + dist: { + options: { + /*removeCommentsFromCDATA: true, + // https://github.com/yeoman/grunt-usemin/issues/44 + //collapseWhitespace: true, + collapseBooleanAttributes: true, + removeAttributeQuotes: true, + removeRedundantAttributes: true, + useShortDoctype: true, + removeEmptyAttributes: true, + removeOptionalTags: true*/ + }, + files: [{ + expand: true, + cwd: '<%= yeoman.app %>', + src: ['*.html', 'views/*.html'], + dest: '<%= yeoman.dist %>' + }] + } + }, + // Put files not handled in other tasks here + copy: { + dist: { + files: [{ + expand: true, + dot: true, + cwd: '<%= yeoman.app %>', + dest: '<%= yeoman.dist %>', + src: [ + '*.{ico,png,txt}', + '.htaccess', + 'bower_components/**/*', + 'images/{,*/}*.{gif,webp}', + 'styles/fonts/*' + ] + }, { + expand: true, + cwd: '.tmp/images', + dest: '<%= yeoman.dist %>/images', + src: [ + 'generated/*' + ] + }] + } + }, + concurrent: { + server: [ + 'coffee:dist', + 'compass:server' + ], + test: [ + 'coffee', + 'compass' + ], + dist: [ + 'coffee', + 'compass:dist', + 'imagemin', + 'svgmin', + 'htmlmin' + ] + }, + karma: { + unit: { + configFile: 'karma.conf.js', + singleRun: true + } + }, + cdnify: { + dist: { + html: ['<%= yeoman.dist %>/*.html'] + } + }, + ngmin: { + dist: { + files: [{ + expand: true, + cwd: '<%= yeoman.dist %>/scripts', + src: '*.js', + dest: '<%= yeoman.dist %>/scripts' + }] + } + }, + uglify: { + dist: { + files: { + '<%= yeoman.dist %>/scripts/scripts.js': [ + '<%= yeoman.dist %>/scripts/scripts.js' + ] + } + } + } + }); + + grunt.registerTask('server', function (target) { + if (target === 'dist') { + return grunt.task.run(['build', 'open', 'connect:dist:keepalive']); + } + + grunt.task.run([ + 'clean:server', + 'concurrent:server', + 'connect:livereload', + 'open', + 'watch' + ]); + }); + + grunt.registerTask('test', [ + 'clean:server', + 'concurrent:test', + 'connect:test', + 'karma' + ]); + + grunt.registerTask('build', [ + 'clean:dist', + 'useminPrepare', + 'concurrent:dist', + 'concat', + 'copy', + 'cdnify', + 'ngmin', + 'cssmin', + 'uglify', + 'rev', + 'usemin' + ]); + + grunt.registerTask('default', [ + 'jshint', + 'test', + 'build' + ]); +}; diff --git a/admin/app/.buildignore b/admin/app/.buildignore new file mode 100644 index 0000000..fc98b8e --- /dev/null +++ b/admin/app/.buildignore @@ -0,0 +1 @@ +*.coffee \ No newline at end of file diff --git a/admin/app/.htaccess b/admin/app/.htaccess new file mode 100644 index 0000000..64b43ad --- /dev/null +++ b/admin/app/.htaccess @@ -0,0 +1,544 @@ +# Apache Configuration File + +# (!) Using `.htaccess` files slows down Apache, therefore, if you have access +# to the main server config file (usually called `httpd.conf`), you should add +# this logic there: http://httpd.apache.org/docs/current/howto/htaccess.html. + +# ############################################################################## +# # CROSS-ORIGIN RESOURCE SHARING (CORS) # +# ############################################################################## + +# ------------------------------------------------------------------------------ +# | Cross-domain AJAX requests | +# ------------------------------------------------------------------------------ + +# Enable cross-origin AJAX requests. +# http://code.google.com/p/html5security/wiki/CrossOriginRequestSecurity +# http://enable-cors.org/ + +# +# Header set Access-Control-Allow-Origin "*" +# + +# ------------------------------------------------------------------------------ +# | CORS-enabled images | +# ------------------------------------------------------------------------------ + +# Send the CORS header for images when browsers request it. +# https://developer.mozilla.org/en/CORS_Enabled_Image +# http://blog.chromium.org/2011/07/using-cross-domain-images-in-webgl-and.html +# http://hacks.mozilla.org/2011/11/using-cors-to-load-webgl-textures-from-cross-domain-images/ + + + + + SetEnvIf Origin ":" IS_CORS + Header set Access-Control-Allow-Origin "*" env=IS_CORS + + + + +# ------------------------------------------------------------------------------ +# | Web fonts access | +# ------------------------------------------------------------------------------ + +# Allow access from all domains for web fonts + + + + Header set Access-Control-Allow-Origin "*" + + + + +# ############################################################################## +# # ERRORS # +# ############################################################################## + +# ------------------------------------------------------------------------------ +# | 404 error prevention for non-existing redirected folders | +# ------------------------------------------------------------------------------ + +# Prevent Apache from returning a 404 error for a rewrite if a directory +# with the same name does not exist. +# http://httpd.apache.org/docs/current/content-negotiation.html#multiviews +# http://www.webmasterworld.com/apache/3808792.htm + +Options -MultiViews + +# ------------------------------------------------------------------------------ +# | Custom error messages / pages | +# ------------------------------------------------------------------------------ + +# You can customize what Apache returns to the client in case of an error (see +# http://httpd.apache.org/docs/current/mod/core.html#errordocument), e.g.: + +ErrorDocument 404 /404.html + + +# ############################################################################## +# # INTERNET EXPLORER # +# ############################################################################## + +# ------------------------------------------------------------------------------ +# | Better website experience | +# ------------------------------------------------------------------------------ + +# Force IE to render pages in the highest available mode in the various +# cases when it may not: http://hsivonen.iki.fi/doctype/ie-mode.pdf. +# Use, if installed, Google Chrome Frame. + + + Header set X-UA-Compatible "IE=edge,chrome=1" + # `mod_headers` can't match based on the content-type, however, we only + # want to send this header for HTML pages and not for the other resources + + Header unset X-UA-Compatible + + + +# ------------------------------------------------------------------------------ +# | Cookie setting from iframes | +# ------------------------------------------------------------------------------ + +# Allow cookies to be set from iframes in IE. + +# +# Header set P3P "policyref=\"/w3c/p3p.xml\", CP=\"IDC DSP COR ADM DEVi TAIi PSA PSD IVAi IVDi CONi HIS OUR IND CNT\"" +# + +# ------------------------------------------------------------------------------ +# | Screen flicker | +# ------------------------------------------------------------------------------ + +# Stop screen flicker in IE on CSS rollovers (this only works in +# combination with the `ExpiresByType` directives for images from below). + +# BrowserMatch "MSIE" brokenvary=1 +# BrowserMatch "Mozilla/4.[0-9]{2}" brokenvary=1 +# BrowserMatch "Opera" !brokenvary +# SetEnvIf brokenvary 1 force-no-vary + + +# ############################################################################## +# # MIME TYPES AND ENCODING # +# ############################################################################## + +# ------------------------------------------------------------------------------ +# | Proper MIME types for all files | +# ------------------------------------------------------------------------------ + + + + # Audio + AddType audio/mp4 m4a f4a f4b + AddType audio/ogg oga ogg + + # JavaScript + # Normalize to standard type (it's sniffed in IE anyways): + # http://tools.ietf.org/html/rfc4329#section-7.2 + AddType application/javascript js jsonp + AddType application/json json + + # Video + AddType video/mp4 mp4 m4v f4v f4p + AddType video/ogg ogv + AddType video/webm webm + AddType video/x-flv flv + + # Web fonts + AddType application/font-woff woff + AddType application/vnd.ms-fontobject eot + + # Browsers usually ignore the font MIME types and sniff the content, + # however, Chrome shows a warning if other MIME types are used for the + # following fonts. + AddType application/x-font-ttf ttc ttf + AddType font/opentype otf + + # Make SVGZ fonts work on iPad: + # https://twitter.com/FontSquirrel/status/14855840545 + AddType image/svg+xml svg svgz + AddEncoding gzip svgz + + # Other + AddType application/octet-stream safariextz + AddType application/x-chrome-extension crx + AddType application/x-opera-extension oex + AddType application/x-shockwave-flash swf + AddType application/x-web-app-manifest+json webapp + AddType application/x-xpinstall xpi + AddType application/xml atom rdf rss xml + AddType image/webp webp + AddType image/x-icon ico + AddType text/cache-manifest appcache manifest + AddType text/vtt vtt + AddType text/x-component htc + AddType text/x-vcard vcf + + + +# ------------------------------------------------------------------------------ +# | UTF-8 encoding | +# ------------------------------------------------------------------------------ + +# Use UTF-8 encoding for anything served as `text/html` or `text/plain`. +AddDefaultCharset utf-8 + +# Force UTF-8 for certain file formats. + + AddCharset utf-8 .atom .css .js .json .rss .vtt .webapp .xml + + + +# ############################################################################## +# # URL REWRITES # +# ############################################################################## + +# ------------------------------------------------------------------------------ +# | Rewrite engine | +# ------------------------------------------------------------------------------ + +# Turning on the rewrite engine and enabling the `FollowSymLinks` option is +# necessary for the following directives to work. + +# If your web host doesn't allow the `FollowSymlinks` option, you may need to +# comment it out and use `Options +SymLinksIfOwnerMatch` but, be aware of the +# performance impact: http://httpd.apache.org/docs/current/misc/perf-tuning.html#symlinks + +# Also, some cloud hosting services require `RewriteBase` to be set: +# http://www.rackspace.com/knowledge_center/frequently-asked-question/why-is-mod-rewrite-not-working-on-my-site + + + Options +FollowSymlinks + # Options +SymLinksIfOwnerMatch + RewriteEngine On + # RewriteBase / + + +# ------------------------------------------------------------------------------ +# | Suppressing / Forcing the "www." at the beginning of URLs | +# ------------------------------------------------------------------------------ + +# The same content should never be available under two different URLs especially +# not with and without "www." at the beginning. This can cause SEO problems +# (duplicate content), therefore, you should choose one of the alternatives and +# redirect the other one. + +# By default option 1 (no "www.") is activated: +# http://no-www.org/faq.php?q=class_b + +# If you'd prefer to use option 2, just comment out all the lines from option 1 +# and uncomment the ones from option 2. + +# IMPORTANT: NEVER USE BOTH RULES AT THE SAME TIME! + +# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + +# Option 1: rewrite www.example.com → example.com + + + RewriteCond %{HTTPS} !=on + RewriteCond %{HTTP_HOST} ^www\.(.+)$ [NC] + RewriteRule ^ http://%1%{REQUEST_URI} [R=301,L] + + +# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + +# Option 2: rewrite example.com → www.example.com + +# Be aware that the following might not be a good idea if you use "real" +# subdomains for certain parts of your website. + +# +# RewriteCond %{HTTPS} !=on +# RewriteCond %{HTTP_HOST} !^www\..+$ [NC] +# RewriteRule ^ http://www.%{HTTP_HOST}%{REQUEST_URI} [R=301,L] +# + + +# ############################################################################## +# # SECURITY # +# ############################################################################## + +# ------------------------------------------------------------------------------ +# | Content Security Policy (CSP) | +# ------------------------------------------------------------------------------ + +# You can mitigate the risk of cross-site scripting and other content-injection +# attacks by setting a Content Security Policy which whitelists trusted sources +# of content for your site. + +# The example header below allows ONLY scripts that are loaded from the current +# site's origin (no inline scripts, no CDN, etc). This almost certainly won't +# work as-is for your site! + +# To get all the details you'll need to craft a reasonable policy for your site, +# read: http://html5rocks.com/en/tutorials/security/content-security-policy (or +# see the specification: http://w3.org/TR/CSP). + +# +# Header set Content-Security-Policy "script-src 'self'; object-src 'self'" +# +# Header unset Content-Security-Policy +# +# + +# ------------------------------------------------------------------------------ +# | File access | +# ------------------------------------------------------------------------------ + +# Block access to directories without a default document. +# Usually you should leave this uncommented because you shouldn't allow anyone +# to surf through every directory on your server (which may includes rather +# private places like the CMS's directories). + + + Options -Indexes + + +# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + +# Block access to hidden files and directories. +# This includes directories used by version control systems such as Git and SVN. + + + RewriteCond %{SCRIPT_FILENAME} -d [OR] + RewriteCond %{SCRIPT_FILENAME} -f + RewriteRule "(^|/)\." - [F] + + +# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + +# Block access to backup and source files. +# These files may be left by some text editors and can pose a great security +# danger when anyone has access to them. + + + Order allow,deny + Deny from all + Satisfy All + + +# ------------------------------------------------------------------------------ +# | Secure Sockets Layer (SSL) | +# ------------------------------------------------------------------------------ + +# Rewrite secure requests properly to prevent SSL certificate warnings, e.g.: +# prevent `https://www.example.com` when your certificate only allows +# `https://secure.example.com`. + +# +# RewriteCond %{SERVER_PORT} !^443 +# RewriteRule ^ https://example-domain-please-change-me.com%{REQUEST_URI} [R=301,L] +# + +# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + +# Force client-side SSL redirection. + +# If a user types "example.com" in his browser, the above rule will redirect him +# to the secure version of the site. That still leaves a window of opportunity +# (the initial HTTP connection) for an attacker to downgrade or redirect the +# request. The following header ensures that browser will ONLY connect to your +# server via HTTPS, regardless of what the users type in the address bar. +# http://www.html5rocks.com/en/tutorials/security/transport-layer-security/ + +# +# Header set Strict-Transport-Security max-age=16070400; +# + +# ------------------------------------------------------------------------------ +# | Server software information | +# ------------------------------------------------------------------------------ + +# Avoid displaying the exact Apache version number, the description of the +# generic OS-type and the information about Apache's compiled-in modules. + +# ADD THIS DIRECTIVE IN THE `httpd.conf` AS IT WILL NOT WORK IN THE `.htaccess`! + +# ServerTokens Prod + + +# ############################################################################## +# # WEB PERFORMANCE # +# ############################################################################## + +# ------------------------------------------------------------------------------ +# | Compression | +# ------------------------------------------------------------------------------ + + + + # Force compression for mangled headers. + # http://developer.yahoo.com/blogs/ydn/posts/2010/12/pushing-beyond-gzipping + + + SetEnvIfNoCase ^(Accept-EncodXng|X-cept-Encoding|X{15}|~{15}|-{15})$ ^((gzip|deflate)\s*,?\s*)+|[X~-]{4,13}$ HAVE_Accept-Encoding + RequestHeader append Accept-Encoding "gzip,deflate" env=HAVE_Accept-Encoding + + + + # Compress all output labeled with one of the following MIME-types + # (for Apache versions below 2.3.7, you don't need to enable `mod_filter` + # and can remove the `` and `` lines + # as `AddOutputFilterByType` is still in the core directives). + + AddOutputFilterByType DEFLATE application/atom+xml \ + application/javascript \ + application/json \ + application/rss+xml \ + application/vnd.ms-fontobject \ + application/x-font-ttf \ + application/x-web-app-manifest+json \ + application/xhtml+xml \ + application/xml \ + font/opentype \ + image/svg+xml \ + image/x-icon \ + text/css \ + text/html \ + text/plain \ + text/x-component \ + text/xml + + + + +# ------------------------------------------------------------------------------ +# | Content transformations | +# ------------------------------------------------------------------------------ + +# Prevent some of the mobile network providers from modifying the content of +# your site: http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.9.5. + +# +# Header set Cache-Control "no-transform" +# + +# ------------------------------------------------------------------------------ +# | ETag removal | +# ------------------------------------------------------------------------------ + +# Since we're sending far-future expires headers (see below), ETags can +# be removed: http://developer.yahoo.com/performance/rules.html#etags. + +# `FileETag None` is not enough for every server. + + Header unset ETag + + +FileETag None + +# ------------------------------------------------------------------------------ +# | Expires headers (for better cache control) | +# ------------------------------------------------------------------------------ + +# The following expires headers are set pretty far in the future. If you don't +# control versioning with filename-based cache busting, consider lowering the +# cache time for resources like CSS and JS to something like 1 week. + + + + ExpiresActive on + ExpiresDefault "access plus 1 month" + + # CSS + ExpiresByType text/css "access plus 1 year" + + # Data interchange + ExpiresByType application/json "access plus 0 seconds" + ExpiresByType application/xml "access plus 0 seconds" + ExpiresByType text/xml "access plus 0 seconds" + + # Favicon (cannot be renamed!) + ExpiresByType image/x-icon "access plus 1 week" + + # HTML components (HTCs) + ExpiresByType text/x-component "access plus 1 month" + + # HTML + ExpiresByType text/html "access plus 0 seconds" + + # JavaScript + ExpiresByType application/javascript "access plus 1 year" + + # Manifest files + ExpiresByType application/x-web-app-manifest+json "access plus 0 seconds" + ExpiresByType text/cache-manifest "access plus 0 seconds" + + # Media + ExpiresByType audio/ogg "access plus 1 month" + ExpiresByType image/gif "access plus 1 month" + ExpiresByType image/jpeg "access plus 1 month" + ExpiresByType image/png "access plus 1 month" + ExpiresByType video/mp4 "access plus 1 month" + ExpiresByType video/ogg "access plus 1 month" + ExpiresByType video/webm "access plus 1 month" + + # Web feeds + ExpiresByType application/atom+xml "access plus 1 hour" + ExpiresByType application/rss+xml "access plus 1 hour" + + # Web fonts + ExpiresByType application/font-woff "access plus 1 month" + ExpiresByType application/vnd.ms-fontobject "access plus 1 month" + ExpiresByType application/x-font-ttf "access plus 1 month" + ExpiresByType font/opentype "access plus 1 month" + ExpiresByType image/svg+xml "access plus 1 month" + + + +# ------------------------------------------------------------------------------ +# | Filename-based cache busting | +# ------------------------------------------------------------------------------ + +# If you're not using a build process to manage your filename version revving, +# you might want to consider enabling the following directives to route all +# requests such as `/css/style.12345.css` to `/css/style.css`. + +# To understand why this is important and a better idea than `*.css?v231`, read: +# http://stevesouders.com/blog/2008/08/23/revving-filenames-dont-use-querystring + +# +# RewriteCond %{REQUEST_FILENAME} !-f +# RewriteCond %{REQUEST_FILENAME} !-d +# RewriteRule ^(.+)\.(\d+)\.(js|css|png|jpg|gif)$ $1.$3 [L] +# + +# ------------------------------------------------------------------------------ +# | File concatenation | +# ------------------------------------------------------------------------------ + +# Allow concatenation from within specific CSS and JS files, e.g.: +# Inside of `script.combined.js` you could have +# +# +# and they would be included into this single file. + +# +# +# Options +Includes +# AddOutputFilterByType INCLUDES application/javascript application/json +# SetOutputFilter INCLUDES +# +# +# Options +Includes +# AddOutputFilterByType INCLUDES text/css +# SetOutputFilter INCLUDES +# +# + +# ------------------------------------------------------------------------------ +# | Persistent connections | +# ------------------------------------------------------------------------------ + +# Allow multiple requests to be sent over the same TCP connection: +# http://httpd.apache.org/docs/current/en/mod/core.html#keepalive. + +# Enable if you serve a lot of static content but, be aware of the +# possible disadvantages! + +# +# Header set Connection Keep-Alive +# diff --git a/admin/app/404.html b/admin/app/404.html new file mode 100644 index 0000000..fdace4a --- /dev/null +++ b/admin/app/404.html @@ -0,0 +1,157 @@ + + + + + Page Not Found :( + + + +
+

Not found :(

+

Sorry, but the page you were trying to view does not exist.

+

It looks like this was the result of either:

+ + + +
+ + diff --git a/admin/app/favicon.ico b/admin/app/favicon.ico new file mode 100644 index 0000000..6527905 Binary files /dev/null and b/admin/app/favicon.ico differ diff --git a/admin/app/images/glyphicons-halflings-white.png b/admin/app/images/glyphicons-halflings-white.png new file mode 100644 index 0000000..3bf6484 Binary files /dev/null and b/admin/app/images/glyphicons-halflings-white.png differ diff --git a/admin/app/images/glyphicons-halflings.png b/admin/app/images/glyphicons-halflings.png new file mode 100644 index 0000000..ab5686e Binary files /dev/null and b/admin/app/images/glyphicons-halflings.png differ diff --git a/admin/app/index.html b/admin/app/index.html new file mode 100644 index 0000000..4d75ecf --- /dev/null +++ b/admin/app/index.html @@ -0,0 +1,89 @@ + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/admin/app/robots.txt b/admin/app/robots.txt new file mode 100644 index 0000000..9417495 --- /dev/null +++ b/admin/app/robots.txt @@ -0,0 +1,3 @@ +# robotstxt.org + +User-agent: * diff --git a/admin/app/scripts/app.js b/admin/app/scripts/app.js new file mode 100644 index 0000000..74ffdff --- /dev/null +++ b/admin/app/scripts/app.js @@ -0,0 +1,53 @@ +'use strict'; + +angular.module('adminApp', ['ngResource', 'ja.isbn', 'ui.bootstrap']) + .config(function ($routeProvider) { + $routeProvider + .when('/', { + templateUrl: 'views/main.html', + controller: 'MainCtrl' + }) + .when('/users', { + templateUrl: 'views/users.html', + controller: 'UsersCtrl' + }) + .when('/books', { + templateUrl: 'views/books.html', + controller: 'BooksCtrl' + }) + .when('/rents', { + templateUrl: 'views/rents.html', + controller: 'RentsCtrl' + }) + .when('/books/:bookId', { + templateUrl: 'views/books/bookId.html', + controller: 'BooksBookidCtrl' + }) + .when('/users/:userId', { + templateUrl: 'views/users/userId.html', + controller: 'UsersUseridCtrl' + }) + .when('/rents/:rentId', { + templateUrl: 'views/rents/rentId.html', + controller: 'RentsRentidCtrl', + resolve: { + rent: function($q, $route, Rents){ + var deferred = $q.defer(); + Rents.get({'rentId': $route.current.params.rentId}, + function(rent){ + console.log(rent); + deferred.resolve(rent); + }, + function(){ + deferred.reject(); + } + ); + + return deferred.promise; + } + } + }) + .otherwise({ + redirectTo: '/' + }); + }); diff --git a/admin/app/scripts/config.js b/admin/app/scripts/config.js new file mode 100644 index 0000000..e69de29 diff --git a/admin/app/scripts/controllers/books.js b/admin/app/scripts/controllers/books.js new file mode 100644 index 0000000..6f0f3ef --- /dev/null +++ b/admin/app/scripts/controllers/books.js @@ -0,0 +1,32 @@ +'use strict'; + +angular.module('adminApp') + .controller('BooksCtrl', function ($scope, Books) { + + $scope.book = {}; + $scope.books = Books.query(); + + $scope.addBook = function(){ + if ($scope.addBookForm.$valid) { + Books.create($scope.book, function(book){ + $scope.books.push(book); + }); + $scope.book = {}; + } + }; + + $scope.removeBook = function(book){ + var index = $scope.books.indexOf(book); + if (index < 0) { return false; } + + Books.remove({'bookId': $scope.books[index].bookId}, function(){ + $scope.books.splice(index, 1); + }); + }; + + $scope.setCover = function(dataUrl){ + console.log('setCover'); + $scope.book.cover = dataUrl; + console.log($scope.book); + }; +}); diff --git a/admin/app/scripts/controllers/books/bookId.js b/admin/app/scripts/controllers/books/bookId.js new file mode 100644 index 0000000..df980eb --- /dev/null +++ b/admin/app/scripts/controllers/books/bookId.js @@ -0,0 +1,39 @@ +'use strict'; + +angular.module('adminApp') +.controller('BooksBookidCtrl', function ($scope, Books, Users, Rents, $routeParams, $location) { + $scope.book = Books.get({'bookId': $routeParams.bookId}); + + $scope.open = function (bookCopy) { + $scope.rentBook = true; + $scope.users = Users.query(); + $scope.rentCopy = { + 'bookId': $scope.book.bookId, + 'bookCopyId': bookCopy.bookCopyId + }; + }; + + $scope.close = function () { + $scope.rentBook = false; + }; + + $scope.save = function () { + Rents.create($scope.rentCopy, function(rent){ + console.log(rent); + $scope.rentBook = false; + $location.path('/rents/' + rent.rentId); + }); + }; + + $scope.opts = { + backdropFade: true, + dialogFade: true + }; + + $scope.returnBook = function(bookCopy) { + var rentId = bookCopy.rents[bookCopy.rents.length - 1]; + Rents.returnBook({'rentId': rentId}, function(){ + $location.path('/rents'); + }); + }; +}); diff --git a/admin/app/scripts/controllers/main.js b/admin/app/scripts/controllers/main.js new file mode 100644 index 0000000..7c9ba8c --- /dev/null +++ b/admin/app/scripts/controllers/main.js @@ -0,0 +1,10 @@ +'use strict'; + +angular.module('adminApp') + .controller('MainCtrl', function ($scope) { + $scope.awesomeThings = [ + 'HTML5 Boilerplate', + 'AngularJS', + 'Karma' + ]; + }); diff --git a/admin/app/scripts/controllers/rents.js b/admin/app/scripts/controllers/rents.js new file mode 100644 index 0000000..d859aa9 --- /dev/null +++ b/admin/app/scripts/controllers/rents.js @@ -0,0 +1,8 @@ +'use strict'; + +angular.module('adminApp') + .controller('RentsCtrl', function ($scope, Rents) { + $scope.rents = Rents.query(); + + +}); diff --git a/admin/app/scripts/controllers/rents/rentId.js b/admin/app/scripts/controllers/rents/rentId.js new file mode 100644 index 0000000..1ed075a --- /dev/null +++ b/admin/app/scripts/controllers/rents/rentId.js @@ -0,0 +1,14 @@ +'use strict'; + +angular.module('adminApp') +.controller('RentsRentidCtrl', function ($scope, Rents, rent, $location) { + $scope.rent = rent; + + $scope.rentHistory = Rents.query({'book': rent.book.bookId}); + + $scope.returnBook = function(rent){ + Rents.returnBook({'rentId': rent.rentId}, function(){ + $location.path('/rents'); + }); + }; +}); diff --git a/admin/app/scripts/controllers/users.js b/admin/app/scripts/controllers/users.js new file mode 100644 index 0000000..c477b39 --- /dev/null +++ b/admin/app/scripts/controllers/users.js @@ -0,0 +1,24 @@ +'use strict'; + +angular.module('adminApp') + .controller('UsersCtrl', function ($scope, Users) { + $scope.users = Users.query(); + + $scope.addUser = function(){ + if ($scope.addUserForm.$valid) { + Users.create($scope.user, function(user){ + $scope.users.push(user); + }); + $scope.user = {}; + } + }; + + $scope.removeUser = function(user){ + var index = $scope.users.indexOf(user); + if (index < 0) { return false; } + + Users.remove({'userId': $scope.users[index].userId}, function(){ + $scope.users.splice(index, 1); + }); + }; +}); diff --git a/admin/app/scripts/controllers/users/userId.js b/admin/app/scripts/controllers/users/userId.js new file mode 100644 index 0000000..c43e25c --- /dev/null +++ b/admin/app/scripts/controllers/users/userId.js @@ -0,0 +1,15 @@ +'use strict'; + +angular.module('adminApp') +.controller('UsersUseridCtrl', function ($scope, Users, $routeParams, $location) { + $scope.user = Users.get($routeParams); + + $scope.updateUser = function(){ + if ($scope.updateUserForm.$valid) { + Users.update($scope.user, function(user){ + $location.path('/users'); + }); + $scope.user = {}; + } + }; +}); diff --git a/admin/app/scripts/directives/draganddrop.js b/admin/app/scripts/directives/draganddrop.js new file mode 100644 index 0000000..04a7ca4 --- /dev/null +++ b/admin/app/scripts/directives/draganddrop.js @@ -0,0 +1,154 @@ +'use strict'; + +angular.module('adminApp') +.directive('draganddrop', function ($q) { + return { + template: + '
' + + '' + + '
' + + ' {{dropText}}' + + '
' + + ' cover' + + '
' + + '
' + + '
', + restrict: 'E', + scope: { + 'cover': '=' + }, + controller: function($scope, $element) { + + $scope.image = {}; + + var dropTextOK = 'Select an image'; + var dropTextFAIL = 'Only images are allowed!'; + $scope.dropText = dropTextOK; + var MAX_WIDTH = 200; + var MAX_HEIGHT = 200; + + var dropbox = $element.find('#dropbox')[0]; + dropbox.addEventListener('click', function() { + $element.find('input[type=file]')[0].click(); + }, false); + + var readAsDataURL = function(file){ + var deferred = $q.defer(); + + var reader = new FileReader(); + reader.onload = function(e) { + var fileDataUrl = e.target.result; + + var tempImg = new Image(); + tempImg.onload = function(){ + var tempW = tempImg.width; + var tempH = tempImg.height; + console.log(tempW, tempH); + if (tempW > tempH) { + if (tempW > MAX_WIDTH) { + tempH *= MAX_WIDTH / tempW; + tempW = MAX_WIDTH; + console.log(tempW, tempH); + } + } + else { + if (tempH > MAX_HEIGHT) { + tempW *= MAX_HEIGHT / tempH; + tempH = MAX_HEIGHT; + } + } + + var canvas = document.createElement('canvas'); + var ctx = canvas.getContext('2d'); + canvas.width = tempW; + canvas.height = tempH; + ctx.drawImage(tempImg, 0, 0, tempW, tempH); + + var dataURL = canvas.toDataURL('image/png'); + deferred.resolve(dataURL); + $scope.$apply(); + }; + tempImg.src = fileDataUrl; + }; + reader.readAsDataURL(file); + + return deferred.promise; + }; + + $scope.setFiles = function(element) { + $scope.dropText = dropTextOK; + $scope.dropClass = ''; + + if (element.files.length) { + $scope.files = []; + $scope.dataUrl = ''; + } + + var file = element.files[0]; + readAsDataURL(file).then( + function(dataUrl){ + console.log(dataUrl); + $scope.cover = dataUrl; + } + ); + + $scope.$apply(); + }; + + + var dragEnterLeave = function(evt) { + evt.stopPropagation(); + evt.preventDefault(); + + $scope.$apply(function(){ + $scope.dropText = dropTextOK; + $scope.dropClass = ''; + }); + }; + + dropbox.addEventListener('dragenter', dragEnterLeave, false); + dropbox.addEventListener('dragleave', dragEnterLeave, false); + dropbox.addEventListener('dragover', function(evt) { + evt.stopPropagation(); + evt.preventDefault(); + var ok = evt.dataTransfer && evt.dataTransfer.types && evt.dataTransfer.types.indexOf('Files') >= 0; + $scope.$apply(function(){ + $scope.dropText = ok ? dropTextOK : dropTextFAIL; + $scope.dropClass = ok ? 'dropbox-over' : 'dropbox-not-available'; + }); + }, false); + + dropbox.addEventListener('drop', function(evt) { + evt.stopPropagation(); + evt.preventDefault(); + $scope.$apply(function(){ + $scope.dropText = dropTextOK; + $scope.dropClass = ''; + }); + + var files = evt.dataTransfer.files; + + if (files.length) { + $scope.files = []; + $scope.dataUrl = ''; + } + + var file = files[0]; + if (file.type.match(/image/g)) { + readAsDataURL(file).then( + function(dataUrl){ + console.log(dataUrl); + $scope.cover = dataUrl; + } + ); + } + else { + $scope.dropText = dropTextFAIL; + $scope.dropClass = 'dropbox-not-available'; + } + + $scope.$apply(); + }, false); + } + }; +}); diff --git a/admin/app/scripts/services/Books.js b/admin/app/scripts/services/Books.js new file mode 100644 index 0000000..953c09d --- /dev/null +++ b/admin/app/scripts/services/Books.js @@ -0,0 +1,14 @@ +'use strict'; + +angular.module('adminApp') +.factory('Books', function ($resource) { + return $resource((window.host || '') + '/books/:bookId:action', { bookId: '@bookId' }, { + 'create' : { method: 'POST', params: { } }, + 'query' : { method: 'GET', params: { }, isArray: true }, + 'get' : { method: 'GET', params: { } }, + 'update' : { method: 'PUT', params: { } }, + 'remove' : { method: 'DELETE', params: { } }, + 'delete' : { method: 'DELETE', params: { } }, + 'rent' : { method: 'POST', params: { 'action': 'rent'} }, + }); +}); diff --git a/admin/app/scripts/services/Rents.js b/admin/app/scripts/services/Rents.js new file mode 100644 index 0000000..983f368 --- /dev/null +++ b/admin/app/scripts/services/Rents.js @@ -0,0 +1,13 @@ +'use strict'; + +angular.module('adminApp') +.factory('Rents', function ($resource) { + return $resource((window.host || '') + '/rents/:rentId/:action', { rentId: '@rentId' }, { + 'create' : { method: 'POST', params: { } }, + 'update' : { method: 'PUT', params: { } }, + 'returnBook' : { method: 'POST', params: { action: 'returnBook' } }, + 'query' : { method: 'GET', params: { }, isArray: true }, + 'remove' : { method: 'DELETE', params: { } }, + 'delete' : { method: 'DELETE', params: { } } + }); +}); diff --git a/admin/app/scripts/services/Users.js b/admin/app/scripts/services/Users.js new file mode 100644 index 0000000..4e2d6e2 --- /dev/null +++ b/admin/app/scripts/services/Users.js @@ -0,0 +1,12 @@ +'use strict'; + +angular.module('adminApp') +.factory('Users', function ($resource) { + return $resource((window.host || '') + '/users/:userId', { userId: '@userId' }, { + 'create' : { method: 'POST', params: { } }, + 'query' : { method: 'GET', params: { }, isArray: true }, + 'update' : { method: 'PUT', params: { } }, + 'remove' : { method: 'DELETE', params: { } }, + 'delete' : { method: 'DELETE', params: { } } + }); +}); diff --git a/admin/app/styles/main.css b/admin/app/styles/main.css new file mode 100644 index 0000000..6e58d3b --- /dev/null +++ b/admin/app/styles/main.css @@ -0,0 +1,6914 @@ +/* + * Bootstrap v2.3.2 + * + * Copyright 2012 Twitter, Inc + * Licensed under the Apache License v2.0 + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Designed and built with all the love in the world @twitter by @mdo and @fat. + */ +/* line 19, ../../app/bower_components/bootstrap-sass/lib/_reset.scss */ +article, +aside, +details, +figcaption, +figure, +footer, +header, +hgroup, +nav, +section { + display: block; +} + +/* line 28, ../../app/bower_components/bootstrap-sass/lib/_reset.scss */ +audio, +canvas, +video { + display: inline-block; + *display: inline; + *zoom: 1; +} + +/* line 37, ../../app/bower_components/bootstrap-sass/lib/_reset.scss */ +audio:not([controls]) { + display: none; +} + +/* line 44, ../../app/bower_components/bootstrap-sass/lib/_reset.scss */ +html { + font-size: 100%; + -webkit-text-size-adjust: 100%; + -ms-text-size-adjust: 100%; +} + +/* line 50, ../../app/bower_components/bootstrap-sass/lib/_reset.scss */ +a:focus { + outline: thin dotted #333; + outline: 5px auto -webkit-focus-ring-color; + outline-offset: -2px; +} + +/* line 55, ../../app/bower_components/bootstrap-sass/lib/_reset.scss */ +a:hover, +a:active { + outline: 0; +} + +/* line 63, ../../app/bower_components/bootstrap-sass/lib/_reset.scss */ +sub, +sup { + position: relative; + font-size: 75%; + line-height: 0; + vertical-align: baseline; +} + +/* line 69, ../../app/bower_components/bootstrap-sass/lib/_reset.scss */ +sup { + top: -0.5em; +} + +/* line 72, ../../app/bower_components/bootstrap-sass/lib/_reset.scss */ +sub { + bottom: -0.25em; +} + +/* line 79, ../../app/bower_components/bootstrap-sass/lib/_reset.scss */ +img { + /* Responsive images (ensure images don't scale beyond their parents) */ + max-width: 100%; + /* Part 1: Set a maxium relative to the parent */ + width: auto\9; + /* IE7-8 need help adjusting responsive images */ + height: auto; + /* Part 2: Scale the height according to the width, otherwise you get stretching */ + vertical-align: middle; + border: 0; + -ms-interpolation-mode: bicubic; +} + +/* line 92, ../../app/bower_components/bootstrap-sass/lib/_reset.scss */ +#map_canvas img, +.google-maps img { + max-width: none; +} + +/* line 103, ../../app/bower_components/bootstrap-sass/lib/_reset.scss */ +button, +input, +select, +textarea { + margin: 0; + font-size: 100%; + vertical-align: middle; +} + +/* line 109, ../../app/bower_components/bootstrap-sass/lib/_reset.scss */ +button, +input { + *overflow: visible; + line-height: normal; +} + +/* line 114, ../../app/bower_components/bootstrap-sass/lib/_reset.scss */ +button::-moz-focus-inner, +input::-moz-focus-inner { + padding: 0; + border: 0; +} + +/* line 121, ../../app/bower_components/bootstrap-sass/lib/_reset.scss */ +button, +html input[type="button"], +input[type="reset"], +input[type="submit"] { + -webkit-appearance: button; + cursor: pointer; +} + +/* line 132, ../../app/bower_components/bootstrap-sass/lib/_reset.scss */ +label, +select, +button, +input[type="button"], +input[type="reset"], +input[type="submit"], +input[type="radio"], +input[type="checkbox"] { + cursor: pointer; +} + +/* line 135, ../../app/bower_components/bootstrap-sass/lib/_reset.scss */ +input[type="search"] { + -webkit-box-sizing: content-box; + -moz-box-sizing: content-box; + box-sizing: content-box; + -webkit-appearance: textfield; +} + +/* line 140, ../../app/bower_components/bootstrap-sass/lib/_reset.scss */ +input[type="search"]::-webkit-search-decoration, +input[type="search"]::-webkit-search-cancel-button { + -webkit-appearance: none; +} + +/* line 143, ../../app/bower_components/bootstrap-sass/lib/_reset.scss */ +textarea { + overflow: auto; + vertical-align: top; +} + +@media print { + /* line 155, ../../app/bower_components/bootstrap-sass/lib/_reset.scss */ + * { + text-shadow: none !important; + color: #000 !important; + background: transparent !important; + box-shadow: none !important; + } + + /* line 163, ../../app/bower_components/bootstrap-sass/lib/_reset.scss */ + a, + a:visited { + text-decoration: underline; + } + + /* line 167, ../../app/bower_components/bootstrap-sass/lib/_reset.scss */ + a[href]:after { + content: " (" attr(href) ")"; + } + + /* line 171, ../../app/bower_components/bootstrap-sass/lib/_reset.scss */ + abbr[title]:after { + content: " (" attr(title) ")"; + } + + /* line 178, ../../app/bower_components/bootstrap-sass/lib/_reset.scss */ + .ir a:after, + a[href^="javascript:"]:after, + a[href^="#"]:after { + content: ""; + } + + /* line 183, ../../app/bower_components/bootstrap-sass/lib/_reset.scss */ + pre, + blockquote { + border: 1px solid #999; + page-break-inside: avoid; + } + + /* line 188, ../../app/bower_components/bootstrap-sass/lib/_reset.scss */ + thead { + display: table-header-group; + } + + /* line 193, ../../app/bower_components/bootstrap-sass/lib/_reset.scss */ + tr, + img { + page-break-inside: avoid; + } + + /* line 197, ../../app/bower_components/bootstrap-sass/lib/_reset.scss */ + img { + max-width: 100% !important; + } + + @page { + margin: 0.5cm; +} + + /* line 207, ../../app/bower_components/bootstrap-sass/lib/_reset.scss */ + p, + h2, + h3 { + orphans: 3; + widows: 3; + } + + /* line 213, ../../app/bower_components/bootstrap-sass/lib/_reset.scss */ + h2, + h3 { + page-break-after: avoid; + } +} +/* line 9, ../../app/bower_components/bootstrap-sass/lib/_scaffolding.scss */ +body { + margin: 0; + font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; + font-size: 14px; + line-height: 20px; + color: #333333; + background-color: white; +} + +/* line 22, ../../app/bower_components/bootstrap-sass/lib/_scaffolding.scss */ +a { + color: #0088cc; + text-decoration: none; +} + +/* line 27, ../../app/bower_components/bootstrap-sass/lib/_scaffolding.scss */ +a:hover, +a:focus { + color: #005580; + text-decoration: underline; +} + +/* line 37, ../../app/bower_components/bootstrap-sass/lib/_scaffolding.scss */ +.img-rounded { + -webkit-border-radius: 6px; + -moz-border-radius: 6px; + border-radius: 6px; +} + +/* line 42, ../../app/bower_components/bootstrap-sass/lib/_scaffolding.scss */ +.img-polaroid { + padding: 4px; + background-color: #fff; + border: 1px solid #ccc; + border: 1px solid rgba(0, 0, 0, 0.2); + -webkit-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1); + -moz-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1); + box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1); +} + +/* line 51, ../../app/bower_components/bootstrap-sass/lib/_scaffolding.scss */ +.img-circle { + -webkit-border-radius: 500px; + -moz-border-radius: 500px; + border-radius: 500px; +} + +/* line 567, ../../app/bower_components/bootstrap-sass/lib/_mixins.scss */ +.row { + margin-left: -20px; + *zoom: 1; +} +/* line 15, ../../app/bower_components/bootstrap-sass/lib/_mixins.scss */ +.row:before, .row:after { + display: table; + content: ""; + line-height: 0; +} +/* line 22, ../../app/bower_components/bootstrap-sass/lib/_mixins.scss */ +.row:after { + clear: both; +} + +/* line 572, ../../app/bower_components/bootstrap-sass/lib/_mixins.scss */ +[class*="span"] { + float: left; + min-height: 1px; + margin-left: 20px; +} + +/* line 582, ../../app/bower_components/bootstrap-sass/lib/_mixins.scss */ +.container, +.navbar-static-top .container, +.navbar-fixed-top .container, +.navbar-fixed-bottom .container { + width: 940px; +} + +/* line 593, ../../app/bower_components/bootstrap-sass/lib/_mixins.scss */ +.span1 { + width: 60px; +} + +/* line 593, ../../app/bower_components/bootstrap-sass/lib/_mixins.scss */ +.span2 { + width: 140px; +} + +/* line 593, ../../app/bower_components/bootstrap-sass/lib/_mixins.scss */ +.span3 { + width: 220px; +} + +/* line 593, ../../app/bower_components/bootstrap-sass/lib/_mixins.scss */ +.span4 { + width: 300px; +} + +/* line 593, ../../app/bower_components/bootstrap-sass/lib/_mixins.scss */ +.span5 { + width: 380px; +} + +/* line 593, ../../app/bower_components/bootstrap-sass/lib/_mixins.scss */ +.span6 { + width: 460px; +} + +/* line 593, ../../app/bower_components/bootstrap-sass/lib/_mixins.scss */ +.span7 { + width: 540px; +} + +/* line 593, ../../app/bower_components/bootstrap-sass/lib/_mixins.scss */ +.span8 { + width: 620px; +} + +/* line 593, ../../app/bower_components/bootstrap-sass/lib/_mixins.scss */ +.span9 { + width: 700px; +} + +/* line 593, ../../app/bower_components/bootstrap-sass/lib/_mixins.scss */ +.span10 { + width: 780px; +} + +/* line 593, ../../app/bower_components/bootstrap-sass/lib/_mixins.scss */ +.span11 { + width: 860px; +} + +/* line 593, ../../app/bower_components/bootstrap-sass/lib/_mixins.scss */ +.span12 { + width: 940px; +} + +/* line 599, ../../app/bower_components/bootstrap-sass/lib/_mixins.scss */ +.offset1 { + margin-left: 100px; +} + +/* line 599, ../../app/bower_components/bootstrap-sass/lib/_mixins.scss */ +.offset2 { + margin-left: 180px; +} + +/* line 599, ../../app/bower_components/bootstrap-sass/lib/_mixins.scss */ +.offset3 { + margin-left: 260px; +} + +/* line 599, ../../app/bower_components/bootstrap-sass/lib/_mixins.scss */ +.offset4 { + margin-left: 340px; +} + +/* line 599, ../../app/bower_components/bootstrap-sass/lib/_mixins.scss */ +.offset5 { + margin-left: 420px; +} + +/* line 599, ../../app/bower_components/bootstrap-sass/lib/_mixins.scss */ +.offset6 { + margin-left: 500px; +} + +/* line 599, ../../app/bower_components/bootstrap-sass/lib/_mixins.scss */ +.offset7 { + margin-left: 580px; +} + +/* line 599, ../../app/bower_components/bootstrap-sass/lib/_mixins.scss */ +.offset8 { + margin-left: 660px; +} + +/* line 599, ../../app/bower_components/bootstrap-sass/lib/_mixins.scss */ +.offset9 { + margin-left: 740px; +} + +/* line 599, ../../app/bower_components/bootstrap-sass/lib/_mixins.scss */ +.offset10 { + margin-left: 820px; +} + +/* line 599, ../../app/bower_components/bootstrap-sass/lib/_mixins.scss */ +.offset11 { + margin-left: 900px; +} + +/* line 599, ../../app/bower_components/bootstrap-sass/lib/_mixins.scss */ +.offset12 { + margin-left: 980px; +} + +/* line 614, ../../app/bower_components/bootstrap-sass/lib/_mixins.scss */ +.row-fluid { + width: 100%; + *zoom: 1; +} +/* line 15, ../../app/bower_components/bootstrap-sass/lib/_mixins.scss */ +.row-fluid:before, .row-fluid:after { + display: table; + content: ""; + line-height: 0; +} +/* line 22, ../../app/bower_components/bootstrap-sass/lib/_mixins.scss */ +.row-fluid:after { + clear: both; +} +/* line 617, ../../app/bower_components/bootstrap-sass/lib/_mixins.scss */ +.row-fluid [class*="span"] { + display: block; + width: 100%; + min-height: 30px; + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; + float: left; + margin-left: 2.12766%; + *margin-left: 2.07447%; +} +/* line 623, ../../app/bower_components/bootstrap-sass/lib/_mixins.scss */ +.row-fluid [class*="span"]:first-child { + margin-left: 0; +} +/* line 628, ../../app/bower_components/bootstrap-sass/lib/_mixins.scss */ +.row-fluid .controls-row [class*="span"] + [class*="span"] { + margin-left: 2.12766%; +} +/* line 640, ../../app/bower_components/bootstrap-sass/lib/_mixins.scss */ +.row-fluid .span1 { + width: 6.38298%; + *width: 6.32979%; +} +/* line 640, ../../app/bower_components/bootstrap-sass/lib/_mixins.scss */ +.row-fluid .span2 { + width: 14.89362%; + *width: 14.84043%; +} +/* line 640, ../../app/bower_components/bootstrap-sass/lib/_mixins.scss */ +.row-fluid .span3 { + width: 23.40426%; + *width: 23.35106%; +} +/* line 640, ../../app/bower_components/bootstrap-sass/lib/_mixins.scss */ +.row-fluid .span4 { + width: 31.91489%; + *width: 31.8617%; +} +/* line 640, ../../app/bower_components/bootstrap-sass/lib/_mixins.scss */ +.row-fluid .span5 { + width: 40.42553%; + *width: 40.37234%; +} +/* line 640, ../../app/bower_components/bootstrap-sass/lib/_mixins.scss */ +.row-fluid .span6 { + width: 48.93617%; + *width: 48.88298%; +} +/* line 640, ../../app/bower_components/bootstrap-sass/lib/_mixins.scss */ +.row-fluid .span7 { + width: 57.44681%; + *width: 57.39362%; +} +/* line 640, ../../app/bower_components/bootstrap-sass/lib/_mixins.scss */ +.row-fluid .span8 { + width: 65.95745%; + *width: 65.90426%; +} +/* line 640, ../../app/bower_components/bootstrap-sass/lib/_mixins.scss */ +.row-fluid .span9 { + width: 74.46809%; + *width: 74.41489%; +} +/* line 640, ../../app/bower_components/bootstrap-sass/lib/_mixins.scss */ +.row-fluid .span10 { + width: 82.97872%; + *width: 82.92553%; +} +/* line 640, ../../app/bower_components/bootstrap-sass/lib/_mixins.scss */ +.row-fluid .span11 { + width: 91.48936%; + *width: 91.43617%; +} +/* line 640, ../../app/bower_components/bootstrap-sass/lib/_mixins.scss */ +.row-fluid .span12 { + width: 100%; + *width: 99.94681%; +} +/* line 646, ../../app/bower_components/bootstrap-sass/lib/_mixins.scss */ +.row-fluid .offset1 { + margin-left: 10.6383%; + *margin-left: 10.53191%; +} +/* line 647, ../../app/bower_components/bootstrap-sass/lib/_mixins.scss */ +.row-fluid .offset1:first-child { + margin-left: 8.51064%; + *margin-left: 8.40426%; +} +/* line 646, ../../app/bower_components/bootstrap-sass/lib/_mixins.scss */ +.row-fluid .offset2 { + margin-left: 19.14894%; + *margin-left: 19.04255%; +} +/* line 647, ../../app/bower_components/bootstrap-sass/lib/_mixins.scss */ +.row-fluid .offset2:first-child { + margin-left: 17.02128%; + *margin-left: 16.91489%; +} +/* line 646, ../../app/bower_components/bootstrap-sass/lib/_mixins.scss */ +.row-fluid .offset3 { + margin-left: 27.65957%; + *margin-left: 27.55319%; +} +/* line 647, ../../app/bower_components/bootstrap-sass/lib/_mixins.scss */ +.row-fluid .offset3:first-child { + margin-left: 25.53191%; + *margin-left: 25.42553%; +} +/* line 646, ../../app/bower_components/bootstrap-sass/lib/_mixins.scss */ +.row-fluid .offset4 { + margin-left: 36.17021%; + *margin-left: 36.06383%; +} +/* line 647, ../../app/bower_components/bootstrap-sass/lib/_mixins.scss */ +.row-fluid .offset4:first-child { + margin-left: 34.04255%; + *margin-left: 33.93617%; +} +/* line 646, ../../app/bower_components/bootstrap-sass/lib/_mixins.scss */ +.row-fluid .offset5 { + margin-left: 44.68085%; + *margin-left: 44.57447%; +} +/* line 647, ../../app/bower_components/bootstrap-sass/lib/_mixins.scss */ +.row-fluid .offset5:first-child { + margin-left: 42.55319%; + *margin-left: 42.44681%; +} +/* line 646, ../../app/bower_components/bootstrap-sass/lib/_mixins.scss */ +.row-fluid .offset6 { + margin-left: 53.19149%; + *margin-left: 53.08511%; +} +/* line 647, ../../app/bower_components/bootstrap-sass/lib/_mixins.scss */ +.row-fluid .offset6:first-child { + margin-left: 51.06383%; + *margin-left: 50.95745%; +} +/* line 646, ../../app/bower_components/bootstrap-sass/lib/_mixins.scss */ +.row-fluid .offset7 { + margin-left: 61.70213%; + *margin-left: 61.59574%; +} +/* line 647, ../../app/bower_components/bootstrap-sass/lib/_mixins.scss */ +.row-fluid .offset7:first-child { + margin-left: 59.57447%; + *margin-left: 59.46809%; +} +/* line 646, ../../app/bower_components/bootstrap-sass/lib/_mixins.scss */ +.row-fluid .offset8 { + margin-left: 70.21277%; + *margin-left: 70.10638%; +} +/* line 647, ../../app/bower_components/bootstrap-sass/lib/_mixins.scss */ +.row-fluid .offset8:first-child { + margin-left: 68.08511%; + *margin-left: 67.97872%; +} +/* line 646, ../../app/bower_components/bootstrap-sass/lib/_mixins.scss */ +.row-fluid .offset9 { + margin-left: 78.7234%; + *margin-left: 78.61702%; +} +/* line 647, ../../app/bower_components/bootstrap-sass/lib/_mixins.scss */ +.row-fluid .offset9:first-child { + margin-left: 76.59574%; + *margin-left: 76.48936%; +} +/* line 646, ../../app/bower_components/bootstrap-sass/lib/_mixins.scss */ +.row-fluid .offset10 { + margin-left: 87.23404%; + *margin-left: 87.12766%; +} +/* line 647, ../../app/bower_components/bootstrap-sass/lib/_mixins.scss */ +.row-fluid .offset10:first-child { + margin-left: 85.10638%; + *margin-left: 85.0%; +} +/* line 646, ../../app/bower_components/bootstrap-sass/lib/_mixins.scss */ +.row-fluid .offset11 { + margin-left: 95.74468%; + *margin-left: 95.6383%; +} +/* line 647, ../../app/bower_components/bootstrap-sass/lib/_mixins.scss */ +.row-fluid .offset11:first-child { + margin-left: 93.61702%; + *margin-left: 93.51064%; +} +/* line 646, ../../app/bower_components/bootstrap-sass/lib/_mixins.scss */ +.row-fluid .offset12 { + margin-left: 104.25532%; + *margin-left: 104.14894%; +} +/* line 647, ../../app/bower_components/bootstrap-sass/lib/_mixins.scss */ +.row-fluid .offset12:first-child { + margin-left: 102.12766%; + *margin-left: 102.02128%; +} + +/* line 14, ../../app/bower_components/bootstrap-sass/lib/_grid.scss */ +[class*="span"].hide, +.row-fluid [class*="span"].hide { + display: none; +} + +/* line 19, ../../app/bower_components/bootstrap-sass/lib/_grid.scss */ +[class*="span"].pull-right, +.row-fluid [class*="span"].pull-right { + float: right; +} + +/* line 7, ../../app/bower_components/bootstrap-sass/lib/_layouts.scss */ +.container { + margin-right: auto; + margin-left: auto; + *zoom: 1; +} +/* line 15, ../../app/bower_components/bootstrap-sass/lib/_mixins.scss */ +.container:before, .container:after { + display: table; + content: ""; + line-height: 0; +} +/* line 22, ../../app/bower_components/bootstrap-sass/lib/_mixins.scss */ +.container:after { + clear: both; +} + +/* line 12, ../../app/bower_components/bootstrap-sass/lib/_layouts.scss */ +.container-fluid { + padding-right: 20px; + padding-left: 20px; + *zoom: 1; +} +/* line 15, ../../app/bower_components/bootstrap-sass/lib/_mixins.scss */ +.container-fluid:before, .container-fluid:after { + display: table; + content: ""; + line-height: 0; +} +/* line 22, ../../app/bower_components/bootstrap-sass/lib/_mixins.scss */ +.container-fluid:after { + clear: both; +} + +/* line 9, ../../app/bower_components/bootstrap-sass/lib/_type.scss */ +p { + margin: 0 0 10px; +} + +/* line 12, ../../app/bower_components/bootstrap-sass/lib/_type.scss */ +.lead { + margin-bottom: 20px; + font-size: 21px; + font-weight: 200; + line-height: 30px; +} + +/* line 24, ../../app/bower_components/bootstrap-sass/lib/_type.scss */ +small { + font-size: 85%; +} + +/* line 26, ../../app/bower_components/bootstrap-sass/lib/_type.scss */ +strong { + font-weight: bold; +} + +/* line 27, ../../app/bower_components/bootstrap-sass/lib/_type.scss */ +em { + font-style: italic; +} + +/* line 28, ../../app/bower_components/bootstrap-sass/lib/_type.scss */ +cite { + font-style: normal; +} + +/* line 31, ../../app/bower_components/bootstrap-sass/lib/_type.scss */ +.muted { + color: #999999; +} + +/* line 33, ../../app/bower_components/bootstrap-sass/lib/_type.scss */ +a.muted:hover, +a.muted:focus { + color: gray; +} + +/* line 35, ../../app/bower_components/bootstrap-sass/lib/_type.scss */ +.text-warning { + color: #c09853; +} + +/* line 37, ../../app/bower_components/bootstrap-sass/lib/_type.scss */ +a.text-warning:hover, +a.text-warning:focus { + color: #a47e3c; +} + +/* line 39, ../../app/bower_components/bootstrap-sass/lib/_type.scss */ +.text-error { + color: #b94a48; +} + +/* line 41, ../../app/bower_components/bootstrap-sass/lib/_type.scss */ +a.text-error:hover, +a.text-error:focus { + color: #953b39; +} + +/* line 43, ../../app/bower_components/bootstrap-sass/lib/_type.scss */ +.text-info { + color: #3a87ad; +} + +/* line 45, ../../app/bower_components/bootstrap-sass/lib/_type.scss */ +a.text-info:hover, +a.text-info:focus { + color: #2d6987; +} + +/* line 47, ../../app/bower_components/bootstrap-sass/lib/_type.scss */ +.text-success { + color: #468847; +} + +/* line 49, ../../app/bower_components/bootstrap-sass/lib/_type.scss */ +a.text-success:hover, +a.text-success:focus { + color: #356635; +} + +/* line 51, ../../app/bower_components/bootstrap-sass/lib/_type.scss */ +.text-left { + text-align: left; +} + +/* line 52, ../../app/bower_components/bootstrap-sass/lib/_type.scss */ +.text-right { + text-align: right; +} + +/* line 53, ../../app/bower_components/bootstrap-sass/lib/_type.scss */ +.text-center { + text-align: center; +} + +/* line 59, ../../app/bower_components/bootstrap-sass/lib/_type.scss */ +h1, h2, h3, h4, h5, h6 { + margin: 10px 0; + font-family: inherit; + font-weight: bold; + line-height: 20px; + color: inherit; + text-rendering: optimizelegibility; +} +/* line 66, ../../app/bower_components/bootstrap-sass/lib/_type.scss */ +h1 small, h2 small, h3 small, h4 small, h5 small, h6 small { + font-weight: normal; + line-height: 1; + color: #999999; +} + +/* line 75, ../../app/bower_components/bootstrap-sass/lib/_type.scss */ +h1, +h2, +h3 { + line-height: 40px; +} + +/* line 77, ../../app/bower_components/bootstrap-sass/lib/_type.scss */ +h1 { + font-size: 38.5px; +} + +/* line 78, ../../app/bower_components/bootstrap-sass/lib/_type.scss */ +h2 { + font-size: 31.5px; +} + +/* line 79, ../../app/bower_components/bootstrap-sass/lib/_type.scss */ +h3 { + font-size: 24.5px; +} + +/* line 80, ../../app/bower_components/bootstrap-sass/lib/_type.scss */ +h4 { + font-size: 17.5px; +} + +/* line 81, ../../app/bower_components/bootstrap-sass/lib/_type.scss */ +h5 { + font-size: 14px; +} + +/* line 82, ../../app/bower_components/bootstrap-sass/lib/_type.scss */ +h6 { + font-size: 11.9px; +} + +/* line 84, ../../app/bower_components/bootstrap-sass/lib/_type.scss */ +h1 small { + font-size: 24.5px; +} + +/* line 85, ../../app/bower_components/bootstrap-sass/lib/_type.scss */ +h2 small { + font-size: 17.5px; +} + +/* line 86, ../../app/bower_components/bootstrap-sass/lib/_type.scss */ +h3 small { + font-size: 14px; +} + +/* line 87, ../../app/bower_components/bootstrap-sass/lib/_type.scss */ +h4 small { + font-size: 14px; +} + +/* line 93, ../../app/bower_components/bootstrap-sass/lib/_type.scss */ +.page-header { + padding-bottom: 9px; + margin: 20px 0 30px; + border-bottom: 1px solid #eeeeee; +} + +/* line 105, ../../app/bower_components/bootstrap-sass/lib/_type.scss */ +ul, ol { + padding: 0; + margin: 0 0 10px 25px; +} + +/* line 112, ../../app/bower_components/bootstrap-sass/lib/_type.scss */ +ul ul, +ul ol, +ol ol, +ol ul { + margin-bottom: 0; +} + +/* line 115, ../../app/bower_components/bootstrap-sass/lib/_type.scss */ +li { + line-height: 20px; +} + +/* line 121, ../../app/bower_components/bootstrap-sass/lib/_type.scss */ +ul.unstyled, +ol.unstyled { + margin-left: 0; + list-style: none; +} + +/* line 128, ../../app/bower_components/bootstrap-sass/lib/_type.scss */ +ul.inline, +ol.inline { + margin-left: 0; + list-style: none; +} +/* line 131, ../../app/bower_components/bootstrap-sass/lib/_type.scss */ +ul.inline > li, +ol.inline > li { + display: inline-block; + *display: inline; + /* IE7 inline-block hack */ + *zoom: 1; + padding-left: 5px; + padding-right: 5px; +} + +/* line 140, ../../app/bower_components/bootstrap-sass/lib/_type.scss */ +dl { + margin-bottom: 20px; +} + +/* line 144, ../../app/bower_components/bootstrap-sass/lib/_type.scss */ +dt, +dd { + line-height: 20px; +} + +/* line 147, ../../app/bower_components/bootstrap-sass/lib/_type.scss */ +dt { + font-weight: bold; +} + +/* line 150, ../../app/bower_components/bootstrap-sass/lib/_type.scss */ +dd { + margin-left: 10px; +} + +/* line 154, ../../app/bower_components/bootstrap-sass/lib/_type.scss */ +.dl-horizontal { + *zoom: 1; +} +/* line 15, ../../app/bower_components/bootstrap-sass/lib/_mixins.scss */ +.dl-horizontal:before, .dl-horizontal:after { + display: table; + content: ""; + line-height: 0; +} +/* line 22, ../../app/bower_components/bootstrap-sass/lib/_mixins.scss */ +.dl-horizontal:after { + clear: both; +} +/* line 156, ../../app/bower_components/bootstrap-sass/lib/_type.scss */ +.dl-horizontal dt { + float: left; + width: 160px; + clear: left; + text-align: right; + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; +} +/* line 163, ../../app/bower_components/bootstrap-sass/lib/_type.scss */ +.dl-horizontal dd { + margin-left: 180px; +} + +/* line 172, ../../app/bower_components/bootstrap-sass/lib/_type.scss */ +hr { + margin: 20px 0; + border: 0; + border-top: 1px solid #eeeeee; + border-bottom: 1px solid white; +} + +/* line 182, ../../app/bower_components/bootstrap-sass/lib/_type.scss */ +abbr[title], +abbr[data-original-title] { + cursor: help; + border-bottom: 1px dotted #999999; +} + +/* line 186, ../../app/bower_components/bootstrap-sass/lib/_type.scss */ +abbr.initialism { + font-size: 90%; + text-transform: uppercase; +} + +/* line 192, ../../app/bower_components/bootstrap-sass/lib/_type.scss */ +blockquote { + padding: 0 0 0 15px; + margin: 0 0 20px; + border-left: 5px solid #eeeeee; +} +/* line 196, ../../app/bower_components/bootstrap-sass/lib/_type.scss */ +blockquote p { + margin-bottom: 0; + font-size: 17.5px; + font-weight: 300; + line-height: 1.25; +} +/* line 202, ../../app/bower_components/bootstrap-sass/lib/_type.scss */ +blockquote small { + display: block; + line-height: 20px; + color: #999999; +} +/* line 206, ../../app/bower_components/bootstrap-sass/lib/_type.scss */ +blockquote small:before { + content: '\2014 \00A0'; +} +/* line 212, ../../app/bower_components/bootstrap-sass/lib/_type.scss */ +blockquote.pull-right { + float: right; + padding-right: 15px; + padding-left: 0; + border-right: 5px solid #eeeeee; + border-left: 0; +} +/* line 219, ../../app/bower_components/bootstrap-sass/lib/_type.scss */ +blockquote.pull-right p, +blockquote.pull-right small { + text-align: right; +} +/* line 223, ../../app/bower_components/bootstrap-sass/lib/_type.scss */ +blockquote.pull-right small:before { + content: ''; +} +/* line 226, ../../app/bower_components/bootstrap-sass/lib/_type.scss */ +blockquote.pull-right small:after { + content: '\00A0 \2014'; +} + +/* line 237, ../../app/bower_components/bootstrap-sass/lib/_type.scss */ +q:before, +q:after, +blockquote:before, +blockquote:after { + content: ""; +} + +/* line 242, ../../app/bower_components/bootstrap-sass/lib/_type.scss */ +address { + display: block; + margin-bottom: 20px; + font-style: normal; + line-height: 20px; +} + +/* line 8, ../../app/bower_components/bootstrap-sass/lib/_code.scss */ +code, +pre { + padding: 0 3px 2px; + font-family: Monaco, Menlo, Consolas, "Courier New", monospace; + font-size: 12px; + color: #333333; + -webkit-border-radius: 3px; + -moz-border-radius: 3px; + border-radius: 3px; +} + +/* line 17, ../../app/bower_components/bootstrap-sass/lib/_code.scss */ +code { + padding: 2px 4px; + color: #d14; + background-color: #f7f7f9; + border: 1px solid #e1e1e8; + white-space: nowrap; +} + +/* line 26, ../../app/bower_components/bootstrap-sass/lib/_code.scss */ +pre { + display: block; + padding: 9.5px; + margin: 0 0 10px; + font-size: 13px; + line-height: 20px; + word-break: break-all; + word-wrap: break-word; + white-space: pre; + white-space: pre-wrap; + background-color: #f5f5f5; + border: 1px solid #ccc; + border: 1px solid rgba(0, 0, 0, 0.15); + -webkit-border-radius: 4px; + -moz-border-radius: 4px; + border-radius: 4px; +} +/* line 42, ../../app/bower_components/bootstrap-sass/lib/_code.scss */ +pre.prettyprint { + margin-bottom: 20px; +} +/* line 47, ../../app/bower_components/bootstrap-sass/lib/_code.scss */ +pre code { + padding: 0; + color: inherit; + white-space: pre; + white-space: pre-wrap; + background-color: transparent; + border: 0; +} + +/* line 58, ../../app/bower_components/bootstrap-sass/lib/_code.scss */ +.pre-scrollable { + max-height: 340px; + overflow-y: scroll; +} + +/* line 10, ../../app/bower_components/bootstrap-sass/lib/_forms.scss */ +form { + margin: 0 0 20px; +} + +/* line 14, ../../app/bower_components/bootstrap-sass/lib/_forms.scss */ +fieldset { + padding: 0; + margin: 0; + border: 0; +} + +/* line 21, ../../app/bower_components/bootstrap-sass/lib/_forms.scss */ +legend { + display: block; + width: 100%; + padding: 0; + margin-bottom: 20px; + font-size: 21px; + line-height: 40px; + color: #333333; + border: 0; + border-bottom: 1px solid #e5e5e5; +} +/* line 33, ../../app/bower_components/bootstrap-sass/lib/_forms.scss */ +legend small { + font-size: 15px; + color: #999999; +} + +/* line 44, ../../app/bower_components/bootstrap-sass/lib/_forms.scss */ +label, +input, +button, +select, +textarea { + font-size: 14px; + font-weight: normal; + line-height: 20px; +} + +/* line 50, ../../app/bower_components/bootstrap-sass/lib/_forms.scss */ +input, +button, +select, +textarea { + font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; +} + +/* line 55, ../../app/bower_components/bootstrap-sass/lib/_forms.scss */ +label { + display: block; + margin-bottom: 5px; +} + +/* line 80, ../../app/bower_components/bootstrap-sass/lib/_forms.scss */ +select, +textarea, +input[type="text"], +input[type="password"], +input[type="datetime"], +input[type="datetime-local"], +input[type="date"], +input[type="month"], +input[type="time"], +input[type="week"], +input[type="number"], +input[type="email"], +input[type="url"], +input[type="search"], +input[type="tel"], +input[type="color"], +.uneditable-input { + display: inline-block; + height: 20px; + padding: 4px 6px; + margin-bottom: 10px; + font-size: 14px; + line-height: 20px; + color: #555555; + -webkit-border-radius: 4px; + -moz-border-radius: 4px; + border-radius: 4px; + vertical-align: middle; +} + +/* line 96, ../../app/bower_components/bootstrap-sass/lib/_forms.scss */ +input, +textarea, +.uneditable-input { + width: 206px; +} + +/* line 100, ../../app/bower_components/bootstrap-sass/lib/_forms.scss */ +textarea { + height: auto; +} + +/* line 119, ../../app/bower_components/bootstrap-sass/lib/_forms.scss */ +textarea, +input[type="text"], +input[type="password"], +input[type="datetime"], +input[type="datetime-local"], +input[type="date"], +input[type="month"], +input[type="time"], +input[type="week"], +input[type="number"], +input[type="email"], +input[type="url"], +input[type="search"], +input[type="tel"], +input[type="color"], +.uneditable-input { + background-color: white; + border: 1px solid #cccccc; + -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); + -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); + box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); + -webkit-transition: border linear 0.2s, box-shadow linear 0.2s; + -moz-transition: border linear 0.2s, box-shadow linear 0.2s; + -o-transition: border linear 0.2s, box-shadow linear 0.2s; + transition: border linear 0.2s, box-shadow linear 0.2s; +} +/* line 126, ../../app/bower_components/bootstrap-sass/lib/_forms.scss */ +textarea:focus, +input[type="text"]:focus, +input[type="password"]:focus, +input[type="datetime"]:focus, +input[type="datetime-local"]:focus, +input[type="date"]:focus, +input[type="month"]:focus, +input[type="time"]:focus, +input[type="week"]:focus, +input[type="number"]:focus, +input[type="email"]:focus, +input[type="url"]:focus, +input[type="search"]:focus, +input[type="tel"]:focus, +input[type="color"]:focus, +.uneditable-input:focus { + border-color: rgba(82, 168, 236, 0.8); + outline: 0; + outline: thin dotted \9; + /* IE6-9 */ + -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(82, 168, 236, 0.6); + -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(82, 168, 236, 0.6); + box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(82, 168, 236, 0.6); +} + +/* line 136, ../../app/bower_components/bootstrap-sass/lib/_forms.scss */ +input[type="radio"], +input[type="checkbox"] { + margin: 4px 0 0; + *margin-top: 0; + /* IE7 */ + margin-top: 1px \9; + /* IE8-9 */ + line-height: normal; +} + +/* line 150, ../../app/bower_components/bootstrap-sass/lib/_forms.scss */ +input[type="file"], +input[type="image"], +input[type="submit"], +input[type="reset"], +input[type="button"], +input[type="radio"], +input[type="checkbox"] { + width: auto; +} + +/* line 156, ../../app/bower_components/bootstrap-sass/lib/_forms.scss */ +select, +input[type="file"] { + height: 30px; + /* In IE7, the height of the select element cannot be changed by height, only font-size */ + *margin-top: 4px; + /* For IE7, add top margin to align select with labels */ + line-height: 30px; +} + +/* line 163, ../../app/bower_components/bootstrap-sass/lib/_forms.scss */ +select { + width: 220px; + border: 1px solid #cccccc; + background-color: white; +} + +/* line 171, ../../app/bower_components/bootstrap-sass/lib/_forms.scss */ +select[multiple], +select[size] { + height: auto; +} + +/* line 179, ../../app/bower_components/bootstrap-sass/lib/_forms.scss */ +select:focus, +input[type="file"]:focus, +input[type="radio"]:focus, +input[type="checkbox"]:focus { + outline: thin dotted #333; + outline: 5px auto -webkit-focus-ring-color; + outline-offset: -2px; +} + +/* line 189, ../../app/bower_components/bootstrap-sass/lib/_forms.scss */ +.uneditable-input, +.uneditable-textarea { + color: #999999; + background-color: #fcfcfc; + border-color: #cccccc; + -webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.025); + -moz-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.025); + box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.025); + cursor: not-allowed; +} + +/* line 198, ../../app/bower_components/bootstrap-sass/lib/_forms.scss */ +.uneditable-input { + overflow: hidden; + white-space: nowrap; +} + +/* line 204, ../../app/bower_components/bootstrap-sass/lib/_forms.scss */ +.uneditable-textarea { + width: auto; + height: auto; +} + +/* line 83, ../../app/bower_components/bootstrap-sass/lib/_mixins.scss */ +input:-moz-placeholder, +textarea:-moz-placeholder { + color: #999999; +} +/* line 86, ../../app/bower_components/bootstrap-sass/lib/_mixins.scss */ +input:-ms-input-placeholder, +textarea:-ms-input-placeholder { + color: #999999; +} +/* line 89, ../../app/bower_components/bootstrap-sass/lib/_mixins.scss */ +input::-webkit-input-placeholder, +textarea::-webkit-input-placeholder { + color: #999999; +} + +/* line 225, ../../app/bower_components/bootstrap-sass/lib/_forms.scss */ +.radio, +.checkbox { + min-height: 20px; + padding-left: 20px; +} + +/* line 230, ../../app/bower_components/bootstrap-sass/lib/_forms.scss */ +.radio input[type="radio"], +.checkbox input[type="checkbox"] { + float: left; + margin-left: -20px; +} + +/* line 237, ../../app/bower_components/bootstrap-sass/lib/_forms.scss */ +.controls > .radio:first-child, +.controls > .checkbox:first-child { + padding-top: 5px; +} + +/* line 244, ../../app/bower_components/bootstrap-sass/lib/_forms.scss */ +.radio.inline, +.checkbox.inline { + display: inline-block; + padding-top: 5px; + margin-bottom: 0; + vertical-align: middle; +} + +/* line 251, ../../app/bower_components/bootstrap-sass/lib/_forms.scss */ +.radio.inline + .radio.inline, +.checkbox.inline + .checkbox.inline { + margin-left: 10px; +} + +/* line 261, ../../app/bower_components/bootstrap-sass/lib/_forms.scss */ +.input-mini { + width: 60px; +} + +/* line 262, ../../app/bower_components/bootstrap-sass/lib/_forms.scss */ +.input-small { + width: 90px; +} + +/* line 263, ../../app/bower_components/bootstrap-sass/lib/_forms.scss */ +.input-medium { + width: 150px; +} + +/* line 264, ../../app/bower_components/bootstrap-sass/lib/_forms.scss */ +.input-large { + width: 210px; +} + +/* line 265, ../../app/bower_components/bootstrap-sass/lib/_forms.scss */ +.input-xlarge { + width: 270px; +} + +/* line 266, ../../app/bower_components/bootstrap-sass/lib/_forms.scss */ +.input-xxlarge { + width: 530px; +} + +/* line 277, ../../app/bower_components/bootstrap-sass/lib/_forms.scss */ +input[class*="span"], +select[class*="span"], +textarea[class*="span"], +.uneditable-input[class*="span"], +.row-fluid input[class*="span"], +.row-fluid select[class*="span"], +.row-fluid textarea[class*="span"], +.row-fluid .uneditable-input[class*="span"] { + float: none; + margin-left: 0; +} + +/* line 291, ../../app/bower_components/bootstrap-sass/lib/_forms.scss */ +.input-append input[class*="span"], +.input-append .uneditable-input[class*="span"], +.input-prepend input[class*="span"], +.input-prepend .uneditable-input[class*="span"], +.row-fluid input[class*="span"], +.row-fluid select[class*="span"], +.row-fluid textarea[class*="span"], +.row-fluid .uneditable-input[class*="span"], +.row-fluid .input-prepend [class*="span"], +.row-fluid .input-append [class*="span"] { + display: inline-block; +} + +/* line 671, ../../app/bower_components/bootstrap-sass/lib/_mixins.scss */ +input, +textarea, +.uneditable-input { + margin-left: 0; +} + +/* line 676, ../../app/bower_components/bootstrap-sass/lib/_mixins.scss */ +.controls-row [class*="span"] + [class*="span"] { + margin-left: 20px; +} + +/* line 688, ../../app/bower_components/bootstrap-sass/lib/_mixins.scss */ +input.span1, +textarea.span1, +.uneditable-input.span1 { + width: 46px; +} + +/* line 688, ../../app/bower_components/bootstrap-sass/lib/_mixins.scss */ +input.span2, +textarea.span2, +.uneditable-input.span2 { + width: 126px; +} + +/* line 688, ../../app/bower_components/bootstrap-sass/lib/_mixins.scss */ +input.span3, +textarea.span3, +.uneditable-input.span3 { + width: 206px; +} + +/* line 688, ../../app/bower_components/bootstrap-sass/lib/_mixins.scss */ +input.span4, +textarea.span4, +.uneditable-input.span4 { + width: 286px; +} + +/* line 688, ../../app/bower_components/bootstrap-sass/lib/_mixins.scss */ +input.span5, +textarea.span5, +.uneditable-input.span5 { + width: 366px; +} + +/* line 688, ../../app/bower_components/bootstrap-sass/lib/_mixins.scss */ +input.span6, +textarea.span6, +.uneditable-input.span6 { + width: 446px; +} + +/* line 688, ../../app/bower_components/bootstrap-sass/lib/_mixins.scss */ +input.span7, +textarea.span7, +.uneditable-input.span7 { + width: 526px; +} + +/* line 688, ../../app/bower_components/bootstrap-sass/lib/_mixins.scss */ +input.span8, +textarea.span8, +.uneditable-input.span8 { + width: 606px; +} + +/* line 688, ../../app/bower_components/bootstrap-sass/lib/_mixins.scss */ +input.span9, +textarea.span9, +.uneditable-input.span9 { + width: 686px; +} + +/* line 688, ../../app/bower_components/bootstrap-sass/lib/_mixins.scss */ +input.span10, +textarea.span10, +.uneditable-input.span10 { + width: 766px; +} + +/* line 688, ../../app/bower_components/bootstrap-sass/lib/_mixins.scss */ +input.span11, +textarea.span11, +.uneditable-input.span11 { + width: 846px; +} + +/* line 688, ../../app/bower_components/bootstrap-sass/lib/_mixins.scss */ +input.span12, +textarea.span12, +.uneditable-input.span12 { + width: 926px; +} + +/* line 304, ../../app/bower_components/bootstrap-sass/lib/_forms.scss */ +.controls-row { + *zoom: 1; +} +/* line 15, ../../app/bower_components/bootstrap-sass/lib/_mixins.scss */ +.controls-row:before, .controls-row:after { + display: table; + content: ""; + line-height: 0; +} +/* line 22, ../../app/bower_components/bootstrap-sass/lib/_mixins.scss */ +.controls-row:after { + clear: both; +} + +/* line 311, ../../app/bower_components/bootstrap-sass/lib/_forms.scss */ +.controls-row [class*="span"], +.row-fluid .controls-row [class*="span"] { + float: left; +} + +/* line 316, ../../app/bower_components/bootstrap-sass/lib/_forms.scss */ +.controls-row .checkbox[class*="span"], +.controls-row .radio[class*="span"] { + padding-top: 5px; +} + +/* line 332, ../../app/bower_components/bootstrap-sass/lib/_forms.scss */ +input[disabled], +select[disabled], +textarea[disabled], +input[readonly], +select[readonly], +textarea[readonly] { + cursor: not-allowed; + background-color: #eeeeee; +} + +/* line 340, ../../app/bower_components/bootstrap-sass/lib/_forms.scss */ +input[type="radio"][disabled], +input[type="checkbox"][disabled], +input[type="radio"][readonly], +input[type="checkbox"][readonly] { + background-color: transparent; +} + +/* line 164, ../../app/bower_components/bootstrap-sass/lib/_mixins.scss */ +.control-group.warning .control-label, +.control-group.warning .help-block, +.control-group.warning .help-inline { + color: #c09853; +} +/* line 172, ../../app/bower_components/bootstrap-sass/lib/_mixins.scss */ +.control-group.warning .checkbox, +.control-group.warning .radio, +.control-group.warning input, +.control-group.warning select, +.control-group.warning textarea { + color: #c09853; +} +/* line 177, ../../app/bower_components/bootstrap-sass/lib/_mixins.scss */ +.control-group.warning input, +.control-group.warning select, +.control-group.warning textarea { + border-color: #c09853; + -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); + -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); + box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); +} +/* line 180, ../../app/bower_components/bootstrap-sass/lib/_mixins.scss */ +.control-group.warning input:focus, +.control-group.warning select:focus, +.control-group.warning textarea:focus { + border-color: #a47e3c; + -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #dbc59e; + -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #dbc59e; + box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #dbc59e; +} +/* line 187, ../../app/bower_components/bootstrap-sass/lib/_mixins.scss */ +.control-group.warning .input-prepend .add-on, +.control-group.warning .input-append .add-on { + color: #c09853; + background-color: #fcf8e3; + border-color: #c09853; +} + +/* line 164, ../../app/bower_components/bootstrap-sass/lib/_mixins.scss */ +.control-group.error .control-label, +.control-group.error .help-block, +.control-group.error .help-inline { + color: #b94a48; +} +/* line 172, ../../app/bower_components/bootstrap-sass/lib/_mixins.scss */ +.control-group.error .checkbox, +.control-group.error .radio, +.control-group.error input, +.control-group.error select, +.control-group.error textarea { + color: #b94a48; +} +/* line 177, ../../app/bower_components/bootstrap-sass/lib/_mixins.scss */ +.control-group.error input, +.control-group.error select, +.control-group.error textarea { + border-color: #b94a48; + -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); + -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); + box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); +} +/* line 180, ../../app/bower_components/bootstrap-sass/lib/_mixins.scss */ +.control-group.error input:focus, +.control-group.error select:focus, +.control-group.error textarea:focus { + border-color: #953b39; + -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #d59392; + -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #d59392; + box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #d59392; +} +/* line 187, ../../app/bower_components/bootstrap-sass/lib/_mixins.scss */ +.control-group.error .input-prepend .add-on, +.control-group.error .input-append .add-on { + color: #b94a48; + background-color: #f2dede; + border-color: #b94a48; +} + +/* line 164, ../../app/bower_components/bootstrap-sass/lib/_mixins.scss */ +.control-group.success .control-label, +.control-group.success .help-block, +.control-group.success .help-inline { + color: #468847; +} +/* line 172, ../../app/bower_components/bootstrap-sass/lib/_mixins.scss */ +.control-group.success .checkbox, +.control-group.success .radio, +.control-group.success input, +.control-group.success select, +.control-group.success textarea { + color: #468847; +} +/* line 177, ../../app/bower_components/bootstrap-sass/lib/_mixins.scss */ +.control-group.success input, +.control-group.success select, +.control-group.success textarea { + border-color: #468847; + -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); + -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); + box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); +} +/* line 180, ../../app/bower_components/bootstrap-sass/lib/_mixins.scss */ +.control-group.success input:focus, +.control-group.success select:focus, +.control-group.success textarea:focus { + border-color: #356635; + -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #7aba7b; + -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #7aba7b; + box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #7aba7b; +} +/* line 187, ../../app/bower_components/bootstrap-sass/lib/_mixins.scss */ +.control-group.success .input-prepend .add-on, +.control-group.success .input-append .add-on { + color: #468847; + background-color: #dff0d8; + border-color: #468847; +} + +/* line 164, ../../app/bower_components/bootstrap-sass/lib/_mixins.scss */ +.control-group.info .control-label, +.control-group.info .help-block, +.control-group.info .help-inline { + color: #3a87ad; +} +/* line 172, ../../app/bower_components/bootstrap-sass/lib/_mixins.scss */ +.control-group.info .checkbox, +.control-group.info .radio, +.control-group.info input, +.control-group.info select, +.control-group.info textarea { + color: #3a87ad; +} +/* line 177, ../../app/bower_components/bootstrap-sass/lib/_mixins.scss */ +.control-group.info input, +.control-group.info select, +.control-group.info textarea { + border-color: #3a87ad; + -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); + -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); + box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); +} +/* line 180, ../../app/bower_components/bootstrap-sass/lib/_mixins.scss */ +.control-group.info input:focus, +.control-group.info select:focus, +.control-group.info textarea:focus { + border-color: #2d6987; + -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #7ab5d3; + -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #7ab5d3; + box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #7ab5d3; +} +/* line 187, ../../app/bower_components/bootstrap-sass/lib/_mixins.scss */ +.control-group.info .input-prepend .add-on, +.control-group.info .input-append .add-on { + color: #3a87ad; + background-color: #d9edf7; + border-color: #3a87ad; +} + +/* line 371, ../../app/bower_components/bootstrap-sass/lib/_forms.scss */ +input:focus:invalid, +textarea:focus:invalid, +select:focus:invalid { + color: #b94a48; + border-color: #ee5f5b; +} +/* line 374, ../../app/bower_components/bootstrap-sass/lib/_forms.scss */ +input:focus:invalid:focus, +textarea:focus:invalid:focus, +select:focus:invalid:focus { + border-color: #e9322d; + -webkit-box-shadow: 0 0 6px #f8b9b7; + -moz-box-shadow: 0 0 6px #f8b9b7; + box-shadow: 0 0 6px #f8b9b7; +} + +/* line 385, ../../app/bower_components/bootstrap-sass/lib/_forms.scss */ +.form-actions { + padding: 19px 20px 20px; + margin-top: 20px; + margin-bottom: 20px; + background-color: whitesmoke; + border-top: 1px solid #e5e5e5; + *zoom: 1; +} +/* line 15, ../../app/bower_components/bootstrap-sass/lib/_mixins.scss */ +.form-actions:before, .form-actions:after { + display: table; + content: ""; + line-height: 0; +} +/* line 22, ../../app/bower_components/bootstrap-sass/lib/_mixins.scss */ +.form-actions:after { + clear: both; +} + +/* line 400, ../../app/bower_components/bootstrap-sass/lib/_forms.scss */ +.help-block, +.help-inline { + color: #595959; +} + +/* line 404, ../../app/bower_components/bootstrap-sass/lib/_forms.scss */ +.help-block { + display: block; + margin-bottom: 10px; +} + +/* line 409, ../../app/bower_components/bootstrap-sass/lib/_forms.scss */ +.help-inline { + display: inline-block; + *display: inline; + /* IE7 inline-block hack */ + *zoom: 1; + vertical-align: middle; + padding-left: 5px; +} + +/* line 423, ../../app/bower_components/bootstrap-sass/lib/_forms.scss */ +.input-append, +.input-prepend { + display: inline-block; + margin-bottom: 10px; + vertical-align: middle; + font-size: 0; + white-space: nowrap; +} +/* line 435, ../../app/bower_components/bootstrap-sass/lib/_forms.scss */ +.input-append input, +.input-append select, +.input-append .uneditable-input, +.input-append .dropdown-menu, +.input-append .popover, +.input-prepend input, +.input-prepend select, +.input-prepend .uneditable-input, +.input-prepend .dropdown-menu, +.input-prepend .popover { + font-size: 14px; +} +/* line 441, ../../app/bower_components/bootstrap-sass/lib/_forms.scss */ +.input-append input, +.input-append select, +.input-append .uneditable-input, +.input-prepend input, +.input-prepend select, +.input-prepend .uneditable-input { + position: relative; + margin-bottom: 0; + *margin-left: 0; + vertical-align: top; + -webkit-border-radius: 0 4px 4px 0; + -moz-border-radius: 0 4px 4px 0; + border-radius: 0 4px 4px 0; +} +/* line 448, ../../app/bower_components/bootstrap-sass/lib/_forms.scss */ +.input-append input:focus, +.input-append select:focus, +.input-append .uneditable-input:focus, +.input-prepend input:focus, +.input-prepend select:focus, +.input-prepend .uneditable-input:focus { + z-index: 2; +} +/* line 452, ../../app/bower_components/bootstrap-sass/lib/_forms.scss */ +.input-append .add-on, +.input-prepend .add-on { + display: inline-block; + width: auto; + height: 20px; + min-width: 16px; + padding: 4px 5px; + font-size: 14px; + font-weight: normal; + line-height: 20px; + text-align: center; + text-shadow: 0 1px 0 white; + background-color: #eeeeee; + border: 1px solid #ccc; +} +/* line 468, ../../app/bower_components/bootstrap-sass/lib/_forms.scss */ +.input-append .add-on, +.input-append .btn, +.input-append .btn-group > .dropdown-toggle, +.input-prepend .add-on, +.input-prepend .btn, +.input-prepend .btn-group > .dropdown-toggle { + vertical-align: top; + -webkit-border-radius: 0; + -moz-border-radius: 0; + border-radius: 0; +} +/* line 472, ../../app/bower_components/bootstrap-sass/lib/_forms.scss */ +.input-append .active, +.input-prepend .active { + background-color: #a9dba9; + border-color: #46a546; +} + +/* line 480, ../../app/bower_components/bootstrap-sass/lib/_forms.scss */ +.input-prepend .add-on, +.input-prepend .btn { + margin-right: -1px; +} +/* line 484, ../../app/bower_components/bootstrap-sass/lib/_forms.scss */ +.input-prepend .add-on:first-child, +.input-prepend .btn:first-child { + -webkit-border-radius: 4px 0 0 4px; + -moz-border-radius: 4px 0 0 4px; + border-radius: 4px 0 0 4px; +} + +/* line 493, ../../app/bower_components/bootstrap-sass/lib/_forms.scss */ +.input-append input, +.input-append select, +.input-append .uneditable-input { + -webkit-border-radius: 4px 0 0 4px; + -moz-border-radius: 4px 0 0 4px; + border-radius: 4px 0 0 4px; +} +/* line 495, ../../app/bower_components/bootstrap-sass/lib/_forms.scss */ +.input-append input + .btn-group .btn:last-child, +.input-append select + .btn-group .btn:last-child, +.input-append .uneditable-input + .btn-group .btn:last-child { + -webkit-border-radius: 0 4px 4px 0; + -moz-border-radius: 0 4px 4px 0; + border-radius: 0 4px 4px 0; +} +/* line 501, ../../app/bower_components/bootstrap-sass/lib/_forms.scss */ +.input-append .add-on, +.input-append .btn, +.input-append .btn-group { + margin-left: -1px; +} +/* line 506, ../../app/bower_components/bootstrap-sass/lib/_forms.scss */ +.input-append .add-on:last-child, +.input-append .btn:last-child, +.input-append .btn-group:last-child > .dropdown-toggle { + -webkit-border-radius: 0 4px 4px 0; + -moz-border-radius: 0 4px 4px 0; + border-radius: 0 4px 4px 0; +} + +/* line 515, ../../app/bower_components/bootstrap-sass/lib/_forms.scss */ +.input-prepend.input-append input, +.input-prepend.input-append select, +.input-prepend.input-append .uneditable-input { + -webkit-border-radius: 0; + -moz-border-radius: 0; + border-radius: 0; +} +/* line 517, ../../app/bower_components/bootstrap-sass/lib/_forms.scss */ +.input-prepend.input-append input + .btn-group .btn, +.input-prepend.input-append select + .btn-group .btn, +.input-prepend.input-append .uneditable-input + .btn-group .btn { + -webkit-border-radius: 0 4px 4px 0; + -moz-border-radius: 0 4px 4px 0; + border-radius: 0 4px 4px 0; +} +/* line 522, ../../app/bower_components/bootstrap-sass/lib/_forms.scss */ +.input-prepend.input-append .add-on:first-child, +.input-prepend.input-append .btn:first-child { + margin-right: -1px; + -webkit-border-radius: 4px 0 0 4px; + -moz-border-radius: 4px 0 0 4px; + border-radius: 4px 0 0 4px; +} +/* line 527, ../../app/bower_components/bootstrap-sass/lib/_forms.scss */ +.input-prepend.input-append .add-on:last-child, +.input-prepend.input-append .btn:last-child { + margin-left: -1px; + -webkit-border-radius: 0 4px 4px 0; + -moz-border-radius: 0 4px 4px 0; + border-radius: 0 4px 4px 0; +} +/* line 531, ../../app/bower_components/bootstrap-sass/lib/_forms.scss */ +.input-prepend.input-append .btn-group:first-child { + margin-left: 0; +} + +/* line 542, ../../app/bower_components/bootstrap-sass/lib/_forms.scss */ +input.search-query { + padding-right: 14px; + padding-right: 4px \9; + padding-left: 14px; + padding-left: 4px \9; + /* IE7-8 doesn't have border-radius, so don't indent the padding */ + margin-bottom: 0; + -webkit-border-radius: 15px; + -moz-border-radius: 15px; + border-radius: 15px; +} + +/* Allow for input prepend/append in search forms */ +/* line 553, ../../app/bower_components/bootstrap-sass/lib/_forms.scss */ +.form-search .input-append .search-query, +.form-search .input-prepend .search-query { + -webkit-border-radius: 0; + -moz-border-radius: 0; + border-radius: 0; +} + +/* line 556, ../../app/bower_components/bootstrap-sass/lib/_forms.scss */ +.form-search .input-append .search-query { + -webkit-border-radius: 14px 0 0 14px; + -moz-border-radius: 14px 0 0 14px; + border-radius: 14px 0 0 14px; +} + +/* line 559, ../../app/bower_components/bootstrap-sass/lib/_forms.scss */ +.form-search .input-append .btn { + -webkit-border-radius: 0 14px 14px 0; + -moz-border-radius: 0 14px 14px 0; + border-radius: 0 14px 14px 0; +} + +/* line 562, ../../app/bower_components/bootstrap-sass/lib/_forms.scss */ +.form-search .input-prepend .search-query { + -webkit-border-radius: 0 14px 14px 0; + -moz-border-radius: 0 14px 14px 0; + border-radius: 0 14px 14px 0; +} + +/* line 565, ../../app/bower_components/bootstrap-sass/lib/_forms.scss */ +.form-search .input-prepend .btn { + -webkit-border-radius: 14px 0 0 14px; + -moz-border-radius: 14px 0 0 14px; + border-radius: 14px 0 0 14px; +} + +/* line 587, ../../app/bower_components/bootstrap-sass/lib/_forms.scss */ +.form-search input, +.form-search textarea, +.form-search select, +.form-search .help-inline, +.form-search .uneditable-input, +.form-search .input-prepend, +.form-search .input-append, +.form-inline input, +.form-inline textarea, +.form-inline select, +.form-inline .help-inline, +.form-inline .uneditable-input, +.form-inline .input-prepend, +.form-inline .input-append, +.form-horizontal input, +.form-horizontal textarea, +.form-horizontal select, +.form-horizontal .help-inline, +.form-horizontal .uneditable-input, +.form-horizontal .input-prepend, +.form-horizontal .input-append { + display: inline-block; + *display: inline; + /* IE7 inline-block hack */ + *zoom: 1; + margin-bottom: 0; + vertical-align: middle; +} +/* line 594, ../../app/bower_components/bootstrap-sass/lib/_forms.scss */ +.form-search .hide, +.form-inline .hide, +.form-horizontal .hide { + display: none; +} + +/* line 601, ../../app/bower_components/bootstrap-sass/lib/_forms.scss */ +.form-search label, +.form-inline label, +.form-search .btn-group, +.form-inline .btn-group { + display: inline-block; +} + +/* line 608, ../../app/bower_components/bootstrap-sass/lib/_forms.scss */ +.form-search .input-append, +.form-inline .input-append, +.form-search .input-prepend, +.form-inline .input-prepend { + margin-bottom: 0; +} + +/* line 615, ../../app/bower_components/bootstrap-sass/lib/_forms.scss */ +.form-search .radio, +.form-search .checkbox, +.form-inline .radio, +.form-inline .checkbox { + padding-left: 0; + margin-bottom: 0; + vertical-align: middle; +} + +/* line 624, ../../app/bower_components/bootstrap-sass/lib/_forms.scss */ +.form-search .radio input[type="radio"], +.form-search .checkbox input[type="checkbox"], +.form-inline .radio input[type="radio"], +.form-inline .checkbox input[type="checkbox"] { + float: left; + margin-right: 3px; + margin-left: 0; +} + +/* line 632, ../../app/bower_components/bootstrap-sass/lib/_forms.scss */ +.control-group { + margin-bottom: 10px; +} + +/* line 637, ../../app/bower_components/bootstrap-sass/lib/_forms.scss */ +legend + .control-group { + margin-top: 20px; + -webkit-margin-top-collapse: separate; +} + +/* line 647, ../../app/bower_components/bootstrap-sass/lib/_forms.scss */ +.form-horizontal .control-group { + margin-bottom: 20px; + *zoom: 1; +} +/* line 15, ../../app/bower_components/bootstrap-sass/lib/_mixins.scss */ +.form-horizontal .control-group:before, .form-horizontal .control-group:after { + display: table; + content: ""; + line-height: 0; +} +/* line 22, ../../app/bower_components/bootstrap-sass/lib/_mixins.scss */ +.form-horizontal .control-group:after { + clear: both; +} +/* line 652, ../../app/bower_components/bootstrap-sass/lib/_forms.scss */ +.form-horizontal .control-label { + float: left; + width: 160px; + padding-top: 5px; + text-align: right; +} +/* line 659, ../../app/bower_components/bootstrap-sass/lib/_forms.scss */ +.form-horizontal .controls { + *display: inline-block; + *padding-left: 20px; + margin-left: 180px; + *margin-left: 0; +} +/* line 666, ../../app/bower_components/bootstrap-sass/lib/_forms.scss */ +.form-horizontal .controls:first-child { + *padding-left: 180px; +} +/* line 671, ../../app/bower_components/bootstrap-sass/lib/_forms.scss */ +.form-horizontal .help-block { + margin-bottom: 0; +} +/* line 681, ../../app/bower_components/bootstrap-sass/lib/_forms.scss */ +.form-horizontal input + .help-block, +.form-horizontal select + .help-block, +.form-horizontal textarea + .help-block, +.form-horizontal .uneditable-input + .help-block, +.form-horizontal .input-prepend + .help-block, +.form-horizontal .input-append + .help-block { + margin-top: 10px; +} +/* line 686, ../../app/bower_components/bootstrap-sass/lib/_forms.scss */ +.form-horizontal .form-actions { + padding-left: 180px; +} + +/* line 9, ../../app/bower_components/bootstrap-sass/lib/_tables.scss */ +table { + max-width: 100%; + background-color: transparent; + border-collapse: collapse; + border-spacing: 0; +} + +/* line 19, ../../app/bower_components/bootstrap-sass/lib/_tables.scss */ +.table { + width: 100%; + margin-bottom: 20px; +} +/* line 24, ../../app/bower_components/bootstrap-sass/lib/_tables.scss */ +.table th, +.table td { + padding: 8px; + line-height: 20px; + text-align: left; + vertical-align: top; + border-top: 1px solid #dddddd; +} +/* line 31, ../../app/bower_components/bootstrap-sass/lib/_tables.scss */ +.table th { + font-weight: bold; +} +/* line 35, ../../app/bower_components/bootstrap-sass/lib/_tables.scss */ +.table thead th { + vertical-align: bottom; +} +/* line 44, ../../app/bower_components/bootstrap-sass/lib/_tables.scss */ +.table caption + thead tr:first-child th, +.table caption + thead tr:first-child td, +.table colgroup + thead tr:first-child th, +.table colgroup + thead tr:first-child td, +.table thead:first-child tr:first-child th, +.table thead:first-child tr:first-child td { + border-top: 0; +} +/* line 48, ../../app/bower_components/bootstrap-sass/lib/_tables.scss */ +.table tbody + tbody { + border-top: 2px solid #dddddd; +} +/* line 53, ../../app/bower_components/bootstrap-sass/lib/_tables.scss */ +.table .table { + background-color: white; +} + +/* line 65, ../../app/bower_components/bootstrap-sass/lib/_tables.scss */ +.table-condensed th, +.table-condensed td { + padding: 4px 5px; +} + +/* line 74, ../../app/bower_components/bootstrap-sass/lib/_tables.scss */ +.table-bordered { + border: 1px solid #dddddd; + border-collapse: separate; + *border-collapse: collapse; + border-left: 0; + -webkit-border-radius: 4px; + -moz-border-radius: 4px; + border-radius: 4px; +} +/* line 81, ../../app/bower_components/bootstrap-sass/lib/_tables.scss */ +.table-bordered th, +.table-bordered td { + border-left: 1px solid #dddddd; +} +/* line 93, ../../app/bower_components/bootstrap-sass/lib/_tables.scss */ +.table-bordered caption + thead tr:first-child th, +.table-bordered caption + tbody tr:first-child th, +.table-bordered caption + tbody tr:first-child td, +.table-bordered colgroup + thead tr:first-child th, +.table-bordered colgroup + tbody tr:first-child th, +.table-bordered colgroup + tbody tr:first-child td, +.table-bordered thead:first-child tr:first-child th, +.table-bordered tbody:first-child tr:first-child th, +.table-bordered tbody:first-child tr:first-child td { + border-top: 0; +} +/* line 99, ../../app/bower_components/bootstrap-sass/lib/_tables.scss */ +.table-bordered thead:first-child tr:first-child > th:first-child, +.table-bordered tbody:first-child tr:first-child > td:first-child, +.table-bordered tbody:first-child tr:first-child > th:first-child { + -webkit-border-top-left-radius: 4px; + -moz-border-radius-topleft: 4px; + border-top-left-radius: 4px; +} +/* line 105, ../../app/bower_components/bootstrap-sass/lib/_tables.scss */ +.table-bordered thead:first-child tr:first-child > th:last-child, +.table-bordered tbody:first-child tr:first-child > td:last-child, +.table-bordered tbody:first-child tr:first-child > th:last-child { + -webkit-border-top-right-radius: 4px; + -moz-border-radius-topright: 4px; + border-top-right-radius: 4px; +} +/* line 113, ../../app/bower_components/bootstrap-sass/lib/_tables.scss */ +.table-bordered thead:last-child tr:last-child > th:first-child, +.table-bordered tbody:last-child tr:last-child > td:first-child, +.table-bordered tbody:last-child tr:last-child > th:first-child, +.table-bordered tfoot:last-child tr:last-child > td:first-child, +.table-bordered tfoot:last-child tr:last-child > th:first-child { + -webkit-border-bottom-left-radius: 4px; + -moz-border-radius-bottomleft: 4px; + border-bottom-left-radius: 4px; +} +/* line 121, ../../app/bower_components/bootstrap-sass/lib/_tables.scss */ +.table-bordered thead:last-child tr:last-child > th:last-child, +.table-bordered tbody:last-child tr:last-child > td:last-child, +.table-bordered tbody:last-child tr:last-child > th:last-child, +.table-bordered tfoot:last-child tr:last-child > td:last-child, +.table-bordered tfoot:last-child tr:last-child > th:last-child { + -webkit-border-bottom-right-radius: 4px; + -moz-border-radius-bottomright: 4px; + border-bottom-right-radius: 4px; +} +/* line 126, ../../app/bower_components/bootstrap-sass/lib/_tables.scss */ +.table-bordered tfoot + tbody:last-child tr:last-child td:first-child { + -webkit-border-bottom-left-radius: 0; + -moz-border-radius-bottomleft: 0; + border-bottom-left-radius: 0; +} +/* line 129, ../../app/bower_components/bootstrap-sass/lib/_tables.scss */ +.table-bordered tfoot + tbody:last-child tr:last-child td:last-child { + -webkit-border-bottom-right-radius: 0; + -moz-border-radius-bottomright: 0; + border-bottom-right-radius: 0; +} +/* line 137, ../../app/bower_components/bootstrap-sass/lib/_tables.scss */ +.table-bordered caption + thead tr:first-child th:first-child, +.table-bordered caption + tbody tr:first-child td:first-child, +.table-bordered colgroup + thead tr:first-child th:first-child, +.table-bordered colgroup + tbody tr:first-child td:first-child { + -webkit-border-top-left-radius: 4px; + -moz-border-radius-topleft: 4px; + border-top-left-radius: 4px; +} +/* line 143, ../../app/bower_components/bootstrap-sass/lib/_tables.scss */ +.table-bordered caption + thead tr:first-child th:last-child, +.table-bordered caption + tbody tr:first-child td:last-child, +.table-bordered colgroup + thead tr:first-child th:last-child, +.table-bordered colgroup + tbody tr:first-child td:last-child { + -webkit-border-top-right-radius: 4px; + -moz-border-radius-topright: 4px; + border-top-right-radius: 4px; +} + +/* line 159, ../../app/bower_components/bootstrap-sass/lib/_tables.scss */ +.table-striped tbody > tr:nth-child(odd) > td, +.table-striped tbody > tr:nth-child(odd) > th { + background-color: #f9f9f9; +} + +/* line 172, ../../app/bower_components/bootstrap-sass/lib/_tables.scss */ +.table-hover tbody tr:hover > td, +.table-hover tbody tr:hover > th { + background-color: whitesmoke; +} + +/* line 186, ../../app/bower_components/bootstrap-sass/lib/_tables.scss */ +table td[class*="span"], +table th[class*="span"], +.row-fluid table td[class*="span"], +.row-fluid table th[class*="span"] { + display: table-cell; + float: none; + margin-left: 0; +} + +/* line 196, ../../app/bower_components/bootstrap-sass/lib/_tables.scss */ +.table td.span1, +.table th.span1 { + float: none; + width: 44px; + margin-left: 0; +} +/* line 196, ../../app/bower_components/bootstrap-sass/lib/_tables.scss */ +.table td.span2, +.table th.span2 { + float: none; + width: 124px; + margin-left: 0; +} +/* line 196, ../../app/bower_components/bootstrap-sass/lib/_tables.scss */ +.table td.span3, +.table th.span3 { + float: none; + width: 204px; + margin-left: 0; +} +/* line 196, ../../app/bower_components/bootstrap-sass/lib/_tables.scss */ +.table td.span4, +.table th.span4 { + float: none; + width: 284px; + margin-left: 0; +} +/* line 196, ../../app/bower_components/bootstrap-sass/lib/_tables.scss */ +.table td.span5, +.table th.span5 { + float: none; + width: 364px; + margin-left: 0; +} +/* line 196, ../../app/bower_components/bootstrap-sass/lib/_tables.scss */ +.table td.span6, +.table th.span6 { + float: none; + width: 444px; + margin-left: 0; +} +/* line 196, ../../app/bower_components/bootstrap-sass/lib/_tables.scss */ +.table td.span7, +.table th.span7 { + float: none; + width: 524px; + margin-left: 0; +} +/* line 196, ../../app/bower_components/bootstrap-sass/lib/_tables.scss */ +.table td.span8, +.table th.span8 { + float: none; + width: 604px; + margin-left: 0; +} +/* line 196, ../../app/bower_components/bootstrap-sass/lib/_tables.scss */ +.table td.span9, +.table th.span9 { + float: none; + width: 684px; + margin-left: 0; +} +/* line 196, ../../app/bower_components/bootstrap-sass/lib/_tables.scss */ +.table td.span10, +.table th.span10 { + float: none; + width: 764px; + margin-left: 0; +} +/* line 196, ../../app/bower_components/bootstrap-sass/lib/_tables.scss */ +.table td.span11, +.table th.span11 { + float: none; + width: 844px; + margin-left: 0; +} +/* line 196, ../../app/bower_components/bootstrap-sass/lib/_tables.scss */ +.table td.span12, +.table th.span12 { + float: none; + width: 924px; + margin-left: 0; +} + +/* line 207, ../../app/bower_components/bootstrap-sass/lib/_tables.scss */ +.table tbody tr.success > td { + background-color: #dff0d8; +} +/* line 210, ../../app/bower_components/bootstrap-sass/lib/_tables.scss */ +.table tbody tr.error > td { + background-color: #f2dede; +} +/* line 213, ../../app/bower_components/bootstrap-sass/lib/_tables.scss */ +.table tbody tr.warning > td { + background-color: #fcf8e3; +} +/* line 216, ../../app/bower_components/bootstrap-sass/lib/_tables.scss */ +.table tbody tr.info > td { + background-color: #d9edf7; +} + +/* line 223, ../../app/bower_components/bootstrap-sass/lib/_tables.scss */ +.table-hover tbody tr.success:hover > td { + background-color: #d0e9c6; +} +/* line 226, ../../app/bower_components/bootstrap-sass/lib/_tables.scss */ +.table-hover tbody tr.error:hover > td { + background-color: #ebcccc; +} +/* line 229, ../../app/bower_components/bootstrap-sass/lib/_tables.scss */ +.table-hover tbody tr.warning:hover > td { + background-color: #faf2cc; +} +/* line 232, ../../app/bower_components/bootstrap-sass/lib/_tables.scss */ +.table-hover tbody tr.info:hover > td { + background-color: #c4e3f3; +} + +/* line 18, ../../app/bower_components/bootstrap-sass/lib/_sprites.scss */ +[class^="icon-"], +[class*=" icon-"] { + display: inline-block; + width: 14px; + height: 14px; + *margin-right: .3em; + line-height: 14px; + vertical-align: text-top; + background-image: url("../images/glyphicons-halflings.png"); + background-position: 14px 14px; + background-repeat: no-repeat; + margin-top: 1px; +} + +/* White icons with optional class, or on hover/focus/active states of certain elements */ +/* line 48, ../../app/bower_components/bootstrap-sass/lib/_sprites.scss */ +.icon-white, +.nav-pills > .active > a > [class^="icon-"], +.nav-pills > .active > a > [class*=" icon-"], +.nav-list > .active > a > [class^="icon-"], +.nav-list > .active > a > [class*=" icon-"], +.navbar-inverse .nav > .active > a > [class^="icon-"], +.navbar-inverse .nav > .active > a > [class*=" icon-"], +.dropdown-menu > li > a:hover > [class^="icon-"], +.dropdown-menu > li > a:focus > [class^="icon-"], +.dropdown-menu > li > a:hover > [class*=" icon-"], +.dropdown-menu > li > a:focus > [class*=" icon-"], +.dropdown-menu > .active > a > [class^="icon-"], +.dropdown-menu > .active > a > [class*=" icon-"], +.dropdown-submenu:hover > a > [class^="icon-"], +.dropdown-submenu:focus > a > [class^="icon-"], +.dropdown-submenu:hover > a > [class*=" icon-"], +.dropdown-submenu:focus > a > [class*=" icon-"] { + background-image: url("../images/glyphicons-halflings-white.png"); +} + +/* line 52, ../../app/bower_components/bootstrap-sass/lib/_sprites.scss */ +.icon-glass { + background-position: 0 0; +} + +/* line 53, ../../app/bower_components/bootstrap-sass/lib/_sprites.scss */ +.icon-music { + background-position: -24px 0; +} + +/* line 54, ../../app/bower_components/bootstrap-sass/lib/_sprites.scss */ +.icon-search { + background-position: -48px 0; +} + +/* line 55, ../../app/bower_components/bootstrap-sass/lib/_sprites.scss */ +.icon-envelope { + background-position: -72px 0; +} + +/* line 56, ../../app/bower_components/bootstrap-sass/lib/_sprites.scss */ +.icon-heart { + background-position: -96px 0; +} + +/* line 57, ../../app/bower_components/bootstrap-sass/lib/_sprites.scss */ +.icon-star { + background-position: -120px 0; +} + +/* line 58, ../../app/bower_components/bootstrap-sass/lib/_sprites.scss */ +.icon-star-empty { + background-position: -144px 0; +} + +/* line 59, ../../app/bower_components/bootstrap-sass/lib/_sprites.scss */ +.icon-user { + background-position: -168px 0; +} + +/* line 60, ../../app/bower_components/bootstrap-sass/lib/_sprites.scss */ +.icon-film { + background-position: -192px 0; +} + +/* line 61, ../../app/bower_components/bootstrap-sass/lib/_sprites.scss */ +.icon-th-large { + background-position: -216px 0; +} + +/* line 62, ../../app/bower_components/bootstrap-sass/lib/_sprites.scss */ +.icon-th { + background-position: -240px 0; +} + +/* line 63, ../../app/bower_components/bootstrap-sass/lib/_sprites.scss */ +.icon-th-list { + background-position: -264px 0; +} + +/* line 64, ../../app/bower_components/bootstrap-sass/lib/_sprites.scss */ +.icon-ok { + background-position: -288px 0; +} + +/* line 65, ../../app/bower_components/bootstrap-sass/lib/_sprites.scss */ +.icon-remove { + background-position: -312px 0; +} + +/* line 66, ../../app/bower_components/bootstrap-sass/lib/_sprites.scss */ +.icon-zoom-in { + background-position: -336px 0; +} + +/* line 67, ../../app/bower_components/bootstrap-sass/lib/_sprites.scss */ +.icon-zoom-out { + background-position: -360px 0; +} + +/* line 68, ../../app/bower_components/bootstrap-sass/lib/_sprites.scss */ +.icon-off { + background-position: -384px 0; +} + +/* line 69, ../../app/bower_components/bootstrap-sass/lib/_sprites.scss */ +.icon-signal { + background-position: -408px 0; +} + +/* line 70, ../../app/bower_components/bootstrap-sass/lib/_sprites.scss */ +.icon-cog { + background-position: -432px 0; +} + +/* line 71, ../../app/bower_components/bootstrap-sass/lib/_sprites.scss */ +.icon-trash { + background-position: -456px 0; +} + +/* line 73, ../../app/bower_components/bootstrap-sass/lib/_sprites.scss */ +.icon-home { + background-position: 0 -24px; +} + +/* line 74, ../../app/bower_components/bootstrap-sass/lib/_sprites.scss */ +.icon-file { + background-position: -24px -24px; +} + +/* line 75, ../../app/bower_components/bootstrap-sass/lib/_sprites.scss */ +.icon-time { + background-position: -48px -24px; +} + +/* line 76, ../../app/bower_components/bootstrap-sass/lib/_sprites.scss */ +.icon-road { + background-position: -72px -24px; +} + +/* line 77, ../../app/bower_components/bootstrap-sass/lib/_sprites.scss */ +.icon-download-alt { + background-position: -96px -24px; +} + +/* line 78, ../../app/bower_components/bootstrap-sass/lib/_sprites.scss */ +.icon-download { + background-position: -120px -24px; +} + +/* line 79, ../../app/bower_components/bootstrap-sass/lib/_sprites.scss */ +.icon-upload { + background-position: -144px -24px; +} + +/* line 80, ../../app/bower_components/bootstrap-sass/lib/_sprites.scss */ +.icon-inbox { + background-position: -168px -24px; +} + +/* line 81, ../../app/bower_components/bootstrap-sass/lib/_sprites.scss */ +.icon-play-circle { + background-position: -192px -24px; +} + +/* line 82, ../../app/bower_components/bootstrap-sass/lib/_sprites.scss */ +.icon-repeat { + background-position: -216px -24px; +} + +/* line 83, ../../app/bower_components/bootstrap-sass/lib/_sprites.scss */ +.icon-refresh { + background-position: -240px -24px; +} + +/* line 84, ../../app/bower_components/bootstrap-sass/lib/_sprites.scss */ +.icon-list-alt { + background-position: -264px -24px; +} + +/* line 85, ../../app/bower_components/bootstrap-sass/lib/_sprites.scss */ +.icon-lock { + background-position: -287px -24px; +} + +/* line 86, ../../app/bower_components/bootstrap-sass/lib/_sprites.scss */ +.icon-flag { + background-position: -312px -24px; +} + +/* line 87, ../../app/bower_components/bootstrap-sass/lib/_sprites.scss */ +.icon-headphones { + background-position: -336px -24px; +} + +/* line 88, ../../app/bower_components/bootstrap-sass/lib/_sprites.scss */ +.icon-volume-off { + background-position: -360px -24px; +} + +/* line 89, ../../app/bower_components/bootstrap-sass/lib/_sprites.scss */ +.icon-volume-down { + background-position: -384px -24px; +} + +/* line 90, ../../app/bower_components/bootstrap-sass/lib/_sprites.scss */ +.icon-volume-up { + background-position: -408px -24px; +} + +/* line 91, ../../app/bower_components/bootstrap-sass/lib/_sprites.scss */ +.icon-qrcode { + background-position: -432px -24px; +} + +/* line 92, ../../app/bower_components/bootstrap-sass/lib/_sprites.scss */ +.icon-barcode { + background-position: -456px -24px; +} + +/* line 94, ../../app/bower_components/bootstrap-sass/lib/_sprites.scss */ +.icon-tag { + background-position: 0 -48px; +} + +/* line 95, ../../app/bower_components/bootstrap-sass/lib/_sprites.scss */ +.icon-tags { + background-position: -25px -48px; +} + +/* line 96, ../../app/bower_components/bootstrap-sass/lib/_sprites.scss */ +.icon-book { + background-position: -48px -48px; +} + +/* line 97, ../../app/bower_components/bootstrap-sass/lib/_sprites.scss */ +.icon-bookmark { + background-position: -72px -48px; +} + +/* line 98, ../../app/bower_components/bootstrap-sass/lib/_sprites.scss */ +.icon-print { + background-position: -96px -48px; +} + +/* line 99, ../../app/bower_components/bootstrap-sass/lib/_sprites.scss */ +.icon-camera { + background-position: -120px -48px; +} + +/* line 100, ../../app/bower_components/bootstrap-sass/lib/_sprites.scss */ +.icon-font { + background-position: -144px -48px; +} + +/* line 101, ../../app/bower_components/bootstrap-sass/lib/_sprites.scss */ +.icon-bold { + background-position: -167px -48px; +} + +/* line 102, ../../app/bower_components/bootstrap-sass/lib/_sprites.scss */ +.icon-italic { + background-position: -192px -48px; +} + +/* line 103, ../../app/bower_components/bootstrap-sass/lib/_sprites.scss */ +.icon-text-height { + background-position: -216px -48px; +} + +/* line 104, ../../app/bower_components/bootstrap-sass/lib/_sprites.scss */ +.icon-text-width { + background-position: -240px -48px; +} + +/* line 105, ../../app/bower_components/bootstrap-sass/lib/_sprites.scss */ +.icon-align-left { + background-position: -264px -48px; +} + +/* line 106, ../../app/bower_components/bootstrap-sass/lib/_sprites.scss */ +.icon-align-center { + background-position: -288px -48px; +} + +/* line 107, ../../app/bower_components/bootstrap-sass/lib/_sprites.scss */ +.icon-align-right { + background-position: -312px -48px; +} + +/* line 108, ../../app/bower_components/bootstrap-sass/lib/_sprites.scss */ +.icon-align-justify { + background-position: -336px -48px; +} + +/* line 109, ../../app/bower_components/bootstrap-sass/lib/_sprites.scss */ +.icon-list { + background-position: -360px -48px; +} + +/* line 110, ../../app/bower_components/bootstrap-sass/lib/_sprites.scss */ +.icon-indent-left { + background-position: -384px -48px; +} + +/* line 111, ../../app/bower_components/bootstrap-sass/lib/_sprites.scss */ +.icon-indent-right { + background-position: -408px -48px; +} + +/* line 112, ../../app/bower_components/bootstrap-sass/lib/_sprites.scss */ +.icon-facetime-video { + background-position: -432px -48px; +} + +/* line 113, ../../app/bower_components/bootstrap-sass/lib/_sprites.scss */ +.icon-picture { + background-position: -456px -48px; +} + +/* line 115, ../../app/bower_components/bootstrap-sass/lib/_sprites.scss */ +.icon-pencil { + background-position: 0 -72px; +} + +/* line 116, ../../app/bower_components/bootstrap-sass/lib/_sprites.scss */ +.icon-map-marker { + background-position: -24px -72px; +} + +/* line 117, ../../app/bower_components/bootstrap-sass/lib/_sprites.scss */ +.icon-adjust { + background-position: -48px -72px; +} + +/* line 118, ../../app/bower_components/bootstrap-sass/lib/_sprites.scss */ +.icon-tint { + background-position: -72px -72px; +} + +/* line 119, ../../app/bower_components/bootstrap-sass/lib/_sprites.scss */ +.icon-edit { + background-position: -96px -72px; +} + +/* line 120, ../../app/bower_components/bootstrap-sass/lib/_sprites.scss */ +.icon-share { + background-position: -120px -72px; +} + +/* line 121, ../../app/bower_components/bootstrap-sass/lib/_sprites.scss */ +.icon-check { + background-position: -144px -72px; +} + +/* line 122, ../../app/bower_components/bootstrap-sass/lib/_sprites.scss */ +.icon-move { + background-position: -168px -72px; +} + +/* line 123, ../../app/bower_components/bootstrap-sass/lib/_sprites.scss */ +.icon-step-backward { + background-position: -192px -72px; +} + +/* line 124, ../../app/bower_components/bootstrap-sass/lib/_sprites.scss */ +.icon-fast-backward { + background-position: -216px -72px; +} + +/* line 125, ../../app/bower_components/bootstrap-sass/lib/_sprites.scss */ +.icon-backward { + background-position: -240px -72px; +} + +/* line 126, ../../app/bower_components/bootstrap-sass/lib/_sprites.scss */ +.icon-play { + background-position: -264px -72px; +} + +/* line 127, ../../app/bower_components/bootstrap-sass/lib/_sprites.scss */ +.icon-pause { + background-position: -288px -72px; +} + +/* line 128, ../../app/bower_components/bootstrap-sass/lib/_sprites.scss */ +.icon-stop { + background-position: -312px -72px; +} + +/* line 129, ../../app/bower_components/bootstrap-sass/lib/_sprites.scss */ +.icon-forward { + background-position: -336px -72px; +} + +/* line 130, ../../app/bower_components/bootstrap-sass/lib/_sprites.scss */ +.icon-fast-forward { + background-position: -360px -72px; +} + +/* line 131, ../../app/bower_components/bootstrap-sass/lib/_sprites.scss */ +.icon-step-forward { + background-position: -384px -72px; +} + +/* line 132, ../../app/bower_components/bootstrap-sass/lib/_sprites.scss */ +.icon-eject { + background-position: -408px -72px; +} + +/* line 133, ../../app/bower_components/bootstrap-sass/lib/_sprites.scss */ +.icon-chevron-left { + background-position: -432px -72px; +} + +/* line 134, ../../app/bower_components/bootstrap-sass/lib/_sprites.scss */ +.icon-chevron-right { + background-position: -456px -72px; +} + +/* line 136, ../../app/bower_components/bootstrap-sass/lib/_sprites.scss */ +.icon-plus-sign { + background-position: 0 -96px; +} + +/* line 137, ../../app/bower_components/bootstrap-sass/lib/_sprites.scss */ +.icon-minus-sign { + background-position: -24px -96px; +} + +/* line 138, ../../app/bower_components/bootstrap-sass/lib/_sprites.scss */ +.icon-remove-sign { + background-position: -48px -96px; +} + +/* line 139, ../../app/bower_components/bootstrap-sass/lib/_sprites.scss */ +.icon-ok-sign { + background-position: -72px -96px; +} + +/* line 140, ../../app/bower_components/bootstrap-sass/lib/_sprites.scss */ +.icon-question-sign { + background-position: -96px -96px; +} + +/* line 141, ../../app/bower_components/bootstrap-sass/lib/_sprites.scss */ +.icon-info-sign { + background-position: -120px -96px; +} + +/* line 142, ../../app/bower_components/bootstrap-sass/lib/_sprites.scss */ +.icon-screenshot { + background-position: -144px -96px; +} + +/* line 143, ../../app/bower_components/bootstrap-sass/lib/_sprites.scss */ +.icon-remove-circle { + background-position: -168px -96px; +} + +/* line 144, ../../app/bower_components/bootstrap-sass/lib/_sprites.scss */ +.icon-ok-circle { + background-position: -192px -96px; +} + +/* line 145, ../../app/bower_components/bootstrap-sass/lib/_sprites.scss */ +.icon-ban-circle { + background-position: -216px -96px; +} + +/* line 146, ../../app/bower_components/bootstrap-sass/lib/_sprites.scss */ +.icon-arrow-left { + background-position: -240px -96px; +} + +/* line 147, ../../app/bower_components/bootstrap-sass/lib/_sprites.scss */ +.icon-arrow-right { + background-position: -264px -96px; +} + +/* line 148, ../../app/bower_components/bootstrap-sass/lib/_sprites.scss */ +.icon-arrow-up { + background-position: -289px -96px; +} + +/* line 149, ../../app/bower_components/bootstrap-sass/lib/_sprites.scss */ +.icon-arrow-down { + background-position: -312px -96px; +} + +/* line 150, ../../app/bower_components/bootstrap-sass/lib/_sprites.scss */ +.icon-share-alt { + background-position: -336px -96px; +} + +/* line 151, ../../app/bower_components/bootstrap-sass/lib/_sprites.scss */ +.icon-resize-full { + background-position: -360px -96px; +} + +/* line 152, ../../app/bower_components/bootstrap-sass/lib/_sprites.scss */ +.icon-resize-small { + background-position: -384px -96px; +} + +/* line 153, ../../app/bower_components/bootstrap-sass/lib/_sprites.scss */ +.icon-plus { + background-position: -408px -96px; +} + +/* line 154, ../../app/bower_components/bootstrap-sass/lib/_sprites.scss */ +.icon-minus { + background-position: -433px -96px; +} + +/* line 155, ../../app/bower_components/bootstrap-sass/lib/_sprites.scss */ +.icon-asterisk { + background-position: -456px -96px; +} + +/* line 157, ../../app/bower_components/bootstrap-sass/lib/_sprites.scss */ +.icon-exclamation-sign { + background-position: 0 -120px; +} + +/* line 158, ../../app/bower_components/bootstrap-sass/lib/_sprites.scss */ +.icon-gift { + background-position: -24px -120px; +} + +/* line 159, ../../app/bower_components/bootstrap-sass/lib/_sprites.scss */ +.icon-leaf { + background-position: -48px -120px; +} + +/* line 160, ../../app/bower_components/bootstrap-sass/lib/_sprites.scss */ +.icon-fire { + background-position: -72px -120px; +} + +/* line 161, ../../app/bower_components/bootstrap-sass/lib/_sprites.scss */ +.icon-eye-open { + background-position: -96px -120px; +} + +/* line 162, ../../app/bower_components/bootstrap-sass/lib/_sprites.scss */ +.icon-eye-close { + background-position: -120px -120px; +} + +/* line 163, ../../app/bower_components/bootstrap-sass/lib/_sprites.scss */ +.icon-warning-sign { + background-position: -144px -120px; +} + +/* line 164, ../../app/bower_components/bootstrap-sass/lib/_sprites.scss */ +.icon-plane { + background-position: -168px -120px; +} + +/* line 165, ../../app/bower_components/bootstrap-sass/lib/_sprites.scss */ +.icon-calendar { + background-position: -192px -120px; +} + +/* line 166, ../../app/bower_components/bootstrap-sass/lib/_sprites.scss */ +.icon-random { + background-position: -216px -120px; + width: 16px; +} + +/* line 167, ../../app/bower_components/bootstrap-sass/lib/_sprites.scss */ +.icon-comment { + background-position: -240px -120px; +} + +/* line 168, ../../app/bower_components/bootstrap-sass/lib/_sprites.scss */ +.icon-magnet { + background-position: -264px -120px; +} + +/* line 169, ../../app/bower_components/bootstrap-sass/lib/_sprites.scss */ +.icon-chevron-up { + background-position: -288px -120px; +} + +/* line 170, ../../app/bower_components/bootstrap-sass/lib/_sprites.scss */ +.icon-chevron-down { + background-position: -313px -119px; +} + +/* line 171, ../../app/bower_components/bootstrap-sass/lib/_sprites.scss */ +.icon-retweet { + background-position: -336px -120px; +} + +/* line 172, ../../app/bower_components/bootstrap-sass/lib/_sprites.scss */ +.icon-shopping-cart { + background-position: -360px -120px; +} + +/* line 173, ../../app/bower_components/bootstrap-sass/lib/_sprites.scss */ +.icon-folder-close { + background-position: -384px -120px; + width: 16px; +} + +/* line 174, ../../app/bower_components/bootstrap-sass/lib/_sprites.scss */ +.icon-folder-open { + background-position: -408px -120px; + width: 16px; +} + +/* line 175, ../../app/bower_components/bootstrap-sass/lib/_sprites.scss */ +.icon-resize-vertical { + background-position: -432px -119px; +} + +/* line 176, ../../app/bower_components/bootstrap-sass/lib/_sprites.scss */ +.icon-resize-horizontal { + background-position: -456px -118px; +} + +/* line 178, ../../app/bower_components/bootstrap-sass/lib/_sprites.scss */ +.icon-hdd { + background-position: 0 -144px; +} + +/* line 179, ../../app/bower_components/bootstrap-sass/lib/_sprites.scss */ +.icon-bullhorn { + background-position: -24px -144px; +} + +/* line 180, ../../app/bower_components/bootstrap-sass/lib/_sprites.scss */ +.icon-bell { + background-position: -48px -144px; +} + +/* line 181, ../../app/bower_components/bootstrap-sass/lib/_sprites.scss */ +.icon-certificate { + background-position: -72px -144px; +} + +/* line 182, ../../app/bower_components/bootstrap-sass/lib/_sprites.scss */ +.icon-thumbs-up { + background-position: -96px -144px; +} + +/* line 183, ../../app/bower_components/bootstrap-sass/lib/_sprites.scss */ +.icon-thumbs-down { + background-position: -120px -144px; +} + +/* line 184, ../../app/bower_components/bootstrap-sass/lib/_sprites.scss */ +.icon-hand-right { + background-position: -144px -144px; +} + +/* line 185, ../../app/bower_components/bootstrap-sass/lib/_sprites.scss */ +.icon-hand-left { + background-position: -168px -144px; +} + +/* line 186, ../../app/bower_components/bootstrap-sass/lib/_sprites.scss */ +.icon-hand-up { + background-position: -192px -144px; +} + +/* line 187, ../../app/bower_components/bootstrap-sass/lib/_sprites.scss */ +.icon-hand-down { + background-position: -216px -144px; +} + +/* line 188, ../../app/bower_components/bootstrap-sass/lib/_sprites.scss */ +.icon-circle-arrow-right { + background-position: -240px -144px; +} + +/* line 189, ../../app/bower_components/bootstrap-sass/lib/_sprites.scss */ +.icon-circle-arrow-left { + background-position: -264px -144px; +} + +/* line 190, ../../app/bower_components/bootstrap-sass/lib/_sprites.scss */ +.icon-circle-arrow-up { + background-position: -288px -144px; +} + +/* line 191, ../../app/bower_components/bootstrap-sass/lib/_sprites.scss */ +.icon-circle-arrow-down { + background-position: -312px -144px; +} + +/* line 192, ../../app/bower_components/bootstrap-sass/lib/_sprites.scss */ +.icon-globe { + background-position: -336px -144px; +} + +/* line 193, ../../app/bower_components/bootstrap-sass/lib/_sprites.scss */ +.icon-wrench { + background-position: -360px -144px; +} + +/* line 194, ../../app/bower_components/bootstrap-sass/lib/_sprites.scss */ +.icon-tasks { + background-position: -384px -144px; +} + +/* line 195, ../../app/bower_components/bootstrap-sass/lib/_sprites.scss */ +.icon-filter { + background-position: -408px -144px; +} + +/* line 196, ../../app/bower_components/bootstrap-sass/lib/_sprites.scss */ +.icon-briefcase { + background-position: -432px -144px; +} + +/* line 197, ../../app/bower_components/bootstrap-sass/lib/_sprites.scss */ +.icon-fullscreen { + background-position: -456px -144px; +} + +/* line 8, ../../app/bower_components/bootstrap-sass/lib/_dropdowns.scss */ +.dropup, +.dropdown { + position: relative; +} + +/* line 11, ../../app/bower_components/bootstrap-sass/lib/_dropdowns.scss */ +.dropdown-toggle { + *margin-bottom: -3px; +} + +/* line 16, ../../app/bower_components/bootstrap-sass/lib/_dropdowns.scss */ +.dropdown-toggle:active, +.open .dropdown-toggle { + outline: 0; +} + +/* line 22, ../../app/bower_components/bootstrap-sass/lib/_dropdowns.scss */ +.caret { + display: inline-block; + width: 0; + height: 0; + vertical-align: top; + border-top: 4px solid black; + border-right: 4px solid transparent; + border-left: 4px solid transparent; + content: ""; +} + +/* line 34, ../../app/bower_components/bootstrap-sass/lib/_dropdowns.scss */ +.dropdown .caret { + margin-top: 8px; + margin-left: 2px; +} + +/* line 41, ../../app/bower_components/bootstrap-sass/lib/_dropdowns.scss */ +.dropdown-menu { + position: absolute; + top: 100%; + left: 0; + z-index: 1000; + display: none; + float: left; + min-width: 160px; + padding: 5px 0; + margin: 2px 0 0; + list-style: none; + background-color: white; + border: 1px solid #ccc; + border: 1px solid rgba(0, 0, 0, 0.2); + *border-right-width: 2px; + *border-bottom-width: 2px; + -webkit-border-radius: 6px; + -moz-border-radius: 6px; + border-radius: 6px; + -webkit-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2); + -moz-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2); + box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2); + -webkit-background-clip: padding-box; + -moz-background-clip: padding; + background-clip: padding-box; +} +/* line 64, ../../app/bower_components/bootstrap-sass/lib/_dropdowns.scss */ +.dropdown-menu.pull-right { + right: 0; + left: auto; +} +/* line 70, ../../app/bower_components/bootstrap-sass/lib/_dropdowns.scss */ +.dropdown-menu .divider { + *width: 100%; + height: 1px; + margin: 9px 1px; + *margin: -5px 0 5px; + overflow: hidden; + background-color: #e5e5e5; + border-bottom: 1px solid white; +} +/* line 75, ../../app/bower_components/bootstrap-sass/lib/_dropdowns.scss */ +.dropdown-menu > li > a { + display: block; + padding: 3px 20px; + clear: both; + font-weight: normal; + line-height: 20px; + color: #333333; + white-space: nowrap; +} + +/* line 91, ../../app/bower_components/bootstrap-sass/lib/_dropdowns.scss */ +.dropdown-menu > li > a:hover, +.dropdown-menu > li > a:focus, +.dropdown-submenu:hover > a, +.dropdown-submenu:focus > a { + text-decoration: none; + color: white; + background-color: #0081c2; + background-image: -moz-linear-gradient(top, #0088cc, #0077b3); + background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#0088cc), to(#0077b3)); + background-image: -webkit-linear-gradient(top, #0088cc, #0077b3); + background-image: -o-linear-gradient(top, #0088cc, #0077b3); + background-image: linear-gradient(to bottom, #0088cc, #0077b3); + background-repeat: repeat-x; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#FF0088CC', endColorstr='#FF0077B3', GradientType=0); +} + +/* line 101, ../../app/bower_components/bootstrap-sass/lib/_dropdowns.scss */ +.dropdown-menu > .active > a, +.dropdown-menu > .active > a:hover, +.dropdown-menu > .active > a:focus { + color: white; + text-decoration: none; + outline: 0; + background-color: #0081c2; + background-image: -moz-linear-gradient(top, #0088cc, #0077b3); + background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#0088cc), to(#0077b3)); + background-image: -webkit-linear-gradient(top, #0088cc, #0077b3); + background-image: -o-linear-gradient(top, #0088cc, #0077b3); + background-image: linear-gradient(to bottom, #0088cc, #0077b3); + background-repeat: repeat-x; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#FF0088CC', endColorstr='#FF0077B3', GradientType=0); +} + +/* line 113, ../../app/bower_components/bootstrap-sass/lib/_dropdowns.scss */ +.dropdown-menu > .disabled > a, +.dropdown-menu > .disabled > a:hover, +.dropdown-menu > .disabled > a:focus { + color: #999999; +} + +/* line 118, ../../app/bower_components/bootstrap-sass/lib/_dropdowns.scss */ +.dropdown-menu > .disabled > a:hover, +.dropdown-menu > .disabled > a:focus { + text-decoration: none; + background-color: transparent; + background-image: none; + filter: progid:DXImageTransform.Microsoft.gradient(enabled=false); + cursor: default; +} + +/* line 128, ../../app/bower_components/bootstrap-sass/lib/_dropdowns.scss */ +.open { + *z-index: 1000; +} +/* line 133, ../../app/bower_components/bootstrap-sass/lib/_dropdowns.scss */ +.open > .dropdown-menu { + display: block; +} + +/* line 140, ../../app/bower_components/bootstrap-sass/lib/_dropdowns.scss */ +.dropdown-backdrop { + position: fixed; + left: 0; + right: 0; + bottom: 0; + top: 0; + z-index: 990; +} + +/* line 151, ../../app/bower_components/bootstrap-sass/lib/_dropdowns.scss */ +.pull-right > .dropdown-menu { + right: 0; + left: auto; +} + +/* line 163, ../../app/bower_components/bootstrap-sass/lib/_dropdowns.scss */ +.dropup .caret, +.navbar-fixed-bottom .dropdown .caret { + border-top: 0; + border-bottom: 4px solid black; + content: ""; +} +/* line 169, ../../app/bower_components/bootstrap-sass/lib/_dropdowns.scss */ +.dropup .dropdown-menu, +.navbar-fixed-bottom .dropdown .dropdown-menu { + top: auto; + bottom: 100%; + margin-bottom: 1px; +} + +/* line 178, ../../app/bower_components/bootstrap-sass/lib/_dropdowns.scss */ +.dropdown-submenu { + position: relative; +} + +/* line 182, ../../app/bower_components/bootstrap-sass/lib/_dropdowns.scss */ +.dropdown-submenu > .dropdown-menu { + top: 0; + left: 100%; + margin-top: -6px; + margin-left: -1px; + -webkit-border-radius: 0 6px 6px 6px; + -moz-border-radius: 0 6px 6px 6px; + border-radius: 0 6px 6px 6px; +} + +/* line 189, ../../app/bower_components/bootstrap-sass/lib/_dropdowns.scss */ +.dropdown-submenu:hover > .dropdown-menu { + display: block; +} + +/* line 194, ../../app/bower_components/bootstrap-sass/lib/_dropdowns.scss */ +.dropup .dropdown-submenu > .dropdown-menu { + top: auto; + bottom: 0; + margin-top: 0; + margin-bottom: -2px; + -webkit-border-radius: 5px 5px 5px 0; + -moz-border-radius: 5px 5px 5px 0; + border-radius: 5px 5px 5px 0; +} + +/* line 203, ../../app/bower_components/bootstrap-sass/lib/_dropdowns.scss */ +.dropdown-submenu > a:after { + display: block; + content: " "; + float: right; + width: 0; + height: 0; + border-color: transparent; + border-style: solid; + border-width: 5px 0 5px 5px; + border-left-color: #cccccc; + margin-top: 5px; + margin-right: -10px; +} + +/* line 216, ../../app/bower_components/bootstrap-sass/lib/_dropdowns.scss */ +.dropdown-submenu:hover > a:after { + border-left-color: white; +} + +/* line 221, ../../app/bower_components/bootstrap-sass/lib/_dropdowns.scss */ +.dropdown-submenu.pull-left { + float: none; +} +/* line 227, ../../app/bower_components/bootstrap-sass/lib/_dropdowns.scss */ +.dropdown-submenu.pull-left > .dropdown-menu { + left: -100%; + margin-left: 10px; + -webkit-border-radius: 6px 0 6px 6px; + -moz-border-radius: 6px 0 6px 6px; + border-radius: 6px 0 6px 6px; +} + +/* line 237, ../../app/bower_components/bootstrap-sass/lib/_dropdowns.scss */ +.dropdown .dropdown-menu .nav-header { + padding-left: 20px; + padding-right: 20px; +} + +/* line 244, ../../app/bower_components/bootstrap-sass/lib/_dropdowns.scss */ +.typeahead { + z-index: 1051; + margin-top: 2px; + -webkit-border-radius: 4px; + -moz-border-radius: 4px; + border-radius: 4px; +} + +/* line 7, ../../app/bower_components/bootstrap-sass/lib/_wells.scss */ +.well { + min-height: 20px; + padding: 19px; + margin-bottom: 20px; + background-color: whitesmoke; + border: 1px solid #e3e3e3; + -webkit-border-radius: 4px; + -moz-border-radius: 4px; + border-radius: 4px; + -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05); + -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05); + box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05); +} +/* line 15, ../../app/bower_components/bootstrap-sass/lib/_wells.scss */ +.well blockquote { + border-color: #ddd; + border-color: rgba(0, 0, 0, 0.15); +} + +/* line 22, ../../app/bower_components/bootstrap-sass/lib/_wells.scss */ +.well-large { + padding: 24px; + -webkit-border-radius: 6px; + -moz-border-radius: 6px; + border-radius: 6px; +} + +/* line 26, ../../app/bower_components/bootstrap-sass/lib/_wells.scss */ +.well-small { + padding: 9px; + -webkit-border-radius: 3px; + -moz-border-radius: 3px; + border-radius: 3px; +} + +/* line 6, ../../app/bower_components/bootstrap-sass/lib/_component-animations.scss */ +.fade { + opacity: 0; + -webkit-transition: opacity 0.15s linear; + -moz-transition: opacity 0.15s linear; + -o-transition: opacity 0.15s linear; + transition: opacity 0.15s linear; +} +/* line 9, ../../app/bower_components/bootstrap-sass/lib/_component-animations.scss */ +.fade.in { + opacity: 1; +} + +/* line 14, ../../app/bower_components/bootstrap-sass/lib/_component-animations.scss */ +.collapse { + position: relative; + height: 0; + overflow: hidden; + -webkit-transition: height 0.35s ease; + -moz-transition: height 0.35s ease; + -o-transition: height 0.35s ease; + transition: height 0.35s ease; +} +/* line 19, ../../app/bower_components/bootstrap-sass/lib/_component-animations.scss */ +.collapse.in { + height: auto; +} + +/* line 6, ../../app/bower_components/bootstrap-sass/lib/_close.scss */ +.close { + float: right; + font-size: 20px; + font-weight: bold; + line-height: 20px; + color: black; + text-shadow: 0 1px 0 white; + opacity: 0.2; + filter: alpha(opacity=20); +} +/* line 15, ../../app/bower_components/bootstrap-sass/lib/_close.scss */ +.close:hover, .close:focus { + color: black; + text-decoration: none; + cursor: pointer; + opacity: 0.4; + filter: alpha(opacity=40); +} + +/* line 26, ../../app/bower_components/bootstrap-sass/lib/_close.scss */ +button.close { + padding: 0; + cursor: pointer; + background: transparent; + border: 0; + -webkit-appearance: none; +} + +/* line 10, ../../app/bower_components/bootstrap-sass/lib/_buttons.scss */ +.btn { + display: inline-block; + *display: inline; + /* IE7 inline-block hack */ + *zoom: 1; + padding: 4px 12px; + margin-bottom: 0; + font-size: 14px; + line-height: 20px; + text-align: center; + vertical-align: middle; + cursor: pointer; + color: #333333; + text-shadow: 0 1px 1px rgba(255, 255, 255, 0.75); + background-color: whitesmoke; + background-image: -moz-linear-gradient(top, white, #e6e6e6); + background-image: -webkit-gradient(linear, 0 0, 0 100%, from(white), to(#e6e6e6)); + background-image: -webkit-linear-gradient(top, white, #e6e6e6); + background-image: -o-linear-gradient(top, white, #e6e6e6); + background-image: linear-gradient(to bottom, #ffffff, #e6e6e6); + background-repeat: repeat-x; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFFFFFFF', endColorstr='#FFE6E6E6', GradientType=0); + border-color: #e6e6e6 #e6e6e6 #bfbfbf; + border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25); + *background-color: #e6e6e6; + /* Darken IE7 buttons by default so they stand out more given they won't have borders */ + filter: progid:DXImageTransform.Microsoft.gradient(enabled=false); + border: 1px solid #cccccc; + *border: 0; + border-bottom-color: #b3b3b3; + -webkit-border-radius: 4px; + -moz-border-radius: 4px; + border-radius: 4px; + *margin-left: .3em; + -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05); + -moz-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05); + box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05); +} +/* line 513, ../../app/bower_components/bootstrap-sass/lib/_mixins.scss */ +.btn:hover, .btn:focus, .btn:active, .btn.active, .btn.disabled, .btn[disabled] { + color: #333333; + background-color: #e6e6e6; + *background-color: #d9d9d9; +} +/* line 521, ../../app/bower_components/bootstrap-sass/lib/_mixins.scss */ +.btn:active, .btn.active { + background-color: #cccccc \9; +} +/* line 61, ../../app/bower_components/bootstrap-sass/lib/_mixins.scss */ +.btn:first-child { + *margin-left: 0; +} +/* line 30, ../../app/bower_components/bootstrap-sass/lib/_buttons.scss */ +.btn:hover, .btn:focus { + color: #333333; + text-decoration: none; + background-position: 0 -15px; + -webkit-transition: background-position 0.1s linear; + -moz-transition: background-position 0.1s linear; + -o-transition: background-position 0.1s linear; + transition: background-position 0.1s linear; +} +/* line 41, ../../app/bower_components/bootstrap-sass/lib/_buttons.scss */ +.btn:focus { + outline: thin dotted #333; + outline: 5px auto -webkit-focus-ring-color; + outline-offset: -2px; +} +/* line 47, ../../app/bower_components/bootstrap-sass/lib/_buttons.scss */ +.btn.active, .btn:active { + background-image: none; + outline: 0; + -webkit-box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.05); + -moz-box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.05); + box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.05); +} +/* line 55, ../../app/bower_components/bootstrap-sass/lib/_buttons.scss */ +.btn.disabled, .btn[disabled] { + cursor: default; + background-image: none; + opacity: 0.65; + filter: alpha(opacity=65); + -webkit-box-shadow: none; + -moz-box-shadow: none; + box-shadow: none; +} + +/* line 70, ../../app/bower_components/bootstrap-sass/lib/_buttons.scss */ +.btn-large { + padding: 11px 19px; + font-size: 17.5px; + -webkit-border-radius: 6px; + -moz-border-radius: 6px; + border-radius: 6px; +} + +/* line 76, ../../app/bower_components/bootstrap-sass/lib/_buttons.scss */ +.btn-large [class^="icon-"], +.btn-large [class*=" icon-"] { + margin-top: 4px; +} + +/* line 81, ../../app/bower_components/bootstrap-sass/lib/_buttons.scss */ +.btn-small { + padding: 2px 10px; + font-size: 11.9px; + -webkit-border-radius: 3px; + -moz-border-radius: 3px; + border-radius: 3px; +} + +/* line 87, ../../app/bower_components/bootstrap-sass/lib/_buttons.scss */ +.btn-small [class^="icon-"], +.btn-small [class*=" icon-"] { + margin-top: 0; +} + +/* line 91, ../../app/bower_components/bootstrap-sass/lib/_buttons.scss */ +.btn-mini [class^="icon-"], +.btn-mini [class*=" icon-"] { + margin-top: -1px; +} + +/* line 96, ../../app/bower_components/bootstrap-sass/lib/_buttons.scss */ +.btn-mini { + padding: 0px 6px; + font-size: 10.5px; + -webkit-border-radius: 3px; + -moz-border-radius: 3px; + border-radius: 3px; +} + +/* line 106, ../../app/bower_components/bootstrap-sass/lib/_buttons.scss */ +.btn-block { + display: block; + width: 100%; + padding-left: 0; + padding-right: 0; + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; +} + +/* line 115, ../../app/bower_components/bootstrap-sass/lib/_buttons.scss */ +.btn-block + .btn-block { + margin-top: 5px; +} + +/* line 123, ../../app/bower_components/bootstrap-sass/lib/_buttons.scss */ +input[type="submit"].btn-block, +input[type="reset"].btn-block, +input[type="button"].btn-block { + width: 100%; +} + +/* line 139, ../../app/bower_components/bootstrap-sass/lib/_buttons.scss */ +.btn-primary.active, +.btn-warning.active, +.btn-danger.active, +.btn-success.active, +.btn-info.active, +.btn-inverse.active { + color: rgba(255, 255, 255, 0.75); +} + +/* line 145, ../../app/bower_components/bootstrap-sass/lib/_buttons.scss */ +.btn-primary { + color: white; + text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25); + background-color: #006ccc; + background-image: -moz-linear-gradient(top, #0088cc, #0044cc); + background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#0088cc), to(#0044cc)); + background-image: -webkit-linear-gradient(top, #0088cc, #0044cc); + background-image: -o-linear-gradient(top, #0088cc, #0044cc); + background-image: linear-gradient(to bottom, #0088cc, #0044cc); + background-repeat: repeat-x; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#FF0088CC', endColorstr='#FF0044CC', GradientType=0); + border-color: #0044cc #0044cc #002a80; + border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25); + *background-color: #0044cc; + /* Darken IE7 buttons by default so they stand out more given they won't have borders */ + filter: progid:DXImageTransform.Microsoft.gradient(enabled=false); +} +/* line 513, ../../app/bower_components/bootstrap-sass/lib/_mixins.scss */ +.btn-primary:hover, .btn-primary:focus, .btn-primary:active, .btn-primary.active, .btn-primary.disabled, .btn-primary[disabled] { + color: white; + background-color: #0044cc; + *background-color: #003bb3; +} +/* line 521, ../../app/bower_components/bootstrap-sass/lib/_mixins.scss */ +.btn-primary:active, .btn-primary.active { + background-color: #003399 \9; +} + +/* line 149, ../../app/bower_components/bootstrap-sass/lib/_buttons.scss */ +.btn-warning { + color: white; + text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25); + background-color: #f9a732; + background-image: -moz-linear-gradient(top, #fbb450, #f89406); + background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#fbb450), to(#f89406)); + background-image: -webkit-linear-gradient(top, #fbb450, #f89406); + background-image: -o-linear-gradient(top, #fbb450, #f89406); + background-image: linear-gradient(to bottom, #fbb450, #f89406); + background-repeat: repeat-x; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFFBB450', endColorstr='#FFF89406', GradientType=0); + border-color: #f89406 #f89406 #ad6704; + border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25); + *background-color: #f89406; + /* Darken IE7 buttons by default so they stand out more given they won't have borders */ + filter: progid:DXImageTransform.Microsoft.gradient(enabled=false); +} +/* line 513, ../../app/bower_components/bootstrap-sass/lib/_mixins.scss */ +.btn-warning:hover, .btn-warning:focus, .btn-warning:active, .btn-warning.active, .btn-warning.disabled, .btn-warning[disabled] { + color: white; + background-color: #f89406; + *background-color: #df8505; +} +/* line 521, ../../app/bower_components/bootstrap-sass/lib/_mixins.scss */ +.btn-warning:active, .btn-warning.active { + background-color: #c67605 \9; +} + +/* line 153, ../../app/bower_components/bootstrap-sass/lib/_buttons.scss */ +.btn-danger { + color: white; + text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25); + background-color: #da4e49; + background-image: -moz-linear-gradient(top, #ee5f5b, #bd362f); + background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#ee5f5b), to(#bd362f)); + background-image: -webkit-linear-gradient(top, #ee5f5b, #bd362f); + background-image: -o-linear-gradient(top, #ee5f5b, #bd362f); + background-image: linear-gradient(to bottom, #ee5f5b, #bd362f); + background-repeat: repeat-x; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFEE5F5B', endColorstr='#FFBD362F', GradientType=0); + border-color: #bd362f #bd362f #802420; + border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25); + *background-color: #bd362f; + /* Darken IE7 buttons by default so they stand out more given they won't have borders */ + filter: progid:DXImageTransform.Microsoft.gradient(enabled=false); +} +/* line 513, ../../app/bower_components/bootstrap-sass/lib/_mixins.scss */ +.btn-danger:hover, .btn-danger:focus, .btn-danger:active, .btn-danger.active, .btn-danger.disabled, .btn-danger[disabled] { + color: white; + background-color: #bd362f; + *background-color: #a9302a; +} +/* line 521, ../../app/bower_components/bootstrap-sass/lib/_mixins.scss */ +.btn-danger:active, .btn-danger.active { + background-color: #942a25 \9; +} + +/* line 157, ../../app/bower_components/bootstrap-sass/lib/_buttons.scss */ +.btn-success { + color: white; + text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25); + background-color: #5bb65b; + background-image: -moz-linear-gradient(top, #62c462, #51a351); + background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#62c462), to(#51a351)); + background-image: -webkit-linear-gradient(top, #62c462, #51a351); + background-image: -o-linear-gradient(top, #62c462, #51a351); + background-image: linear-gradient(to bottom, #62c462, #51a351); + background-repeat: repeat-x; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#FF62C462', endColorstr='#FF51A351', GradientType=0); + border-color: #51a351 #51a351 #387038; + border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25); + *background-color: #51a351; + /* Darken IE7 buttons by default so they stand out more given they won't have borders */ + filter: progid:DXImageTransform.Microsoft.gradient(enabled=false); +} +/* line 513, ../../app/bower_components/bootstrap-sass/lib/_mixins.scss */ +.btn-success:hover, .btn-success:focus, .btn-success:active, .btn-success.active, .btn-success.disabled, .btn-success[disabled] { + color: white; + background-color: #51a351; + *background-color: #499249; +} +/* line 521, ../../app/bower_components/bootstrap-sass/lib/_mixins.scss */ +.btn-success:active, .btn-success.active { + background-color: #408140 \9; +} + +/* line 161, ../../app/bower_components/bootstrap-sass/lib/_buttons.scss */ +.btn-info { + color: white; + text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25); + background-color: #49afcd; + background-image: -moz-linear-gradient(top, #5bc0de, #2f96b4); + background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#5bc0de), to(#2f96b4)); + background-image: -webkit-linear-gradient(top, #5bc0de, #2f96b4); + background-image: -o-linear-gradient(top, #5bc0de, #2f96b4); + background-image: linear-gradient(to bottom, #5bc0de, #2f96b4); + background-repeat: repeat-x; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#FF5BC0DE', endColorstr='#FF2F96B4', GradientType=0); + border-color: #2f96b4 #2f96b4 #1f6377; + border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25); + *background-color: #2f96b4; + /* Darken IE7 buttons by default so they stand out more given they won't have borders */ + filter: progid:DXImageTransform.Microsoft.gradient(enabled=false); +} +/* line 513, ../../app/bower_components/bootstrap-sass/lib/_mixins.scss */ +.btn-info:hover, .btn-info:focus, .btn-info:active, .btn-info.active, .btn-info.disabled, .btn-info[disabled] { + color: white; + background-color: #2f96b4; + *background-color: #2a85a0; +} +/* line 521, ../../app/bower_components/bootstrap-sass/lib/_mixins.scss */ +.btn-info:active, .btn-info.active { + background-color: #24748c \9; +} + +/* line 165, ../../app/bower_components/bootstrap-sass/lib/_buttons.scss */ +.btn-inverse { + color: white; + text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25); + background-color: #363636; + background-image: -moz-linear-gradient(top, #444444, #222222); + background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#444444), to(#222222)); + background-image: -webkit-linear-gradient(top, #444444, #222222); + background-image: -o-linear-gradient(top, #444444, #222222); + background-image: linear-gradient(to bottom, #444444, #222222); + background-repeat: repeat-x; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#FF444444', endColorstr='#FF222222', GradientType=0); + border-color: #222222 #222222 black; + border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25); + *background-color: #222222; + /* Darken IE7 buttons by default so they stand out more given they won't have borders */ + filter: progid:DXImageTransform.Microsoft.gradient(enabled=false); +} +/* line 513, ../../app/bower_components/bootstrap-sass/lib/_mixins.scss */ +.btn-inverse:hover, .btn-inverse:focus, .btn-inverse:active, .btn-inverse.active, .btn-inverse.disabled, .btn-inverse[disabled] { + color: white; + background-color: #222222; + *background-color: #151515; +} +/* line 521, ../../app/bower_components/bootstrap-sass/lib/_mixins.scss */ +.btn-inverse:active, .btn-inverse.active { + background-color: #090909 \9; +} + +/* line 174, ../../app/bower_components/bootstrap-sass/lib/_buttons.scss */ +button.btn, +input[type="submit"].btn { + *padding-top: 3px; + *padding-bottom: 3px; +} +/* line 177, ../../app/bower_components/bootstrap-sass/lib/_buttons.scss */ +button.btn::-moz-focus-inner, +input[type="submit"].btn::-moz-focus-inner { + padding: 0; + border: 0; +} +/* line 186, ../../app/bower_components/bootstrap-sass/lib/_buttons.scss */ +button.btn.btn-large, +input[type="submit"].btn.btn-large { + *padding-top: 7px; + *padding-bottom: 7px; +} +/* line 190, ../../app/bower_components/bootstrap-sass/lib/_buttons.scss */ +button.btn.btn-small, +input[type="submit"].btn.btn-small { + *padding-top: 3px; + *padding-bottom: 3px; +} +/* line 194, ../../app/bower_components/bootstrap-sass/lib/_buttons.scss */ +button.btn.btn-mini, +input[type="submit"].btn.btn-mini { + *padding-top: 1px; + *padding-bottom: 1px; +} + +/* line 207, ../../app/bower_components/bootstrap-sass/lib/_buttons.scss */ +.btn-link, +.btn-link:active, +.btn-link[disabled] { + background-color: transparent; + background-image: none; + -webkit-box-shadow: none; + -moz-box-shadow: none; + box-shadow: none; +} + +/* line 212, ../../app/bower_components/bootstrap-sass/lib/_buttons.scss */ +.btn-link { + border-color: transparent; + cursor: pointer; + color: #0088cc; + -webkit-border-radius: 0; + -moz-border-radius: 0; + border-radius: 0; +} + +/* line 219, ../../app/bower_components/bootstrap-sass/lib/_buttons.scss */ +.btn-link:hover, +.btn-link:focus { + color: #005580; + text-decoration: underline; + background-color: transparent; +} + +/* line 225, ../../app/bower_components/bootstrap-sass/lib/_buttons.scss */ +.btn-link[disabled]:hover, +.btn-link[disabled]:focus { + color: #333333; + text-decoration: none; +} + +/* line 7, ../../app/bower_components/bootstrap-sass/lib/_button-groups.scss */ +.btn-group { + position: relative; + display: inline-block; + *display: inline; + /* IE7 inline-block hack */ + *zoom: 1; + font-size: 0; + vertical-align: middle; + white-space: nowrap; + *margin-left: .3em; +} +/* line 61, ../../app/bower_components/bootstrap-sass/lib/_mixins.scss */ +.btn-group:first-child { + *margin-left: 0; +} + +/* line 18, ../../app/bower_components/bootstrap-sass/lib/_button-groups.scss */ +.btn-group + .btn-group { + margin-left: 5px; +} + +/* line 23, ../../app/bower_components/bootstrap-sass/lib/_button-groups.scss */ +.btn-toolbar { + font-size: 0; + margin-top: 10px; + margin-bottom: 10px; +} +/* line 29, ../../app/bower_components/bootstrap-sass/lib/_button-groups.scss */ +.btn-toolbar > .btn + .btn, +.btn-toolbar > .btn-group + .btn, +.btn-toolbar > .btn + .btn-group { + margin-left: 5px; +} + +/* line 35, ../../app/bower_components/bootstrap-sass/lib/_button-groups.scss */ +.btn-group > .btn { + position: relative; + -webkit-border-radius: 0; + -moz-border-radius: 0; + border-radius: 0; +} + +/* line 39, ../../app/bower_components/bootstrap-sass/lib/_button-groups.scss */ +.btn-group > .btn + .btn { + margin-left: -1px; +} + +/* line 44, ../../app/bower_components/bootstrap-sass/lib/_button-groups.scss */ +.btn-group > .btn, +.btn-group > .dropdown-menu, +.btn-group > .popover { + font-size: 14px; +} + +/* line 49, ../../app/bower_components/bootstrap-sass/lib/_button-groups.scss */ +.btn-group > .btn-mini { + font-size: 10.5px; +} + +/* line 52, ../../app/bower_components/bootstrap-sass/lib/_button-groups.scss */ +.btn-group > .btn-small { + font-size: 11.9px; +} + +/* line 55, ../../app/bower_components/bootstrap-sass/lib/_button-groups.scss */ +.btn-group > .btn-large { + font-size: 17.5px; +} + +/* line 60, ../../app/bower_components/bootstrap-sass/lib/_button-groups.scss */ +.btn-group > .btn:first-child { + margin-left: 0; + -webkit-border-top-left-radius: 4px; + -moz-border-radius-topleft: 4px; + border-top-left-radius: 4px; + -webkit-border-bottom-left-radius: 4px; + -moz-border-radius-bottomleft: 4px; + border-bottom-left-radius: 4px; +} + +/* line 67, ../../app/bower_components/bootstrap-sass/lib/_button-groups.scss */ +.btn-group > .btn:last-child, +.btn-group > .dropdown-toggle { + -webkit-border-top-right-radius: 4px; + -moz-border-radius-topright: 4px; + border-top-right-radius: 4px; + -webkit-border-bottom-right-radius: 4px; + -moz-border-radius-bottomright: 4px; + border-bottom-right-radius: 4px; +} + +/* line 72, ../../app/bower_components/bootstrap-sass/lib/_button-groups.scss */ +.btn-group > .btn.large:first-child { + margin-left: 0; + -webkit-border-top-left-radius: 6px; + -moz-border-radius-topleft: 6px; + border-top-left-radius: 6px; + -webkit-border-bottom-left-radius: 6px; + -moz-border-radius-bottomleft: 6px; + border-bottom-left-radius: 6px; +} + +/* line 78, ../../app/bower_components/bootstrap-sass/lib/_button-groups.scss */ +.btn-group > .btn.large:last-child, +.btn-group > .large.dropdown-toggle { + -webkit-border-top-right-radius: 6px; + -moz-border-radius-topright: 6px; + border-top-right-radius: 6px; + -webkit-border-bottom-right-radius: 6px; + -moz-border-radius-bottomright: 6px; + border-bottom-right-radius: 6px; +} + +/* line 87, ../../app/bower_components/bootstrap-sass/lib/_button-groups.scss */ +.btn-group > .btn:hover, +.btn-group > .btn:focus, +.btn-group > .btn:active, +.btn-group > .btn.active { + z-index: 2; +} + +/* line 93, ../../app/bower_components/bootstrap-sass/lib/_button-groups.scss */ +.btn-group .dropdown-toggle:active, +.btn-group.open .dropdown-toggle { + outline: 0; +} + +/* line 103, ../../app/bower_components/bootstrap-sass/lib/_button-groups.scss */ +.btn-group > .btn + .dropdown-toggle { + padding-left: 8px; + padding-right: 8px; + -webkit-box-shadow: inset 1px 0 0 rgba(255, 255, 255, 0.125), inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05); + -moz-box-shadow: inset 1px 0 0 rgba(255, 255, 255, 0.125), inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05); + box-shadow: inset 1px 0 0 rgba(255, 255, 255, 0.125), inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05); + *padding-top: 5px; + *padding-bottom: 5px; +} + +/* line 110, ../../app/bower_components/bootstrap-sass/lib/_button-groups.scss */ +.btn-group > .btn-mini + .dropdown-toggle { + padding-left: 5px; + padding-right: 5px; + *padding-top: 2px; + *padding-bottom: 2px; +} + +/* line 116, ../../app/bower_components/bootstrap-sass/lib/_button-groups.scss */ +.btn-group > .btn-small + .dropdown-toggle { + *padding-top: 5px; + *padding-bottom: 4px; +} + +/* line 120, ../../app/bower_components/bootstrap-sass/lib/_button-groups.scss */ +.btn-group > .btn-large + .dropdown-toggle { + padding-left: 12px; + padding-right: 12px; + *padding-top: 7px; + *padding-bottom: 7px; +} + +/* line 131, ../../app/bower_components/bootstrap-sass/lib/_button-groups.scss */ +.btn-group.open .dropdown-toggle { + background-image: none; + -webkit-box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.05); + -moz-box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.05); + box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.05); +} +/* line 137, ../../app/bower_components/bootstrap-sass/lib/_button-groups.scss */ +.btn-group.open .btn.dropdown-toggle { + background-color: #e6e6e6; +} +/* line 140, ../../app/bower_components/bootstrap-sass/lib/_button-groups.scss */ +.btn-group.open .btn-primary.dropdown-toggle { + background-color: #0044cc; +} +/* line 143, ../../app/bower_components/bootstrap-sass/lib/_button-groups.scss */ +.btn-group.open .btn-warning.dropdown-toggle { + background-color: #f89406; +} +/* line 146, ../../app/bower_components/bootstrap-sass/lib/_button-groups.scss */ +.btn-group.open .btn-danger.dropdown-toggle { + background-color: #bd362f; +} +/* line 149, ../../app/bower_components/bootstrap-sass/lib/_button-groups.scss */ +.btn-group.open .btn-success.dropdown-toggle { + background-color: #51a351; +} +/* line 152, ../../app/bower_components/bootstrap-sass/lib/_button-groups.scss */ +.btn-group.open .btn-info.dropdown-toggle { + background-color: #2f96b4; +} +/* line 155, ../../app/bower_components/bootstrap-sass/lib/_button-groups.scss */ +.btn-group.open .btn-inverse.dropdown-toggle { + background-color: #222222; +} + +/* line 162, ../../app/bower_components/bootstrap-sass/lib/_button-groups.scss */ +.btn .caret { + margin-top: 8px; + margin-left: 0; +} + +/* line 167, ../../app/bower_components/bootstrap-sass/lib/_button-groups.scss */ +.btn-large .caret { + margin-top: 6px; +} + +/* line 170, ../../app/bower_components/bootstrap-sass/lib/_button-groups.scss */ +.btn-large .caret { + border-left-width: 5px; + border-right-width: 5px; + border-top-width: 5px; +} + +/* line 176, ../../app/bower_components/bootstrap-sass/lib/_button-groups.scss */ +.btn-mini .caret, +.btn-small .caret { + margin-top: 8px; +} + +/* line 180, ../../app/bower_components/bootstrap-sass/lib/_button-groups.scss */ +.dropup .btn-large .caret { + border-bottom-width: 5px; +} + +/* line 193, ../../app/bower_components/bootstrap-sass/lib/_button-groups.scss */ +.btn-primary .caret, +.btn-warning .caret, +.btn-danger .caret, +.btn-info .caret, +.btn-success .caret, +.btn-inverse .caret { + border-top-color: white; + border-bottom-color: white; +} + +/* line 204, ../../app/bower_components/bootstrap-sass/lib/_button-groups.scss */ +.btn-group-vertical { + display: inline-block; + *display: inline; + /* IE7 inline-block hack */ + *zoom: 1; +} + +/* line 208, ../../app/bower_components/bootstrap-sass/lib/_button-groups.scss */ +.btn-group-vertical > .btn { + display: block; + float: none; + max-width: 100%; + -webkit-border-radius: 0; + -moz-border-radius: 0; + border-radius: 0; +} + +/* line 214, ../../app/bower_components/bootstrap-sass/lib/_button-groups.scss */ +.btn-group-vertical > .btn + .btn { + margin-left: 0; + margin-top: -1px; +} + +/* line 218, ../../app/bower_components/bootstrap-sass/lib/_button-groups.scss */ +.btn-group-vertical > .btn:first-child { + -webkit-border-radius: 4px 4px 0 0; + -moz-border-radius: 4px 4px 0 0; + border-radius: 4px 4px 0 0; +} + +/* line 221, ../../app/bower_components/bootstrap-sass/lib/_button-groups.scss */ +.btn-group-vertical > .btn:last-child { + -webkit-border-radius: 0 0 4px 4px; + -moz-border-radius: 0 0 4px 4px; + border-radius: 0 0 4px 4px; +} + +/* line 224, ../../app/bower_components/bootstrap-sass/lib/_button-groups.scss */ +.btn-group-vertical > .btn-large:first-child { + -webkit-border-radius: 6px 6px 0 0; + -moz-border-radius: 6px 6px 0 0; + border-radius: 6px 6px 0 0; +} + +/* line 227, ../../app/bower_components/bootstrap-sass/lib/_button-groups.scss */ +.btn-group-vertical > .btn-large:last-child { + -webkit-border-radius: 0 0 6px 6px; + -moz-border-radius: 0 0 6px 6px; + border-radius: 0 0 6px 6px; +} + +/* line 9, ../../app/bower_components/bootstrap-sass/lib/_alerts.scss */ +.alert { + padding: 8px 35px 8px 14px; + margin-bottom: 20px; + text-shadow: 0 1px 0 rgba(255, 255, 255, 0.5); + background-color: #fcf8e3; + border: 1px solid #fbeed5; + -webkit-border-radius: 4px; + -moz-border-radius: 4px; + border-radius: 4px; +} + +/* line 18, ../../app/bower_components/bootstrap-sass/lib/_alerts.scss */ +.alert, +.alert h4 { + color: #c09853; +} + +/* line 22, ../../app/bower_components/bootstrap-sass/lib/_alerts.scss */ +.alert h4 { + margin: 0; +} + +/* line 27, ../../app/bower_components/bootstrap-sass/lib/_alerts.scss */ +.alert .close { + position: relative; + top: -2px; + right: -21px; + line-height: 20px; +} + +/* line 38, ../../app/bower_components/bootstrap-sass/lib/_alerts.scss */ +.alert-success { + background-color: #dff0d8; + border-color: #d6e9c6; + color: #468847; +} + +/* line 43, ../../app/bower_components/bootstrap-sass/lib/_alerts.scss */ +.alert-success h4 { + color: #468847; +} + +/* line 47, ../../app/bower_components/bootstrap-sass/lib/_alerts.scss */ +.alert-danger, +.alert-error { + background-color: #f2dede; + border-color: #eed3d7; + color: #b94a48; +} + +/* line 53, ../../app/bower_components/bootstrap-sass/lib/_alerts.scss */ +.alert-danger h4, +.alert-error h4 { + color: #b94a48; +} + +/* line 56, ../../app/bower_components/bootstrap-sass/lib/_alerts.scss */ +.alert-info { + background-color: #d9edf7; + border-color: #bce8f1; + color: #3a87ad; +} + +/* line 61, ../../app/bower_components/bootstrap-sass/lib/_alerts.scss */ +.alert-info h4 { + color: #3a87ad; +} + +/* line 69, ../../app/bower_components/bootstrap-sass/lib/_alerts.scss */ +.alert-block { + padding-top: 14px; + padding-bottom: 14px; +} + +/* line 74, ../../app/bower_components/bootstrap-sass/lib/_alerts.scss */ +.alert-block > p, +.alert-block > ul { + margin-bottom: 0; +} + +/* line 77, ../../app/bower_components/bootstrap-sass/lib/_alerts.scss */ +.alert-block p + p { + margin-top: 5px; +} + +/* line 9, ../../app/bower_components/bootstrap-sass/lib/_navs.scss */ +.nav { + margin-left: 0; + margin-bottom: 20px; + list-style: none; +} + +/* line 16, ../../app/bower_components/bootstrap-sass/lib/_navs.scss */ +.nav > li > a { + display: block; +} + +/* line 20, ../../app/bower_components/bootstrap-sass/lib/_navs.scss */ +.nav > li > a:hover, +.nav > li > a:focus { + text-decoration: none; + background-color: #eeeeee; +} + +/* line 27, ../../app/bower_components/bootstrap-sass/lib/_navs.scss */ +.nav > li > a > img { + max-width: none; +} + +/* line 32, ../../app/bower_components/bootstrap-sass/lib/_navs.scss */ +.nav > .pull-right { + float: right; +} + +/* line 37, ../../app/bower_components/bootstrap-sass/lib/_navs.scss */ +.nav-header { + display: block; + padding: 3px 15px; + font-size: 11px; + font-weight: bold; + line-height: 20px; + color: #999999; + text-shadow: 0 1px 0 rgba(255, 255, 255, 0.5); + text-transform: uppercase; +} + +/* line 48, ../../app/bower_components/bootstrap-sass/lib/_navs.scss */ +.nav li + .nav-header { + margin-top: 9px; +} + +/* line 57, ../../app/bower_components/bootstrap-sass/lib/_navs.scss */ +.nav-list { + padding-left: 15px; + padding-right: 15px; + margin-bottom: 0; +} + +/* line 63, ../../app/bower_components/bootstrap-sass/lib/_navs.scss */ +.nav-list > li > a, +.nav-list .nav-header { + margin-left: -15px; + margin-right: -15px; + text-shadow: 0 1px 0 rgba(255, 255, 255, 0.5); +} + +/* line 68, ../../app/bower_components/bootstrap-sass/lib/_navs.scss */ +.nav-list > li > a { + padding: 3px 15px; +} + +/* line 73, ../../app/bower_components/bootstrap-sass/lib/_navs.scss */ +.nav-list > .active > a, +.nav-list > .active > a:hover, +.nav-list > .active > a:focus { + color: white; + text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.2); + background-color: #0088cc; +} + +/* line 79, ../../app/bower_components/bootstrap-sass/lib/_navs.scss */ +.nav-list [class^="icon-"], +.nav-list [class*=" icon-"] { + margin-right: 2px; +} + +/* line 83, ../../app/bower_components/bootstrap-sass/lib/_navs.scss */ +.nav-list .divider { + *width: 100%; + height: 1px; + margin: 9px 1px; + *margin: -5px 0 5px; + overflow: hidden; + background-color: #e5e5e5; + border-bottom: 1px solid white; +} + +/* line 94, ../../app/bower_components/bootstrap-sass/lib/_navs.scss */ +.nav-tabs, +.nav-pills { + *zoom: 1; +} +/* line 15, ../../app/bower_components/bootstrap-sass/lib/_mixins.scss */ +.nav-tabs:before, .nav-tabs:after, +.nav-pills:before, +.nav-pills:after { + display: table; + content: ""; + line-height: 0; +} +/* line 22, ../../app/bower_components/bootstrap-sass/lib/_mixins.scss */ +.nav-tabs:after, +.nav-pills:after { + clear: both; +} + +/* line 98, ../../app/bower_components/bootstrap-sass/lib/_navs.scss */ +.nav-tabs > li, +.nav-pills > li { + float: left; +} + +/* line 102, ../../app/bower_components/bootstrap-sass/lib/_navs.scss */ +.nav-tabs > li > a, +.nav-pills > li > a { + padding-right: 12px; + padding-left: 12px; + margin-right: 2px; + line-height: 14px; +} + +/* line 113, ../../app/bower_components/bootstrap-sass/lib/_navs.scss */ +.nav-tabs { + border-bottom: 1px solid #ddd; +} + +/* line 117, ../../app/bower_components/bootstrap-sass/lib/_navs.scss */ +.nav-tabs > li { + margin-bottom: -1px; +} + +/* line 121, ../../app/bower_components/bootstrap-sass/lib/_navs.scss */ +.nav-tabs > li > a { + padding-top: 8px; + padding-bottom: 8px; + line-height: 20px; + border: 1px solid transparent; + -webkit-border-radius: 4px 4px 0 0; + -moz-border-radius: 4px 4px 0 0; + border-radius: 4px 4px 0 0; +} +/* line 128, ../../app/bower_components/bootstrap-sass/lib/_navs.scss */ +.nav-tabs > li > a:hover, .nav-tabs > li > a:focus { + border-color: #eeeeee #eeeeee #dddddd; +} + +/* line 135, ../../app/bower_components/bootstrap-sass/lib/_navs.scss */ +.nav-tabs > .active > a, +.nav-tabs > .active > a:hover, +.nav-tabs > .active > a:focus { + color: #555555; + background-color: white; + border: 1px solid #ddd; + border-bottom-color: transparent; + cursor: default; +} + +/* line 148, ../../app/bower_components/bootstrap-sass/lib/_navs.scss */ +.nav-pills > li > a { + padding-top: 8px; + padding-bottom: 8px; + margin-top: 2px; + margin-bottom: 2px; + -webkit-border-radius: 5px; + -moz-border-radius: 5px; + border-radius: 5px; +} + +/* line 159, ../../app/bower_components/bootstrap-sass/lib/_navs.scss */ +.nav-pills > .active > a, +.nav-pills > .active > a:hover, +.nav-pills > .active > a:focus { + color: white; + background-color: #0088cc; +} + +/* line 170, ../../app/bower_components/bootstrap-sass/lib/_navs.scss */ +.nav-stacked > li { + float: none; +} + +/* line 173, ../../app/bower_components/bootstrap-sass/lib/_navs.scss */ +.nav-stacked > li > a { + margin-right: 0; +} + +/* line 178, ../../app/bower_components/bootstrap-sass/lib/_navs.scss */ +.nav-tabs.nav-stacked { + border-bottom: 0; +} + +/* line 181, ../../app/bower_components/bootstrap-sass/lib/_navs.scss */ +.nav-tabs.nav-stacked > li > a { + border: 1px solid #ddd; + -webkit-border-radius: 0; + -moz-border-radius: 0; + border-radius: 0; +} + +/* line 185, ../../app/bower_components/bootstrap-sass/lib/_navs.scss */ +.nav-tabs.nav-stacked > li:first-child > a { + -webkit-border-top-right-radius: 4px; + -moz-border-radius-topright: 4px; + border-top-right-radius: 4px; + -webkit-border-top-left-radius: 4px; + -moz-border-radius-topleft: 4px; + border-top-left-radius: 4px; +} + +/* line 188, ../../app/bower_components/bootstrap-sass/lib/_navs.scss */ +.nav-tabs.nav-stacked > li:last-child > a { + -webkit-border-bottom-right-radius: 4px; + -moz-border-radius-bottomright: 4px; + border-bottom-right-radius: 4px; + -webkit-border-bottom-left-radius: 4px; + -moz-border-radius-bottomleft: 4px; + border-bottom-left-radius: 4px; +} + +/* line 192, ../../app/bower_components/bootstrap-sass/lib/_navs.scss */ +.nav-tabs.nav-stacked > li > a:hover, +.nav-tabs.nav-stacked > li > a:focus { + border-color: #ddd; + z-index: 2; +} + +/* line 198, ../../app/bower_components/bootstrap-sass/lib/_navs.scss */ +.nav-pills.nav-stacked > li > a { + margin-bottom: 3px; +} + +/* line 201, ../../app/bower_components/bootstrap-sass/lib/_navs.scss */ +.nav-pills.nav-stacked > li:last-child > a { + margin-bottom: 1px; +} + +/* line 210, ../../app/bower_components/bootstrap-sass/lib/_navs.scss */ +.nav-tabs .dropdown-menu { + -webkit-border-radius: 0 0 6px 6px; + -moz-border-radius: 0 0 6px 6px; + border-radius: 0 0 6px 6px; +} + +/* line 213, ../../app/bower_components/bootstrap-sass/lib/_navs.scss */ +.nav-pills .dropdown-menu { + -webkit-border-radius: 6px; + -moz-border-radius: 6px; + border-radius: 6px; +} + +/* line 220, ../../app/bower_components/bootstrap-sass/lib/_navs.scss */ +.nav .dropdown-toggle .caret { + border-top-color: #0088cc; + border-bottom-color: #0088cc; + margin-top: 6px; +} + +/* line 226, ../../app/bower_components/bootstrap-sass/lib/_navs.scss */ +.nav .dropdown-toggle:hover .caret, +.nav .dropdown-toggle:focus .caret { + border-top-color: #005580; + border-bottom-color: #005580; +} + +/* move down carets for tabs */ +/* line 231, ../../app/bower_components/bootstrap-sass/lib/_navs.scss */ +.nav-tabs .dropdown-toggle .caret { + margin-top: 8px; +} + +/* line 237, ../../app/bower_components/bootstrap-sass/lib/_navs.scss */ +.nav .active .dropdown-toggle .caret { + border-top-color: #fff; + border-bottom-color: #fff; +} + +/* line 241, ../../app/bower_components/bootstrap-sass/lib/_navs.scss */ +.nav-tabs .active .dropdown-toggle .caret { + border-top-color: #555555; + border-bottom-color: #555555; +} + +/* line 249, ../../app/bower_components/bootstrap-sass/lib/_navs.scss */ +.nav > .dropdown.active > a:hover, +.nav > .dropdown.active > a:focus { + cursor: pointer; +} + +/* line 258, ../../app/bower_components/bootstrap-sass/lib/_navs.scss */ +.nav-tabs .open .dropdown-toggle, +.nav-pills .open .dropdown-toggle, +.nav > li.dropdown.open.active > a:hover, +.nav > li.dropdown.open.active > a:focus { + color: white; + background-color: #999999; + border-color: #999999; +} + +/* line 266, ../../app/bower_components/bootstrap-sass/lib/_navs.scss */ +.nav li.dropdown.open .caret, +.nav li.dropdown.open.active .caret, +.nav li.dropdown.open a:hover .caret, +.nav li.dropdown.open a:focus .caret { + border-top-color: white; + border-bottom-color: white; + opacity: 1; + filter: alpha(opacity=100); +} + +/* line 274, ../../app/bower_components/bootstrap-sass/lib/_navs.scss */ +.tabs-stacked .open > a:hover, +.tabs-stacked .open > a:focus { + border-color: #999999; +} + +/* line 288, ../../app/bower_components/bootstrap-sass/lib/_navs.scss */ +.tabbable { + *zoom: 1; +} +/* line 15, ../../app/bower_components/bootstrap-sass/lib/_mixins.scss */ +.tabbable:before, .tabbable:after { + display: table; + content: ""; + line-height: 0; +} +/* line 22, ../../app/bower_components/bootstrap-sass/lib/_mixins.scss */ +.tabbable:after { + clear: both; +} + +/* line 291, ../../app/bower_components/bootstrap-sass/lib/_navs.scss */ +.tab-content { + overflow: auto; +} + +/* line 298, ../../app/bower_components/bootstrap-sass/lib/_navs.scss */ +.tabs-below > .nav-tabs, +.tabs-right > .nav-tabs, +.tabs-left > .nav-tabs { + border-bottom: 0; +} + +/* line 304, ../../app/bower_components/bootstrap-sass/lib/_navs.scss */ +.tab-content > .tab-pane, +.pill-content > .pill-pane { + display: none; +} + +/* line 308, ../../app/bower_components/bootstrap-sass/lib/_navs.scss */ +.tab-content > .active, +.pill-content > .active { + display: block; +} + +/* line 316, ../../app/bower_components/bootstrap-sass/lib/_navs.scss */ +.tabs-below > .nav-tabs { + border-top: 1px solid #ddd; +} + +/* line 319, ../../app/bower_components/bootstrap-sass/lib/_navs.scss */ +.tabs-below > .nav-tabs > li { + margin-top: -1px; + margin-bottom: 0; +} + +/* line 323, ../../app/bower_components/bootstrap-sass/lib/_navs.scss */ +.tabs-below > .nav-tabs > li > a { + -webkit-border-radius: 0 0 4px 4px; + -moz-border-radius: 0 0 4px 4px; + border-radius: 0 0 4px 4px; +} +/* line 326, ../../app/bower_components/bootstrap-sass/lib/_navs.scss */ +.tabs-below > .nav-tabs > li > a:hover, .tabs-below > .nav-tabs > li > a:focus { + border-bottom-color: transparent; + border-top-color: #ddd; +} + +/* line 333, ../../app/bower_components/bootstrap-sass/lib/_navs.scss */ +.tabs-below > .nav-tabs > .active > a, +.tabs-below > .nav-tabs > .active > a:hover, +.tabs-below > .nav-tabs > .active > a:focus { + border-color: transparent #ddd #ddd #ddd; +} + +/* line 342, ../../app/bower_components/bootstrap-sass/lib/_navs.scss */ +.tabs-left > .nav-tabs > li, +.tabs-right > .nav-tabs > li { + float: none; +} + +/* line 346, ../../app/bower_components/bootstrap-sass/lib/_navs.scss */ +.tabs-left > .nav-tabs > li > a, +.tabs-right > .nav-tabs > li > a { + min-width: 74px; + margin-right: 0; + margin-bottom: 3px; +} + +/* line 353, ../../app/bower_components/bootstrap-sass/lib/_navs.scss */ +.tabs-left > .nav-tabs { + float: left; + margin-right: 19px; + border-right: 1px solid #ddd; +} + +/* line 358, ../../app/bower_components/bootstrap-sass/lib/_navs.scss */ +.tabs-left > .nav-tabs > li > a { + margin-right: -1px; + -webkit-border-radius: 4px 0 0 4px; + -moz-border-radius: 4px 0 0 4px; + border-radius: 4px 0 0 4px; +} + +/* line 363, ../../app/bower_components/bootstrap-sass/lib/_navs.scss */ +.tabs-left > .nav-tabs > li > a:hover, +.tabs-left > .nav-tabs > li > a:focus { + border-color: #eeeeee #dddddd #eeeeee #eeeeee; +} + +/* line 368, ../../app/bower_components/bootstrap-sass/lib/_navs.scss */ +.tabs-left > .nav-tabs .active > a, +.tabs-left > .nav-tabs .active > a:hover, +.tabs-left > .nav-tabs .active > a:focus { + border-color: #ddd transparent #ddd #ddd; + *border-right-color: white; +} + +/* line 374, ../../app/bower_components/bootstrap-sass/lib/_navs.scss */ +.tabs-right > .nav-tabs { + float: right; + margin-left: 19px; + border-left: 1px solid #ddd; +} + +/* line 379, ../../app/bower_components/bootstrap-sass/lib/_navs.scss */ +.tabs-right > .nav-tabs > li > a { + margin-left: -1px; + -webkit-border-radius: 0 4px 4px 0; + -moz-border-radius: 0 4px 4px 0; + border-radius: 0 4px 4px 0; +} + +/* line 384, ../../app/bower_components/bootstrap-sass/lib/_navs.scss */ +.tabs-right > .nav-tabs > li > a:hover, +.tabs-right > .nav-tabs > li > a:focus { + border-color: #eeeeee #eeeeee #eeeeee #dddddd; +} + +/* line 389, ../../app/bower_components/bootstrap-sass/lib/_navs.scss */ +.tabs-right > .nav-tabs .active > a, +.tabs-right > .nav-tabs .active > a:hover, +.tabs-right > .nav-tabs .active > a:focus { + border-color: #ddd #ddd #ddd transparent; + *border-left-color: white; +} + +/* line 400, ../../app/bower_components/bootstrap-sass/lib/_navs.scss */ +.nav > .disabled > a { + color: #999999; +} + +/* line 405, ../../app/bower_components/bootstrap-sass/lib/_navs.scss */ +.nav > .disabled > a:hover, +.nav > .disabled > a:focus { + text-decoration: none; + background-color: transparent; + cursor: default; +} + +/* line 10, ../../app/bower_components/bootstrap-sass/lib/_navbar.scss */ +.navbar { + overflow: visible; + margin-bottom: 20px; + *position: relative; + *z-index: 2; +} + +/* line 21, ../../app/bower_components/bootstrap-sass/lib/_navbar.scss */ +.navbar-inner { + min-height: 40px; + padding-left: 20px; + padding-right: 20px; + background-color: #f9f9f9; + background-image: -moz-linear-gradient(top, white, #f2f2f2); + background-image: -webkit-gradient(linear, 0 0, 0 100%, from(white), to(#f2f2f2)); + background-image: -webkit-linear-gradient(top, white, #f2f2f2); + background-image: -o-linear-gradient(top, white, #f2f2f2); + background-image: linear-gradient(to bottom, #ffffff, #f2f2f2); + background-repeat: repeat-x; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFFFFFFF', endColorstr='#FFF2F2F2', GradientType=0); + border: 1px solid #d4d4d4; + -webkit-border-radius: 4px; + -moz-border-radius: 4px; + border-radius: 4px; + -webkit-box-shadow: 0 1px 4px rgba(0, 0, 0, 0.065); + -moz-box-shadow: 0 1px 4px rgba(0, 0, 0, 0.065); + box-shadow: 0 1px 4px rgba(0, 0, 0, 0.065); + *zoom: 1; +} +/* line 15, ../../app/bower_components/bootstrap-sass/lib/_mixins.scss */ +.navbar-inner:before, .navbar-inner:after { + display: table; + content: ""; + line-height: 0; +} +/* line 22, ../../app/bower_components/bootstrap-sass/lib/_mixins.scss */ +.navbar-inner:after { + clear: both; +} + +/* line 36, ../../app/bower_components/bootstrap-sass/lib/_navbar.scss */ +.navbar .container { + width: auto; +} + +/* line 41, ../../app/bower_components/bootstrap-sass/lib/_navbar.scss */ +.nav-collapse.collapse { + height: auto; + overflow: visible; +} + +/* line 49, ../../app/bower_components/bootstrap-sass/lib/_navbar.scss */ +.navbar .brand { + float: left; + display: block; + padding: 10px 20px 10px; + margin-left: -20px; + font-size: 20px; + font-weight: 200; + color: #777777; + text-shadow: 0 1px 0 white; +} +/* line 60, ../../app/bower_components/bootstrap-sass/lib/_navbar.scss */ +.navbar .brand:hover, .navbar .brand:focus { + text-decoration: none; +} + +/* line 67, ../../app/bower_components/bootstrap-sass/lib/_navbar.scss */ +.navbar-text { + margin-bottom: 0; + line-height: 40px; + color: #777777; +} + +/* line 75, ../../app/bower_components/bootstrap-sass/lib/_navbar.scss */ +.navbar-link { + color: #777777; +} +/* line 78, ../../app/bower_components/bootstrap-sass/lib/_navbar.scss */ +.navbar-link:hover, .navbar-link:focus { + color: #333333; +} + +/* line 85, ../../app/bower_components/bootstrap-sass/lib/_navbar.scss */ +.navbar .divider-vertical { + height: 40px; + margin: 0 9px; + border-left: 1px solid #f2f2f2; + border-right: 1px solid white; +} + +/* line 95, ../../app/bower_components/bootstrap-sass/lib/_navbar.scss */ +.navbar .btn, +.navbar .btn-group { + margin-top: 5px; +} + +/* line 102, ../../app/bower_components/bootstrap-sass/lib/_navbar.scss */ +.navbar .btn-group .btn, +.navbar .input-prepend .btn, +.navbar .input-append .btn, +.navbar .input-prepend .btn-group, +.navbar .input-append .btn-group { + margin-top: 0; +} + +/* line 108, ../../app/bower_components/bootstrap-sass/lib/_navbar.scss */ +.navbar-form { + margin-bottom: 0; + *zoom: 1; +} +/* line 15, ../../app/bower_components/bootstrap-sass/lib/_mixins.scss */ +.navbar-form:before, .navbar-form:after { + display: table; + content: ""; + line-height: 0; +} +/* line 22, ../../app/bower_components/bootstrap-sass/lib/_mixins.scss */ +.navbar-form:after { + clear: both; +} +/* line 114, ../../app/bower_components/bootstrap-sass/lib/_navbar.scss */ +.navbar-form input, +.navbar-form select, +.navbar-form .radio, +.navbar-form .checkbox { + margin-top: 5px; +} +/* line 119, ../../app/bower_components/bootstrap-sass/lib/_navbar.scss */ +.navbar-form input, +.navbar-form select, +.navbar-form .btn { + display: inline-block; + margin-bottom: 0; +} +/* line 125, ../../app/bower_components/bootstrap-sass/lib/_navbar.scss */ +.navbar-form input[type="image"], +.navbar-form input[type="checkbox"], +.navbar-form input[type="radio"] { + margin-top: 3px; +} +/* line 129, ../../app/bower_components/bootstrap-sass/lib/_navbar.scss */ +.navbar-form .input-append, +.navbar-form .input-prepend { + margin-top: 5px; + white-space: nowrap; +} +/* line 132, ../../app/bower_components/bootstrap-sass/lib/_navbar.scss */ +.navbar-form .input-append input, +.navbar-form .input-prepend input { + margin-top: 0; +} + +/* line 140, ../../app/bower_components/bootstrap-sass/lib/_navbar.scss */ +.navbar-search { + position: relative; + float: left; + margin-top: 5px; + margin-bottom: 0; +} +/* line 145, ../../app/bower_components/bootstrap-sass/lib/_navbar.scss */ +.navbar-search .search-query { + margin-bottom: 0; + padding: 4px 14px; + font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; + font-size: 13px; + font-weight: normal; + line-height: 1; + -webkit-border-radius: 15px; + -moz-border-radius: 15px; + border-radius: 15px; +} + +/* line 158, ../../app/bower_components/bootstrap-sass/lib/_navbar.scss */ +.navbar-static-top { + position: static; + margin-bottom: 0; +} +/* line 161, ../../app/bower_components/bootstrap-sass/lib/_navbar.scss */ +.navbar-static-top .navbar-inner { + -webkit-border-radius: 0; + -moz-border-radius: 0; + border-radius: 0; +} + +/* line 173, ../../app/bower_components/bootstrap-sass/lib/_navbar.scss */ +.navbar-fixed-top, +.navbar-fixed-bottom { + position: fixed; + right: 0; + left: 0; + z-index: 1030; + margin-bottom: 0; +} + +/* line 181, ../../app/bower_components/bootstrap-sass/lib/_navbar.scss */ +.navbar-fixed-top .navbar-inner, +.navbar-static-top .navbar-inner { + border-width: 0 0 1px; +} + +/* line 184, ../../app/bower_components/bootstrap-sass/lib/_navbar.scss */ +.navbar-fixed-bottom .navbar-inner { + border-width: 1px 0 0; +} + +/* line 188, ../../app/bower_components/bootstrap-sass/lib/_navbar.scss */ +.navbar-fixed-top .navbar-inner, +.navbar-fixed-bottom .navbar-inner { + padding-left: 0; + padding-right: 0; + -webkit-border-radius: 0; + -moz-border-radius: 0; + border-radius: 0; +} + +/* line 198, ../../app/bower_components/bootstrap-sass/lib/_navbar.scss */ +.navbar-static-top .container, +.navbar-fixed-top .container, +.navbar-fixed-bottom .container { + width: 940px; +} + +/* line 203, ../../app/bower_components/bootstrap-sass/lib/_navbar.scss */ +.navbar-fixed-top { + top: 0; +} + +/* line 208, ../../app/bower_components/bootstrap-sass/lib/_navbar.scss */ +.navbar-fixed-top .navbar-inner, +.navbar-static-top .navbar-inner { + -webkit-box-shadow: 0 1px 10px rgba(0, 0, 0, 0.1); + -moz-box-shadow: 0 1px 10px rgba(0, 0, 0, 0.1); + box-shadow: 0 1px 10px rgba(0, 0, 0, 0.1); +} + +/* line 214, ../../app/bower_components/bootstrap-sass/lib/_navbar.scss */ +.navbar-fixed-bottom { + bottom: 0; +} +/* line 216, ../../app/bower_components/bootstrap-sass/lib/_navbar.scss */ +.navbar-fixed-bottom .navbar-inner { + -webkit-box-shadow: 0 -1px 10px rgba(0, 0, 0, 0.1); + -moz-box-shadow: 0 -1px 10px rgba(0, 0, 0, 0.1); + box-shadow: 0 -1px 10px rgba(0, 0, 0, 0.1); +} + +/* line 226, ../../app/bower_components/bootstrap-sass/lib/_navbar.scss */ +.navbar .nav { + position: relative; + left: 0; + display: block; + float: left; + margin: 0 10px 0 0; +} + +/* line 233, ../../app/bower_components/bootstrap-sass/lib/_navbar.scss */ +.navbar .nav.pull-right { + float: right; + margin-right: 0; +} + +/* line 237, ../../app/bower_components/bootstrap-sass/lib/_navbar.scss */ +.navbar .nav > li { + float: left; +} + +/* line 242, ../../app/bower_components/bootstrap-sass/lib/_navbar.scss */ +.navbar .nav > li > a { + float: none; + padding: 10px 15px 10px; + color: #777777; + text-decoration: none; + text-shadow: 0 1px 0 white; +} + +/* line 250, ../../app/bower_components/bootstrap-sass/lib/_navbar.scss */ +.navbar .nav .dropdown-toggle .caret { + margin-top: 8px; +} + +/* line 256, ../../app/bower_components/bootstrap-sass/lib/_navbar.scss */ +.navbar .nav > li > a:focus, +.navbar .nav > li > a:hover { + background-color: transparent; + color: #333333; + text-decoration: none; +} + +/* line 265, ../../app/bower_components/bootstrap-sass/lib/_navbar.scss */ +.navbar .nav > .active > a, +.navbar .nav > .active > a:hover, +.navbar .nav > .active > a:focus { + color: #555555; + text-decoration: none; + background-color: #e6e6e6; + -webkit-box-shadow: inset 0 3px 8px rgba(0, 0, 0, 0.125); + -moz-box-shadow: inset 0 3px 8px rgba(0, 0, 0, 0.125); + box-shadow: inset 0 3px 8px rgba(0, 0, 0, 0.125); +} + +/* line 274, ../../app/bower_components/bootstrap-sass/lib/_navbar.scss */ +.navbar .btn-navbar { + display: none; + float: right; + padding: 7px 10px; + margin-left: 5px; + margin-right: 5px; + color: white; + text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25); + background-color: #ededed; + background-image: -moz-linear-gradient(top, #f2f2f2, #e6e6e6); + background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#f2f2f2), to(#e6e6e6)); + background-image: -webkit-linear-gradient(top, #f2f2f2, #e6e6e6); + background-image: -o-linear-gradient(top, #f2f2f2, #e6e6e6); + background-image: linear-gradient(to bottom, #f2f2f2, #e6e6e6); + background-repeat: repeat-x; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFF2F2F2', endColorstr='#FFE6E6E6', GradientType=0); + border-color: #e6e6e6 #e6e6e6 #bfbfbf; + border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25); + *background-color: #e6e6e6; + /* Darken IE7 buttons by default so they stand out more given they won't have borders */ + filter: progid:DXImageTransform.Microsoft.gradient(enabled=false); + -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.075); + -moz-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.075); + box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.075); +} +/* line 513, ../../app/bower_components/bootstrap-sass/lib/_mixins.scss */ +.navbar .btn-navbar:hover, .navbar .btn-navbar:focus, .navbar .btn-navbar:active, .navbar .btn-navbar.active, .navbar .btn-navbar.disabled, .navbar .btn-navbar[disabled] { + color: white; + background-color: #e6e6e6; + *background-color: #d9d9d9; +} +/* line 521, ../../app/bower_components/bootstrap-sass/lib/_mixins.scss */ +.navbar .btn-navbar:active, .navbar .btn-navbar.active { + background-color: #cccccc \9; +} + +/* line 283, ../../app/bower_components/bootstrap-sass/lib/_navbar.scss */ +.navbar .btn-navbar .icon-bar { + display: block; + width: 18px; + height: 2px; + background-color: #f5f5f5; + -webkit-border-radius: 1px; + -moz-border-radius: 1px; + border-radius: 1px; + -webkit-box-shadow: 0 1px 0 rgba(0, 0, 0, 0.25); + -moz-box-shadow: 0 1px 0 rgba(0, 0, 0, 0.25); + box-shadow: 0 1px 0 rgba(0, 0, 0, 0.25); +} + +/* line 291, ../../app/bower_components/bootstrap-sass/lib/_navbar.scss */ +.btn-navbar .icon-bar + .icon-bar { + margin-top: 3px; +} + +/* line 302, ../../app/bower_components/bootstrap-sass/lib/_navbar.scss */ +.navbar .nav > li > .dropdown-menu:before { + content: ''; + display: inline-block; + border-left: 7px solid transparent; + border-right: 7px solid transparent; + border-bottom: 7px solid #ccc; + border-bottom-color: rgba(0, 0, 0, 0.2); + position: absolute; + top: -7px; + left: 9px; +} +/* line 313, ../../app/bower_components/bootstrap-sass/lib/_navbar.scss */ +.navbar .nav > li > .dropdown-menu:after { + content: ''; + display: inline-block; + border-left: 6px solid transparent; + border-right: 6px solid transparent; + border-bottom: 6px solid white; + position: absolute; + top: -6px; + left: 10px; +} + +/* line 326, ../../app/bower_components/bootstrap-sass/lib/_navbar.scss */ +.navbar-fixed-bottom .nav > li > .dropdown-menu:before { + border-top: 7px solid #ccc; + border-top-color: rgba(0, 0, 0, 0.2); + border-bottom: 0; + bottom: -7px; + top: auto; +} +/* line 333, ../../app/bower_components/bootstrap-sass/lib/_navbar.scss */ +.navbar-fixed-bottom .nav > li > .dropdown-menu:after { + border-top: 6px solid white; + border-bottom: 0; + bottom: -6px; + top: auto; +} + +/* line 343, ../../app/bower_components/bootstrap-sass/lib/_navbar.scss */ +.navbar .nav li.dropdown > a:hover .caret, +.navbar .nav li.dropdown > a:focus .caret { + border-top-color: #555555; + border-bottom-color: #555555; +} + +/* line 351, ../../app/bower_components/bootstrap-sass/lib/_navbar.scss */ +.navbar .nav li.dropdown.open > .dropdown-toggle, +.navbar .nav li.dropdown.active > .dropdown-toggle, +.navbar .nav li.dropdown.open.active > .dropdown-toggle { + background-color: #e6e6e6; + color: #555555; +} + +/* line 355, ../../app/bower_components/bootstrap-sass/lib/_navbar.scss */ +.navbar .nav li.dropdown > .dropdown-toggle .caret { + border-top-color: #777777; + border-bottom-color: #777777; +} + +/* line 361, ../../app/bower_components/bootstrap-sass/lib/_navbar.scss */ +.navbar .nav li.dropdown.open > .dropdown-toggle .caret, +.navbar .nav li.dropdown.active > .dropdown-toggle .caret, +.navbar .nav li.dropdown.open.active > .dropdown-toggle .caret { + border-top-color: #555555; + border-bottom-color: #555555; +} + +/* line 368, ../../app/bower_components/bootstrap-sass/lib/_navbar.scss */ +.navbar .pull-right > li > .dropdown-menu, +.navbar .nav > li > .dropdown-menu.pull-right { + left: auto; + right: 0; +} +/* line 371, ../../app/bower_components/bootstrap-sass/lib/_navbar.scss */ +.navbar .pull-right > li > .dropdown-menu:before, +.navbar .nav > li > .dropdown-menu.pull-right:before { + left: auto; + right: 12px; +} +/* line 375, ../../app/bower_components/bootstrap-sass/lib/_navbar.scss */ +.navbar .pull-right > li > .dropdown-menu:after, +.navbar .nav > li > .dropdown-menu.pull-right:after { + left: auto; + right: 13px; +} +/* line 379, ../../app/bower_components/bootstrap-sass/lib/_navbar.scss */ +.navbar .pull-right > li > .dropdown-menu .dropdown-menu, +.navbar .nav > li > .dropdown-menu.pull-right .dropdown-menu { + left: auto; + right: 100%; + margin-left: 0; + margin-right: -1px; + -webkit-border-radius: 6px 0 6px 6px; + -moz-border-radius: 6px 0 6px 6px; + border-radius: 6px 0 6px 6px; +} + +/* line 394, ../../app/bower_components/bootstrap-sass/lib/_navbar.scss */ +.navbar-inverse .navbar-inner { + background-color: #1b1b1b; + background-image: -moz-linear-gradient(top, #222222, #111111); + background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#222222), to(#111111)); + background-image: -webkit-linear-gradient(top, #222222, #111111); + background-image: -o-linear-gradient(top, #222222, #111111); + background-image: linear-gradient(to bottom, #222222, #111111); + background-repeat: repeat-x; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#FF222222', endColorstr='#FF111111', GradientType=0); + border-color: #252525; +} +/* line 400, ../../app/bower_components/bootstrap-sass/lib/_navbar.scss */ +.navbar-inverse .brand, +.navbar-inverse .nav > li > a { + color: #999999; + text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25); +} +/* line 404, ../../app/bower_components/bootstrap-sass/lib/_navbar.scss */ +.navbar-inverse .brand:hover, .navbar-inverse .brand:focus, +.navbar-inverse .nav > li > a:hover, +.navbar-inverse .nav > li > a:focus { + color: white; +} +/* line 409, ../../app/bower_components/bootstrap-sass/lib/_navbar.scss */ +.navbar-inverse .brand { + color: #999999; +} +/* line 413, ../../app/bower_components/bootstrap-sass/lib/_navbar.scss */ +.navbar-inverse .navbar-text { + color: #999999; +} +/* line 418, ../../app/bower_components/bootstrap-sass/lib/_navbar.scss */ +.navbar-inverse .nav > li > a:focus, +.navbar-inverse .nav > li > a:hover { + background-color: transparent; + color: white; +} +/* line 425, ../../app/bower_components/bootstrap-sass/lib/_navbar.scss */ +.navbar-inverse .nav .active > a, +.navbar-inverse .nav .active > a:hover, +.navbar-inverse .nav .active > a:focus { + color: white; + background-color: #111111; +} +/* line 431, ../../app/bower_components/bootstrap-sass/lib/_navbar.scss */ +.navbar-inverse .navbar-link { + color: #999999; +} +/* line 434, ../../app/bower_components/bootstrap-sass/lib/_navbar.scss */ +.navbar-inverse .navbar-link:hover, .navbar-inverse .navbar-link:focus { + color: white; +} +/* line 440, ../../app/bower_components/bootstrap-sass/lib/_navbar.scss */ +.navbar-inverse .divider-vertical { + border-left-color: #111111; + border-right-color: #222222; +} +/* line 448, ../../app/bower_components/bootstrap-sass/lib/_navbar.scss */ +.navbar-inverse .nav li.dropdown.open > .dropdown-toggle, +.navbar-inverse .nav li.dropdown.active > .dropdown-toggle, +.navbar-inverse .nav li.dropdown.open.active > .dropdown-toggle { + background-color: #111111; + color: white; +} +/* line 453, ../../app/bower_components/bootstrap-sass/lib/_navbar.scss */ +.navbar-inverse .nav li.dropdown > a:hover .caret, +.navbar-inverse .nav li.dropdown > a:focus .caret { + border-top-color: white; + color: white; +} +/* line 457, ../../app/bower_components/bootstrap-sass/lib/_navbar.scss */ +.navbar-inverse .nav li.dropdown > .dropdown-toggle .caret { + border-top-color: #999999; + border-bottom-color: #999999; +} +/* line 463, ../../app/bower_components/bootstrap-sass/lib/_navbar.scss */ +.navbar-inverse .nav li.dropdown.open > .dropdown-toggle .caret, +.navbar-inverse .nav li.dropdown.active > .dropdown-toggle .caret, +.navbar-inverse .nav li.dropdown.open.active > .dropdown-toggle .caret { + border-top-color: white; + border-bottom-color: white; +} +/* line 470, ../../app/bower_components/bootstrap-sass/lib/_navbar.scss */ +.navbar-inverse .navbar-search .search-query { + color: white; + background-color: #515151; + border-color: #111111; + -webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1), 0 1px 0 rgba(255, 255, 255, 0.15); + -moz-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1), 0 1px 0 rgba(255, 255, 255, 0.15); + box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1), 0 1px 0 rgba(255, 255, 255, 0.15); + -webkit-transition: none; + -moz-transition: none; + -o-transition: none; + transition: none; +} +/* line 83, ../../app/bower_components/bootstrap-sass/lib/_mixins.scss */ +.navbar-inverse .navbar-search .search-query:-moz-placeholder { + color: #cccccc; +} +/* line 86, ../../app/bower_components/bootstrap-sass/lib/_mixins.scss */ +.navbar-inverse .navbar-search .search-query:-ms-input-placeholder { + color: #cccccc; +} +/* line 89, ../../app/bower_components/bootstrap-sass/lib/_mixins.scss */ +.navbar-inverse .navbar-search .search-query::-webkit-input-placeholder { + color: #cccccc; +} +/* line 480, ../../app/bower_components/bootstrap-sass/lib/_navbar.scss */ +.navbar-inverse .navbar-search .search-query:focus, .navbar-inverse .navbar-search .search-query.focused { + padding: 5px 15px; + color: #333333; + text-shadow: 0 1px 0 white; + background-color: white; + border: 0; + -webkit-box-shadow: 0 0 3px rgba(0, 0, 0, 0.15); + -moz-box-shadow: 0 0 3px rgba(0, 0, 0, 0.15); + box-shadow: 0 0 3px rgba(0, 0, 0, 0.15); + outline: 0; +} +/* line 493, ../../app/bower_components/bootstrap-sass/lib/_navbar.scss */ +.navbar-inverse .btn-navbar { + color: white; + text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25); + background-color: #0e0e0e; + background-image: -moz-linear-gradient(top, #151515, #040404); + background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#151515), to(#040404)); + background-image: -webkit-linear-gradient(top, #151515, #040404); + background-image: -o-linear-gradient(top, #151515, #040404); + background-image: linear-gradient(to bottom, #151515, #040404); + background-repeat: repeat-x; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#FF151515', endColorstr='#FF040404', GradientType=0); + border-color: #040404 #040404 black; + border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25); + *background-color: #040404; + /* Darken IE7 buttons by default so they stand out more given they won't have borders */ + filter: progid:DXImageTransform.Microsoft.gradient(enabled=false); +} +/* line 513, ../../app/bower_components/bootstrap-sass/lib/_mixins.scss */ +.navbar-inverse .btn-navbar:hover, .navbar-inverse .btn-navbar:focus, .navbar-inverse .btn-navbar:active, .navbar-inverse .btn-navbar.active, .navbar-inverse .btn-navbar.disabled, .navbar-inverse .btn-navbar[disabled] { + color: white; + background-color: #040404; + *background-color: black; +} +/* line 521, ../../app/bower_components/bootstrap-sass/lib/_mixins.scss */ +.navbar-inverse .btn-navbar:active, .navbar-inverse .btn-navbar.active { + background-color: black \9; +} + +/* line 6, ../../app/bower_components/bootstrap-sass/lib/_breadcrumbs.scss */ +.breadcrumb { + padding: 8px 15px; + margin: 0 0 20px; + list-style: none; + background-color: #f5f5f5; + -webkit-border-radius: 4px; + -moz-border-radius: 4px; + border-radius: 4px; +} +/* line 12, ../../app/bower_components/bootstrap-sass/lib/_breadcrumbs.scss */ +.breadcrumb > li { + display: inline-block; + *display: inline; + /* IE7 inline-block hack */ + *zoom: 1; + text-shadow: 0 1px 0 white; +} +/* line 16, ../../app/bower_components/bootstrap-sass/lib/_breadcrumbs.scss */ +.breadcrumb > li > .divider { + padding: 0 5px; + color: #ccc; +} +/* line 21, ../../app/bower_components/bootstrap-sass/lib/_breadcrumbs.scss */ +.breadcrumb .active { + color: #999999; +} + +/* line 6, ../../app/bower_components/bootstrap-sass/lib/_pagination.scss */ +.pagination { + margin: 20px 0; +} + +/* line 10, ../../app/bower_components/bootstrap-sass/lib/_pagination.scss */ +.pagination ul { + display: inline-block; + *display: inline; + /* IE7 inline-block hack */ + *zoom: 1; + margin-left: 0; + margin-bottom: 0; + -webkit-border-radius: 4px; + -moz-border-radius: 4px; + border-radius: 4px; + -webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05); + -moz-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05); + box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05); +} + +/* line 21, ../../app/bower_components/bootstrap-sass/lib/_pagination.scss */ +.pagination ul > li { + display: inline; +} + +/* line 25, ../../app/bower_components/bootstrap-sass/lib/_pagination.scss */ +.pagination ul > li > a, +.pagination ul > li > span { + float: left; + padding: 4px 12px; + line-height: 20px; + text-decoration: none; + background-color: white; + border: 1px solid #dddddd; + border-left-width: 0; +} + +/* line 37, ../../app/bower_components/bootstrap-sass/lib/_pagination.scss */ +.pagination ul > li > a:hover, +.pagination ul > li > a:focus, +.pagination ul > .active > a, +.pagination ul > .active > span { + background-color: whitesmoke; +} + +/* line 41, ../../app/bower_components/bootstrap-sass/lib/_pagination.scss */ +.pagination ul > .active > a, +.pagination ul > .active > span { + color: #999999; + cursor: default; +} + +/* line 48, ../../app/bower_components/bootstrap-sass/lib/_pagination.scss */ +.pagination ul > .disabled > span, +.pagination ul > .disabled > a, +.pagination ul > .disabled > a:hover, +.pagination ul > .disabled > a:focus { + color: #999999; + background-color: transparent; + cursor: default; +} + +/* line 54, ../../app/bower_components/bootstrap-sass/lib/_pagination.scss */ +.pagination ul > li:first-child > a, +.pagination ul > li:first-child > span { + border-left-width: 1px; + -webkit-border-top-left-radius: 4px; + -moz-border-radius-topleft: 4px; + border-top-left-radius: 4px; + -webkit-border-bottom-left-radius: 4px; + -moz-border-radius-bottomleft: 4px; + border-bottom-left-radius: 4px; +} + +/* line 59, ../../app/bower_components/bootstrap-sass/lib/_pagination.scss */ +.pagination ul > li:last-child > a, +.pagination ul > li:last-child > span { + -webkit-border-top-right-radius: 4px; + -moz-border-radius-topright: 4px; + border-top-right-radius: 4px; + -webkit-border-bottom-right-radius: 4px; + -moz-border-radius-bottomright: 4px; + border-bottom-right-radius: 4px; +} + +/* line 67, ../../app/bower_components/bootstrap-sass/lib/_pagination.scss */ +.pagination-centered { + text-align: center; +} + +/* line 70, ../../app/bower_components/bootstrap-sass/lib/_pagination.scss */ +.pagination-right { + text-align: right; +} + +/* line 81, ../../app/bower_components/bootstrap-sass/lib/_pagination.scss */ +.pagination-large ul > li > a, +.pagination-large ul > li > span { + padding: 11px 19px; + font-size: 17.5px; +} +/* line 86, ../../app/bower_components/bootstrap-sass/lib/_pagination.scss */ +.pagination-large ul > li:first-child > a, +.pagination-large ul > li:first-child > span { + -webkit-border-top-left-radius: 6px; + -moz-border-radius-topleft: 6px; + border-top-left-radius: 6px; + -webkit-border-bottom-left-radius: 6px; + -moz-border-radius-bottomleft: 6px; + border-bottom-left-radius: 6px; +} +/* line 90, ../../app/bower_components/bootstrap-sass/lib/_pagination.scss */ +.pagination-large ul > li:last-child > a, +.pagination-large ul > li:last-child > span { + -webkit-border-top-right-radius: 6px; + -moz-border-radius-topright: 6px; + border-top-right-radius: 6px; + -webkit-border-bottom-right-radius: 6px; + -moz-border-radius-bottomright: 6px; + border-bottom-right-radius: 6px; +} + +/* line 99, ../../app/bower_components/bootstrap-sass/lib/_pagination.scss */ +.pagination-mini ul > li:first-child > a, +.pagination-mini ul > li:first-child > span, +.pagination-small ul > li:first-child > a, +.pagination-small ul > li:first-child > span { + -webkit-border-top-left-radius: 3px; + -moz-border-radius-topleft: 3px; + border-top-left-radius: 3px; + -webkit-border-bottom-left-radius: 3px; + -moz-border-radius-bottomleft: 3px; + border-bottom-left-radius: 3px; +} +/* line 103, ../../app/bower_components/bootstrap-sass/lib/_pagination.scss */ +.pagination-mini ul > li:last-child > a, +.pagination-mini ul > li:last-child > span, +.pagination-small ul > li:last-child > a, +.pagination-small ul > li:last-child > span { + -webkit-border-top-right-radius: 3px; + -moz-border-radius-topright: 3px; + border-top-right-radius: 3px; + -webkit-border-bottom-right-radius: 3px; + -moz-border-radius-bottomright: 3px; + border-bottom-right-radius: 3px; +} + +/* line 111, ../../app/bower_components/bootstrap-sass/lib/_pagination.scss */ +.pagination-small ul > li > a, +.pagination-small ul > li > span { + padding: 2px 10px; + font-size: 11.9px; +} + +/* line 119, ../../app/bower_components/bootstrap-sass/lib/_pagination.scss */ +.pagination-mini ul > li > a, +.pagination-mini ul > li > span { + padding: 0px 6px; + font-size: 10.5px; +} + +/* line 6, ../../app/bower_components/bootstrap-sass/lib/_pager.scss */ +.pager { + margin: 20px 0; + list-style: none; + text-align: center; + *zoom: 1; +} +/* line 15, ../../app/bower_components/bootstrap-sass/lib/_mixins.scss */ +.pager:before, .pager:after { + display: table; + content: ""; + line-height: 0; +} +/* line 22, ../../app/bower_components/bootstrap-sass/lib/_mixins.scss */ +.pager:after { + clear: both; +} + +/* line 12, ../../app/bower_components/bootstrap-sass/lib/_pager.scss */ +.pager li { + display: inline; +} + +/* line 16, ../../app/bower_components/bootstrap-sass/lib/_pager.scss */ +.pager li > a, +.pager li > span { + display: inline-block; + padding: 5px 14px; + background-color: #fff; + border: 1px solid #ddd; + -webkit-border-radius: 15px; + -moz-border-radius: 15px; + border-radius: 15px; +} + +/* line 24, ../../app/bower_components/bootstrap-sass/lib/_pager.scss */ +.pager li > a:hover, +.pager li > a:focus { + text-decoration: none; + background-color: #f5f5f5; +} + +/* line 29, ../../app/bower_components/bootstrap-sass/lib/_pager.scss */ +.pager .next > a, +.pager .next > span { + float: right; +} + +/* line 33, ../../app/bower_components/bootstrap-sass/lib/_pager.scss */ +.pager .previous > a, +.pager .previous > span { + float: left; +} + +/* line 39, ../../app/bower_components/bootstrap-sass/lib/_pager.scss */ +.pager .disabled > a, +.pager .disabled > a:hover, +.pager .disabled > a:focus, +.pager .disabled > span { + color: #999999; + background-color: #fff; + cursor: default; +} + +/* line 6, ../../app/bower_components/bootstrap-sass/lib/_modals.scss */ +.modal-backdrop { + position: fixed; + top: 0; + right: 0; + bottom: 0; + left: 0; + z-index: 1040; + background-color: black; +} +/* line 15, ../../app/bower_components/bootstrap-sass/lib/_modals.scss */ +.modal-backdrop.fade { + opacity: 0; +} + +/* line 19, ../../app/bower_components/bootstrap-sass/lib/_modals.scss */ +.modal-backdrop, +.modal-backdrop.fade.in { + opacity: 0.8; + filter: alpha(opacity=80); +} + +/* line 24, ../../app/bower_components/bootstrap-sass/lib/_modals.scss */ +.modal { + position: fixed; + top: 10%; + left: 50%; + z-index: 1050; + width: 560px; + margin-left: -280px; + background-color: white; + border: 1px solid #999; + border: 1px solid rgba(0, 0, 0, 0.3); + *border: 1px solid #999; + /* IE6-7 */ + -webkit-border-radius: 6px; + -moz-border-radius: 6px; + border-radius: 6px; + -webkit-box-shadow: 0 3px 7px rgba(0, 0, 0, 0.3); + -moz-box-shadow: 0 3px 7px rgba(0, 0, 0, 0.3); + box-shadow: 0 3px 7px rgba(0, 0, 0, 0.3); + -webkit-background-clip: padding-box; + -moz-background-clip: padding-box; + background-clip: padding-box; + outline: none; +} +/* line 41, ../../app/bower_components/bootstrap-sass/lib/_modals.scss */ +.modal.fade { + -webkit-transition: opacity 0.3s linear, top 0.3s ease-out; + -moz-transition: opacity 0.3s linear, top 0.3s ease-out; + -o-transition: opacity 0.3s linear, top 0.3s ease-out; + transition: opacity 0.3s linear, top 0.3s ease-out; + top: -25%; +} +/* line 45, ../../app/bower_components/bootstrap-sass/lib/_modals.scss */ +.modal.fade.in { + top: 10%; +} + +/* line 47, ../../app/bower_components/bootstrap-sass/lib/_modals.scss */ +.modal-header { + padding: 9px 15px; + border-bottom: 1px solid #eee; +} +/* line 51, ../../app/bower_components/bootstrap-sass/lib/_modals.scss */ +.modal-header .close { + margin-top: 2px; +} +/* line 53, ../../app/bower_components/bootstrap-sass/lib/_modals.scss */ +.modal-header h3 { + margin: 0; + line-height: 30px; +} + +/* line 60, ../../app/bower_components/bootstrap-sass/lib/_modals.scss */ +.modal-body { + position: relative; + overflow-y: auto; + max-height: 400px; + padding: 15px; +} + +/* line 67, ../../app/bower_components/bootstrap-sass/lib/_modals.scss */ +.modal-form { + margin-bottom: 0; +} + +/* line 72, ../../app/bower_components/bootstrap-sass/lib/_modals.scss */ +.modal-footer { + padding: 14px 15px 15px; + margin-bottom: 0; + text-align: right; + background-color: #f5f5f5; + border-top: 1px solid #ddd; + -webkit-border-radius: 0 0 6px 6px; + -moz-border-radius: 0 0 6px 6px; + border-radius: 0 0 6px 6px; + -webkit-box-shadow: inset 0 1px 0 white; + -moz-box-shadow: inset 0 1px 0 white; + box-shadow: inset 0 1px 0 white; + *zoom: 1; +} +/* line 15, ../../app/bower_components/bootstrap-sass/lib/_mixins.scss */ +.modal-footer:before, .modal-footer:after { + display: table; + content: ""; + line-height: 0; +} +/* line 22, ../../app/bower_components/bootstrap-sass/lib/_mixins.scss */ +.modal-footer:after { + clear: both; +} +/* line 83, ../../app/bower_components/bootstrap-sass/lib/_modals.scss */ +.modal-footer .btn + .btn { + margin-left: 5px; + margin-bottom: 0; +} +/* line 88, ../../app/bower_components/bootstrap-sass/lib/_modals.scss */ +.modal-footer .btn-group .btn + .btn { + margin-left: -1px; +} +/* line 92, ../../app/bower_components/bootstrap-sass/lib/_modals.scss */ +.modal-footer .btn-block + .btn-block { + margin-left: 0; +} + +/* line 7, ../../app/bower_components/bootstrap-sass/lib/_tooltip.scss */ +.tooltip { + position: absolute; + z-index: 1030; + display: block; + visibility: visible; + font-size: 11px; + line-height: 1.4; + opacity: 0; + filter: alpha(opacity=0); +} +/* line 15, ../../app/bower_components/bootstrap-sass/lib/_tooltip.scss */ +.tooltip.in { + opacity: 0.8; + filter: alpha(opacity=80); +} +/* line 16, ../../app/bower_components/bootstrap-sass/lib/_tooltip.scss */ +.tooltip.top { + margin-top: -3px; + padding: 5px 0; +} +/* line 17, ../../app/bower_components/bootstrap-sass/lib/_tooltip.scss */ +.tooltip.right { + margin-left: 3px; + padding: 0 5px; +} +/* line 18, ../../app/bower_components/bootstrap-sass/lib/_tooltip.scss */ +.tooltip.bottom { + margin-top: 3px; + padding: 5px 0; +} +/* line 19, ../../app/bower_components/bootstrap-sass/lib/_tooltip.scss */ +.tooltip.left { + margin-left: -3px; + padding: 0 5px; +} + +/* line 23, ../../app/bower_components/bootstrap-sass/lib/_tooltip.scss */ +.tooltip-inner { + max-width: 200px; + padding: 8px; + color: white; + text-align: center; + text-decoration: none; + background-color: black; + -webkit-border-radius: 4px; + -moz-border-radius: 4px; + border-radius: 4px; +} + +/* line 34, ../../app/bower_components/bootstrap-sass/lib/_tooltip.scss */ +.tooltip-arrow { + position: absolute; + width: 0; + height: 0; + border-color: transparent; + border-style: solid; +} + +/* line 42, ../../app/bower_components/bootstrap-sass/lib/_tooltip.scss */ +.tooltip.top .tooltip-arrow { + bottom: 0; + left: 50%; + margin-left: -5px; + border-width: 5px 5px 0; + border-top-color: black; +} +/* line 49, ../../app/bower_components/bootstrap-sass/lib/_tooltip.scss */ +.tooltip.right .tooltip-arrow { + top: 50%; + left: 0; + margin-top: -5px; + border-width: 5px 5px 5px 0; + border-right-color: black; +} +/* line 56, ../../app/bower_components/bootstrap-sass/lib/_tooltip.scss */ +.tooltip.left .tooltip-arrow { + top: 50%; + right: 0; + margin-top: -5px; + border-width: 5px 0 5px 5px; + border-left-color: black; +} +/* line 63, ../../app/bower_components/bootstrap-sass/lib/_tooltip.scss */ +.tooltip.bottom .tooltip-arrow { + top: 0; + left: 50%; + margin-left: -5px; + border-width: 0 5px 5px; + border-bottom-color: black; +} + +/* line 6, ../../app/bower_components/bootstrap-sass/lib/_popovers.scss */ +.popover { + position: absolute; + top: 0; + left: 0; + z-index: 1010; + display: none; + max-width: 276px; + padding: 1px; + text-align: left; + background-color: white; + -webkit-background-clip: padding-box; + -moz-background-clip: padding; + background-clip: padding-box; + border: 1px solid #ccc; + border: 1px solid rgba(0, 0, 0, 0.2); + -webkit-border-radius: 6px; + -moz-border-radius: 6px; + border-radius: 6px; + -webkit-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2); + -moz-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2); + box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2); + white-space: normal; +} +/* line 28, ../../app/bower_components/bootstrap-sass/lib/_popovers.scss */ +.popover.top { + margin-top: -10px; +} +/* line 29, ../../app/bower_components/bootstrap-sass/lib/_popovers.scss */ +.popover.right { + margin-left: 10px; +} +/* line 30, ../../app/bower_components/bootstrap-sass/lib/_popovers.scss */ +.popover.bottom { + margin-top: 10px; +} +/* line 31, ../../app/bower_components/bootstrap-sass/lib/_popovers.scss */ +.popover.left { + margin-left: -10px; +} + +/* line 34, ../../app/bower_components/bootstrap-sass/lib/_popovers.scss */ +.popover-title { + margin: 0; + padding: 8px 14px; + font-size: 14px; + font-weight: normal; + line-height: 18px; + background-color: #f7f7f7; + border-bottom: 1px solid #ebebeb; + -webkit-border-radius: 5px 5px 0 0; + -moz-border-radius: 5px 5px 0 0; + border-radius: 5px 5px 0 0; +} +/* line 44, ../../app/bower_components/bootstrap-sass/lib/_popovers.scss */ +.popover-title:empty { + display: none; +} + +/* line 49, ../../app/bower_components/bootstrap-sass/lib/_popovers.scss */ +.popover-content { + padding: 9px 14px; +} + +/* line 58, ../../app/bower_components/bootstrap-sass/lib/_popovers.scss */ +.popover .arrow, +.popover .arrow:after { + position: absolute; + display: block; + width: 0; + height: 0; + border-color: transparent; + border-style: solid; +} + +/* line 66, ../../app/bower_components/bootstrap-sass/lib/_popovers.scss */ +.popover .arrow { + border-width: 11px; +} + +/* line 69, ../../app/bower_components/bootstrap-sass/lib/_popovers.scss */ +.popover .arrow:after { + border-width: 10px; + content: ""; +} + +/* line 75, ../../app/bower_components/bootstrap-sass/lib/_popovers.scss */ +.popover.top .arrow { + left: 50%; + margin-left: -11px; + border-bottom-width: 0; + border-top-color: #999; + border-top-color: rgba(0, 0, 0, 0.25); + bottom: -11px; +} +/* line 82, ../../app/bower_components/bootstrap-sass/lib/_popovers.scss */ +.popover.top .arrow:after { + bottom: 1px; + margin-left: -10px; + border-bottom-width: 0; + border-top-color: white; +} +/* line 89, ../../app/bower_components/bootstrap-sass/lib/_popovers.scss */ +.popover.right .arrow { + top: 50%; + left: -11px; + margin-top: -11px; + border-left-width: 0; + border-right-color: #999; + border-right-color: rgba(0, 0, 0, 0.25); +} +/* line 96, ../../app/bower_components/bootstrap-sass/lib/_popovers.scss */ +.popover.right .arrow:after { + left: 1px; + bottom: -10px; + border-left-width: 0; + border-right-color: white; +} +/* line 103, ../../app/bower_components/bootstrap-sass/lib/_popovers.scss */ +.popover.bottom .arrow { + left: 50%; + margin-left: -11px; + border-top-width: 0; + border-bottom-color: #999; + border-bottom-color: rgba(0, 0, 0, 0.25); + top: -11px; +} +/* line 110, ../../app/bower_components/bootstrap-sass/lib/_popovers.scss */ +.popover.bottom .arrow:after { + top: 1px; + margin-left: -10px; + border-top-width: 0; + border-bottom-color: white; +} +/* line 118, ../../app/bower_components/bootstrap-sass/lib/_popovers.scss */ +.popover.left .arrow { + top: 50%; + right: -11px; + margin-top: -11px; + border-right-width: 0; + border-left-color: #999; + border-left-color: rgba(0, 0, 0, 0.25); +} +/* line 125, ../../app/bower_components/bootstrap-sass/lib/_popovers.scss */ +.popover.left .arrow:after { + right: 1px; + border-right-width: 0; + border-left-color: white; + bottom: -10px; +} + +/* line 9, ../../app/bower_components/bootstrap-sass/lib/_thumbnails.scss */ +.thumbnails { + margin-left: -20px; + list-style: none; + *zoom: 1; +} +/* line 15, ../../app/bower_components/bootstrap-sass/lib/_mixins.scss */ +.thumbnails:before, .thumbnails:after { + display: table; + content: ""; + line-height: 0; +} +/* line 22, ../../app/bower_components/bootstrap-sass/lib/_mixins.scss */ +.thumbnails:after { + clear: both; +} + +/* line 15, ../../app/bower_components/bootstrap-sass/lib/_thumbnails.scss */ +.row-fluid .thumbnails { + margin-left: 0; +} + +/* line 20, ../../app/bower_components/bootstrap-sass/lib/_thumbnails.scss */ +.thumbnails > li { + float: left; + margin-bottom: 20px; + margin-left: 20px; +} + +/* line 27, ../../app/bower_components/bootstrap-sass/lib/_thumbnails.scss */ +.thumbnail { + display: block; + padding: 4px; + line-height: 20px; + border: 1px solid #ddd; + -webkit-border-radius: 4px; + -moz-border-radius: 4px; + border-radius: 4px; + -webkit-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.055); + -moz-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.055); + box-shadow: 0 1px 3px rgba(0, 0, 0, 0.055); + -webkit-transition: all 0.2s ease-in-out; + -moz-transition: all 0.2s ease-in-out; + -o-transition: all 0.2s ease-in-out; + transition: all 0.2s ease-in-out; +} + +/* line 38, ../../app/bower_components/bootstrap-sass/lib/_thumbnails.scss */ +a.thumbnail:hover, +a.thumbnail:focus { + border-color: #0088cc; + -webkit-box-shadow: 0 1px 4px rgba(0, 105, 214, 0.25); + -moz-box-shadow: 0 1px 4px rgba(0, 105, 214, 0.25); + box-shadow: 0 1px 4px rgba(0, 105, 214, 0.25); +} + +/* line 44, ../../app/bower_components/bootstrap-sass/lib/_thumbnails.scss */ +.thumbnail > img { + display: block; + max-width: 100%; + margin-left: auto; + margin-right: auto; +} + +/* line 50, ../../app/bower_components/bootstrap-sass/lib/_thumbnails.scss */ +.thumbnail .caption { + padding: 9px; + color: #555555; +} + +/* line 11, ../../app/bower_components/bootstrap-sass/lib/_media.scss */ +.media, +.media-body { + overflow: hidden; + *overflow: visible; + zoom: 1; +} + +/* line 19, ../../app/bower_components/bootstrap-sass/lib/_media.scss */ +.media, +.media .media { + margin-top: 15px; +} + +/* line 22, ../../app/bower_components/bootstrap-sass/lib/_media.scss */ +.media:first-child { + margin-top: 0; +} + +/* line 27, ../../app/bower_components/bootstrap-sass/lib/_media.scss */ +.media-object { + display: block; +} + +/* line 32, ../../app/bower_components/bootstrap-sass/lib/_media.scss */ +.media-heading { + margin: 0 0 5px; +} + +/* line 40, ../../app/bower_components/bootstrap-sass/lib/_media.scss */ +.media > .pull-left { + margin-right: 10px; +} + +/* line 43, ../../app/bower_components/bootstrap-sass/lib/_media.scss */ +.media > .pull-right { + margin-left: 10px; +} + +/* line 52, ../../app/bower_components/bootstrap-sass/lib/_media.scss */ +.media-list { + margin-left: 0; + list-style: none; +} + +/* line 8, ../../app/bower_components/bootstrap-sass/lib/_labels-badges.scss */ +.label, +.badge { + display: inline-block; + padding: 2px 4px; + font-size: 11.844px; + font-weight: bold; + line-height: 14px; + color: white; + vertical-align: baseline; + white-space: nowrap; + text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25); + background-color: #999999; +} + +/* line 21, ../../app/bower_components/bootstrap-sass/lib/_labels-badges.scss */ +.label { + -webkit-border-radius: 3px; + -moz-border-radius: 3px; + border-radius: 3px; +} + +/* line 24, ../../app/bower_components/bootstrap-sass/lib/_labels-badges.scss */ +.badge { + padding-left: 9px; + padding-right: 9px; + -webkit-border-radius: 9px; + -moz-border-radius: 9px; + border-radius: 9px; +} + +/* line 33, ../../app/bower_components/bootstrap-sass/lib/_labels-badges.scss */ +.label:empty, +.badge:empty { + display: none; +} + +/* line 43, ../../app/bower_components/bootstrap-sass/lib/_labels-badges.scss */ +a.label:hover, a.label:focus, a.badge:hover, a.badge:focus { + color: white; + text-decoration: none; + cursor: pointer; +} + +/* line 54, ../../app/bower_components/bootstrap-sass/lib/_labels-badges.scss */ +.label-important { + background-color: #b94a48; +} + +/* line 55, ../../app/bower_components/bootstrap-sass/lib/_labels-badges.scss */ +.label-important[href] { + background-color: #953b39; +} + +/* line 57, ../../app/bower_components/bootstrap-sass/lib/_labels-badges.scss */ +.label-warning { + background-color: #f89406; +} + +/* line 58, ../../app/bower_components/bootstrap-sass/lib/_labels-badges.scss */ +.label-warning[href] { + background-color: #c67605; +} + +/* line 60, ../../app/bower_components/bootstrap-sass/lib/_labels-badges.scss */ +.label-success { + background-color: #468847; +} + +/* line 61, ../../app/bower_components/bootstrap-sass/lib/_labels-badges.scss */ +.label-success[href] { + background-color: #356635; +} + +/* line 63, ../../app/bower_components/bootstrap-sass/lib/_labels-badges.scss */ +.label-info { + background-color: #3a87ad; +} + +/* line 64, ../../app/bower_components/bootstrap-sass/lib/_labels-badges.scss */ +.label-info[href] { + background-color: #2d6987; +} + +/* line 66, ../../app/bower_components/bootstrap-sass/lib/_labels-badges.scss */ +.label-inverse { + background-color: #333333; +} + +/* line 67, ../../app/bower_components/bootstrap-sass/lib/_labels-badges.scss */ +.label-inverse[href] { + background-color: #1a1a1a; +} + +/* line 54, ../../app/bower_components/bootstrap-sass/lib/_labels-badges.scss */ +.badge-important { + background-color: #b94a48; +} + +/* line 55, ../../app/bower_components/bootstrap-sass/lib/_labels-badges.scss */ +.badge-important[href] { + background-color: #953b39; +} + +/* line 57, ../../app/bower_components/bootstrap-sass/lib/_labels-badges.scss */ +.badge-warning { + background-color: #f89406; +} + +/* line 58, ../../app/bower_components/bootstrap-sass/lib/_labels-badges.scss */ +.badge-warning[href] { + background-color: #c67605; +} + +/* line 60, ../../app/bower_components/bootstrap-sass/lib/_labels-badges.scss */ +.badge-success { + background-color: #468847; +} + +/* line 61, ../../app/bower_components/bootstrap-sass/lib/_labels-badges.scss */ +.badge-success[href] { + background-color: #356635; +} + +/* line 63, ../../app/bower_components/bootstrap-sass/lib/_labels-badges.scss */ +.badge-info { + background-color: #3a87ad; +} + +/* line 64, ../../app/bower_components/bootstrap-sass/lib/_labels-badges.scss */ +.badge-info[href] { + background-color: #2d6987; +} + +/* line 66, ../../app/bower_components/bootstrap-sass/lib/_labels-badges.scss */ +.badge-inverse { + background-color: #333333; +} + +/* line 67, ../../app/bower_components/bootstrap-sass/lib/_labels-badges.scss */ +.badge-inverse[href] { + background-color: #1a1a1a; +} + +/* line 73, ../../app/bower_components/bootstrap-sass/lib/_labels-badges.scss */ +.btn .label, +.btn .badge { + position: relative; + top: -1px; +} + +/* line 80, ../../app/bower_components/bootstrap-sass/lib/_labels-badges.scss */ +.btn-mini .label, +.btn-mini .badge { + top: 0; +} + +@-webkit-keyframes progress-bar-stripes { + /* line 11, ../../app/bower_components/bootstrap-sass/lib/_progress-bars.scss */ + from { + background-position: 40px 0; + } + + /* line 12, ../../app/bower_components/bootstrap-sass/lib/_progress-bars.scss */ + to { + background-position: 0 0; + } +} + +@-moz-keyframes progress-bar-stripes { + /* line 17, ../../app/bower_components/bootstrap-sass/lib/_progress-bars.scss */ + from { + background-position: 40px 0; + } + + /* line 18, ../../app/bower_components/bootstrap-sass/lib/_progress-bars.scss */ + to { + background-position: 0 0; + } +} + +@-ms-keyframes progress-bar-stripes { + /* line 23, ../../app/bower_components/bootstrap-sass/lib/_progress-bars.scss */ + from { + background-position: 40px 0; + } + + /* line 24, ../../app/bower_components/bootstrap-sass/lib/_progress-bars.scss */ + to { + background-position: 0 0; + } +} + +@-o-keyframes progress-bar-stripes { + /* line 29, ../../app/bower_components/bootstrap-sass/lib/_progress-bars.scss */ + from { + background-position: 0 0; + } + + /* line 30, ../../app/bower_components/bootstrap-sass/lib/_progress-bars.scss */ + to { + background-position: 40px 0; + } +} + +@keyframes progress-bar-stripes { + /* line 35, ../../app/bower_components/bootstrap-sass/lib/_progress-bars.scss */ + from { + background-position: 40px 0; + } + + /* line 36, ../../app/bower_components/bootstrap-sass/lib/_progress-bars.scss */ + to { + background-position: 0 0; + } +} + +/* line 45, ../../app/bower_components/bootstrap-sass/lib/_progress-bars.scss */ +.progress { + overflow: hidden; + height: 20px; + margin-bottom: 20px; + background-color: #f6f6f6; + background-image: -moz-linear-gradient(top, whitesmoke, #f9f9f9); + background-image: -webkit-gradient(linear, 0 0, 0 100%, from(whitesmoke), to(#f9f9f9)); + background-image: -webkit-linear-gradient(top, whitesmoke, #f9f9f9); + background-image: -o-linear-gradient(top, whitesmoke, #f9f9f9); + background-image: linear-gradient(to bottom, #f5f5f5, #f9f9f9); + background-repeat: repeat-x; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFF5F5F5', endColorstr='#FFF9F9F9', GradientType=0); + -webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1); + -moz-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1); + box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1); + -webkit-border-radius: 4px; + -moz-border-radius: 4px; + border-radius: 4px; +} + +/* line 55, ../../app/bower_components/bootstrap-sass/lib/_progress-bars.scss */ +.progress .bar { + width: 0%; + height: 100%; + color: white; + float: left; + font-size: 12px; + text-align: center; + text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25); + background-color: #0d90d1; + background-image: -moz-linear-gradient(top, #149bdf, #0480be); + background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#149bdf), to(#0480be)); + background-image: -webkit-linear-gradient(top, #149bdf, #0480be); + background-image: -o-linear-gradient(top, #149bdf, #0480be); + background-image: linear-gradient(to bottom, #149bdf, #0480be); + background-repeat: repeat-x; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#FF149BDF', endColorstr='#FF0480BE', GradientType=0); + -webkit-box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15); + -moz-box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15); + box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15); + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; + -webkit-transition: width 0.6s ease; + -moz-transition: width 0.6s ease; + -o-transition: width 0.6s ease; + transition: width 0.6s ease; +} + +/* line 68, ../../app/bower_components/bootstrap-sass/lib/_progress-bars.scss */ +.progress .bar + .bar { + -webkit-box-shadow: inset 1px 0 0 rgba(0, 0, 0, 0.15), inset 0 -1px 0 rgba(0, 0, 0, 0.15); + -moz-box-shadow: inset 1px 0 0 rgba(0, 0, 0, 0.15), inset 0 -1px 0 rgba(0, 0, 0, 0.15); + box-shadow: inset 1px 0 0 rgba(0, 0, 0, 0.15), inset 0 -1px 0 rgba(0, 0, 0, 0.15); +} + +/* line 73, ../../app/bower_components/bootstrap-sass/lib/_progress-bars.scss */ +.progress-striped .bar { + background-color: #149bdf; + background-image: -webkit-gradient(linear, 0 100%, 100% 0, color-stop(0.25, rgba(255, 255, 255, 0.15)), color-stop(0.25, transparent), color-stop(0.5, transparent), color-stop(0.5, rgba(255, 255, 255, 0.15)), color-stop(0.75, rgba(255, 255, 255, 0.15)), color-stop(0.75, transparent), to(transparent)); + background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-image: -moz-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + -webkit-background-size: 40px 40px; + -moz-background-size: 40px 40px; + -o-background-size: 40px 40px; + background-size: 40px 40px; +} + +/* line 79, ../../app/bower_components/bootstrap-sass/lib/_progress-bars.scss */ +.progress.active .bar { + -webkit-animation: progress-bar-stripes 2s linear infinite; + -moz-animation: progress-bar-stripes 2s linear infinite; + -ms-animation: progress-bar-stripes 2s linear infinite; + -o-animation: progress-bar-stripes 2s linear infinite; + animation: progress-bar-stripes 2s linear infinite; +} + +/* line 93, ../../app/bower_components/bootstrap-sass/lib/_progress-bars.scss */ +.progress-danger .bar, .progress .bar-danger { + background-color: #dd514b; + background-image: -moz-linear-gradient(top, #ee5f5b, #c43c35); + background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#ee5f5b), to(#c43c35)); + background-image: -webkit-linear-gradient(top, #ee5f5b, #c43c35); + background-image: -o-linear-gradient(top, #ee5f5b, #c43c35); + background-image: linear-gradient(to bottom, #ee5f5b, #c43c35); + background-repeat: repeat-x; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFEE5F5B', endColorstr='#FFC43C35', GradientType=0); +} + +/* line 96, ../../app/bower_components/bootstrap-sass/lib/_progress-bars.scss */ +.progress-danger.progress-striped .bar, .progress-striped .bar-danger { + background-color: #ee5f5b; + background-image: -webkit-gradient(linear, 0 100%, 100% 0, color-stop(0.25, rgba(255, 255, 255, 0.15)), color-stop(0.25, transparent), color-stop(0.5, transparent), color-stop(0.5, rgba(255, 255, 255, 0.15)), color-stop(0.75, rgba(255, 255, 255, 0.15)), color-stop(0.75, transparent), to(transparent)); + background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-image: -moz-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); +} + +/* line 101, ../../app/bower_components/bootstrap-sass/lib/_progress-bars.scss */ +.progress-success .bar, .progress .bar-success { + background-color: #5db95d; + background-image: -moz-linear-gradient(top, #62c462, #57a957); + background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#62c462), to(#57a957)); + background-image: -webkit-linear-gradient(top, #62c462, #57a957); + background-image: -o-linear-gradient(top, #62c462, #57a957); + background-image: linear-gradient(to bottom, #62c462, #57a957); + background-repeat: repeat-x; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#FF62C462', endColorstr='#FF57A957', GradientType=0); +} + +/* line 104, ../../app/bower_components/bootstrap-sass/lib/_progress-bars.scss */ +.progress-success.progress-striped .bar, .progress-striped .bar-success { + background-color: #62c462; + background-image: -webkit-gradient(linear, 0 100%, 100% 0, color-stop(0.25, rgba(255, 255, 255, 0.15)), color-stop(0.25, transparent), color-stop(0.5, transparent), color-stop(0.5, rgba(255, 255, 255, 0.15)), color-stop(0.75, rgba(255, 255, 255, 0.15)), color-stop(0.75, transparent), to(transparent)); + background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-image: -moz-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); +} + +/* line 109, ../../app/bower_components/bootstrap-sass/lib/_progress-bars.scss */ +.progress-info .bar, .progress .bar-info { + background-color: #4bb1cf; + background-image: -moz-linear-gradient(top, #5bc0de, #339bb9); + background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#5bc0de), to(#339bb9)); + background-image: -webkit-linear-gradient(top, #5bc0de, #339bb9); + background-image: -o-linear-gradient(top, #5bc0de, #339bb9); + background-image: linear-gradient(to bottom, #5bc0de, #339bb9); + background-repeat: repeat-x; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#FF5BC0DE', endColorstr='#FF339BB9', GradientType=0); +} + +/* line 112, ../../app/bower_components/bootstrap-sass/lib/_progress-bars.scss */ +.progress-info.progress-striped .bar, .progress-striped .bar-info { + background-color: #5bc0de; + background-image: -webkit-gradient(linear, 0 100%, 100% 0, color-stop(0.25, rgba(255, 255, 255, 0.15)), color-stop(0.25, transparent), color-stop(0.5, transparent), color-stop(0.5, rgba(255, 255, 255, 0.15)), color-stop(0.75, rgba(255, 255, 255, 0.15)), color-stop(0.75, transparent), to(transparent)); + background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-image: -moz-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); +} + +/* line 117, ../../app/bower_components/bootstrap-sass/lib/_progress-bars.scss */ +.progress-warning .bar, .progress .bar-warning { + background-color: #f9a732; + background-image: -moz-linear-gradient(top, #fbb450, #f89406); + background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#fbb450), to(#f89406)); + background-image: -webkit-linear-gradient(top, #fbb450, #f89406); + background-image: -o-linear-gradient(top, #fbb450, #f89406); + background-image: linear-gradient(to bottom, #fbb450, #f89406); + background-repeat: repeat-x; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFFBB450', endColorstr='#FFF89406', GradientType=0); +} + +/* line 120, ../../app/bower_components/bootstrap-sass/lib/_progress-bars.scss */ +.progress-warning.progress-striped .bar, .progress-striped .bar-warning { + background-color: #fbb450; + background-image: -webkit-gradient(linear, 0 100%, 100% 0, color-stop(0.25, rgba(255, 255, 255, 0.15)), color-stop(0.25, transparent), color-stop(0.5, transparent), color-stop(0.5, rgba(255, 255, 255, 0.15)), color-stop(0.75, rgba(255, 255, 255, 0.15)), color-stop(0.75, transparent), to(transparent)); + background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-image: -moz-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); +} + +/* line 7, ../../app/bower_components/bootstrap-sass/lib/_accordion.scss */ +.accordion { + margin-bottom: 20px; +} + +/* line 12, ../../app/bower_components/bootstrap-sass/lib/_accordion.scss */ +.accordion-group { + margin-bottom: 2px; + border: 1px solid #e5e5e5; + -webkit-border-radius: 4px; + -moz-border-radius: 4px; + border-radius: 4px; +} + +/* line 17, ../../app/bower_components/bootstrap-sass/lib/_accordion.scss */ +.accordion-heading { + border-bottom: 0; +} + +/* line 20, ../../app/bower_components/bootstrap-sass/lib/_accordion.scss */ +.accordion-heading .accordion-toggle { + display: block; + padding: 8px 15px; +} + +/* line 26, ../../app/bower_components/bootstrap-sass/lib/_accordion.scss */ +.accordion-toggle { + cursor: pointer; +} + +/* line 31, ../../app/bower_components/bootstrap-sass/lib/_accordion.scss */ +.accordion-inner { + padding: 9px 15px; + border-top: 1px solid #e5e5e5; +} + +/* line 6, ../../app/bower_components/bootstrap-sass/lib/_carousel.scss */ +.carousel { + position: relative; + margin-bottom: 20px; + line-height: 1; +} + +/* line 12, ../../app/bower_components/bootstrap-sass/lib/_carousel.scss */ +.carousel-inner { + overflow: hidden; + width: 100%; + position: relative; +} + +/* line 20, ../../app/bower_components/bootstrap-sass/lib/_carousel.scss */ +.carousel-inner > .item { + display: none; + position: relative; + -webkit-transition: 0.6s ease-in-out left; + -moz-transition: 0.6s ease-in-out left; + -o-transition: 0.6s ease-in-out left; + transition: 0.6s ease-in-out left; +} +/* line 27, ../../app/bower_components/bootstrap-sass/lib/_carousel.scss */ +.carousel-inner > .item > img, +.carousel-inner > .item > a > img { + display: block; + line-height: 1; +} +/* line 35, ../../app/bower_components/bootstrap-sass/lib/_carousel.scss */ +.carousel-inner > .active, +.carousel-inner > .next, +.carousel-inner > .prev { + display: block; +} +/* line 37, ../../app/bower_components/bootstrap-sass/lib/_carousel.scss */ +.carousel-inner > .active { + left: 0; +} +/* line 42, ../../app/bower_components/bootstrap-sass/lib/_carousel.scss */ +.carousel-inner > .next, +.carousel-inner > .prev { + position: absolute; + top: 0; + width: 100%; +} +/* line 48, ../../app/bower_components/bootstrap-sass/lib/_carousel.scss */ +.carousel-inner > .next { + left: 100%; +} +/* line 51, ../../app/bower_components/bootstrap-sass/lib/_carousel.scss */ +.carousel-inner > .prev { + left: -100%; +} +/* line 55, ../../app/bower_components/bootstrap-sass/lib/_carousel.scss */ +.carousel-inner > .next.left, +.carousel-inner > .prev.right { + left: 0; +} +/* line 59, ../../app/bower_components/bootstrap-sass/lib/_carousel.scss */ +.carousel-inner > .active.left { + left: -100%; +} +/* line 62, ../../app/bower_components/bootstrap-sass/lib/_carousel.scss */ +.carousel-inner > .active.right { + left: 100%; +} + +/* line 71, ../../app/bower_components/bootstrap-sass/lib/_carousel.scss */ +.carousel-control { + position: absolute; + top: 40%; + left: 15px; + width: 40px; + height: 40px; + margin-top: -20px; + font-size: 60px; + font-weight: 100; + line-height: 30px; + color: white; + text-align: center; + background: #222222; + border: 3px solid white; + -webkit-border-radius: 23px; + -moz-border-radius: 23px; + border-radius: 23px; + opacity: 0.5; + filter: alpha(opacity=50); +} +/* line 96, ../../app/bower_components/bootstrap-sass/lib/_carousel.scss */ +.carousel-control.right { + left: auto; + right: 15px; +} +/* line 103, ../../app/bower_components/bootstrap-sass/lib/_carousel.scss */ +.carousel-control:hover, .carousel-control:focus { + color: white; + text-decoration: none; + opacity: 0.9; + filter: alpha(opacity=90); +} + +/* line 112, ../../app/bower_components/bootstrap-sass/lib/_carousel.scss */ +.carousel-indicators { + position: absolute; + top: 15px; + right: 15px; + z-index: 5; + margin: 0; + list-style: none; +} +/* line 120, ../../app/bower_components/bootstrap-sass/lib/_carousel.scss */ +.carousel-indicators li { + display: block; + float: left; + width: 10px; + height: 10px; + margin-left: 5px; + text-indent: -999px; + background-color: #ccc; + background-color: rgba(255, 255, 255, 0.25); + border-radius: 5px; +} +/* line 131, ../../app/bower_components/bootstrap-sass/lib/_carousel.scss */ +.carousel-indicators .active { + background-color: #fff; +} + +/* line 139, ../../app/bower_components/bootstrap-sass/lib/_carousel.scss */ +.carousel-caption { + position: absolute; + left: 0; + right: 0; + bottom: 0; + padding: 15px; + background: #333333; + background: rgba(0, 0, 0, 0.75); +} + +/* line 149, ../../app/bower_components/bootstrap-sass/lib/_carousel.scss */ +.carousel-caption h4, +.carousel-caption p { + color: white; + line-height: 20px; +} + +/* line 153, ../../app/bower_components/bootstrap-sass/lib/_carousel.scss */ +.carousel-caption h4 { + margin: 0 0 5px; +} + +/* line 156, ../../app/bower_components/bootstrap-sass/lib/_carousel.scss */ +.carousel-caption p { + margin-bottom: 0; +} + +/* line 6, ../../app/bower_components/bootstrap-sass/lib/_hero-unit.scss */ +.hero-unit { + padding: 60px; + margin-bottom: 30px; + font-size: 18px; + font-weight: 200; + line-height: 30px; + color: inherit; + background-color: #eeeeee; + -webkit-border-radius: 6px; + -moz-border-radius: 6px; + border-radius: 6px; +} +/* line 15, ../../app/bower_components/bootstrap-sass/lib/_hero-unit.scss */ +.hero-unit h1 { + margin-bottom: 0; + font-size: 60px; + line-height: 1; + color: inherit; + letter-spacing: -1px; +} +/* line 22, ../../app/bower_components/bootstrap-sass/lib/_hero-unit.scss */ +.hero-unit li { + line-height: 30px; +} + +/* line 7, ../../app/bower_components/bootstrap-sass/lib/_utilities.scss */ +.pull-right { + float: right; +} + +/* line 10, ../../app/bower_components/bootstrap-sass/lib/_utilities.scss */ +.pull-left { + float: left; +} + +/* line 15, ../../app/bower_components/bootstrap-sass/lib/_utilities.scss */ +.hide { + display: none; +} + +/* line 18, ../../app/bower_components/bootstrap-sass/lib/_utilities.scss */ +.show { + display: block; +} + +/* line 23, ../../app/bower_components/bootstrap-sass/lib/_utilities.scss */ +.invisible { + visibility: hidden; +} + +/* line 28, ../../app/bower_components/bootstrap-sass/lib/_utilities.scss */ +.affix { + position: fixed; +} + +/* line 33, ../../app/bower_components/bootstrap-sass/lib/_utilities.scss */ +.clearfix { + *zoom: 1; +} +/* line 15, ../../app/bower_components/bootstrap-sass/lib/_mixins.scss */ +.clearfix:before, .clearfix:after { + display: table; + content: ""; + line-height: 0; +} +/* line 22, ../../app/bower_components/bootstrap-sass/lib/_mixins.scss */ +.clearfix:after { + clear: both; +} + +/* line 38, ../../app/bower_components/bootstrap-sass/lib/_utilities.scss */ +.hide-text { + font: 0/0 a; + color: transparent; + text-shadow: none; + background-color: transparent; + border: 0; +} + +/* line 43, ../../app/bower_components/bootstrap-sass/lib/_utilities.scss */ +.input-block-level { + display: block; + width: 100%; + min-height: 30px; + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; +} + +/* Put your CSS here */ +/* line 8, ../../app/styles/main.scss */ +* { + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; +} + +/* line 12, ../../app/styles/main.scss */ +html, body { + margin: 20px; +} + +/* line 16, ../../app/styles/main.scss */ +body { + background: #fafafa; + font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; + color: #333; +} + +/* line 22, ../../app/styles/main.scss */ +input.input-field { + height: 40px; + line-height: 30px; + text-align: left; +} + +/* line 28, ../../app/styles/main.scss */ +.input-field.ng-invalid:focus { + color: #b94a48; + border-color: #ee5f5b; +} +/* line 31, ../../app/styles/main.scss */ +.input-field.ng-invalid:focus:focus { + border-color: #e9322d; + -webkit-box-shadow: 0 0 6px #f8b9b7; + -moz-box-shadow: 0 0 6px #f8b9b7; + box-shadow: 0 0 6px #f8b9b7; +} + +/* line 37, ../../app/styles/main.scss */ +.hero-unit { + margin: 50px auto 0 auto; + width: 300px; + font-size: 18px; + font-weight: 200; + line-height: 30px; + background-color: #eee; + border-radius: 6px; + padding: 60px; +} + +/* line 48, ../../app/styles/main.scss */ +.hero-unit h1 { + font-size: 60px; + line-height: 1; + letter-spacing: -1px; +} + +/* line 56, ../../app/styles/main.scss */ +.ddupload { + position: relative; + overflow: hidden; +} +/* line 59, ../../app/styles/main.scss */ +.ddupload input[type="file"] { + position: absolute; + left: -500px; + top: -50px; +} + +/* line 66, ../../app/styles/main.scss */ +.dropbox { + border: 2px solid #DDD; + padding: 5px; + -webkit-border-radius: 8px; + -moz-border-radius: 8px; + border-radius: 8px; + background-color: #FEFFEC; + cursor: pointer; +} +/* line 73, ../../app/styles/main.scss */ +.dropbox.dropbox-not-available { + background-color: #F88; +} +/* line 77, ../../app/styles/main.scss */ +.dropbox.dropbox-over { + background-color: #bfb; +} +/* line 81, ../../app/styles/main.scss */ +.dropbox img { + display: block; + margin: 0 auto; +} + +/* line 87, ../../app/styles/main.scss */ +.dropbox-text { + display: block; + text-align: center; + color: #BBB; + font-size: 2em; + font-family: Helvetica, sans-serif; + line-height: 50px; +} + +/* line 96, ../../app/styles/main.scss */ +.modal-body { + height: 500px; +} diff --git a/admin/app/styles/main.scss b/admin/app/styles/main.scss new file mode 100644 index 0000000..e8160f9 --- /dev/null +++ b/admin/app/styles/main.scss @@ -0,0 +1,98 @@ +$iconSpritePath: "../images/glyphicons-halflings.png"; +$iconWhiteSpritePath: "../images/glyphicons-halflings-white.png"; + +@import "bootstrap-sass/lib/bootstrap"; + +/* Put your CSS here */ + +* { + @include box-sizing(border-box) +} + +html, body { + margin: 20px; +} + +body { + background: #fafafa; + font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; + color: #333; +} + +input.input-field { + height: 40px; + line-height: 30px; + text-align: left; +} + +.input-field.ng-invalid:focus { + color: #b94a48; + border-color: #ee5f5b; + &:focus { + border-color: darken(#ee5f5b, 10%); + @include box-shadow(0 0 6px lighten(#ee5f5b, 20%)); + } +} + +.hero-unit { + margin: 50px auto 0 auto; + width: 300px; + font-size: 18px; + font-weight: 200; + line-height: 30px; + background-color: #eee; + border-radius: 6px; + padding: 60px; +} + +.hero-unit h1 { + font-size: 60px; + line-height: 1; + letter-spacing: -1px; +} + + + +.ddupload { + position: relative; + overflow: hidden; + input[type="file"] { + position: absolute; + left: -500px; + top: -50px; + } +} + +.dropbox { + border: 2px solid #DDD; + padding: 5px; + @include border-radius(8px); + background-color: #FEFFEC; + cursor: pointer; + + &.dropbox-not-available { + background-color: #F88; + } + + &.dropbox-over { + background-color: #bfb; + } + + img { + display: block; + margin: 0 auto; + } +} + +.dropbox-text { + display: block; + text-align: center; + color: #BBB; + font-size: 2em; + font-family: Helvetica, sans-serif; + line-height: 50px; +} + +.modal-body { + height: 500px; +} diff --git a/admin/app/views/books.html b/admin/app/views/books.html new file mode 100644 index 0000000..147b343 --- /dev/null +++ b/admin/app/views/books.html @@ -0,0 +1,96 @@ +
+

Zoznam kníh

+ + + + + + + + + + + + + + + + + + + + + + + +
ObalNázovAutorVydavateľRokMnožstvo
+ + {{book.title}}{{book.author}}{{book.publisher}}{{book.year}}{{book.quantity}}
+
+ +
+

Nová kniha

+
+
+ +
+ +
+ +
+ +
+ +
+
+ +
+ +
+ +
+
+ +
+ +
+ +
+
+ +
+ +
+ +
+
+ +
+ +
+ +
+
+ +
+ +
+ +
+
+ +
+ +
+ +
+
+ +
+
+ +
+
+
+
+
diff --git a/admin/app/views/books/bookId.html b/admin/app/views/books/bookId.html new file mode 100644 index 0000000..eb681d0 --- /dev/null +++ b/admin/app/views/books/bookId.html @@ -0,0 +1,39 @@ +cover + +

{{book.title}}

+

{{book.author}}

+

{{book.publisher}}

+

{{book.year}}

+

ISBN-13: {{book.isbn.isbn13}}

+

ISBN-10: {{book.isbn.isbn10}}

+ +

Výtlačky

+ + + + +
+ + + +
diff --git a/admin/app/views/main.html b/admin/app/views/main.html new file mode 100644 index 0000000..dd517a8 --- /dev/null +++ b/admin/app/views/main.html @@ -0,0 +1,9 @@ +
+

'Allo, 'Allo!

+

You now have

+ +

installed.

+

Enjoy coding! - Yeoman

+
diff --git a/admin/app/views/rents.html b/admin/app/views/rents.html new file mode 100644 index 0000000..aec3384 --- /dev/null +++ b/admin/app/views/rents.html @@ -0,0 +1,31 @@ +
+

Zoznam požičaní

+ + + + + + + + + + + + + + + + + + + + + + + + + +
ObalNázovAutorPoužívateľOdDoVrátené
+ + {{rent.book.title}}{{rent.book.author}}{{rent.user.name}}{{rent.rent.startDate | date}}{{rent.rent.endDate | date}}{{rent.rent.returnDate | date}}
+
diff --git a/admin/app/views/rents/rentId.html b/admin/app/views/rents/rentId.html new file mode 100644 index 0000000..dcdbe42 --- /dev/null +++ b/admin/app/views/rents/rentId.html @@ -0,0 +1,14 @@ +

+ +

+ +

{{rent.book.title}}

+

{{rent.book.author}}

+

{{rent.user.name}}

+

{{rent.rent.startDate | date}}

+

{{rent.rent.endDate | date}}

+

{{rent.rent.returnDate | date}}

+ +

+ +

diff --git a/admin/app/views/users.html b/admin/app/views/users.html new file mode 100644 index 0000000..817a99c --- /dev/null +++ b/admin/app/views/users.html @@ -0,0 +1,75 @@ +
+

Zoznam používateľov

+ + + + + + + + + + + + + + + + + + + +
FotoE-mailMenoTel. Číslo
{{user.email}}{{user.name}}{{user.phone}} + +
+
+ +
+

Nový používateľ

+
+
+ +
+ +
+ +
+
+ +
+ +
+ +
+
+ +
+ +
+ +
+
+ +
+ +
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+
+
+
diff --git a/admin/app/views/users/userId.html b/admin/app/views/users/userId.html new file mode 100644 index 0000000..898466e --- /dev/null +++ b/admin/app/views/users/userId.html @@ -0,0 +1,54 @@ + +
+

Používateľ

+
+
+ +
+ +
+ +
+ +
+ +
+
+ +
+ +
+ +
+
+ +
+ +
+ +
+
+ +
+ +
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+
+
+
diff --git a/admin/bower.json b/admin/bower.json new file mode 100644 index 0000000..7a2dab5 --- /dev/null +++ b/admin/bower.json @@ -0,0 +1,20 @@ +{ + "name": "admin", + "version": "0.0.0", + "dependencies": { + "angular": "~1.0.7", + "json3": "~3.2.4", + "jquery": "~1.9.1", + "bootstrap-sass": "~2.3.1", + "es5-shim": "~2.0.8", + "angular-resource": "~1.0.7", + "angular-cookies": "~1.0.7", + "angular-sanitize": "~1.0.7", + "angular-ui-bootstrap-bower": "*", + "angular-isbn": "*" + }, + "devDependencies": { + "angular-mocks": "~1.0.7", + "angular-scenario": "~1.0.7" + } +} diff --git a/admin/karma-e2e.conf.js b/admin/karma-e2e.conf.js new file mode 100644 index 0000000..15c869e --- /dev/null +++ b/admin/karma-e2e.conf.js @@ -0,0 +1,58 @@ +// Karma E2E configuration + +// base path, that will be used to resolve files and exclude +basePath = ''; + +// list of files / patterns to load in the browser +files = [ + ANGULAR_SCENARIO, + ANGULAR_SCENARIO_ADAPTER, + 'test/e2e/**/*.js' +]; + +// list of files to exclude +exclude = []; + +// test results reporter to use +// possible values: dots || progress || growl +reporters = ['progress']; + +// web server port +port = 8080; + +// cli runner port +runnerPort = 9100; + +// enable / disable colors in the output (reporters and logs) +colors = true; + +// level of logging +// possible values: LOG_DISABLE || LOG_ERROR || LOG_WARN || LOG_INFO || LOG_DEBUG +logLevel = LOG_INFO; + +// enable / disable watching file and executing tests whenever any file changes +autoWatch = false; + +// Start these browsers, currently available: +// - Chrome +// - ChromeCanary +// - Firefox +// - Opera +// - Safari (only Mac) +// - PhantomJS +// - IE (only Windows) +browsers = ['Chrome']; + +// If browser does not capture in given timeout [ms], kill it +captureTimeout = 5000; + +// Continuous Integration mode +// if true, it capture browsers, run tests and exit +singleRun = false; + +// Uncomment the following lines if you are using grunt's server to run the tests +// proxies = { +// '/': 'http://localhost:9000/' +// }; +// URL root prevent conflicts with the site root +// urlRoot = '_karma_'; diff --git a/admin/karma.conf.js b/admin/karma.conf.js new file mode 100644 index 0000000..2d6194b --- /dev/null +++ b/admin/karma.conf.js @@ -0,0 +1,56 @@ +// Karma configuration + +// base path, that will be used to resolve files and exclude +basePath = ''; + +// list of files / patterns to load in the browser +files = [ + JASMINE, + JASMINE_ADAPTER, + 'app/bower_components/angular/angular.js', + 'app/bower_components/angular-mocks/angular-mocks.js', + 'app/scripts/*.js', + 'app/scripts/**/*.js', + 'test/mock/**/*.js', + 'test/spec/**/*.js' +]; + +// list of files to exclude +exclude = []; + +// test results reporter to use +// possible values: dots || progress || growl +reporters = ['progress']; + +// web server port +port = 8080; + +// cli runner port +runnerPort = 9100; + +// enable / disable colors in the output (reporters and logs) +colors = true; + +// level of logging +// possible values: LOG_DISABLE || LOG_ERROR || LOG_WARN || LOG_INFO || LOG_DEBUG +logLevel = LOG_INFO; + +// enable / disable watching file and executing tests whenever any file changes +autoWatch = false; + +// Start these browsers, currently available: +// - Chrome +// - ChromeCanary +// - Firefox +// - Opera +// - Safari (only Mac) +// - PhantomJS +// - IE (only Windows) +browsers = ['Chrome']; + +// If browser does not capture in given timeout [ms], kill it +captureTimeout = 5000; + +// Continuous Integration mode +// if true, it capture browsers, run tests and exit +singleRun = false; diff --git a/admin/package.json b/admin/package.json new file mode 100644 index 0000000..4319e45 --- /dev/null +++ b/admin/package.json @@ -0,0 +1,36 @@ +{ + "name": "admin", + "version": "0.0.0", + "dependencies": {}, + "devDependencies": { + "grunt": "~0.4.1", + "grunt-contrib-copy": "~0.4.1", + "grunt-contrib-concat": "~0.3.0", + "grunt-contrib-coffee": "~0.7.0", + "grunt-contrib-uglify": "~0.2.0", + "grunt-contrib-compass": "~0.3.0", + "grunt-contrib-jshint": "~0.6.0", + "grunt-contrib-cssmin": "~0.6.0", + "grunt-contrib-connect": "~0.3.0", + "grunt-contrib-clean": "~0.4.1", + "grunt-contrib-htmlmin": "~0.1.3", + "grunt-contrib-imagemin": "~0.1.4", + "grunt-contrib-watch": "~0.4.0", + "grunt-usemin": "~0.1.11", + "grunt-svgmin": "~0.2.0", + "grunt-rev": "~0.1.0", + "grunt-karma": "~0.4.3", + "grunt-open": "~0.2.0", + "grunt-concurrent": "~0.3.0", + "matchdep": "~0.1.2", + "connect-livereload": "~0.2.0", + "grunt-google-cdn": "~0.2.0", + "grunt-ngmin": "~0.0.2" + }, + "engines": { + "node": ">=0.8.0" + }, + "scripts": { + "test": "grunt test" + } +} \ No newline at end of file diff --git a/admin/test/.jshintrc b/admin/test/.jshintrc new file mode 100644 index 0000000..aa37e7a --- /dev/null +++ b/admin/test/.jshintrc @@ -0,0 +1,35 @@ +{ + "node": true, + "browser": true, + "esnext": true, + "bitwise": true, + "camelcase": true, + "curly": true, + "eqeqeq": true, + "immed": true, + "indent": 2, + "latedef": true, + "newcap": true, + "noarg": true, + "quotmark": "single", + "regexp": true, + "undef": true, + "unused": true, + "strict": true, + "trailing": true, + "smarttabs": true, + "globals": { + "after": false, + "afterEach": false, + "angular": false, + "before": false, + "beforeEach": false, + "browser": false, + "describe": false, + "expect": false, + "inject": false, + "it": false, + "spyOn": false + } +} + diff --git a/admin/test/runner.html b/admin/test/runner.html new file mode 100644 index 0000000..f4a00a1 --- /dev/null +++ b/admin/test/runner.html @@ -0,0 +1,10 @@ + + + + End2end Test Runner + + + + + + \ No newline at end of file diff --git a/admin/test/spec/controllers/books.js b/admin/test/spec/controllers/books.js new file mode 100644 index 0000000..a8a4cff --- /dev/null +++ b/admin/test/spec/controllers/books.js @@ -0,0 +1,22 @@ +'use strict'; + +describe('Controller: BooksCtrl', function () { + + // load the controller's module + beforeEach(module('adminApp')); + + var BooksCtrl, + scope; + + // Initialize the controller and a mock scope + beforeEach(inject(function ($controller, $rootScope) { + scope = $rootScope.$new(); + BooksCtrl = $controller('BooksCtrl', { + $scope: scope + }); + })); + + it('should attach a list of awesomeThings to the scope', function () { + expect(scope.awesomeThings.length).toBe(3); + }); +}); diff --git a/admin/test/spec/controllers/books/bookId.js b/admin/test/spec/controllers/books/bookId.js new file mode 100644 index 0000000..6ec40ad --- /dev/null +++ b/admin/test/spec/controllers/books/bookId.js @@ -0,0 +1,22 @@ +'use strict'; + +describe('Controller: BooksBookidCtrl', function () { + + // load the controller's module + beforeEach(module('adminApp')); + + var BooksBookidCtrl, + scope; + + // Initialize the controller and a mock scope + beforeEach(inject(function ($controller, $rootScope) { + scope = $rootScope.$new(); + BooksBookidCtrl = $controller('BooksBookidCtrl', { + $scope: scope + }); + })); + + it('should attach a list of awesomeThings to the scope', function () { + expect(scope.awesomeThings.length).toBe(3); + }); +}); diff --git a/admin/test/spec/controllers/main.js b/admin/test/spec/controllers/main.js new file mode 100644 index 0000000..683749d --- /dev/null +++ b/admin/test/spec/controllers/main.js @@ -0,0 +1,22 @@ +'use strict'; + +describe('Controller: MainCtrl', function () { + + // load the controller's module + beforeEach(module('adminApp')); + + var MainCtrl, + scope; + + // Initialize the controller and a mock scope + beforeEach(inject(function ($controller, $rootScope) { + scope = $rootScope.$new(); + MainCtrl = $controller('MainCtrl', { + $scope: scope + }); + })); + + it('should attach a list of awesomeThings to the scope', function () { + expect(scope.awesomeThings.length).toBe(3); + }); +}); diff --git a/admin/test/spec/controllers/rents.js b/admin/test/spec/controllers/rents.js new file mode 100644 index 0000000..278dda6 --- /dev/null +++ b/admin/test/spec/controllers/rents.js @@ -0,0 +1,22 @@ +'use strict'; + +describe('Controller: RentsCtrl', function () { + + // load the controller's module + beforeEach(module('adminApp')); + + var RentsCtrl, + scope; + + // Initialize the controller and a mock scope + beforeEach(inject(function ($controller, $rootScope) { + scope = $rootScope.$new(); + RentsCtrl = $controller('RentsCtrl', { + $scope: scope + }); + })); + + it('should attach a list of awesomeThings to the scope', function () { + expect(scope.awesomeThings.length).toBe(3); + }); +}); diff --git a/admin/test/spec/controllers/rents/rentId.js b/admin/test/spec/controllers/rents/rentId.js new file mode 100644 index 0000000..a49ba63 --- /dev/null +++ b/admin/test/spec/controllers/rents/rentId.js @@ -0,0 +1,22 @@ +'use strict'; + +describe('Controller: RentsRentidCtrl', function () { + + // load the controller's module + beforeEach(module('adminApp')); + + var RentsRentidCtrl, + scope; + + // Initialize the controller and a mock scope + beforeEach(inject(function ($controller, $rootScope) { + scope = $rootScope.$new(); + RentsRentidCtrl = $controller('RentsRentidCtrl', { + $scope: scope + }); + })); + + it('should attach a list of awesomeThings to the scope', function () { + expect(scope.awesomeThings.length).toBe(3); + }); +}); diff --git a/admin/test/spec/controllers/users.js b/admin/test/spec/controllers/users.js new file mode 100644 index 0000000..0407604 --- /dev/null +++ b/admin/test/spec/controllers/users.js @@ -0,0 +1,22 @@ +'use strict'; + +describe('Controller: UsersCtrl', function () { + + // load the controller's module + beforeEach(module('adminApp')); + + var UsersCtrl, + scope; + + // Initialize the controller and a mock scope + beforeEach(inject(function ($controller, $rootScope) { + scope = $rootScope.$new(); + UsersCtrl = $controller('UsersCtrl', { + $scope: scope + }); + })); + + it('should attach a list of awesomeThings to the scope', function () { + expect(scope.awesomeThings.length).toBe(3); + }); +}); diff --git a/admin/test/spec/controllers/users/userId.js b/admin/test/spec/controllers/users/userId.js new file mode 100644 index 0000000..a8e7486 --- /dev/null +++ b/admin/test/spec/controllers/users/userId.js @@ -0,0 +1,22 @@ +'use strict'; + +describe('Controller: UsersUseridCtrl', function () { + + // load the controller's module + beforeEach(module('adminApp')); + + var UsersUseridCtrl, + scope; + + // Initialize the controller and a mock scope + beforeEach(inject(function ($controller, $rootScope) { + scope = $rootScope.$new(); + UsersUseridCtrl = $controller('UsersUseridCtrl', { + $scope: scope + }); + })); + + it('should attach a list of awesomeThings to the scope', function () { + expect(scope.awesomeThings.length).toBe(3); + }); +}); diff --git a/admin/test/spec/directives/draganddrop.js b/admin/test/spec/directives/draganddrop.js new file mode 100644 index 0000000..a8d6fdd --- /dev/null +++ b/admin/test/spec/directives/draganddrop.js @@ -0,0 +1,13 @@ +'use strict'; + +describe('Directive: draganddrop', function () { + beforeEach(module('adminApp')); + + var element; + + it('should make hidden element visible', inject(function ($rootScope, $compile) { + element = angular.element(''); + element = $compile(element)($rootScope); + expect(element.text()).toBe('this is the draganddrop directive'); + })); +}); diff --git a/admin/test/spec/services/Books.js b/admin/test/spec/services/Books.js new file mode 100644 index 0000000..4c30dee --- /dev/null +++ b/admin/test/spec/services/Books.js @@ -0,0 +1,18 @@ +'use strict'; + +describe('Service: Books', function () { + + // load the service's module + beforeEach(module('adminApp')); + + // instantiate service + var Books; + beforeEach(inject(function (_Books_) { + Books = _Books_; + })); + + it('should do something', function () { + expect(!!Books).toBe(true); + }); + +}); diff --git a/admin/test/spec/services/Rents.js b/admin/test/spec/services/Rents.js new file mode 100644 index 0000000..5d40942 --- /dev/null +++ b/admin/test/spec/services/Rents.js @@ -0,0 +1,18 @@ +'use strict'; + +describe('Service: Rents', function () { + + // load the service's module + beforeEach(module('adminApp')); + + // instantiate service + var Rents; + beforeEach(inject(function (_Rents_) { + Rents = _Rents_; + })); + + it('should do something', function () { + expect(!!Rents).toBe(true); + }); + +}); diff --git a/admin/test/spec/services/Users.js b/admin/test/spec/services/Users.js new file mode 100644 index 0000000..09ba594 --- /dev/null +++ b/admin/test/spec/services/Users.js @@ -0,0 +1,18 @@ +'use strict'; + +describe('Service: Users', function () { + + // load the service's module + beforeEach(module('adminApp')); + + // instantiate service + var Users; + beforeEach(inject(function (_Users_) { + Users = _Users_; + })); + + it('should do something', function () { + expect(!!Users).toBe(true); + }); + +}); diff --git a/lib/error.js b/lib/error.js new file mode 100644 index 0000000..bc3dc50 --- /dev/null +++ b/lib/error.js @@ -0,0 +1,55 @@ +var util = require('util'); + + +function AppError(message) { + Error.call(this, message); + Error.captureStackTrace(this, this.constructor); + this.message = message; + this.name = this.constructor.name; +} +util.inherits(AppError, Error); + + +function HttpResponseError(message, statusCode) { + AppError.call(this, message); + this.status = statusCode || 400; +} +util.inherits(HttpResponseError, AppError); + + +function NotFound(message) { + message = message || 'Not found.'; + HttpResponseError.call(this, message, 400); +} +util.inherits(NotFound, HttpResponseError); + + +function DuplicateIndex(message) { + message = message || 'Duplicate index.'; + HttpResponseError.call(this, message, 400); +} +util.inherits(DuplicateIndex, HttpResponseError); + + +function NotAcceptable(message) { + message = message || 'Invalid format request.'; + HttpResponseError.call(this, message, 406); +} +util.inherits(NotAcceptable, HttpResponseError); + + +function UnsupportedMediaType(message) { + message = message || 'Invalid data format.'; + HttpResponseError.call(this, message, 415); +} +util.inherits(UnsupportedMediaType, HttpResponseError); + + +module.exports = { + AppError: AppError, + HttpResponseError: HttpResponseError, + NotFound: NotFound, + DuplicateIndex: DuplicateIndex, + NotAcceptable: NotAcceptable, + UnsupportedMediaType: UnsupportedMediaType +}; \ No newline at end of file diff --git a/middleware/error.js b/middleware/error.js new file mode 100644 index 0000000..d307b99 --- /dev/null +++ b/middleware/error.js @@ -0,0 +1,25 @@ +var HttpResponseError = require('../lib/error').HttpResponseError; + +module.exports = function() { + return function(err, req, res, next){ + + if (err instanceof HttpResponseError) { + return res.send(err.status, { + type: err.name, + message: err.message + }); + } + + if (err instanceof Error) { + if (err.name === 'ValidationError') { + return res.send(400, { + type: 'ValidationError', + message: err.message, + errors: err.errors + }); + } + } + + next(err); + }; +}; \ No newline at end of file diff --git a/models/Book.js b/models/Book.js new file mode 100644 index 0000000..f6f45f6 --- /dev/null +++ b/models/Book.js @@ -0,0 +1,45 @@ +var mongoose = require('mongoose'); +var Schema = mongoose.Schema; +var BookCopyModel = require('../models/BookCopy.js'); +var error = require('../lib/error'); + +var BookCopyModelSchema = BookCopyModel.schema; + +var BookModelSchema = new Schema({ + isbn: { + isbn10: {type: String, index: { unique: true, sparse: true }}, + isbn13: {type: String, index: { unique: true, sparse: true }} + }, + title: {type: String, required: true}, + author: {type: String}, + publisher: {type: String}, + cover: {type: String}, + year: {type: Number}, + quantity: {type: Number, default: 1}, + copies: [BookCopyModelSchema], +},{ + toObject: { virtuals: true }, + toJSON: { virtuals: true } +}); + +BookModelSchema.virtual('bookId').get(function(){ + return this.id; +}); + + +BookModelSchema.pre('save', function(next){ + if (this.isNew) { + for (var i=0; i= 3.6.9", + "ejs": "*", + "time": "*", + "cron": "*", + "nodemailer": "*", + "local-tld-update": "*" + } +} \ No newline at end of file diff --git a/public/admin b/public/admin new file mode 120000 index 0000000..4df312d --- /dev/null +++ b/public/admin @@ -0,0 +1 @@ +../admin/app \ No newline at end of file diff --git a/routes/books.js b/routes/books.js new file mode 100644 index 0000000..311bcdb --- /dev/null +++ b/routes/books.js @@ -0,0 +1,80 @@ + +/* + * BOOKS + */ + +var BookModel = require('../models/Book.js'); +var error = require('../lib/error'); + +exports.query = function(req, res, next){ + BookModel.find(function(err, books){ + if (err) { return next(err); } + res.json(books); + }); +}; + +exports.get = function(req, res, next){ + BookModel.findById(req.params.bookId, function(err, book){ + if (err) { return next(err); } + res.json(book); + }); +}; + +exports.create = function(req, res, next){ + var book = req.body; + + new BookModel(book).save(function(err, book){ + if (err) { + if (err.code == 11000 || err.code == 11001) { + return next(new error.DuplicateIndex('Book already exists.')); + } + else { + return next(err); + } + } + console.log(book); + res.json(book); + }); +}; + +exports.remove = function(req, res, next){ + BookModel.findById(req.params.bookId, function(err, book){ + if (err) { return next(err); } + if (! book) { return next(new error.NotFound('Book does not exist.')); } + + book.remove(function(err, book){ + if (err) return next(err); + res.send(204); + }); + }); +}; + +exports.update = function(req, res, next){ + BookModel.findById(req.params.bookId, function(err, book){ + if (err) { return next(err); } + if (! book) { return next(new error.NotFound('Book does not exist.')); } + + book.title = req.body.title; + book.isbn.isbn10 = req.body.isbn ? req.body.isbn.isbn10 : undefined; + book.isbn.isbn13 = req.body.isbn ? req.body.isbn.isbn13 : undefined; + book.author = req.body.author; + book.publisher = req.body.publisher; + book.cover = req.body.cover; + book.year = req.body.year; + book.year = req.body.year; + book.quantity = req.body.quantity; + + book.save(function(err, book){ + if (err) { + if (err.code == 11000 || err.code == 11001) { + return next(new error.DuplicateIndex('Book already exists.')); + } + else { + return next(err); + } + } + console.log(book); + res.json(book); + }); + }); +}; diff --git a/routes/index.js b/routes/index.js new file mode 100644 index 0000000..2e56d2c --- /dev/null +++ b/routes/index.js @@ -0,0 +1,10 @@ + +/* + * GET home page. + */ + +var ejs = require('ejs'); + +exports.index = function(req, res){ + res.render('index'); +}; \ No newline at end of file diff --git a/routes/rents.js b/routes/rents.js new file mode 100644 index 0000000..f3637c3 --- /dev/null +++ b/routes/rents.js @@ -0,0 +1,56 @@ + +/* + * RENTS + */ + +var RentModel = require('../models/Rent.js'); +var error = require('../lib/error'); + +exports.query = function(req, res, next){ + RentModel + .find(req.params) + .populate('user book') + .exec(function(err, rents){ + if (err) { return next(err); } + res.json(rents); + }); +}; + +exports.get = function(req, res, next){ + RentModel + .findById(req.params.rentId) + .populate('user book') + .exec(function(err, rent){ + if (err) { return next(err); } + res.json(rent); + }); +}; + +exports.create = function(req, res, next){ + var rent = new RentModel({}); + console.log(rent); + rent.rentBook(req.body.bookCopyId, req.body.bookId, req.body.userId, function(err, rent){ + if (err) { return next(err); } + console.log(rent); + res.json(rent); + }); +}; + +exports.update = function(req, res, next){ + res.send(200); +}; + +exports.reserveBook = function(req, res, next){ + res.send(200); +}; + +exports.returnBook = function(req, res, next){ + RentModel.findById(req.params.rentId, function(err, rent){ + if (err) { return next(err); } + rent.returnBook(function(err, rent){ + if (err) { return next(err); } + res.json(rent); + }); + }); +}; + diff --git a/routes/users.js b/routes/users.js new file mode 100644 index 0000000..5da8b38 --- /dev/null +++ b/routes/users.js @@ -0,0 +1,90 @@ + +/* + * USERS + */ + +var UserModel = require('../models/User.js'); +var error = require('../lib/error'); + +exports.query = function(req, res, next){ + UserModel.find(function(err, users){ + if (err) { return next(err); } + res.json(users); + }); +}; + +exports.get = function(req, res, next){ + UserModel.findById(req.params.userId, function(err, users){ + if (err) { return next(err); } + res.json(users); + }); +}; + +exports.create = function(req, res, next){ + var user = req.body; + + new UserModel(user).save(function(err, user){ + if (err) { + if (err.code == 11000 || err.code == 11001) { + return next(new error.DuplicateIndex('User with this login already exists.')); + } + else { + return next(err); + } + } + console.log(user); + res.json(user); + }); +}; + +exports.remove = function(req, res, next){ + UserModel.findById(req.params.userId, function(err, user){ + if (err) { return next(err); } + if (! user) { return next(new error.NotFound('User does not exist.')); } + + user.remove(function(err, user){ + if (err) return next(err); + res.send(204); + }); + }); +}; + +exports.update = function(req, res, next){ + UserModel.findById(req.params.userId, function(err, user){ + if (err) { return next(err); } + if (! user) { return next(new error.NotFound('User does not exist.')); } + + user.password = req.body.password; + user.name = req.body.name; + user.phone = req.body.phone; + user.email = req.body.email; + user.admin = req.body.admin; + + user.save(function(err, user){ + if (err) { + if (err.code == 11000 || err.code == 11001) { + return next(new error.DuplicateIndex('User with this login already exists.')); + } + else { + return next(err); + } + } + console.log(user); + res.json(user); + }); + }); +}; + +exports.auth = function(req, res, next){ + UserModel.findOne({'login': req.body.login}, function(err, user){ + if (err) { return next(err); } + if (! user) { return next(new error.NotFound('User does not exist.')); } + + if (user.auth(req.body.password)){ + res.json(user); + } + else { + return next(new error.NotFound('User does not exist.')); + } + }); +}; \ No newline at end of file diff --git a/united-library.js b/united-library.js new file mode 100644 index 0000000..6ae6c6d --- /dev/null +++ b/united-library.js @@ -0,0 +1,100 @@ + +/** + * Module dependencies. + */ + +var express = require('express'); +var http = require('http'); +var path = require('path'); +var mongoose = require('mongoose'); +var ltld = require('local-tld-update'); + +var app = express(); + +// all environments +app.set('port', process.env.PORT || 0); +app.set('views', __dirname + '/views'); +app.set('view engine', 'ejs'); +app.engine('html', require('ejs').renderFile); +app.use(express.favicon()); +app.use(express.logger('dev')); +app.use(express.bodyParser()); +app.use(express.methodOverride()); +app.use(app.router); +app.use(express.static(path.join(__dirname, 'public'))); +app.use(require('./middleware/error')()); + +// development only +if ('development' == app.get('env')) { + app.use(express.errorHandler()); +} + +/** + * MONGODB CONNECTION + */ + +mongoose.connect('mongodb://localhost/united-library'); +var db = mongoose.connection; +db.on('error', console.error.bind(console, 'Mongo connection error:')); +db.once('open', function callback () { + console.log('Mongo connection opened'); +}); + +/** + * HTTP SERVER AND ROUTES + */ + +app.all('/*', function(req, res, next) { + res.header('Access-Control-Allow-Origin', '*'); + res.header('Access-Control-Allow-Headers', 'X-Requested-With, Content-Type'); + res.header('Access-Control-Allow-Methods', 'GET, POST, PUT, DELETE, OPTIONS'); + if ('OPTIONS' == req.method) { + res.send(200); + } + else { + next(); + } +}); + +var routes = require('./routes'); +var users = require('./routes/users'); +var books = require('./routes/books'); +var rents = require('./routes/rents'); + +app.get('/', routes.index); + +app.get('/users', users.query); +app.post('/users', users.create); +app.post('/users/auth', users.auth); +app.get('/users/:userId', users.get); +app.put('/users/:userId', users.update); +app.delete('/users/:userId', users.remove); + +app.get('/books', books.query); +app.get('/books/:bookId', books.get); +app.post('/books', books.create); +app.put('/books/:bookId', books.update); +app.delete('/books/:bookId', books.remove); + +app.get('/rents', rents.query); +app.get('/rents/:rentId', rents.get); +app.post('/rents', rents.create); +app.put('/rents/:rentId/', rents.update); +app.post('/rents/:rentId/returnBook', rents.returnBook); +app.post('/books/:bookId/reserve', rents.reserveBook); + + +var server = http.createServer(app); +server.listen(app.get('port'), function(){ + console.log('Express server listening on port ' + server.address().port); + ltld.update('united-library', server.address().port); +}); + +/** + * CRON JOB + */ + +var notification = require('cron').CronJob; +new notification('0 0 */1 * * *', function(){ + // TODO +}, null, true, "Europe/Bratislava"); diff --git a/views/index.ejs b/views/index.ejs new file mode 100644 index 0000000..8009aae --- /dev/null +++ b/views/index.ejs @@ -0,0 +1,9 @@ + + + United Library + + +

United Library

+

Hello, how can I help you?

+ + \ No newline at end of file