From f88fc60da181a77c522b6ab4440d1a0ba8c27fab Mon Sep 17 00:00:00 2001 From: vizhukova Date: Tue, 18 Aug 2015 21:58:30 +0300 Subject: [PATCH 1/5] Some more methods --- app.js | 8 +++- controllers/post.js | 53 ++++++++++++++++++++++++++ controllers/user.js | 91 +++++++++++++++++++++++++++++++++++++++++++-- db.json | 2 +- package.json | 19 +++++++++- 5 files changed, 164 insertions(+), 9 deletions(-) diff --git a/app.js b/app.js index 41a2eb0..657d006 100644 --- a/app.js +++ b/app.js @@ -1,7 +1,8 @@ var express = require('express'); var bodyParser = require('body-parser'); GLOBAL._ = require('underscore'); -var fs= require('fs') +var fs = require('fs') +GLOBAL.sha1 = require('js-sha1'); var app = express(); GLOBAL.DB = { save:function(){ @@ -29,15 +30,18 @@ app.use(function (req, res, next) { } var parts = req.headers['authorization'].split(":") var nick = parts[0]; - var pwd = parts[1]; + var pwd = sha1(parts[1]); + //console.log(nick + pwd) var user = _.find(DB.users, function (usr) { return usr.nick == nick && pwd == usr.pwd; }) + //console.log(user) if (!user) { res.status(401).send({message: "invalid user or password"}) return; } req.currentUser =user; + //console.log(req.currentUser) next(null); }) require('./controllers/user')(app) diff --git a/controllers/post.js b/controllers/post.js index 48c5b69..128e9a5 100644 --- a/controllers/post.js +++ b/controllers/post.js @@ -15,4 +15,57 @@ module.exports=function(app){ res.send(post); }) + app.get('/post', function(req, res) { + if(!DB.posts || DB.posts == []) { + res.status(400).send("There is no posts") + } + + res.send(DB.posts); + }) + + app.get('/post/:id', function(req, res) { + var post = _.find(DB.posts,function(post){ + return post.id ==req.params.id; + }); + if(!post){ + res.status(404).send({message:"not found"}) + return; + } + res.send(post) + }) + + app.put('/posts/:id', function(req, res) { + var post = _.where( DB.posts,{id:req.params.id}); + + if(!post) { + res.status(404).send({message:"not found"}) + return; + } + + if(req.currentUser.id == post.authorId) { + post.content = req.body.content + res.send(DB.posts[req.params.id]) + return; + } + res.status(400).send('You can\'t edit this post') + }) + + app.delete('/post/:id', function(req, res) { + var id = _.where( DB.posts, {id:req.params.id}); + + if(!id) { + res.send("There is no such post") + return; + } + + if(!(req.currentUser.id == DB.posts[id].authorId || req.currentUser.id == DB.posts[id].ownerId)) { + res.status(400).send('You can\'t delete this post') + return; + } + + DB.posts.splice(id, 1); + DB.save(); + res.send(DB.posts) + }) + } \ No newline at end of file diff --git a/controllers/user.js b/controllers/user.js index 8934254..161ced4 100644 --- a/controllers/user.js +++ b/controllers/user.js @@ -1,12 +1,29 @@ var uniqueId = Date.now(); module.exports = function(app){ - app.get('/me',function(req,res){ + app.get('/me',function(req, res) { + if(!req.currentUser) { + res.status(404).send({message:"not found"}) + return; + } + res.send(req.currentUser); }) + + app.put('/me', function(req, res){ + if(req.currentUser.nick != req.body.nick && req.body.nick) req.currentUser.nick = req.body.nick + if(req.currentUser.pwd != req.body.pwd && req.body.pwd) req.currentUser.pwd = req.body.pwd + if(req.currentUser.email != req.body.email && req.body.email) req.currentUser.email = req.body.email + DB.save(); + res.send(req.currentUser) + }) + app.get('/user', function (req, res) { + if(!DB.users || DB.users == []) { + res.status(400).send("There is no posts") + } res.send(DB.users); }) - app.get('/user/:id',function(req,res){ + app.get('/user/:id',function(req, res){ var user = _.clone(_.find(DB.users,function(usr){ return usr.id ==req.params.id; })); @@ -17,9 +34,66 @@ module.exports = function(app){ } res.send(user) }) - app.get('/user/:id/wall',function(req,res){ + + app.get('/user/:id/wall',function(req, res) { res.send(_.where( DB.posts,{ownerId:req.params.id})); }) + + app.post('/user/:id/follow', function(req, res) { + if(_.find(req.currentUser.follow, function(followingId) { + return req.params.id == followingId; + })) { + res.status(400).send('There is such user in follows already OR you can\'t follow he/she') + return; + } + + if(!req.currentUser.follow) req.currentUser.follow = [] + + req.currentUser.follow.push(req.params.id); + DB.save(); + res.send(req.currentUser.follow) + }) + + app.get('/user/:id/followers', function(req, res) { + var followers = []; + + _.each(DB.users, function(index, i, arr) { + _.each(index.follow, function(item, j, array) { + if(item == req.params.id) followers.push(index.id) + }) + }) + if(!followers) { + res.status(400).send('The is no followers') + return + } + res.send(followers) + }) + + app.get('/user/:id/following', function(req, res) { + res.send(req.currentUser.follow) + }) + + app.delete('/user/:id/follow', function(req, res) { + if (!_.find(req.currentUser.follow, function(index, i, arr) { + return index == req.params.id + })) { + res.status(400).send('The is no such user in follows') + return; + } + + var id = (function(array) { + for(var i = 0; i < array.length; i++) { + if(req.params.id == array[i]){ + return i; + } + } + })(req.currentUser.follow); + console.log(id) + req.currentUser.follow.splice(id, 1); + DB.save(); + res.send(req.currentUser.follow); + }) + app.post('/register', function (req, res) { // if (!req.body.email) { @@ -31,11 +105,20 @@ module.exports = function(app){ } else if (!req.body.pwd || !req.body.repeatPwd || req.body.pwd != req.body.repeatPwd) { res.status(400).send({message: "Passwords do not match"}) return; + } else if(_.where(DB.users, {nick : req.body.nick}).length > 0) { + console.log(_.where(DB.users, {nick : req.body.nick})) + res.status(400).send({message: "There is such nick"}) + return; + } else if(! (req.body.pwd.length > 6 && /[A-Z]/.test(req.body.pwd) && ! /^[a-zA-Z0-9- ]*$/.test(req.body.pwd)) ) { + res.status(400).send({message: "a password must be six characters including one uppercase letter, one " + + "special character and alphanumeric characters."}) + return; } + var user = { email: req.body.email, nick: req.body.nick, - pwd: req.body.pwd, + pwd: sha1(req.body.pwd), id: ++uniqueId }; diff --git a/db.json b/db.json index d7084f4..0e415d0 100644 --- a/db.json +++ b/db.json @@ -1 +1 @@ -{"users":[{"email":"gg@gg.gg","nick":"second","pwd":"123","id":1439224467621},{"email":"gg@gg.gg","nick":"second","pwd":"123","id":1439224467622},{"email":"gg@gg.gg","nick":"gena","pwd":"123","id":1439225345875}],"posts":[{"content":"Hellofrom gena","id":1439225509193,"authorId":1439225345875,"ownerId":"1439224467621"}]} \ No newline at end of file +{"users":[{"nick":"nnn","pwd":"123","email":"mail@something","id":1439224467621,"follow":["1439224467621","1439224467622"]},{"email":"gg@gg.gg","nick":"somenick","pwd":"123","id":1439224467622},{"email":"gg@gg.gg","nick":"gena","pwd":"123","id":1439225345875,"follow":["1439224467622"]},{"email":"some email@.com","nick":"good nick","pwd":"5454","id":1439724325905},{"email":"some email@.com","nick":"good nick","pwd":"545454","id":1439724325906},{"email":"some email@.com","nick":"Anika","pwd":"545454","id":1439724369116},{"email":"some email@.com","nick":"London","pwd":"545454","id":1439724428510},{"email":"some email@.com","nick":"bOM","pwd":"545454@Add","id":1439724970887},{"email":"some email@.com","nick":"Soo","pwd":"545454Ad#d","id":1439726605541},{"email":"some email@.com","nick":"Sooso","pwd":"5d3e67b8f0f8da38365c9679050857d630cacccc","id":1439726775986}],"posts":[{"content":"some content","id":1439659529468,"authorId":1439224467621,"ownerId":"1439224467621"},{"content":"I want some sleep","id":1439659556786,"authorId":1439224467621,"ownerId":"1439224467621"},{"content":"I want some something","id":1439659566884,"authorId":1439224467621,"ownerId":"1439224467621"}]} \ No newline at end of file diff --git a/package.json b/package.json index 0d8bcba..d84201f 100644 --- a/package.json +++ b/package.json @@ -1,9 +1,24 @@ { - "name": "application-name", + "name": "app", "version": "0.0.1", "dependencies": { "body-parser": "^1.13.3", "express": "^4.13.3", "underscore": "^1.8.3" - } + }, + "main": "app.js", + "scripts": { + "test": "echo \"Error: no test specified\" && exit 1" + }, + "repository": { + "type": "git", + "url": "git+https://github.com/vizhukova/SocialNetworkServer.git" + }, + "author": "", + "license": "ISC", + "bugs": { + "url": "https://github.com/vizhukova/SocialNetworkServer/issues" + }, + "homepage": "https://github.com/vizhukova/SocialNetworkServer#readme", + "description": "" } From b7ef5c2cbeba3a554e3114dd15fd9f7e3cfdee3b Mon Sep 17 00:00:00 2001 From: vizhukova Date: Tue, 29 Sep 2015 20:57:26 +0300 Subject: [PATCH 2/5] mongoDB and front-end edit post delete post make new post register login follow user unfollow user --- 1.1.html | 20 + app.js | 70 +- controllers/post.js | 109 +- controllers/user.js | 173 +- package.json | 2 + public/.gitignore | 1 + public/README.md | 3 + public/SOMEJS.js | 3 + public/bower.json | 20 + public/css/bootstrap.css | 6800 ++++++++++++ public/css/main.css | 180 + public/css/material.css | 9703 +++++++++++++++++ public/fonts/glyphicons-halflings-regular.eot | Bin 0 -> 20127 bytes public/fonts/glyphicons-halflings-regular.svg | 288 + public/fonts/glyphicons-halflings-regular.ttf | Bin 0 -> 45404 bytes .../fonts/glyphicons-halflings-regular.woff | Bin 0 -> 23424 bytes .../fonts/glyphicons-halflings-regular.woff2 | Bin 0 -> 18028 bytes public/images/fire.png | Bin 0 -> 98107 bytes public/images/images.png | Bin 0 -> 1700 bytes public/index.html | 76 + public/js/application.js | 19 + public/js/controllers/base/controller.js | 12 + .../controllers/login-register-controller.js | 127 + public/js/controllers/me-controller.js | 20 + public/js/controllers/post-controller.js | 26 + public/js/controllers/posts-controller.js | 102 + public/js/controllers/user-wall-controller.js | 145 + public/js/controllers/users-controller.js | 46 + public/js/lib/support.js | 7 + public/js/lib/utils.js | 21 + public/js/lib/view-helper.js | 17 + public/js/main.js | 55 + public/js/models/base/collection.js | 21 + public/js/models/base/model.js | 20 + public/js/models/hello/hello-world.js | 19 + .../login-register/login-register-model.js | 11 + public/js/models/posts/post-model.js | 13 + public/js/models/posts/posts-collection.js | 17 + public/js/models/users/asd | 22 + public/js/models/users/user-model.js | 11 + public/js/models/users/user-wall-model.js | 11 + public/js/models/users/users-collection.js | 13 + .../js/models/users/users-wall-collection.js | 13 + public/js/routes.js | 14 + public/js/templates/login-register-view.hbs | 16 + .../templates/posts/post-collection-view.hbs | 5 + public/js/templates/posts/ppost-item-view.hbs | 14 + public/js/templates/site.hbs | 34 + public/js/templates/users/user-item-view.hbs | 6 + public/js/templates/users/user-main-page.hbs | 6 + public/js/templates/users/user-wall-view.hbs | 32 + .../templates/users/users-collection-view.hbs | 11 + public/js/templates/welcome-message.hbs | 1 + public/js/views/base/collection-view.js | 15 + public/js/views/base/view.js | 47 + public/js/views/login-register-view.js | 74 + public/js/views/posts/post-item-view.js | 31 + .../js/views/posts/posts-collection-view.js | 99 + public/js/views/site-view.js | 15 + public/js/views/users/user-item-view.js | 15 + public/js/views/users/user-main-page.js | 15 + public/js/views/users/user-wall-view.js | 72 + .../js/views/users/users-collection-view.js | 20 + public/js/views/welcome-message-view.js | 15 + public/package.json | 22 + 65 files changed, 18652 insertions(+), 143 deletions(-) create mode 100644 1.1.html create mode 100644 public/.gitignore create mode 100644 public/README.md create mode 100644 public/SOMEJS.js create mode 100644 public/bower.json create mode 100644 public/css/bootstrap.css create mode 100644 public/css/main.css create mode 100644 public/css/material.css create mode 100644 public/fonts/glyphicons-halflings-regular.eot create mode 100644 public/fonts/glyphicons-halflings-regular.svg create mode 100644 public/fonts/glyphicons-halflings-regular.ttf create mode 100644 public/fonts/glyphicons-halflings-regular.woff create mode 100644 public/fonts/glyphicons-halflings-regular.woff2 create mode 100644 public/images/fire.png create mode 100644 public/images/images.png create mode 100644 public/index.html create mode 100644 public/js/application.js create mode 100644 public/js/controllers/base/controller.js create mode 100644 public/js/controllers/login-register-controller.js create mode 100644 public/js/controllers/me-controller.js create mode 100644 public/js/controllers/post-controller.js create mode 100644 public/js/controllers/posts-controller.js create mode 100644 public/js/controllers/user-wall-controller.js create mode 100644 public/js/controllers/users-controller.js create mode 100644 public/js/lib/support.js create mode 100644 public/js/lib/utils.js create mode 100644 public/js/lib/view-helper.js create mode 100644 public/js/main.js create mode 100644 public/js/models/base/collection.js create mode 100644 public/js/models/base/model.js create mode 100644 public/js/models/hello/hello-world.js create mode 100644 public/js/models/login-register/login-register-model.js create mode 100644 public/js/models/posts/post-model.js create mode 100644 public/js/models/posts/posts-collection.js create mode 100644 public/js/models/users/asd create mode 100644 public/js/models/users/user-model.js create mode 100644 public/js/models/users/user-wall-model.js create mode 100644 public/js/models/users/users-collection.js create mode 100644 public/js/models/users/users-wall-collection.js create mode 100644 public/js/routes.js create mode 100644 public/js/templates/login-register-view.hbs create mode 100644 public/js/templates/posts/post-collection-view.hbs create mode 100644 public/js/templates/posts/ppost-item-view.hbs create mode 100644 public/js/templates/site.hbs create mode 100644 public/js/templates/users/user-item-view.hbs create mode 100644 public/js/templates/users/user-main-page.hbs create mode 100644 public/js/templates/users/user-wall-view.hbs create mode 100644 public/js/templates/users/users-collection-view.hbs create mode 100644 public/js/templates/welcome-message.hbs create mode 100644 public/js/views/base/collection-view.js create mode 100644 public/js/views/base/view.js create mode 100644 public/js/views/login-register-view.js create mode 100644 public/js/views/posts/post-item-view.js create mode 100644 public/js/views/posts/posts-collection-view.js create mode 100644 public/js/views/site-view.js create mode 100644 public/js/views/users/user-item-view.js create mode 100644 public/js/views/users/user-main-page.js create mode 100644 public/js/views/users/user-wall-view.js create mode 100644 public/js/views/users/users-collection-view.js create mode 100644 public/js/views/welcome-message-view.js create mode 100644 public/package.json diff --git a/1.1.html b/1.1.html new file mode 100644 index 0000000..5459ceb --- /dev/null +++ b/1.1.html @@ -0,0 +1,20 @@ + + + + + Задание 1 HTML + + + +

День не повторится дважды

+
+ Мириады маленьких дел
+ Пьют по капле гаснущий день,
+ А дела большие сушит жажда.
+ Оставляя все на потом,
+ Прозеваем задним числом,
+ Только день не повторится дважды.
+
+
В.Заболоцкий
+ + \ No newline at end of file diff --git a/app.js b/app.js index 657d006..243d36d 100644 --- a/app.js +++ b/app.js @@ -1,23 +1,37 @@ var express = require('express'); var bodyParser = require('body-parser'); GLOBAL._ = require('underscore'); -var fs = require('fs') -GLOBAL.sha1 = require('js-sha1'); +var fs= require('fs') var app = express(); -GLOBAL.DB = { - save:function(){ - fs.writeFileSync('./db.json',JSON.stringify(this)) - }, - restore: function(){ - GLOBAL.DB = _.extend(GLOBAL.DB,JSON.parse(fs.readFileSync('./db.json','utf-8'))) - } -} -GLOBAL.DB.restore(); -DB.users = DB.users || []; -DB.posts = DB.posts || []; +var MongoClient = require('mongodb').MongoClient; +var url = 'mongodb://localhost:27017/socialNetwork'; + + +MongoClient.connect(url, function(err, db) { + console.log("Connected correctly to server"); + GLOBAL.DB = db; + app.listen(127) + console.log(err) + console.log(db) +}); +//app.use(express.static('public')) +app.use(function(req, res, next) { + res.header('Access-Control-Allow-Origin', '*'); + res.header('Access-Control-Allow-Methods', 'GET,PUT,POST,DELETE,OPTIONS'); + res.header('Access-Control-Allow-Headers', 'Content-Type, Authorization, Content-Length, X-Requested-With'); + + // intercept OPTIONS method + if ('OPTIONS' == req.method) { + res.send(200); + } + else { + next(); + } +}); app.use(bodyParser.json()) + app.use(function (req, res, next) { console.log(req.originalUrl) if(req.originalUrl =='/register'){ @@ -30,22 +44,20 @@ app.use(function (req, res, next) { } var parts = req.headers['authorization'].split(":") var nick = parts[0]; - var pwd = sha1(parts[1]); - //console.log(nick + pwd) - var user = _.find(DB.users, function (usr) { - return usr.nick == nick && pwd == usr.pwd; - }) - //console.log(user) - if (!user) { + var pwd = parts[1]; + DB.collection('users').find({nick:nick,pwd:pwd}).toArray(function(err, data){ + console.log(data) + if (data.length>0) { + req.currentUser =data[0]; + next(null); + return; + } res.status(401).send({message: "invalid user or password"}) - return; - } - req.currentUser =user; - //console.log(req.currentUser) - next(null); -}) -require('./controllers/user')(app) -require('./controllers/post')(app) + }) + + +}) -app.listen(100) \ No newline at end of file +require('./controllers/user')(app) +require('./controllers/post')(app) \ No newline at end of file diff --git a/controllers/post.js b/controllers/post.js index 128e9a5..ce6b743 100644 --- a/controllers/post.js +++ b/controllers/post.js @@ -1,4 +1,16 @@ + +var ObjectId = require('mongodb').ObjectID module.exports=function(app){ + + app.get('/post', function(req, res) { + DB.collection('posts').find({}).toArray(function (err, data) { + if(!data || data == []) { + res.status(400).send("There is no posts") + } + res.send(data); + }) + }) + app.post('/user/:id/wall',function(req,res){ if(!req.body.content){ res.status(400).send({message:'content required'}) @@ -6,66 +18,75 @@ module.exports=function(app){ } var post = { content:req.body.content, - id:Date.now(), - authorId:req.currentUser.id, - ownerId:req.params.id + authorId:{$ref:"users",_id:req.currentUser._id}, + ownerId:{$ref:"users",_id:req.params.id} }; - DB.posts.push(post) - DB.save(); - res.send(post); + DB.collection('posts').insert(post,function(err,data){ + res.send(data); + }) }) - app.get('/post', function(req, res) { - if(!DB.posts || DB.posts == []) { - res.status(400).send("There is no posts") - } - - res.send(DB.posts); + app.get('/user/:id/wall',function(req,res){ + var posts = []; + DB.collection('posts').find({"ownerId._id": req.params.id}, function (err, post) { + posts.push(post) + }) + res.send(posts) }) app.get('/post/:id', function(req, res) { - var post = _.find(DB.posts,function(post){ - return post.id ==req.params.id; - }); - if(!post){ - res.status(404).send({message:"not found"}) - return; - } - res.send(post) + DB.collection('posts').findOne({_id: new ObjectId(req.params.id)}, + function (err, post) { + if (!post) { + res.status(404).send({message: "not found"}) + return; + } + res.send(post); + }) }) - app.put('/posts/:id', function(req, res) { - var post = _.where( DB.posts,{id:req.params.id}); + app.put('/post/:id', function(req, res) { // + DB.collection('posts').findOne({_id: new ObjectId(req.params.id)}, + function (err, post) { + if (!post) { + res.status(404).send({message: "not found"}) + return; + } - if(!post) { - res.status(404).send({message:"not found"}) - return; - } + if(post.authorId._id.toString() == req.currentUser._id.toString()) { + post.content = req.body.content; - if(req.currentUser.id == post.authorId) { - post.content = req.body.content - res.send(DB.posts[req.params.id]) - return; - } - res.status(400).send('You can\'t edit this post') + DB.collection('posts').update({_id: new ObjectId(req.params.id)}, {$set:{"content": post.content}} + , function() { + res.send(post); + }) + return + } else { + res.status(404).send({message: "You can't modify post"}) + } + }) }) app.delete('/post/:id', function(req, res) { - var id = _.where( DB.posts, {id:req.params.id}); - if(!id) { - res.send("There is no such post") - return; - } + DB.collection('posts').findOne({_id: new ObjectId(req.params.id)}, + function (err, post) { + if (!post) { + res.status(404).send({message: "not found"}) + return; + } - if(!(req.currentUser.id == DB.posts[id].authorId || req.currentUser.id == DB.posts[id].ownerId)) { - res.status(400).send('You can\'t delete this post') - return; - } + if(post.ownerId._id.toString() != req.currentUser._id && post.authorId._id.toString() != req.currentUser._id) { + res.status(403).send({message: "You can't delete post"}) + return + } + }) + + + DB.collection('posts').remove({_id: new ObjectId(req.params.id)}, function(err, data) { + res.send(data) + }) - DB.posts.splice(id, 1); - DB.save(); - res.send(DB.posts) }) } \ No newline at end of file diff --git a/controllers/user.js b/controllers/user.js index 161ced4..fe5cee3 100644 --- a/controllers/user.js +++ b/controllers/user.js @@ -1,11 +1,9 @@ -var uniqueId = Date.now(); -module.exports = function(app){ - app.get('/me',function(req, res) { - if(!req.currentUser) { - res.status(404).send({message:"not found"}) - return; - } +var ObjectId = require('mongodb').ObjectID +var async = require('async') +module.exports = function (app) { + + app.get('/me', function (req, res) { res.send(req.currentUser); }) @@ -13,89 +11,133 @@ module.exports = function(app){ if(req.currentUser.nick != req.body.nick && req.body.nick) req.currentUser.nick = req.body.nick if(req.currentUser.pwd != req.body.pwd && req.body.pwd) req.currentUser.pwd = req.body.pwd if(req.currentUser.email != req.body.email && req.body.email) req.currentUser.email = req.body.email - DB.save(); + DB.collection('users').update({_id: req.currentUser._id}, req.currentUser) res.send(req.currentUser) }) app.get('/user', function (req, res) { - if(!DB.users || DB.users == []) { - res.status(400).send("There is no posts") - } - res.send(DB.users); + console.log('!!!!!!!!!!!!!!!!!!!!!') + DB.collection('users').find({}).toArray(function (err, data) { + res.send(data.map(function (user) { + delete user.pwd; + return user + })); + + }) + + }) - app.get('/user/:id',function(req, res){ - var user = _.clone(_.find(DB.users,function(usr){ - return usr.id ==req.params.id; - })); - delete user.pwd; - if(!user){ - res.status(404).send({message:"not found"}) - return; - } - res.send(user) + app.get('/user/:id', function (req, res) { + DB.collection('users').findOne({_id: new ObjectId(req.params.id)}, + function (err, user) { + if (!user) { + res.status(404).send({message: "not found"}) + return; + } + delete user.pwd; + res.send(user); + }) }) + app.get('/user/:id/wall', function (req, res) { + var UsersCollection = DB.collection('users') + DB.collection('posts') + .find({"ownerId._id": req.params.id}) + .toArray(function (err, posts) { + async.mapLimit(posts, 5, function (post, next) { + UsersCollection.findOne({_id: new ObjectId(post.authorId._id)}, + function (err, data) { + post.author = data; + UsersCollection.findOne({_id: new ObjectId(post.ownerId._id)}, + function (err, data) { + post.owner = data; + next(null,post); + }) + }) + }, function (err,data) { + res.send(data); + }) + + + }) + - app.get('/user/:id/wall',function(req, res) { - res.send(_.where( DB.posts,{ownerId:req.params.id})); }) app.post('/user/:id/follow', function(req, res) { + + if(req.params.id == req.currentUser._id) { + res.status(400).send('You can\'t follow yourself') + return; + } if(_.find(req.currentUser.follow, function(followingId) { return req.params.id == followingId; + })) { res.status(400).send('There is such user in follows already OR you can\'t follow he/she') return; } if(!req.currentUser.follow) req.currentUser.follow = [] - req.currentUser.follow.push(req.params.id); - DB.save(); + + DB.collection('users').update({_id: req.currentUser._id}, req.currentUser) res.send(req.currentUser.follow) }) + app.delete('/user/:id/follow', function(req, res) { + DB.collection('users').findOne({_id: req.currentUser._id}, function(err, data){ + var id; + data.follow.forEach(function(item, i, arr) { + if(item == req.params.id) { + id = i + return + } + }) + if(id != undefined) { + data.follow.splice(id, 1) + DB.collection('users').update({_id: req.currentUser._id}, data) + res.send(req.currentUser) + } else { + res.status(400).send('No such user') + return + } + + }) + }) + app.get('/user/:id/followers', function(req, res) { var followers = []; - _.each(DB.users, function(index, i, arr) { - _.each(index.follow, function(item, j, array) { - if(item == req.params.id) followers.push(index.id) + DB.collection('users').find({}).toArray(function (err, data) { + data.forEach(function(index, i, arr) { + _.each(index.follow, function(item, j, array) { + if(item == req.params.id) followers.push(index._id); + }) }) + if(followers == []) { + res.status(400).send('The is no followers') + return + } + res.send(followers) }) - if(!followers) { - res.status(400).send('The is no followers') - return - } - res.send(followers) - }) - app.get('/user/:id/following', function(req, res) { - res.send(req.currentUser.follow) }) - app.delete('/user/:id/follow', function(req, res) { - if (!_.find(req.currentUser.follow, function(index, i, arr) { - return index == req.params.id - })) { - res.status(400).send('The is no such user in follows') - return; - } - - var id = (function(array) { - for(var i = 0; i < array.length; i++) { - if(req.params.id == array[i]){ - return i; + app.get('/user/:id/following', function(req, res) { + DB.collection('users').findOne({_id: new ObjectId(req.params.id)}, + function (err, user) { + if (!user) { + res.status(404).send({message: "not found"}) + return; } - } - })(req.currentUser.follow); - console.log(id) - req.currentUser.follow.splice(id, 1); - DB.save(); - res.send(req.currentUser.follow); + res.send(user.follow); + }) }) + app.post('/register', function (req, res) { // + console.log(req) if (!req.body.email) { res.status(400).send({message: "Email is required"}) return; @@ -105,26 +147,17 @@ module.exports = function(app){ } else if (!req.body.pwd || !req.body.repeatPwd || req.body.pwd != req.body.repeatPwd) { res.status(400).send({message: "Passwords do not match"}) return; - } else if(_.where(DB.users, {nick : req.body.nick}).length > 0) { - console.log(_.where(DB.users, {nick : req.body.nick})) - res.status(400).send({message: "There is such nick"}) - return; - } else if(! (req.body.pwd.length > 6 && /[A-Z]/.test(req.body.pwd) && ! /^[a-zA-Z0-9- ]*$/.test(req.body.pwd)) ) { - res.status(400).send({message: "a password must be six characters including one uppercase letter, one " + - "special character and alphanumeric characters."}) - return; } - var user = { email: req.body.email, nick: req.body.nick, - pwd: sha1(req.body.pwd), - id: ++uniqueId + pwd: req.body.pwd }; - DB.users.push(_.clone(user)) - DB.save(); - delete user.pwd; - res.send(user) + DB.collection('users').insert(user, function (err, data) { + delete user.pwd; + res.send(user) + }) + }) } \ No newline at end of file diff --git a/package.json b/package.json index d84201f..cd07b6f 100644 --- a/package.json +++ b/package.json @@ -4,6 +4,7 @@ "dependencies": { "body-parser": "^1.13.3", "express": "^4.13.3", + "mongodb": "^2.0.42", "underscore": "^1.8.3" }, "main": "app.js", @@ -20,5 +21,6 @@ "url": "https://github.com/vizhukova/SocialNetworkServer/issues" }, "homepage": "https://github.com/vizhukova/SocialNetworkServer#readme", + "devDependencies": {}, "description": "" } diff --git a/public/.gitignore b/public/.gitignore new file mode 100644 index 0000000..8d4ae25 --- /dev/null +++ b/public/.gitignore @@ -0,0 +1 @@ +bower_components diff --git a/public/README.md b/public/README.md new file mode 100644 index 0000000..2f5ff1c --- /dev/null +++ b/public/README.md @@ -0,0 +1,3 @@ +# SocialChaplin +Social network using Chaplin.js +Don't forget to make `bower install` firstly diff --git a/public/SOMEJS.js b/public/SOMEJS.js new file mode 100644 index 0000000..6942adb --- /dev/null +++ b/public/SOMEJS.js @@ -0,0 +1,3 @@ +window.onload = function() { + alert('Hey man!') +} \ No newline at end of file diff --git a/public/bower.json b/public/bower.json new file mode 100644 index 0000000..67cfa36 --- /dev/null +++ b/public/bower.json @@ -0,0 +1,20 @@ +{ + "name": "chaplin-boilerplate", + "version": "0.1.0", + "main": "index.js", + "ignore": [ + "**/.*", + "node_modules", + "bower_components", + "test", + "tests" + ], + "dependencies": { + "requirejs": "~2.1.9", + "chaplin": "~1.0.0", + "lodash": "~2.4.1", + "jquery": "~2.0.3", + "requirejs-text": "~2.0.9", + "handlebars": "~1.0.0" + } +} diff --git a/public/css/bootstrap.css b/public/css/bootstrap.css new file mode 100644 index 0000000..680e768 --- /dev/null +++ b/public/css/bootstrap.css @@ -0,0 +1,6800 @@ +/*! + * Bootstrap v3.3.5 (http://getbootstrap.com) + * Copyright 2011-2015 Twitter, Inc. + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) + */ +/*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */ +html { + font-family: sans-serif; + -webkit-text-size-adjust: 100%; + -ms-text-size-adjust: 100%; +} +body { + margin: 0; +} +article, +aside, +details, +figcaption, +figure, +footer, +header, +hgroup, +main, +menu, +nav, +section, +summary { + display: block; +} +audio, +canvas, +progress, +video { + display: inline-block; + vertical-align: baseline; +} +audio:not([controls]) { + display: none; + height: 0; +} +[hidden], +template { + display: none; +} +a { + background-color: transparent; +} +a:active, +a:hover { + outline: 0; +} +abbr[title] { + border-bottom: 1px dotted; +} +b, +strong { + font-weight: bold; +} +dfn { + font-style: italic; +} +h1 { + margin: .67em 0; + font-size: 2em; +} +mark { + color: #000; + background: #ff0; +} +small { + font-size: 80%; +} +sub, +sup { + position: relative; + font-size: 75%; + line-height: 0; + vertical-align: baseline; +} +sup { + top: -.5em; +} +sub { + bottom: -.25em; +} +img { + border: 0; +} +svg:not(:root) { + overflow: hidden; +} +figure { + margin: 1em 40px; +} +hr { + height: 0; + -webkit-box-sizing: content-box; + -moz-box-sizing: content-box; + box-sizing: content-box; +} +pre { + overflow: auto; +} +code, +kbd, +pre, +samp { + font-family: monospace, monospace; + font-size: 1em; +} +button, +input, +optgroup, +select, +textarea { + margin: 0; + font: inherit; + color: inherit; +} +button { + overflow: visible; +} +button, +select { + text-transform: none; +} +button, +html input[type="button"], +input[type="reset"], +input[type="submit"] { + -webkit-appearance: button; + cursor: pointer; +} +button[disabled], +html input[disabled] { + cursor: default; +} +button::-moz-focus-inner, +input::-moz-focus-inner { + padding: 0; + border: 0; +} +input { + line-height: normal; +} +input[type="checkbox"], +input[type="radio"] { + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; + padding: 0; +} +input[type="number"]::-webkit-inner-spin-button, +input[type="number"]::-webkit-outer-spin-button { + height: auto; +} +input[type="search"] { + -webkit-box-sizing: content-box; + -moz-box-sizing: content-box; + box-sizing: content-box; + -webkit-appearance: textfield; +} +input[type="search"]::-webkit-search-cancel-button, +input[type="search"]::-webkit-search-decoration { + -webkit-appearance: none; +} +fieldset { + padding: .35em .625em .75em; + margin: 0 2px; + border: 1px solid #c0c0c0; +} +legend { + padding: 0; + border: 0; +} +textarea { + overflow: auto; +} +optgroup { + font-weight: bold; +} +table { + border-spacing: 0; + border-collapse: collapse; +} +td, +th { + padding: 0; +} +/*! Source: https://github.com/h5bp/html5-boilerplate/blob/master/src/css/main.css */ +@media print { + *, + *:before, + *:after { + color: #000 !important; + text-shadow: none !important; + background: transparent !important; + -webkit-box-shadow: none !important; + box-shadow: none !important; + } + a, + a:visited { + text-decoration: underline; + } + a[href]:after { + content: " (" attr(href) ")"; + } + abbr[title]:after { + content: " (" attr(title) ")"; + } + a[href^="#"]:after, + a[href^="javascript:"]:after { + content: ""; + } + pre, + blockquote { + border: 1px solid #999; + + page-break-inside: avoid; + } + thead { + display: table-header-group; + } + tr, + img { + page-break-inside: avoid; + } + img { + max-width: 100% !important; + } + p, + h2, + h3 { + orphans: 3; + widows: 3; + } + h2, + h3 { + page-break-after: avoid; + } + .navbar { + display: none; + } + .btn > .caret, + .dropup > .btn > .caret { + border-top-color: #000 !important; + } + .label { + border: 1px solid #000; + } + .table { + border-collapse: collapse !important; + } + .table td, + .table th { + background-color: #fff !important; + } + .table-bordered th, + .table-bordered td { + border: 1px solid #ddd !important; + } +} +@font-face { + font-family: 'Glyphicons Halflings'; + + src: url('../fonts/glyphicons-halflings-regular.eot'); + src: url('../fonts/glyphicons-halflings-regular.eot?#iefix') format('embedded-opentype'), url('../fonts/glyphicons-halflings-regular.woff2') format('woff2'), url('../fonts/glyphicons-halflings-regular.woff') format('woff'), url('../fonts/glyphicons-halflings-regular.ttf') format('truetype'), url('../fonts/glyphicons-halflings-regular.svg#glyphicons_halflingsregular') format('svg'); +} +.glyphicon { + position: relative; + top: 1px; + display: inline-block; + font-family: 'Glyphicons Halflings'; + font-style: normal; + font-weight: normal; + line-height: 1; + + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; +} +.glyphicon-asterisk:before { + content: "\2a"; +} +.glyphicon-plus:before { + content: "\2b"; +} +.glyphicon-euro:before, +.glyphicon-eur:before { + content: "\20ac"; +} +.glyphicon-minus:before { + content: "\2212"; +} +.glyphicon-cloud:before { + content: "\2601"; +} +.glyphicon-envelope:before { + content: "\2709"; +} +.glyphicon-pencil:before { + content: "\270f"; +} +.glyphicon-glass:before { + content: "\e001"; +} +.glyphicon-music:before { + content: "\e002"; +} +.glyphicon-search:before { + content: "\e003"; +} +.glyphicon-heart:before { + content: "\e005"; +} +.glyphicon-star:before { + content: "\e006"; +} +.glyphicon-star-empty:before { + content: "\e007"; +} +.glyphicon-user:before { + content: "\e008"; +} +.glyphicon-film:before { + content: "\e009"; +} +.glyphicon-th-large:before { + content: "\e010"; +} +.glyphicon-th:before { + content: "\e011"; +} +.glyphicon-th-list:before { + content: "\e012"; +} +.glyphicon-ok:before { + content: "\e013"; +} +.glyphicon-remove:before { + content: "\e014"; +} +.glyphicon-zoom-in:before { + content: "\e015"; +} +.glyphicon-zoom-out:before { + content: "\e016"; +} +.glyphicon-off:before { + content: "\e017"; +} +.glyphicon-signal:before { + content: "\e018"; +} +.glyphicon-cog:before { + content: "\e019"; +} +.glyphicon-trash:before { + content: "\e020"; +} +.glyphicon-home:before { + content: "\e021"; +} +.glyphicon-file:before { + content: "\e022"; +} +.glyphicon-time:before { + content: "\e023"; +} +.glyphicon-road:before { + content: "\e024"; +} +.glyphicon-download-alt:before { + content: "\e025"; +} +.glyphicon-download:before { + content: "\e026"; +} +.glyphicon-upload:before { + content: "\e027"; +} +.glyphicon-inbox:before { + content: "\e028"; +} +.glyphicon-play-circle:before { + content: "\e029"; +} +.glyphicon-repeat:before { + content: "\e030"; +} +.glyphicon-refresh:before { + content: "\e031"; +} +.glyphicon-list-alt:before { + content: "\e032"; +} +.glyphicon-lock:before { + content: "\e033"; +} +.glyphicon-flag:before { + content: "\e034"; +} +.glyphicon-headphones:before { + content: "\e035"; +} +.glyphicon-volume-off:before { + content: "\e036"; +} +.glyphicon-volume-down:before { + content: "\e037"; +} +.glyphicon-volume-up:before { + content: "\e038"; +} +.glyphicon-qrcode:before { + content: "\e039"; +} +.glyphicon-barcode:before { + content: "\e040"; +} +.glyphicon-tag:before { + content: "\e041"; +} +.glyphicon-tags:before { + content: "\e042"; +} +.glyphicon-book:before { + content: "\e043"; +} +.glyphicon-bookmark:before { + content: "\e044"; +} +.glyphicon-print:before { + content: "\e045"; +} +.glyphicon-camera:before { + content: "\e046"; +} +.glyphicon-font:before { + content: "\e047"; +} +.glyphicon-bold:before { + content: "\e048"; +} +.glyphicon-italic:before { + content: "\e049"; +} +.glyphicon-text-height:before { + content: "\e050"; +} +.glyphicon-text-width:before { + content: "\e051"; +} +.glyphicon-align-left:before { + content: "\e052"; +} +.glyphicon-align-center:before { + content: "\e053"; +} +.glyphicon-align-right:before { + content: "\e054"; +} +.glyphicon-align-justify:before { + content: "\e055"; +} +.glyphicon-list:before { + content: "\e056"; +} +.glyphicon-indent-left:before { + content: "\e057"; +} +.glyphicon-indent-right:before { + content: "\e058"; +} +.glyphicon-facetime-video:before { + content: "\e059"; +} +.glyphicon-picture:before { + content: "\e060"; +} +.glyphicon-map-marker:before { + content: "\e062"; +} +.glyphicon-adjust:before { + content: "\e063"; +} +.glyphicon-tint:before { + content: "\e064"; +} +.glyphicon-edit:before { + content: "\e065"; +} +.glyphicon-share:before { + content: "\e066"; +} +.glyphicon-check:before { + content: "\e067"; +} +.glyphicon-move:before { + content: "\e068"; +} +.glyphicon-step-backward:before { + content: "\e069"; +} +.glyphicon-fast-backward:before { + content: "\e070"; +} +.glyphicon-backward:before { + content: "\e071"; +} +.glyphicon-play:before { + content: "\e072"; +} +.glyphicon-pause:before { + content: "\e073"; +} +.glyphicon-stop:before { + content: "\e074"; +} +.glyphicon-forward:before { + content: "\e075"; +} +.glyphicon-fast-forward:before { + content: "\e076"; +} +.glyphicon-step-forward:before { + content: "\e077"; +} +.glyphicon-eject:before { + content: "\e078"; +} +.glyphicon-chevron-left:before { + content: "\e079"; +} +.glyphicon-chevron-right:before { + content: "\e080"; +} +.glyphicon-plus-sign:before { + content: "\e081"; +} +.glyphicon-minus-sign:before { + content: "\e082"; +} +.glyphicon-remove-sign:before { + content: "\e083"; +} +.glyphicon-ok-sign:before { + content: "\e084"; +} +.glyphicon-question-sign:before { + content: "\e085"; +} +.glyphicon-info-sign:before { + content: "\e086"; +} +.glyphicon-screenshot:before { + content: "\e087"; +} +.glyphicon-remove-circle:before { + content: "\e088"; +} +.glyphicon-ok-circle:before { + content: "\e089"; +} +.glyphicon-ban-circle:before { + content: "\e090"; +} +.glyphicon-arrow-left:before { + content: "\e091"; +} +.glyphicon-arrow-right:before { + content: "\e092"; +} +.glyphicon-arrow-up:before { + content: "\e093"; +} +.glyphicon-arrow-down:before { + content: "\e094"; +} +.glyphicon-share-alt:before { + content: "\e095"; +} +.glyphicon-resize-full:before { + content: "\e096"; +} +.glyphicon-resize-small:before { + content: "\e097"; +} +.glyphicon-exclamation-sign:before { + content: "\e101"; +} +.glyphicon-gift:before { + content: "\e102"; +} +.glyphicon-leaf:before { + content: "\e103"; +} +.glyphicon-fire:before { + content: "\e104"; +} +.glyphicon-eye-open:before { + content: "\e105"; +} +.glyphicon-eye-close:before { + content: "\e106"; +} +.glyphicon-warning-sign:before { + content: "\e107"; +} +.glyphicon-plane:before { + content: "\e108"; +} +.glyphicon-calendar:before { + content: "\e109"; +} +.glyphicon-random:before { + content: "\e110"; +} +.glyphicon-comment:before { + content: "\e111"; +} +.glyphicon-magnet:before { + content: "\e112"; +} +.glyphicon-chevron-up:before { + content: "\e113"; +} +.glyphicon-chevron-down:before { + content: "\e114"; +} +.glyphicon-retweet:before { + content: "\e115"; +} +.glyphicon-shopping-cart:before { + content: "\e116"; +} +.glyphicon-folder-close:before { + content: "\e117"; +} +.glyphicon-folder-open:before { + content: "\e118"; +} +.glyphicon-resize-vertical:before { + content: "\e119"; +} +.glyphicon-resize-horizontal:before { + content: "\e120"; +} +.glyphicon-hdd:before { + content: "\e121"; +} +.glyphicon-bullhorn:before { + content: "\e122"; +} +.glyphicon-bell:before { + content: "\e123"; +} +.glyphicon-certificate:before { + content: "\e124"; +} +.glyphicon-thumbs-up:before { + content: "\e125"; +} +.glyphicon-thumbs-down:before { + content: "\e126"; +} +.glyphicon-hand-right:before { + content: "\e127"; +} +.glyphicon-hand-left:before { + content: "\e128"; +} +.glyphicon-hand-up:before { + content: "\e129"; +} +.glyphicon-hand-down:before { + content: "\e130"; +} +.glyphicon-circle-arrow-right:before { + content: "\e131"; +} +.glyphicon-circle-arrow-left:before { + content: "\e132"; +} +.glyphicon-circle-arrow-up:before { + content: "\e133"; +} +.glyphicon-circle-arrow-down:before { + content: "\e134"; +} +.glyphicon-globe:before { + content: "\e135"; +} +.glyphicon-wrench:before { + content: "\e136"; +} +.glyphicon-tasks:before { + content: "\e137"; +} +.glyphicon-filter:before { + content: "\e138"; +} +.glyphicon-briefcase:before { + content: "\e139"; +} +.glyphicon-fullscreen:before { + content: "\e140"; +} +.glyphicon-dashboard:before { + content: "\e141"; +} +.glyphicon-paperclip:before { + content: "\e142"; +} +.glyphicon-heart-empty:before { + content: "\e143"; +} +.glyphicon-link:before { + content: "\e144"; +} +.glyphicon-phone:before { + content: "\e145"; +} +.glyphicon-pushpin:before { + content: "\e146"; +} +.glyphicon-usd:before { + content: "\e148"; +} +.glyphicon-gbp:before { + content: "\e149"; +} +.glyphicon-sort:before { + content: "\e150"; +} +.glyphicon-sort-by-alphabet:before { + content: "\e151"; +} +.glyphicon-sort-by-alphabet-alt:before { + content: "\e152"; +} +.glyphicon-sort-by-order:before { + content: "\e153"; +} +.glyphicon-sort-by-order-alt:before { + content: "\e154"; +} +.glyphicon-sort-by-attributes:before { + content: "\e155"; +} +.glyphicon-sort-by-attributes-alt:before { + content: "\e156"; +} +.glyphicon-unchecked:before { + content: "\e157"; +} +.glyphicon-expand:before { + content: "\e158"; +} +.glyphicon-collapse-down:before { + content: "\e159"; +} +.glyphicon-collapse-up:before { + content: "\e160"; +} +.glyphicon-log-in:before { + content: "\e161"; +} +.glyphicon-flash:before { + content: "\e162"; +} +.glyphicon-log-out:before { + content: "\e163"; +} +.glyphicon-new-window:before { + content: "\e164"; +} +.glyphicon-record:before { + content: "\e165"; +} +.glyphicon-save:before { + content: "\e166"; +} +.glyphicon-open:before { + content: "\e167"; +} +.glyphicon-saved:before { + content: "\e168"; +} +.glyphicon-import:before { + content: "\e169"; +} +.glyphicon-export:before { + content: "\e170"; +} +.glyphicon-send:before { + content: "\e171"; +} +.glyphicon-floppy-disk:before { + content: "\e172"; +} +.glyphicon-floppy-saved:before { + content: "\e173"; +} +.glyphicon-floppy-remove:before { + content: "\e174"; +} +.glyphicon-floppy-save:before { + content: "\e175"; +} +.glyphicon-floppy-open:before { + content: "\e176"; +} +.glyphicon-credit-card:before { + content: "\e177"; +} +.glyphicon-transfer:before { + content: "\e178"; +} +.glyphicon-cutlery:before { + content: "\e179"; +} +.glyphicon-header:before { + content: "\e180"; +} +.glyphicon-compressed:before { + content: "\e181"; +} +.glyphicon-earphone:before { + content: "\e182"; +} +.glyphicon-phone-alt:before { + content: "\e183"; +} +.glyphicon-tower:before { + content: "\e184"; +} +.glyphicon-stats:before { + content: "\e185"; +} +.glyphicon-sd-video:before { + content: "\e186"; +} +.glyphicon-hd-video:before { + content: "\e187"; +} +.glyphicon-subtitles:before { + content: "\e188"; +} +.glyphicon-sound-stereo:before { + content: "\e189"; +} +.glyphicon-sound-dolby:before { + content: "\e190"; +} +.glyphicon-sound-5-1:before { + content: "\e191"; +} +.glyphicon-sound-6-1:before { + content: "\e192"; +} +.glyphicon-sound-7-1:before { + content: "\e193"; +} +.glyphicon-copyright-mark:before { + content: "\e194"; +} +.glyphicon-registration-mark:before { + content: "\e195"; +} +.glyphicon-cloud-download:before { + content: "\e197"; +} +.glyphicon-cloud-upload:before { + content: "\e198"; +} +.glyphicon-tree-conifer:before { + content: "\e199"; +} +.glyphicon-tree-deciduous:before { + content: "\e200"; +} +.glyphicon-cd:before { + content: "\e201"; +} +.glyphicon-save-file:before { + content: "\e202"; +} +.glyphicon-open-file:before { + content: "\e203"; +} +.glyphicon-level-up:before { + content: "\e204"; +} +.glyphicon-copy:before { + content: "\e205"; +} +.glyphicon-paste:before { + content: "\e206"; +} +.glyphicon-alert:before { + content: "\e209"; +} +.glyphicon-equalizer:before { + content: "\e210"; +} +.glyphicon-king:before { + content: "\e211"; +} +.glyphicon-queen:before { + content: "\e212"; +} +.glyphicon-pawn:before { + content: "\e213"; +} +.glyphicon-bishop:before { + content: "\e214"; +} +.glyphicon-knight:before { + content: "\e215"; +} +.glyphicon-baby-formula:before { + content: "\e216"; +} +.glyphicon-tent:before { + content: "\26fa"; +} +.glyphicon-blackboard:before { + content: "\e218"; +} +.glyphicon-bed:before { + content: "\e219"; +} +.glyphicon-apple:before { + content: "\f8ff"; +} +.glyphicon-erase:before { + content: "\e221"; +} +.glyphicon-hourglass:before { + content: "\231b"; +} +.glyphicon-lamp:before { + content: "\e223"; +} +.glyphicon-duplicate:before { + content: "\e224"; +} +.glyphicon-piggy-bank:before { + content: "\e225"; +} +.glyphicon-scissors:before { + content: "\e226"; +} +.glyphicon-bitcoin:before { + content: "\e227"; +} +.glyphicon-btc:before { + content: "\e227"; +} +.glyphicon-xbt:before { + content: "\e227"; +} +.glyphicon-yen:before { + content: "\00a5"; +} +.glyphicon-jpy:before { + content: "\00a5"; +} +.glyphicon-ruble:before { + content: "\20bd"; +} +.glyphicon-rub:before { + content: "\20bd"; +} +.glyphicon-scale:before { + content: "\e230"; +} +.glyphicon-ice-lolly:before { + content: "\e231"; +} +.glyphicon-ice-lolly-tasted:before { + content: "\e232"; +} +.glyphicon-education:before { + content: "\e233"; +} +.glyphicon-option-horizontal:before { + content: "\e234"; +} +.glyphicon-option-vertical:before { + content: "\e235"; +} +.glyphicon-menu-hamburger:before { + content: "\e236"; +} +.glyphicon-modal-window:before { + content: "\e237"; +} +.glyphicon-oil:before { + content: "\e238"; +} +.glyphicon-grain:before { + content: "\e239"; +} +.glyphicon-sunglasses:before { + content: "\e240"; +} +.glyphicon-text-size:before { + content: "\e241"; +} +.glyphicon-text-color:before { + content: "\e242"; +} +.glyphicon-text-background:before { + content: "\e243"; +} +.glyphicon-object-align-top:before { + content: "\e244"; +} +.glyphicon-object-align-bottom:before { + content: "\e245"; +} +.glyphicon-object-align-horizontal:before { + content: "\e246"; +} +.glyphicon-object-align-left:before { + content: "\e247"; +} +.glyphicon-object-align-vertical:before { + content: "\e248"; +} +.glyphicon-object-align-right:before { + content: "\e249"; +} +.glyphicon-triangle-right:before { + content: "\e250"; +} +.glyphicon-triangle-left:before { + content: "\e251"; +} +.glyphicon-triangle-bottom:before { + content: "\e252"; +} +.glyphicon-triangle-top:before { + content: "\e253"; +} +.glyphicon-console:before { + content: "\e254"; +} +.glyphicon-superscript:before { + content: "\e255"; +} +.glyphicon-subscript:before { + content: "\e256"; +} +.glyphicon-menu-left:before { + content: "\e257"; +} +.glyphicon-menu-right:before { + content: "\e258"; +} +.glyphicon-menu-down:before { + content: "\e259"; +} +.glyphicon-menu-up:before { + content: "\e260"; +} +* { + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; +} +*:before, +*:after { + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; +} +html { + font-size: 10px; + + -webkit-tap-highlight-color: rgba(0, 0, 0, 0); +} +body { + font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; + font-size: 14px; + line-height: 1.42857143; + color: #333; + background-color: #fff; +} +input, +button, +select, +textarea { + font-family: inherit; + font-size: inherit; + line-height: inherit; +} +a { + color: #337ab7; + text-decoration: none; +} +a:hover, +a:focus { + color: #23527c; + text-decoration: underline; +} +a:focus { + outline: thin dotted; + outline: 5px auto -webkit-focus-ring-color; + outline-offset: -2px; +} +figure { + margin: 0; +} +img { + vertical-align: middle; +} +.img-responsive, +.thumbnail > img, +.thumbnail a > img, +.carousel-inner > .item > img, +.carousel-inner > .item > a > img { + display: block; + max-width: 100%; + height: auto; +} +.img-rounded { + border-radius: 6px; +} +.img-thumbnail { + display: inline-block; + max-width: 100%; + height: auto; + padding: 4px; + line-height: 1.42857143; + background-color: #fff; + border: 1px solid #ddd; + border-radius: 4px; + -webkit-transition: all .2s ease-in-out; + -o-transition: all .2s ease-in-out; + transition: all .2s ease-in-out; +} +.img-circle { + border-radius: 50%; +} +hr { + margin-top: 20px; + margin-bottom: 20px; + border: 0; + border-top: 1px solid #eee; +} +.sr-only { + position: absolute; + width: 1px; + height: 1px; + padding: 0; + margin: -1px; + overflow: hidden; + clip: rect(0, 0, 0, 0); + border: 0; +} +.sr-only-focusable:active, +.sr-only-focusable:focus { + position: static; + width: auto; + height: auto; + margin: 0; + overflow: visible; + clip: auto; +} +[role="button"] { + cursor: pointer; +} +h1, +h2, +h3, +h4, +h5, +h6, +.h1, +.h2, +.h3, +.h4, +.h5, +.h6 { + font-family: inherit; + font-weight: 500; + line-height: 1.1; + color: inherit; +} +h1 small, +h2 small, +h3 small, +h4 small, +h5 small, +h6 small, +.h1 small, +.h2 small, +.h3 small, +.h4 small, +.h5 small, +.h6 small, +h1 .small, +h2 .small, +h3 .small, +h4 .small, +h5 .small, +h6 .small, +.h1 .small, +.h2 .small, +.h3 .small, +.h4 .small, +.h5 .small, +.h6 .small { + font-weight: normal; + line-height: 1; + color: #777; +} +h1, +.h1, +h2, +.h2, +h3, +.h3 { + margin-top: 20px; + margin-bottom: 10px; +} +h1 small, +.h1 small, +h2 small, +.h2 small, +h3 small, +.h3 small, +h1 .small, +.h1 .small, +h2 .small, +.h2 .small, +h3 .small, +.h3 .small { + font-size: 65%; +} +h4, +.h4, +h5, +.h5, +h6, +.h6 { + margin-top: 10px; + margin-bottom: 10px; +} +h4 small, +.h4 small, +h5 small, +.h5 small, +h6 small, +.h6 small, +h4 .small, +.h4 .small, +h5 .small, +.h5 .small, +h6 .small, +.h6 .small { + font-size: 75%; +} +h1, +.h1 { + font-size: 36px; +} +h2, +.h2 { + font-size: 30px; +} +h3, +.h3 { + font-size: 24px; +} +h4, +.h4 { + font-size: 18px; +} +h5, +.h5 { + font-size: 14px; +} +h6, +.h6 { + font-size: 12px; +} +p { + margin: 0 0 10px; +} +.lead { + margin-bottom: 20px; + font-size: 16px; + font-weight: 300; + line-height: 1.4; +} +@media (min-width: 768px) { + .lead { + font-size: 21px; + } +} +small, +.small { + font-size: 85%; +} +mark, +.mark { + padding: .2em; + background-color: #fcf8e3; +} +.text-left { + text-align: left; +} +.text-right { + text-align: right; +} +.text-center { + text-align: center; +} +.text-justify { + text-align: justify; +} +.text-nowrap { + white-space: nowrap; +} +.text-lowercase { + text-transform: lowercase; +} +.text-uppercase { + text-transform: uppercase; +} +.text-capitalize { + text-transform: capitalize; +} +.text-muted { + color: #777; +} +.text-primary { + color: #337ab7; +} +a.text-primary:hover, +a.text-primary:focus { + color: #286090; +} +.text-success { + color: #3c763d; +} +a.text-success:hover, +a.text-success:focus { + color: #2b542c; +} +.text-info { + color: #31708f; +} +a.text-info:hover, +a.text-info:focus { + color: #245269; +} +.text-warning { + color: #8a6d3b; +} +a.text-warning:hover, +a.text-warning:focus { + color: #66512c; +} +.text-danger { + color: #a94442; +} +a.text-danger:hover, +a.text-danger:focus { + color: #843534; +} +.bg-primary { + color: #fff; + background-color: #337ab7; +} +a.bg-primary:hover, +a.bg-primary:focus { + background-color: #286090; +} +.bg-success { + background-color: #dff0d8; +} +a.bg-success:hover, +a.bg-success:focus { + background-color: #c1e2b3; +} +.bg-info { + background-color: #d9edf7; +} +a.bg-info:hover, +a.bg-info:focus { + background-color: #afd9ee; +} +.bg-warning { + background-color: #fcf8e3; +} +a.bg-warning:hover, +a.bg-warning:focus { + background-color: #f7ecb5; +} +.bg-danger { + background-color: #f2dede; +} +a.bg-danger:hover, +a.bg-danger:focus { + background-color: #e4b9b9; +} +.page-header { + padding-bottom: 9px; + margin: 40px 0 20px; + border-bottom: 1px solid #eee; +} +ul, +ol { + margin-top: 0; + margin-bottom: 10px; +} +ul ul, +ol ul, +ul ol, +ol ol { + margin-bottom: 0; +} +.list-unstyled { + padding-left: 0; + list-style: none; +} +.list-inline { + padding-left: 0; + margin-left: -5px; + list-style: none; +} +.list-inline > li { + display: inline-block; + padding-right: 5px; + padding-left: 5px; +} +dl { + margin-top: 0; + margin-bottom: 20px; +} +dt, +dd { + line-height: 1.42857143; +} +dt { + font-weight: bold; +} +dd { + margin-left: 0; +} +@media (min-width: 768px) { + .dl-horizontal dt { + float: left; + width: 160px; + overflow: hidden; + clear: left; + text-align: right; + text-overflow: ellipsis; + white-space: nowrap; + } + .dl-horizontal dd { + margin-left: 180px; + } +} +abbr[title], +abbr[data-original-title] { + cursor: help; + border-bottom: 1px dotted #777; +} +.initialism { + font-size: 90%; + text-transform: uppercase; +} +blockquote { + padding: 10px 20px; + margin: 0 0 20px; + font-size: 17.5px; + border-left: 5px solid #eee; +} +blockquote p:last-child, +blockquote ul:last-child, +blockquote ol:last-child { + margin-bottom: 0; +} +blockquote footer, +blockquote small, +blockquote .small { + display: block; + font-size: 80%; + line-height: 1.42857143; + color: #777; +} +blockquote footer:before, +blockquote small:before, +blockquote .small:before { + content: '\2014 \00A0'; +} +.blockquote-reverse, +blockquote.pull-right { + padding-right: 15px; + padding-left: 0; + text-align: right; + border-right: 5px solid #eee; + border-left: 0; +} +.blockquote-reverse footer:before, +blockquote.pull-right footer:before, +.blockquote-reverse small:before, +blockquote.pull-right small:before, +.blockquote-reverse .small:before, +blockquote.pull-right .small:before { + content: ''; +} +.blockquote-reverse footer:after, +blockquote.pull-right footer:after, +.blockquote-reverse small:after, +blockquote.pull-right small:after, +.blockquote-reverse .small:after, +blockquote.pull-right .small:after { + content: '\00A0 \2014'; +} +address { + margin-bottom: 20px; + font-style: normal; + line-height: 1.42857143; +} +code, +kbd, +pre, +samp { + font-family: Menlo, Monaco, Consolas, "Courier New", monospace; +} +code { + padding: 2px 4px; + font-size: 90%; + color: #c7254e; + background-color: #f9f2f4; + border-radius: 4px; +} +kbd { + padding: 2px 4px; + font-size: 90%; + color: #fff; + background-color: #333; + border-radius: 3px; + -webkit-box-shadow: inset 0 -1px 0 rgba(0, 0, 0, .25); + box-shadow: inset 0 -1px 0 rgba(0, 0, 0, .25); +} +kbd kbd { + padding: 0; + font-size: 100%; + font-weight: bold; + -webkit-box-shadow: none; + box-shadow: none; +} +pre { + display: block; + padding: 9.5px; + margin: 0 0 10px; + font-size: 13px; + line-height: 1.42857143; + color: #333; + word-break: break-all; + word-wrap: break-word; + background-color: #f5f5f5; + border: 1px solid #ccc; + border-radius: 4px; +} +pre code { + padding: 0; + font-size: inherit; + color: inherit; + white-space: pre-wrap; + background-color: transparent; + border-radius: 0; +} +.pre-scrollable { + max-height: 340px; + overflow-y: scroll; +} +.container { + padding-right: 15px; + padding-left: 15px; + margin-right: auto; + margin-left: auto; +} +@media (min-width: 768px) { + .container { + width: 750px; + } +} +@media (min-width: 992px) { + .container { + width: 970px; + } +} +@media (min-width: 1200px) { + .container { + width: 1170px; + } +} +.container-fluid { + padding-right: 15px; + padding-left: 15px; + margin-right: auto; + margin-left: auto; +} +.row { + margin-right: -15px; + margin-left: -15px; +} +.col-xs-1, .col-sm-1, .col-md-1, .col-lg-1, .col-xs-2, .col-sm-2, .col-md-2, .col-lg-2, .col-xs-3, .col-sm-3, .col-md-3, .col-lg-3, .col-xs-4, .col-sm-4, .col-md-4, .col-lg-4, .col-xs-5, .col-sm-5, .col-md-5, .col-lg-5, .col-xs-6, .col-sm-6, .col-md-6, .col-lg-6, .col-xs-7, .col-sm-7, .col-md-7, .col-lg-7, .col-xs-8, .col-sm-8, .col-md-8, .col-lg-8, .col-xs-9, .col-sm-9, .col-md-9, .col-lg-9, .col-xs-10, .col-sm-10, .col-md-10, .col-lg-10, .col-xs-11, .col-sm-11, .col-md-11, .col-lg-11, .col-xs-12, .col-sm-12, .col-md-12, .col-lg-12 { + position: relative; + min-height: 1px; + padding-right: 15px; + padding-left: 15px; +} +.col-xs-1, .col-xs-2, .col-xs-3, .col-xs-4, .col-xs-5, .col-xs-6, .col-xs-7, .col-xs-8, .col-xs-9, .col-xs-10, .col-xs-11, .col-xs-12 { + float: left; +} +.col-xs-12 { + width: 100%; +} +.col-xs-11 { + width: 91.66666667%; +} +.col-xs-10 { + width: 83.33333333%; +} +.col-xs-9 { + width: 75%; +} +.col-xs-8 { + width: 66.66666667%; +} +.col-xs-7 { + width: 58.33333333%; +} +.col-xs-6 { + width: 50%; +} +.col-xs-5 { + width: 41.66666667%; +} +.col-xs-4 { + width: 33.33333333%; +} +.col-xs-3 { + width: 25%; +} +.col-xs-2 { + width: 16.66666667%; +} +.col-xs-1 { + width: 8.33333333%; +} +.col-xs-pull-12 { + right: 100%; +} +.col-xs-pull-11 { + right: 91.66666667%; +} +.col-xs-pull-10 { + right: 83.33333333%; +} +.col-xs-pull-9 { + right: 75%; +} +.col-xs-pull-8 { + right: 66.66666667%; +} +.col-xs-pull-7 { + right: 58.33333333%; +} +.col-xs-pull-6 { + right: 50%; +} +.col-xs-pull-5 { + right: 41.66666667%; +} +.col-xs-pull-4 { + right: 33.33333333%; +} +.col-xs-pull-3 { + right: 25%; +} +.col-xs-pull-2 { + right: 16.66666667%; +} +.col-xs-pull-1 { + right: 8.33333333%; +} +.col-xs-pull-0 { + right: auto; +} +.col-xs-push-12 { + left: 100%; +} +.col-xs-push-11 { + left: 91.66666667%; +} +.col-xs-push-10 { + left: 83.33333333%; +} +.col-xs-push-9 { + left: 75%; +} +.col-xs-push-8 { + left: 66.66666667%; +} +.col-xs-push-7 { + left: 58.33333333%; +} +.col-xs-push-6 { + left: 50%; +} +.col-xs-push-5 { + left: 41.66666667%; +} +.col-xs-push-4 { + left: 33.33333333%; +} +.col-xs-push-3 { + left: 25%; +} +.col-xs-push-2 { + left: 16.66666667%; +} +.col-xs-push-1 { + left: 8.33333333%; +} +.col-xs-push-0 { + left: auto; +} +.col-xs-offset-12 { + margin-left: 100%; +} +.col-xs-offset-11 { + margin-left: 91.66666667%; +} +.col-xs-offset-10 { + margin-left: 83.33333333%; +} +.col-xs-offset-9 { + margin-left: 75%; +} +.col-xs-offset-8 { + margin-left: 66.66666667%; +} +.col-xs-offset-7 { + margin-left: 58.33333333%; +} +.col-xs-offset-6 { + margin-left: 50%; +} +.col-xs-offset-5 { + margin-left: 41.66666667%; +} +.col-xs-offset-4 { + margin-left: 33.33333333%; +} +.col-xs-offset-3 { + margin-left: 25%; +} +.col-xs-offset-2 { + margin-left: 16.66666667%; +} +.col-xs-offset-1 { + margin-left: 8.33333333%; +} +.col-xs-offset-0 { + margin-left: 0; +} +@media (min-width: 768px) { + .col-sm-1, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11, .col-sm-12 { + float: left; + } + .col-sm-12 { + width: 100%; + } + .col-sm-11 { + width: 91.66666667%; + } + .col-sm-10 { + width: 83.33333333%; + } + .col-sm-9 { + width: 75%; + } + .col-sm-8 { + width: 66.66666667%; + } + .col-sm-7 { + width: 58.33333333%; + } + .col-sm-6 { + width: 50%; + } + .col-sm-5 { + width: 41.66666667%; + } + .col-sm-4 { + width: 33.33333333%; + } + .col-sm-3 { + width: 25%; + } + .col-sm-2 { + width: 16.66666667%; + } + .col-sm-1 { + width: 8.33333333%; + } + .col-sm-pull-12 { + right: 100%; + } + .col-sm-pull-11 { + right: 91.66666667%; + } + .col-sm-pull-10 { + right: 83.33333333%; + } + .col-sm-pull-9 { + right: 75%; + } + .col-sm-pull-8 { + right: 66.66666667%; + } + .col-sm-pull-7 { + right: 58.33333333%; + } + .col-sm-pull-6 { + right: 50%; + } + .col-sm-pull-5 { + right: 41.66666667%; + } + .col-sm-pull-4 { + right: 33.33333333%; + } + .col-sm-pull-3 { + right: 25%; + } + .col-sm-pull-2 { + right: 16.66666667%; + } + .col-sm-pull-1 { + right: 8.33333333%; + } + .col-sm-pull-0 { + right: auto; + } + .col-sm-push-12 { + left: 100%; + } + .col-sm-push-11 { + left: 91.66666667%; + } + .col-sm-push-10 { + left: 83.33333333%; + } + .col-sm-push-9 { + left: 75%; + } + .col-sm-push-8 { + left: 66.66666667%; + } + .col-sm-push-7 { + left: 58.33333333%; + } + .col-sm-push-6 { + left: 50%; + } + .col-sm-push-5 { + left: 41.66666667%; + } + .col-sm-push-4 { + left: 33.33333333%; + } + .col-sm-push-3 { + left: 25%; + } + .col-sm-push-2 { + left: 16.66666667%; + } + .col-sm-push-1 { + left: 8.33333333%; + } + .col-sm-push-0 { + left: auto; + } + .col-sm-offset-12 { + margin-left: 100%; + } + .col-sm-offset-11 { + margin-left: 91.66666667%; + } + .col-sm-offset-10 { + margin-left: 83.33333333%; + } + .col-sm-offset-9 { + margin-left: 75%; + } + .col-sm-offset-8 { + margin-left: 66.66666667%; + } + .col-sm-offset-7 { + margin-left: 58.33333333%; + } + .col-sm-offset-6 { + margin-left: 50%; + } + .col-sm-offset-5 { + margin-left: 41.66666667%; + } + .col-sm-offset-4 { + margin-left: 33.33333333%; + } + .col-sm-offset-3 { + margin-left: 25%; + } + .col-sm-offset-2 { + margin-left: 16.66666667%; + } + .col-sm-offset-1 { + margin-left: 8.33333333%; + } + .col-sm-offset-0 { + margin-left: 0; + } +} +@media (min-width: 992px) { + .col-md-1, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11, .col-md-12 { + float: left; + } + .col-md-12 { + width: 100%; + } + .col-md-11 { + width: 91.66666667%; + } + .col-md-10 { + width: 83.33333333%; + } + .col-md-9 { + width: 75%; + } + .col-md-8 { + width: 66.66666667%; + } + .col-md-7 { + width: 58.33333333%; + } + .col-md-6 { + width: 50%; + } + .col-md-5 { + width: 41.66666667%; + } + .col-md-4 { + width: 33.33333333%; + } + .col-md-3 { + width: 25%; + } + .col-md-2 { + width: 16.66666667%; + } + .col-md-1 { + width: 8.33333333%; + } + .col-md-pull-12 { + right: 100%; + } + .col-md-pull-11 { + right: 91.66666667%; + } + .col-md-pull-10 { + right: 83.33333333%; + } + .col-md-pull-9 { + right: 75%; + } + .col-md-pull-8 { + right: 66.66666667%; + } + .col-md-pull-7 { + right: 58.33333333%; + } + .col-md-pull-6 { + right: 50%; + } + .col-md-pull-5 { + right: 41.66666667%; + } + .col-md-pull-4 { + right: 33.33333333%; + } + .col-md-pull-3 { + right: 25%; + } + .col-md-pull-2 { + right: 16.66666667%; + } + .col-md-pull-1 { + right: 8.33333333%; + } + .col-md-pull-0 { + right: auto; + } + .col-md-push-12 { + left: 100%; + } + .col-md-push-11 { + left: 91.66666667%; + } + .col-md-push-10 { + left: 83.33333333%; + } + .col-md-push-9 { + left: 75%; + } + .col-md-push-8 { + left: 66.66666667%; + } + .col-md-push-7 { + left: 58.33333333%; + } + .col-md-push-6 { + left: 50%; + } + .col-md-push-5 { + left: 41.66666667%; + } + .col-md-push-4 { + left: 33.33333333%; + } + .col-md-push-3 { + left: 25%; + } + .col-md-push-2 { + left: 16.66666667%; + } + .col-md-push-1 { + left: 8.33333333%; + } + .col-md-push-0 { + left: auto; + } + .col-md-offset-12 { + margin-left: 100%; + } + .col-md-offset-11 { + margin-left: 91.66666667%; + } + .col-md-offset-10 { + margin-left: 83.33333333%; + } + .col-md-offset-9 { + margin-left: 75%; + } + .col-md-offset-8 { + margin-left: 66.66666667%; + } + .col-md-offset-7 { + margin-left: 58.33333333%; + } + .col-md-offset-6 { + margin-left: 50%; + } + .col-md-offset-5 { + margin-left: 41.66666667%; + } + .col-md-offset-4 { + margin-left: 33.33333333%; + } + .col-md-offset-3 { + margin-left: 25%; + } + .col-md-offset-2 { + margin-left: 16.66666667%; + } + .col-md-offset-1 { + margin-left: 8.33333333%; + } + .col-md-offset-0 { + margin-left: 0; + } +} +@media (min-width: 1200px) { + .col-lg-1, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-10, .col-lg-11, .col-lg-12 { + float: left; + } + .col-lg-12 { + width: 100%; + } + .col-lg-11 { + width: 91.66666667%; + } + .col-lg-10 { + width: 83.33333333%; + } + .col-lg-9 { + width: 75%; + } + .col-lg-8 { + width: 66.66666667%; + } + .col-lg-7 { + width: 58.33333333%; + } + .col-lg-6 { + width: 50%; + } + .col-lg-5 { + width: 41.66666667%; + } + .col-lg-4 { + width: 33.33333333%; + } + .col-lg-3 { + width: 25%; + } + .col-lg-2 { + width: 16.66666667%; + } + .col-lg-1 { + width: 8.33333333%; + } + .col-lg-pull-12 { + right: 100%; + } + .col-lg-pull-11 { + right: 91.66666667%; + } + .col-lg-pull-10 { + right: 83.33333333%; + } + .col-lg-pull-9 { + right: 75%; + } + .col-lg-pull-8 { + right: 66.66666667%; + } + .col-lg-pull-7 { + right: 58.33333333%; + } + .col-lg-pull-6 { + right: 50%; + } + .col-lg-pull-5 { + right: 41.66666667%; + } + .col-lg-pull-4 { + right: 33.33333333%; + } + .col-lg-pull-3 { + right: 25%; + } + .col-lg-pull-2 { + right: 16.66666667%; + } + .col-lg-pull-1 { + right: 8.33333333%; + } + .col-lg-pull-0 { + right: auto; + } + .col-lg-push-12 { + left: 100%; + } + .col-lg-push-11 { + left: 91.66666667%; + } + .col-lg-push-10 { + left: 83.33333333%; + } + .col-lg-push-9 { + left: 75%; + } + .col-lg-push-8 { + left: 66.66666667%; + } + .col-lg-push-7 { + left: 58.33333333%; + } + .col-lg-push-6 { + left: 50%; + } + .col-lg-push-5 { + left: 41.66666667%; + } + .col-lg-push-4 { + left: 33.33333333%; + } + .col-lg-push-3 { + left: 25%; + } + .col-lg-push-2 { + left: 16.66666667%; + } + .col-lg-push-1 { + left: 8.33333333%; + } + .col-lg-push-0 { + left: auto; + } + .col-lg-offset-12 { + margin-left: 100%; + } + .col-lg-offset-11 { + margin-left: 91.66666667%; + } + .col-lg-offset-10 { + margin-left: 83.33333333%; + } + .col-lg-offset-9 { + margin-left: 75%; + } + .col-lg-offset-8 { + margin-left: 66.66666667%; + } + .col-lg-offset-7 { + margin-left: 58.33333333%; + } + .col-lg-offset-6 { + margin-left: 50%; + } + .col-lg-offset-5 { + margin-left: 41.66666667%; + } + .col-lg-offset-4 { + margin-left: 33.33333333%; + } + .col-lg-offset-3 { + margin-left: 25%; + } + .col-lg-offset-2 { + margin-left: 16.66666667%; + } + .col-lg-offset-1 { + margin-left: 8.33333333%; + } + .col-lg-offset-0 { + margin-left: 0; + } +} +table { + background-color: transparent; +} +caption { + padding-top: 8px; + padding-bottom: 8px; + color: #777; + text-align: left; +} +th { + text-align: left; +} +.table { + width: 100%; + max-width: 100%; + margin-bottom: 20px; +} +.table > thead > tr > th, +.table > tbody > tr > th, +.table > tfoot > tr > th, +.table > thead > tr > td, +.table > tbody > tr > td, +.table > tfoot > tr > td { + padding: 8px; + line-height: 1.42857143; + vertical-align: top; + border-top: 1px solid #ddd; +} +.table > thead > tr > th { + vertical-align: bottom; + border-bottom: 2px solid #ddd; +} +.table > caption + thead > tr:first-child > th, +.table > colgroup + thead > tr:first-child > th, +.table > thead:first-child > tr:first-child > th, +.table > caption + thead > tr:first-child > td, +.table > colgroup + thead > tr:first-child > td, +.table > thead:first-child > tr:first-child > td { + border-top: 0; +} +.table > tbody + tbody { + border-top: 2px solid #ddd; +} +.table .table { + background-color: #fff; +} +.table-condensed > thead > tr > th, +.table-condensed > tbody > tr > th, +.table-condensed > tfoot > tr > th, +.table-condensed > thead > tr > td, +.table-condensed > tbody > tr > td, +.table-condensed > tfoot > tr > td { + padding: 5px; +} +.table-bordered { + border: 1px solid #ddd; +} +.table-bordered > thead > tr > th, +.table-bordered > tbody > tr > th, +.table-bordered > tfoot > tr > th, +.table-bordered > thead > tr > td, +.table-bordered > tbody > tr > td, +.table-bordered > tfoot > tr > td { + border: 1px solid #ddd; +} +.table-bordered > thead > tr > th, +.table-bordered > thead > tr > td { + border-bottom-width: 2px; +} +.table-striped > tbody > tr:nth-of-type(odd) { + background-color: #f9f9f9; +} +.table-hover > tbody > tr:hover { + background-color: #f5f5f5; +} +table col[class*="col-"] { + position: static; + display: table-column; + float: none; +} +table td[class*="col-"], +table th[class*="col-"] { + position: static; + display: table-cell; + float: none; +} +.table > thead > tr > td.active, +.table > tbody > tr > td.active, +.table > tfoot > tr > td.active, +.table > thead > tr > th.active, +.table > tbody > tr > th.active, +.table > tfoot > tr > th.active, +.table > thead > tr.active > td, +.table > tbody > tr.active > td, +.table > tfoot > tr.active > td, +.table > thead > tr.active > th, +.table > tbody > tr.active > th, +.table > tfoot > tr.active > th { + background-color: #f5f5f5; +} +.table-hover > tbody > tr > td.active:hover, +.table-hover > tbody > tr > th.active:hover, +.table-hover > tbody > tr.active:hover > td, +.table-hover > tbody > tr:hover > .active, +.table-hover > tbody > tr.active:hover > th { + background-color: #e8e8e8; +} +.table > thead > tr > td.success, +.table > tbody > tr > td.success, +.table > tfoot > tr > td.success, +.table > thead > tr > th.success, +.table > tbody > tr > th.success, +.table > tfoot > tr > th.success, +.table > thead > tr.success > td, +.table > tbody > tr.success > td, +.table > tfoot > tr.success > td, +.table > thead > tr.success > th, +.table > tbody > tr.success > th, +.table > tfoot > tr.success > th { + background-color: #dff0d8; +} +.table-hover > tbody > tr > td.success:hover, +.table-hover > tbody > tr > th.success:hover, +.table-hover > tbody > tr.success:hover > td, +.table-hover > tbody > tr:hover > .success, +.table-hover > tbody > tr.success:hover > th { + background-color: #d0e9c6; +} +.table > thead > tr > td.info, +.table > tbody > tr > td.info, +.table > tfoot > tr > td.info, +.table > thead > tr > th.info, +.table > tbody > tr > th.info, +.table > tfoot > tr > th.info, +.table > thead > tr.info > td, +.table > tbody > tr.info > td, +.table > tfoot > tr.info > td, +.table > thead > tr.info > th, +.table > tbody > tr.info > th, +.table > tfoot > tr.info > th { + background-color: #d9edf7; +} +.table-hover > tbody > tr > td.info:hover, +.table-hover > tbody > tr > th.info:hover, +.table-hover > tbody > tr.info:hover > td, +.table-hover > tbody > tr:hover > .info, +.table-hover > tbody > tr.info:hover > th { + background-color: #c4e3f3; +} +.table > thead > tr > td.warning, +.table > tbody > tr > td.warning, +.table > tfoot > tr > td.warning, +.table > thead > tr > th.warning, +.table > tbody > tr > th.warning, +.table > tfoot > tr > th.warning, +.table > thead > tr.warning > td, +.table > tbody > tr.warning > td, +.table > tfoot > tr.warning > td, +.table > thead > tr.warning > th, +.table > tbody > tr.warning > th, +.table > tfoot > tr.warning > th { + background-color: #fcf8e3; +} +.table-hover > tbody > tr > td.warning:hover, +.table-hover > tbody > tr > th.warning:hover, +.table-hover > tbody > tr.warning:hover > td, +.table-hover > tbody > tr:hover > .warning, +.table-hover > tbody > tr.warning:hover > th { + background-color: #faf2cc; +} +.table > thead > tr > td.danger, +.table > tbody > tr > td.danger, +.table > tfoot > tr > td.danger, +.table > thead > tr > th.danger, +.table > tbody > tr > th.danger, +.table > tfoot > tr > th.danger, +.table > thead > tr.danger > td, +.table > tbody > tr.danger > td, +.table > tfoot > tr.danger > td, +.table > thead > tr.danger > th, +.table > tbody > tr.danger > th, +.table > tfoot > tr.danger > th { + background-color: #f2dede; +} +.table-hover > tbody > tr > td.danger:hover, +.table-hover > tbody > tr > th.danger:hover, +.table-hover > tbody > tr.danger:hover > td, +.table-hover > tbody > tr:hover > .danger, +.table-hover > tbody > tr.danger:hover > th { + background-color: #ebcccc; +} +.table-responsive { + min-height: .01%; + overflow-x: auto; +} +@media screen and (max-width: 767px) { + .table-responsive { + width: 100%; + margin-bottom: 15px; + overflow-y: hidden; + -ms-overflow-style: -ms-autohiding-scrollbar; + border: 1px solid #ddd; + } + .table-responsive > .table { + margin-bottom: 0; + } + .table-responsive > .table > thead > tr > th, + .table-responsive > .table > tbody > tr > th, + .table-responsive > .table > tfoot > tr > th, + .table-responsive > .table > thead > tr > td, + .table-responsive > .table > tbody > tr > td, + .table-responsive > .table > tfoot > tr > td { + white-space: nowrap; + } + .table-responsive > .table-bordered { + border: 0; + } + .table-responsive > .table-bordered > thead > tr > th:first-child, + .table-responsive > .table-bordered > tbody > tr > th:first-child, + .table-responsive > .table-bordered > tfoot > tr > th:first-child, + .table-responsive > .table-bordered > thead > tr > td:first-child, + .table-responsive > .table-bordered > tbody > tr > td:first-child, + .table-responsive > .table-bordered > tfoot > tr > td:first-child { + border-left: 0; + } + .table-responsive > .table-bordered > thead > tr > th:last-child, + .table-responsive > .table-bordered > tbody > tr > th:last-child, + .table-responsive > .table-bordered > tfoot > tr > th:last-child, + .table-responsive > .table-bordered > thead > tr > td:last-child, + .table-responsive > .table-bordered > tbody > tr > td:last-child, + .table-responsive > .table-bordered > tfoot > tr > td:last-child { + border-right: 0; + } + .table-responsive > .table-bordered > tbody > tr:last-child > th, + .table-responsive > .table-bordered > tfoot > tr:last-child > th, + .table-responsive > .table-bordered > tbody > tr:last-child > td, + .table-responsive > .table-bordered > tfoot > tr:last-child > td { + border-bottom: 0; + } +} +fieldset { + min-width: 0; + padding: 0; + margin: 0; + border: 0; +} +legend { + display: block; + width: 100%; + padding: 0; + margin-bottom: 20px; + font-size: 21px; + line-height: inherit; + color: #333; + border: 0; + border-bottom: 1px solid #e5e5e5; +} +label { + display: inline-block; + max-width: 100%; + margin-bottom: 5px; + font-weight: bold; +} +input[type="search"] { + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; +} +input[type="radio"], +input[type="checkbox"] { + margin: 4px 0 0; + margin-top: 1px \9; + line-height: normal; +} +input[type="file"] { + display: block; +} +input[type="range"] { + display: block; + width: 100%; +} +select[multiple], +select[size] { + height: auto; +} +input[type="file"]:focus, +input[type="radio"]:focus, +input[type="checkbox"]:focus { + outline: thin dotted; + outline: 5px auto -webkit-focus-ring-color; + outline-offset: -2px; +} +output { + display: block; + padding-top: 7px; + font-size: 14px; + line-height: 1.42857143; + color: #555; +} +.form-control { + display: block; + width: 100%; + height: 34px; + padding: 6px 12px; + font-size: 14px; + line-height: 1.42857143; + color: #555; + background-color: #fff; + background-image: none; + border: 1px solid #ccc; + border-radius: 4px; + -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075); + box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075); + -webkit-transition: border-color ease-in-out .15s, -webkit-box-shadow ease-in-out .15s; + -o-transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s; + transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s; +} +.form-control:focus { + border-color: #66afe9; + outline: 0; + -webkit-box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(102, 175, 233, .6); + box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(102, 175, 233, .6); +} +.form-control::-moz-placeholder { + color: #999; + opacity: 1; +} +.form-control:-ms-input-placeholder { + color: #999; +} +.form-control::-webkit-input-placeholder { + color: #999; +} +.form-control[disabled], +.form-control[readonly], +fieldset[disabled] .form-control { + background-color: #eee; + opacity: 1; +} +.form-control[disabled], +fieldset[disabled] .form-control { + cursor: not-allowed; +} +textarea.form-control { + height: auto; +} +input[type="search"] { + -webkit-appearance: none; +} +@media screen and (-webkit-min-device-pixel-ratio: 0) { + input[type="date"].form-control, + input[type="time"].form-control, + input[type="datetime-local"].form-control, + input[type="month"].form-control { + line-height: 34px; + } + input[type="date"].input-sm, + input[type="time"].input-sm, + input[type="datetime-local"].input-sm, + input[type="month"].input-sm, + .input-group-sm input[type="date"], + .input-group-sm input[type="time"], + .input-group-sm input[type="datetime-local"], + .input-group-sm input[type="month"] { + line-height: 30px; + } + input[type="date"].input-lg, + input[type="time"].input-lg, + input[type="datetime-local"].input-lg, + input[type="month"].input-lg, + .input-group-lg input[type="date"], + .input-group-lg input[type="time"], + .input-group-lg input[type="datetime-local"], + .input-group-lg input[type="month"] { + line-height: 46px; + } +} +.form-group { + margin-bottom: 15px; +} +.radio, +.checkbox { + position: relative; + display: block; + margin-top: 10px; + margin-bottom: 10px; +} +.radio label, +.checkbox label { + min-height: 20px; + padding-left: 20px; + margin-bottom: 0; + font-weight: normal; + cursor: pointer; +} +.radio input[type="radio"], +.radio-inline input[type="radio"], +.checkbox input[type="checkbox"], +.checkbox-inline input[type="checkbox"] { + position: absolute; + margin-top: 4px \9; + margin-left: -20px; +} +.radio + .radio, +.checkbox + .checkbox { + margin-top: -5px; +} +.radio-inline, +.checkbox-inline { + position: relative; + display: inline-block; + padding-left: 20px; + margin-bottom: 0; + font-weight: normal; + vertical-align: middle; + cursor: pointer; +} +.radio-inline + .radio-inline, +.checkbox-inline + .checkbox-inline { + margin-top: 0; + margin-left: 10px; +} +input[type="radio"][disabled], +input[type="checkbox"][disabled], +input[type="radio"].disabled, +input[type="checkbox"].disabled, +fieldset[disabled] input[type="radio"], +fieldset[disabled] input[type="checkbox"] { + cursor: not-allowed; +} +.radio-inline.disabled, +.checkbox-inline.disabled, +fieldset[disabled] .radio-inline, +fieldset[disabled] .checkbox-inline { + cursor: not-allowed; +} +.radio.disabled label, +.checkbox.disabled label, +fieldset[disabled] .radio label, +fieldset[disabled] .checkbox label { + cursor: not-allowed; +} +.form-control-static { + min-height: 34px; + padding-top: 7px; + padding-bottom: 7px; + margin-bottom: 0; +} +.form-control-static.input-lg, +.form-control-static.input-sm { + padding-right: 0; + padding-left: 0; +} +.input-sm { + height: 30px; + padding: 5px 10px; + font-size: 12px; + line-height: 1.5; + border-radius: 3px; +} +select.input-sm { + height: 30px; + line-height: 30px; +} +textarea.input-sm, +select[multiple].input-sm { + height: auto; +} +.form-group-sm .form-control { + height: 30px; + padding: 5px 10px; + font-size: 12px; + line-height: 1.5; + border-radius: 3px; +} +.form-group-sm select.form-control { + height: 30px; + line-height: 30px; +} +.form-group-sm textarea.form-control, +.form-group-sm select[multiple].form-control { + height: auto; +} +.form-group-sm .form-control-static { + height: 30px; + min-height: 32px; + padding: 6px 10px; + font-size: 12px; + line-height: 1.5; +} +.input-lg { + height: 46px; + padding: 10px 16px; + font-size: 18px; + line-height: 1.3333333; + border-radius: 6px; +} +select.input-lg { + height: 46px; + line-height: 46px; +} +textarea.input-lg, +select[multiple].input-lg { + height: auto; +} +.form-group-lg .form-control { + height: 46px; + padding: 10px 16px; + font-size: 18px; + line-height: 1.3333333; + border-radius: 6px; +} +.form-group-lg select.form-control { + height: 46px; + line-height: 46px; +} +.form-group-lg textarea.form-control, +.form-group-lg select[multiple].form-control { + height: auto; +} +.form-group-lg .form-control-static { + height: 46px; + min-height: 38px; + padding: 11px 16px; + font-size: 18px; + line-height: 1.3333333; +} +.has-feedback { + position: relative; +} +.has-feedback .form-control { + padding-right: 42.5px; +} +.form-control-feedback { + position: absolute; + top: 0; + right: 0; + z-index: 2; + display: block; + width: 34px; + height: 34px; + line-height: 34px; + text-align: center; + pointer-events: none; +} +.input-lg + .form-control-feedback, +.input-group-lg + .form-control-feedback, +.form-group-lg .form-control + .form-control-feedback { + width: 46px; + height: 46px; + line-height: 46px; +} +.input-sm + .form-control-feedback, +.input-group-sm + .form-control-feedback, +.form-group-sm .form-control + .form-control-feedback { + width: 30px; + height: 30px; + line-height: 30px; +} +.has-success .help-block, +.has-success .control-label, +.has-success .radio, +.has-success .checkbox, +.has-success .radio-inline, +.has-success .checkbox-inline, +.has-success.radio label, +.has-success.checkbox label, +.has-success.radio-inline label, +.has-success.checkbox-inline label { + color: #3c763d; +} +.has-success .form-control { + border-color: #3c763d; + -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075); + box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075); +} +.has-success .form-control:focus { + border-color: #2b542c; + -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075), 0 0 6px #67b168; + box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075), 0 0 6px #67b168; +} +.has-success .input-group-addon { + color: #3c763d; + background-color: #dff0d8; + border-color: #3c763d; +} +.has-success .form-control-feedback { + color: #3c763d; +} +.has-warning .help-block, +.has-warning .control-label, +.has-warning .radio, +.has-warning .checkbox, +.has-warning .radio-inline, +.has-warning .checkbox-inline, +.has-warning.radio label, +.has-warning.checkbox label, +.has-warning.radio-inline label, +.has-warning.checkbox-inline label { + color: #8a6d3b; +} +.has-warning .form-control { + border-color: #8a6d3b; + -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075); + box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075); +} +.has-warning .form-control:focus { + border-color: #66512c; + -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075), 0 0 6px #c0a16b; + box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075), 0 0 6px #c0a16b; +} +.has-warning .input-group-addon { + color: #8a6d3b; + background-color: #fcf8e3; + border-color: #8a6d3b; +} +.has-warning .form-control-feedback { + color: #8a6d3b; +} +.has-error .help-block, +.has-error .control-label, +.has-error .radio, +.has-error .checkbox, +.has-error .radio-inline, +.has-error .checkbox-inline, +.has-error.radio label, +.has-error.checkbox label, +.has-error.radio-inline label, +.has-error.checkbox-inline label { + color: #a94442; +} +.has-error .form-control { + border-color: #a94442; + -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075); + box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075); +} +.has-error .form-control:focus { + border-color: #843534; + -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075), 0 0 6px #ce8483; + box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075), 0 0 6px #ce8483; +} +.has-error .input-group-addon { + color: #a94442; + background-color: #f2dede; + border-color: #a94442; +} +.has-error .form-control-feedback { + color: #a94442; +} +.has-feedback label ~ .form-control-feedback { + top: 25px; +} +.has-feedback label.sr-only ~ .form-control-feedback { + top: 0; +} +.help-block { + display: block; + margin-top: 5px; + margin-bottom: 10px; + color: #737373; +} +@media (min-width: 768px) { + .form-inline .form-group { + display: inline-block; + margin-bottom: 0; + vertical-align: middle; + } + .form-inline .form-control { + display: inline-block; + width: auto; + vertical-align: middle; + } + .form-inline .form-control-static { + display: inline-block; + } + .form-inline .input-group { + display: inline-table; + vertical-align: middle; + } + .form-inline .input-group .input-group-addon, + .form-inline .input-group .input-group-btn, + .form-inline .input-group .form-control { + width: auto; + } + .form-inline .input-group > .form-control { + width: 100%; + } + .form-inline .control-label { + margin-bottom: 0; + vertical-align: middle; + } + .form-inline .radio, + .form-inline .checkbox { + display: inline-block; + margin-top: 0; + margin-bottom: 0; + vertical-align: middle; + } + .form-inline .radio label, + .form-inline .checkbox label { + padding-left: 0; + } + .form-inline .radio input[type="radio"], + .form-inline .checkbox input[type="checkbox"] { + position: relative; + margin-left: 0; + } + .form-inline .has-feedback .form-control-feedback { + top: 0; + } +} +.form-horizontal .radio, +.form-horizontal .checkbox, +.form-horizontal .radio-inline, +.form-horizontal .checkbox-inline { + padding-top: 7px; + margin-top: 0; + margin-bottom: 0; +} +.form-horizontal .radio, +.form-horizontal .checkbox { + min-height: 27px; +} +.form-horizontal .form-group { + margin-right: -15px; + margin-left: -15px; +} +@media (min-width: 768px) { + .form-horizontal .control-label { + padding-top: 7px; + margin-bottom: 0; + text-align: right; + } +} +.form-horizontal .has-feedback .form-control-feedback { + right: 15px; +} +@media (min-width: 768px) { + .form-horizontal .form-group-lg .control-label { + padding-top: 14.333333px; + font-size: 18px; + } +} +@media (min-width: 768px) { + .form-horizontal .form-group-sm .control-label { + padding-top: 6px; + font-size: 12px; + } +} +.btn { + display: inline-block; + padding: 6px 12px; + margin-bottom: 0; + font-size: 14px; + font-weight: normal; + line-height: 1.42857143; + text-align: center; + white-space: nowrap; + vertical-align: middle; + -ms-touch-action: manipulation; + touch-action: manipulation; + cursor: pointer; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; + background-image: none; + border: 1px solid transparent; + border-radius: 4px; +} +.btn:focus, +.btn:active:focus, +.btn.active:focus, +.btn.focus, +.btn:active.focus, +.btn.active.focus { + outline: thin dotted; + outline: 5px auto -webkit-focus-ring-color; + outline-offset: -2px; +} +.btn:hover, +.btn:focus, +.btn.focus { + color: #333; + text-decoration: none; +} +.btn:active, +.btn.active { + background-image: none; + outline: 0; + -webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, .125); + box-shadow: inset 0 3px 5px rgba(0, 0, 0, .125); +} +.btn.disabled, +.btn[disabled], +fieldset[disabled] .btn { + cursor: not-allowed; + filter: alpha(opacity=65); + -webkit-box-shadow: none; + box-shadow: none; + opacity: .65; +} +a.btn.disabled, +fieldset[disabled] a.btn { + pointer-events: none; +} +.btn-default { + color: #333; + background-color: #fff; + border-color: #ccc; +} +.btn-default:focus, +.btn-default.focus { + color: #333; + background-color: #e6e6e6; + border-color: #8c8c8c; +} +.btn-default:hover { + color: #333; + background-color: #e6e6e6; + border-color: #adadad; +} +.btn-default:active, +.btn-default.active, +.open > .dropdown-toggle.btn-default { + color: #333; + background-color: #e6e6e6; + border-color: #adadad; +} +.btn-default:active:hover, +.btn-default.active:hover, +.open > .dropdown-toggle.btn-default:hover, +.btn-default:active:focus, +.btn-default.active:focus, +.open > .dropdown-toggle.btn-default:focus, +.btn-default:active.focus, +.btn-default.active.focus, +.open > .dropdown-toggle.btn-default.focus { + color: #333; + background-color: #d4d4d4; + border-color: #8c8c8c; +} +.btn-default:active, +.btn-default.active, +.open > .dropdown-toggle.btn-default { + background-image: none; +} +.btn-default.disabled, +.btn-default[disabled], +fieldset[disabled] .btn-default, +.btn-default.disabled:hover, +.btn-default[disabled]:hover, +fieldset[disabled] .btn-default:hover, +.btn-default.disabled:focus, +.btn-default[disabled]:focus, +fieldset[disabled] .btn-default:focus, +.btn-default.disabled.focus, +.btn-default[disabled].focus, +fieldset[disabled] .btn-default.focus, +.btn-default.disabled:active, +.btn-default[disabled]:active, +fieldset[disabled] .btn-default:active, +.btn-default.disabled.active, +.btn-default[disabled].active, +fieldset[disabled] .btn-default.active { + background-color: #fff; + border-color: #ccc; +} +.btn-default .badge { + color: #fff; + background-color: #333; +} +.btn-primary { + color: #fff; + background-color: #337ab7; + border-color: #2e6da4; +} +.btn-primary:focus, +.btn-primary.focus { + color: #fff; + background-color: #286090; + border-color: #122b40; +} +.btn-primary:hover { + color: #fff; + background-color: #286090; + border-color: #204d74; +} +.btn-primary:active, +.btn-primary.active, +.open > .dropdown-toggle.btn-primary { + color: #fff; + background-color: #286090; + border-color: #204d74; +} +.btn-primary:active:hover, +.btn-primary.active:hover, +.open > .dropdown-toggle.btn-primary:hover, +.btn-primary:active:focus, +.btn-primary.active:focus, +.open > .dropdown-toggle.btn-primary:focus, +.btn-primary:active.focus, +.btn-primary.active.focus, +.open > .dropdown-toggle.btn-primary.focus { + color: #fff; + background-color: #204d74; + border-color: #122b40; +} +.btn-primary:active, +.btn-primary.active, +.open > .dropdown-toggle.btn-primary { + background-image: none; +} +.btn-primary.disabled, +.btn-primary[disabled], +fieldset[disabled] .btn-primary, +.btn-primary.disabled:hover, +.btn-primary[disabled]:hover, +fieldset[disabled] .btn-primary:hover, +.btn-primary.disabled:focus, +.btn-primary[disabled]:focus, +fieldset[disabled] .btn-primary:focus, +.btn-primary.disabled.focus, +.btn-primary[disabled].focus, +fieldset[disabled] .btn-primary.focus, +.btn-primary.disabled:active, +.btn-primary[disabled]:active, +fieldset[disabled] .btn-primary:active, +.btn-primary.disabled.active, +.btn-primary[disabled].active, +fieldset[disabled] .btn-primary.active { + background-color: #337ab7; + border-color: #2e6da4; +} +.btn-primary .badge { + color: #337ab7; + background-color: #fff; +} +.btn-success { + color: #fff; + background-color: #5cb85c; + border-color: #4cae4c; +} +.btn-success:focus, +.btn-success.focus { + color: #fff; + background-color: #449d44; + border-color: #255625; +} +.btn-success:hover { + color: #fff; + background-color: #449d44; + border-color: #398439; +} +.btn-success:active, +.btn-success.active, +.open > .dropdown-toggle.btn-success { + color: #fff; + background-color: #449d44; + border-color: #398439; +} +.btn-success:active:hover, +.btn-success.active:hover, +.open > .dropdown-toggle.btn-success:hover, +.btn-success:active:focus, +.btn-success.active:focus, +.open > .dropdown-toggle.btn-success:focus, +.btn-success:active.focus, +.btn-success.active.focus, +.open > .dropdown-toggle.btn-success.focus { + color: #fff; + background-color: #398439; + border-color: #255625; +} +.btn-success:active, +.btn-success.active, +.open > .dropdown-toggle.btn-success { + background-image: none; +} +.btn-success.disabled, +.btn-success[disabled], +fieldset[disabled] .btn-success, +.btn-success.disabled:hover, +.btn-success[disabled]:hover, +fieldset[disabled] .btn-success:hover, +.btn-success.disabled:focus, +.btn-success[disabled]:focus, +fieldset[disabled] .btn-success:focus, +.btn-success.disabled.focus, +.btn-success[disabled].focus, +fieldset[disabled] .btn-success.focus, +.btn-success.disabled:active, +.btn-success[disabled]:active, +fieldset[disabled] .btn-success:active, +.btn-success.disabled.active, +.btn-success[disabled].active, +fieldset[disabled] .btn-success.active { + background-color: #5cb85c; + border-color: #4cae4c; +} +.btn-success .badge { + color: #5cb85c; + background-color: #fff; +} +.btn-info { + color: #fff; + background-color: #5bc0de; + border-color: #46b8da; +} +.btn-info:focus, +.btn-info.focus { + color: #fff; + background-color: #31b0d5; + border-color: #1b6d85; +} +.btn-info:hover { + color: #fff; + background-color: #31b0d5; + border-color: #269abc; +} +.btn-info:active, +.btn-info.active, +.open > .dropdown-toggle.btn-info { + color: #fff; + background-color: #31b0d5; + border-color: #269abc; +} +.btn-info:active:hover, +.btn-info.active:hover, +.open > .dropdown-toggle.btn-info:hover, +.btn-info:active:focus, +.btn-info.active:focus, +.open > .dropdown-toggle.btn-info:focus, +.btn-info:active.focus, +.btn-info.active.focus, +.open > .dropdown-toggle.btn-info.focus { + color: #fff; + background-color: #269abc; + border-color: #1b6d85; +} +.btn-info:active, +.btn-info.active, +.open > .dropdown-toggle.btn-info { + background-image: none; +} +.btn-info.disabled, +.btn-info[disabled], +fieldset[disabled] .btn-info, +.btn-info.disabled:hover, +.btn-info[disabled]:hover, +fieldset[disabled] .btn-info:hover, +.btn-info.disabled:focus, +.btn-info[disabled]:focus, +fieldset[disabled] .btn-info:focus, +.btn-info.disabled.focus, +.btn-info[disabled].focus, +fieldset[disabled] .btn-info.focus, +.btn-info.disabled:active, +.btn-info[disabled]:active, +fieldset[disabled] .btn-info:active, +.btn-info.disabled.active, +.btn-info[disabled].active, +fieldset[disabled] .btn-info.active { + background-color: #5bc0de; + border-color: #46b8da; +} +.btn-info .badge { + color: #5bc0de; + background-color: #fff; +} +.btn-warning { + color: #fff; + background-color: #f0ad4e; + border-color: #eea236; +} +.btn-warning:focus, +.btn-warning.focus { + color: #fff; + background-color: #ec971f; + border-color: #985f0d; +} +.btn-warning:hover { + color: #fff; + background-color: #ec971f; + border-color: #d58512; +} +.btn-warning:active, +.btn-warning.active, +.open > .dropdown-toggle.btn-warning { + color: #fff; + background-color: #ec971f; + border-color: #d58512; +} +.btn-warning:active:hover, +.btn-warning.active:hover, +.open > .dropdown-toggle.btn-warning:hover, +.btn-warning:active:focus, +.btn-warning.active:focus, +.open > .dropdown-toggle.btn-warning:focus, +.btn-warning:active.focus, +.btn-warning.active.focus, +.open > .dropdown-toggle.btn-warning.focus { + color: #fff; + background-color: #d58512; + border-color: #985f0d; +} +.btn-warning:active, +.btn-warning.active, +.open > .dropdown-toggle.btn-warning { + background-image: none; +} +.btn-warning.disabled, +.btn-warning[disabled], +fieldset[disabled] .btn-warning, +.btn-warning.disabled:hover, +.btn-warning[disabled]:hover, +fieldset[disabled] .btn-warning:hover, +.btn-warning.disabled:focus, +.btn-warning[disabled]:focus, +fieldset[disabled] .btn-warning:focus, +.btn-warning.disabled.focus, +.btn-warning[disabled].focus, +fieldset[disabled] .btn-warning.focus, +.btn-warning.disabled:active, +.btn-warning[disabled]:active, +fieldset[disabled] .btn-warning:active, +.btn-warning.disabled.active, +.btn-warning[disabled].active, +fieldset[disabled] .btn-warning.active { + background-color: #f0ad4e; + border-color: #eea236; +} +.btn-warning .badge { + color: #f0ad4e; + background-color: #fff; +} +.btn-danger { + color: #fff; + background-color: #d9534f; + border-color: #d43f3a; +} +.btn-danger:focus, +.btn-danger.focus { + color: #fff; + background-color: #c9302c; + border-color: #761c19; +} +.btn-danger:hover { + color: #fff; + background-color: #c9302c; + border-color: #ac2925; +} +.btn-danger:active, +.btn-danger.active, +.open > .dropdown-toggle.btn-danger { + color: #fff; + background-color: #c9302c; + border-color: #ac2925; +} +.btn-danger:active:hover, +.btn-danger.active:hover, +.open > .dropdown-toggle.btn-danger:hover, +.btn-danger:active:focus, +.btn-danger.active:focus, +.open > .dropdown-toggle.btn-danger:focus, +.btn-danger:active.focus, +.btn-danger.active.focus, +.open > .dropdown-toggle.btn-danger.focus { + color: #fff; + background-color: #ac2925; + border-color: #761c19; +} +.btn-danger:active, +.btn-danger.active, +.open > .dropdown-toggle.btn-danger { + background-image: none; +} +.btn-danger.disabled, +.btn-danger[disabled], +fieldset[disabled] .btn-danger, +.btn-danger.disabled:hover, +.btn-danger[disabled]:hover, +fieldset[disabled] .btn-danger:hover, +.btn-danger.disabled:focus, +.btn-danger[disabled]:focus, +fieldset[disabled] .btn-danger:focus, +.btn-danger.disabled.focus, +.btn-danger[disabled].focus, +fieldset[disabled] .btn-danger.focus, +.btn-danger.disabled:active, +.btn-danger[disabled]:active, +fieldset[disabled] .btn-danger:active, +.btn-danger.disabled.active, +.btn-danger[disabled].active, +fieldset[disabled] .btn-danger.active { + background-color: #d9534f; + border-color: #d43f3a; +} +.btn-danger .badge { + color: #d9534f; + background-color: #fff; +} +.btn-link { + font-weight: normal; + color: #337ab7; + border-radius: 0; +} +.btn-link, +.btn-link:active, +.btn-link.active, +.btn-link[disabled], +fieldset[disabled] .btn-link { + background-color: transparent; + -webkit-box-shadow: none; + box-shadow: none; +} +.btn-link, +.btn-link:hover, +.btn-link:focus, +.btn-link:active { + border-color: transparent; +} +.btn-link:hover, +.btn-link:focus { + color: #23527c; + text-decoration: underline; + background-color: transparent; +} +.btn-link[disabled]:hover, +fieldset[disabled] .btn-link:hover, +.btn-link[disabled]:focus, +fieldset[disabled] .btn-link:focus { + color: #777; + text-decoration: none; +} +.btn-lg, +.btn-group-lg > .btn { + padding: 10px 16px; + font-size: 18px; + line-height: 1.3333333; + border-radius: 6px; +} +.btn-sm, +.btn-group-sm > .btn { + padding: 5px 10px; + font-size: 12px; + line-height: 1.5; + border-radius: 3px; +} +.btn-xs, +.btn-group-xs > .btn { + padding: 1px 5px; + font-size: 12px; + line-height: 1.5; + border-radius: 3px; +} +.btn-block { + display: block; + width: 100%; +} +.btn-block + .btn-block { + margin-top: 5px; +} +input[type="submit"].btn-block, +input[type="reset"].btn-block, +input[type="button"].btn-block { + width: 100%; +} +.fade { + opacity: 0; + -webkit-transition: opacity .15s linear; + -o-transition: opacity .15s linear; + transition: opacity .15s linear; +} +.fade.in { + opacity: 1; +} +.collapse { + display: none; +} +.collapse.in { + display: block; +} +tr.collapse.in { + display: table-row; +} +tbody.collapse.in { + display: table-row-group; +} +.collapsing { + position: relative; + height: 0; + overflow: hidden; + -webkit-transition-timing-function: ease; + -o-transition-timing-function: ease; + transition-timing-function: ease; + -webkit-transition-duration: .35s; + -o-transition-duration: .35s; + transition-duration: .35s; + -webkit-transition-property: height, visibility; + -o-transition-property: height, visibility; + transition-property: height, visibility; +} +.caret { + display: inline-block; + width: 0; + height: 0; + margin-left: 2px; + vertical-align: middle; + border-top: 4px dashed; + border-top: 4px solid \9; + border-right: 4px solid transparent; + border-left: 4px solid transparent; +} +.dropup, +.dropdown { + position: relative; +} +.dropdown-toggle:focus { + outline: 0; +} +.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; + font-size: 14px; + text-align: left; + list-style: none; + background-color: #fff; + -webkit-background-clip: padding-box; + background-clip: padding-box; + border: 1px solid #ccc; + border: 1px solid rgba(0, 0, 0, .15); + border-radius: 4px; + -webkit-box-shadow: 0 6px 12px rgba(0, 0, 0, .175); + box-shadow: 0 6px 12px rgba(0, 0, 0, .175); +} +.dropdown-menu.pull-right { + right: 0; + left: auto; +} +.dropdown-menu .divider { + height: 1px; + margin: 9px 0; + overflow: hidden; + background-color: #e5e5e5; +} +.dropdown-menu > li > a { + display: block; + padding: 3px 20px; + clear: both; + font-weight: normal; + line-height: 1.42857143; + color: #333; + white-space: nowrap; +} +.dropdown-menu > li > a:hover, +.dropdown-menu > li > a:focus { + color: #262626; + text-decoration: none; + background-color: #f5f5f5; +} +.dropdown-menu > .active > a, +.dropdown-menu > .active > a:hover, +.dropdown-menu > .active > a:focus { + color: #fff; + text-decoration: none; + background-color: #337ab7; + outline: 0; +} +.dropdown-menu > .disabled > a, +.dropdown-menu > .disabled > a:hover, +.dropdown-menu > .disabled > a:focus { + color: #777; +} +.dropdown-menu > .disabled > a:hover, +.dropdown-menu > .disabled > a:focus { + text-decoration: none; + cursor: not-allowed; + background-color: transparent; + background-image: none; + filter: progid:DXImageTransform.Microsoft.gradient(enabled = false); +} +.open > .dropdown-menu { + display: block; +} +.open > a { + outline: 0; +} +.dropdown-menu-right { + right: 0; + left: auto; +} +.dropdown-menu-left { + right: auto; + left: 0; +} +.dropdown-header { + display: block; + padding: 3px 20px; + font-size: 12px; + line-height: 1.42857143; + color: #777; + white-space: nowrap; +} +.dropdown-backdrop { + position: fixed; + top: 0; + right: 0; + bottom: 0; + left: 0; + z-index: 990; +} +.pull-right > .dropdown-menu { + right: 0; + left: auto; +} +.dropup .caret, +.navbar-fixed-bottom .dropdown .caret { + content: ""; + border-top: 0; + border-bottom: 4px dashed; + border-bottom: 4px solid \9; +} +.dropup .dropdown-menu, +.navbar-fixed-bottom .dropdown .dropdown-menu { + top: auto; + bottom: 100%; + margin-bottom: 2px; +} +@media (min-width: 768px) { + .navbar-right .dropdown-menu { + right: 0; + left: auto; + } + .navbar-right .dropdown-menu-left { + right: auto; + left: 0; + } +} +.btn-group, +.btn-group-vertical { + position: relative; + display: inline-block; + vertical-align: middle; +} +.btn-group > .btn, +.btn-group-vertical > .btn { + position: relative; + float: left; +} +.btn-group > .btn:hover, +.btn-group-vertical > .btn:hover, +.btn-group > .btn:focus, +.btn-group-vertical > .btn:focus, +.btn-group > .btn:active, +.btn-group-vertical > .btn:active, +.btn-group > .btn.active, +.btn-group-vertical > .btn.active { + z-index: 2; +} +.btn-group .btn + .btn, +.btn-group .btn + .btn-group, +.btn-group .btn-group + .btn, +.btn-group .btn-group + .btn-group { + margin-left: -1px; +} +.btn-toolbar { + margin-left: -5px; +} +.btn-toolbar .btn, +.btn-toolbar .btn-group, +.btn-toolbar .input-group { + float: left; +} +.btn-toolbar > .btn, +.btn-toolbar > .btn-group, +.btn-toolbar > .input-group { + margin-left: 5px; +} +.btn-group > .btn:not(:first-child):not(:last-child):not(.dropdown-toggle) { + border-radius: 0; +} +.btn-group > .btn:first-child { + margin-left: 0; +} +.btn-group > .btn:first-child:not(:last-child):not(.dropdown-toggle) { + border-top-right-radius: 0; + border-bottom-right-radius: 0; +} +.btn-group > .btn:last-child:not(:first-child), +.btn-group > .dropdown-toggle:not(:first-child) { + border-top-left-radius: 0; + border-bottom-left-radius: 0; +} +.btn-group > .btn-group { + float: left; +} +.btn-group > .btn-group:not(:first-child):not(:last-child) > .btn { + border-radius: 0; +} +.btn-group > .btn-group:first-child:not(:last-child) > .btn:last-child, +.btn-group > .btn-group:first-child:not(:last-child) > .dropdown-toggle { + border-top-right-radius: 0; + border-bottom-right-radius: 0; +} +.btn-group > .btn-group:last-child:not(:first-child) > .btn:first-child { + border-top-left-radius: 0; + border-bottom-left-radius: 0; +} +.btn-group .dropdown-toggle:active, +.btn-group.open .dropdown-toggle { + outline: 0; +} +.btn-group > .btn + .dropdown-toggle { + padding-right: 8px; + padding-left: 8px; +} +.btn-group > .btn-lg + .dropdown-toggle { + padding-right: 12px; + padding-left: 12px; +} +.btn-group.open .dropdown-toggle { + -webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, .125); + box-shadow: inset 0 3px 5px rgba(0, 0, 0, .125); +} +.btn-group.open .dropdown-toggle.btn-link { + -webkit-box-shadow: none; + box-shadow: none; +} +.btn .caret { + margin-left: 0; +} +.btn-lg .caret { + border-width: 5px 5px 0; + border-bottom-width: 0; +} +.dropup .btn-lg .caret { + border-width: 0 5px 5px; +} +.btn-group-vertical > .btn, +.btn-group-vertical > .btn-group, +.btn-group-vertical > .btn-group > .btn { + display: block; + float: none; + width: 100%; + max-width: 100%; +} +.btn-group-vertical > .btn-group > .btn { + float: none; +} +.btn-group-vertical > .btn + .btn, +.btn-group-vertical > .btn + .btn-group, +.btn-group-vertical > .btn-group + .btn, +.btn-group-vertical > .btn-group + .btn-group { + margin-top: -1px; + margin-left: 0; +} +.btn-group-vertical > .btn:not(:first-child):not(:last-child) { + border-radius: 0; +} +.btn-group-vertical > .btn:first-child:not(:last-child) { + border-top-right-radius: 4px; + border-bottom-right-radius: 0; + border-bottom-left-radius: 0; +} +.btn-group-vertical > .btn:last-child:not(:first-child) { + border-top-left-radius: 0; + border-top-right-radius: 0; + border-bottom-left-radius: 4px; +} +.btn-group-vertical > .btn-group:not(:first-child):not(:last-child) > .btn { + border-radius: 0; +} +.btn-group-vertical > .btn-group:first-child:not(:last-child) > .btn:last-child, +.btn-group-vertical > .btn-group:first-child:not(:last-child) > .dropdown-toggle { + border-bottom-right-radius: 0; + border-bottom-left-radius: 0; +} +.btn-group-vertical > .btn-group:last-child:not(:first-child) > .btn:first-child { + border-top-left-radius: 0; + border-top-right-radius: 0; +} +.btn-group-justified { + display: table; + width: 100%; + table-layout: fixed; + border-collapse: separate; +} +.btn-group-justified > .btn, +.btn-group-justified > .btn-group { + display: table-cell; + float: none; + width: 1%; +} +.btn-group-justified > .btn-group .btn { + width: 100%; +} +.btn-group-justified > .btn-group .dropdown-menu { + left: auto; +} +[data-toggle="buttons"] > .btn input[type="radio"], +[data-toggle="buttons"] > .btn-group > .btn input[type="radio"], +[data-toggle="buttons"] > .btn input[type="checkbox"], +[data-toggle="buttons"] > .btn-group > .btn input[type="checkbox"] { + position: absolute; + clip: rect(0, 0, 0, 0); + pointer-events: none; +} +.input-group { + position: relative; + display: table; + border-collapse: separate; +} +.input-group[class*="col-"] { + float: none; + padding-right: 0; + padding-left: 0; +} +.input-group .form-control { + position: relative; + z-index: 2; + float: left; + width: 100%; + margin-bottom: 0; +} +.input-group-lg > .form-control, +.input-group-lg > .input-group-addon, +.input-group-lg > .input-group-btn > .btn { + height: 46px; + padding: 10px 16px; + font-size: 18px; + line-height: 1.3333333; + border-radius: 6px; +} +select.input-group-lg > .form-control, +select.input-group-lg > .input-group-addon, +select.input-group-lg > .input-group-btn > .btn { + height: 46px; + line-height: 46px; +} +textarea.input-group-lg > .form-control, +textarea.input-group-lg > .input-group-addon, +textarea.input-group-lg > .input-group-btn > .btn, +select[multiple].input-group-lg > .form-control, +select[multiple].input-group-lg > .input-group-addon, +select[multiple].input-group-lg > .input-group-btn > .btn { + height: auto; +} +.input-group-sm > .form-control, +.input-group-sm > .input-group-addon, +.input-group-sm > .input-group-btn > .btn { + height: 30px; + padding: 5px 10px; + font-size: 12px; + line-height: 1.5; + border-radius: 3px; +} +select.input-group-sm > .form-control, +select.input-group-sm > .input-group-addon, +select.input-group-sm > .input-group-btn > .btn { + height: 30px; + line-height: 30px; +} +textarea.input-group-sm > .form-control, +textarea.input-group-sm > .input-group-addon, +textarea.input-group-sm > .input-group-btn > .btn, +select[multiple].input-group-sm > .form-control, +select[multiple].input-group-sm > .input-group-addon, +select[multiple].input-group-sm > .input-group-btn > .btn { + height: auto; +} +.input-group-addon, +.input-group-btn, +.input-group .form-control { + display: table-cell; +} +.input-group-addon:not(:first-child):not(:last-child), +.input-group-btn:not(:first-child):not(:last-child), +.input-group .form-control:not(:first-child):not(:last-child) { + border-radius: 0; +} +.input-group-addon, +.input-group-btn { + width: 1%; + white-space: nowrap; + vertical-align: middle; +} +.input-group-addon { + padding: 6px 12px; + font-size: 14px; + font-weight: normal; + line-height: 1; + color: #555; + text-align: center; + background-color: #eee; + border: 1px solid #ccc; + border-radius: 4px; +} +.input-group-addon.input-sm { + padding: 5px 10px; + font-size: 12px; + border-radius: 3px; +} +.input-group-addon.input-lg { + padding: 10px 16px; + font-size: 18px; + border-radius: 6px; +} +.input-group-addon input[type="radio"], +.input-group-addon input[type="checkbox"] { + margin-top: 0; +} +.input-group .form-control:first-child, +.input-group-addon:first-child, +.input-group-btn:first-child > .btn, +.input-group-btn:first-child > .btn-group > .btn, +.input-group-btn:first-child > .dropdown-toggle, +.input-group-btn:last-child > .btn:not(:last-child):not(.dropdown-toggle), +.input-group-btn:last-child > .btn-group:not(:last-child) > .btn { + border-top-right-radius: 0; + border-bottom-right-radius: 0; +} +.input-group-addon:first-child { + border-right: 0; +} +.input-group .form-control:last-child, +.input-group-addon:last-child, +.input-group-btn:last-child > .btn, +.input-group-btn:last-child > .btn-group > .btn, +.input-group-btn:last-child > .dropdown-toggle, +.input-group-btn:first-child > .btn:not(:first-child), +.input-group-btn:first-child > .btn-group:not(:first-child) > .btn { + border-top-left-radius: 0; + border-bottom-left-radius: 0; +} +.input-group-addon:last-child { + border-left: 0; +} +.input-group-btn { + position: relative; + font-size: 0; + white-space: nowrap; +} +.input-group-btn > .btn { + position: relative; +} +.input-group-btn > .btn + .btn { + margin-left: -1px; +} +.input-group-btn > .btn:hover, +.input-group-btn > .btn:focus, +.input-group-btn > .btn:active { + z-index: 2; +} +.input-group-btn:first-child > .btn, +.input-group-btn:first-child > .btn-group { + margin-right: -1px; +} +.input-group-btn:last-child > .btn, +.input-group-btn:last-child > .btn-group { + z-index: 2; + margin-left: -1px; +} +.nav { + padding-left: 0; + margin-bottom: 0; + list-style: none; +} +.nav > li { + position: relative; + display: block; +} +.nav > li > a { + position: relative; + display: block; + padding: 10px 15px; +} +.nav > li > a:hover, +.nav > li > a:focus { + text-decoration: none; + background-color: #eee; +} +.nav > li.disabled > a { + color: #777; +} +.nav > li.disabled > a:hover, +.nav > li.disabled > a:focus { + color: #777; + text-decoration: none; + cursor: not-allowed; + background-color: transparent; +} +.nav .open > a, +.nav .open > a:hover, +.nav .open > a:focus { + background-color: #eee; + border-color: #337ab7; +} +.nav .nav-divider { + height: 1px; + margin: 9px 0; + overflow: hidden; + background-color: #e5e5e5; +} +.nav > li > a > img { + max-width: none; +} +.nav-tabs { + border-bottom: 1px solid #ddd; +} +.nav-tabs > li { + float: left; + margin-bottom: -1px; +} +.nav-tabs > li > a { + margin-right: 2px; + line-height: 1.42857143; + border: 1px solid transparent; + border-radius: 4px 4px 0 0; +} +.nav-tabs > li > a:hover { + border-color: #eee #eee #ddd; +} +.nav-tabs > li.active > a, +.nav-tabs > li.active > a:hover, +.nav-tabs > li.active > a:focus { + color: #555; + cursor: default; + background-color: #fff; + border: 1px solid #ddd; + border-bottom-color: transparent; +} +.nav-tabs.nav-justified { + width: 100%; + border-bottom: 0; +} +.nav-tabs.nav-justified > li { + float: none; +} +.nav-tabs.nav-justified > li > a { + margin-bottom: 5px; + text-align: center; +} +.nav-tabs.nav-justified > .dropdown .dropdown-menu { + top: auto; + left: auto; +} +@media (min-width: 768px) { + .nav-tabs.nav-justified > li { + display: table-cell; + width: 1%; + } + .nav-tabs.nav-justified > li > a { + margin-bottom: 0; + } +} +.nav-tabs.nav-justified > li > a { + margin-right: 0; + border-radius: 4px; +} +.nav-tabs.nav-justified > .active > a, +.nav-tabs.nav-justified > .active > a:hover, +.nav-tabs.nav-justified > .active > a:focus { + border: 1px solid #ddd; +} +@media (min-width: 768px) { + .nav-tabs.nav-justified > li > a { + border-bottom: 1px solid #ddd; + border-radius: 4px 4px 0 0; + } + .nav-tabs.nav-justified > .active > a, + .nav-tabs.nav-justified > .active > a:hover, + .nav-tabs.nav-justified > .active > a:focus { + border-bottom-color: #fff; + } +} +.nav-pills > li { + float: left; +} +.nav-pills > li > a { + border-radius: 4px; +} +.nav-pills > li + li { + margin-left: 2px; +} +.nav-pills > li.active > a, +.nav-pills > li.active > a:hover, +.nav-pills > li.active > a:focus { + color: #fff; + background-color: #337ab7; +} +.nav-stacked > li { + float: none; +} +.nav-stacked > li + li { + margin-top: 2px; + margin-left: 0; +} +.nav-justified { + width: 100%; +} +.nav-justified > li { + float: none; +} +.nav-justified > li > a { + margin-bottom: 5px; + text-align: center; +} +.nav-justified > .dropdown .dropdown-menu { + top: auto; + left: auto; +} +@media (min-width: 768px) { + .nav-justified > li { + display: table-cell; + width: 1%; + } + .nav-justified > li > a { + margin-bottom: 0; + } +} +.nav-tabs-justified { + border-bottom: 0; +} +.nav-tabs-justified > li > a { + margin-right: 0; + border-radius: 4px; +} +.nav-tabs-justified > .active > a, +.nav-tabs-justified > .active > a:hover, +.nav-tabs-justified > .active > a:focus { + border: 1px solid #ddd; +} +@media (min-width: 768px) { + .nav-tabs-justified > li > a { + border-bottom: 1px solid #ddd; + border-radius: 4px 4px 0 0; + } + .nav-tabs-justified > .active > a, + .nav-tabs-justified > .active > a:hover, + .nav-tabs-justified > .active > a:focus { + border-bottom-color: #fff; + } +} +.tab-content > .tab-pane { + display: none; +} +.tab-content > .active { + display: block; +} +.nav-tabs .dropdown-menu { + margin-top: -1px; + border-top-left-radius: 0; + border-top-right-radius: 0; +} +.navbar { + position: relative; + min-height: 50px; + margin-bottom: 20px; + border: 1px solid transparent; +} +@media (min-width: 768px) { + .navbar { + border-radius: 4px; + } +} +@media (min-width: 768px) { + .navbar-header { + float: left; + } +} +.navbar-collapse { + padding-right: 15px; + padding-left: 15px; + overflow-x: visible; + -webkit-overflow-scrolling: touch; + border-top: 1px solid transparent; + -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, .1); + box-shadow: inset 0 1px 0 rgba(255, 255, 255, .1); +} +.navbar-collapse.in { + overflow-y: auto; +} +@media (min-width: 768px) { + .navbar-collapse { + width: auto; + border-top: 0; + -webkit-box-shadow: none; + box-shadow: none; + } + .navbar-collapse.collapse { + display: block !important; + height: auto !important; + padding-bottom: 0; + overflow: visible !important; + } + .navbar-collapse.in { + overflow-y: visible; + } + .navbar-fixed-top .navbar-collapse, + .navbar-static-top .navbar-collapse, + .navbar-fixed-bottom .navbar-collapse { + padding-right: 0; + padding-left: 0; + } +} +.navbar-fixed-top .navbar-collapse, +.navbar-fixed-bottom .navbar-collapse { + max-height: 340px; +} +@media (max-device-width: 480px) and (orientation: landscape) { + .navbar-fixed-top .navbar-collapse, + .navbar-fixed-bottom .navbar-collapse { + max-height: 200px; + } +} +.container > .navbar-header, +.container-fluid > .navbar-header, +.container > .navbar-collapse, +.container-fluid > .navbar-collapse { + margin-right: -15px; + margin-left: -15px; +} +@media (min-width: 768px) { + .container > .navbar-header, + .container-fluid > .navbar-header, + .container > .navbar-collapse, + .container-fluid > .navbar-collapse { + margin-right: 0; + margin-left: 0; + } +} +.navbar-static-top { + z-index: 1000; + border-width: 0 0 1px; +} +@media (min-width: 768px) { + .navbar-static-top { + border-radius: 0; + } +} +.navbar-fixed-top, +.navbar-fixed-bottom { + position: fixed; + right: 0; + left: 0; + z-index: 1030; +} +@media (min-width: 768px) { + .navbar-fixed-top, + .navbar-fixed-bottom { + border-radius: 0; + } +} +.navbar-fixed-top { + top: 0; + border-width: 0 0 1px; +} +.navbar-fixed-bottom { + bottom: 0; + margin-bottom: 0; + border-width: 1px 0 0; +} +.navbar-brand { + float: left; + height: 50px; + padding: 15px 15px; + font-size: 18px; + line-height: 20px; +} +.navbar-brand:hover, +.navbar-brand:focus { + text-decoration: none; +} +.navbar-brand > img { + display: block; +} +@media (min-width: 768px) { + .navbar > .container .navbar-brand, + .navbar > .container-fluid .navbar-brand { + margin-left: -15px; + } +} +.navbar-toggle { + position: relative; + float: right; + padding: 9px 10px; + margin-top: 8px; + margin-right: 15px; + margin-bottom: 8px; + background-color: transparent; + background-image: none; + border: 1px solid transparent; + border-radius: 4px; +} +.navbar-toggle:focus { + outline: 0; +} +.navbar-toggle .icon-bar { + display: block; + width: 22px; + height: 2px; + border-radius: 1px; +} +.navbar-toggle .icon-bar + .icon-bar { + margin-top: 4px; +} +@media (min-width: 768px) { + .navbar-toggle { + display: none; + } +} +.navbar-nav { + margin: 7.5px -15px; +} +.navbar-nav > li > a { + padding-top: 10px; + padding-bottom: 10px; + line-height: 20px; +} +@media (max-width: 767px) { + .navbar-nav .open .dropdown-menu { + position: static; + float: none; + width: auto; + margin-top: 0; + background-color: transparent; + border: 0; + -webkit-box-shadow: none; + box-shadow: none; + } + .navbar-nav .open .dropdown-menu > li > a, + .navbar-nav .open .dropdown-menu .dropdown-header { + padding: 5px 15px 5px 25px; + } + .navbar-nav .open .dropdown-menu > li > a { + line-height: 20px; + } + .navbar-nav .open .dropdown-menu > li > a:hover, + .navbar-nav .open .dropdown-menu > li > a:focus { + background-image: none; + } +} +@media (min-width: 768px) { + .navbar-nav { + float: left; + margin: 0; + } + .navbar-nav > li { + float: left; + } + .navbar-nav > li > a { + padding-top: 15px; + padding-bottom: 15px; + } +} +.navbar-form { + padding: 10px 15px; + margin-top: 8px; + margin-right: -15px; + margin-bottom: 8px; + margin-left: -15px; + border-top: 1px solid transparent; + border-bottom: 1px solid transparent; + -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, .1), 0 1px 0 rgba(255, 255, 255, .1); + box-shadow: inset 0 1px 0 rgba(255, 255, 255, .1), 0 1px 0 rgba(255, 255, 255, .1); +} +@media (min-width: 768px) { + .navbar-form .form-group { + display: inline-block; + margin-bottom: 0; + vertical-align: middle; + } + .navbar-form .form-control { + display: inline-block; + width: auto; + vertical-align: middle; + } + .navbar-form .form-control-static { + display: inline-block; + } + .navbar-form .input-group { + display: inline-table; + vertical-align: middle; + } + .navbar-form .input-group .input-group-addon, + .navbar-form .input-group .input-group-btn, + .navbar-form .input-group .form-control { + width: auto; + } + .navbar-form .input-group > .form-control { + width: 100%; + } + .navbar-form .control-label { + margin-bottom: 0; + vertical-align: middle; + } + .navbar-form .radio, + .navbar-form .checkbox { + display: inline-block; + margin-top: 0; + margin-bottom: 0; + vertical-align: middle; + } + .navbar-form .radio label, + .navbar-form .checkbox label { + padding-left: 0; + } + .navbar-form .radio input[type="radio"], + .navbar-form .checkbox input[type="checkbox"] { + position: relative; + margin-left: 0; + } + .navbar-form .has-feedback .form-control-feedback { + top: 0; + } +} +@media (max-width: 767px) { + .navbar-form .form-group { + margin-bottom: 5px; + } + .navbar-form .form-group:last-child { + margin-bottom: 0; + } +} +@media (min-width: 768px) { + .navbar-form { + width: auto; + padding-top: 0; + padding-bottom: 0; + margin-right: 0; + margin-left: 0; + border: 0; + -webkit-box-shadow: none; + box-shadow: none; + } +} +.navbar-nav > li > .dropdown-menu { + margin-top: 0; + border-top-left-radius: 0; + border-top-right-radius: 0; +} +.navbar-fixed-bottom .navbar-nav > li > .dropdown-menu { + margin-bottom: 0; + border-top-left-radius: 4px; + border-top-right-radius: 4px; + border-bottom-right-radius: 0; + border-bottom-left-radius: 0; +} +.navbar-btn { + margin-top: 8px; + margin-bottom: 8px; +} +.navbar-btn.btn-sm { + margin-top: 10px; + margin-bottom: 10px; +} +.navbar-btn.btn-xs { + margin-top: 14px; + margin-bottom: 14px; +} +.navbar-text { + margin-top: 15px; + margin-bottom: 15px; +} +@media (min-width: 768px) { + .navbar-text { + float: left; + margin-right: 15px; + margin-left: 15px; + } +} +@media (min-width: 768px) { + .navbar-left { + float: left !important; + } + .navbar-right { + float: right !important; + margin-right: -15px; + } + .navbar-right ~ .navbar-right { + margin-right: 0; + } +} +.navbar-default { + background-color: #f8f8f8; + border-color: #e7e7e7; +} +.navbar-default .navbar-brand { + color: #777; +} +.navbar-default .navbar-brand:hover, +.navbar-default .navbar-brand:focus { + color: #5e5e5e; + background-color: transparent; +} +.navbar-default .navbar-text { + color: #777; +} +.navbar-default .navbar-nav > li > a { + color: #777; +} +.navbar-default .navbar-nav > li > a:hover, +.navbar-default .navbar-nav > li > a:focus { + color: #333; + background-color: transparent; +} +.navbar-default .navbar-nav > .active > a, +.navbar-default .navbar-nav > .active > a:hover, +.navbar-default .navbar-nav > .active > a:focus { + color: #555; + background-color: #e7e7e7; +} +.navbar-default .navbar-nav > .disabled > a, +.navbar-default .navbar-nav > .disabled > a:hover, +.navbar-default .navbar-nav > .disabled > a:focus { + color: #ccc; + background-color: transparent; +} +.navbar-default .navbar-toggle { + border-color: #ddd; +} +.navbar-default .navbar-toggle:hover, +.navbar-default .navbar-toggle:focus { + background-color: #ddd; +} +.navbar-default .navbar-toggle .icon-bar { + background-color: #888; +} +.navbar-default .navbar-collapse, +.navbar-default .navbar-form { + border-color: #e7e7e7; +} +.navbar-default .navbar-nav > .open > a, +.navbar-default .navbar-nav > .open > a:hover, +.navbar-default .navbar-nav > .open > a:focus { + color: #555; + background-color: #e7e7e7; +} +@media (max-width: 767px) { + .navbar-default .navbar-nav .open .dropdown-menu > li > a { + color: #777; + } + .navbar-default .navbar-nav .open .dropdown-menu > li > a:hover, + .navbar-default .navbar-nav .open .dropdown-menu > li > a:focus { + color: #333; + background-color: transparent; + } + .navbar-default .navbar-nav .open .dropdown-menu > .active > a, + .navbar-default .navbar-nav .open .dropdown-menu > .active > a:hover, + .navbar-default .navbar-nav .open .dropdown-menu > .active > a:focus { + color: #555; + background-color: #e7e7e7; + } + .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a, + .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a:hover, + .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a:focus { + color: #ccc; + background-color: transparent; + } +} +.navbar-default .navbar-link { + color: #777; +} +.navbar-default .navbar-link:hover { + color: #333; +} +.navbar-default .btn-link { + color: #777; +} +.navbar-default .btn-link:hover, +.navbar-default .btn-link:focus { + color: #333; +} +.navbar-default .btn-link[disabled]:hover, +fieldset[disabled] .navbar-default .btn-link:hover, +.navbar-default .btn-link[disabled]:focus, +fieldset[disabled] .navbar-default .btn-link:focus { + color: #ccc; +} +.navbar-inverse { + background-color: #222; + border-color: #080808; +} +.navbar-inverse .navbar-brand { + color: #9d9d9d; +} +.navbar-inverse .navbar-brand:hover, +.navbar-inverse .navbar-brand:focus { + color: #fff; + background-color: transparent; +} +.navbar-inverse .navbar-text { + color: #9d9d9d; +} +.navbar-inverse .navbar-nav > li > a { + color: #9d9d9d; +} +.navbar-inverse .navbar-nav > li > a:hover, +.navbar-inverse .navbar-nav > li > a:focus { + color: #fff; + background-color: transparent; +} +.navbar-inverse .navbar-nav > .active > a, +.navbar-inverse .navbar-nav > .active > a:hover, +.navbar-inverse .navbar-nav > .active > a:focus { + color: #fff; + background-color: #080808; +} +.navbar-inverse .navbar-nav > .disabled > a, +.navbar-inverse .navbar-nav > .disabled > a:hover, +.navbar-inverse .navbar-nav > .disabled > a:focus { + color: #444; + background-color: transparent; +} +.navbar-inverse .navbar-toggle { + border-color: #333; +} +.navbar-inverse .navbar-toggle:hover, +.navbar-inverse .navbar-toggle:focus { + background-color: #333; +} +.navbar-inverse .navbar-toggle .icon-bar { + background-color: #fff; +} +.navbar-inverse .navbar-collapse, +.navbar-inverse .navbar-form { + border-color: #101010; +} +.navbar-inverse .navbar-nav > .open > a, +.navbar-inverse .navbar-nav > .open > a:hover, +.navbar-inverse .navbar-nav > .open > a:focus { + color: #fff; + background-color: #080808; +} +@media (max-width: 767px) { + .navbar-inverse .navbar-nav .open .dropdown-menu > .dropdown-header { + border-color: #080808; + } + .navbar-inverse .navbar-nav .open .dropdown-menu .divider { + background-color: #080808; + } + .navbar-inverse .navbar-nav .open .dropdown-menu > li > a { + color: #9d9d9d; + } + .navbar-inverse .navbar-nav .open .dropdown-menu > li > a:hover, + .navbar-inverse .navbar-nav .open .dropdown-menu > li > a:focus { + color: #fff; + background-color: transparent; + } + .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a, + .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a:hover, + .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a:focus { + color: #fff; + background-color: #080808; + } + .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a, + .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a:hover, + .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a:focus { + color: #444; + background-color: transparent; + } +} +.navbar-inverse .navbar-link { + color: #9d9d9d; +} +.navbar-inverse .navbar-link:hover { + color: #fff; +} +.navbar-inverse .btn-link { + color: #9d9d9d; +} +.navbar-inverse .btn-link:hover, +.navbar-inverse .btn-link:focus { + color: #fff; +} +.navbar-inverse .btn-link[disabled]:hover, +fieldset[disabled] .navbar-inverse .btn-link:hover, +.navbar-inverse .btn-link[disabled]:focus, +fieldset[disabled] .navbar-inverse .btn-link:focus { + color: #444; +} +.breadcrumb { + padding: 8px 15px; + margin-bottom: 20px; + list-style: none; + background-color: #f5f5f5; + border-radius: 4px; +} +.breadcrumb > li { + display: inline-block; +} +.breadcrumb > li + li:before { + padding: 0 5px; + color: #ccc; + content: "/\00a0"; +} +.breadcrumb > .active { + color: #777; +} +.pagination { + display: inline-block; + padding-left: 0; + margin: 20px 0; + border-radius: 4px; +} +.pagination > li { + display: inline; +} +.pagination > li > a, +.pagination > li > span { + position: relative; + float: left; + padding: 6px 12px; + margin-left: -1px; + line-height: 1.42857143; + color: #337ab7; + text-decoration: none; + background-color: #fff; + border: 1px solid #ddd; +} +.pagination > li:first-child > a, +.pagination > li:first-child > span { + margin-left: 0; + border-top-left-radius: 4px; + border-bottom-left-radius: 4px; +} +.pagination > li:last-child > a, +.pagination > li:last-child > span { + border-top-right-radius: 4px; + border-bottom-right-radius: 4px; +} +.pagination > li > a:hover, +.pagination > li > span:hover, +.pagination > li > a:focus, +.pagination > li > span:focus { + z-index: 3; + color: #23527c; + background-color: #eee; + border-color: #ddd; +} +.pagination > .active > a, +.pagination > .active > span, +.pagination > .active > a:hover, +.pagination > .active > span:hover, +.pagination > .active > a:focus, +.pagination > .active > span:focus { + z-index: 2; + color: #fff; + cursor: default; + background-color: #337ab7; + border-color: #337ab7; +} +.pagination > .disabled > span, +.pagination > .disabled > span:hover, +.pagination > .disabled > span:focus, +.pagination > .disabled > a, +.pagination > .disabled > a:hover, +.pagination > .disabled > a:focus { + color: #777; + cursor: not-allowed; + background-color: #fff; + border-color: #ddd; +} +.pagination-lg > li > a, +.pagination-lg > li > span { + padding: 10px 16px; + font-size: 18px; + line-height: 1.3333333; +} +.pagination-lg > li:first-child > a, +.pagination-lg > li:first-child > span { + border-top-left-radius: 6px; + border-bottom-left-radius: 6px; +} +.pagination-lg > li:last-child > a, +.pagination-lg > li:last-child > span { + border-top-right-radius: 6px; + border-bottom-right-radius: 6px; +} +.pagination-sm > li > a, +.pagination-sm > li > span { + padding: 5px 10px; + font-size: 12px; + line-height: 1.5; +} +.pagination-sm > li:first-child > a, +.pagination-sm > li:first-child > span { + border-top-left-radius: 3px; + border-bottom-left-radius: 3px; +} +.pagination-sm > li:last-child > a, +.pagination-sm > li:last-child > span { + border-top-right-radius: 3px; + border-bottom-right-radius: 3px; +} +.pager { + padding-left: 0; + margin: 20px 0; + text-align: center; + list-style: none; +} +.pager li { + display: inline; +} +.pager li > a, +.pager li > span { + display: inline-block; + padding: 5px 14px; + background-color: #fff; + border: 1px solid #ddd; + border-radius: 15px; +} +.pager li > a:hover, +.pager li > a:focus { + text-decoration: none; + background-color: #eee; +} +.pager .next > a, +.pager .next > span { + float: right; +} +.pager .previous > a, +.pager .previous > span { + float: left; +} +.pager .disabled > a, +.pager .disabled > a:hover, +.pager .disabled > a:focus, +.pager .disabled > span { + color: #777; + cursor: not-allowed; + background-color: #fff; +} +.label { + display: inline; + padding: .2em .6em .3em; + font-size: 75%; + font-weight: bold; + line-height: 1; + color: #fff; + text-align: center; + white-space: nowrap; + vertical-align: baseline; + border-radius: .25em; +} +a.label:hover, +a.label:focus { + color: #fff; + text-decoration: none; + cursor: pointer; +} +.label:empty { + display: none; +} +.btn .label { + position: relative; + top: -1px; +} +.label-default { + background-color: #777; +} +.label-default[href]:hover, +.label-default[href]:focus { + background-color: #5e5e5e; +} +.label-primary { + background-color: #337ab7; +} +.label-primary[href]:hover, +.label-primary[href]:focus { + background-color: #286090; +} +.label-success { + background-color: #5cb85c; +} +.label-success[href]:hover, +.label-success[href]:focus { + background-color: #449d44; +} +.label-info { + background-color: #5bc0de; +} +.label-info[href]:hover, +.label-info[href]:focus { + background-color: #31b0d5; +} +.label-warning { + background-color: #f0ad4e; +} +.label-warning[href]:hover, +.label-warning[href]:focus { + background-color: #ec971f; +} +.label-danger { + background-color: #d9534f; +} +.label-danger[href]:hover, +.label-danger[href]:focus { + background-color: #c9302c; +} +.badge { + display: inline-block; + min-width: 10px; + padding: 3px 7px; + font-size: 12px; + font-weight: bold; + line-height: 1; + color: #fff; + text-align: center; + white-space: nowrap; + vertical-align: middle; + background-color: #777; + border-radius: 10px; +} +.badge:empty { + display: none; +} +.btn .badge { + position: relative; + top: -1px; +} +.btn-xs .badge, +.btn-group-xs > .btn .badge { + top: 0; + padding: 1px 5px; +} +a.badge:hover, +a.badge:focus { + color: #fff; + text-decoration: none; + cursor: pointer; +} +.list-group-item.active > .badge, +.nav-pills > .active > a > .badge { + color: #337ab7; + background-color: #fff; +} +.list-group-item > .badge { + float: right; +} +.list-group-item > .badge + .badge { + margin-right: 5px; +} +.nav-pills > li > a > .badge { + margin-left: 3px; +} +.jumbotron { + padding-top: 30px; + padding-bottom: 30px; + margin-bottom: 30px; + color: inherit; + background-color: #eee; +} +.jumbotron h1, +.jumbotron .h1 { + color: inherit; +} +.jumbotron p { + margin-bottom: 15px; + font-size: 21px; + font-weight: 200; +} +.jumbotron > hr { + border-top-color: #d5d5d5; +} +.container .jumbotron, +.container-fluid .jumbotron { + border-radius: 6px; +} +.jumbotron .container { + max-width: 100%; +} +@media screen and (min-width: 768px) { + .jumbotron { + padding-top: 48px; + padding-bottom: 48px; + } + .container .jumbotron, + .container-fluid .jumbotron { + padding-right: 60px; + padding-left: 60px; + } + .jumbotron h1, + .jumbotron .h1 { + font-size: 63px; + } +} +.thumbnail { + display: block; + padding: 4px; + margin-bottom: 20px; + line-height: 1.42857143; + background-color: #fff; + border: 1px solid #ddd; + border-radius: 4px; + -webkit-transition: border .2s ease-in-out; + -o-transition: border .2s ease-in-out; + transition: border .2s ease-in-out; +} +.thumbnail > img, +.thumbnail a > img { + margin-right: auto; + margin-left: auto; +} +a.thumbnail:hover, +a.thumbnail:focus, +a.thumbnail.active { + border-color: #337ab7; +} +.thumbnail .caption { + padding: 9px; + color: #333; +} +.alert { + padding: 15px; + margin-bottom: 20px; + border: 1px solid transparent; + border-radius: 4px; +} +.alert h4 { + margin-top: 0; + color: inherit; +} +.alert .alert-link { + font-weight: bold; +} +.alert > p, +.alert > ul { + margin-bottom: 0; +} +.alert > p + p { + margin-top: 5px; +} +.alert-dismissable, +.alert-dismissible { + padding-right: 35px; +} +.alert-dismissable .close, +.alert-dismissible .close { + position: relative; + top: -2px; + right: -21px; + color: inherit; +} +.alert-success { + color: #3c763d; + background-color: #dff0d8; + border-color: #d6e9c6; +} +.alert-success hr { + border-top-color: #c9e2b3; +} +.alert-success .alert-link { + color: #2b542c; +} +.alert-info { + color: #31708f; + background-color: #d9edf7; + border-color: #bce8f1; +} +.alert-info hr { + border-top-color: #a6e1ec; +} +.alert-info .alert-link { + color: #245269; +} +.alert-warning { + color: #8a6d3b; + background-color: #fcf8e3; + border-color: #faebcc; +} +.alert-warning hr { + border-top-color: #f7e1b5; +} +.alert-warning .alert-link { + color: #66512c; +} +.alert-danger { + color: #a94442; + background-color: #f2dede; + border-color: #ebccd1; +} +.alert-danger hr { + border-top-color: #e4b9c0; +} +.alert-danger .alert-link { + color: #843534; +} +@-webkit-keyframes progress-bar-stripes { + from { + background-position: 40px 0; + } + to { + background-position: 0 0; + } +} +@-o-keyframes progress-bar-stripes { + from { + background-position: 40px 0; + } + to { + background-position: 0 0; + } +} +@keyframes progress-bar-stripes { + from { + background-position: 40px 0; + } + to { + background-position: 0 0; + } +} +.progress { + height: 20px; + margin-bottom: 20px; + overflow: hidden; + background-color: #f5f5f5; + border-radius: 4px; + -webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, .1); + box-shadow: inset 0 1px 2px rgba(0, 0, 0, .1); +} +.progress-bar { + float: left; + width: 0; + height: 100%; + font-size: 12px; + line-height: 20px; + color: #fff; + text-align: center; + background-color: #337ab7; + -webkit-box-shadow: inset 0 -1px 0 rgba(0, 0, 0, .15); + box-shadow: inset 0 -1px 0 rgba(0, 0, 0, .15); + -webkit-transition: width .6s ease; + -o-transition: width .6s ease; + transition: width .6s ease; +} +.progress-striped .progress-bar, +.progress-bar-striped { + background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent); + background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent); + background-image: linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent); + -webkit-background-size: 40px 40px; + background-size: 40px 40px; +} +.progress.active .progress-bar, +.progress-bar.active { + -webkit-animation: progress-bar-stripes 2s linear infinite; + -o-animation: progress-bar-stripes 2s linear infinite; + animation: progress-bar-stripes 2s linear infinite; +} +.progress-bar-success { + background-color: #5cb85c; +} +.progress-striped .progress-bar-success { + background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent); + background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent); + background-image: linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent); +} +.progress-bar-info { + background-color: #5bc0de; +} +.progress-striped .progress-bar-info { + background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent); + background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent); + background-image: linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent); +} +.progress-bar-warning { + background-color: #f0ad4e; +} +.progress-striped .progress-bar-warning { + background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent); + background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent); + background-image: linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent); +} +.progress-bar-danger { + background-color: #d9534f; +} +.progress-striped .progress-bar-danger { + background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent); + background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent); + background-image: linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent); +} +.media { + margin-top: 15px; +} +.media:first-child { + margin-top: 0; +} +.media, +.media-body { + overflow: hidden; + zoom: 1; +} +.media-body { + width: 10000px; +} +.media-object { + display: block; +} +.media-object.img-thumbnail { + max-width: none; +} +.media-right, +.media > .pull-right { + padding-left: 10px; +} +.media-left, +.media > .pull-left { + padding-right: 10px; +} +.media-left, +.media-right, +.media-body { + display: table-cell; + vertical-align: top; +} +.media-middle { + vertical-align: middle; +} +.media-bottom { + vertical-align: bottom; +} +.media-heading { + margin-top: 0; + margin-bottom: 5px; +} +.media-list { + padding-left: 0; + list-style: none; +} +.list-group { + padding-left: 0; + margin-bottom: 20px; +} +.list-group-item { + position: relative; + display: block; + padding: 10px 15px; + margin-bottom: -1px; + background-color: #fff; + border: 1px solid #ddd; +} +.list-group-item:first-child { + border-top-left-radius: 4px; + border-top-right-radius: 4px; +} +.list-group-item:last-child { + margin-bottom: 0; + border-bottom-right-radius: 4px; + border-bottom-left-radius: 4px; +} +a.list-group-item, +button.list-group-item { + color: #555; +} +a.list-group-item .list-group-item-heading, +button.list-group-item .list-group-item-heading { + color: #333; +} +a.list-group-item:hover, +button.list-group-item:hover, +a.list-group-item:focus, +button.list-group-item:focus { + color: #555; + text-decoration: none; + background-color: #f5f5f5; +} +button.list-group-item { + width: 100%; + text-align: left; +} +.list-group-item.disabled, +.list-group-item.disabled:hover, +.list-group-item.disabled:focus { + color: #777; + cursor: not-allowed; + background-color: #eee; +} +.list-group-item.disabled .list-group-item-heading, +.list-group-item.disabled:hover .list-group-item-heading, +.list-group-item.disabled:focus .list-group-item-heading { + color: inherit; +} +.list-group-item.disabled .list-group-item-text, +.list-group-item.disabled:hover .list-group-item-text, +.list-group-item.disabled:focus .list-group-item-text { + color: #777; +} +.list-group-item.active, +.list-group-item.active:hover, +.list-group-item.active:focus { + z-index: 2; + color: #fff; + background-color: #337ab7; + border-color: #337ab7; +} +.list-group-item.active .list-group-item-heading, +.list-group-item.active:hover .list-group-item-heading, +.list-group-item.active:focus .list-group-item-heading, +.list-group-item.active .list-group-item-heading > small, +.list-group-item.active:hover .list-group-item-heading > small, +.list-group-item.active:focus .list-group-item-heading > small, +.list-group-item.active .list-group-item-heading > .small, +.list-group-item.active:hover .list-group-item-heading > .small, +.list-group-item.active:focus .list-group-item-heading > .small { + color: inherit; +} +.list-group-item.active .list-group-item-text, +.list-group-item.active:hover .list-group-item-text, +.list-group-item.active:focus .list-group-item-text { + color: #c7ddef; +} +.list-group-item-success { + color: #3c763d; + background-color: #dff0d8; +} +a.list-group-item-success, +button.list-group-item-success { + color: #3c763d; +} +a.list-group-item-success .list-group-item-heading, +button.list-group-item-success .list-group-item-heading { + color: inherit; +} +a.list-group-item-success:hover, +button.list-group-item-success:hover, +a.list-group-item-success:focus, +button.list-group-item-success:focus { + color: #3c763d; + background-color: #d0e9c6; +} +a.list-group-item-success.active, +button.list-group-item-success.active, +a.list-group-item-success.active:hover, +button.list-group-item-success.active:hover, +a.list-group-item-success.active:focus, +button.list-group-item-success.active:focus { + color: #fff; + background-color: #3c763d; + border-color: #3c763d; +} +.list-group-item-info { + color: #31708f; + background-color: #d9edf7; +} +a.list-group-item-info, +button.list-group-item-info { + color: #31708f; +} +a.list-group-item-info .list-group-item-heading, +button.list-group-item-info .list-group-item-heading { + color: inherit; +} +a.list-group-item-info:hover, +button.list-group-item-info:hover, +a.list-group-item-info:focus, +button.list-group-item-info:focus { + color: #31708f; + background-color: #c4e3f3; +} +a.list-group-item-info.active, +button.list-group-item-info.active, +a.list-group-item-info.active:hover, +button.list-group-item-info.active:hover, +a.list-group-item-info.active:focus, +button.list-group-item-info.active:focus { + color: #fff; + background-color: #31708f; + border-color: #31708f; +} +.list-group-item-warning { + color: #8a6d3b; + background-color: #fcf8e3; +} +a.list-group-item-warning, +button.list-group-item-warning { + color: #8a6d3b; +} +a.list-group-item-warning .list-group-item-heading, +button.list-group-item-warning .list-group-item-heading { + color: inherit; +} +a.list-group-item-warning:hover, +button.list-group-item-warning:hover, +a.list-group-item-warning:focus, +button.list-group-item-warning:focus { + color: #8a6d3b; + background-color: #faf2cc; +} +a.list-group-item-warning.active, +button.list-group-item-warning.active, +a.list-group-item-warning.active:hover, +button.list-group-item-warning.active:hover, +a.list-group-item-warning.active:focus, +button.list-group-item-warning.active:focus { + color: #fff; + background-color: #8a6d3b; + border-color: #8a6d3b; +} +.list-group-item-danger { + color: #a94442; + background-color: #f2dede; +} +a.list-group-item-danger, +button.list-group-item-danger { + color: #a94442; +} +a.list-group-item-danger .list-group-item-heading, +button.list-group-item-danger .list-group-item-heading { + color: inherit; +} +a.list-group-item-danger:hover, +button.list-group-item-danger:hover, +a.list-group-item-danger:focus, +button.list-group-item-danger:focus { + color: #a94442; + background-color: #ebcccc; +} +a.list-group-item-danger.active, +button.list-group-item-danger.active, +a.list-group-item-danger.active:hover, +button.list-group-item-danger.active:hover, +a.list-group-item-danger.active:focus, +button.list-group-item-danger.active:focus { + color: #fff; + background-color: #a94442; + border-color: #a94442; +} +.list-group-item-heading { + margin-top: 0; + margin-bottom: 5px; +} +.list-group-item-text { + margin-bottom: 0; + line-height: 1.3; +} +.panel { + margin-bottom: 20px; + background-color: #fff; + border: 1px solid transparent; + border-radius: 4px; + -webkit-box-shadow: 0 1px 1px rgba(0, 0, 0, .05); + box-shadow: 0 1px 1px rgba(0, 0, 0, .05); +} +.panel-body { + padding: 15px; +} +.panel-heading { + padding: 10px 15px; + border-bottom: 1px solid transparent; + border-top-left-radius: 3px; + border-top-right-radius: 3px; +} +.panel-heading > .dropdown .dropdown-toggle { + color: inherit; +} +.panel-title { + margin-top: 0; + margin-bottom: 0; + font-size: 16px; + color: inherit; +} +.panel-title > a, +.panel-title > small, +.panel-title > .small, +.panel-title > small > a, +.panel-title > .small > a { + color: inherit; +} +.panel-footer { + padding: 10px 15px; + background-color: #f5f5f5; + border-top: 1px solid #ddd; + border-bottom-right-radius: 3px; + border-bottom-left-radius: 3px; +} +.panel > .list-group, +.panel > .panel-collapse > .list-group { + margin-bottom: 0; +} +.panel > .list-group .list-group-item, +.panel > .panel-collapse > .list-group .list-group-item { + border-width: 1px 0; + border-radius: 0; +} +.panel > .list-group:first-child .list-group-item:first-child, +.panel > .panel-collapse > .list-group:first-child .list-group-item:first-child { + border-top: 0; + border-top-left-radius: 3px; + border-top-right-radius: 3px; +} +.panel > .list-group:last-child .list-group-item:last-child, +.panel > .panel-collapse > .list-group:last-child .list-group-item:last-child { + border-bottom: 0; + border-bottom-right-radius: 3px; + border-bottom-left-radius: 3px; +} +.panel > .panel-heading + .panel-collapse > .list-group .list-group-item:first-child { + border-top-left-radius: 0; + border-top-right-radius: 0; +} +.panel-heading + .list-group .list-group-item:first-child { + border-top-width: 0; +} +.list-group + .panel-footer { + border-top-width: 0; +} +.panel > .table, +.panel > .table-responsive > .table, +.panel > .panel-collapse > .table { + margin-bottom: 0; +} +.panel > .table caption, +.panel > .table-responsive > .table caption, +.panel > .panel-collapse > .table caption { + padding-right: 15px; + padding-left: 15px; +} +.panel > .table:first-child, +.panel > .table-responsive:first-child > .table:first-child { + border-top-left-radius: 3px; + border-top-right-radius: 3px; +} +.panel > .table:first-child > thead:first-child > tr:first-child, +.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child, +.panel > .table:first-child > tbody:first-child > tr:first-child, +.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child { + border-top-left-radius: 3px; + border-top-right-radius: 3px; +} +.panel > .table:first-child > thead:first-child > tr:first-child td:first-child, +.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child td:first-child, +.panel > .table:first-child > tbody:first-child > tr:first-child td:first-child, +.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child td:first-child, +.panel > .table:first-child > thead:first-child > tr:first-child th:first-child, +.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child th:first-child, +.panel > .table:first-child > tbody:first-child > tr:first-child th:first-child, +.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child th:first-child { + border-top-left-radius: 3px; +} +.panel > .table:first-child > thead:first-child > tr:first-child td:last-child, +.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child td:last-child, +.panel > .table:first-child > tbody:first-child > tr:first-child td:last-child, +.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child td:last-child, +.panel > .table:first-child > thead:first-child > tr:first-child th:last-child, +.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child th:last-child, +.panel > .table:first-child > tbody:first-child > tr:first-child th:last-child, +.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child th:last-child { + border-top-right-radius: 3px; +} +.panel > .table:last-child, +.panel > .table-responsive:last-child > .table:last-child { + border-bottom-right-radius: 3px; + border-bottom-left-radius: 3px; +} +.panel > .table:last-child > tbody:last-child > tr:last-child, +.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child, +.panel > .table:last-child > tfoot:last-child > tr:last-child, +.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child { + border-bottom-right-radius: 3px; + border-bottom-left-radius: 3px; +} +.panel > .table:last-child > tbody:last-child > tr:last-child td:first-child, +.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child td:first-child, +.panel > .table:last-child > tfoot:last-child > tr:last-child td:first-child, +.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child td:first-child, +.panel > .table:last-child > tbody:last-child > tr:last-child th:first-child, +.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child th:first-child, +.panel > .table:last-child > tfoot:last-child > tr:last-child th:first-child, +.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child th:first-child { + border-bottom-left-radius: 3px; +} +.panel > .table:last-child > tbody:last-child > tr:last-child td:last-child, +.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child td:last-child, +.panel > .table:last-child > tfoot:last-child > tr:last-child td:last-child, +.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child td:last-child, +.panel > .table:last-child > tbody:last-child > tr:last-child th:last-child, +.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child th:last-child, +.panel > .table:last-child > tfoot:last-child > tr:last-child th:last-child, +.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child th:last-child { + border-bottom-right-radius: 3px; +} +.panel > .panel-body + .table, +.panel > .panel-body + .table-responsive, +.panel > .table + .panel-body, +.panel > .table-responsive + .panel-body { + border-top: 1px solid #ddd; +} +.panel > .table > tbody:first-child > tr:first-child th, +.panel > .table > tbody:first-child > tr:first-child td { + border-top: 0; +} +.panel > .table-bordered, +.panel > .table-responsive > .table-bordered { + border: 0; +} +.panel > .table-bordered > thead > tr > th:first-child, +.panel > .table-responsive > .table-bordered > thead > tr > th:first-child, +.panel > .table-bordered > tbody > tr > th:first-child, +.panel > .table-responsive > .table-bordered > tbody > tr > th:first-child, +.panel > .table-bordered > tfoot > tr > th:first-child, +.panel > .table-responsive > .table-bordered > tfoot > tr > th:first-child, +.panel > .table-bordered > thead > tr > td:first-child, +.panel > .table-responsive > .table-bordered > thead > tr > td:first-child, +.panel > .table-bordered > tbody > tr > td:first-child, +.panel > .table-responsive > .table-bordered > tbody > tr > td:first-child, +.panel > .table-bordered > tfoot > tr > td:first-child, +.panel > .table-responsive > .table-bordered > tfoot > tr > td:first-child { + border-left: 0; +} +.panel > .table-bordered > thead > tr > th:last-child, +.panel > .table-responsive > .table-bordered > thead > tr > th:last-child, +.panel > .table-bordered > tbody > tr > th:last-child, +.panel > .table-responsive > .table-bordered > tbody > tr > th:last-child, +.panel > .table-bordered > tfoot > tr > th:last-child, +.panel > .table-responsive > .table-bordered > tfoot > tr > th:last-child, +.panel > .table-bordered > thead > tr > td:last-child, +.panel > .table-responsive > .table-bordered > thead > tr > td:last-child, +.panel > .table-bordered > tbody > tr > td:last-child, +.panel > .table-responsive > .table-bordered > tbody > tr > td:last-child, +.panel > .table-bordered > tfoot > tr > td:last-child, +.panel > .table-responsive > .table-bordered > tfoot > tr > td:last-child { + border-right: 0; +} +.panel > .table-bordered > thead > tr:first-child > td, +.panel > .table-responsive > .table-bordered > thead > tr:first-child > td, +.panel > .table-bordered > tbody > tr:first-child > td, +.panel > .table-responsive > .table-bordered > tbody > tr:first-child > td, +.panel > .table-bordered > thead > tr:first-child > th, +.panel > .table-responsive > .table-bordered > thead > tr:first-child > th, +.panel > .table-bordered > tbody > tr:first-child > th, +.panel > .table-responsive > .table-bordered > tbody > tr:first-child > th { + border-bottom: 0; +} +.panel > .table-bordered > tbody > tr:last-child > td, +.panel > .table-responsive > .table-bordered > tbody > tr:last-child > td, +.panel > .table-bordered > tfoot > tr:last-child > td, +.panel > .table-responsive > .table-bordered > tfoot > tr:last-child > td, +.panel > .table-bordered > tbody > tr:last-child > th, +.panel > .table-responsive > .table-bordered > tbody > tr:last-child > th, +.panel > .table-bordered > tfoot > tr:last-child > th, +.panel > .table-responsive > .table-bordered > tfoot > tr:last-child > th { + border-bottom: 0; +} +.panel > .table-responsive { + margin-bottom: 0; + border: 0; +} +.panel-group { + margin-bottom: 20px; +} +.panel-group .panel { + margin-bottom: 0; + border-radius: 4px; +} +.panel-group .panel + .panel { + margin-top: 5px; +} +.panel-group .panel-heading { + border-bottom: 0; +} +.panel-group .panel-heading + .panel-collapse > .panel-body, +.panel-group .panel-heading + .panel-collapse > .list-group { + border-top: 1px solid #ddd; +} +.panel-group .panel-footer { + border-top: 0; +} +.panel-group .panel-footer + .panel-collapse .panel-body { + border-bottom: 1px solid #ddd; +} +.panel-default { + border-color: #ddd; +} +.panel-default > .panel-heading { + color: #333; + background-color: #f5f5f5; + border-color: #ddd; +} +.panel-default > .panel-heading + .panel-collapse > .panel-body { + border-top-color: #ddd; +} +.panel-default > .panel-heading .badge { + color: #f5f5f5; + background-color: #333; +} +.panel-default > .panel-footer + .panel-collapse > .panel-body { + border-bottom-color: #ddd; +} +.panel-primary { + border-color: #337ab7; +} +.panel-primary > .panel-heading { + color: #fff; + background-color: #337ab7; + border-color: #337ab7; +} +.panel-primary > .panel-heading + .panel-collapse > .panel-body { + border-top-color: #337ab7; +} +.panel-primary > .panel-heading .badge { + color: #337ab7; + background-color: #fff; +} +.panel-primary > .panel-footer + .panel-collapse > .panel-body { + border-bottom-color: #337ab7; +} +.panel-success { + border-color: #d6e9c6; +} +.panel-success > .panel-heading { + color: #3c763d; + background-color: #dff0d8; + border-color: #d6e9c6; +} +.panel-success > .panel-heading + .panel-collapse > .panel-body { + border-top-color: #d6e9c6; +} +.panel-success > .panel-heading .badge { + color: #dff0d8; + background-color: #3c763d; +} +.panel-success > .panel-footer + .panel-collapse > .panel-body { + border-bottom-color: #d6e9c6; +} +.panel-info { + border-color: #bce8f1; +} +.panel-info > .panel-heading { + color: #31708f; + background-color: #d9edf7; + border-color: #bce8f1; +} +.panel-info > .panel-heading + .panel-collapse > .panel-body { + border-top-color: #bce8f1; +} +.panel-info > .panel-heading .badge { + color: #d9edf7; + background-color: #31708f; +} +.panel-info > .panel-footer + .panel-collapse > .panel-body { + border-bottom-color: #bce8f1; +} +.panel-warning { + border-color: #faebcc; +} +.panel-warning > .panel-heading { + color: #8a6d3b; + background-color: #fcf8e3; + border-color: #faebcc; +} +.panel-warning > .panel-heading + .panel-collapse > .panel-body { + border-top-color: #faebcc; +} +.panel-warning > .panel-heading .badge { + color: #fcf8e3; + background-color: #8a6d3b; +} +.panel-warning > .panel-footer + .panel-collapse > .panel-body { + border-bottom-color: #faebcc; +} +.panel-danger { + border-color: #ebccd1; +} +.panel-danger > .panel-heading { + color: #a94442; + background-color: #f2dede; + border-color: #ebccd1; +} +.panel-danger > .panel-heading + .panel-collapse > .panel-body { + border-top-color: #ebccd1; +} +.panel-danger > .panel-heading .badge { + color: #f2dede; + background-color: #a94442; +} +.panel-danger > .panel-footer + .panel-collapse > .panel-body { + border-bottom-color: #ebccd1; +} +.embed-responsive { + position: relative; + display: block; + height: 0; + padding: 0; + overflow: hidden; +} +.embed-responsive .embed-responsive-item, +.embed-responsive iframe, +.embed-responsive embed, +.embed-responsive object, +.embed-responsive video { + position: absolute; + top: 0; + bottom: 0; + left: 0; + width: 100%; + height: 100%; + border: 0; +} +.embed-responsive-16by9 { + padding-bottom: 56.25%; +} +.embed-responsive-4by3 { + padding-bottom: 75%; +} +.well { + min-height: 20px; + padding: 19px; + margin-bottom: 20px; + background-color: #f5f5f5; + border: 1px solid #e3e3e3; + border-radius: 4px; + -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .05); + box-shadow: inset 0 1px 1px rgba(0, 0, 0, .05); +} +.well blockquote { + border-color: #ddd; + border-color: rgba(0, 0, 0, .15); +} +.well-lg { + padding: 24px; + border-radius: 6px; +} +.well-sm { + padding: 9px; + border-radius: 3px; +} +.close { + float: right; + font-size: 21px; + font-weight: bold; + line-height: 1; + color: #000; + text-shadow: 0 1px 0 #fff; + filter: alpha(opacity=20); + opacity: .2; +} +.close:hover, +.close:focus { + color: #000; + text-decoration: none; + cursor: pointer; + filter: alpha(opacity=50); + opacity: .5; +} +button.close { + -webkit-appearance: none; + padding: 0; + cursor: pointer; + background: transparent; + border: 0; +} +.modal-open { + overflow: hidden; +} +.modal { + position: fixed; + top: 0; + right: 0; + bottom: 0; + left: 0; + z-index: 1050; + display: none; + overflow: hidden; + -webkit-overflow-scrolling: touch; + outline: 0; +} +.modal.fade .modal-dialog { + -webkit-transition: -webkit-transform .3s ease-out; + -o-transition: -o-transform .3s ease-out; + transition: transform .3s ease-out; + -webkit-transform: translate(0, -25%); + -ms-transform: translate(0, -25%); + -o-transform: translate(0, -25%); + transform: translate(0, -25%); +} +.modal.in .modal-dialog { + -webkit-transform: translate(0, 0); + -ms-transform: translate(0, 0); + -o-transform: translate(0, 0); + transform: translate(0, 0); +} +.modal-open .modal { + overflow-x: hidden; + overflow-y: auto; +} +.modal-dialog { + position: relative; + width: auto; + margin: 10px; +} +.modal-content { + position: relative; + background-color: #fff; + -webkit-background-clip: padding-box; + background-clip: padding-box; + border: 1px solid #999; + border: 1px solid rgba(0, 0, 0, .2); + border-radius: 6px; + outline: 0; + -webkit-box-shadow: 0 3px 9px rgba(0, 0, 0, .5); + box-shadow: 0 3px 9px rgba(0, 0, 0, .5); +} +.modal-backdrop { + position: fixed; + top: 0; + right: 0; + bottom: 0; + left: 0; + z-index: 1040; + background-color: #000; +} +.modal-backdrop.fade { + filter: alpha(opacity=0); + opacity: 0; +} +.modal-backdrop.in { + filter: alpha(opacity=50); + opacity: .5; +} +.modal-header { + min-height: 16.42857143px; + padding: 15px; + border-bottom: 1px solid #e5e5e5; +} +.modal-header .close { + margin-top: -2px; +} +.modal-title { + margin: 0; + line-height: 1.42857143; +} +.modal-body { + position: relative; + padding: 15px; +} +.modal-footer { + padding: 15px; + text-align: right; + border-top: 1px solid #e5e5e5; +} +.modal-footer .btn + .btn { + margin-bottom: 0; + margin-left: 5px; +} +.modal-footer .btn-group .btn + .btn { + margin-left: -1px; +} +.modal-footer .btn-block + .btn-block { + margin-left: 0; +} +.modal-scrollbar-measure { + position: absolute; + top: -9999px; + width: 50px; + height: 50px; + overflow: scroll; +} +@media (min-width: 768px) { + .modal-dialog { + width: 600px; + margin: 30px auto; + } + .modal-content { + -webkit-box-shadow: 0 5px 15px rgba(0, 0, 0, .5); + box-shadow: 0 5px 15px rgba(0, 0, 0, .5); + } + .modal-sm { + width: 300px; + } +} +@media (min-width: 992px) { + .modal-lg { + width: 900px; + } +} +.tooltip { + position: absolute; + z-index: 1070; + display: block; + font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; + font-size: 12px; + font-style: normal; + font-weight: normal; + line-height: 1.42857143; + text-align: left; + text-align: start; + text-decoration: none; + text-shadow: none; + text-transform: none; + letter-spacing: normal; + word-break: normal; + word-spacing: normal; + word-wrap: normal; + white-space: normal; + filter: alpha(opacity=0); + opacity: 0; + + line-break: auto; +} +.tooltip.in { + filter: alpha(opacity=90); + opacity: .9; +} +.tooltip.top { + padding: 5px 0; + margin-top: -3px; +} +.tooltip.right { + padding: 0 5px; + margin-left: 3px; +} +.tooltip.bottom { + padding: 5px 0; + margin-top: 3px; +} +.tooltip.left { + padding: 0 5px; + margin-left: -3px; +} +.tooltip-inner { + max-width: 200px; + padding: 3px 8px; + color: #fff; + text-align: center; + background-color: #000; + border-radius: 4px; +} +.tooltip-arrow { + position: absolute; + width: 0; + height: 0; + border-color: transparent; + border-style: solid; +} +.tooltip.top .tooltip-arrow { + bottom: 0; + left: 50%; + margin-left: -5px; + border-width: 5px 5px 0; + border-top-color: #000; +} +.tooltip.top-left .tooltip-arrow { + right: 5px; + bottom: 0; + margin-bottom: -5px; + border-width: 5px 5px 0; + border-top-color: #000; +} +.tooltip.top-right .tooltip-arrow { + bottom: 0; + left: 5px; + margin-bottom: -5px; + border-width: 5px 5px 0; + border-top-color: #000; +} +.tooltip.right .tooltip-arrow { + top: 50%; + left: 0; + margin-top: -5px; + border-width: 5px 5px 5px 0; + border-right-color: #000; +} +.tooltip.left .tooltip-arrow { + top: 50%; + right: 0; + margin-top: -5px; + border-width: 5px 0 5px 5px; + border-left-color: #000; +} +.tooltip.bottom .tooltip-arrow { + top: 0; + left: 50%; + margin-left: -5px; + border-width: 0 5px 5px; + border-bottom-color: #000; +} +.tooltip.bottom-left .tooltip-arrow { + top: 0; + right: 5px; + margin-top: -5px; + border-width: 0 5px 5px; + border-bottom-color: #000; +} +.tooltip.bottom-right .tooltip-arrow { + top: 0; + left: 5px; + margin-top: -5px; + border-width: 0 5px 5px; + border-bottom-color: #000; +} +.popover { + position: absolute; + top: 0; + left: 0; + z-index: 1060; + display: none; + max-width: 276px; + padding: 1px; + font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; + font-size: 14px; + font-style: normal; + font-weight: normal; + line-height: 1.42857143; + text-align: left; + text-align: start; + text-decoration: none; + text-shadow: none; + text-transform: none; + letter-spacing: normal; + word-break: normal; + word-spacing: normal; + word-wrap: normal; + white-space: normal; + background-color: #fff; + -webkit-background-clip: padding-box; + background-clip: padding-box; + border: 1px solid #ccc; + border: 1px solid rgba(0, 0, 0, .2); + border-radius: 6px; + -webkit-box-shadow: 0 5px 10px rgba(0, 0, 0, .2); + box-shadow: 0 5px 10px rgba(0, 0, 0, .2); + + line-break: auto; +} +.popover.top { + margin-top: -10px; +} +.popover.right { + margin-left: 10px; +} +.popover.bottom { + margin-top: 10px; +} +.popover.left { + margin-left: -10px; +} +.popover-title { + padding: 8px 14px; + margin: 0; + font-size: 14px; + background-color: #f7f7f7; + border-bottom: 1px solid #ebebeb; + border-radius: 5px 5px 0 0; +} +.popover-content { + padding: 9px 14px; +} +.popover > .arrow, +.popover > .arrow:after { + position: absolute; + display: block; + width: 0; + height: 0; + border-color: transparent; + border-style: solid; +} +.popover > .arrow { + border-width: 11px; +} +.popover > .arrow:after { + content: ""; + border-width: 10px; +} +.popover.top > .arrow { + bottom: -11px; + left: 50%; + margin-left: -11px; + border-top-color: #999; + border-top-color: rgba(0, 0, 0, .25); + border-bottom-width: 0; +} +.popover.top > .arrow:after { + bottom: 1px; + margin-left: -10px; + content: " "; + border-top-color: #fff; + border-bottom-width: 0; +} +.popover.right > .arrow { + top: 50%; + left: -11px; + margin-top: -11px; + border-right-color: #999; + border-right-color: rgba(0, 0, 0, .25); + border-left-width: 0; +} +.popover.right > .arrow:after { + bottom: -10px; + left: 1px; + content: " "; + border-right-color: #fff; + border-left-width: 0; +} +.popover.bottom > .arrow { + top: -11px; + left: 50%; + margin-left: -11px; + border-top-width: 0; + border-bottom-color: #999; + border-bottom-color: rgba(0, 0, 0, .25); +} +.popover.bottom > .arrow:after { + top: 1px; + margin-left: -10px; + content: " "; + border-top-width: 0; + border-bottom-color: #fff; +} +.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, .25); +} +.popover.left > .arrow:after { + right: 1px; + bottom: -10px; + content: " "; + border-right-width: 0; + border-left-color: #fff; +} +.carousel { + position: relative; +} +.carousel-inner { + position: relative; + width: 100%; + overflow: hidden; +} +.carousel-inner > .item { + position: relative; + display: none; + -webkit-transition: .6s ease-in-out left; + -o-transition: .6s ease-in-out left; + transition: .6s ease-in-out left; +} +.carousel-inner > .item > img, +.carousel-inner > .item > a > img { + line-height: 1; +} +@media all and (transform-3d), (-webkit-transform-3d) { + .carousel-inner > .item { + -webkit-transition: -webkit-transform .6s ease-in-out; + -o-transition: -o-transform .6s ease-in-out; + transition: transform .6s ease-in-out; + + -webkit-backface-visibility: hidden; + backface-visibility: hidden; + -webkit-perspective: 1000px; + perspective: 1000px; + } + .carousel-inner > .item.next, + .carousel-inner > .item.active.right { + left: 0; + -webkit-transform: translate3d(100%, 0, 0); + transform: translate3d(100%, 0, 0); + } + .carousel-inner > .item.prev, + .carousel-inner > .item.active.left { + left: 0; + -webkit-transform: translate3d(-100%, 0, 0); + transform: translate3d(-100%, 0, 0); + } + .carousel-inner > .item.next.left, + .carousel-inner > .item.prev.right, + .carousel-inner > .item.active { + left: 0; + -webkit-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); + } +} +.carousel-inner > .active, +.carousel-inner > .next, +.carousel-inner > .prev { + display: block; +} +.carousel-inner > .active { + left: 0; +} +.carousel-inner > .next, +.carousel-inner > .prev { + position: absolute; + top: 0; + width: 100%; +} +.carousel-inner > .next { + left: 100%; +} +.carousel-inner > .prev { + left: -100%; +} +.carousel-inner > .next.left, +.carousel-inner > .prev.right { + left: 0; +} +.carousel-inner > .active.left { + left: -100%; +} +.carousel-inner > .active.right { + left: 100%; +} +.carousel-control { + position: absolute; + top: 0; + bottom: 0; + left: 0; + width: 15%; + font-size: 20px; + color: #fff; + text-align: center; + text-shadow: 0 1px 2px rgba(0, 0, 0, .6); + filter: alpha(opacity=50); + opacity: .5; +} +.carousel-control.left { + background-image: -webkit-linear-gradient(left, rgba(0, 0, 0, .5) 0%, rgba(0, 0, 0, .0001) 100%); + background-image: -o-linear-gradient(left, rgba(0, 0, 0, .5) 0%, rgba(0, 0, 0, .0001) 100%); + background-image: -webkit-gradient(linear, left top, right top, from(rgba(0, 0, 0, .5)), to(rgba(0, 0, 0, .0001))); + background-image: linear-gradient(to right, rgba(0, 0, 0, .5) 0%, rgba(0, 0, 0, .0001) 100%); + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#80000000', endColorstr='#00000000', GradientType=1); + background-repeat: repeat-x; +} +.carousel-control.right { + right: 0; + left: auto; + background-image: -webkit-linear-gradient(left, rgba(0, 0, 0, .0001) 0%, rgba(0, 0, 0, .5) 100%); + background-image: -o-linear-gradient(left, rgba(0, 0, 0, .0001) 0%, rgba(0, 0, 0, .5) 100%); + background-image: -webkit-gradient(linear, left top, right top, from(rgba(0, 0, 0, .0001)), to(rgba(0, 0, 0, .5))); + background-image: linear-gradient(to right, rgba(0, 0, 0, .0001) 0%, rgba(0, 0, 0, .5) 100%); + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#00000000', endColorstr='#80000000', GradientType=1); + background-repeat: repeat-x; +} +.carousel-control:hover, +.carousel-control:focus { + color: #fff; + text-decoration: none; + filter: alpha(opacity=90); + outline: 0; + opacity: .9; +} +.carousel-control .icon-prev, +.carousel-control .icon-next, +.carousel-control .glyphicon-chevron-left, +.carousel-control .glyphicon-chevron-right { + position: absolute; + top: 50%; + z-index: 5; + display: inline-block; + margin-top: -10px; +} +.carousel-control .icon-prev, +.carousel-control .glyphicon-chevron-left { + left: 50%; + margin-left: -10px; +} +.carousel-control .icon-next, +.carousel-control .glyphicon-chevron-right { + right: 50%; + margin-right: -10px; +} +.carousel-control .icon-prev, +.carousel-control .icon-next { + width: 20px; + height: 20px; + font-family: serif; + line-height: 1; +} +.carousel-control .icon-prev:before { + content: '\2039'; +} +.carousel-control .icon-next:before { + content: '\203a'; +} +.carousel-indicators { + position: absolute; + bottom: 10px; + left: 50%; + z-index: 15; + width: 60%; + padding-left: 0; + margin-left: -30%; + text-align: center; + list-style: none; +} +.carousel-indicators li { + display: inline-block; + width: 10px; + height: 10px; + margin: 1px; + text-indent: -999px; + cursor: pointer; + background-color: #000 \9; + background-color: rgba(0, 0, 0, 0); + border: 1px solid #fff; + border-radius: 10px; +} +.carousel-indicators .active { + width: 12px; + height: 12px; + margin: 0; + background-color: #fff; +} +.carousel-caption { + position: absolute; + right: 15%; + bottom: 20px; + left: 15%; + z-index: 10; + padding-top: 20px; + padding-bottom: 20px; + color: #fff; + text-align: center; + text-shadow: 0 1px 2px rgba(0, 0, 0, .6); +} +.carousel-caption .btn { + text-shadow: none; +} +@media screen and (min-width: 768px) { + .carousel-control .glyphicon-chevron-left, + .carousel-control .glyphicon-chevron-right, + .carousel-control .icon-prev, + .carousel-control .icon-next { + width: 30px; + height: 30px; + margin-top: -15px; + font-size: 30px; + } + .carousel-control .glyphicon-chevron-left, + .carousel-control .icon-prev { + margin-left: -15px; + } + .carousel-control .glyphicon-chevron-right, + .carousel-control .icon-next { + margin-right: -15px; + } + .carousel-caption { + right: 20%; + left: 20%; + padding-bottom: 30px; + } + .carousel-indicators { + bottom: 20px; + } +} +.clearfix:before, +.clearfix:after, +.dl-horizontal dd:before, +.dl-horizontal dd:after, +.container:before, +.container:after, +.container-fluid:before, +.container-fluid:after, +.row:before, +.row:after, +.form-horizontal .form-group:before, +.form-horizontal .form-group:after, +.btn-toolbar:before, +.btn-toolbar:after, +.btn-group-vertical > .btn-group:before, +.btn-group-vertical > .btn-group:after, +.nav:before, +.nav:after, +.navbar:before, +.navbar:after, +.navbar-header:before, +.navbar-header:after, +.navbar-collapse:before, +.navbar-collapse:after, +.pager:before, +.pager:after, +.panel-body:before, +.panel-body:after, +.modal-footer:before, +.modal-footer:after { + display: table; + content: " "; +} +.clearfix:after, +.dl-horizontal dd:after, +.container:after, +.container-fluid:after, +.row:after, +.form-horizontal .form-group:after, +.btn-toolbar:after, +.btn-group-vertical > .btn-group:after, +.nav:after, +.navbar:after, +.navbar-header:after, +.navbar-collapse:after, +.pager:after, +.panel-body:after, +.modal-footer:after { + clear: both; +} +.center-block { + display: block; + margin-right: auto; + margin-left: auto; +} +.pull-right { + float: right !important; +} +.pull-left { + float: left !important; +} +.hide { + display: none !important; +} +.show { + display: block !important; +} +.invisible { + visibility: hidden; +} +.text-hide { + font: 0/0 a; + color: transparent; + text-shadow: none; + background-color: transparent; + border: 0; +} +.hidden { + display: none !important; +} +.affix { + position: fixed; +} +@-ms-viewport { + width: device-width; +} +.visible-xs, +.visible-sm, +.visible-md, +.visible-lg { + display: none !important; +} +.visible-xs-block, +.visible-xs-inline, +.visible-xs-inline-block, +.visible-sm-block, +.visible-sm-inline, +.visible-sm-inline-block, +.visible-md-block, +.visible-md-inline, +.visible-md-inline-block, +.visible-lg-block, +.visible-lg-inline, +.visible-lg-inline-block { + display: none !important; +} +@media (max-width: 767px) { + .visible-xs { + display: block !important; + } + table.visible-xs { + display: table !important; + } + tr.visible-xs { + display: table-row !important; + } + th.visible-xs, + td.visible-xs { + display: table-cell !important; + } +} +@media (max-width: 767px) { + .visible-xs-block { + display: block !important; + } +} +@media (max-width: 767px) { + .visible-xs-inline { + display: inline !important; + } +} +@media (max-width: 767px) { + .visible-xs-inline-block { + display: inline-block !important; + } +} +@media (min-width: 768px) and (max-width: 991px) { + .visible-sm { + display: block !important; + } + table.visible-sm { + display: table !important; + } + tr.visible-sm { + display: table-row !important; + } + th.visible-sm, + td.visible-sm { + display: table-cell !important; + } +} +@media (min-width: 768px) and (max-width: 991px) { + .visible-sm-block { + display: block !important; + } +} +@media (min-width: 768px) and (max-width: 991px) { + .visible-sm-inline { + display: inline !important; + } +} +@media (min-width: 768px) and (max-width: 991px) { + .visible-sm-inline-block { + display: inline-block !important; + } +} +@media (min-width: 992px) and (max-width: 1199px) { + .visible-md { + display: block !important; + } + table.visible-md { + display: table !important; + } + tr.visible-md { + display: table-row !important; + } + th.visible-md, + td.visible-md { + display: table-cell !important; + } +} +@media (min-width: 992px) and (max-width: 1199px) { + .visible-md-block { + display: block !important; + } +} +@media (min-width: 992px) and (max-width: 1199px) { + .visible-md-inline { + display: inline !important; + } +} +@media (min-width: 992px) and (max-width: 1199px) { + .visible-md-inline-block { + display: inline-block !important; + } +} +@media (min-width: 1200px) { + .visible-lg { + display: block !important; + } + table.visible-lg { + display: table !important; + } + tr.visible-lg { + display: table-row !important; + } + th.visible-lg, + td.visible-lg { + display: table-cell !important; + } +} +@media (min-width: 1200px) { + .visible-lg-block { + display: block !important; + } +} +@media (min-width: 1200px) { + .visible-lg-inline { + display: inline !important; + } +} +@media (min-width: 1200px) { + .visible-lg-inline-block { + display: inline-block !important; + } +} +@media (max-width: 767px) { + .hidden-xs { + display: none !important; + } +} +@media (min-width: 768px) and (max-width: 991px) { + .hidden-sm { + display: none !important; + } +} +@media (min-width: 992px) and (max-width: 1199px) { + .hidden-md { + display: none !important; + } +} +@media (min-width: 1200px) { + .hidden-lg { + display: none !important; + } +} +.visible-print { + display: none !important; +} +@media print { + .visible-print { + display: block !important; + } + table.visible-print { + display: table !important; + } + tr.visible-print { + display: table-row !important; + } + th.visible-print, + td.visible-print { + display: table-cell !important; + } +} +.visible-print-block { + display: none !important; +} +@media print { + .visible-print-block { + display: block !important; + } +} +.visible-print-inline { + display: none !important; +} +@media print { + .visible-print-inline { + display: inline !important; + } +} +.visible-print-inline-block { + display: none !important; +} +@media print { + .visible-print-inline-block { + display: inline-block !important; + } +} +@media print { + .hidden-print { + display: none !important; + } +} +/*# sourceMappingURL=bootstrap.css.map */ diff --git a/public/css/main.css b/public/css/main.css new file mode 100644 index 0000000..5eefd3f --- /dev/null +++ b/public/css/main.css @@ -0,0 +1,180 @@ +#container { + padding-top: 70px; +} + +.f_colomn { + display: inline-block; + width: 200px; + height: 245px; + +} + +.f_colomn img { + width: 198px; + border: solid 1px black; +} + +.s_colomn { + display: inline-block; + width: calc(100% - 205px); + height: 400px; + position: inherit; + margin: 0px 40px; +} + + .nick { + font-size: xx-large; + color: #548AB9; + margin: 15px 0px; +} + + .profile-info { + margin: 25px 0px; + font-size: larger; +} + + .button-follow { + background-color: rgb(84, 138, 185); + text-align: center; + color: beige; + width: 130px; + height: 38px; + font-size: initial; + display: table-cell; + vertical-align: middle; + left: 25%; + position: relative; + top: 15px; + } + +.user-main-page { + width: 500px; + height: 100%; + position: absolute; +} + +.button-post { + width: 21%; + background-color: rgb(84, 138, 185); + text-align: center; + color: beige; + margin-left: auto; + font-size: initial; +} + +.button-edit-post { + width: 21%; + background-color: rgb(84, 138, 185); + text-align: center; + color: beige; + margin-left: auto; + font-size: initial; +} + +.write-post textarea { + width: 100%; +} + +.labeled { + display: inline-block; + text-align: left; + width: 100px; +} + +.label { + display: inline-block; + width: 50px; + text-align: left; + color: #948C8C; +} + +.author { + color: #3D6E98; + width: 77%; + display: inline-block; +} + +.button-post-wall { + border: solid 1px; + display: none; + text-align: center; + color: #548AB9; +} + +.button-post-delete { + width: 8%; +} + +.button-post-edit { + width: 12%; +} + +.available-post:hover .button-post-wall { + display: inline-block; +} + + +.displayed { + display: block; +} + +.none-displayed { + display: none; +} + +.block { + text-align: center; +} + +.block input { + margin-bottom: 5px; +} + +.login-register-form { + border: solid 1px #548AB9; + border-radius: 5px; + padding: 20px; + width: 360px; +} + +.title-form { + width: 100px; + display: inline-block; + padding: 7px; +} + +.pre-title-form { + text-align: center; + margin: 10px auto; +} + +.checked-title { + background-color: rgb(84, 138, 185); + color: beige; + border-radius: 5px; +} + +.welcome { + color: #586EB1; + font-size: -webkit-xxx-large; +} + +.available-post { + border-bottom: solid 1px #A2A4A7; + padding: 15px 0px; +} + +.no-post { + padding: 15px 0px; + text-align: center; +} + + +.follow { + margin: 30px auto auto; + padding: 10px; +} + +.content textarea { + width: 100% +} \ No newline at end of file diff --git a/public/css/material.css b/public/css/material.css new file mode 100644 index 0000000..ee96a88 --- /dev/null +++ b/public/css/material.css @@ -0,0 +1,9703 @@ +/** + * material-design-lite - Material Design Components in CSS, JS and HTML + * @version v1.0.0 + * @license Apache-2 + * @copyright 2015 Google, Inc. + * @link https://github.com/google/material-design-lite + */ +@charset "UTF-8"; +/** + * Copyright 2015 Google Inc. All Rights Reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/** + * Copyright 2015 Google Inc. All Rights Reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/* Material Design Lite */ +/** + * Copyright 2015 Google Inc. All Rights Reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/*------------------------------------*\ + $CONTENTS +\*------------------------------------*/ +/** + * STYLE GUIDE VARIABLES------------------Declarations of Sass variables + * -----Typography + * -----Colors + * -----Textfield + * -----Switch + * -----Spinner + * -----Radio + * -----Menu + * -----List + * -----Layout + * -----Icon toggles + * -----Footer + * -----Column + * -----Checkbox + * -----Card + * -----Button + * -----Animation + * -----Progress + * -----Badge + * -----Shadows + * -----Grid + * -----Data table + */ +/* ========== TYPOGRAPHY ========== */ +/* We're splitting fonts into "preferred" and "performance" in order to optimize + page loading. For important text, such as the body, we want it to load + immediately and not wait for the web font load, whereas for other sections, + such as headers and titles, we're OK with things taking a bit longer to load. + We do have some optional classes and parameters in the mixins, in case you + definitely want to make sure you're using the preferred font and don't mind + the performance hit. + We should be able to improve on this once CSS Font Loading L3 becomes more + widely available. +*/ +/* ========== COLORS ========== */ +/** +* +* Material design color palettes. +* @see http://www.google.com/design/spec/style/color.html +* +**/ +/** + * Copyright 2015 Google Inc. All Rights Reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/* ========== Color Palettes ========== */ +/* colors.scss */ +/* ========== Color & Themes ========== */ +/* ========== Typography ========== */ +/* ========== Components ========== */ +/* ========== Standard Buttons ========== */ +/* ========== Icon Toggles ========== */ +/* ========== Radio Buttons ========== */ +/* ========== Ripple effect ========== */ +/* ========== Layout ========== */ +/* ========== Content Tabs ========== */ +/* ========== Checkboxes ========== */ +/* ========== Switches ========== */ +/* ========== Spinner ========== */ +/* ========== Text fields ========== */ +/* ========== Card ========== */ +/* ========== Sliders ========== */ +/* ========== Progress ========== */ +/* ========== List ========== */ +/* ========== Item ========== */ +/* ========== Dropdown menu ========== */ +/* ========== Tooltips ========== */ +/* ========== Footer ========== */ +/* TEXTFIELD */ +/* SWITCH */ +/* SPINNER */ +/* RADIO */ +/* MENU */ +/* LIST */ +/* ICONS */ +/* ICON TOGGLE */ +/* FOOTER */ +/*mega-footer*/ +/************** + * + * Sizes + * + *************/ +/*mini-footer*/ +/************** + * + * Sizes + * + *************/ +/* COLUMN LAYOUT */ +/* CHECKBOX */ +/* CARD */ +/* Card dimensions */ +/* Cover image */ +/* BUTTON */ +/** + * + * Dimensions + * + */ +/* ANIMATION */ +/* PROGRESS */ +/* BADGE */ +/* SHADOWS */ +/* GRID */ +/* DATA TABLE */ +/** + * Copyright 2015 Google Inc. All Rights Reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/* Typography */ +/* Shadows */ +/* Animations */ +/** + * Copyright 2015 Google Inc. All Rights Reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/** + * Copyright 2015 Google Inc. All Rights Reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/** + * Copyright 2015 Google Inc. All Rights Reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/*------------------------------------*\ + $CONTENTS +\*------------------------------------*/ +/** + * STYLE GUIDE VARIABLES------------------Declarations of Sass variables + * -----Typography + * -----Colors + * -----Textfield + * -----Switch + * -----Spinner + * -----Radio + * -----Menu + * -----List + * -----Layout + * -----Icon toggles + * -----Footer + * -----Column + * -----Checkbox + * -----Card + * -----Button + * -----Animation + * -----Progress + * -----Badge + * -----Shadows + * -----Grid + * -----Data table + */ +/* ========== TYPOGRAPHY ========== */ +/* We're splitting fonts into "preferred" and "performance" in order to optimize + page loading. For important text, such as the body, we want it to load + immediately and not wait for the web font load, whereas for other sections, + such as headers and titles, we're OK with things taking a bit longer to load. + We do have some optional classes and parameters in the mixins, in case you + definitely want to make sure you're using the preferred font and don't mind + the performance hit. + We should be able to improve on this once CSS Font Loading L3 becomes more + widely available. +*/ +/* ========== COLORS ========== */ +/** +* +* Material design color palettes. +* @see http://www.google.com/design/spec/style/color.html +* +**/ +/** + * Copyright 2015 Google Inc. All Rights Reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/* ========== Color Palettes ========== */ +/* colors.scss */ +/* ========== Color & Themes ========== */ +/* ========== Typography ========== */ +/* ========== Components ========== */ +/* ========== Standard Buttons ========== */ +/* ========== Icon Toggles ========== */ +/* ========== Radio Buttons ========== */ +/* ========== Ripple effect ========== */ +/* ========== Layout ========== */ +/* ========== Content Tabs ========== */ +/* ========== Checkboxes ========== */ +/* ========== Switches ========== */ +/* ========== Spinner ========== */ +/* ========== Text fields ========== */ +/* ========== Card ========== */ +/* ========== Sliders ========== */ +/* ========== Progress ========== */ +/* ========== List ========== */ +/* ========== Item ========== */ +/* ========== Dropdown menu ========== */ +/* ========== Tooltips ========== */ +/* ========== Footer ========== */ +/* TEXTFIELD */ +/* SWITCH */ +/* SPINNER */ +/* RADIO */ +/* MENU */ +/* LIST */ +/* ICONS */ +/* ICON TOGGLE */ +/* FOOTER */ +/*mega-footer*/ +/************** + * + * Sizes + * + *************/ +/*mini-footer*/ +/************** + * + * Sizes + * + *************/ +/* COLUMN LAYOUT */ +/* CHECKBOX */ +/* CARD */ +/* Card dimensions */ +/* Cover image */ +/* BUTTON */ +/** + * + * Dimensions + * + */ +/* ANIMATION */ +/* PROGRESS */ +/* BADGE */ +/* SHADOWS */ +/* GRID */ +/* DATA TABLE */ +/* + * What follows is the result of much research on cross-browser styling. + * Credit left inline and big thanks to Nicolas Gallagher, Jonathan Neal, + * Kroc Camen, and the H5BP dev community and team. + */ +/* ========================================================================== + Base styles: opinionated defaults + ========================================================================== */ +html { + color: rgba(0,0,0, 0.87); + font-size: 1em; + line-height: 1.4; } + +/* + * Remove text-shadow in selection highlight: h5bp.com/i + * These selection rule sets have to be separate. + * Customize the background color to match your design. + */ +::-moz-selection { + background: #b3d4fc; + text-shadow: none; } + +::selection { + background: #b3d4fc; + text-shadow: none; } + +/* + * A better looking default horizontal rule + */ +hr { + display: block; + height: 1px; + border: 0; + border-top: 1px solid #ccc; + margin: 1em 0; + padding: 0; } + +/* + * Remove the gap between images, videos, audio and canvas and the bottom of + * their containers: h5bp.com/i/440 + */ +audio, canvas, img, svg, video { + vertical-align: middle; } + +/* + * Remove default fieldset styles. + */ +fieldset { + border: 0; + margin: 0; + padding: 0; } + +/* + * Allow only vertical resizing of textareas. + */ +textarea { + resize: vertical; } + +/* ========================================================================== + Browse Happy prompt + ========================================================================== */ +.browsehappy { + margin: 0.2em 0; + background: #ccc; + color: #000; + padding: 0.2em 0; } + +/* ========================================================================== + Author's custom styles + ========================================================================== */ +/* ========================================================================== + Helper classes + ========================================================================== */ +/* + * Hide visually and from screen readers: h5bp.com/u + */ +.hidden { + display: none !important; + visibility: hidden; } + +/* + * Hide only visually, but have it available for screen readers: h5bp.com/v + */ +.visuallyhidden { + border: 0; + clip: rect(0 0 0 0); + height: 1px; + margin: -1px; + overflow: hidden; + padding: 0; + position: absolute; + width: 1px; } + +/* + * Extends the .visuallyhidden class to allow the element to be focusable + * when navigated to via the keyboard: h5bp.com/p + */ +.visuallyhidden.focusable:active, .visuallyhidden.focusable:focus { + clip: auto; + height: auto; + margin: 0; + overflow: visible; + position: static; + width: auto; } + +/* + * Hide visually and from screen readers, but maintain layout + */ +.invisible { + visibility: hidden; } + +/* + * Clearfix: contain floats + * + * For modern browsers + * 1. The space content is one way to avoid an Opera bug when the + * `contenteditable` attribute is included anywhere else in the document. + * Otherwise it causes space to appear at the top and bottom of elements + * that receive the `clearfix` class. + * 2. The use of `table` rather than `block` is only necessary if using + * `:before` to contain the top-margins of child elements. + */ +.clearfix:before, .clearfix:after { + content: " "; + /* 1 */ + display: table; + /* 2 */ } + +.clearfix:after { + clear: both; } + +/* ========================================================================== + EXAMPLE Media Queries for Responsive Design. + These examples override the primary ('mobile first') styles. + Modify as content requires. + ========================================================================== */ +/* ========================================================================== + Print styles. + Inlined to avoid the additional HTTP request: h5bp.com/r + ========================================================================== */ +@media print { + *, *:before, *:after { + background: transparent !important; + color: #000 !important; + /* Black prints faster: h5bp.com/s */ + box-shadow: none !important; + text-shadow: none !important; } + a, a:visited { + text-decoration: underline; } + a[href]:after { + content: " (" attr(href) ")"; } + abbr[title]:after { + content: " (" attr(title) ")"; } + /* + * Don't show links that are fragment identifiers, + * or use the `javascript:` pseudo protocol + */ + a[href^="#"]:after, a[href^="javascript:"]:after { + content: ""; } + pre, blockquote { + border: 1px solid #999; + page-break-inside: avoid; } + thead { + display: table-header-group; + /* h5bp.com/t */ } + tr, img { + page-break-inside: avoid; } + img { + max-width: 100% !important; } + p, h2, h3 { + orphans: 3; + widows: 3; } + h2, h3 { + page-break-after: avoid; } } + +/** + * Copyright 2015 Google Inc. All Rights Reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/* Remove the unwanted box around FAB buttons */ +/* More info: http://goo.gl/IPwKi */ +a, .mdl-accordion, .mdl-button, .mdl-card, .mdl-checkbox, .mdl-dropdown-menu, .mdl-icon-toggle, .mdl-item, .mdl-radio, .mdl-slider, .mdl-switch, .mdl-tabs__tab { + -webkit-tap-highlight-color: transparent; + -webkit-tap-highlight-color: rgba(255, 255, 255, 0); } + +/* + * Make body take up the entire screen + */ +html { + width: 100%; + height: 100%; } + +body { + width: 100%; + min-height: 100%; } + +/* +* Remove body margin so layout containers don't cause extra overflow. +*/ +body { + margin: 0; } + +/* + * Main display reset for IE support. + * Source: http://weblog.west-wind.com/posts/2015/Jan/12/main-HTML5-Tag-not-working-in-Internet-Explorer-91011 + */ +main { + display: block; } + +/* +* Apply no display to elements with the hidden attribute. +* IE 9 and 10 support. +*/ +*[hidden] { + display: none !important; } + +/** + * Copyright 2015 Google Inc. All Rights Reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/** + * Copyright 2015 Google Inc. All Rights Reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/*------------------------------------*\ + $CONTENTS +\*------------------------------------*/ +/** + * STYLE GUIDE VARIABLES------------------Declarations of Sass variables + * -----Typography + * -----Colors + * -----Textfield + * -----Switch + * -----Spinner + * -----Radio + * -----Menu + * -----List + * -----Layout + * -----Icon toggles + * -----Footer + * -----Column + * -----Checkbox + * -----Card + * -----Button + * -----Animation + * -----Progress + * -----Badge + * -----Shadows + * -----Grid + * -----Data table + */ +/* ========== TYPOGRAPHY ========== */ +/* We're splitting fonts into "preferred" and "performance" in order to optimize + page loading. For important text, such as the body, we want it to load + immediately and not wait for the web font load, whereas for other sections, + such as headers and titles, we're OK with things taking a bit longer to load. + We do have some optional classes and parameters in the mixins, in case you + definitely want to make sure you're using the preferred font and don't mind + the performance hit. + We should be able to improve on this once CSS Font Loading L3 becomes more + widely available. +*/ +/* ========== COLORS ========== */ +/** +* +* Material design color palettes. +* @see http://www.google.com/design/spec/style/color.html +* +**/ +/** + * Copyright 2015 Google Inc. All Rights Reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/* ========== Color Palettes ========== */ +/* colors.scss */ +/* ========== Color & Themes ========== */ +/* ========== Typography ========== */ +/* ========== Components ========== */ +/* ========== Standard Buttons ========== */ +/* ========== Icon Toggles ========== */ +/* ========== Radio Buttons ========== */ +/* ========== Ripple effect ========== */ +/* ========== Layout ========== */ +/* ========== Content Tabs ========== */ +/* ========== Checkboxes ========== */ +/* ========== Switches ========== */ +/* ========== Spinner ========== */ +/* ========== Text fields ========== */ +/* ========== Card ========== */ +/* ========== Sliders ========== */ +/* ========== Progress ========== */ +/* ========== List ========== */ +/* ========== Item ========== */ +/* ========== Dropdown menu ========== */ +/* ========== Tooltips ========== */ +/* ========== Footer ========== */ +/* TEXTFIELD */ +/* SWITCH */ +/* SPINNER */ +/* RADIO */ +/* MENU */ +/* LIST */ +/* ICONS */ +/* ICON TOGGLE */ +/* FOOTER */ +/*mega-footer*/ +/************** + * + * Sizes + * + *************/ +/*mini-footer*/ +/************** + * + * Sizes + * + *************/ +/* COLUMN LAYOUT */ +/* CHECKBOX */ +/* CARD */ +/* Card dimensions */ +/* Cover image */ +/* BUTTON */ +/** + * + * Dimensions + * + */ +/* ANIMATION */ +/* PROGRESS */ +/* BADGE */ +/* SHADOWS */ +/* GRID */ +/* DATA TABLE */ +/** + * Copyright 2015 Google Inc. All Rights Reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/* Typography */ +/* Shadows */ +/* Animations */ +html, body { + font-family: 'Helvetica', 'Arial', sans-serif; + font-size: 14px; + font-weight: 400; + line-height: 20px; } + +h1, h2, h3, h4, h5, h6, p { + margin: 0; + padding: 0; } + +/** +* Styles for HTML elements +*/ +h1 small, h2 small, h3 small, h4 small, h5 small, h6 small { + font-family: 'Roboto', 'Helvetica', 'Arial', sans-serif; + font-size: 56px; + font-weight: 400; + line-height: 1.35; + letter-spacing: -0.02em; + opacity: 0.54; + font-size: 0.6em; } + +h1 { + font-family: 'Roboto', 'Helvetica', 'Arial', sans-serif; + font-size: 56px; + font-weight: 400; + line-height: 1.35; + letter-spacing: -0.02em; + margin-top: 24px; + margin-bottom: 24px; } + +h2 { + font-family: 'Roboto', 'Helvetica', 'Arial', sans-serif; + font-size: 45px; + font-weight: 400; + line-height: 48px; + margin-top: 24px; + margin-bottom: 24px; } + +h3 { + font-family: 'Roboto', 'Helvetica', 'Arial', sans-serif; + font-size: 34px; + font-weight: 400; + line-height: 40px; + margin-top: 24px; + margin-bottom: 24px; } + +h4 { + font-family: 'Roboto', 'Helvetica', 'Arial', sans-serif; + font-size: 24px; + font-weight: 400; + line-height: 32px; + -moz-osx-font-smoothing: grayscale; + margin-top: 24px; + margin-bottom: 16px; } + +h5 { + font-family: 'Roboto', 'Helvetica', 'Arial', sans-serif; + font-size: 20px; + font-weight: 500; + line-height: 1; + letter-spacing: 0.02em; + margin-top: 24px; + margin-bottom: 16px; } + +h6 { + font-family: 'Roboto', 'Helvetica', 'Arial', sans-serif; + font-size: 16px; + font-weight: 400; + line-height: 24px; + letter-spacing: 0.04em; + margin-top: 24px; + margin-bottom: 16px; } + +p { + font-size: 14px; + font-weight: 400; + line-height: 24px; + letter-spacing: 0; + margin-bottom: 16px; } + +a { + color: rgb(255,64,129); + font-weight: 500; } + +blockquote { + font-family: 'Roboto', 'Helvetica', 'Arial', sans-serif; + position: relative; + font-size: 24px; + font-weight: 300; + font-style: italic; + line-height: 1.35; + letter-spacing: 0.08em; } + blockquote:before { + position: absolute; + left: -0.5em; + content: '“'; } + blockquote:after { + content: '”'; + margin-left: -0.05em; } + +mark { + background-color: #f4ff81; } + +dt { + font-weight: 700; } + +address { + font-size: 12px; + font-weight: 400; + line-height: 1; + letter-spacing: 0; + font-style: normal; } + +ul, ol { + font-size: 14px; + font-weight: 400; + line-height: 24px; + letter-spacing: 0; } + +/** + * Class Name Styles + */ +.mdl-typography--display-4 { + font-family: 'Roboto', 'Helvetica', 'Arial', sans-serif; + font-size: 112px; + font-weight: 300; + line-height: 1; + letter-spacing: -0.04em; } + +.mdl-typography--display-4-color-contrast { + font-family: 'Roboto', 'Helvetica', 'Arial', sans-serif; + font-size: 112px; + font-weight: 300; + line-height: 1; + letter-spacing: -0.04em; + opacity: 0.54; } + +.mdl-typography--display-3 { + font-family: 'Roboto', 'Helvetica', 'Arial', sans-serif; + font-size: 56px; + font-weight: 400; + line-height: 1.35; + letter-spacing: -0.02em; } + +.mdl-typography--display-3-color-contrast { + font-family: 'Roboto', 'Helvetica', 'Arial', sans-serif; + font-size: 56px; + font-weight: 400; + line-height: 1.35; + letter-spacing: -0.02em; + opacity: 0.54; } + +.mdl-typography--display-2 { + font-family: 'Roboto', 'Helvetica', 'Arial', sans-serif; + font-size: 45px; + font-weight: 400; + line-height: 48px; } + +.mdl-typography--display-2-color-contrast { + font-family: 'Roboto', 'Helvetica', 'Arial', sans-serif; + font-size: 45px; + font-weight: 400; + line-height: 48px; + opacity: 0.54; } + +.mdl-typography--display-1 { + font-family: 'Roboto', 'Helvetica', 'Arial', sans-serif; + font-size: 34px; + font-weight: 400; + line-height: 40px; } + +.mdl-typography--display-1-color-contrast { + font-family: 'Roboto', 'Helvetica', 'Arial', sans-serif; + font-size: 34px; + font-weight: 400; + line-height: 40px; + opacity: 0.54; } + +.mdl-typography--headline { + font-family: 'Roboto', 'Helvetica', 'Arial', sans-serif; + font-size: 24px; + font-weight: 400; + line-height: 32px; + -moz-osx-font-smoothing: grayscale; } + +.mdl-typography--headline-color-contrast { + font-family: 'Roboto', 'Helvetica', 'Arial', sans-serif; + font-size: 24px; + font-weight: 400; + line-height: 32px; + -moz-osx-font-smoothing: grayscale; + opacity: 0.87; } + +.mdl-typography--title { + font-family: 'Roboto', 'Helvetica', 'Arial', sans-serif; + font-size: 20px; + font-weight: 500; + line-height: 1; + letter-spacing: 0.02em; } + +.mdl-typography--title-color-contrast { + font-family: 'Roboto', 'Helvetica', 'Arial', sans-serif; + font-size: 20px; + font-weight: 500; + line-height: 1; + letter-spacing: 0.02em; + opacity: 0.87; } + +.mdl-typography--subhead { + font-family: 'Roboto', 'Helvetica', 'Arial', sans-serif; + font-size: 16px; + font-weight: 400; + line-height: 24px; + letter-spacing: 0.04em; } + +.mdl-typography--subhead-color-contrast { + font-family: 'Roboto', 'Helvetica', 'Arial', sans-serif; + font-size: 16px; + font-weight: 400; + line-height: 24px; + letter-spacing: 0.04em; + opacity: 0.87; } + +.mdl-typography--body-2 { + font-size: 14px; + font-weight: bold; + line-height: 24px; + letter-spacing: 0; } + +.mdl-typography--body-2-color-contrast { + font-size: 14px; + font-weight: bold; + line-height: 24px; + letter-spacing: 0; + opacity: 0.87; } + +.mdl-typography--body-1 { + font-size: 14px; + font-weight: 400; + line-height: 24px; + letter-spacing: 0; } + +.mdl-typography--body-1-color-contrast { + font-size: 14px; + font-weight: 400; + line-height: 24px; + letter-spacing: 0; + opacity: 0.87; } + +.mdl-typography--body-2-force-preferred-font { + font-family: 'Roboto', 'Helvetica', 'Arial', sans-serif; + font-size: 14px; + font-weight: 500; + line-height: 24px; + letter-spacing: 0; } + +.mdl-typography--body-2-force-preferred-font-color-contrast { + font-family: 'Roboto', 'Helvetica', 'Arial', sans-serif; + font-size: 14px; + font-weight: 500; + line-height: 24px; + letter-spacing: 0; + opacity: 0.87; } + +.mdl-typography--body-1-force-preferred-font { + font-family: 'Roboto', 'Helvetica', 'Arial', sans-serif; + font-size: 14px; + font-weight: 400; + line-height: 24px; + letter-spacing: 0; } + +.mdl-typography--body-1-force-preferred-font-color-contrast { + font-family: 'Roboto', 'Helvetica', 'Arial', sans-serif; + font-size: 14px; + font-weight: 400; + line-height: 24px; + letter-spacing: 0; + opacity: 0.87; } + +.mdl-typography--caption { + font-size: 12px; + font-weight: 400; + line-height: 1; + letter-spacing: 0; } + +.mdl-typography--caption-force-preferred-font { + font-family: 'Roboto', 'Helvetica', 'Arial', sans-serif; + font-size: 12px; + font-weight: 400; + line-height: 1; + letter-spacing: 0; } + +.mdl-typography--caption-color-contrast { + font-size: 12px; + font-weight: 400; + line-height: 1; + letter-spacing: 0; + opacity: 0.54; } + +.mdl-typography--caption-force-preferred-font-color-contrast { + font-family: 'Roboto', 'Helvetica', 'Arial', sans-serif; + font-size: 12px; + font-weight: 400; + line-height: 1; + letter-spacing: 0; + opacity: 0.54; } + +.mdl-typography--menu { + font-family: 'Roboto', 'Helvetica', 'Arial', sans-serif; + font-size: 14px; + font-weight: 500; + line-height: 1; + letter-spacing: 0; } + +.mdl-typography--menu-color-contrast { + font-family: 'Roboto', 'Helvetica', 'Arial', sans-serif; + font-size: 14px; + font-weight: 500; + line-height: 1; + letter-spacing: 0; + opacity: 0.87; } + +.mdl-typography--button { + font-family: 'Roboto', 'Helvetica', 'Arial', sans-serif; + font-size: 14px; + font-weight: 500; + text-transform: uppercase; + line-height: 1; + letter-spacing: 0; } + +.mdl-typography--button-color-contrast { + font-family: 'Roboto', 'Helvetica', 'Arial', sans-serif; + font-size: 14px; + font-weight: 500; + text-transform: uppercase; + line-height: 1; + letter-spacing: 0; + opacity: 0.87; } + +.mdl-typography--text-left { + text-align: left; } + +.mdl-typography--text-right { + text-align: right; } + +.mdl-typography--text-center { + text-align: center; } + +.mdl-typography--text-justify { + text-align: justify; } + +.mdl-typography--text-nowrap { + white-space: nowrap; } + +.mdl-typography--text-lowercase { + text-transform: lowercase; } + +.mdl-typography--text-uppercase { + text-transform: uppercase; } + +.mdl-typography--text-capitalize { + text-transform: capitalize; } + +.mdl-typography--font-thin { + font-weight: 200 !important; } + +.mdl-typography--font-light { + font-weight: 300 !important; } + +.mdl-typography--font-regular { + font-weight: 400 !important; } + +.mdl-typography--font-medium { + font-weight: 500 !important; } + +.mdl-typography--font-bold { + font-weight: 700 !important; } + +.mdl-typography--font-black { + font-weight: 900 !important; } + +/** + * Copyright 2015 Google Inc. All Rights Reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/** + * Copyright 2015 Google Inc. All Rights Reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/*------------------------------------*\ + $CONTENTS +\*------------------------------------*/ +/** + * STYLE GUIDE VARIABLES------------------Declarations of Sass variables + * -----Typography + * -----Colors + * -----Textfield + * -----Switch + * -----Spinner + * -----Radio + * -----Menu + * -----List + * -----Layout + * -----Icon toggles + * -----Footer + * -----Column + * -----Checkbox + * -----Card + * -----Button + * -----Animation + * -----Progress + * -----Badge + * -----Shadows + * -----Grid + * -----Data table + */ +/* ========== TYPOGRAPHY ========== */ +/* We're splitting fonts into "preferred" and "performance" in order to optimize + page loading. For important text, such as the body, we want it to load + immediately and not wait for the web font load, whereas for other sections, + such as headers and titles, we're OK with things taking a bit longer to load. + We do have some optional classes and parameters in the mixins, in case you + definitely want to make sure you're using the preferred font and don't mind + the performance hit. + We should be able to improve on this once CSS Font Loading L3 becomes more + widely available. +*/ +/* ========== COLORS ========== */ +/** +* +* Material design color palettes. +* @see http://www.google.com/design/spec/style/color.html +* +**/ +/** + * Copyright 2015 Google Inc. All Rights Reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/* ========== Color Palettes ========== */ +/* colors.scss */ +/* ========== Color & Themes ========== */ +/* ========== Typography ========== */ +/* ========== Components ========== */ +/* ========== Standard Buttons ========== */ +/* ========== Icon Toggles ========== */ +/* ========== Radio Buttons ========== */ +/* ========== Ripple effect ========== */ +/* ========== Layout ========== */ +/* ========== Content Tabs ========== */ +/* ========== Checkboxes ========== */ +/* ========== Switches ========== */ +/* ========== Spinner ========== */ +/* ========== Text fields ========== */ +/* ========== Card ========== */ +/* ========== Sliders ========== */ +/* ========== Progress ========== */ +/* ========== List ========== */ +/* ========== Item ========== */ +/* ========== Dropdown menu ========== */ +/* ========== Tooltips ========== */ +/* ========== Footer ========== */ +/* TEXTFIELD */ +/* SWITCH */ +/* SPINNER */ +/* RADIO */ +/* MENU */ +/* LIST */ +/* ICONS */ +/* ICON TOGGLE */ +/* FOOTER */ +/*mega-footer*/ +/************** + * + * Sizes + * + *************/ +/*mini-footer*/ +/************** + * + * Sizes + * + *************/ +/* COLUMN LAYOUT */ +/* CHECKBOX */ +/* CARD */ +/* Card dimensions */ +/* Cover image */ +/* BUTTON */ +/** + * + * Dimensions + * + */ +/* ANIMATION */ +/* PROGRESS */ +/* BADGE */ +/* SHADOWS */ +/* GRID */ +/* DATA TABLE */ +.mdl-color-text--red { + color: rgb(244,67,54) !important; } + +.mdl-color--red { + background-color: rgb(244,67,54) !important; } + +.mdl-color-text--red-50 { + color: rgb(255,235,238) !important; } + +.mdl-color--red-50 { + background-color: rgb(255,235,238) !important; } + +.mdl-color-text--red-100 { + color: rgb(255,205,210) !important; } + +.mdl-color--red-100 { + background-color: rgb(255,205,210) !important; } + +.mdl-color-text--red-200 { + color: rgb(239,154,154) !important; } + +.mdl-color--red-200 { + background-color: rgb(239,154,154) !important; } + +.mdl-color-text--red-300 { + color: rgb(229,115,115) !important; } + +.mdl-color--red-300 { + background-color: rgb(229,115,115) !important; } + +.mdl-color-text--red-400 { + color: rgb(239,83,80) !important; } + +.mdl-color--red-400 { + background-color: rgb(239,83,80) !important; } + +.mdl-color-text--red-500 { + color: rgb(244,67,54) !important; } + +.mdl-color--red-500 { + background-color: rgb(244,67,54) !important; } + +.mdl-color-text--red-600 { + color: rgb(229,57,53) !important; } + +.mdl-color--red-600 { + background-color: rgb(229,57,53) !important; } + +.mdl-color-text--red-700 { + color: rgb(211,47,47) !important; } + +.mdl-color--red-700 { + background-color: rgb(211,47,47) !important; } + +.mdl-color-text--red-800 { + color: rgb(198,40,40) !important; } + +.mdl-color--red-800 { + background-color: rgb(198,40,40) !important; } + +.mdl-color-text--red-900 { + color: rgb(183,28,28) !important; } + +.mdl-color--red-900 { + background-color: rgb(183,28,28) !important; } + +.mdl-color-text--red-A100 { + color: rgb(255,138,128) !important; } + +.mdl-color--red-A100 { + background-color: rgb(255,138,128) !important; } + +.mdl-color-text--red-A200 { + color: rgb(255,82,82) !important; } + +.mdl-color--red-A200 { + background-color: rgb(255,82,82) !important; } + +.mdl-color-text--red-A400 { + color: rgb(255,23,68) !important; } + +.mdl-color--red-A400 { + background-color: rgb(255,23,68) !important; } + +.mdl-color-text--red-A700 { + color: rgb(213,0,0) !important; } + +.mdl-color--red-A700 { + background-color: rgb(213,0,0) !important; } + +.mdl-color-text--pink { + color: rgb(233,30,99) !important; } + +.mdl-color--pink { + background-color: rgb(233,30,99) !important; } + +.mdl-color-text--pink-50 { + color: rgb(252,228,236) !important; } + +.mdl-color--pink-50 { + background-color: rgb(252,228,236) !important; } + +.mdl-color-text--pink-100 { + color: rgb(248,187,208) !important; } + +.mdl-color--pink-100 { + background-color: rgb(248,187,208) !important; } + +.mdl-color-text--pink-200 { + color: rgb(244,143,177) !important; } + +.mdl-color--pink-200 { + background-color: rgb(244,143,177) !important; } + +.mdl-color-text--pink-300 { + color: rgb(240,98,146) !important; } + +.mdl-color--pink-300 { + background-color: rgb(240,98,146) !important; } + +.mdl-color-text--pink-400 { + color: rgb(236,64,122) !important; } + +.mdl-color--pink-400 { + background-color: rgb(236,64,122) !important; } + +.mdl-color-text--pink-500 { + color: rgb(233,30,99) !important; } + +.mdl-color--pink-500 { + background-color: rgb(233,30,99) !important; } + +.mdl-color-text--pink-600 { + color: rgb(216,27,96) !important; } + +.mdl-color--pink-600 { + background-color: rgb(216,27,96) !important; } + +.mdl-color-text--pink-700 { + color: rgb(194,24,91) !important; } + +.mdl-color--pink-700 { + background-color: rgb(194,24,91) !important; } + +.mdl-color-text--pink-800 { + color: rgb(173,20,87) !important; } + +.mdl-color--pink-800 { + background-color: rgb(173,20,87) !important; } + +.mdl-color-text--pink-900 { + color: rgb(136,14,79) !important; } + +.mdl-color--pink-900 { + background-color: rgb(136,14,79) !important; } + +.mdl-color-text--pink-A100 { + color: rgb(255,128,171) !important; } + +.mdl-color--pink-A100 { + background-color: rgb(255,128,171) !important; } + +.mdl-color-text--pink-A200 { + color: rgb(255,64,129) !important; } + +.mdl-color--pink-A200 { + background-color: rgb(255,64,129) !important; } + +.mdl-color-text--pink-A400 { + color: rgb(245,0,87) !important; } + +.mdl-color--pink-A400 { + background-color: rgb(245,0,87) !important; } + +.mdl-color-text--pink-A700 { + color: rgb(197,17,98) !important; } + +.mdl-color--pink-A700 { + background-color: rgb(197,17,98) !important; } + +.mdl-color-text--purple { + color: rgb(156,39,176) !important; } + +.mdl-color--purple { + background-color: rgb(156,39,176) !important; } + +.mdl-color-text--purple-50 { + color: rgb(243,229,245) !important; } + +.mdl-color--purple-50 { + background-color: rgb(243,229,245) !important; } + +.mdl-color-text--purple-100 { + color: rgb(225,190,231) !important; } + +.mdl-color--purple-100 { + background-color: rgb(225,190,231) !important; } + +.mdl-color-text--purple-200 { + color: rgb(206,147,216) !important; } + +.mdl-color--purple-200 { + background-color: rgb(206,147,216) !important; } + +.mdl-color-text--purple-300 { + color: rgb(186,104,200) !important; } + +.mdl-color--purple-300 { + background-color: rgb(186,104,200) !important; } + +.mdl-color-text--purple-400 { + color: rgb(171,71,188) !important; } + +.mdl-color--purple-400 { + background-color: rgb(171,71,188) !important; } + +.mdl-color-text--purple-500 { + color: rgb(156,39,176) !important; } + +.mdl-color--purple-500 { + background-color: rgb(156,39,176) !important; } + +.mdl-color-text--purple-600 { + color: rgb(142,36,170) !important; } + +.mdl-color--purple-600 { + background-color: rgb(142,36,170) !important; } + +.mdl-color-text--purple-700 { + color: rgb(123,31,162) !important; } + +.mdl-color--purple-700 { + background-color: rgb(123,31,162) !important; } + +.mdl-color-text--purple-800 { + color: rgb(106,27,154) !important; } + +.mdl-color--purple-800 { + background-color: rgb(106,27,154) !important; } + +.mdl-color-text--purple-900 { + color: rgb(74,20,140) !important; } + +.mdl-color--purple-900 { + background-color: rgb(74,20,140) !important; } + +.mdl-color-text--purple-A100 { + color: rgb(234,128,252) !important; } + +.mdl-color--purple-A100 { + background-color: rgb(234,128,252) !important; } + +.mdl-color-text--purple-A200 { + color: rgb(224,64,251) !important; } + +.mdl-color--purple-A200 { + background-color: rgb(224,64,251) !important; } + +.mdl-color-text--purple-A400 { + color: rgb(213,0,249) !important; } + +.mdl-color--purple-A400 { + background-color: rgb(213,0,249) !important; } + +.mdl-color-text--purple-A700 { + color: rgb(170,0,255) !important; } + +.mdl-color--purple-A700 { + background-color: rgb(170,0,255) !important; } + +.mdl-color-text--deep-purple { + color: rgb(103,58,183) !important; } + +.mdl-color--deep-purple { + background-color: rgb(103,58,183) !important; } + +.mdl-color-text--deep-purple-50 { + color: rgb(237,231,246) !important; } + +.mdl-color--deep-purple-50 { + background-color: rgb(237,231,246) !important; } + +.mdl-color-text--deep-purple-100 { + color: rgb(209,196,233) !important; } + +.mdl-color--deep-purple-100 { + background-color: rgb(209,196,233) !important; } + +.mdl-color-text--deep-purple-200 { + color: rgb(179,157,219) !important; } + +.mdl-color--deep-purple-200 { + background-color: rgb(179,157,219) !important; } + +.mdl-color-text--deep-purple-300 { + color: rgb(149,117,205) !important; } + +.mdl-color--deep-purple-300 { + background-color: rgb(149,117,205) !important; } + +.mdl-color-text--deep-purple-400 { + color: rgb(126,87,194) !important; } + +.mdl-color--deep-purple-400 { + background-color: rgb(126,87,194) !important; } + +.mdl-color-text--deep-purple-500 { + color: rgb(103,58,183) !important; } + +.mdl-color--deep-purple-500 { + background-color: rgb(103,58,183) !important; } + +.mdl-color-text--deep-purple-600 { + color: rgb(94,53,177) !important; } + +.mdl-color--deep-purple-600 { + background-color: rgb(94,53,177) !important; } + +.mdl-color-text--deep-purple-700 { + color: rgb(81,45,168) !important; } + +.mdl-color--deep-purple-700 { + background-color: rgb(81,45,168) !important; } + +.mdl-color-text--deep-purple-800 { + color: rgb(69,39,160) !important; } + +.mdl-color--deep-purple-800 { + background-color: rgb(69,39,160) !important; } + +.mdl-color-text--deep-purple-900 { + color: rgb(49,27,146) !important; } + +.mdl-color--deep-purple-900 { + background-color: rgb(49,27,146) !important; } + +.mdl-color-text--deep-purple-A100 { + color: rgb(179,136,255) !important; } + +.mdl-color--deep-purple-A100 { + background-color: rgb(179,136,255) !important; } + +.mdl-color-text--deep-purple-A200 { + color: rgb(124,77,255) !important; } + +.mdl-color--deep-purple-A200 { + background-color: rgb(124,77,255) !important; } + +.mdl-color-text--deep-purple-A400 { + color: rgb(101,31,255) !important; } + +.mdl-color--deep-purple-A400 { + background-color: rgb(101,31,255) !important; } + +.mdl-color-text--deep-purple-A700 { + color: rgb(98,0,234) !important; } + +.mdl-color--deep-purple-A700 { + background-color: rgb(98,0,234) !important; } + +.mdl-color-text--indigo { + color: rgb(63,81,181) !important; } + +.mdl-color--indigo { + background-color: rgb(63,81,181) !important; } + +.mdl-color-text--indigo-50 { + color: rgb(232,234,246) !important; } + +.mdl-color--indigo-50 { + background-color: rgb(232,234,246) !important; } + +.mdl-color-text--indigo-100 { + color: rgb(197,202,233) !important; } + +.mdl-color--indigo-100 { + background-color: rgb(197,202,233) !important; } + +.mdl-color-text--indigo-200 { + color: rgb(159,168,218) !important; } + +.mdl-color--indigo-200 { + background-color: rgb(159,168,218) !important; } + +.mdl-color-text--indigo-300 { + color: rgb(121,134,203) !important; } + +.mdl-color--indigo-300 { + background-color: rgb(121,134,203) !important; } + +.mdl-color-text--indigo-400 { + color: rgb(92,107,192) !important; } + +.mdl-color--indigo-400 { + background-color: rgb(92,107,192) !important; } + +.mdl-color-text--indigo-500 { + color: rgb(63,81,181) !important; } + +.mdl-color--indigo-500 { + background-color: rgb(63,81,181) !important; } + +.mdl-color-text--indigo-600 { + color: rgb(57,73,171) !important; } + +.mdl-color--indigo-600 { + background-color: rgb(57,73,171) !important; } + +.mdl-color-text--indigo-700 { + color: rgb(48,63,159) !important; } + +.mdl-color--indigo-700 { + background-color: rgb(48,63,159) !important; } + +.mdl-color-text--indigo-800 { + color: rgb(40,53,147) !important; } + +.mdl-color--indigo-800 { + background-color: rgb(40,53,147) !important; } + +.mdl-color-text--indigo-900 { + color: rgb(26,35,126) !important; } + +.mdl-color--indigo-900 { + background-color: rgb(26,35,126) !important; } + +.mdl-color-text--indigo-A100 { + color: rgb(140,158,255) !important; } + +.mdl-color--indigo-A100 { + background-color: rgb(140,158,255) !important; } + +.mdl-color-text--indigo-A200 { + color: rgb(83,109,254) !important; } + +.mdl-color--indigo-A200 { + background-color: rgb(83,109,254) !important; } + +.mdl-color-text--indigo-A400 { + color: rgb(61,90,254) !important; } + +.mdl-color--indigo-A400 { + background-color: rgb(61,90,254) !important; } + +.mdl-color-text--indigo-A700 { + color: rgb(48,79,254) !important; } + +.mdl-color--indigo-A700 { + background-color: rgb(48,79,254) !important; } + +.mdl-color-text--blue { + color: rgb(33,150,243) !important; } + +.mdl-color--blue { + background-color: rgb(33,150,243) !important; } + +.mdl-color-text--blue-50 { + color: rgb(227,242,253) !important; } + +.mdl-color--blue-50 { + background-color: rgb(227,242,253) !important; } + +.mdl-color-text--blue-100 { + color: rgb(187,222,251) !important; } + +.mdl-color--blue-100 { + background-color: rgb(187,222,251) !important; } + +.mdl-color-text--blue-200 { + color: rgb(144,202,249) !important; } + +.mdl-color--blue-200 { + background-color: rgb(144,202,249) !important; } + +.mdl-color-text--blue-300 { + color: rgb(100,181,246) !important; } + +.mdl-color--blue-300 { + background-color: rgb(100,181,246) !important; } + +.mdl-color-text--blue-400 { + color: rgb(66,165,245) !important; } + +.mdl-color--blue-400 { + background-color: rgb(66,165,245) !important; } + +.mdl-color-text--blue-500 { + color: rgb(33,150,243) !important; } + +.mdl-color--blue-500 { + background-color: rgb(33,150,243) !important; } + +.mdl-color-text--blue-600 { + color: rgb(30,136,229) !important; } + +.mdl-color--blue-600 { + background-color: rgb(30,136,229) !important; } + +.mdl-color-text--blue-700 { + color: rgb(25,118,210) !important; } + +.mdl-color--blue-700 { + background-color: rgb(25,118,210) !important; } + +.mdl-color-text--blue-800 { + color: rgb(21,101,192) !important; } + +.mdl-color--blue-800 { + background-color: rgb(21,101,192) !important; } + +.mdl-color-text--blue-900 { + color: rgb(13,71,161) !important; } + +.mdl-color--blue-900 { + background-color: rgb(13,71,161) !important; } + +.mdl-color-text--blue-A100 { + color: rgb(130,177,255) !important; } + +.mdl-color--blue-A100 { + background-color: rgb(130,177,255) !important; } + +.mdl-color-text--blue-A200 { + color: rgb(68,138,255) !important; } + +.mdl-color--blue-A200 { + background-color: rgb(68,138,255) !important; } + +.mdl-color-text--blue-A400 { + color: rgb(41,121,255) !important; } + +.mdl-color--blue-A400 { + background-color: rgb(41,121,255) !important; } + +.mdl-color-text--blue-A700 { + color: rgb(41,98,255) !important; } + +.mdl-color--blue-A700 { + background-color: rgb(41,98,255) !important; } + +.mdl-color-text--light-blue { + color: rgb(3,169,244) !important; } + +.mdl-color--light-blue { + background-color: rgb(3,169,244) !important; } + +.mdl-color-text--light-blue-50 { + color: rgb(225,245,254) !important; } + +.mdl-color--light-blue-50 { + background-color: rgb(225,245,254) !important; } + +.mdl-color-text--light-blue-100 { + color: rgb(179,229,252) !important; } + +.mdl-color--light-blue-100 { + background-color: rgb(179,229,252) !important; } + +.mdl-color-text--light-blue-200 { + color: rgb(129,212,250) !important; } + +.mdl-color--light-blue-200 { + background-color: rgb(129,212,250) !important; } + +.mdl-color-text--light-blue-300 { + color: rgb(79,195,247) !important; } + +.mdl-color--light-blue-300 { + background-color: rgb(79,195,247) !important; } + +.mdl-color-text--light-blue-400 { + color: rgb(41,182,246) !important; } + +.mdl-color--light-blue-400 { + background-color: rgb(41,182,246) !important; } + +.mdl-color-text--light-blue-500 { + color: rgb(3,169,244) !important; } + +.mdl-color--light-blue-500 { + background-color: rgb(3,169,244) !important; } + +.mdl-color-text--light-blue-600 { + color: rgb(3,155,229) !important; } + +.mdl-color--light-blue-600 { + background-color: rgb(3,155,229) !important; } + +.mdl-color-text--light-blue-700 { + color: rgb(2,136,209) !important; } + +.mdl-color--light-blue-700 { + background-color: rgb(2,136,209) !important; } + +.mdl-color-text--light-blue-800 { + color: rgb(2,119,189) !important; } + +.mdl-color--light-blue-800 { + background-color: rgb(2,119,189) !important; } + +.mdl-color-text--light-blue-900 { + color: rgb(1,87,155) !important; } + +.mdl-color--light-blue-900 { + background-color: rgb(1,87,155) !important; } + +.mdl-color-text--light-blue-A100 { + color: rgb(128,216,255) !important; } + +.mdl-color--light-blue-A100 { + background-color: rgb(128,216,255) !important; } + +.mdl-color-text--light-blue-A200 { + color: rgb(64,196,255) !important; } + +.mdl-color--light-blue-A200 { + background-color: rgb(64,196,255) !important; } + +.mdl-color-text--light-blue-A400 { + color: rgb(0,176,255) !important; } + +.mdl-color--light-blue-A400 { + background-color: rgb(0,176,255) !important; } + +.mdl-color-text--light-blue-A700 { + color: rgb(0,145,234) !important; } + +.mdl-color--light-blue-A700 { + background-color: rgb(0,145,234) !important; } + +.mdl-color-text--cyan { + color: rgb(0,188,212) !important; } + +.mdl-color--cyan { + background-color: rgb(0,188,212) !important; } + +.mdl-color-text--cyan-50 { + color: rgb(224,247,250) !important; } + +.mdl-color--cyan-50 { + background-color: rgb(224,247,250) !important; } + +.mdl-color-text--cyan-100 { + color: rgb(178,235,242) !important; } + +.mdl-color--cyan-100 { + background-color: rgb(178,235,242) !important; } + +.mdl-color-text--cyan-200 { + color: rgb(128,222,234) !important; } + +.mdl-color--cyan-200 { + background-color: rgb(128,222,234) !important; } + +.mdl-color-text--cyan-300 { + color: rgb(77,208,225) !important; } + +.mdl-color--cyan-300 { + background-color: rgb(77,208,225) !important; } + +.mdl-color-text--cyan-400 { + color: rgb(38,198,218) !important; } + +.mdl-color--cyan-400 { + background-color: rgb(38,198,218) !important; } + +.mdl-color-text--cyan-500 { + color: rgb(0,188,212) !important; } + +.mdl-color--cyan-500 { + background-color: rgb(0,188,212) !important; } + +.mdl-color-text--cyan-600 { + color: rgb(0,172,193) !important; } + +.mdl-color--cyan-600 { + background-color: rgb(0,172,193) !important; } + +.mdl-color-text--cyan-700 { + color: rgb(0,151,167) !important; } + +.mdl-color--cyan-700 { + background-color: rgb(0,151,167) !important; } + +.mdl-color-text--cyan-800 { + color: rgb(0,131,143) !important; } + +.mdl-color--cyan-800 { + background-color: rgb(0,131,143) !important; } + +.mdl-color-text--cyan-900 { + color: rgb(0,96,100) !important; } + +.mdl-color--cyan-900 { + background-color: rgb(0,96,100) !important; } + +.mdl-color-text--cyan-A100 { + color: rgb(132,255,255) !important; } + +.mdl-color--cyan-A100 { + background-color: rgb(132,255,255) !important; } + +.mdl-color-text--cyan-A200 { + color: rgb(24,255,255) !important; } + +.mdl-color--cyan-A200 { + background-color: rgb(24,255,255) !important; } + +.mdl-color-text--cyan-A400 { + color: rgb(0,229,255) !important; } + +.mdl-color--cyan-A400 { + background-color: rgb(0,229,255) !important; } + +.mdl-color-text--cyan-A700 { + color: rgb(0,184,212) !important; } + +.mdl-color--cyan-A700 { + background-color: rgb(0,184,212) !important; } + +.mdl-color-text--teal { + color: rgb(0,150,136) !important; } + +.mdl-color--teal { + background-color: rgb(0,150,136) !important; } + +.mdl-color-text--teal-50 { + color: rgb(224,242,241) !important; } + +.mdl-color--teal-50 { + background-color: rgb(224,242,241) !important; } + +.mdl-color-text--teal-100 { + color: rgb(178,223,219) !important; } + +.mdl-color--teal-100 { + background-color: rgb(178,223,219) !important; } + +.mdl-color-text--teal-200 { + color: rgb(128,203,196) !important; } + +.mdl-color--teal-200 { + background-color: rgb(128,203,196) !important; } + +.mdl-color-text--teal-300 { + color: rgb(77,182,172) !important; } + +.mdl-color--teal-300 { + background-color: rgb(77,182,172) !important; } + +.mdl-color-text--teal-400 { + color: rgb(38,166,154) !important; } + +.mdl-color--teal-400 { + background-color: rgb(38,166,154) !important; } + +.mdl-color-text--teal-500 { + color: rgb(0,150,136) !important; } + +.mdl-color--teal-500 { + background-color: rgb(0,150,136) !important; } + +.mdl-color-text--teal-600 { + color: rgb(0,137,123) !important; } + +.mdl-color--teal-600 { + background-color: rgb(0,137,123) !important; } + +.mdl-color-text--teal-700 { + color: rgb(0,121,107) !important; } + +.mdl-color--teal-700 { + background-color: rgb(0,121,107) !important; } + +.mdl-color-text--teal-800 { + color: rgb(0,105,92) !important; } + +.mdl-color--teal-800 { + background-color: rgb(0,105,92) !important; } + +.mdl-color-text--teal-900 { + color: rgb(0,77,64) !important; } + +.mdl-color--teal-900 { + background-color: rgb(0,77,64) !important; } + +.mdl-color-text--teal-A100 { + color: rgb(167,255,235) !important; } + +.mdl-color--teal-A100 { + background-color: rgb(167,255,235) !important; } + +.mdl-color-text--teal-A200 { + color: rgb(100,255,218) !important; } + +.mdl-color--teal-A200 { + background-color: rgb(100,255,218) !important; } + +.mdl-color-text--teal-A400 { + color: rgb(29,233,182) !important; } + +.mdl-color--teal-A400 { + background-color: rgb(29,233,182) !important; } + +.mdl-color-text--teal-A700 { + color: rgb(0,191,165) !important; } + +.mdl-color--teal-A700 { + background-color: rgb(0,191,165) !important; } + +.mdl-color-text--green { + color: rgb(76,175,80) !important; } + +.mdl-color--green { + background-color: rgb(76,175,80) !important; } + +.mdl-color-text--green-50 { + color: rgb(232,245,233) !important; } + +.mdl-color--green-50 { + background-color: rgb(232,245,233) !important; } + +.mdl-color-text--green-100 { + color: rgb(200,230,201) !important; } + +.mdl-color--green-100 { + background-color: rgb(200,230,201) !important; } + +.mdl-color-text--green-200 { + color: rgb(165,214,167) !important; } + +.mdl-color--green-200 { + background-color: rgb(165,214,167) !important; } + +.mdl-color-text--green-300 { + color: rgb(129,199,132) !important; } + +.mdl-color--green-300 { + background-color: rgb(129,199,132) !important; } + +.mdl-color-text--green-400 { + color: rgb(102,187,106) !important; } + +.mdl-color--green-400 { + background-color: rgb(102,187,106) !important; } + +.mdl-color-text--green-500 { + color: rgb(76,175,80) !important; } + +.mdl-color--green-500 { + background-color: rgb(76,175,80) !important; } + +.mdl-color-text--green-600 { + color: rgb(67,160,71) !important; } + +.mdl-color--green-600 { + background-color: rgb(67,160,71) !important; } + +.mdl-color-text--green-700 { + color: rgb(56,142,60) !important; } + +.mdl-color--green-700 { + background-color: rgb(56,142,60) !important; } + +.mdl-color-text--green-800 { + color: rgb(46,125,50) !important; } + +.mdl-color--green-800 { + background-color: rgb(46,125,50) !important; } + +.mdl-color-text--green-900 { + color: rgb(27,94,32) !important; } + +.mdl-color--green-900 { + background-color: rgb(27,94,32) !important; } + +.mdl-color-text--green-A100 { + color: rgb(185,246,202) !important; } + +.mdl-color--green-A100 { + background-color: rgb(185,246,202) !important; } + +.mdl-color-text--green-A200 { + color: rgb(105,240,174) !important; } + +.mdl-color--green-A200 { + background-color: rgb(105,240,174) !important; } + +.mdl-color-text--green-A400 { + color: rgb(0,230,118) !important; } + +.mdl-color--green-A400 { + background-color: rgb(0,230,118) !important; } + +.mdl-color-text--green-A700 { + color: rgb(0,200,83) !important; } + +.mdl-color--green-A700 { + background-color: rgb(0,200,83) !important; } + +.mdl-color-text--light-green { + color: rgb(139,195,74) !important; } + +.mdl-color--light-green { + background-color: rgb(139,195,74) !important; } + +.mdl-color-text--light-green-50 { + color: rgb(241,248,233) !important; } + +.mdl-color--light-green-50 { + background-color: rgb(241,248,233) !important; } + +.mdl-color-text--light-green-100 { + color: rgb(220,237,200) !important; } + +.mdl-color--light-green-100 { + background-color: rgb(220,237,200) !important; } + +.mdl-color-text--light-green-200 { + color: rgb(197,225,165) !important; } + +.mdl-color--light-green-200 { + background-color: rgb(197,225,165) !important; } + +.mdl-color-text--light-green-300 { + color: rgb(174,213,129) !important; } + +.mdl-color--light-green-300 { + background-color: rgb(174,213,129) !important; } + +.mdl-color-text--light-green-400 { + color: rgb(156,204,101) !important; } + +.mdl-color--light-green-400 { + background-color: rgb(156,204,101) !important; } + +.mdl-color-text--light-green-500 { + color: rgb(139,195,74) !important; } + +.mdl-color--light-green-500 { + background-color: rgb(139,195,74) !important; } + +.mdl-color-text--light-green-600 { + color: rgb(124,179,66) !important; } + +.mdl-color--light-green-600 { + background-color: rgb(124,179,66) !important; } + +.mdl-color-text--light-green-700 { + color: rgb(104,159,56) !important; } + +.mdl-color--light-green-700 { + background-color: rgb(104,159,56) !important; } + +.mdl-color-text--light-green-800 { + color: rgb(85,139,47) !important; } + +.mdl-color--light-green-800 { + background-color: rgb(85,139,47) !important; } + +.mdl-color-text--light-green-900 { + color: rgb(51,105,30) !important; } + +.mdl-color--light-green-900 { + background-color: rgb(51,105,30) !important; } + +.mdl-color-text--light-green-A100 { + color: rgb(204,255,144) !important; } + +.mdl-color--light-green-A100 { + background-color: rgb(204,255,144) !important; } + +.mdl-color-text--light-green-A200 { + color: rgb(178,255,89) !important; } + +.mdl-color--light-green-A200 { + background-color: rgb(178,255,89) !important; } + +.mdl-color-text--light-green-A400 { + color: rgb(118,255,3) !important; } + +.mdl-color--light-green-A400 { + background-color: rgb(118,255,3) !important; } + +.mdl-color-text--light-green-A700 { + color: rgb(100,221,23) !important; } + +.mdl-color--light-green-A700 { + background-color: rgb(100,221,23) !important; } + +.mdl-color-text--lime { + color: rgb(205,220,57) !important; } + +.mdl-color--lime { + background-color: rgb(205,220,57) !important; } + +.mdl-color-text--lime-50 { + color: rgb(249,251,231) !important; } + +.mdl-color--lime-50 { + background-color: rgb(249,251,231) !important; } + +.mdl-color-text--lime-100 { + color: rgb(240,244,195) !important; } + +.mdl-color--lime-100 { + background-color: rgb(240,244,195) !important; } + +.mdl-color-text--lime-200 { + color: rgb(230,238,156) !important; } + +.mdl-color--lime-200 { + background-color: rgb(230,238,156) !important; } + +.mdl-color-text--lime-300 { + color: rgb(220,231,117) !important; } + +.mdl-color--lime-300 { + background-color: rgb(220,231,117) !important; } + +.mdl-color-text--lime-400 { + color: rgb(212,225,87) !important; } + +.mdl-color--lime-400 { + background-color: rgb(212,225,87) !important; } + +.mdl-color-text--lime-500 { + color: rgb(205,220,57) !important; } + +.mdl-color--lime-500 { + background-color: rgb(205,220,57) !important; } + +.mdl-color-text--lime-600 { + color: rgb(192,202,51) !important; } + +.mdl-color--lime-600 { + background-color: rgb(192,202,51) !important; } + +.mdl-color-text--lime-700 { + color: rgb(175,180,43) !important; } + +.mdl-color--lime-700 { + background-color: rgb(175,180,43) !important; } + +.mdl-color-text--lime-800 { + color: rgb(158,157,36) !important; } + +.mdl-color--lime-800 { + background-color: rgb(158,157,36) !important; } + +.mdl-color-text--lime-900 { + color: rgb(130,119,23) !important; } + +.mdl-color--lime-900 { + background-color: rgb(130,119,23) !important; } + +.mdl-color-text--lime-A100 { + color: rgb(244,255,129) !important; } + +.mdl-color--lime-A100 { + background-color: rgb(244,255,129) !important; } + +.mdl-color-text--lime-A200 { + color: rgb(238,255,65) !important; } + +.mdl-color--lime-A200 { + background-color: rgb(238,255,65) !important; } + +.mdl-color-text--lime-A400 { + color: rgb(198,255,0) !important; } + +.mdl-color--lime-A400 { + background-color: rgb(198,255,0) !important; } + +.mdl-color-text--lime-A700 { + color: rgb(174,234,0) !important; } + +.mdl-color--lime-A700 { + background-color: rgb(174,234,0) !important; } + +.mdl-color-text--yellow { + color: rgb(255,235,59) !important; } + +.mdl-color--yellow { + background-color: rgb(255,235,59) !important; } + +.mdl-color-text--yellow-50 { + color: rgb(255,253,231) !important; } + +.mdl-color--yellow-50 { + background-color: rgb(255,253,231) !important; } + +.mdl-color-text--yellow-100 { + color: rgb(255,249,196) !important; } + +.mdl-color--yellow-100 { + background-color: rgb(255,249,196) !important; } + +.mdl-color-text--yellow-200 { + color: rgb(255,245,157) !important; } + +.mdl-color--yellow-200 { + background-color: rgb(255,245,157) !important; } + +.mdl-color-text--yellow-300 { + color: rgb(255,241,118) !important; } + +.mdl-color--yellow-300 { + background-color: rgb(255,241,118) !important; } + +.mdl-color-text--yellow-400 { + color: rgb(255,238,88) !important; } + +.mdl-color--yellow-400 { + background-color: rgb(255,238,88) !important; } + +.mdl-color-text--yellow-500 { + color: rgb(255,235,59) !important; } + +.mdl-color--yellow-500 { + background-color: rgb(255,235,59) !important; } + +.mdl-color-text--yellow-600 { + color: rgb(253,216,53) !important; } + +.mdl-color--yellow-600 { + background-color: rgb(253,216,53) !important; } + +.mdl-color-text--yellow-700 { + color: rgb(251,192,45) !important; } + +.mdl-color--yellow-700 { + background-color: rgb(251,192,45) !important; } + +.mdl-color-text--yellow-800 { + color: rgb(249,168,37) !important; } + +.mdl-color--yellow-800 { + background-color: rgb(249,168,37) !important; } + +.mdl-color-text--yellow-900 { + color: rgb(245,127,23) !important; } + +.mdl-color--yellow-900 { + background-color: rgb(245,127,23) !important; } + +.mdl-color-text--yellow-A100 { + color: rgb(255,255,141) !important; } + +.mdl-color--yellow-A100 { + background-color: rgb(255,255,141) !important; } + +.mdl-color-text--yellow-A200 { + color: rgb(255,255,0) !important; } + +.mdl-color--yellow-A200 { + background-color: rgb(255,255,0) !important; } + +.mdl-color-text--yellow-A400 { + color: rgb(255,234,0) !important; } + +.mdl-color--yellow-A400 { + background-color: rgb(255,234,0) !important; } + +.mdl-color-text--yellow-A700 { + color: rgb(255,214,0) !important; } + +.mdl-color--yellow-A700 { + background-color: rgb(255,214,0) !important; } + +.mdl-color-text--amber { + color: rgb(255,193,7) !important; } + +.mdl-color--amber { + background-color: rgb(255,193,7) !important; } + +.mdl-color-text--amber-50 { + color: rgb(255,248,225) !important; } + +.mdl-color--amber-50 { + background-color: rgb(255,248,225) !important; } + +.mdl-color-text--amber-100 { + color: rgb(255,236,179) !important; } + +.mdl-color--amber-100 { + background-color: rgb(255,236,179) !important; } + +.mdl-color-text--amber-200 { + color: rgb(255,224,130) !important; } + +.mdl-color--amber-200 { + background-color: rgb(255,224,130) !important; } + +.mdl-color-text--amber-300 { + color: rgb(255,213,79) !important; } + +.mdl-color--amber-300 { + background-color: rgb(255,213,79) !important; } + +.mdl-color-text--amber-400 { + color: rgb(255,202,40) !important; } + +.mdl-color--amber-400 { + background-color: rgb(255,202,40) !important; } + +.mdl-color-text--amber-500 { + color: rgb(255,193,7) !important; } + +.mdl-color--amber-500 { + background-color: rgb(255,193,7) !important; } + +.mdl-color-text--amber-600 { + color: rgb(255,179,0) !important; } + +.mdl-color--amber-600 { + background-color: rgb(255,179,0) !important; } + +.mdl-color-text--amber-700 { + color: rgb(255,160,0) !important; } + +.mdl-color--amber-700 { + background-color: rgb(255,160,0) !important; } + +.mdl-color-text--amber-800 { + color: rgb(255,143,0) !important; } + +.mdl-color--amber-800 { + background-color: rgb(255,143,0) !important; } + +.mdl-color-text--amber-900 { + color: rgb(255,111,0) !important; } + +.mdl-color--amber-900 { + background-color: rgb(255,111,0) !important; } + +.mdl-color-text--amber-A100 { + color: rgb(255,229,127) !important; } + +.mdl-color--amber-A100 { + background-color: rgb(255,229,127) !important; } + +.mdl-color-text--amber-A200 { + color: rgb(255,215,64) !important; } + +.mdl-color--amber-A200 { + background-color: rgb(255,215,64) !important; } + +.mdl-color-text--amber-A400 { + color: rgb(255,196,0) !important; } + +.mdl-color--amber-A400 { + background-color: rgb(255,196,0) !important; } + +.mdl-color-text--amber-A700 { + color: rgb(255,171,0) !important; } + +.mdl-color--amber-A700 { + background-color: rgb(255,171,0) !important; } + +.mdl-color-text--orange { + color: rgb(255,152,0) !important; } + +.mdl-color--orange { + background-color: rgb(255,152,0) !important; } + +.mdl-color-text--orange-50 { + color: rgb(255,243,224) !important; } + +.mdl-color--orange-50 { + background-color: rgb(255,243,224) !important; } + +.mdl-color-text--orange-100 { + color: rgb(255,224,178) !important; } + +.mdl-color--orange-100 { + background-color: rgb(255,224,178) !important; } + +.mdl-color-text--orange-200 { + color: rgb(255,204,128) !important; } + +.mdl-color--orange-200 { + background-color: rgb(255,204,128) !important; } + +.mdl-color-text--orange-300 { + color: rgb(255,183,77) !important; } + +.mdl-color--orange-300 { + background-color: rgb(255,183,77) !important; } + +.mdl-color-text--orange-400 { + color: rgb(255,167,38) !important; } + +.mdl-color--orange-400 { + background-color: rgb(255,167,38) !important; } + +.mdl-color-text--orange-500 { + color: rgb(255,152,0) !important; } + +.mdl-color--orange-500 { + background-color: rgb(255,152,0) !important; } + +.mdl-color-text--orange-600 { + color: rgb(251,140,0) !important; } + +.mdl-color--orange-600 { + background-color: rgb(251,140,0) !important; } + +.mdl-color-text--orange-700 { + color: rgb(245,124,0) !important; } + +.mdl-color--orange-700 { + background-color: rgb(245,124,0) !important; } + +.mdl-color-text--orange-800 { + color: rgb(239,108,0) !important; } + +.mdl-color--orange-800 { + background-color: rgb(239,108,0) !important; } + +.mdl-color-text--orange-900 { + color: rgb(230,81,0) !important; } + +.mdl-color--orange-900 { + background-color: rgb(230,81,0) !important; } + +.mdl-color-text--orange-A100 { + color: rgb(255,209,128) !important; } + +.mdl-color--orange-A100 { + background-color: rgb(255,209,128) !important; } + +.mdl-color-text--orange-A200 { + color: rgb(255,171,64) !important; } + +.mdl-color--orange-A200 { + background-color: rgb(255,171,64) !important; } + +.mdl-color-text--orange-A400 { + color: rgb(255,145,0) !important; } + +.mdl-color--orange-A400 { + background-color: rgb(255,145,0) !important; } + +.mdl-color-text--orange-A700 { + color: rgb(255,109,0) !important; } + +.mdl-color--orange-A700 { + background-color: rgb(255,109,0) !important; } + +.mdl-color-text--deep-orange { + color: rgb(255,87,34) !important; } + +.mdl-color--deep-orange { + background-color: rgb(255,87,34) !important; } + +.mdl-color-text--deep-orange-50 { + color: rgb(251,233,231) !important; } + +.mdl-color--deep-orange-50 { + background-color: rgb(251,233,231) !important; } + +.mdl-color-text--deep-orange-100 { + color: rgb(255,204,188) !important; } + +.mdl-color--deep-orange-100 { + background-color: rgb(255,204,188) !important; } + +.mdl-color-text--deep-orange-200 { + color: rgb(255,171,145) !important; } + +.mdl-color--deep-orange-200 { + background-color: rgb(255,171,145) !important; } + +.mdl-color-text--deep-orange-300 { + color: rgb(255,138,101) !important; } + +.mdl-color--deep-orange-300 { + background-color: rgb(255,138,101) !important; } + +.mdl-color-text--deep-orange-400 { + color: rgb(255,112,67) !important; } + +.mdl-color--deep-orange-400 { + background-color: rgb(255,112,67) !important; } + +.mdl-color-text--deep-orange-500 { + color: rgb(255,87,34) !important; } + +.mdl-color--deep-orange-500 { + background-color: rgb(255,87,34) !important; } + +.mdl-color-text--deep-orange-600 { + color: rgb(244,81,30) !important; } + +.mdl-color--deep-orange-600 { + background-color: rgb(244,81,30) !important; } + +.mdl-color-text--deep-orange-700 { + color: rgb(230,74,25) !important; } + +.mdl-color--deep-orange-700 { + background-color: rgb(230,74,25) !important; } + +.mdl-color-text--deep-orange-800 { + color: rgb(216,67,21) !important; } + +.mdl-color--deep-orange-800 { + background-color: rgb(216,67,21) !important; } + +.mdl-color-text--deep-orange-900 { + color: rgb(191,54,12) !important; } + +.mdl-color--deep-orange-900 { + background-color: rgb(191,54,12) !important; } + +.mdl-color-text--deep-orange-A100 { + color: rgb(255,158,128) !important; } + +.mdl-color--deep-orange-A100 { + background-color: rgb(255,158,128) !important; } + +.mdl-color-text--deep-orange-A200 { + color: rgb(255,110,64) !important; } + +.mdl-color--deep-orange-A200 { + background-color: rgb(255,110,64) !important; } + +.mdl-color-text--deep-orange-A400 { + color: rgb(255,61,0) !important; } + +.mdl-color--deep-orange-A400 { + background-color: rgb(255,61,0) !important; } + +.mdl-color-text--deep-orange-A700 { + color: rgb(221,44,0) !important; } + +.mdl-color--deep-orange-A700 { + background-color: rgb(221,44,0) !important; } + +.mdl-color-text--brown { + color: rgb(121,85,72) !important; } + +.mdl-color--brown { + background-color: rgb(121,85,72) !important; } + +.mdl-color-text--brown-50 { + color: rgb(239,235,233) !important; } + +.mdl-color--brown-50 { + background-color: rgb(239,235,233) !important; } + +.mdl-color-text--brown-100 { + color: rgb(215,204,200) !important; } + +.mdl-color--brown-100 { + background-color: rgb(215,204,200) !important; } + +.mdl-color-text--brown-200 { + color: rgb(188,170,164) !important; } + +.mdl-color--brown-200 { + background-color: rgb(188,170,164) !important; } + +.mdl-color-text--brown-300 { + color: rgb(161,136,127) !important; } + +.mdl-color--brown-300 { + background-color: rgb(161,136,127) !important; } + +.mdl-color-text--brown-400 { + color: rgb(141,110,99) !important; } + +.mdl-color--brown-400 { + background-color: rgb(141,110,99) !important; } + +.mdl-color-text--brown-500 { + color: rgb(121,85,72) !important; } + +.mdl-color--brown-500 { + background-color: rgb(121,85,72) !important; } + +.mdl-color-text--brown-600 { + color: rgb(109,76,65) !important; } + +.mdl-color--brown-600 { + background-color: rgb(109,76,65) !important; } + +.mdl-color-text--brown-700 { + color: rgb(93,64,55) !important; } + +.mdl-color--brown-700 { + background-color: rgb(93,64,55) !important; } + +.mdl-color-text--brown-800 { + color: rgb(78,52,46) !important; } + +.mdl-color--brown-800 { + background-color: rgb(78,52,46) !important; } + +.mdl-color-text--brown-900 { + color: rgb(62,39,35) !important; } + +.mdl-color--brown-900 { + background-color: rgb(62,39,35) !important; } + +.mdl-color-text--grey { + color: rgb(158,158,158) !important; } + +.mdl-color--grey { + background-color: rgb(158,158,158) !important; } + +.mdl-color-text--grey-50 { + color: rgb(250,250,250) !important; } + +.mdl-color--grey-50 { + background-color: rgb(250,250,250) !important; } + +.mdl-color-text--grey-100 { + color: rgb(245,245,245) !important; } + +.mdl-color--grey-100 { + background-color: rgb(245,245,245) !important; } + +.mdl-color-text--grey-200 { + color: rgb(238,238,238) !important; } + +.mdl-color--grey-200 { + background-color: rgb(238,238,238) !important; } + +.mdl-color-text--grey-300 { + color: rgb(224,224,224) !important; } + +.mdl-color--grey-300 { + background-color: rgb(224,224,224) !important; } + +.mdl-color-text--grey-400 { + color: rgb(189,189,189) !important; } + +.mdl-color--grey-400 { + background-color: rgb(189,189,189) !important; } + +.mdl-color-text--grey-500 { + color: rgb(158,158,158) !important; } + +.mdl-color--grey-500 { + background-color: rgb(158,158,158) !important; } + +.mdl-color-text--grey-600 { + color: rgb(117,117,117) !important; } + +.mdl-color--grey-600 { + background-color: rgb(117,117,117) !important; } + +.mdl-color-text--grey-700 { + color: rgb(97,97,97) !important; } + +.mdl-color--grey-700 { + background-color: rgb(97,97,97) !important; } + +.mdl-color-text--grey-800 { + color: rgb(66,66,66) !important; } + +.mdl-color--grey-800 { + background-color: rgb(66,66,66) !important; } + +.mdl-color-text--grey-900 { + color: rgb(33,33,33) !important; } + +.mdl-color--grey-900 { + background-color: rgb(33,33,33) !important; } + +.mdl-color-text--blue-grey { + color: rgb(96,125,139) !important; } + +.mdl-color--blue-grey { + background-color: rgb(96,125,139) !important; } + +.mdl-color-text--blue-grey-50 { + color: rgb(236,239,241) !important; } + +.mdl-color--blue-grey-50 { + background-color: rgb(236,239,241) !important; } + +.mdl-color-text--blue-grey-100 { + color: rgb(207,216,220) !important; } + +.mdl-color--blue-grey-100 { + background-color: rgb(207,216,220) !important; } + +.mdl-color-text--blue-grey-200 { + color: rgb(176,190,197) !important; } + +.mdl-color--blue-grey-200 { + background-color: rgb(176,190,197) !important; } + +.mdl-color-text--blue-grey-300 { + color: rgb(144,164,174) !important; } + +.mdl-color--blue-grey-300 { + background-color: rgb(144,164,174) !important; } + +.mdl-color-text--blue-grey-400 { + color: rgb(120,144,156) !important; } + +.mdl-color--blue-grey-400 { + background-color: rgb(120,144,156) !important; } + +.mdl-color-text--blue-grey-500 { + color: rgb(96,125,139) !important; } + +.mdl-color--blue-grey-500 { + background-color: rgb(96,125,139) !important; } + +.mdl-color-text--blue-grey-600 { + color: rgb(84,110,122) !important; } + +.mdl-color--blue-grey-600 { + background-color: rgb(84,110,122) !important; } + +.mdl-color-text--blue-grey-700 { + color: rgb(69,90,100) !important; } + +.mdl-color--blue-grey-700 { + background-color: rgb(69,90,100) !important; } + +.mdl-color-text--blue-grey-800 { + color: rgb(55,71,79) !important; } + +.mdl-color--blue-grey-800 { + background-color: rgb(55,71,79) !important; } + +.mdl-color-text--blue-grey-900 { + color: rgb(38,50,56) !important; } + +.mdl-color--blue-grey-900 { + background-color: rgb(38,50,56) !important; } + +.mdl-color--black { + background-color: rgb(0,0,0) !important; } + +.mdl-color-text--black { + color: rgb(0,0,0) !important; } + +.mdl-color--white { + background-color: rgb(255,255,255) !important; } + +.mdl-color-text--white { + color: rgb(255,255,255) !important; } + +.mdl-color--primary { + background-color: rgb(63,81,181) !important; } + +.mdl-color--primary-contrast { + background-color: rgb(255,255,255) !important; } + +.mdl-color--primary-dark { + background-color: rgb(48,63,159) !important; } + +.mdl-color--accent { + background-color: rgb(255,64,129) !important; } + +.mdl-color--accent-contrast { + background-color: rgb(255,255,255) !important; } + +.mdl-color-text--primary { + color: rgb(63,81,181) !important; } + +.mdl-color-text--primary-contrast { + color: rgb(255,255,255) !important; } + +.mdl-color-text--primary-dark { + color: rgb(48,63,159) !important; } + +.mdl-color-text--accent { + color: rgb(255,64,129) !important; } + +.mdl-color-text--accent-contrast { + color: rgb(255,255,255) !important; } + +/** + * Copyright 2015 Google Inc. All Rights Reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/** + * Copyright 2015 Google Inc. All Rights Reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/*------------------------------------*\ + $CONTENTS +\*------------------------------------*/ +/** + * STYLE GUIDE VARIABLES------------------Declarations of Sass variables + * -----Typography + * -----Colors + * -----Textfield + * -----Switch + * -----Spinner + * -----Radio + * -----Menu + * -----List + * -----Layout + * -----Icon toggles + * -----Footer + * -----Column + * -----Checkbox + * -----Card + * -----Button + * -----Animation + * -----Progress + * -----Badge + * -----Shadows + * -----Grid + * -----Data table + */ +/* ========== TYPOGRAPHY ========== */ +/* We're splitting fonts into "preferred" and "performance" in order to optimize + page loading. For important text, such as the body, we want it to load + immediately and not wait for the web font load, whereas for other sections, + such as headers and titles, we're OK with things taking a bit longer to load. + We do have some optional classes and parameters in the mixins, in case you + definitely want to make sure you're using the preferred font and don't mind + the performance hit. + We should be able to improve on this once CSS Font Loading L3 becomes more + widely available. +*/ +/* ========== COLORS ========== */ +/** +* +* Material design color palettes. +* @see http://www.google.com/design/spec/style/color.html +* +**/ +/** + * Copyright 2015 Google Inc. All Rights Reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/* ========== Color Palettes ========== */ +/* colors.scss */ +/* ========== Color & Themes ========== */ +/* ========== Typography ========== */ +/* ========== Components ========== */ +/* ========== Standard Buttons ========== */ +/* ========== Icon Toggles ========== */ +/* ========== Radio Buttons ========== */ +/* ========== Ripple effect ========== */ +/* ========== Layout ========== */ +/* ========== Content Tabs ========== */ +/* ========== Checkboxes ========== */ +/* ========== Switches ========== */ +/* ========== Spinner ========== */ +/* ========== Text fields ========== */ +/* ========== Card ========== */ +/* ========== Sliders ========== */ +/* ========== Progress ========== */ +/* ========== List ========== */ +/* ========== Item ========== */ +/* ========== Dropdown menu ========== */ +/* ========== Tooltips ========== */ +/* ========== Footer ========== */ +/* TEXTFIELD */ +/* SWITCH */ +/* SPINNER */ +/* RADIO */ +/* MENU */ +/* LIST */ +/* ICONS */ +/* ICON TOGGLE */ +/* FOOTER */ +/*mega-footer*/ +/************** + * + * Sizes + * + *************/ +/*mini-footer*/ +/************** + * + * Sizes + * + *************/ +/* COLUMN LAYOUT */ +/* CHECKBOX */ +/* CARD */ +/* Card dimensions */ +/* Cover image */ +/* BUTTON */ +/** + * + * Dimensions + * + */ +/* ANIMATION */ +/* PROGRESS */ +/* BADGE */ +/* SHADOWS */ +/* GRID */ +/* DATA TABLE */ +/** + * Copyright 2015 Google Inc. All Rights Reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/* Typography */ +/* Shadows */ +/* Animations */ +.mdl-shadow--2dp { + box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 3px 1px -2px rgba(0, 0, 0, 0.2), 0 1px 5px 0 rgba(0, 0, 0, 0.12); } + +.mdl-shadow--3dp { + box-shadow: 0 3px 4px 0 rgba(0, 0, 0, 0.14), 0 3px 3px -2px rgba(0, 0, 0, 0.2), 0 1px 8px 0 rgba(0, 0, 0, 0.12); } + +.mdl-shadow--4dp { + box-shadow: 0 4px 5px 0 rgba(0, 0, 0, 0.14), 0 1px 10px 0 rgba(0, 0, 0, 0.12), 0 2px 4px -1px rgba(0, 0, 0, 0.2); } + +.mdl-shadow--6dp { + box-shadow: 0 6px 10px 0 rgba(0, 0, 0, 0.14), 0 1px 18px 0 rgba(0, 0, 0, 0.12), 0 3px 5px -1px rgba(0, 0, 0, 0.2); } + +.mdl-shadow--8dp { + box-shadow: 0 8px 10px 1px rgba(0, 0, 0, 0.14), 0 3px 14px 2px rgba(0, 0, 0, 0.12), 0 5px 5px -3px rgba(0, 0, 0, 0.2); } + +.mdl-shadow--16dp { + box-shadow: 0 16px 24px 2px rgba(0, 0, 0, 0.14), 0 6px 30px 5px rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(0, 0, 0, 0.2); } + +/** + * Copyright 2015 Google Inc. All Rights Reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/** + * Copyright 2015 Google Inc. All Rights Reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/*------------------------------------*\ + $CONTENTS +\*------------------------------------*/ +/** + * STYLE GUIDE VARIABLES------------------Declarations of Sass variables + * -----Typography + * -----Colors + * -----Textfield + * -----Switch + * -----Spinner + * -----Radio + * -----Menu + * -----List + * -----Layout + * -----Icon toggles + * -----Footer + * -----Column + * -----Checkbox + * -----Card + * -----Button + * -----Animation + * -----Progress + * -----Badge + * -----Shadows + * -----Grid + * -----Data table + */ +/* ========== TYPOGRAPHY ========== */ +/* We're splitting fonts into "preferred" and "performance" in order to optimize + page loading. For important text, such as the body, we want it to load + immediately and not wait for the web font load, whereas for other sections, + such as headers and titles, we're OK with things taking a bit longer to load. + We do have some optional classes and parameters in the mixins, in case you + definitely want to make sure you're using the preferred font and don't mind + the performance hit. + We should be able to improve on this once CSS Font Loading L3 becomes more + widely available. +*/ +/* ========== COLORS ========== */ +/** +* +* Material design color palettes. +* @see http://www.google.com/design/spec/style/color.html +* +**/ +/** + * Copyright 2015 Google Inc. All Rights Reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/* ========== Color Palettes ========== */ +/* colors.scss */ +/* ========== Color & Themes ========== */ +/* ========== Typography ========== */ +/* ========== Components ========== */ +/* ========== Standard Buttons ========== */ +/* ========== Icon Toggles ========== */ +/* ========== Radio Buttons ========== */ +/* ========== Ripple effect ========== */ +/* ========== Layout ========== */ +/* ========== Content Tabs ========== */ +/* ========== Checkboxes ========== */ +/* ========== Switches ========== */ +/* ========== Spinner ========== */ +/* ========== Text fields ========== */ +/* ========== Card ========== */ +/* ========== Sliders ========== */ +/* ========== Progress ========== */ +/* ========== List ========== */ +/* ========== Item ========== */ +/* ========== Dropdown menu ========== */ +/* ========== Tooltips ========== */ +/* ========== Footer ========== */ +/* TEXTFIELD */ +/* SWITCH */ +/* SPINNER */ +/* RADIO */ +/* MENU */ +/* LIST */ +/* ICONS */ +/* ICON TOGGLE */ +/* FOOTER */ +/*mega-footer*/ +/************** + * + * Sizes + * + *************/ +/*mini-footer*/ +/************** + * + * Sizes + * + *************/ +/* COLUMN LAYOUT */ +/* CHECKBOX */ +/* CARD */ +/* Card dimensions */ +/* Cover image */ +/* BUTTON */ +/** + * + * Dimensions + * + */ +/* ANIMATION */ +/* PROGRESS */ +/* BADGE */ +/* SHADOWS */ +/* GRID */ +/* DATA TABLE */ +.mdl-ripple { + background: rgb(0,0,0); + border-radius: 50%; + height: 50px; + left: 0; + opacity: 0; + pointer-events: none; + position: absolute; + top: 0; + -webkit-transform: translate(-50%, -50%); + -ms-transform: translate(-50%, -50%); + transform: translate(-50%, -50%); + width: 50px; + overflow: hidden; } + .mdl-ripple.is-animating { + -webkit-transition: -webkit-transform 0.3s cubic-bezier(0, 0, 0.2, 1), width 0.3s cubic-bezier(0, 0, 0.2, 1), height 0.3s cubic-bezier(0, 0, 0.2, 1), opacity 0.6s cubic-bezier(0, 0, 0.2, 1); + transition: transform 0.3s cubic-bezier(0, 0, 0.2, 1), width 0.3s cubic-bezier(0, 0, 0.2, 1), height 0.3s cubic-bezier(0, 0, 0.2, 1), opacity 0.6s cubic-bezier(0, 0, 0.2, 1); } + .mdl-ripple.is-visible { + opacity: 0.3; } + +/** + * Copyright 2015 Google Inc. All Rights Reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/** + * Copyright 2015 Google Inc. All Rights Reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/*------------------------------------*\ + $CONTENTS +\*------------------------------------*/ +/** + * STYLE GUIDE VARIABLES------------------Declarations of Sass variables + * -----Typography + * -----Colors + * -----Textfield + * -----Switch + * -----Spinner + * -----Radio + * -----Menu + * -----List + * -----Layout + * -----Icon toggles + * -----Footer + * -----Column + * -----Checkbox + * -----Card + * -----Button + * -----Animation + * -----Progress + * -----Badge + * -----Shadows + * -----Grid + * -----Data table + */ +/* ========== TYPOGRAPHY ========== */ +/* We're splitting fonts into "preferred" and "performance" in order to optimize + page loading. For important text, such as the body, we want it to load + immediately and not wait for the web font load, whereas for other sections, + such as headers and titles, we're OK with things taking a bit longer to load. + We do have some optional classes and parameters in the mixins, in case you + definitely want to make sure you're using the preferred font and don't mind + the performance hit. + We should be able to improve on this once CSS Font Loading L3 becomes more + widely available. +*/ +/* ========== COLORS ========== */ +/** +* +* Material design color palettes. +* @see http://www.google.com/design/spec/style/color.html +* +**/ +/** + * Copyright 2015 Google Inc. All Rights Reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/* ========== Color Palettes ========== */ +/* colors.scss */ +/* ========== Color & Themes ========== */ +/* ========== Typography ========== */ +/* ========== Components ========== */ +/* ========== Standard Buttons ========== */ +/* ========== Icon Toggles ========== */ +/* ========== Radio Buttons ========== */ +/* ========== Ripple effect ========== */ +/* ========== Layout ========== */ +/* ========== Content Tabs ========== */ +/* ========== Checkboxes ========== */ +/* ========== Switches ========== */ +/* ========== Spinner ========== */ +/* ========== Text fields ========== */ +/* ========== Card ========== */ +/* ========== Sliders ========== */ +/* ========== Progress ========== */ +/* ========== List ========== */ +/* ========== Item ========== */ +/* ========== Dropdown menu ========== */ +/* ========== Tooltips ========== */ +/* ========== Footer ========== */ +/* TEXTFIELD */ +/* SWITCH */ +/* SPINNER */ +/* RADIO */ +/* MENU */ +/* LIST */ +/* ICONS */ +/* ICON TOGGLE */ +/* FOOTER */ +/*mega-footer*/ +/************** + * + * Sizes + * + *************/ +/*mini-footer*/ +/************** + * + * Sizes + * + *************/ +/* COLUMN LAYOUT */ +/* CHECKBOX */ +/* CARD */ +/* Card dimensions */ +/* Cover image */ +/* BUTTON */ +/** + * + * Dimensions + * + */ +/* ANIMATION */ +/* PROGRESS */ +/* BADGE */ +/* SHADOWS */ +/* GRID */ +/* DATA TABLE */ +.mdl-animation--default { + -webkit-transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1); + transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1); } + +.mdl-animation--fast-out-slow-in { + -webkit-transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1); + transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1); } + +.mdl-animation--linear-out-slow-in { + -webkit-transition-timing-function: cubic-bezier(0, 0, 0.2, 1); + transition-timing-function: cubic-bezier(0, 0, 0.2, 1); } + +.mdl-animation--fast-out-linear-in { + -webkit-transition-timing-function: cubic-bezier(0.4, 0, 1, 1); + transition-timing-function: cubic-bezier(0.4, 0, 1, 1); } + +/** + * Copyright 2015 Google Inc. All Rights Reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/** + * Copyright 2015 Google Inc. All Rights Reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/*------------------------------------*\ + $CONTENTS +\*------------------------------------*/ +/** + * STYLE GUIDE VARIABLES------------------Declarations of Sass variables + * -----Typography + * -----Colors + * -----Textfield + * -----Switch + * -----Spinner + * -----Radio + * -----Menu + * -----List + * -----Layout + * -----Icon toggles + * -----Footer + * -----Column + * -----Checkbox + * -----Card + * -----Button + * -----Animation + * -----Progress + * -----Badge + * -----Shadows + * -----Grid + * -----Data table + */ +/* ========== TYPOGRAPHY ========== */ +/* We're splitting fonts into "preferred" and "performance" in order to optimize + page loading. For important text, such as the body, we want it to load + immediately and not wait for the web font load, whereas for other sections, + such as headers and titles, we're OK with things taking a bit longer to load. + We do have some optional classes and parameters in the mixins, in case you + definitely want to make sure you're using the preferred font and don't mind + the performance hit. + We should be able to improve on this once CSS Font Loading L3 becomes more + widely available. +*/ +/* ========== COLORS ========== */ +/** +* +* Material design color palettes. +* @see http://www.google.com/design/spec/style/color.html +* +**/ +/** + * Copyright 2015 Google Inc. All Rights Reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/* ========== Color Palettes ========== */ +/* colors.scss */ +/* ========== Color & Themes ========== */ +/* ========== Typography ========== */ +/* ========== Components ========== */ +/* ========== Standard Buttons ========== */ +/* ========== Icon Toggles ========== */ +/* ========== Radio Buttons ========== */ +/* ========== Ripple effect ========== */ +/* ========== Layout ========== */ +/* ========== Content Tabs ========== */ +/* ========== Checkboxes ========== */ +/* ========== Switches ========== */ +/* ========== Spinner ========== */ +/* ========== Text fields ========== */ +/* ========== Card ========== */ +/* ========== Sliders ========== */ +/* ========== Progress ========== */ +/* ========== List ========== */ +/* ========== Item ========== */ +/* ========== Dropdown menu ========== */ +/* ========== Tooltips ========== */ +/* ========== Footer ========== */ +/* TEXTFIELD */ +/* SWITCH */ +/* SPINNER */ +/* RADIO */ +/* MENU */ +/* LIST */ +/* ICONS */ +/* ICON TOGGLE */ +/* FOOTER */ +/*mega-footer*/ +/************** + * + * Sizes + * + *************/ +/*mini-footer*/ +/************** + * + * Sizes + * + *************/ +/* COLUMN LAYOUT */ +/* CHECKBOX */ +/* CARD */ +/* Card dimensions */ +/* Cover image */ +/* BUTTON */ +/** + * + * Dimensions + * + */ +/* ANIMATION */ +/* PROGRESS */ +/* BADGE */ +/* SHADOWS */ +/* GRID */ +/* DATA TABLE */ +.mdl-badge { + position: relative; + white-space: nowrap; + margin-right: 24px; } + .mdl-badge:not([data-badge]) { + margin-right: auto; } + .mdl-badge[data-badge]:after { + content: attr(data-badge); + display: -webkit-box; + display: -webkit-flex; + display: -ms-flexbox; + display: flex; + -webkit-box-orient: horizontal; + -webkit-box-direction: normal; + -webkit-flex-direction: row; + -ms-flex-direction: row; + flex-direction: row; + -webkit-flex-wrap: wrap; + -ms-flex-wrap: wrap; + flex-wrap: wrap; + -webkit-box-pack: center; + -webkit-justify-content: center; + -ms-flex-pack: center; + justify-content: center; + -webkit-align-content: center; + -ms-flex-line-pack: center; + align-content: center; + -webkit-box-align: center; + -webkit-align-items: center; + -ms-flex-align: center; + align-items: center; + position: absolute; + top: -11px; + right: -24px; + font-family: 'Roboto', 'Helvetica', 'Arial', sans-serif; + font-weight: 400; + font-size: 12px; + width: 22px; + height: 22px; + border-radius: 50%; + background: rgb(255,64,129); + color: rgb(255,255,255); } + .mdl-button .mdl-badge[data-badge]:after { + top: -10px; + right: -5px; } + .mdl-badge.mdl-badge--no-background[data-badge]:after { + color: rgb(255,64,129); + background: rgba(255,255,255,0.2); + box-shadow: 0 0 1px gray; } + +/** + * Copyright 2015 Google Inc. All Rights Reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/** + * Copyright 2015 Google Inc. All Rights Reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/*------------------------------------*\ + $CONTENTS +\*------------------------------------*/ +/** + * STYLE GUIDE VARIABLES------------------Declarations of Sass variables + * -----Typography + * -----Colors + * -----Textfield + * -----Switch + * -----Spinner + * -----Radio + * -----Menu + * -----List + * -----Layout + * -----Icon toggles + * -----Footer + * -----Column + * -----Checkbox + * -----Card + * -----Button + * -----Animation + * -----Progress + * -----Badge + * -----Shadows + * -----Grid + * -----Data table + */ +/* ========== TYPOGRAPHY ========== */ +/* We're splitting fonts into "preferred" and "performance" in order to optimize + page loading. For important text, such as the body, we want it to load + immediately and not wait for the web font load, whereas for other sections, + such as headers and titles, we're OK with things taking a bit longer to load. + We do have some optional classes and parameters in the mixins, in case you + definitely want to make sure you're using the preferred font and don't mind + the performance hit. + We should be able to improve on this once CSS Font Loading L3 becomes more + widely available. +*/ +/* ========== COLORS ========== */ +/** +* +* Material design color palettes. +* @see http://www.google.com/design/spec/style/color.html +* +**/ +/** + * Copyright 2015 Google Inc. All Rights Reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/* ========== Color Palettes ========== */ +/* colors.scss */ +/* ========== Color & Themes ========== */ +/* ========== Typography ========== */ +/* ========== Components ========== */ +/* ========== Standard Buttons ========== */ +/* ========== Icon Toggles ========== */ +/* ========== Radio Buttons ========== */ +/* ========== Ripple effect ========== */ +/* ========== Layout ========== */ +/* ========== Content Tabs ========== */ +/* ========== Checkboxes ========== */ +/* ========== Switches ========== */ +/* ========== Spinner ========== */ +/* ========== Text fields ========== */ +/* ========== Card ========== */ +/* ========== Sliders ========== */ +/* ========== Progress ========== */ +/* ========== List ========== */ +/* ========== Item ========== */ +/* ========== Dropdown menu ========== */ +/* ========== Tooltips ========== */ +/* ========== Footer ========== */ +/* TEXTFIELD */ +/* SWITCH */ +/* SPINNER */ +/* RADIO */ +/* MENU */ +/* LIST */ +/* ICONS */ +/* ICON TOGGLE */ +/* FOOTER */ +/*mega-footer*/ +/************** + * + * Sizes + * + *************/ +/*mini-footer*/ +/************** + * + * Sizes + * + *************/ +/* COLUMN LAYOUT */ +/* CHECKBOX */ +/* CARD */ +/* Card dimensions */ +/* Cover image */ +/* BUTTON */ +/** + * + * Dimensions + * + */ +/* ANIMATION */ +/* PROGRESS */ +/* BADGE */ +/* SHADOWS */ +/* GRID */ +/* DATA TABLE */ +/** + * Copyright 2015 Google Inc. All Rights Reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/* Typography */ +/* Shadows */ +/* Animations */ +.mdl-button { + background: transparent; + border: none; + border-radius: 2px; + color: rgb(0,0,0); + display: block; + position: relative; + height: 36px; + min-width: 64px; + padding: 0 8px; + display: inline-block; + font-family: 'Roboto', 'Helvetica', 'Arial', sans-serif; + font-size: 14px; + font-weight: 500; + text-transform: uppercase; + line-height: 1; + letter-spacing: 0; + overflow: hidden; + will-change: box-shadow, transform; + -webkit-transition: box-shadow 0.2s cubic-bezier(0.4, 0, 1, 1), background-color 0.2s cubic-bezier(0.4, 0, 0.2, 1), color 0.2s cubic-bezier(0.4, 0, 0.2, 1); + transition: box-shadow 0.2s cubic-bezier(0.4, 0, 1, 1), background-color 0.2s cubic-bezier(0.4, 0, 0.2, 1), color 0.2s cubic-bezier(0.4, 0, 0.2, 1); + outline: none; + cursor: pointer; + text-decoration: none; + text-align: center; + line-height: 36px; + vertical-align: middle; } + .mdl-button::-moz-focus-inner { + border: 0; } + .mdl-button:hover { + background-color: rgba(158,158,158, 0.20); } + .mdl-button:focus:not(:active) { + background-color: rgba(0,0,0, 0.12); } + .mdl-button:active { + background-color: rgba(158,158,158, 0.40); } + .mdl-button[disabled][disabled] { + color: rgba(0,0,0, 0.26); + cursor: auto; + background-color: transparent; } + .mdl-button.mdl-button--colored { + color: rgb(63,81,181); } + .mdl-button.mdl-button--colored:focus:not(:active) { + background-color: rgba(0,0,0, 0.12); } + +.mdl-button--raised { + background: rgba(158,158,158, 0.20); + box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 3px 1px -2px rgba(0, 0, 0, 0.2), 0 1px 5px 0 rgba(0, 0, 0, 0.12); } + .mdl-button--raised:active { + box-shadow: 0 4px 5px 0 rgba(0, 0, 0, 0.14), 0 1px 10px 0 rgba(0, 0, 0, 0.12), 0 2px 4px -1px rgba(0, 0, 0, 0.2); + background-color: rgba(158,158,158, 0.40); } + .mdl-button--raised:focus:not(:active) { + box-shadow: 0 0 8px rgba(0, 0, 0, 0.18), 0 8px 16px rgba(0, 0, 0, 0.36); + background-color: rgba(158,158,158, 0.40); } + .mdl-button--raised.mdl-button--colored { + background: rgb(63,81,181); + color: rgb(255,255,255); } + .mdl-button--raised.mdl-button--colored:hover { + background-color: rgb(63,81,181); } + .mdl-button--raised.mdl-button--colored:active { + background-color: rgb(63,81,181); } + .mdl-button--raised.mdl-button--colored:focus:not(:active) { + background-color: rgb(63,81,181); } + .mdl-button--raised.mdl-button--colored .mdl-ripple { + background: rgb(255,255,255); } + .mdl-button--raised[disabled][disabled] { + background-color: rgba(0,0,0, 0.12); + color: rgba(0,0,0, 0.26); + box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 3px 1px -2px rgba(0, 0, 0, 0.2), 0 1px 5px 0 rgba(0, 0, 0, 0.12); } + +.mdl-button--fab { + border-radius: 50%; + font-size: 24px; + height: 56px; + margin: auto; + min-width: 56px; + width: 56px; + padding: 0; + overflow: hidden; + background: rgba(158,158,158, 0.20); + box-shadow: 0 1px 1.5px 0 rgba(0, 0, 0, 0.12), 0 1px 1px 0 rgba(0, 0, 0, 0.24); + position: relative; + line-height: normal; } + .mdl-button--fab .material-icons { + position: absolute; + top: 50%; + left: 50%; + -webkit-transform: translate(-12px, -12px); + -ms-transform: translate(-12px, -12px); + transform: translate(-12px, -12px); + line-height: 24px; + width: 24px; } + .mdl-button--fab.mdl-button--mini-fab { + height: 40px; + min-width: 40px; + width: 40px; } + .mdl-button--fab .mdl-button__ripple-container { + border-radius: 50%; + -webkit-mask-image: -webkit-radial-gradient(circle, white, black); } + .mdl-button--fab:active { + box-shadow: 0 4px 5px 0 rgba(0, 0, 0, 0.14), 0 1px 10px 0 rgba(0, 0, 0, 0.12), 0 2px 4px -1px rgba(0, 0, 0, 0.2); + background-color: rgba(158,158,158, 0.40); } + .mdl-button--fab:focus:not(:active) { + box-shadow: 0 0 8px rgba(0, 0, 0, 0.18), 0 8px 16px rgba(0, 0, 0, 0.36); + background-color: rgba(158,158,158, 0.40); } + .mdl-button--fab.mdl-button--colored { + background: rgb(255,64,129); + color: rgb(255,255,255); } + .mdl-button--fab.mdl-button--colored:hover { + background-color: rgb(255,64,129); } + .mdl-button--fab.mdl-button--colored:focus:not(:active) { + background-color: rgb(255,64,129); } + .mdl-button--fab.mdl-button--colored:active { + background-color: rgb(255,64,129); } + .mdl-button--fab.mdl-button--colored .mdl-ripple { + background: rgb(255,255,255); } + .mdl-button--fab[disabled][disabled] { + background-color: rgba(0,0,0, 0.12); + color: rgba(0,0,0, 0.26); + box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 3px 1px -2px rgba(0, 0, 0, 0.2), 0 1px 5px 0 rgba(0, 0, 0, 0.12); } + +.mdl-button--icon { + border-radius: 50%; + font-size: 24px; + height: 32px; + margin-left: 0; + margin-right: 0; + min-width: 32px; + width: 32px; + padding: 0; + overflow: hidden; + color: inherit; + line-height: normal; } + .mdl-button--icon .material-icons { + position: absolute; + top: 50%; + left: 50%; + -webkit-transform: translate(-12px, -12px); + -ms-transform: translate(-12px, -12px); + transform: translate(-12px, -12px); + line-height: 24px; + width: 24px; } + .mdl-button--icon.mdl-button--mini-icon { + height: 24px; + min-width: 24px; + width: 24px; } + .mdl-button--icon.mdl-button--mini-icon .material-icons { + top: 0px; + left: 0px; } + .mdl-button--icon .mdl-button__ripple-container { + border-radius: 50%; + -webkit-mask-image: -webkit-radial-gradient(circle, white, black); } + +.mdl-button__ripple-container { + display: block; + height: 100%; + left: 0px; + position: absolute; + top: 0px; + width: 100%; + z-index: 0; + overflow: hidden; } + .mdl-button[disabled] .mdl-button__ripple-container .mdl-ripple { + background-color: transparent; } + +.mdl-button--primary.mdl-button--primary { + color: rgb(63,81,181); } + .mdl-button--primary.mdl-button--primary .mdl-ripple { + background: rgb(255,255,255); } + .mdl-button--primary.mdl-button--primary.mdl-button--raised, .mdl-button--primary.mdl-button--primary.mdl-button--fab { + color: rgb(255,255,255); + background-color: rgb(63,81,181); } + +.mdl-button--accent.mdl-button--accent { + color: rgb(255,64,129); } + .mdl-button--accent.mdl-button--accent .mdl-ripple { + background: rgb(255,255,255); } + .mdl-button--accent.mdl-button--accent.mdl-button--raised, .mdl-button--accent.mdl-button--accent.mdl-button--fab { + color: rgb(255,255,255); + background-color: rgb(255,64,129); } + +/** + * Copyright 2015 Google Inc. All Rights Reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/** + * Copyright 2015 Google Inc. All Rights Reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/*------------------------------------*\ + $CONTENTS +\*------------------------------------*/ +/** + * STYLE GUIDE VARIABLES------------------Declarations of Sass variables + * -----Typography + * -----Colors + * -----Textfield + * -----Switch + * -----Spinner + * -----Radio + * -----Menu + * -----List + * -----Layout + * -----Icon toggles + * -----Footer + * -----Column + * -----Checkbox + * -----Card + * -----Button + * -----Animation + * -----Progress + * -----Badge + * -----Shadows + * -----Grid + * -----Data table + */ +/* ========== TYPOGRAPHY ========== */ +/* We're splitting fonts into "preferred" and "performance" in order to optimize + page loading. For important text, such as the body, we want it to load + immediately and not wait for the web font load, whereas for other sections, + such as headers and titles, we're OK with things taking a bit longer to load. + We do have some optional classes and parameters in the mixins, in case you + definitely want to make sure you're using the preferred font and don't mind + the performance hit. + We should be able to improve on this once CSS Font Loading L3 becomes more + widely available. +*/ +/* ========== COLORS ========== */ +/** +* +* Material design color palettes. +* @see http://www.google.com/design/spec/style/color.html +* +**/ +/** + * Copyright 2015 Google Inc. All Rights Reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/* ========== Color Palettes ========== */ +/* colors.scss */ +/* ========== Color & Themes ========== */ +/* ========== Typography ========== */ +/* ========== Components ========== */ +/* ========== Standard Buttons ========== */ +/* ========== Icon Toggles ========== */ +/* ========== Radio Buttons ========== */ +/* ========== Ripple effect ========== */ +/* ========== Layout ========== */ +/* ========== Content Tabs ========== */ +/* ========== Checkboxes ========== */ +/* ========== Switches ========== */ +/* ========== Spinner ========== */ +/* ========== Text fields ========== */ +/* ========== Card ========== */ +/* ========== Sliders ========== */ +/* ========== Progress ========== */ +/* ========== List ========== */ +/* ========== Item ========== */ +/* ========== Dropdown menu ========== */ +/* ========== Tooltips ========== */ +/* ========== Footer ========== */ +/* TEXTFIELD */ +/* SWITCH */ +/* SPINNER */ +/* RADIO */ +/* MENU */ +/* LIST */ +/* ICONS */ +/* ICON TOGGLE */ +/* FOOTER */ +/*mega-footer*/ +/************** + * + * Sizes + * + *************/ +/*mini-footer*/ +/************** + * + * Sizes + * + *************/ +/* COLUMN LAYOUT */ +/* CHECKBOX */ +/* CARD */ +/* Card dimensions */ +/* Cover image */ +/* BUTTON */ +/** + * + * Dimensions + * + */ +/* ANIMATION */ +/* PROGRESS */ +/* BADGE */ +/* SHADOWS */ +/* GRID */ +/* DATA TABLE */ +.mdl-card { + display: -webkit-box; + display: -webkit-flex; + display: -ms-flexbox; + display: flex; + -webkit-box-orient: vertical; + -webkit-box-direction: normal; + -webkit-flex-direction: column; + -ms-flex-direction: column; + flex-direction: column; + font-size: 16px; + min-height: 200px; + overflow: hidden; + width: 330px; + z-index: 1; + position: relative; + background: rgb(255,255,255); + border-radius: 2px; + box-sizing: border-box; } + +.mdl-card__media { + background-color: rgb(255,64,129); + background-repeat: repeat; + background-position: 50% 50%; + background-size: cover; + background-origin: padding-box; + background-attachment: scroll; + box-sizing: border-box; } + +.mdl-card__title { + -webkit-box-align: center; + -webkit-align-items: center; + -ms-flex-align: center; + align-items: center; + color: rgb(0,0,0); + display: block; + display: -webkit-box; + display: -webkit-flex; + display: -ms-flexbox; + display: flex; + -webkit-box-pack: stretch; + -webkit-justify-content: stretch; + -ms-flex-pack: stretch; + justify-content: stretch; + line-height: normal; + padding: 16px 16px; + -webkit-perspective-origin: 165px 56px; + perspective-origin: 165px 56px; + -webkit-transform-origin: 165px 56px; + -ms-transform-origin: 165px 56px; + transform-origin: 165px 56px; + box-sizing: border-box; } + .mdl-card__title.mdl-card--border { + border-bottom: 1px solid rgba(0, 0, 0, 0.1); } + +.mdl-card__title-text { + -webkit-align-self: flex-end; + -ms-flex-item-align: end; + align-self: flex-end; + color: inherit; + display: block; + display: -webkit-box; + display: -webkit-flex; + display: -ms-flexbox; + display: flex; + font-size: 24px; + font-weight: 300; + line-height: normal; + overflow: hidden; + -webkit-transform-origin: 149px 48px; + -ms-transform-origin: 149px 48px; + transform-origin: 149px 48px; + margin: 0; } + +.mdl-card__subtitle-text { + font-size: 14px; + color: grey; + margin: 0; } + +.mdl-card__supporting-text { + color: rgba(0,0,0, 0.87); + font-size: 13px; + line-height: 18px; + overflow: hidden; + padding: 16px 16px; + width: 90%; } + +.mdl-card__actions { + font-size: 16px; + line-height: normal; + width: 100%; + background-color: transparent; + padding: 8px; + box-sizing: border-box; } + .mdl-card__actions.mdl-card--border { + border-top: 1px solid rgba(0, 0, 0, 0.1); } + +.mdl-card--expand { + -webkit-box-flex: 1; + -webkit-flex-grow: 1; + -ms-flex-positive: 1; + flex-grow: 1; } + +.mdl-card__menu { + position: absolute; + right: 16px; + top: 16px; } + +/** + * Copyright 2015 Google Inc. All Rights Reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/** + * Copyright 2015 Google Inc. All Rights Reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/*------------------------------------*\ + $CONTENTS +\*------------------------------------*/ +/** + * STYLE GUIDE VARIABLES------------------Declarations of Sass variables + * -----Typography + * -----Colors + * -----Textfield + * -----Switch + * -----Spinner + * -----Radio + * -----Menu + * -----List + * -----Layout + * -----Icon toggles + * -----Footer + * -----Column + * -----Checkbox + * -----Card + * -----Button + * -----Animation + * -----Progress + * -----Badge + * -----Shadows + * -----Grid + * -----Data table + */ +/* ========== TYPOGRAPHY ========== */ +/* We're splitting fonts into "preferred" and "performance" in order to optimize + page loading. For important text, such as the body, we want it to load + immediately and not wait for the web font load, whereas for other sections, + such as headers and titles, we're OK with things taking a bit longer to load. + We do have some optional classes and parameters in the mixins, in case you + definitely want to make sure you're using the preferred font and don't mind + the performance hit. + We should be able to improve on this once CSS Font Loading L3 becomes more + widely available. +*/ +/* ========== COLORS ========== */ +/** +* +* Material design color palettes. +* @see http://www.google.com/design/spec/style/color.html +* +**/ +/** + * Copyright 2015 Google Inc. All Rights Reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/* ========== Color Palettes ========== */ +/* colors.scss */ +/* ========== Color & Themes ========== */ +/* ========== Typography ========== */ +/* ========== Components ========== */ +/* ========== Standard Buttons ========== */ +/* ========== Icon Toggles ========== */ +/* ========== Radio Buttons ========== */ +/* ========== Ripple effect ========== */ +/* ========== Layout ========== */ +/* ========== Content Tabs ========== */ +/* ========== Checkboxes ========== */ +/* ========== Switches ========== */ +/* ========== Spinner ========== */ +/* ========== Text fields ========== */ +/* ========== Card ========== */ +/* ========== Sliders ========== */ +/* ========== Progress ========== */ +/* ========== List ========== */ +/* ========== Item ========== */ +/* ========== Dropdown menu ========== */ +/* ========== Tooltips ========== */ +/* ========== Footer ========== */ +/* TEXTFIELD */ +/* SWITCH */ +/* SPINNER */ +/* RADIO */ +/* MENU */ +/* LIST */ +/* ICONS */ +/* ICON TOGGLE */ +/* FOOTER */ +/*mega-footer*/ +/************** + * + * Sizes + * + *************/ +/*mini-footer*/ +/************** + * + * Sizes + * + *************/ +/* COLUMN LAYOUT */ +/* CHECKBOX */ +/* CARD */ +/* Card dimensions */ +/* Cover image */ +/* BUTTON */ +/** + * + * Dimensions + * + */ +/* ANIMATION */ +/* PROGRESS */ +/* BADGE */ +/* SHADOWS */ +/* GRID */ +/* DATA TABLE */ +/** + * Copyright 2015 Google Inc. All Rights Reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/* Typography */ +/* Shadows */ +/* Animations */ +.mdl-checkbox { + position: relative; + z-index: 1; + vertical-align: middle; + display: inline-block; + box-sizing: border-box; + width: 100%; + height: 24px; + margin: 0; + padding: 0; } + .mdl-checkbox.is-upgraded { + padding-left: 24px; } + +.mdl-checkbox__input { + line-height: 24px; } + .mdl-checkbox.is-upgraded .mdl-checkbox__input { + position: absolute; + width: 0; + height: 0; + margin: 0; + padding: 0; + opacity: 0; + -ms-appearance: none; + -moz-appearance: none; + -webkit-appearance: none; + appearance: none; + border: none; } + +.mdl-checkbox__box-outline { + position: absolute; + top: 3px; + left: 0; + display: inline-block; + box-sizing: border-box; + width: 16px; + height: 16px; + margin: 0; + cursor: pointer; + overflow: hidden; + border: 2px solid rgba(0,0,0, 0.54); + border-radius: 2px; + z-index: 2; } + .mdl-checkbox.is-checked .mdl-checkbox__box-outline { + border: 2px solid rgb(63,81,181); } + .mdl-checkbox.is-disabled .mdl-checkbox__box-outline { + border: 2px solid rgba(0,0,0, 0.26); + cursor: auto; } + +.mdl-checkbox__focus-helper { + position: absolute; + top: 3px; + left: 0; + display: inline-block; + box-sizing: border-box; + width: 16px; + height: 16px; + border-radius: 50%; + background-color: transparent; } + .mdl-checkbox.is-focused .mdl-checkbox__focus-helper { + box-shadow: 0 0 0px 8px rgba(0, 0, 0, 0.1); + background-color: rgba(0, 0, 0, 0.1); } + .mdl-checkbox.is-focused.is-checked .mdl-checkbox__focus-helper { + box-shadow: 0 0 0px 8px rgba(63,81,181, 0.26); + background-color: rgba(63,81,181, 0.26); } + +.mdl-checkbox__tick-outline { + position: absolute; + top: 0; + left: 0; + height: 100%; + width: 100%; + -webkit-mask: url("data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+CjxzdmcKICAgeG1sbnM6ZGM9Imh0dHA6Ly9wdXJsLm9yZy9kYy9lbGVtZW50cy8xLjEvIgogICB4bWxuczpjYz0iaHR0cDovL2NyZWF0aXZlY29tbW9ucy5vcmcvbnMjIgogICB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiCiAgIHhtbG5zOnN2Zz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciCiAgIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIKICAgdmVyc2lvbj0iMS4xIgogICB2aWV3Qm94PSIwIDAgMSAxIgogICBwcmVzZXJ2ZUFzcGVjdFJhdGlvPSJ4TWluWU1pbiBtZWV0Ij4KICA8ZGVmcz4KICAgIDxjbGlwUGF0aCBpZD0iY2xpcCI+CiAgICAgIDxwYXRoCiAgICAgICAgIGQ9Ik0gMCwwIDAsMSAxLDEgMSwwIDAsMCB6IE0gMC44NTM0Mzc1LDAuMTY3MTg3NSAwLjk1OTY4NzUsMC4yNzMxMjUgMC40MjkzNzUsMC44MDM0Mzc1IDAuMzIzMTI1LDAuOTA5Njg3NSAwLjIxNzE4NzUsMC44MDM0Mzc1IDAuMDQwMzEyNSwwLjYyNjg3NSAwLjE0NjU2MjUsMC41MjA2MjUgMC4zMjMxMjUsMC42OTc1IDAuODUzNDM3NSwwLjE2NzE4NzUgeiIKICAgICAgICAgc3R5bGU9ImZpbGw6I2ZmZmZmZjtmaWxsLW9wYWNpdHk6MTtzdHJva2U6bm9uZSIgLz4KICAgIDwvY2xpcFBhdGg+CiAgICA8bWFzayBpZD0ibWFzayIgbWFza1VuaXRzPSJvYmplY3RCb3VuZGluZ0JveCIgbWFza0NvbnRlbnRVbml0cz0ib2JqZWN0Qm91bmRpbmdCb3giPgogICAgICA8cGF0aAogICAgICAgICBkPSJNIDAsMCAwLDEgMSwxIDEsMCAwLDAgeiBNIDAuODUzNDM3NSwwLjE2NzE4NzUgMC45NTk2ODc1LDAuMjczMTI1IDAuNDI5Mzc1LDAuODAzNDM3NSAwLjMyMzEyNSwwLjkwOTY4NzUgMC4yMTcxODc1LDAuODAzNDM3NSAwLjA0MDMxMjUsMC42MjY4NzUgMC4xNDY1NjI1LDAuNTIwNjI1IDAuMzIzMTI1LDAuNjk3NSAwLjg1MzQzNzUsMC4xNjcxODc1IHoiCiAgICAgICAgIHN0eWxlPSJmaWxsOiNmZmZmZmY7ZmlsbC1vcGFjaXR5OjE7c3Ryb2tlOm5vbmUiIC8+CiAgICA8L21hc2s+CiAgPC9kZWZzPgogIDxyZWN0CiAgICAgd2lkdGg9IjEiCiAgICAgaGVpZ2h0PSIxIgogICAgIHg9IjAiCiAgICAgeT0iMCIKICAgICBjbGlwLXBhdGg9InVybCgjY2xpcCkiCiAgICAgc3R5bGU9ImZpbGw6IzAwMDAwMDtmaWxsLW9wYWNpdHk6MTtzdHJva2U6bm9uZSIgLz4KPC9zdmc+Cg=="); + mask: url("data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+CjxzdmcKICAgeG1sbnM6ZGM9Imh0dHA6Ly9wdXJsLm9yZy9kYy9lbGVtZW50cy8xLjEvIgogICB4bWxuczpjYz0iaHR0cDovL2NyZWF0aXZlY29tbW9ucy5vcmcvbnMjIgogICB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiCiAgIHhtbG5zOnN2Zz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciCiAgIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIKICAgdmVyc2lvbj0iMS4xIgogICB2aWV3Qm94PSIwIDAgMSAxIgogICBwcmVzZXJ2ZUFzcGVjdFJhdGlvPSJ4TWluWU1pbiBtZWV0Ij4KICA8ZGVmcz4KICAgIDxjbGlwUGF0aCBpZD0iY2xpcCI+CiAgICAgIDxwYXRoCiAgICAgICAgIGQ9Ik0gMCwwIDAsMSAxLDEgMSwwIDAsMCB6IE0gMC44NTM0Mzc1LDAuMTY3MTg3NSAwLjk1OTY4NzUsMC4yNzMxMjUgMC40MjkzNzUsMC44MDM0Mzc1IDAuMzIzMTI1LDAuOTA5Njg3NSAwLjIxNzE4NzUsMC44MDM0Mzc1IDAuMDQwMzEyNSwwLjYyNjg3NSAwLjE0NjU2MjUsMC41MjA2MjUgMC4zMjMxMjUsMC42OTc1IDAuODUzNDM3NSwwLjE2NzE4NzUgeiIKICAgICAgICAgc3R5bGU9ImZpbGw6I2ZmZmZmZjtmaWxsLW9wYWNpdHk6MTtzdHJva2U6bm9uZSIgLz4KICAgIDwvY2xpcFBhdGg+CiAgICA8bWFzayBpZD0ibWFzayIgbWFza1VuaXRzPSJvYmplY3RCb3VuZGluZ0JveCIgbWFza0NvbnRlbnRVbml0cz0ib2JqZWN0Qm91bmRpbmdCb3giPgogICAgICA8cGF0aAogICAgICAgICBkPSJNIDAsMCAwLDEgMSwxIDEsMCAwLDAgeiBNIDAuODUzNDM3NSwwLjE2NzE4NzUgMC45NTk2ODc1LDAuMjczMTI1IDAuNDI5Mzc1LDAuODAzNDM3NSAwLjMyMzEyNSwwLjkwOTY4NzUgMC4yMTcxODc1LDAuODAzNDM3NSAwLjA0MDMxMjUsMC42MjY4NzUgMC4xNDY1NjI1LDAuNTIwNjI1IDAuMzIzMTI1LDAuNjk3NSAwLjg1MzQzNzUsMC4xNjcxODc1IHoiCiAgICAgICAgIHN0eWxlPSJmaWxsOiNmZmZmZmY7ZmlsbC1vcGFjaXR5OjE7c3Ryb2tlOm5vbmUiIC8+CiAgICA8L21hc2s+CiAgPC9kZWZzPgogIDxyZWN0CiAgICAgd2lkdGg9IjEiCiAgICAgaGVpZ2h0PSIxIgogICAgIHg9IjAiCiAgICAgeT0iMCIKICAgICBjbGlwLXBhdGg9InVybCgjY2xpcCkiCiAgICAgc3R5bGU9ImZpbGw6IzAwMDAwMDtmaWxsLW9wYWNpdHk6MTtzdHJva2U6bm9uZSIgLz4KPC9zdmc+Cg=="); + background: transparent; + -webkit-transition-duration: 0.28s; + transition-duration: 0.28s; + -webkit-transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1); + transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1); + -webkit-transition-property: background; + transition-property: background; } + .mdl-checkbox.is-checked .mdl-checkbox__tick-outline { + background: rgb(63,81,181) url("data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+CjxzdmcKICAgeG1sbnM6ZGM9Imh0dHA6Ly9wdXJsLm9yZy9kYy9lbGVtZW50cy8xLjEvIgogICB4bWxuczpjYz0iaHR0cDovL2NyZWF0aXZlY29tbW9ucy5vcmcvbnMjIgogICB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiCiAgIHhtbG5zOnN2Zz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciCiAgIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIKICAgdmVyc2lvbj0iMS4xIgogICB2aWV3Qm94PSIwIDAgMSAxIgogICBwcmVzZXJ2ZUFzcGVjdFJhdGlvPSJ4TWluWU1pbiBtZWV0Ij4KICA8cGF0aAogICAgIGQ9Ik0gMC4wNDAzODA1OSwwLjYyNjc3NjcgMC4xNDY0NDY2MSwwLjUyMDcxMDY4IDAuNDI5Mjg5MzIsMC44MDM1NTMzOSAwLjMyMzIyMzMsMC45MDk2MTk0MSB6IE0gMC4yMTcxNTcyOSwwLjgwMzU1MzM5IDAuODUzNTUzMzksMC4xNjcxNTcyOSAwLjk1OTYxOTQxLDAuMjczMjIzMyAwLjMyMzIyMzMsMC45MDk2MTk0MSB6IgogICAgIGlkPSJyZWN0Mzc4MCIKICAgICBzdHlsZT0iZmlsbDojZmZmZmZmO2ZpbGwtb3BhY2l0eToxO3N0cm9rZTpub25lIiAvPgo8L3N2Zz4K"); } + .mdl-checkbox.is-checked.is-disabled .mdl-checkbox__tick-outline { + background: rgba(0,0,0, 0.26) url("data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+CjxzdmcKICAgeG1sbnM6ZGM9Imh0dHA6Ly9wdXJsLm9yZy9kYy9lbGVtZW50cy8xLjEvIgogICB4bWxuczpjYz0iaHR0cDovL2NyZWF0aXZlY29tbW9ucy5vcmcvbnMjIgogICB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiCiAgIHhtbG5zOnN2Zz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciCiAgIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIKICAgdmVyc2lvbj0iMS4xIgogICB2aWV3Qm94PSIwIDAgMSAxIgogICBwcmVzZXJ2ZUFzcGVjdFJhdGlvPSJ4TWluWU1pbiBtZWV0Ij4KICA8cGF0aAogICAgIGQ9Ik0gMC4wNDAzODA1OSwwLjYyNjc3NjcgMC4xNDY0NDY2MSwwLjUyMDcxMDY4IDAuNDI5Mjg5MzIsMC44MDM1NTMzOSAwLjMyMzIyMzMsMC45MDk2MTk0MSB6IE0gMC4yMTcxNTcyOSwwLjgwMzU1MzM5IDAuODUzNTUzMzksMC4xNjcxNTcyOSAwLjk1OTYxOTQxLDAuMjczMjIzMyAwLjMyMzIyMzMsMC45MDk2MTk0MSB6IgogICAgIGlkPSJyZWN0Mzc4MCIKICAgICBzdHlsZT0iZmlsbDojZmZmZmZmO2ZpbGwtb3BhY2l0eToxO3N0cm9rZTpub25lIiAvPgo8L3N2Zz4K"); } + +.mdl-checkbox__label { + position: relative; + cursor: pointer; + font-size: 16px; + line-height: 24px; + margin: 0; } + .mdl-checkbox.is-disabled .mdl-checkbox__label { + color: rgba(0,0,0, 0.26); + cursor: auto; } + +.mdl-checkbox__ripple-container { + position: absolute; + z-index: 2; + top: -6px; + left: -10px; + box-sizing: border-box; + width: 36px; + height: 36px; + border-radius: 50%; + cursor: pointer; + overflow: hidden; + -webkit-mask-image: -webkit-radial-gradient(circle, white, black); } + .mdl-checkbox__ripple-container .mdl-ripple { + background: rgb(63,81,181); } + .mdl-checkbox.is-disabled .mdl-checkbox__ripple-container { + cursor: auto; } + .mdl-checkbox.is-disabled .mdl-checkbox__ripple-container .mdl-ripple { + background: transparent; } + +/** + * Copyright 2015 Google Inc. All Rights Reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/** + * Copyright 2015 Google Inc. All Rights Reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/*------------------------------------*\ + $CONTENTS +\*------------------------------------*/ +/** + * STYLE GUIDE VARIABLES------------------Declarations of Sass variables + * -----Typography + * -----Colors + * -----Textfield + * -----Switch + * -----Spinner + * -----Radio + * -----Menu + * -----List + * -----Layout + * -----Icon toggles + * -----Footer + * -----Column + * -----Checkbox + * -----Card + * -----Button + * -----Animation + * -----Progress + * -----Badge + * -----Shadows + * -----Grid + * -----Data table + */ +/* ========== TYPOGRAPHY ========== */ +/* We're splitting fonts into "preferred" and "performance" in order to optimize + page loading. For important text, such as the body, we want it to load + immediately and not wait for the web font load, whereas for other sections, + such as headers and titles, we're OK with things taking a bit longer to load. + We do have some optional classes and parameters in the mixins, in case you + definitely want to make sure you're using the preferred font and don't mind + the performance hit. + We should be able to improve on this once CSS Font Loading L3 becomes more + widely available. +*/ +/* ========== COLORS ========== */ +/** +* +* Material design color palettes. +* @see http://www.google.com/design/spec/style/color.html +* +**/ +/** + * Copyright 2015 Google Inc. All Rights Reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/* ========== Color Palettes ========== */ +/* colors.scss */ +/* ========== Color & Themes ========== */ +/* ========== Typography ========== */ +/* ========== Components ========== */ +/* ========== Standard Buttons ========== */ +/* ========== Icon Toggles ========== */ +/* ========== Radio Buttons ========== */ +/* ========== Ripple effect ========== */ +/* ========== Layout ========== */ +/* ========== Content Tabs ========== */ +/* ========== Checkboxes ========== */ +/* ========== Switches ========== */ +/* ========== Spinner ========== */ +/* ========== Text fields ========== */ +/* ========== Card ========== */ +/* ========== Sliders ========== */ +/* ========== Progress ========== */ +/* ========== List ========== */ +/* ========== Item ========== */ +/* ========== Dropdown menu ========== */ +/* ========== Tooltips ========== */ +/* ========== Footer ========== */ +/* TEXTFIELD */ +/* SWITCH */ +/* SPINNER */ +/* RADIO */ +/* MENU */ +/* LIST */ +/* ICONS */ +/* ICON TOGGLE */ +/* FOOTER */ +/*mega-footer*/ +/************** + * + * Sizes + * + *************/ +/*mini-footer*/ +/************** + * + * Sizes + * + *************/ +/* COLUMN LAYOUT */ +/* CHECKBOX */ +/* CARD */ +/* Card dimensions */ +/* Cover image */ +/* BUTTON */ +/** + * + * Dimensions + * + */ +/* ANIMATION */ +/* PROGRESS */ +/* BADGE */ +/* SHADOWS */ +/* GRID */ +/* DATA TABLE */ +/** + * Copyright 2015 Google Inc. All Rights Reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/* Typography */ +/* Shadows */ +/* Animations */ +.mdl-data-table { + position: relative; + border: 1px solid rgba(0, 0, 0, 0.12); + border-collapse: collapse; + white-space: nowrap; + font-size: 13px; + background-color: rgb(255,255,255); } + .mdl-data-table thead { + padding-bottom: 3px; } + .mdl-data-table thead .mdl-data-table__select { + margin-top: 0; } + .mdl-data-table tbody tr { + position: relative; + height: 48px; + -webkit-transition-duration: 0.28s; + transition-duration: 0.28s; + -webkit-transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1); + transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1); + -webkit-transition-property: background-color; + transition-property: background-color; } + .mdl-data-table tbody tr.is-selected { + background-color: #e0e0e0; } + .mdl-data-table tbody tr:hover { + background-color: #eeeeee; } + .mdl-data-table td, .mdl-data-table th { + padding: 0 18px 0 18px; + text-align: right; } + .mdl-data-table td:first-of-type, .mdl-data-table th:first-of-type { + padding-left: 24px; } + .mdl-data-table td:last-of-type, .mdl-data-table th:last-of-type { + padding-right: 24px; } + .mdl-data-table td { + position: relative; + vertical-align: top; + height: 48px; + border-top: 1px solid rgba(0, 0, 0, 0.12); + border-bottom: 1px solid rgba(0, 0, 0, 0.12); + padding-top: 12px; + box-sizing: border-box; } + .mdl-data-table td .mdl-data-table__select { + vertical-align: top; + position: absolute; + left: 24px; } + .mdl-data-table th { + position: relative; + vertical-align: bottom; + text-overflow: ellipsis; + font-size: 14px; + font-weight: bold; + line-height: 24px; + letter-spacing: 0; + height: 48px; + font-size: 12px; + color: rgba(0, 0, 0, 0.54); + padding-bottom: 8px; + box-sizing: border-box; } + .mdl-data-table th .mdl-data-table__select { + position: relative; } + +.mdl-data-table__select { + width: 16px; } + +.mdl-data-table__cell--non-numeric.mdl-data-table__cell--non-numeric { + text-align: left; } + +/** + * Copyright 2015 Google Inc. All Rights Reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/** + * Copyright 2015 Google Inc. All Rights Reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/*------------------------------------*\ + $CONTENTS +\*------------------------------------*/ +/** + * STYLE GUIDE VARIABLES------------------Declarations of Sass variables + * -----Typography + * -----Colors + * -----Textfield + * -----Switch + * -----Spinner + * -----Radio + * -----Menu + * -----List + * -----Layout + * -----Icon toggles + * -----Footer + * -----Column + * -----Checkbox + * -----Card + * -----Button + * -----Animation + * -----Progress + * -----Badge + * -----Shadows + * -----Grid + * -----Data table + */ +/* ========== TYPOGRAPHY ========== */ +/* We're splitting fonts into "preferred" and "performance" in order to optimize + page loading. For important text, such as the body, we want it to load + immediately and not wait for the web font load, whereas for other sections, + such as headers and titles, we're OK with things taking a bit longer to load. + We do have some optional classes and parameters in the mixins, in case you + definitely want to make sure you're using the preferred font and don't mind + the performance hit. + We should be able to improve on this once CSS Font Loading L3 becomes more + widely available. +*/ +/* ========== COLORS ========== */ +/** +* +* Material design color palettes. +* @see http://www.google.com/design/spec/style/color.html +* +**/ +/** + * Copyright 2015 Google Inc. All Rights Reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/* ========== Color Palettes ========== */ +/* colors.scss */ +/* ========== Color & Themes ========== */ +/* ========== Typography ========== */ +/* ========== Components ========== */ +/* ========== Standard Buttons ========== */ +/* ========== Icon Toggles ========== */ +/* ========== Radio Buttons ========== */ +/* ========== Ripple effect ========== */ +/* ========== Layout ========== */ +/* ========== Content Tabs ========== */ +/* ========== Checkboxes ========== */ +/* ========== Switches ========== */ +/* ========== Spinner ========== */ +/* ========== Text fields ========== */ +/* ========== Card ========== */ +/* ========== Sliders ========== */ +/* ========== Progress ========== */ +/* ========== List ========== */ +/* ========== Item ========== */ +/* ========== Dropdown menu ========== */ +/* ========== Tooltips ========== */ +/* ========== Footer ========== */ +/* TEXTFIELD */ +/* SWITCH */ +/* SPINNER */ +/* RADIO */ +/* MENU */ +/* LIST */ +/* ICONS */ +/* ICON TOGGLE */ +/* FOOTER */ +/*mega-footer*/ +/************** + * + * Sizes + * + *************/ +/*mini-footer*/ +/************** + * + * Sizes + * + *************/ +/* COLUMN LAYOUT */ +/* CHECKBOX */ +/* CARD */ +/* Card dimensions */ +/* Cover image */ +/* BUTTON */ +/** + * + * Dimensions + * + */ +/* ANIMATION */ +/* PROGRESS */ +/* BADGE */ +/* SHADOWS */ +/* GRID */ +/* DATA TABLE */ +/** + * Copyright 2015 Google Inc. All Rights Reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/* Typography */ +/* Shadows */ +/* Animations */ +.mdl-mega-footer { + padding: 16px 40px; + color: rgb(158,158,158); + background-color: rgb(66,66,66); } + +.mdl-mega-footer--top-section:after, .mdl-mega-footer--middle-section:after, .mdl-mega-footer--bottom-section:after { + content: ''; + display: block; + clear: both; } + +.mdl-mega-footer--left-section { + margin-bottom: 16px; } + +.mdl-mega-footer--right-section { + margin-bottom: 16px; } + +.mdl-mega-footer--right-section a { + display: block; + margin-bottom: 16px; + color: inherit; + text-decoration: none; } + +@media screen and (min-width: 760px) { + .mdl-mega-footer--left-section { + float: left; } + .mdl-mega-footer--right-section { + float: right; } + .mdl-mega-footer--right-section a { + display: inline-block; + margin-left: 16px; + line-height: 36px; + vertical-align: middle; } } + +.mdl-mega-footer--social-btn { + width: 36px; + height: 36px; + padding: 0; + margin: 0; + background-color: rgb(158,158,158); + border: none; } + +.mdl-mega-footer--drop-down-section { + display: block; + position: relative; } + +@media screen and (min-width: 760px) { + .mdl-mega-footer--drop-down-section { + width: 33%; } + .mdl-mega-footer--drop-down-section:nth-child(1), .mdl-mega-footer--drop-down-section:nth-child(2) { + float: left; } + .mdl-mega-footer--drop-down-section:nth-child(3) { + float: right; } + .mdl-mega-footer--drop-down-section:nth-child(3):after { + clear: right; } + .mdl-mega-footer--drop-down-section:nth-child(4) { + clear: right; + float: right; } + .mdl-mega-footer--middle-section:after { + content: ''; + display: block; + clear: both; } + .mdl-mega-footer--bottom-section { + padding-top: 0; } } + +@media screen and (min-width: 1024px) { + .mdl-mega-footer--drop-down-section, .mdl-mega-footer--drop-down-section:nth-child(3), .mdl-mega-footer--drop-down-section:nth-child(4) { + width: 24%; + float: left; } } + +.mdl-mega-footer--heading-checkbox { + position: absolute; + width: 100%; + height: 55.8px; + padding: 32px; + margin: 0; + margin-top: -16px; + cursor: pointer; + z-index: 1; + opacity: 0; } + .mdl-mega-footer--heading-checkbox ~ .mdl-mega-footer--heading:after { + font-family: 'Material Icons'; + content: '\E5CE'; } + +.mdl-mega-footer--heading-checkbox:checked ~ ul { + display: none; } +.mdl-mega-footer--heading-checkbox:checked ~ .mdl-mega-footer--heading:after { + font-family: 'Material Icons'; + content: '\E5CF'; } + +.mdl-mega-footer--heading { + position: relative; + width: 100%; + padding-right: 39.8px; + margin-bottom: 16px; + box-sizing: border-box; + font-size: 14px; + line-height: 23.8px; + font-weight: 500; + white-space: nowrap; + text-overflow: ellipsis; + overflow: hidden; + color: rgb(224,224,224); } + +.mdl-mega-footer--heading:after { + content: ''; + position: absolute; + top: 0; + right: 0; + display: block; + width: 23.8px; + height: 23.8px; + background-size: cover; } + +.mdl-mega-footer--link-list { + list-style: none; + margin: 0; + padding: 0; + margin-bottom: 32px; } + .mdl-mega-footer--link-list:after { + clear: both; + display: block; + content: ''; } + +.mdl-mega-footer--link-list li { + font-size: 14px; + font-weight: 400; + line-height: 24px; + letter-spacing: 0; + line-height: 20px; } + +.mdl-mega-footer--link-list a { + color: inherit; + text-decoration: none; + white-space: nowrap; } + +@media screen and (min-width: 760px) { + .mdl-mega-footer--heading-checkbox { + display: none; } + .mdl-mega-footer--heading-checkbox ~ .mdl-mega-footer--heading:after { + background-image: none; } + .mdl-mega-footer--heading-checkbox:checked ~ ul { + display: block; } + .mdl-mega-footer--heading-checkbox:checked ~ .mdl-mega-footer--heading:after { + content: ''; } } + +.mdl-mega-footer--bottom-section { + padding-top: 16px; + margin-bottom: 16px; } + +.mdl-logo { + margin-bottom: 16px; + color: white; } + +.mdl-mega-footer--bottom-section .mdl-mega-footer--link-list li { + float: left; + margin-bottom: 0; + margin-right: 16px; } + +@media screen and (min-width: 760px) { + .mdl-logo { + float: left; + margin-bottom: 0; + margin-right: 16px; } } + +/** + * Copyright 2015 Google Inc. All Rights Reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/** + * Copyright 2015 Google Inc. All Rights Reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/*------------------------------------*\ + $CONTENTS +\*------------------------------------*/ +/** + * STYLE GUIDE VARIABLES------------------Declarations of Sass variables + * -----Typography + * -----Colors + * -----Textfield + * -----Switch + * -----Spinner + * -----Radio + * -----Menu + * -----List + * -----Layout + * -----Icon toggles + * -----Footer + * -----Column + * -----Checkbox + * -----Card + * -----Button + * -----Animation + * -----Progress + * -----Badge + * -----Shadows + * -----Grid + * -----Data table + */ +/* ========== TYPOGRAPHY ========== */ +/* We're splitting fonts into "preferred" and "performance" in order to optimize + page loading. For important text, such as the body, we want it to load + immediately and not wait for the web font load, whereas for other sections, + such as headers and titles, we're OK with things taking a bit longer to load. + We do have some optional classes and parameters in the mixins, in case you + definitely want to make sure you're using the preferred font and don't mind + the performance hit. + We should be able to improve on this once CSS Font Loading L3 becomes more + widely available. +*/ +/* ========== COLORS ========== */ +/** +* +* Material design color palettes. +* @see http://www.google.com/design/spec/style/color.html +* +**/ +/** + * Copyright 2015 Google Inc. All Rights Reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/* ========== Color Palettes ========== */ +/* colors.scss */ +/* ========== Color & Themes ========== */ +/* ========== Typography ========== */ +/* ========== Components ========== */ +/* ========== Standard Buttons ========== */ +/* ========== Icon Toggles ========== */ +/* ========== Radio Buttons ========== */ +/* ========== Ripple effect ========== */ +/* ========== Layout ========== */ +/* ========== Content Tabs ========== */ +/* ========== Checkboxes ========== */ +/* ========== Switches ========== */ +/* ========== Spinner ========== */ +/* ========== Text fields ========== */ +/* ========== Card ========== */ +/* ========== Sliders ========== */ +/* ========== Progress ========== */ +/* ========== List ========== */ +/* ========== Item ========== */ +/* ========== Dropdown menu ========== */ +/* ========== Tooltips ========== */ +/* ========== Footer ========== */ +/* TEXTFIELD */ +/* SWITCH */ +/* SPINNER */ +/* RADIO */ +/* MENU */ +/* LIST */ +/* ICONS */ +/* ICON TOGGLE */ +/* FOOTER */ +/*mega-footer*/ +/************** + * + * Sizes + * + *************/ +/*mini-footer*/ +/************** + * + * Sizes + * + *************/ +/* COLUMN LAYOUT */ +/* CHECKBOX */ +/* CARD */ +/* Card dimensions */ +/* Cover image */ +/* BUTTON */ +/** + * + * Dimensions + * + */ +/* ANIMATION */ +/* PROGRESS */ +/* BADGE */ +/* SHADOWS */ +/* GRID */ +/* DATA TABLE */ +.mdl-mini-footer { + display: -webkit-box; + display: -webkit-flex; + display: -ms-flexbox; + display: flex; + -webkit-flex-flow: row wrap; + -ms-flex-flow: row wrap; + flex-flow: row wrap; + -webkit-box-pack: justify; + -webkit-justify-content: space-between; + -ms-flex-pack: justify; + justify-content: space-between; + padding: 32px 16px; + color: rgb(158,158,158); + background-color: rgb(66,66,66); } + .mdl-mini-footer:after { + content: ''; + display: block; } + .mdl-mini-footer .mdl-logo { + line-height: 36px; } + +.mdl-mini-footer--link-list { + display: -webkit-box; + display: -webkit-flex; + display: -ms-flexbox; + display: flex; + -webkit-flex-flow: row nowrap; + -ms-flex-flow: row nowrap; + flex-flow: row nowrap; + list-style: none; + margin: 0; + padding: 0; } + .mdl-mini-footer--link-list li { + margin-bottom: 0; + margin-right: 16px; } + @media screen and (min-width: 760px) { + .mdl-mini-footer--link-list li { + line-height: 36px; } } + .mdl-mini-footer--link-list a { + color: inherit; + text-decoration: none; + white-space: nowrap; } + +.mdl-mini-footer--left-section { + display: inline-block; + -webkit-box-ordinal-group: 1; + -webkit-order: 0; + -ms-flex-order: 0; + order: 0; } + +.mdl-mini-footer--right-section { + display: inline-block; + -webkit-box-ordinal-group: 2; + -webkit-order: 1; + -ms-flex-order: 1; + order: 1; } + +.mdl-mini-footer--social-btn { + width: 36px; + height: 36px; + padding: 0; + margin: 0; + background-color: rgb(158,158,158); + border: none; } + +/** + * Copyright 2015 Google Inc. All Rights Reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/** + * Copyright 2015 Google Inc. All Rights Reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/*------------------------------------*\ + $CONTENTS +\*------------------------------------*/ +/** + * STYLE GUIDE VARIABLES------------------Declarations of Sass variables + * -----Typography + * -----Colors + * -----Textfield + * -----Switch + * -----Spinner + * -----Radio + * -----Menu + * -----List + * -----Layout + * -----Icon toggles + * -----Footer + * -----Column + * -----Checkbox + * -----Card + * -----Button + * -----Animation + * -----Progress + * -----Badge + * -----Shadows + * -----Grid + * -----Data table + */ +/* ========== TYPOGRAPHY ========== */ +/* We're splitting fonts into "preferred" and "performance" in order to optimize + page loading. For important text, such as the body, we want it to load + immediately and not wait for the web font load, whereas for other sections, + such as headers and titles, we're OK with things taking a bit longer to load. + We do have some optional classes and parameters in the mixins, in case you + definitely want to make sure you're using the preferred font and don't mind + the performance hit. + We should be able to improve on this once CSS Font Loading L3 becomes more + widely available. +*/ +/* ========== COLORS ========== */ +/** +* +* Material design color palettes. +* @see http://www.google.com/design/spec/style/color.html +* +**/ +/** + * Copyright 2015 Google Inc. All Rights Reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/* ========== Color Palettes ========== */ +/* colors.scss */ +/* ========== Color & Themes ========== */ +/* ========== Typography ========== */ +/* ========== Components ========== */ +/* ========== Standard Buttons ========== */ +/* ========== Icon Toggles ========== */ +/* ========== Radio Buttons ========== */ +/* ========== Ripple effect ========== */ +/* ========== Layout ========== */ +/* ========== Content Tabs ========== */ +/* ========== Checkboxes ========== */ +/* ========== Switches ========== */ +/* ========== Spinner ========== */ +/* ========== Text fields ========== */ +/* ========== Card ========== */ +/* ========== Sliders ========== */ +/* ========== Progress ========== */ +/* ========== List ========== */ +/* ========== Item ========== */ +/* ========== Dropdown menu ========== */ +/* ========== Tooltips ========== */ +/* ========== Footer ========== */ +/* TEXTFIELD */ +/* SWITCH */ +/* SPINNER */ +/* RADIO */ +/* MENU */ +/* LIST */ +/* ICONS */ +/* ICON TOGGLE */ +/* FOOTER */ +/*mega-footer*/ +/************** + * + * Sizes + * + *************/ +/*mini-footer*/ +/************** + * + * Sizes + * + *************/ +/* COLUMN LAYOUT */ +/* CHECKBOX */ +/* CARD */ +/* Card dimensions */ +/* Cover image */ +/* BUTTON */ +/** + * + * Dimensions + * + */ +/* ANIMATION */ +/* PROGRESS */ +/* BADGE */ +/* SHADOWS */ +/* GRID */ +/* DATA TABLE */ +.mdl-icon-toggle { + position: relative; + z-index: 1; + vertical-align: middle; + display: inline-block; + height: 32px; + margin: 0; + padding: 0; } + +.mdl-icon-toggle__input { + line-height: 32px; } + .mdl-icon-toggle.is-upgraded .mdl-icon-toggle__input { + position: absolute; + width: 0; + height: 0; + margin: 0; + padding: 0; + opacity: 0; + -ms-appearance: none; + -moz-appearance: none; + -webkit-appearance: none; + appearance: none; + border: none; } + +.mdl-icon-toggle__label { + display: inline-block; + position: relative; + cursor: pointer; + height: 32px; + width: 32px; + min-width: 32px; + color: rgb(97,97,97); + border-radius: 50%; + padding: 0; + margin-left: 0; + margin-right: 0; + text-align: center; + background-color: transparent; + will-change: background-color; + -webkit-transition: background-color 0.2s cubic-bezier(0.4, 0, 0.2, 1), color 0.2s cubic-bezier(0.4, 0, 0.2, 1); + transition: background-color 0.2s cubic-bezier(0.4, 0, 0.2, 1), color 0.2s cubic-bezier(0.4, 0, 0.2, 1); } + .mdl-icon-toggle__label.material-icons { + line-height: 32px; + font-size: 24px; } + .mdl-icon-toggle.is-checked .mdl-icon-toggle__label { + color: rgb(63,81,181); } + .mdl-icon-toggle.is-disabled .mdl-icon-toggle__label { + color: rgba(0,0,0, 0.26); + cursor: auto; + -webkit-transition: none; + transition: none; } + .mdl-icon-toggle.is-focused .mdl-icon-toggle__label { + background-color: rgba(0,0,0, 0.12); } + .mdl-icon-toggle.is-focused.is-checked .mdl-icon-toggle__label { + background-color: rgba(63,81,181, 0.26); } + +.mdl-icon-toggle__ripple-container { + position: absolute; + z-index: 2; + top: -2px; + left: -2px; + box-sizing: border-box; + width: 36px; + height: 36px; + border-radius: 50%; + cursor: pointer; + overflow: hidden; + -webkit-mask-image: -webkit-radial-gradient(circle, white, black); } + .mdl-icon-toggle__ripple-container .mdl-ripple { + background: rgb(97,97,97); } + .mdl-icon-toggle.is-disabled .mdl-icon-toggle__ripple-container { + cursor: auto; } + .mdl-icon-toggle.is-disabled .mdl-icon-toggle__ripple-container .mdl-ripple { + background: transparent; } + +/** + * Copyright 2015 Google Inc. All Rights Reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/** + * Copyright 2015 Google Inc. All Rights Reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/*------------------------------------*\ + $CONTENTS +\*------------------------------------*/ +/** + * STYLE GUIDE VARIABLES------------------Declarations of Sass variables + * -----Typography + * -----Colors + * -----Textfield + * -----Switch + * -----Spinner + * -----Radio + * -----Menu + * -----List + * -----Layout + * -----Icon toggles + * -----Footer + * -----Column + * -----Checkbox + * -----Card + * -----Button + * -----Animation + * -----Progress + * -----Badge + * -----Shadows + * -----Grid + * -----Data table + */ +/* ========== TYPOGRAPHY ========== */ +/* We're splitting fonts into "preferred" and "performance" in order to optimize + page loading. For important text, such as the body, we want it to load + immediately and not wait for the web font load, whereas for other sections, + such as headers and titles, we're OK with things taking a bit longer to load. + We do have some optional classes and parameters in the mixins, in case you + definitely want to make sure you're using the preferred font and don't mind + the performance hit. + We should be able to improve on this once CSS Font Loading L3 becomes more + widely available. +*/ +/* ========== COLORS ========== */ +/** +* +* Material design color palettes. +* @see http://www.google.com/design/spec/style/color.html +* +**/ +/** + * Copyright 2015 Google Inc. All Rights Reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/* ========== Color Palettes ========== */ +/* colors.scss */ +/* ========== Color & Themes ========== */ +/* ========== Typography ========== */ +/* ========== Components ========== */ +/* ========== Standard Buttons ========== */ +/* ========== Icon Toggles ========== */ +/* ========== Radio Buttons ========== */ +/* ========== Ripple effect ========== */ +/* ========== Layout ========== */ +/* ========== Content Tabs ========== */ +/* ========== Checkboxes ========== */ +/* ========== Switches ========== */ +/* ========== Spinner ========== */ +/* ========== Text fields ========== */ +/* ========== Card ========== */ +/* ========== Sliders ========== */ +/* ========== Progress ========== */ +/* ========== List ========== */ +/* ========== Item ========== */ +/* ========== Dropdown menu ========== */ +/* ========== Tooltips ========== */ +/* ========== Footer ========== */ +/* TEXTFIELD */ +/* SWITCH */ +/* SPINNER */ +/* RADIO */ +/* MENU */ +/* LIST */ +/* ICONS */ +/* ICON TOGGLE */ +/* FOOTER */ +/*mega-footer*/ +/************** + * + * Sizes + * + *************/ +/*mini-footer*/ +/************** + * + * Sizes + * + *************/ +/* COLUMN LAYOUT */ +/* CHECKBOX */ +/* CARD */ +/* Card dimensions */ +/* Cover image */ +/* BUTTON */ +/** + * + * Dimensions + * + */ +/* ANIMATION */ +/* PROGRESS */ +/* BADGE */ +/* SHADOWS */ +/* GRID */ +/* DATA TABLE */ +/** + * Copyright 2015 Google Inc. All Rights Reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/* Typography */ +/* Shadows */ +/* Animations */ +.mdl-menu__container { + display: block; + margin: 0; + padding: 0; + border: none; + position: absolute; + overflow: visible; + height: 0; + width: 0; + z-index: -1; } + .mdl-menu__container.is-visible { + z-index: 999; } + +.mdl-menu__outline { + display: block; + background: rgb(255,255,255); + margin: 0; + padding: 0; + border: none; + border-radius: 2px; + position: absolute; + top: 0; + left: 0; + overflow: hidden; + opacity: 0; + -webkit-transform: scale(0); + -ms-transform: scale(0); + transform: scale(0); + -webkit-transform-origin: 0 0; + -ms-transform-origin: 0 0; + transform-origin: 0 0; + box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 3px 1px -2px rgba(0, 0, 0, 0.2), 0 1px 5px 0 rgba(0, 0, 0, 0.12); + will-change: transform; + -webkit-transition: -webkit-transform 0.3s cubic-bezier(0.4, 0, 0.2, 1), opacity 0.2s cubic-bezier(0.4, 0, 0.2, 1); + transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1), opacity 0.2s cubic-bezier(0.4, 0, 0.2, 1); + z-index: -1; } + .mdl-menu__container.is-visible .mdl-menu__outline { + opacity: 1; + -webkit-transform: scale(1); + -ms-transform: scale(1); + transform: scale(1); + z-index: 999; } + .mdl-menu__outline.mdl-menu--bottom-right { + -webkit-transform-origin: 100% 0; + -ms-transform-origin: 100% 0; + transform-origin: 100% 0; } + .mdl-menu__outline.mdl-menu--top-left { + -webkit-transform-origin: 0 100%; + -ms-transform-origin: 0 100%; + transform-origin: 0 100%; } + .mdl-menu__outline.mdl-menu--top-right { + -webkit-transform-origin: 100% 100%; + -ms-transform-origin: 100% 100%; + transform-origin: 100% 100%; } + +.mdl-menu { + position: absolute; + list-style: none; + top: 0; + left: 0; + height: auto; + width: auto; + min-width: 124px; + padding: 8px 0; + margin: 0; + opacity: 0; + clip: rect(0 0 0 0); + z-index: -1; } + .mdl-menu__container.is-visible .mdl-menu { + opacity: 1; + z-index: 999; } + .mdl-menu.is-animating { + -webkit-transition: opacity 0.2s cubic-bezier(0.4, 0, 0.2, 1), clip 0.3s cubic-bezier(0.4, 0, 0.2, 1); + transition: opacity 0.2s cubic-bezier(0.4, 0, 0.2, 1), clip 0.3s cubic-bezier(0.4, 0, 0.2, 1); } + .mdl-menu.mdl-menu--bottom-right { + left: auto; + right: 0; } + .mdl-menu.mdl-menu--top-left { + top: auto; + bottom: 0; } + .mdl-menu.mdl-menu--top-right { + top: auto; + left: auto; + bottom: 0; + right: 0; } + .mdl-menu.mdl-menu--unaligned { + top: auto; + left: auto; } + +.mdl-menu__item { + display: block; + border: none; + color: rgba(0,0,0, 0.87); + background-color: transparent; + text-align: left; + margin: 0; + padding: 0 16px; + outline-color: rgb(189,189,189); + position: relative; + overflow: hidden; + font-size: 14px; + font-weight: 400; + line-height: 24px; + letter-spacing: 0; + text-decoration: none; + cursor: pointer; + height: 48px; + width: 100%; + line-height: 48px; + white-space: nowrap; + opacity: 0; + -webkit-transition: opacity 0.2s cubic-bezier(0.4, 0, 0.2, 1); + transition: opacity 0.2s cubic-bezier(0.4, 0, 0.2, 1); + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; } + .mdl-menu__container.is-visible .mdl-menu__item { + opacity: 1; } + .mdl-menu__item::-moz-focus-inner { + border: 0; } + .mdl-menu__item[disabled] { + color: rgb(189,189,189); + background-color: transparent; + cursor: auto; } + .mdl-menu__item[disabled]:hover { + background-color: transparent; } + .mdl-menu__item[disabled]:focus { + background-color: transparent; } + .mdl-menu__item[disabled] .mdl-ripple { + background: transparent; } + .mdl-menu__item:hover { + background-color: rgb(238,238,238); } + .mdl-menu__item:focus { + outline: none; + background-color: rgb(238,238,238); } + .mdl-menu__item:active { + background-color: rgb(224,224,224); } + +.mdl-menu__item--ripple-container { + display: block; + height: 100%; + left: 0px; + position: absolute; + top: 0px; + width: 100%; + z-index: 0; + overflow: hidden; } + +/** + * Copyright 2015 Google Inc. All Rights Reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/** + * Copyright 2015 Google Inc. All Rights Reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/*------------------------------------*\ + $CONTENTS +\*------------------------------------*/ +/** + * STYLE GUIDE VARIABLES------------------Declarations of Sass variables + * -----Typography + * -----Colors + * -----Textfield + * -----Switch + * -----Spinner + * -----Radio + * -----Menu + * -----List + * -----Layout + * -----Icon toggles + * -----Footer + * -----Column + * -----Checkbox + * -----Card + * -----Button + * -----Animation + * -----Progress + * -----Badge + * -----Shadows + * -----Grid + * -----Data table + */ +/* ========== TYPOGRAPHY ========== */ +/* We're splitting fonts into "preferred" and "performance" in order to optimize + page loading. For important text, such as the body, we want it to load + immediately and not wait for the web font load, whereas for other sections, + such as headers and titles, we're OK with things taking a bit longer to load. + We do have some optional classes and parameters in the mixins, in case you + definitely want to make sure you're using the preferred font and don't mind + the performance hit. + We should be able to improve on this once CSS Font Loading L3 becomes more + widely available. +*/ +/* ========== COLORS ========== */ +/** +* +* Material design color palettes. +* @see http://www.google.com/design/spec/style/color.html +* +**/ +/** + * Copyright 2015 Google Inc. All Rights Reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/* ========== Color Palettes ========== */ +/* colors.scss */ +/* ========== Color & Themes ========== */ +/* ========== Typography ========== */ +/* ========== Components ========== */ +/* ========== Standard Buttons ========== */ +/* ========== Icon Toggles ========== */ +/* ========== Radio Buttons ========== */ +/* ========== Ripple effect ========== */ +/* ========== Layout ========== */ +/* ========== Content Tabs ========== */ +/* ========== Checkboxes ========== */ +/* ========== Switches ========== */ +/* ========== Spinner ========== */ +/* ========== Text fields ========== */ +/* ========== Card ========== */ +/* ========== Sliders ========== */ +/* ========== Progress ========== */ +/* ========== List ========== */ +/* ========== Item ========== */ +/* ========== Dropdown menu ========== */ +/* ========== Tooltips ========== */ +/* ========== Footer ========== */ +/* TEXTFIELD */ +/* SWITCH */ +/* SPINNER */ +/* RADIO */ +/* MENU */ +/* LIST */ +/* ICONS */ +/* ICON TOGGLE */ +/* FOOTER */ +/*mega-footer*/ +/************** + * + * Sizes + * + *************/ +/*mini-footer*/ +/************** + * + * Sizes + * + *************/ +/* COLUMN LAYOUT */ +/* CHECKBOX */ +/* CARD */ +/* Card dimensions */ +/* Cover image */ +/* BUTTON */ +/** + * + * Dimensions + * + */ +/* ANIMATION */ +/* PROGRESS */ +/* BADGE */ +/* SHADOWS */ +/* GRID */ +/* DATA TABLE */ +.mdl-progress { + display: block; + position: relative; + height: 4px; + width: 500px; } + +.mdl-progress > .bar { + display: block; + position: absolute; + top: 0; + bottom: 0; + width: 0%; + -webkit-transition: width 0.2s cubic-bezier(0.4, 0, 0.2, 1); + transition: width 0.2s cubic-bezier(0.4, 0, 0.2, 1); } + +.mdl-progress > .progressbar { + background-color: rgb(63,81,181); + z-index: 1; + left: 0; } + +.mdl-progress > .bufferbar { + background-image: -webkit-linear-gradient(left, rgba(255,255,255, 0.7), rgba(255,255,255, 0.7)), -webkit-linear-gradient(left, rgb(63,81,181), rgb(63,81,181)); + background-image: linear-gradient(to right, rgba(255,255,255, 0.7), rgba(255,255,255, 0.7)), linear-gradient(to right, rgb(63,81,181), rgb(63,81,181)); + z-index: 0; + left: 0; } + +.mdl-progress > .auxbar { + right: 0; } + +@supports (-webkit-appearance: none) { + .mdl-progress:not(.mdl-progress__indeterminate):not(.mdl-progress__indeterminate) > .auxbar { + background-image: -webkit-linear-gradient(left, rgba(255,255,255, 0.7), rgba(255,255,255, 0.7)), -webkit-linear-gradient(left, rgb(63,81,181), rgb(63,81,181)); + background-image: linear-gradient(to right, rgba(255,255,255, 0.7), rgba(255,255,255, 0.7)), linear-gradient(to right, rgb(63,81,181), rgb(63,81,181)); + -webkit-mask: url('data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIj8+Cjxzdmcgd2lkdGg9IjEyIiBoZWlnaHQ9IjQiIHZpZXdQb3J0PSIwIDAgMTIgNCIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPgogIDxlbGxpcHNlIGN4PSIyIiBjeT0iMiIgcng9IjIiIHJ5PSIyIj4KICAgIDxhbmltYXRlIGF0dHJpYnV0ZU5hbWU9ImN4IiBmcm9tPSIyIiB0bz0iLTEwIiBkdXI9IjAuNnMiIHJlcGVhdENvdW50PSJpbmRlZmluaXRlIiAvPgogIDwvZWxsaXBzZT4KICA8ZWxsaXBzZSBjeD0iMTQiIGN5PSIyIiByeD0iMiIgcnk9IjIiIGNsYXNzPSJsb2FkZXIiPgogICAgPGFuaW1hdGUgYXR0cmlidXRlTmFtZT0iY3giIGZyb209IjE0IiB0bz0iMiIgZHVyPSIwLjZzIiByZXBlYXRDb3VudD0iaW5kZWZpbml0ZSIgLz4KICA8L2VsbGlwc2U+Cjwvc3ZnPgo='); + mask: url('data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIj8+Cjxzdmcgd2lkdGg9IjEyIiBoZWlnaHQ9IjQiIHZpZXdQb3J0PSIwIDAgMTIgNCIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPgogIDxlbGxpcHNlIGN4PSIyIiBjeT0iMiIgcng9IjIiIHJ5PSIyIj4KICAgIDxhbmltYXRlIGF0dHJpYnV0ZU5hbWU9ImN4IiBmcm9tPSIyIiB0bz0iLTEwIiBkdXI9IjAuNnMiIHJlcGVhdENvdW50PSJpbmRlZmluaXRlIiAvPgogIDwvZWxsaXBzZT4KICA8ZWxsaXBzZSBjeD0iMTQiIGN5PSIyIiByeD0iMiIgcnk9IjIiIGNsYXNzPSJsb2FkZXIiPgogICAgPGFuaW1hdGUgYXR0cmlidXRlTmFtZT0iY3giIGZyb209IjE0IiB0bz0iMiIgZHVyPSIwLjZzIiByZXBlYXRDb3VudD0iaW5kZWZpbml0ZSIgLz4KICA8L2VsbGlwc2U+Cjwvc3ZnPgo='); } } + +.mdl-progress:not(.mdl-progress__indeterminate) > .auxbar { + background-image: -webkit-linear-gradient(left, rgba(255,255,255, 0.9), rgba(255,255,255, 0.9)), -webkit-linear-gradient(left, rgb(63,81,181), rgb(63,81,181)); + background-image: linear-gradient(to right, rgba(255,255,255, 0.9), rgba(255,255,255, 0.9)), linear-gradient(to right, rgb(63,81,181), rgb(63,81,181)); } + +.mdl-progress.mdl-progress__indeterminate > .bar1 { + background-color: rgb(63,81,181); + -webkit-animation-name: indeterminate1; + animation-name: indeterminate1; + -webkit-animation-duration: 2s; + animation-duration: 2s; + -webkit-animation-iteration-count: infinite; + animation-iteration-count: infinite; + -webkit-animation-timing-function: linear; + animation-timing-function: linear; } + +.mdl-progress.mdl-progress__indeterminate > .bar3 { + background-image: none; + background-color: rgb(63,81,181); + -webkit-animation-name: indeterminate2; + animation-name: indeterminate2; + -webkit-animation-duration: 2s; + animation-duration: 2s; + -webkit-animation-iteration-count: infinite; + animation-iteration-count: infinite; + -webkit-animation-timing-function: linear; + animation-timing-function: linear; } + +@-webkit-keyframes indeterminate1 { + 0% { + left: 0%; + width: 0%; } + + 50% { + left: 25%; + width: 75%; } + + 75% { + left: 100%; + width: 0%; } } + +@keyframes indeterminate1 { + 0% { + left: 0%; + width: 0%; } + + 50% { + left: 25%; + width: 75%; } + + 75% { + left: 100%; + width: 0%; } } + +@-webkit-keyframes indeterminate2 { + 0% { + left: 0%; + width: 0%; } + + 50% { + left: 0%; + width: 0%; } + + 75% { + left: 0%; + width: 25%; } + + 100% { + left: 100%; + width: 0%; } } + +@keyframes indeterminate2 { + 0% { + left: 0%; + width: 0%; } + + 50% { + left: 0%; + width: 0%; } + + 75% { + left: 0%; + width: 25%; } + + 100% { + left: 100%; + width: 0%; } } + +/** + * Copyright 2015 Google Inc. All Rights Reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/** + * Copyright 2015 Google Inc. All Rights Reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/*------------------------------------*\ + $CONTENTS +\*------------------------------------*/ +/** + * STYLE GUIDE VARIABLES------------------Declarations of Sass variables + * -----Typography + * -----Colors + * -----Textfield + * -----Switch + * -----Spinner + * -----Radio + * -----Menu + * -----List + * -----Layout + * -----Icon toggles + * -----Footer + * -----Column + * -----Checkbox + * -----Card + * -----Button + * -----Animation + * -----Progress + * -----Badge + * -----Shadows + * -----Grid + * -----Data table + */ +/* ========== TYPOGRAPHY ========== */ +/* We're splitting fonts into "preferred" and "performance" in order to optimize + page loading. For important text, such as the body, we want it to load + immediately and not wait for the web font load, whereas for other sections, + such as headers and titles, we're OK with things taking a bit longer to load. + We do have some optional classes and parameters in the mixins, in case you + definitely want to make sure you're using the preferred font and don't mind + the performance hit. + We should be able to improve on this once CSS Font Loading L3 becomes more + widely available. +*/ +/* ========== COLORS ========== */ +/** +* +* Material design color palettes. +* @see http://www.google.com/design/spec/style/color.html +* +**/ +/** + * Copyright 2015 Google Inc. All Rights Reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/* ========== Color Palettes ========== */ +/* colors.scss */ +/* ========== Color & Themes ========== */ +/* ========== Typography ========== */ +/* ========== Components ========== */ +/* ========== Standard Buttons ========== */ +/* ========== Icon Toggles ========== */ +/* ========== Radio Buttons ========== */ +/* ========== Ripple effect ========== */ +/* ========== Layout ========== */ +/* ========== Content Tabs ========== */ +/* ========== Checkboxes ========== */ +/* ========== Switches ========== */ +/* ========== Spinner ========== */ +/* ========== Text fields ========== */ +/* ========== Card ========== */ +/* ========== Sliders ========== */ +/* ========== Progress ========== */ +/* ========== List ========== */ +/* ========== Item ========== */ +/* ========== Dropdown menu ========== */ +/* ========== Tooltips ========== */ +/* ========== Footer ========== */ +/* TEXTFIELD */ +/* SWITCH */ +/* SPINNER */ +/* RADIO */ +/* MENU */ +/* LIST */ +/* ICONS */ +/* ICON TOGGLE */ +/* FOOTER */ +/*mega-footer*/ +/************** + * + * Sizes + * + *************/ +/*mini-footer*/ +/************** + * + * Sizes + * + *************/ +/* COLUMN LAYOUT */ +/* CHECKBOX */ +/* CARD */ +/* Card dimensions */ +/* Cover image */ +/* BUTTON */ +/** + * + * Dimensions + * + */ +/* ANIMATION */ +/* PROGRESS */ +/* BADGE */ +/* SHADOWS */ +/* GRID */ +/* DATA TABLE */ +/** + * Copyright 2015 Google Inc. All Rights Reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/* Typography */ +/* Shadows */ +/* Animations */ +.mdl-navigation { + display: -webkit-box; + display: -webkit-flex; + display: -ms-flexbox; + display: flex; + -webkit-flex-wrap: nowrap; + -ms-flex-wrap: nowrap; + flex-wrap: nowrap; + box-sizing: border-box; } + +.mdl-navigation__link { + color: rgb(66,66,66); + text-decoration: none; + font-weight: 500; + font-size: 13px; + margin: 0; } + +.mdl-layout { + width: 100%; + height: 100%; + display: -webkit-box; + display: -webkit-flex; + display: -ms-flexbox; + display: flex; + -webkit-box-orient: vertical; + -webkit-box-direction: normal; + -webkit-flex-direction: column; + -ms-flex-direction: column; + flex-direction: column; + overflow-y: auto; + overflow-x: hidden; + position: relative; } + +.mdl-layout.is-small-screen .mdl-layout--large-screen-only { + display: none; } + +.mdl-layout:not(.is-small-screen) .mdl-layout--small-screen-only { + display: none; } + +.mdl-layout__container { + position: absolute; + width: 100%; + height: 100%; } + +.mdl-layout-title { + display: block; + position: relative; + font-family: 'Roboto', 'Helvetica', 'Arial', sans-serif; + font-size: 20px; + font-weight: 500; + line-height: 1; + letter-spacing: 0.02em; + font-weight: 400; + box-sizing: border-box; } + +.mdl-layout-spacer { + -webkit-box-flex: 1; + -webkit-flex-grow: 1; + -ms-flex-positive: 1; + flex-grow: 1; } + +.mdl-layout__drawer { + display: -webkit-box; + display: -webkit-flex; + display: -ms-flexbox; + display: flex; + -webkit-box-orient: vertical; + -webkit-box-direction: normal; + -webkit-flex-direction: column; + -ms-flex-direction: column; + flex-direction: column; + -webkit-flex-wrap: nowrap; + -ms-flex-wrap: nowrap; + flex-wrap: nowrap; + width: 240px; + height: 100%; + max-height: 100%; + position: absolute; + top: 0; + left: 0; + box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 3px 1px -2px rgba(0, 0, 0, 0.2), 0 1px 5px 0 rgba(0, 0, 0, 0.12); + box-sizing: border-box; + border-right: 1px solid rgb(224,224,224); + background: rgb(250,250,250); + -webkit-transform: translateX(-250px); + -ms-transform: translateX(-250px); + transform: translateX(-250px); + -webkit-transform-style: preserve-3d; + transform-style: preserve-3d; + will-change: transform; + -webkit-transition-duration: 0.2s; + transition-duration: 0.2s; + -webkit-transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1); + transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1); + -webkit-transition-property: -webkit-transform; + transition-property: transform; + color: rgb(66,66,66); + overflow: visible; + overflow-y: auto; + z-index: 5; } + .mdl-layout__drawer.is-visible { + -webkit-transform: translateX(0); + -ms-transform: translateX(0); + transform: translateX(0); } + .mdl-layout__drawer > * { + -webkit-flex-shrink: 0; + -ms-flex-negative: 0; + flex-shrink: 0; } + .mdl-layout__drawer > .mdl-layout-title { + line-height: 64px; + padding-left: 40px; } + @media screen and (max-width: 850px) { + .mdl-layout__drawer > .mdl-layout-title { + line-height: 56px; + padding-left: 16px; } } + .mdl-layout__drawer .mdl-navigation { + -webkit-box-orient: vertical; + -webkit-box-direction: normal; + -webkit-flex-direction: column; + -ms-flex-direction: column; + flex-direction: column; + -webkit-box-align: stretch; + -webkit-align-items: stretch; + -ms-flex-align: stretch; + align-items: stretch; + padding-top: 16px; } + .mdl-layout__drawer .mdl-navigation .mdl-navigation__link { + display: block; + -webkit-flex-shrink: 0; + -ms-flex-negative: 0; + flex-shrink: 0; + padding: 16px 40px; + margin: 0; + color: #757575; } + @media screen and (max-width: 850px) { + .mdl-layout__drawer .mdl-navigation .mdl-navigation__link { + padding: 16px 16px; } } + .mdl-layout__drawer .mdl-navigation .mdl-navigation__link:hover { + background-color: rgb(224,224,224); } + .mdl-layout__drawer .mdl-navigation .mdl-navigation__link--current { + background-color: rgb(0,0,0); + color: rgb(63,81,181); } + @media screen and (min-width: 851px) { + .mdl-layout--fixed-drawer > .mdl-layout__drawer { + -webkit-transform: translateX(0); + -ms-transform: translateX(0); + transform: translateX(0); } } + +.mdl-layout__drawer-button { + display: block; + position: absolute; + height: 48px; + width: 48px; + border: 0; + -webkit-flex-shrink: 0; + -ms-flex-negative: 0; + flex-shrink: 0; + overflow: hidden; + text-align: center; + cursor: pointer; + font-size: 26px; + line-height: 50px; + font-family: Helvetica, Arial, sans-serif; + margin: 10px 12px; + top: 0; + left: 0; + color: rgb(255,255,255); + z-index: 4; } + .mdl-layout__header .mdl-layout__drawer-button { + position: absolute; + color: rgb(255,255,255); + background-color: inherit; } + @media screen and (max-width: 850px) { + .mdl-layout__header .mdl-layout__drawer-button { + margin: 4px; } } + @media screen and (max-width: 850px) { + .mdl-layout__drawer-button { + margin: 4px; + color: rgba(0, 0, 0, 0.5); } } + @media screen and (min-width: 851px) { + .mdl-layout--fixed-drawer > .mdl-layout__drawer-button { + display: none; } } + +.mdl-layout__header { + display: -webkit-box; + display: -webkit-flex; + display: -ms-flexbox; + display: flex; + -webkit-box-orient: vertical; + -webkit-box-direction: normal; + -webkit-flex-direction: column; + -ms-flex-direction: column; + flex-direction: column; + -webkit-flex-wrap: nowrap; + -ms-flex-wrap: nowrap; + flex-wrap: nowrap; + -webkit-box-pack: start; + -webkit-justify-content: flex-start; + -ms-flex-pack: start; + justify-content: flex-start; + box-sizing: border-box; + -webkit-flex-shrink: 0; + -ms-flex-negative: 0; + flex-shrink: 0; + width: 100%; + margin: 0; + padding: 0; + border: none; + min-height: 64px; + max-height: 1000px; + z-index: 3; + background-color: rgb(63,81,181); + color: rgb(255,255,255); + box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 3px 1px -2px rgba(0, 0, 0, 0.2), 0 1px 5px 0 rgba(0, 0, 0, 0.12); + -webkit-transition-duration: 0.2s; + transition-duration: 0.2s; + -webkit-transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1); + transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1); + -webkit-transition-property: max-height, box-shadow; + transition-property: max-height, box-shadow; } + @media screen and (max-width: 850px) { + .mdl-layout__header { + min-height: 56px; } } + .mdl-layout--fixed-drawer:not(.is-small-screen) > .mdl-layout__header { + margin-left: 240px; + width: calc(100% - 240px); } + .mdl-layout__header > .mdl-layout-icon { + position: absolute; + left: 40px; + top: 16px; + height: 32px; + width: 32px; + overflow: hidden; + z-index: 3; + display: block; } + @media screen and (max-width: 850px) { + .mdl-layout__header > .mdl-layout-icon { + left: 16px; + top: 12px; } } + .mdl-layout.has-drawer .mdl-layout__header > .mdl-layout-icon { + display: none; } + .mdl-layout__header.is-compact { + max-height: 64px; } + @media screen and (max-width: 850px) { + .mdl-layout__header.is-compact { + max-height: 56px; } } + .mdl-layout__header.is-compact.has-tabs { + height: 112px; } + @media screen and (max-width: 850px) { + .mdl-layout__header.is-compact.has-tabs { + min-height: 104px; } } + @media screen and (max-width: 850px) { + .mdl-layout__header { + display: none; } + .mdl-layout--fixed-header > .mdl-layout__header { + display: -webkit-box; + display: -webkit-flex; + display: -ms-flexbox; + display: flex; } } + +.mdl-layout__header--transparent.mdl-layout__header--transparent { + background-color: transparent; + box-shadow: none; } + +.mdl-layout__header--seamed { + box-shadow: none; } + +.mdl-layout__header--scroll { + box-shadow: none; } + +.mdl-layout__header--waterfall { + box-shadow: none; + overflow: hidden; } + .mdl-layout__header--waterfall.is-casting-shadow { + box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 3px 1px -2px rgba(0, 0, 0, 0.2), 0 1px 5px 0 rgba(0, 0, 0, 0.12); } + +.mdl-layout__header-row { + display: -webkit-box; + display: -webkit-flex; + display: -ms-flexbox; + display: flex; + -webkit-box-orient: horizontal; + -webkit-box-direction: normal; + -webkit-flex-direction: row; + -ms-flex-direction: row; + flex-direction: row; + -webkit-flex-wrap: nowrap; + -ms-flex-wrap: nowrap; + flex-wrap: nowrap; + -webkit-flex-shrink: 0; + -ms-flex-negative: 0; + flex-shrink: 0; + box-sizing: border-box; + -webkit-align-self: stretch; + -ms-flex-item-align: stretch; + align-self: stretch; + -webkit-box-align: center; + -webkit-align-items: center; + -ms-flex-align: center; + align-items: center; + height: 64px; + margin: 0; + padding: 0 40px 0 80px; } + @media screen and (max-width: 850px) { + .mdl-layout__header-row { + height: 56px; + padding: 0 16px 0 72px; } } + .mdl-layout__header-row > * { + -webkit-flex-shrink: 0; + -ms-flex-negative: 0; + flex-shrink: 0; } + .mdl-layout__header--scroll .mdl-layout__header-row { + width: 100%; } + .mdl-layout__header-row .mdl-navigation { + margin: 0; + padding: 0; + height: 64px; + -webkit-box-orient: horizontal; + -webkit-box-direction: normal; + -webkit-flex-direction: row; + -ms-flex-direction: row; + flex-direction: row; + -webkit-box-align: center; + -webkit-align-items: center; + -ms-flex-align: center; + align-items: center; } + @media screen and (max-width: 850px) { + .mdl-layout__header-row .mdl-navigation { + height: 56px; } } + .mdl-layout__header-row .mdl-navigation__link { + display: block; + color: rgb(255,255,255); + line-height: 64px; + padding: 0 24px; } + @media screen and (max-width: 850px) { + .mdl-layout__header-row .mdl-navigation__link { + line-height: 56px; + padding: 0 16px; } } + +.mdl-layout__obfuscator { + background-color: transparent; + position: absolute; + top: 0; + left: 0; + height: 100%; + width: 100%; + z-index: 4; + visibility: hidden; + -webkit-transition-property: background-color; + transition-property: background-color; + -webkit-transition-duration: 0.2s; + transition-duration: 0.2s; + -webkit-transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1); + transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1); } + .mdl-layout__drawer.is-visible ~ .mdl-layout__obfuscator { + background-color: rgba(0, 0, 0, 0.5); + visibility: visible; } + +.mdl-layout__content { + -ms-flex: 0 1 auto; + display: inline-block; + overflow-y: auto; + overflow-x: hidden; + -webkit-box-flex: 1; + -webkit-flex-grow: 1; + -ms-flex-positive: 1; + flex-grow: 1; + z-index: 1; } + .mdl-layout--fixed-drawer > .mdl-layout__content { + margin-left: 240px; } + .mdl-layout__container.has-scrolling-header .mdl-layout__content { + overflow: visible; } + @media screen and (max-width: 850px) { + .mdl-layout--fixed-drawer > .mdl-layout__content { + margin-left: 0; } + .mdl-layout__container.has-scrolling-header .mdl-layout__content { + overflow-y: auto; + overflow-x: hidden; } } + +.mdl-layout__tab-bar { + height: 96px; + margin: 0; + width: calc(100% - + 112px); + padding: 0 0 0 56px; + display: -webkit-box; + display: -webkit-flex; + display: -ms-flexbox; + display: flex; + background-color: rgb(63,81,181); + overflow-y: hidden; + overflow-x: scroll; } + .mdl-layout__tab-bar::-webkit-scrollbar { + display: none; } + @media screen and (max-width: 850px) { + .mdl-layout__tab-bar { + width: calc(100% - + 60px); + padding: 0 0 0 60px; } } + .mdl-layout--fixed-tabs .mdl-layout__tab-bar { + padding: 0; + overflow: hidden; + width: 100%; } + +.mdl-layout__tab-bar-container { + position: relative; + height: 48px; + width: 100%; + border: none; + margin: 0; + z-index: 2; + -webkit-box-flex: 0; + -webkit-flex-grow: 0; + -ms-flex-positive: 0; + flex-grow: 0; + -webkit-flex-shrink: 0; + -ms-flex-negative: 0; + flex-shrink: 0; + overflow: hidden; } + .mdl-layout__container > .mdl-layout__tab-bar-container { + position: absolute; + top: 0; + left: 0; } + +.mdl-layout__tab-bar-button { + display: inline-block; + position: absolute; + top: 0; + height: 48px; + width: 56px; + z-index: 4; + text-align: center; + background-color: rgb(63,81,181); + color: transparent; + cursor: pointer; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; } + @media screen and (max-width: 850px) { + .mdl-layout__tab-bar-button { + display: none; + width: 60px; } } + .mdl-layout--fixed-tabs .mdl-layout__tab-bar-button { + display: none; } + .mdl-layout__tab-bar-button .material-icons { + line-height: 48px; } + .mdl-layout__tab-bar-button.is-active { + color: rgb(255,255,255); } + +.mdl-layout__tab-bar-left-button { + left: 0; } + +.mdl-layout__tab-bar-right-button { + right: 0; } + +.mdl-layout__tab { + margin: 0; + border: none; + padding: 0 24px 0 24px; + float: left; + position: relative; + display: block; + -webkit-box-flex: 0; + -webkit-flex-grow: 0; + -ms-flex-positive: 0; + flex-grow: 0; + -webkit-flex-shrink: 0; + -ms-flex-negative: 0; + flex-shrink: 0; + text-decoration: none; + height: 48px; + line-height: 48px; + text-align: center; + font-weight: 500; + font-size: 14px; + text-transform: uppercase; + color: rgba(255,255,255, 0.6); + overflow: hidden; } + @media screen and (max-width: 850px) { + .mdl-layout__tab { + padding: 0 12px 0 12px; } } + .mdl-layout--fixed-tabs .mdl-layout__tab { + float: none; + -webkit-box-flex: 1; + -webkit-flex-grow: 1; + -ms-flex-positive: 1; + flex-grow: 1; + padding: 0; } + .mdl-layout.is-upgraded .mdl-layout__tab.is-active { + color: rgb(255,255,255); } + .mdl-layout.is-upgraded .mdl-layout__tab.is-active::after { + height: 2px; + width: 100%; + display: block; + content: " "; + bottom: 0; + left: 0; + position: absolute; + background: rgb(255,64,129); + -webkit-animation: border-expand 0.2s cubic-bezier(0.4, 0, 0.4, 1) 0.01s alternate forwards; + animation: border-expand 0.2s cubic-bezier(0.4, 0, 0.4, 1) 0.01s alternate forwards; + -webkit-transition: all 1s cubic-bezier(0.4, 0, 1, 1); + transition: all 1s cubic-bezier(0.4, 0, 1, 1); } + .mdl-layout__tab .mdl-layout__tab-ripple-container { + display: block; + position: absolute; + height: 100%; + width: 100%; + left: 0; + top: 0; + z-index: 1; + overflow: hidden; } + .mdl-layout__tab .mdl-layout__tab-ripple-container .mdl-ripple { + background-color: rgb(255,255,255); } + +.mdl-layout__tab-panel { + display: block; } + .mdl-layout.is-upgraded .mdl-layout__tab-panel { + display: none; } + .mdl-layout.is-upgraded .mdl-layout__tab-panel.is-active { + display: block; } + +/** + * Copyright 2015 Google Inc. All Rights Reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/** + * Copyright 2015 Google Inc. All Rights Reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/*------------------------------------*\ + $CONTENTS +\*------------------------------------*/ +/** + * STYLE GUIDE VARIABLES------------------Declarations of Sass variables + * -----Typography + * -----Colors + * -----Textfield + * -----Switch + * -----Spinner + * -----Radio + * -----Menu + * -----List + * -----Layout + * -----Icon toggles + * -----Footer + * -----Column + * -----Checkbox + * -----Card + * -----Button + * -----Animation + * -----Progress + * -----Badge + * -----Shadows + * -----Grid + * -----Data table + */ +/* ========== TYPOGRAPHY ========== */ +/* We're splitting fonts into "preferred" and "performance" in order to optimize + page loading. For important text, such as the body, we want it to load + immediately and not wait for the web font load, whereas for other sections, + such as headers and titles, we're OK with things taking a bit longer to load. + We do have some optional classes and parameters in the mixins, in case you + definitely want to make sure you're using the preferred font and don't mind + the performance hit. + We should be able to improve on this once CSS Font Loading L3 becomes more + widely available. +*/ +/* ========== COLORS ========== */ +/** +* +* Material design color palettes. +* @see http://www.google.com/design/spec/style/color.html +* +**/ +/** + * Copyright 2015 Google Inc. All Rights Reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/* ========== Color Palettes ========== */ +/* colors.scss */ +/* ========== Color & Themes ========== */ +/* ========== Typography ========== */ +/* ========== Components ========== */ +/* ========== Standard Buttons ========== */ +/* ========== Icon Toggles ========== */ +/* ========== Radio Buttons ========== */ +/* ========== Ripple effect ========== */ +/* ========== Layout ========== */ +/* ========== Content Tabs ========== */ +/* ========== Checkboxes ========== */ +/* ========== Switches ========== */ +/* ========== Spinner ========== */ +/* ========== Text fields ========== */ +/* ========== Card ========== */ +/* ========== Sliders ========== */ +/* ========== Progress ========== */ +/* ========== List ========== */ +/* ========== Item ========== */ +/* ========== Dropdown menu ========== */ +/* ========== Tooltips ========== */ +/* ========== Footer ========== */ +/* TEXTFIELD */ +/* SWITCH */ +/* SPINNER */ +/* RADIO */ +/* MENU */ +/* LIST */ +/* ICONS */ +/* ICON TOGGLE */ +/* FOOTER */ +/*mega-footer*/ +/************** + * + * Sizes + * + *************/ +/*mini-footer*/ +/************** + * + * Sizes + * + *************/ +/* COLUMN LAYOUT */ +/* CHECKBOX */ +/* CARD */ +/* Card dimensions */ +/* Cover image */ +/* BUTTON */ +/** + * + * Dimensions + * + */ +/* ANIMATION */ +/* PROGRESS */ +/* BADGE */ +/* SHADOWS */ +/* GRID */ +/* DATA TABLE */ +/** + * Copyright 2015 Google Inc. All Rights Reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/* Typography */ +/* Shadows */ +/* Animations */ +.mdl-radio { + position: relative; + font-size: 16px; + line-height: 24px; + display: inline-block; + box-sizing: border-box; + margin: 0; + padding-left: 0; } + .mdl-radio.is-upgraded { + padding-left: 24px; } + +.mdl-radio__button { + line-height: 24px; } + .mdl-radio.is-upgraded .mdl-radio__button { + position: absolute; + width: 0; + height: 0; + margin: 0; + padding: 0; + opacity: 0; + -ms-appearance: none; + -moz-appearance: none; + -webkit-appearance: none; + appearance: none; + border: none; } + +.mdl-radio__outer-circle { + position: absolute; + top: 2px; + left: 0; + display: inline-block; + box-sizing: border-box; + width: 16px; + height: 16px; + margin: 0; + cursor: pointer; + border: 2px solid rgba(0,0,0, 0.54); + border-radius: 50%; + z-index: 2; } + .mdl-radio.is-checked .mdl-radio__outer-circle { + border: 2px solid rgb(63,81,181); } + .mdl-radio.is-disabled .mdl-radio__outer-circle { + border: 2px solid rgba(0,0,0, 0.26); + cursor: auto; } + +.mdl-radio__inner-circle { + position: absolute; + z-index: 1; + margin: 0; + top: 6px; + left: 4px; + box-sizing: border-box; + width: 8px; + height: 8px; + cursor: pointer; + -webkit-transition-duration: 0.28s; + transition-duration: 0.28s; + -webkit-transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1); + transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1); + -webkit-transition-property: -webkit-transform; + transition-property: transform; + -webkit-transform: scale3d(0, 0, 0); + transform: scale3d(0, 0, 0); + border-radius: 50%; + background: rgb(63,81,181); } + .mdl-radio.is-checked .mdl-radio__inner-circle { + -webkit-transform: scale3d(1, 1, 1); + transform: scale3d(1, 1, 1); } + .mdl-radio.is-disabled .mdl-radio__inner-circle { + background: rgba(0,0,0, 0.26); + cursor: auto; } + .mdl-radio.is-focused .mdl-radio__inner-circle { + box-shadow: 0 0 0px 10px rgba(0, 0, 0, 0.1); } + +.mdl-radio__label { + cursor: pointer; } + .mdl-radio.is-disabled .mdl-radio__label { + color: rgba(0,0,0, 0.26); + cursor: auto; } + +.mdl-radio__ripple-container { + position: absolute; + z-index: 2; + top: -9px; + left: -13px; + box-sizing: border-box; + width: 42px; + height: 42px; + border-radius: 50%; + cursor: pointer; + overflow: hidden; + -webkit-mask-image: -webkit-radial-gradient(circle, white, black); } + .mdl-radio__ripple-container .mdl-ripple { + background: rgb(63,81,181); } + .mdl-radio.is-disabled .mdl-radio__ripple-container { + cursor: auto; } + .mdl-radio.is-disabled .mdl-radio__ripple-container .mdl-ripple { + background: transparent; } + +/** + * Copyright 2015 Google Inc. All Rights Reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/** + * Copyright 2015 Google Inc. All Rights Reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/*------------------------------------*\ + $CONTENTS +\*------------------------------------*/ +/** + * STYLE GUIDE VARIABLES------------------Declarations of Sass variables + * -----Typography + * -----Colors + * -----Textfield + * -----Switch + * -----Spinner + * -----Radio + * -----Menu + * -----List + * -----Layout + * -----Icon toggles + * -----Footer + * -----Column + * -----Checkbox + * -----Card + * -----Button + * -----Animation + * -----Progress + * -----Badge + * -----Shadows + * -----Grid + * -----Data table + */ +/* ========== TYPOGRAPHY ========== */ +/* We're splitting fonts into "preferred" and "performance" in order to optimize + page loading. For important text, such as the body, we want it to load + immediately and not wait for the web font load, whereas for other sections, + such as headers and titles, we're OK with things taking a bit longer to load. + We do have some optional classes and parameters in the mixins, in case you + definitely want to make sure you're using the preferred font and don't mind + the performance hit. + We should be able to improve on this once CSS Font Loading L3 becomes more + widely available. +*/ +/* ========== COLORS ========== */ +/** +* +* Material design color palettes. +* @see http://www.google.com/design/spec/style/color.html +* +**/ +/** + * Copyright 2015 Google Inc. All Rights Reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/* ========== Color Palettes ========== */ +/* colors.scss */ +/* ========== Color & Themes ========== */ +/* ========== Typography ========== */ +/* ========== Components ========== */ +/* ========== Standard Buttons ========== */ +/* ========== Icon Toggles ========== */ +/* ========== Radio Buttons ========== */ +/* ========== Ripple effect ========== */ +/* ========== Layout ========== */ +/* ========== Content Tabs ========== */ +/* ========== Checkboxes ========== */ +/* ========== Switches ========== */ +/* ========== Spinner ========== */ +/* ========== Text fields ========== */ +/* ========== Card ========== */ +/* ========== Sliders ========== */ +/* ========== Progress ========== */ +/* ========== List ========== */ +/* ========== Item ========== */ +/* ========== Dropdown menu ========== */ +/* ========== Tooltips ========== */ +/* ========== Footer ========== */ +/* TEXTFIELD */ +/* SWITCH */ +/* SPINNER */ +/* RADIO */ +/* MENU */ +/* LIST */ +/* ICONS */ +/* ICON TOGGLE */ +/* FOOTER */ +/*mega-footer*/ +/************** + * + * Sizes + * + *************/ +/*mini-footer*/ +/************** + * + * Sizes + * + *************/ +/* COLUMN LAYOUT */ +/* CHECKBOX */ +/* CARD */ +/* Card dimensions */ +/* Cover image */ +/* BUTTON */ +/** + * + * Dimensions + * + */ +/* ANIMATION */ +/* PROGRESS */ +/* BADGE */ +/* SHADOWS */ +/* GRID */ +/* DATA TABLE */ +_:-ms-input-placeholder, :root .mdl-slider.mdl-slider.is-upgraded { + -ms-appearance: none; + height: 32px; + margin: 0; } + +.mdl-slider { + width: calc(100% - 40px); + margin: 0 20px; } + .mdl-slider.is-upgraded { + -webkit-appearance: none; + -moz-appearance: none; + appearance: none; + height: 2px; + background: transparent; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; + outline: 0; + padding: 0; + color: rgb(63,81,181); + -webkit-align-self: center; + -ms-flex-item-align: center; + align-self: center; + z-index: 1; + /**************************** Tracks ****************************/ + /**************************** Thumbs ****************************/ + /**************************** 0-value ****************************/ + /**************************** Disabled ****************************/ } + .mdl-slider.is-upgraded::-moz-focus-outer { + border: 0; } + .mdl-slider.is-upgraded::-ms-tooltip { + display: none; } + .mdl-slider.is-upgraded::-webkit-slider-runnable-track { + background: transparent; } + .mdl-slider.is-upgraded::-moz-range-track { + background: transparent; + border: none; } + .mdl-slider.is-upgraded::-ms-track { + background: none; + color: transparent; + height: 2px; + width: 100%; + border: none; } + .mdl-slider.is-upgraded::-ms-fill-lower { + padding: 0; + background: linear-gradient(to right, transparent, transparent 16px, rgb(63,81,181) 16px, rgb(63,81,181) 0); } + .mdl-slider.is-upgraded::-ms-fill-upper { + padding: 0; + background: linear-gradient(to left, transparent, transparent 16px, rgba(0,0,0, 0.26) 16px, rgba(0,0,0, 0.26) 0); } + .mdl-slider.is-upgraded::-webkit-slider-thumb { + -webkit-appearance: none; + width: 12px; + height: 12px; + box-sizing: border-box; + border-radius: 50%; + background: rgb(63,81,181); + border: none; + -webkit-transition: -webkit-transform 0.18s cubic-bezier(0.4, 0, 0.2, 1), border 0.18s cubic-bezier(0.4, 0, 0.2, 1), box-shadow 0.18s cubic-bezier(0.4, 0, 0.2, 1), background 0.28s cubic-bezier(0.4, 0, 0.2, 1); + transition: transform 0.18s cubic-bezier(0.4, 0, 0.2, 1), border 0.18s cubic-bezier(0.4, 0, 0.2, 1), box-shadow 0.18s cubic-bezier(0.4, 0, 0.2, 1), background 0.28s cubic-bezier(0.4, 0, 0.2, 1); } + .mdl-slider.is-upgraded::-moz-range-thumb { + -moz-appearance: none; + width: 12px; + height: 12px; + box-sizing: border-box; + border-radius: 50%; + background-image: none; + background: rgb(63,81,181); + border: none; } + .mdl-slider.is-upgraded:focus:not(:active)::-webkit-slider-thumb { + box-shadow: 0 0 0 10px rgba(63,81,181, 0.26); } + .mdl-slider.is-upgraded:focus:not(:active)::-moz-range-thumb { + box-shadow: 0 0 0 10px rgba(63,81,181, 0.26); } + .mdl-slider.is-upgraded:active::-webkit-slider-thumb { + background-image: none; + background: rgb(63,81,181); + -webkit-transform: scale(1.5); + transform: scale(1.5); } + .mdl-slider.is-upgraded:active::-moz-range-thumb { + background-image: none; + background: rgb(63,81,181); + transform: scale(1.5); } + .mdl-slider.is-upgraded::-ms-thumb { + width: 32px; + height: 32px; + border: none; + border-radius: 50%; + background: rgb(63,81,181); + -ms-transform: scale(0.375); + transform: scale(0.375); + transition: transform 0.18s cubic-bezier(0.4, 0, 0.2, 1), background 0.28s cubic-bezier(0.4, 0, 0.2, 1); } + .mdl-slider.is-upgraded:focus:not(:active)::-ms-thumb { + background: radial-gradient(circle closest-side, rgb(63,81,181) 0%, rgb(63,81,181) 37.5%, rgba(63,81,181, 0.26) 37.5%, rgba(63,81,181, 0.26) 100%); + -ms-transform: scale(1); + transform: scale(1); } + .mdl-slider.is-upgraded:active::-ms-thumb { + background: rgb(63,81,181); + -ms-transform: scale(0.5625); + transform: scale(0.5625); } + .mdl-slider.is-upgraded.is-lowest-value::-webkit-slider-thumb { + border: 2px solid rgba(0,0,0, 0.26); + background: transparent; } + .mdl-slider.is-upgraded.is-lowest-value::-moz-range-thumb { + border: 2px solid rgba(0,0,0, 0.26); + background: transparent; } + .mdl-slider.is-upgraded.is-lowest-value ~ .mdl-slider__background-flex > .mdl-slider__background-upper { + left: 6px; } + .mdl-slider.is-upgraded.is-lowest-value:focus:not(:active)::-webkit-slider-thumb { + border: 1.8px solid rgba(0,0,0, 0.26); + -webkit-transform: scale(1.33); + transform: scale(1.33); + box-shadow: none; } + .mdl-slider.is-upgraded.is-lowest-value:focus:not(:active)::-moz-range-thumb { + border: 1.8px solid rgba(0,0,0, 0.26); + transform: scale(1.33); + box-shadow: none; } + .mdl-slider.is-upgraded.is-lowest-value:focus:not(:active) ~ .mdl-slider__background-flex > .mdl-slider__background-upper { + left: 8px; } + .mdl-slider.is-upgraded.is-lowest-value:active::-webkit-slider-thumb { + border: 1.5px solid rgba(0,0,0, 0.26); + -webkit-transform: scale(1.5); + transform: scale(1.5); } + .mdl-slider.is-upgraded.is-lowest-value:active ~ .mdl-slider__background-flex > .mdl-slider__background-upper { + left: 9px; } + .mdl-slider.is-upgraded.is-lowest-value:active::-moz-range-thumb { + border: 1.5px solid rgba(0,0,0, 0.26); + transform: scale(1.5); } + .mdl-slider.is-upgraded.is-lowest-value::-ms-thumb { + background: radial-gradient(circle closest-side, transparent 0%, transparent 66.67%, rgba(0,0,0, 0.26) 66.67%, rgba(0,0,0, 0.26) 100%); } + .mdl-slider.is-upgraded.is-lowest-value:focus:not(:active)::-ms-thumb { + -ms-transform: scale(0.5); + transform: scale(0.5); + background: radial-gradient(circle closest-side, transparent 0%, transparent 75%, rgba(0,0,0, 0.26) 75%, rgba(0,0,0, 0.26) 100%); } + .mdl-slider.is-upgraded.is-lowest-value:active::-ms-thumb { + -ms-transform: scale(0.5625); + transform: scale(0.5625); + background: radial-gradient(circle closest-side, transparent 0%, transparent 77.78%, rgba(0,0,0, 0.26) 77.78%, rgba(0,0,0, 0.26) 100%); } + .mdl-slider.is-upgraded.is-lowest-value::-ms-fill-lower { + background: transparent; } + .mdl-slider.is-upgraded.is-lowest-value::-ms-fill-upper { + margin-left: 6px; } + .mdl-slider.is-upgraded.is-lowest-value:focus:not(:active)::-ms-fill-upper { + margin-left: 8px; } + .mdl-slider.is-upgraded.is-lowest-value:active::-ms-fill-upper { + margin-left: 9px; } + .mdl-slider.is-upgraded:disabled:focus::-webkit-slider-thumb, .mdl-slider.is-upgraded:disabled:active::-webkit-slider-thumb, .mdl-slider.is-upgraded:disabled::-webkit-slider-thumb { + -webkit-transform: scale(0.667); + transform: scale(0.667); + background: rgba(0,0,0, 0.26); } + .mdl-slider.is-upgraded:disabled:focus::-moz-range-thumb, .mdl-slider.is-upgraded:disabled:active::-moz-range-thumb, .mdl-slider.is-upgraded:disabled::-moz-range-thumb { + transform: scale(0.667); + background: rgba(0,0,0, 0.26); } + .mdl-slider.is-upgraded:disabled ~ .mdl-slider__background-flex > .mdl-slider__background-lower { + background-color: rgba(0,0,0, 0.26); + left: -6px; } + .mdl-slider.is-upgraded:disabled ~ .mdl-slider__background-flex > .mdl-slider__background-upper { + left: 6px; } + .mdl-slider.is-upgraded.is-lowest-value:disabled:focus::-webkit-slider-thumb, .mdl-slider.is-upgraded.is-lowest-value:disabled:active::-webkit-slider-thumb, .mdl-slider.is-upgraded.is-lowest-value:disabled::-webkit-slider-thumb { + border: 3px solid rgba(0,0,0, 0.26); + background: transparent; + -webkit-transform: scale(0.667); + transform: scale(0.667); } + .mdl-slider.is-upgraded.is-lowest-value:disabled:focus::-moz-range-thumb, .mdl-slider.is-upgraded.is-lowest-value:disabled:active::-moz-range-thumb, .mdl-slider.is-upgraded.is-lowest-value:disabled::-moz-range-thumb { + border: 3px solid rgba(0,0,0, 0.26); + background: transparent; + transform: scale(0.667); } + .mdl-slider.is-upgraded.is-lowest-value:disabled:active ~ .mdl-slider__background-flex > .mdl-slider__background-upper { + left: 6px; } + .mdl-slider.is-upgraded:disabled:focus::-ms-thumb, .mdl-slider.is-upgraded:disabled:active::-ms-thumb, .mdl-slider.is-upgraded:disabled::-ms-thumb { + -ms-transform: scale(0.25); + transform: scale(0.25); + background: rgba(0,0,0, 0.26); } + .mdl-slider.is-upgraded.is-lowest-value:disabled:focus::-ms-thumb, .mdl-slider.is-upgraded.is-lowest-value:disabled:active::-ms-thumb, .mdl-slider.is-upgraded.is-lowest-value:disabled::-ms-thumb { + -ms-transform: scale(0.25); + transform: scale(0.25); + background: radial-gradient(circle closest-side, transparent 0%, transparent 50%, rgba(0,0,0, 0.26) 50%, rgba(0,0,0, 0.26) 100%); } + .mdl-slider.is-upgraded:disabled::-ms-fill-lower { + margin-right: 6px; + background: linear-gradient(to right, transparent, transparent 25px, rgba(0,0,0, 0.26) 25px, rgba(0,0,0, 0.26) 0); } + .mdl-slider.is-upgraded:disabled::-ms-fill-upper { + margin-left: 6px; } + .mdl-slider.is-upgraded.is-lowest-value:disabled:active::-ms-fill-upper { + margin-left: 6px; } + +.mdl-slider__ie-container { + height: 18px; + overflow: visible; + border: none; + margin: none; + padding: none; } + +.mdl-slider__container { + height: 18px; + position: relative; + background: none; + display: -webkit-box; + display: -webkit-flex; + display: -ms-flexbox; + display: flex; + -webkit-box-orient: horizontal; + -webkit-box-direction: normal; + -webkit-flex-direction: row; + -ms-flex-direction: row; + flex-direction: row; } + +.mdl-slider__background-flex { + background: transparent; + position: absolute; + height: 2px; + width: calc(100% - 52px); + top: 50%; + left: 0; + margin: 0 26px; + display: -webkit-box; + display: -webkit-flex; + display: -ms-flexbox; + display: flex; + overflow: hidden; + border: 0; + padding: 0; + -webkit-transform: translate(0, -1px); + -ms-transform: translate(0, -1px); + transform: translate(0, -1px); } + +.mdl-slider__background-lower { + background: rgb(63,81,181); + -webkit-box-flex: 0; + -webkit-flex: 0; + -ms-flex: 0; + flex: 0; + position: relative; + border: 0; + padding: 0; } + +.mdl-slider__background-upper { + background: rgba(0,0,0, 0.26); + -webkit-box-flex: 0; + -webkit-flex: 0; + -ms-flex: 0; + flex: 0; + position: relative; + border: 0; + padding: 0; + -webkit-transition: left 0.18s cubic-bezier(0.4, 0, 0.2, 1); + transition: left 0.18s cubic-bezier(0.4, 0, 0.2, 1); } + +/** + * Copyright 2015 Google Inc. All Rights Reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/** + * Copyright 2015 Google Inc. All Rights Reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/*------------------------------------*\ + $CONTENTS +\*------------------------------------*/ +/** + * STYLE GUIDE VARIABLES------------------Declarations of Sass variables + * -----Typography + * -----Colors + * -----Textfield + * -----Switch + * -----Spinner + * -----Radio + * -----Menu + * -----List + * -----Layout + * -----Icon toggles + * -----Footer + * -----Column + * -----Checkbox + * -----Card + * -----Button + * -----Animation + * -----Progress + * -----Badge + * -----Shadows + * -----Grid + * -----Data table + */ +/* ========== TYPOGRAPHY ========== */ +/* We're splitting fonts into "preferred" and "performance" in order to optimize + page loading. For important text, such as the body, we want it to load + immediately and not wait for the web font load, whereas for other sections, + such as headers and titles, we're OK with things taking a bit longer to load. + We do have some optional classes and parameters in the mixins, in case you + definitely want to make sure you're using the preferred font and don't mind + the performance hit. + We should be able to improve on this once CSS Font Loading L3 becomes more + widely available. +*/ +/* ========== COLORS ========== */ +/** +* +* Material design color palettes. +* @see http://www.google.com/design/spec/style/color.html +* +**/ +/** + * Copyright 2015 Google Inc. All Rights Reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/* ========== Color Palettes ========== */ +/* colors.scss */ +/* ========== Color & Themes ========== */ +/* ========== Typography ========== */ +/* ========== Components ========== */ +/* ========== Standard Buttons ========== */ +/* ========== Icon Toggles ========== */ +/* ========== Radio Buttons ========== */ +/* ========== Ripple effect ========== */ +/* ========== Layout ========== */ +/* ========== Content Tabs ========== */ +/* ========== Checkboxes ========== */ +/* ========== Switches ========== */ +/* ========== Spinner ========== */ +/* ========== Text fields ========== */ +/* ========== Card ========== */ +/* ========== Sliders ========== */ +/* ========== Progress ========== */ +/* ========== List ========== */ +/* ========== Item ========== */ +/* ========== Dropdown menu ========== */ +/* ========== Tooltips ========== */ +/* ========== Footer ========== */ +/* TEXTFIELD */ +/* SWITCH */ +/* SPINNER */ +/* RADIO */ +/* MENU */ +/* LIST */ +/* ICONS */ +/* ICON TOGGLE */ +/* FOOTER */ +/*mega-footer*/ +/************** + * + * Sizes + * + *************/ +/*mini-footer*/ +/************** + * + * Sizes + * + *************/ +/* COLUMN LAYOUT */ +/* CHECKBOX */ +/* CARD */ +/* Card dimensions */ +/* Cover image */ +/* BUTTON */ +/** + * + * Dimensions + * + */ +/* ANIMATION */ +/* PROGRESS */ +/* BADGE */ +/* SHADOWS */ +/* GRID */ +/* DATA TABLE */ +.mdl-spinner { + display: inline-block; + position: relative; + width: 28px; + height: 28px; } + .mdl-spinner:not(.is-upgraded).is-active:after { + content: "Loading..."; } + .mdl-spinner.is-upgraded.is-active { + -webkit-animation: mdl-spinner__container-rotate 1568.2352941176ms linear infinite; + animation: mdl-spinner__container-rotate 1568.2352941176ms linear infinite; } + +@-webkit-keyframes mdl-spinner__container-rotate { + to { + -webkit-transform: rotate(360deg); + transform: rotate(360deg); } } + +@keyframes mdl-spinner__container-rotate { + to { + -webkit-transform: rotate(360deg); + transform: rotate(360deg); } } + +.mdl-spinner__layer { + position: absolute; + width: 100%; + height: 100%; + opacity: 0; } + +.mdl-spinner__layer-1 { + border-color: rgb(66,165,245); } + .mdl-spinner--single-color .mdl-spinner__layer-1 { + border-color: rgb(63,81,181); } + .mdl-spinner.is-active .mdl-spinner__layer-1 { + -webkit-animation: mdl-spinner__fill-unfill-rotate 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both, mdl-spinner__layer-1-fade-in-out 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both; + animation: mdl-spinner__fill-unfill-rotate 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both, mdl-spinner__layer-1-fade-in-out 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both; } + +.mdl-spinner__layer-2 { + border-color: rgb(244,67,54); } + .mdl-spinner--single-color .mdl-spinner__layer-2 { + border-color: rgb(63,81,181); } + .mdl-spinner.is-active .mdl-spinner__layer-2 { + -webkit-animation: mdl-spinner__fill-unfill-rotate 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both, mdl-spinner__layer-2-fade-in-out 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both; + animation: mdl-spinner__fill-unfill-rotate 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both, mdl-spinner__layer-2-fade-in-out 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both; } + +.mdl-spinner__layer-3 { + border-color: rgb(253,216,53); } + .mdl-spinner--single-color .mdl-spinner__layer-3 { + border-color: rgb(63,81,181); } + .mdl-spinner.is-active .mdl-spinner__layer-3 { + -webkit-animation: mdl-spinner__fill-unfill-rotate 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both, mdl-spinner__layer-3-fade-in-out 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both; + animation: mdl-spinner__fill-unfill-rotate 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both, mdl-spinner__layer-3-fade-in-out 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both; } + +.mdl-spinner__layer-4 { + border-color: rgb(76,175,80); } + .mdl-spinner--single-color .mdl-spinner__layer-4 { + border-color: rgb(63,81,181); } + .mdl-spinner.is-active .mdl-spinner__layer-4 { + -webkit-animation: mdl-spinner__fill-unfill-rotate 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both, mdl-spinner__layer-4-fade-in-out 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both; + animation: mdl-spinner__fill-unfill-rotate 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both, mdl-spinner__layer-4-fade-in-out 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both; } + +@-webkit-keyframes mdl-spinner__fill-unfill-rotate { + 12.5% { + -webkit-transform: rotate(135deg); + transform: rotate(135deg); } + + 25% { + -webkit-transform: rotate(270deg); + transform: rotate(270deg); } + + 37.5% { + -webkit-transform: rotate(405deg); + transform: rotate(405deg); } + + 50% { + -webkit-transform: rotate(540deg); + transform: rotate(540deg); } + + 62.5% { + -webkit-transform: rotate(675deg); + transform: rotate(675deg); } + + 75% { + -webkit-transform: rotate(810deg); + transform: rotate(810deg); } + + 87.5% { + -webkit-transform: rotate(945deg); + transform: rotate(945deg); } + + to { + -webkit-transform: rotate(1080deg); + transform: rotate(1080deg); } } + +@keyframes mdl-spinner__fill-unfill-rotate { + 12.5% { + -webkit-transform: rotate(135deg); + transform: rotate(135deg); } + + 25% { + -webkit-transform: rotate(270deg); + transform: rotate(270deg); } + + 37.5% { + -webkit-transform: rotate(405deg); + transform: rotate(405deg); } + + 50% { + -webkit-transform: rotate(540deg); + transform: rotate(540deg); } + + 62.5% { + -webkit-transform: rotate(675deg); + transform: rotate(675deg); } + + 75% { + -webkit-transform: rotate(810deg); + transform: rotate(810deg); } + + 87.5% { + -webkit-transform: rotate(945deg); + transform: rotate(945deg); } + + to { + -webkit-transform: rotate(1080deg); + transform: rotate(1080deg); } } + +/** +* HACK: Even though the intention is to have the current .mdl-spinner__layer-N +* at `opacity: 1`, we set it to `opacity: 0.99` instead since this forces Chrome +* to do proper subpixel rendering for the elements being animated. This is +* especially visible in Chrome 39 on Ubuntu 14.04. See: +* +* - https://github.com/Polymer/paper-spinner/issues/9 +* - https://code.google.com/p/chromium/issues/detail?id=436255 +*/ +@-webkit-keyframes mdl-spinner__layer-1-fade-in-out { + from { + opacity: 0.99; } + + 25% { + opacity: 0.99; } + + 26% { + opacity: 0; } + + 89% { + opacity: 0; } + + 90% { + opacity: 0.99; } + + 100% { + opacity: 0.99; } } +@keyframes mdl-spinner__layer-1-fade-in-out { + from { + opacity: 0.99; } + + 25% { + opacity: 0.99; } + + 26% { + opacity: 0; } + + 89% { + opacity: 0; } + + 90% { + opacity: 0.99; } + + 100% { + opacity: 0.99; } } + +@-webkit-keyframes mdl-spinner__layer-2-fade-in-out { + from { + opacity: 0; } + + 15% { + opacity: 0; } + + 25% { + opacity: 0.99; } + + 50% { + opacity: 0.99; } + + 51% { + opacity: 0; } } + +@keyframes mdl-spinner__layer-2-fade-in-out { + from { + opacity: 0; } + + 15% { + opacity: 0; } + + 25% { + opacity: 0.99; } + + 50% { + opacity: 0.99; } + + 51% { + opacity: 0; } } + +@-webkit-keyframes mdl-spinner__layer-3-fade-in-out { + from { + opacity: 0; } + + 40% { + opacity: 0; } + + 50% { + opacity: 0.99; } + + 75% { + opacity: 0.99; } + + 76% { + opacity: 0; } } + +@keyframes mdl-spinner__layer-3-fade-in-out { + from { + opacity: 0; } + + 40% { + opacity: 0; } + + 50% { + opacity: 0.99; } + + 75% { + opacity: 0.99; } + + 76% { + opacity: 0; } } + +@-webkit-keyframes mdl-spinner__layer-4-fade-in-out { + from { + opacity: 0; } + + 65% { + opacity: 0; } + + 75% { + opacity: 0.99; } + + 90% { + opacity: 0.99; } + + 100% { + opacity: 0; } } + +@keyframes mdl-spinner__layer-4-fade-in-out { + from { + opacity: 0; } + + 65% { + opacity: 0; } + + 75% { + opacity: 0.99; } + + 90% { + opacity: 0.99; } + + 100% { + opacity: 0; } } + +/** +* Patch the gap that appear between the two adjacent +* div.mdl-spinner__circle-clipper while the spinner is rotating +* (appears on Chrome 38, Safari 7.1, and IE 11). +* +* Update: the gap no longer appears on Chrome when .mdl-spinner__layer-N's +* opacity is 0.99, but still does on Safari and IE. +*/ +.mdl-spinner__gap-patch { + position: absolute; + box-sizing: border-box; + top: 0; + left: 45%; + width: 10%; + height: 100%; + overflow: hidden; + border-color: inherit; } + .mdl-spinner__gap-patch .mdl-spinner__circle { + width: 1000%; + left: -450%; } + +.mdl-spinner__circle-clipper { + display: inline-block; + position: relative; + width: 50%; + height: 100%; + overflow: hidden; + border-color: inherit; } + .mdl-spinner__circle-clipper .mdl-spinner__circle { + width: 200%; } + +.mdl-spinner__circle { + box-sizing: border-box; + height: 100%; + border-width: 3px; + border-style: solid; + border-color: inherit; + border-bottom-color: transparent !important; + border-radius: 50%; + -webkit-animation: none; + animation: none; + position: absolute; + top: 0; + right: 0; + bottom: 0; + left: 0; } + .mdl-spinner__left .mdl-spinner__circle { + border-right-color: transparent !important; + -webkit-transform: rotate(129deg); + -ms-transform: rotate(129deg); + transform: rotate(129deg); } + .mdl-spinner.is-active .mdl-spinner__left .mdl-spinner__circle { + -webkit-animation: mdl-spinner__left-spin 1333ms cubic-bezier(0.4, 0, 0.2, 1) infinite both; + animation: mdl-spinner__left-spin 1333ms cubic-bezier(0.4, 0, 0.2, 1) infinite both; } + .mdl-spinner__right .mdl-spinner__circle { + left: -100%; + border-left-color: transparent !important; + -webkit-transform: rotate(-129deg); + -ms-transform: rotate(-129deg); + transform: rotate(-129deg); } + .mdl-spinner.is-active .mdl-spinner__right .mdl-spinner__circle { + -webkit-animation: mdl-spinner__right-spin 1333ms cubic-bezier(0.4, 0, 0.2, 1) infinite both; + animation: mdl-spinner__right-spin 1333ms cubic-bezier(0.4, 0, 0.2, 1) infinite both; } + +@-webkit-keyframes mdl-spinner__left-spin { + from { + -webkit-transform: rotate(130deg); + transform: rotate(130deg); } + + 50% { + -webkit-transform: rotate(-5deg); + transform: rotate(-5deg); } + + to { + -webkit-transform: rotate(130deg); + transform: rotate(130deg); } } + +@keyframes mdl-spinner__left-spin { + from { + -webkit-transform: rotate(130deg); + transform: rotate(130deg); } + + 50% { + -webkit-transform: rotate(-5deg); + transform: rotate(-5deg); } + + to { + -webkit-transform: rotate(130deg); + transform: rotate(130deg); } } + +@-webkit-keyframes mdl-spinner__right-spin { + from { + -webkit-transform: rotate(-130deg); + transform: rotate(-130deg); } + + 50% { + -webkit-transform: rotate(5deg); + transform: rotate(5deg); } + + to { + -webkit-transform: rotate(-130deg); + transform: rotate(-130deg); } } + +@keyframes mdl-spinner__right-spin { + from { + -webkit-transform: rotate(-130deg); + transform: rotate(-130deg); } + + 50% { + -webkit-transform: rotate(5deg); + transform: rotate(5deg); } + + to { + -webkit-transform: rotate(-130deg); + transform: rotate(-130deg); } } + +/** + * Copyright 2015 Google Inc. All Rights Reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/** + * Copyright 2015 Google Inc. All Rights Reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/*------------------------------------*\ + $CONTENTS +\*------------------------------------*/ +/** + * STYLE GUIDE VARIABLES------------------Declarations of Sass variables + * -----Typography + * -----Colors + * -----Textfield + * -----Switch + * -----Spinner + * -----Radio + * -----Menu + * -----List + * -----Layout + * -----Icon toggles + * -----Footer + * -----Column + * -----Checkbox + * -----Card + * -----Button + * -----Animation + * -----Progress + * -----Badge + * -----Shadows + * -----Grid + * -----Data table + */ +/* ========== TYPOGRAPHY ========== */ +/* We're splitting fonts into "preferred" and "performance" in order to optimize + page loading. For important text, such as the body, we want it to load + immediately and not wait for the web font load, whereas for other sections, + such as headers and titles, we're OK with things taking a bit longer to load. + We do have some optional classes and parameters in the mixins, in case you + definitely want to make sure you're using the preferred font and don't mind + the performance hit. + We should be able to improve on this once CSS Font Loading L3 becomes more + widely available. +*/ +/* ========== COLORS ========== */ +/** +* +* Material design color palettes. +* @see http://www.google.com/design/spec/style/color.html +* +**/ +/** + * Copyright 2015 Google Inc. All Rights Reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/* ========== Color Palettes ========== */ +/* colors.scss */ +/* ========== Color & Themes ========== */ +/* ========== Typography ========== */ +/* ========== Components ========== */ +/* ========== Standard Buttons ========== */ +/* ========== Icon Toggles ========== */ +/* ========== Radio Buttons ========== */ +/* ========== Ripple effect ========== */ +/* ========== Layout ========== */ +/* ========== Content Tabs ========== */ +/* ========== Checkboxes ========== */ +/* ========== Switches ========== */ +/* ========== Spinner ========== */ +/* ========== Text fields ========== */ +/* ========== Card ========== */ +/* ========== Sliders ========== */ +/* ========== Progress ========== */ +/* ========== List ========== */ +/* ========== Item ========== */ +/* ========== Dropdown menu ========== */ +/* ========== Tooltips ========== */ +/* ========== Footer ========== */ +/* TEXTFIELD */ +/* SWITCH */ +/* SPINNER */ +/* RADIO */ +/* MENU */ +/* LIST */ +/* ICONS */ +/* ICON TOGGLE */ +/* FOOTER */ +/*mega-footer*/ +/************** + * + * Sizes + * + *************/ +/*mini-footer*/ +/************** + * + * Sizes + * + *************/ +/* COLUMN LAYOUT */ +/* CHECKBOX */ +/* CARD */ +/* Card dimensions */ +/* Cover image */ +/* BUTTON */ +/** + * + * Dimensions + * + */ +/* ANIMATION */ +/* PROGRESS */ +/* BADGE */ +/* SHADOWS */ +/* GRID */ +/* DATA TABLE */ +/** + * Copyright 2015 Google Inc. All Rights Reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/* Typography */ +/* Shadows */ +/* Animations */ +.mdl-switch { + position: relative; + z-index: 1; + vertical-align: middle; + display: inline-block; + box-sizing: border-box; + width: 100%; + height: 24px; + margin: 0; + padding: 0; + overflow: visible; + -webkit-touch-callout: none; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; } + .mdl-switch.is-upgraded { + padding-left: 28px; } + +.mdl-switch__input { + line-height: 24px; } + .mdl-switch.is-upgraded .mdl-switch__input { + position: absolute; + width: 0; + height: 0; + margin: 0; + padding: 0; + opacity: 0; + -ms-appearance: none; + -moz-appearance: none; + -webkit-appearance: none; + appearance: none; + border: none; } + +.mdl-switch__track { + background: rgba(0,0,0, 0.26); + position: absolute; + left: 0; + top: 5px; + height: 14px; + width: 36px; + border-radius: 14px; + cursor: pointer; } + .mdl-switch.is-checked .mdl-switch__track { + background: rgba(63,81,181, 0.5); } + .mdl-switch.is-disabled .mdl-switch__track { + background: rgba(0,0,0, 0.12); + cursor: auto; } + +.mdl-switch__thumb { + background: rgb(250,250,250); + position: absolute; + left: 0; + top: 2px; + height: 20px; + width: 20px; + border-radius: 50%; + cursor: pointer; + box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 3px 1px -2px rgba(0, 0, 0, 0.2), 0 1px 5px 0 rgba(0, 0, 0, 0.12); + -webkit-transition-duration: 0.28s; + transition-duration: 0.28s; + -webkit-transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1); + transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1); + -webkit-transition-property: left; + transition-property: left; } + .mdl-switch.is-checked .mdl-switch__thumb { + background: rgb(63,81,181); + left: 16px; + box-shadow: 0 3px 4px 0 rgba(0, 0, 0, 0.14), 0 3px 3px -2px rgba(0, 0, 0, 0.2), 0 1px 8px 0 rgba(0, 0, 0, 0.12); } + .mdl-switch.is-disabled .mdl-switch__thumb { + background: rgb(189,189,189); + cursor: auto; } + +.mdl-switch__focus-helper { + position: absolute; + top: 50%; + left: 50%; + -webkit-transform: translate(-4px, -4px); + -ms-transform: translate(-4px, -4px); + transform: translate(-4px, -4px); + display: inline-block; + box-sizing: border-box; + width: 8px; + height: 8px; + border-radius: 50%; + background-color: transparent; } + .mdl-switch.is-focused .mdl-switch__focus-helper { + box-shadow: 0 0 0px 20px rgba(0, 0, 0, 0.1); + background-color: rgba(0, 0, 0, 0.1); } + .mdl-switch.is-focused.is-checked .mdl-switch__focus-helper { + box-shadow: 0 0 0px 20px rgba(63,81,181, 0.26); + background-color: rgba(63,81,181, 0.26); } + +.mdl-switch__label { + position: relative; + cursor: pointer; + font-size: 16px; + line-height: 24px; + margin: 0; + left: 24px; } + .mdl-switch.is-disabled .mdl-switch__label { + color: rgb(189,189,189); + cursor: auto; } + +.mdl-switch__ripple-container { + position: absolute; + z-index: 2; + top: -12px; + left: -14px; + box-sizing: border-box; + width: 48px; + height: 48px; + border-radius: 50%; + cursor: pointer; + overflow: hidden; + -webkit-mask-image: -webkit-radial-gradient(circle, white, black); + -webkit-transition-duration: 0.4s; + transition-duration: 0.4s; + -webkit-transition-timing-function: step-end; + transition-timing-function: step-end; + -webkit-transition-property: left; + transition-property: left; } + .mdl-switch__ripple-container .mdl-ripple { + background: rgb(63,81,181); } + .mdl-switch.is-disabled .mdl-switch__ripple-container { + cursor: auto; } + .mdl-switch.is-disabled .mdl-switch__ripple-container .mdl-ripple { + background: transparent; } + .mdl-switch.is-checked .mdl-switch__ripple-container { + cursor: auto; + left: 2px; } + +/** + * Copyright 2015 Google Inc. All Rights Reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/** + * Copyright 2015 Google Inc. All Rights Reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/*------------------------------------*\ + $CONTENTS +\*------------------------------------*/ +/** + * STYLE GUIDE VARIABLES------------------Declarations of Sass variables + * -----Typography + * -----Colors + * -----Textfield + * -----Switch + * -----Spinner + * -----Radio + * -----Menu + * -----List + * -----Layout + * -----Icon toggles + * -----Footer + * -----Column + * -----Checkbox + * -----Card + * -----Button + * -----Animation + * -----Progress + * -----Badge + * -----Shadows + * -----Grid + * -----Data table + */ +/* ========== TYPOGRAPHY ========== */ +/* We're splitting fonts into "preferred" and "performance" in order to optimize + page loading. For important text, such as the body, we want it to load + immediately and not wait for the web font load, whereas for other sections, + such as headers and titles, we're OK with things taking a bit longer to load. + We do have some optional classes and parameters in the mixins, in case you + definitely want to make sure you're using the preferred font and don't mind + the performance hit. + We should be able to improve on this once CSS Font Loading L3 becomes more + widely available. +*/ +/* ========== COLORS ========== */ +/** +* +* Material design color palettes. +* @see http://www.google.com/design/spec/style/color.html +* +**/ +/** + * Copyright 2015 Google Inc. All Rights Reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/* ========== Color Palettes ========== */ +/* colors.scss */ +/* ========== Color & Themes ========== */ +/* ========== Typography ========== */ +/* ========== Components ========== */ +/* ========== Standard Buttons ========== */ +/* ========== Icon Toggles ========== */ +/* ========== Radio Buttons ========== */ +/* ========== Ripple effect ========== */ +/* ========== Layout ========== */ +/* ========== Content Tabs ========== */ +/* ========== Checkboxes ========== */ +/* ========== Switches ========== */ +/* ========== Spinner ========== */ +/* ========== Text fields ========== */ +/* ========== Card ========== */ +/* ========== Sliders ========== */ +/* ========== Progress ========== */ +/* ========== List ========== */ +/* ========== Item ========== */ +/* ========== Dropdown menu ========== */ +/* ========== Tooltips ========== */ +/* ========== Footer ========== */ +/* TEXTFIELD */ +/* SWITCH */ +/* SPINNER */ +/* RADIO */ +/* MENU */ +/* LIST */ +/* ICONS */ +/* ICON TOGGLE */ +/* FOOTER */ +/*mega-footer*/ +/************** + * + * Sizes + * + *************/ +/*mini-footer*/ +/************** + * + * Sizes + * + *************/ +/* COLUMN LAYOUT */ +/* CHECKBOX */ +/* CARD */ +/* Card dimensions */ +/* Cover image */ +/* BUTTON */ +/** + * + * Dimensions + * + */ +/* ANIMATION */ +/* PROGRESS */ +/* BADGE */ +/* SHADOWS */ +/* GRID */ +/* DATA TABLE */ +.mdl-tabs { + display: block; + width: 100%; } + +.mdl-tabs__tab-bar { + display: -webkit-box; + display: -webkit-flex; + display: -ms-flexbox; + display: flex; + -webkit-box-orient: horizontal; + -webkit-box-direction: normal; + -webkit-flex-direction: row; + -ms-flex-direction: row; + flex-direction: row; + -webkit-box-pack: center; + -webkit-justify-content: center; + -ms-flex-pack: center; + justify-content: center; + -webkit-align-content: space-between; + -ms-flex-line-pack: justify; + align-content: space-between; + -webkit-box-align: start; + -webkit-align-items: flex-start; + -ms-flex-align: start; + align-items: flex-start; + height: 48px; + padding: 0 0 0 0; + margin: 0; + border-bottom: 1px solid rgb(224,224,224); } + +.mdl-tabs__tab { + margin: 0; + border: none; + padding: 0 24px 0 24px; + float: left; + position: relative; + display: block; + color: red; + text-decoration: none; + height: 48px; + line-height: 48px; + text-align: center; + font-weight: 500; + font-size: 14px; + text-transform: uppercase; + color: rgba(0,0,0, 0.54); + overflow: hidden; } + .mdl-tabs.is-upgraded .mdl-tabs__tab.is-active { + color: rgba(0,0,0, 0.87); } + .mdl-tabs.is-upgraded .mdl-tabs__tab.is-active:after { + height: 2px; + width: 100%; + display: block; + content: " "; + bottom: 0px; + left: 0px; + position: absolute; + background: rgb(63,81,181); + -webkit-animation: border-expand 0.2s cubic-bezier(0.4, 0, 0.4, 1) 0.01s alternate forwards; + animation: border-expand 0.2s cubic-bezier(0.4, 0, 0.4, 1) 0.01s alternate forwards; + -webkit-transition: all 1s cubic-bezier(0.4, 0, 1, 1); + transition: all 1s cubic-bezier(0.4, 0, 1, 1); } + .mdl-tabs__tab .mdl-tabs__ripple-container { + display: block; + position: absolute; + height: 100%; + width: 100%; + left: 0px; + top: 0px; + z-index: 1; + overflow: hidden; } + .mdl-tabs__tab .mdl-tabs__ripple-container .mdl-ripple { + background: rgb(63,81,181); } + +.mdl-tabs__panel { + display: block; } + .mdl-tabs.is-upgraded .mdl-tabs__panel { + display: none; } + .mdl-tabs.is-upgraded .mdl-tabs__panel.is-active { + display: block; } + +@-webkit-keyframes border-expand { + 0% { + opacity: 0; + width: 0; } + + 100% { + opacity: 1; + width: 100%; } } + +@keyframes border-expand { + 0% { + opacity: 0; + width: 0; } + + 100% { + opacity: 1; + width: 100%; } } + +/** + * Copyright 2015 Google Inc. All Rights Reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/** + * Copyright 2015 Google Inc. All Rights Reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/*------------------------------------*\ + $CONTENTS +\*------------------------------------*/ +/** + * STYLE GUIDE VARIABLES------------------Declarations of Sass variables + * -----Typography + * -----Colors + * -----Textfield + * -----Switch + * -----Spinner + * -----Radio + * -----Menu + * -----List + * -----Layout + * -----Icon toggles + * -----Footer + * -----Column + * -----Checkbox + * -----Card + * -----Button + * -----Animation + * -----Progress + * -----Badge + * -----Shadows + * -----Grid + * -----Data table + */ +/* ========== TYPOGRAPHY ========== */ +/* We're splitting fonts into "preferred" and "performance" in order to optimize + page loading. For important text, such as the body, we want it to load + immediately and not wait for the web font load, whereas for other sections, + such as headers and titles, we're OK with things taking a bit longer to load. + We do have some optional classes and parameters in the mixins, in case you + definitely want to make sure you're using the preferred font and don't mind + the performance hit. + We should be able to improve on this once CSS Font Loading L3 becomes more + widely available. +*/ +/* ========== COLORS ========== */ +/** +* +* Material design color palettes. +* @see http://www.google.com/design/spec/style/color.html +* +**/ +/** + * Copyright 2015 Google Inc. All Rights Reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/* ========== Color Palettes ========== */ +/* colors.scss */ +/* ========== Color & Themes ========== */ +/* ========== Typography ========== */ +/* ========== Components ========== */ +/* ========== Standard Buttons ========== */ +/* ========== Icon Toggles ========== */ +/* ========== Radio Buttons ========== */ +/* ========== Ripple effect ========== */ +/* ========== Layout ========== */ +/* ========== Content Tabs ========== */ +/* ========== Checkboxes ========== */ +/* ========== Switches ========== */ +/* ========== Spinner ========== */ +/* ========== Text fields ========== */ +/* ========== Card ========== */ +/* ========== Sliders ========== */ +/* ========== Progress ========== */ +/* ========== List ========== */ +/* ========== Item ========== */ +/* ========== Dropdown menu ========== */ +/* ========== Tooltips ========== */ +/* ========== Footer ========== */ +/* TEXTFIELD */ +/* SWITCH */ +/* SPINNER */ +/* RADIO */ +/* MENU */ +/* LIST */ +/* ICONS */ +/* ICON TOGGLE */ +/* FOOTER */ +/*mega-footer*/ +/************** + * + * Sizes + * + *************/ +/*mini-footer*/ +/************** + * + * Sizes + * + *************/ +/* COLUMN LAYOUT */ +/* CHECKBOX */ +/* CARD */ +/* Card dimensions */ +/* Cover image */ +/* BUTTON */ +/** + * + * Dimensions + * + */ +/* ANIMATION */ +/* PROGRESS */ +/* BADGE */ +/* SHADOWS */ +/* GRID */ +/* DATA TABLE */ +/** + * Copyright 2015 Google Inc. All Rights Reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/* Typography */ +/* Shadows */ +/* Animations */ +.mdl-textfield { + position: relative; + font-size: 16px; + display: inline-block; + box-sizing: border-box; + width: 300px; + margin: 0; + padding: 20px 0; } + .mdl-textfield .mdl-button { + position: absolute; + bottom: 20px; } + +.mdl-textfield--align-right { + text-align: right; } + +.mdl-textfield--full-width { + width: 100%; } + +.mdl-textfield--expandable { + min-width: 32px; + width: auto; + min-height: 32px; } + +.mdl-textfield__input { + border: none; + border-bottom: 1px solid rgba(0,0,0, 0.12); + display: block; + font-size: 16px; + margin: 0; + padding: 4px 0; + width: 100%; + background: 16px; + text-align: left; + color: inherit; } + .mdl-textfield.is-focused .mdl-textfield__input { + outline: none; } + .mdl-textfield.is-invalid .mdl-textfield__input { + border-color: rgb(222, 50, 38); + box-shadow: none; } + .mdl-textfield.is-disabled .mdl-textfield__input { + background-color: transparent; + border-bottom: 1px dotted rgba(0,0,0, 0.12); } + +.mdl-textfield__label { + bottom: 0; + color: rgba(0,0,0, 0.26); + font-size: 16px; + left: 0; + right: 0; + pointer-events: none; + position: absolute; + top: 24px; + width: 100%; + overflow: hidden; + white-space: nowrap; + text-align: left; } + .mdl-textfield.is-dirty .mdl-textfield__label { + visibility: hidden; } + .mdl-textfield--floating-label .mdl-textfield__label { + -webkit-transition-duration: 0.2s; + transition-duration: 0.2s; + -webkit-transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1); + transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1); } + .mdl-textfield--floating-label.is-focused .mdl-textfield__label, .mdl-textfield--floating-label.is-dirty .mdl-textfield__label { + color: rgb(63,81,181); + font-size: 12px; + top: 4px; + visibility: visible; } + .mdl-textfield--floating-label.is-focused .mdl-textfield__expandable-holder .mdl-textfield__label, .mdl-textfield--floating-label.is-dirty .mdl-textfield__expandable-holder .mdl-textfield__label { + top: -16px; } + .mdl-textfield--floating-label.is-invalid .mdl-textfield__label { + color: rgb(222, 50, 38); + font-size: 12px; } + .mdl-textfield__label:after { + background-color: rgb(63,81,181); + bottom: 20px; + content: ''; + height: 2px; + left: 45%; + position: absolute; + -webkit-transition-duration: 0.2s; + transition-duration: 0.2s; + -webkit-transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1); + transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1); + visibility: hidden; + width: 10px; } + .mdl-textfield.is-focused .mdl-textfield__label:after { + left: 0; + visibility: visible; + width: 100%; } + .mdl-textfield.is-invalid .mdl-textfield__label:after { + background-color: rgb(222, 50, 38); } + +.mdl-textfield__error { + color: rgb(222, 50, 38); + position: absolute; + font-size: 12px; + margin-top: 3px; + visibility: hidden; } + .mdl-textfield.is-invalid .mdl-textfield__error { + visibility: visible; } + +.mdl-textfield__expandable-holder { + display: inline-block; + position: relative; + margin-left: 32px; + -webkit-transition-duration: 0.2s; + transition-duration: 0.2s; + -webkit-transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1); + transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1); + display: inline-block; + max-width: 0.1px; } + .mdl-textfield.is-focused .mdl-textfield__expandable-holder, .mdl-textfield.is-dirty .mdl-textfield__expandable-holder { + max-width: 600px; } + .mdl-textfield__expandable-holder .mdl-textfield__label:after { + bottom: 0; } + +/** + * Copyright 2015 Google Inc. All Rights Reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/** + * Copyright 2015 Google Inc. All Rights Reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/*------------------------------------*\ + $CONTENTS +\*------------------------------------*/ +/** + * STYLE GUIDE VARIABLES------------------Declarations of Sass variables + * -----Typography + * -----Colors + * -----Textfield + * -----Switch + * -----Spinner + * -----Radio + * -----Menu + * -----List + * -----Layout + * -----Icon toggles + * -----Footer + * -----Column + * -----Checkbox + * -----Card + * -----Button + * -----Animation + * -----Progress + * -----Badge + * -----Shadows + * -----Grid + * -----Data table + */ +/* ========== TYPOGRAPHY ========== */ +/* We're splitting fonts into "preferred" and "performance" in order to optimize + page loading. For important text, such as the body, we want it to load + immediately and not wait for the web font load, whereas for other sections, + such as headers and titles, we're OK with things taking a bit longer to load. + We do have some optional classes and parameters in the mixins, in case you + definitely want to make sure you're using the preferred font and don't mind + the performance hit. + We should be able to improve on this once CSS Font Loading L3 becomes more + widely available. +*/ +/* ========== COLORS ========== */ +/** +* +* Material design color palettes. +* @see http://www.google.com/design/spec/style/color.html +* +**/ +/** + * Copyright 2015 Google Inc. All Rights Reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/* ========== Color Palettes ========== */ +/* colors.scss */ +/* ========== Color & Themes ========== */ +/* ========== Typography ========== */ +/* ========== Components ========== */ +/* ========== Standard Buttons ========== */ +/* ========== Icon Toggles ========== */ +/* ========== Radio Buttons ========== */ +/* ========== Ripple effect ========== */ +/* ========== Layout ========== */ +/* ========== Content Tabs ========== */ +/* ========== Checkboxes ========== */ +/* ========== Switches ========== */ +/* ========== Spinner ========== */ +/* ========== Text fields ========== */ +/* ========== Card ========== */ +/* ========== Sliders ========== */ +/* ========== Progress ========== */ +/* ========== List ========== */ +/* ========== Item ========== */ +/* ========== Dropdown menu ========== */ +/* ========== Tooltips ========== */ +/* ========== Footer ========== */ +/* TEXTFIELD */ +/* SWITCH */ +/* SPINNER */ +/* RADIO */ +/* MENU */ +/* LIST */ +/* ICONS */ +/* ICON TOGGLE */ +/* FOOTER */ +/*mega-footer*/ +/************** + * + * Sizes + * + *************/ +/*mini-footer*/ +/************** + * + * Sizes + * + *************/ +/* COLUMN LAYOUT */ +/* CHECKBOX */ +/* CARD */ +/* Card dimensions */ +/* Cover image */ +/* BUTTON */ +/** + * + * Dimensions + * + */ +/* ANIMATION */ +/* PROGRESS */ +/* BADGE */ +/* SHADOWS */ +/* GRID */ +/* DATA TABLE */ +.mdl-tooltip { + -webkit-transform: scale(0); + -ms-transform: scale(0); + transform: scale(0); + -webkit-transform-origin: top center; + -ms-transform-origin: top center; + transform-origin: top center; + will-change: transform; + z-index: 999; + background: rgba(97,97,97, 0.9); + border-radius: 2px; + color: rgb(255,255,255); + display: inline-block; + font-size: 10px; + font-weight: 500; + line-height: 14px; + max-width: 170px; + position: fixed; + top: -500px; + left: -500px; + padding: 8px; + text-align: center; } + +.mdl-tooltip.is-active { + -webkit-animation: pulse 200ms cubic-bezier(0, 0, 0.2, 1) forwards; + animation: pulse 200ms cubic-bezier(0, 0, 0.2, 1) forwards; } + +.mdl-tooltip--large { + line-height: 14px; + font-size: 14px; + padding: 16px; } + +@-webkit-keyframes pulse { + 0% { + -webkit-transform: scale(0); + transform: scale(0); + opacity: 0; } + + 50% { + -webkit-transform: scale(0.99); + transform: scale(0.99); } + + 100% { + -webkit-transform: scale(1); + transform: scale(1); + opacity: 1; + visibility: visible; } } + +@keyframes pulse { + 0% { + -webkit-transform: scale(0); + transform: scale(0); + opacity: 0; } + + 50% { + -webkit-transform: scale(0.99); + transform: scale(0.99); } + + 100% { + -webkit-transform: scale(1); + transform: scale(1); + opacity: 1; + visibility: visible; } } + +/** + * Copyright 2015 Google Inc. All Rights Reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/** + * Copyright 2015 Google Inc. All Rights Reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/*------------------------------------*\ + $CONTENTS +\*------------------------------------*/ +/** + * STYLE GUIDE VARIABLES------------------Declarations of Sass variables + * -----Typography + * -----Colors + * -----Textfield + * -----Switch + * -----Spinner + * -----Radio + * -----Menu + * -----List + * -----Layout + * -----Icon toggles + * -----Footer + * -----Column + * -----Checkbox + * -----Card + * -----Button + * -----Animation + * -----Progress + * -----Badge + * -----Shadows + * -----Grid + * -----Data table + */ +/* ========== TYPOGRAPHY ========== */ +/* We're splitting fonts into "preferred" and "performance" in order to optimize + page loading. For important text, such as the body, we want it to load + immediately and not wait for the web font load, whereas for other sections, + such as headers and titles, we're OK with things taking a bit longer to load. + We do have some optional classes and parameters in the mixins, in case you + definitely want to make sure you're using the preferred font and don't mind + the performance hit. + We should be able to improve on this once CSS Font Loading L3 becomes more + widely available. +*/ +/* ========== COLORS ========== */ +/** +* +* Material design color palettes. +* @see http://www.google.com/design/spec/style/color.html +* +**/ +/** + * Copyright 2015 Google Inc. All Rights Reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/* ========== Color Palettes ========== */ +/* colors.scss */ +/* ========== Color & Themes ========== */ +/* ========== Typography ========== */ +/* ========== Components ========== */ +/* ========== Standard Buttons ========== */ +/* ========== Icon Toggles ========== */ +/* ========== Radio Buttons ========== */ +/* ========== Ripple effect ========== */ +/* ========== Layout ========== */ +/* ========== Content Tabs ========== */ +/* ========== Checkboxes ========== */ +/* ========== Switches ========== */ +/* ========== Spinner ========== */ +/* ========== Text fields ========== */ +/* ========== Card ========== */ +/* ========== Sliders ========== */ +/* ========== Progress ========== */ +/* ========== List ========== */ +/* ========== Item ========== */ +/* ========== Dropdown menu ========== */ +/* ========== Tooltips ========== */ +/* ========== Footer ========== */ +/* TEXTFIELD */ +/* SWITCH */ +/* SPINNER */ +/* RADIO */ +/* MENU */ +/* LIST */ +/* ICONS */ +/* ICON TOGGLE */ +/* FOOTER */ +/*mega-footer*/ +/************** + * + * Sizes + * + *************/ +/*mini-footer*/ +/************** + * + * Sizes + * + *************/ +/* COLUMN LAYOUT */ +/* CHECKBOX */ +/* CARD */ +/* Card dimensions */ +/* Cover image */ +/* BUTTON */ +/** + * + * Dimensions + * + */ +/* ANIMATION */ +/* PROGRESS */ +/* BADGE */ +/* SHADOWS */ +/* GRID */ +/* DATA TABLE */ +.mdl-grid { + display: -webkit-box; + display: -webkit-flex; + display: -ms-flexbox; + display: flex; + -webkit-flex-flow: row wrap; + -ms-flex-flow: row wrap; + flex-flow: row wrap; + margin: 0 auto 0 auto; + -webkit-box-align: stretch; + -webkit-align-items: stretch; + -ms-flex-align: stretch; + align-items: stretch; } + .mdl-grid.mdl-grid--no-spacing { + padding: 0; } + +.mdl-cell { + box-sizing: border-box; } + +.mdl-cell--top { + -webkit-align-self: flex-start; + -ms-flex-item-align: start; + align-self: flex-start; } + +.mdl-cell--middle { + -webkit-align-self: center; + -ms-flex-item-align: center; + align-self: center; } + +.mdl-cell--bottom { + -webkit-align-self: flex-end; + -ms-flex-item-align: end; + align-self: flex-end; } + +.mdl-cell--stretch { + -webkit-align-self: stretch; + -ms-flex-item-align: stretch; + align-self: stretch; } + +.mdl-grid.mdl-grid--no-spacing > .mdl-cell { + margin: 0; } + +@media (max-width: 479px) { + .mdl-grid { + padding: 8px; } + .mdl-cell { + margin: 8px; + width: calc(100% - 16px); } + .mdl-grid--no-spacing > .mdl-cell { + width: 100%; } + .mdl-cell--hide-phone { + display: none !important; } + .mdl-cell--1-col { + width: calc(25% - 16px); } + .mdl-grid--no-spacing > .mdl-cell--1-col { + width: 25%; } + .mdl-cell--1-col-phone.mdl-cell--1-col-phone { + width: calc(25% - 16px); } + .mdl-grid--no-spacing > .mdl-cell--1-col-phone.mdl-cell--1-col-phone { + width: 25%; } + .mdl-cell--2-col { + width: calc(50% - 16px); } + .mdl-grid--no-spacing > .mdl-cell--2-col { + width: 50%; } + .mdl-cell--2-col-phone.mdl-cell--2-col-phone { + width: calc(50% - 16px); } + .mdl-grid--no-spacing > .mdl-cell--2-col-phone.mdl-cell--2-col-phone { + width: 50%; } + .mdl-cell--3-col { + width: calc(75% - 16px); } + .mdl-grid--no-spacing > .mdl-cell--3-col { + width: 75%; } + .mdl-cell--3-col-phone.mdl-cell--3-col-phone { + width: calc(75% - 16px); } + .mdl-grid--no-spacing > .mdl-cell--3-col-phone.mdl-cell--3-col-phone { + width: 75%; } + .mdl-cell--4-col { + width: calc(100% - 16px); } + .mdl-grid--no-spacing > .mdl-cell--4-col { + width: 100%; } + .mdl-cell--4-col-phone.mdl-cell--4-col-phone { + width: calc(100% - 16px); } + .mdl-grid--no-spacing > .mdl-cell--4-col-phone.mdl-cell--4-col-phone { + width: 100%; } + .mdl-cell--5-col { + width: calc(100% - 16px); } + .mdl-grid--no-spacing > .mdl-cell--5-col { + width: 100%; } + .mdl-cell--5-col-phone.mdl-cell--5-col-phone { + width: calc(100% - 16px); } + .mdl-grid--no-spacing > .mdl-cell--5-col-phone.mdl-cell--5-col-phone { + width: 100%; } + .mdl-cell--6-col { + width: calc(100% - 16px); } + .mdl-grid--no-spacing > .mdl-cell--6-col { + width: 100%; } + .mdl-cell--6-col-phone.mdl-cell--6-col-phone { + width: calc(100% - 16px); } + .mdl-grid--no-spacing > .mdl-cell--6-col-phone.mdl-cell--6-col-phone { + width: 100%; } + .mdl-cell--7-col { + width: calc(100% - 16px); } + .mdl-grid--no-spacing > .mdl-cell--7-col { + width: 100%; } + .mdl-cell--7-col-phone.mdl-cell--7-col-phone { + width: calc(100% - 16px); } + .mdl-grid--no-spacing > .mdl-cell--7-col-phone.mdl-cell--7-col-phone { + width: 100%; } + .mdl-cell--8-col { + width: calc(100% - 16px); } + .mdl-grid--no-spacing > .mdl-cell--8-col { + width: 100%; } + .mdl-cell--8-col-phone.mdl-cell--8-col-phone { + width: calc(100% - 16px); } + .mdl-grid--no-spacing > .mdl-cell--8-col-phone.mdl-cell--8-col-phone { + width: 100%; } + .mdl-cell--9-col { + width: calc(100% - 16px); } + .mdl-grid--no-spacing > .mdl-cell--9-col { + width: 100%; } + .mdl-cell--9-col-phone.mdl-cell--9-col-phone { + width: calc(100% - 16px); } + .mdl-grid--no-spacing > .mdl-cell--9-col-phone.mdl-cell--9-col-phone { + width: 100%; } + .mdl-cell--10-col { + width: calc(100% - 16px); } + .mdl-grid--no-spacing > .mdl-cell--10-col { + width: 100%; } + .mdl-cell--10-col-phone.mdl-cell--10-col-phone { + width: calc(100% - 16px); } + .mdl-grid--no-spacing > .mdl-cell--10-col-phone.mdl-cell--10-col-phone { + width: 100%; } + .mdl-cell--11-col { + width: calc(100% - 16px); } + .mdl-grid--no-spacing > .mdl-cell--11-col { + width: 100%; } + .mdl-cell--11-col-phone.mdl-cell--11-col-phone { + width: calc(100% - 16px); } + .mdl-grid--no-spacing > .mdl-cell--11-col-phone.mdl-cell--11-col-phone { + width: 100%; } + .mdl-cell--12-col { + width: calc(100% - 16px); } + .mdl-grid--no-spacing > .mdl-cell--12-col { + width: 100%; } + .mdl-cell--12-col-phone.mdl-cell--12-col-phone { + width: calc(100% - 16px); } + .mdl-grid--no-spacing > .mdl-cell--12-col-phone.mdl-cell--12-col-phone { + width: 100%; } } + +@media (min-width: 480px) and (max-width: 839px) { + .mdl-grid { + padding: 8px; } + .mdl-cell { + margin: 8px; + width: calc(50% - 16px); } + .mdl-grid--no-spacing > .mdl-cell { + width: 50%; } + .mdl-cell--hide-tablet { + display: none !important; } + .mdl-cell--1-col { + width: calc(12.5% - 16px); } + .mdl-grid--no-spacing > .mdl-cell--1-col { + width: 12.5%; } + .mdl-cell--1-col-tablet.mdl-cell--1-col-tablet { + width: calc(12.5% - 16px); } + .mdl-grid--no-spacing > .mdl-cell--1-col-tablet.mdl-cell--1-col-tablet { + width: 12.5%; } + .mdl-cell--2-col { + width: calc(25% - 16px); } + .mdl-grid--no-spacing > .mdl-cell--2-col { + width: 25%; } + .mdl-cell--2-col-tablet.mdl-cell--2-col-tablet { + width: calc(25% - 16px); } + .mdl-grid--no-spacing > .mdl-cell--2-col-tablet.mdl-cell--2-col-tablet { + width: 25%; } + .mdl-cell--3-col { + width: calc(37.5% - 16px); } + .mdl-grid--no-spacing > .mdl-cell--3-col { + width: 37.5%; } + .mdl-cell--3-col-tablet.mdl-cell--3-col-tablet { + width: calc(37.5% - 16px); } + .mdl-grid--no-spacing > .mdl-cell--3-col-tablet.mdl-cell--3-col-tablet { + width: 37.5%; } + .mdl-cell--4-col { + width: calc(50% - 16px); } + .mdl-grid--no-spacing > .mdl-cell--4-col { + width: 50%; } + .mdl-cell--4-col-tablet.mdl-cell--4-col-tablet { + width: calc(50% - 16px); } + .mdl-grid--no-spacing > .mdl-cell--4-col-tablet.mdl-cell--4-col-tablet { + width: 50%; } + .mdl-cell--5-col { + width: calc(62.5% - 16px); } + .mdl-grid--no-spacing > .mdl-cell--5-col { + width: 62.5%; } + .mdl-cell--5-col-tablet.mdl-cell--5-col-tablet { + width: calc(62.5% - 16px); } + .mdl-grid--no-spacing > .mdl-cell--5-col-tablet.mdl-cell--5-col-tablet { + width: 62.5%; } + .mdl-cell--6-col { + width: calc(75% - 16px); } + .mdl-grid--no-spacing > .mdl-cell--6-col { + width: 75%; } + .mdl-cell--6-col-tablet.mdl-cell--6-col-tablet { + width: calc(75% - 16px); } + .mdl-grid--no-spacing > .mdl-cell--6-col-tablet.mdl-cell--6-col-tablet { + width: 75%; } + .mdl-cell--7-col { + width: calc(87.5% - 16px); } + .mdl-grid--no-spacing > .mdl-cell--7-col { + width: 87.5%; } + .mdl-cell--7-col-tablet.mdl-cell--7-col-tablet { + width: calc(87.5% - 16px); } + .mdl-grid--no-spacing > .mdl-cell--7-col-tablet.mdl-cell--7-col-tablet { + width: 87.5%; } + .mdl-cell--8-col { + width: calc(100% - 16px); } + .mdl-grid--no-spacing > .mdl-cell--8-col { + width: 100%; } + .mdl-cell--8-col-tablet.mdl-cell--8-col-tablet { + width: calc(100% - 16px); } + .mdl-grid--no-spacing > .mdl-cell--8-col-tablet.mdl-cell--8-col-tablet { + width: 100%; } + .mdl-cell--9-col { + width: calc(100% - 16px); } + .mdl-grid--no-spacing > .mdl-cell--9-col { + width: 100%; } + .mdl-cell--9-col-tablet.mdl-cell--9-col-tablet { + width: calc(100% - 16px); } + .mdl-grid--no-spacing > .mdl-cell--9-col-tablet.mdl-cell--9-col-tablet { + width: 100%; } + .mdl-cell--10-col { + width: calc(100% - 16px); } + .mdl-grid--no-spacing > .mdl-cell--10-col { + width: 100%; } + .mdl-cell--10-col-tablet.mdl-cell--10-col-tablet { + width: calc(100% - 16px); } + .mdl-grid--no-spacing > .mdl-cell--10-col-tablet.mdl-cell--10-col-tablet { + width: 100%; } + .mdl-cell--11-col { + width: calc(100% - 16px); } + .mdl-grid--no-spacing > .mdl-cell--11-col { + width: 100%; } + .mdl-cell--11-col-tablet.mdl-cell--11-col-tablet { + width: calc(100% - 16px); } + .mdl-grid--no-spacing > .mdl-cell--11-col-tablet.mdl-cell--11-col-tablet { + width: 100%; } + .mdl-cell--12-col { + width: calc(100% - 16px); } + .mdl-grid--no-spacing > .mdl-cell--12-col { + width: 100%; } + .mdl-cell--12-col-tablet.mdl-cell--12-col-tablet { + width: calc(100% - 16px); } + .mdl-grid--no-spacing > .mdl-cell--12-col-tablet.mdl-cell--12-col-tablet { + width: 100%; } } + +@media (min-width: 840px) { + .mdl-grid { + padding: 8px; } + .mdl-cell { + margin: 8px; + width: calc(33.33333% - 16px); } + .mdl-grid--no-spacing > .mdl-cell { + width: 33.33333%; } + .mdl-cell--hide-desktop { + display: none !important; } + .mdl-cell--1-col { + width: calc(8.33333% - 16px); } + .mdl-grid--no-spacing > .mdl-cell--1-col { + width: 8.33333%; } + .mdl-cell--1-col-desktop.mdl-cell--1-col-desktop { + width: calc(8.33333% - 16px); } + .mdl-grid--no-spacing > .mdl-cell--1-col-desktop.mdl-cell--1-col-desktop { + width: 8.33333%; } + .mdl-cell--2-col { + width: calc(16.66667% - 16px); } + .mdl-grid--no-spacing > .mdl-cell--2-col { + width: 16.66667%; } + .mdl-cell--2-col-desktop.mdl-cell--2-col-desktop { + width: calc(16.66667% - 16px); } + .mdl-grid--no-spacing > .mdl-cell--2-col-desktop.mdl-cell--2-col-desktop { + width: 16.66667%; } + .mdl-cell--3-col { + width: calc(25% - 16px); } + .mdl-grid--no-spacing > .mdl-cell--3-col { + width: 25%; } + .mdl-cell--3-col-desktop.mdl-cell--3-col-desktop { + width: calc(25% - 16px); } + .mdl-grid--no-spacing > .mdl-cell--3-col-desktop.mdl-cell--3-col-desktop { + width: 25%; } + .mdl-cell--4-col { + width: calc(33.33333% - 16px); } + .mdl-grid--no-spacing > .mdl-cell--4-col { + width: 33.33333%; } + .mdl-cell--4-col-desktop.mdl-cell--4-col-desktop { + width: calc(33.33333% - 16px); } + .mdl-grid--no-spacing > .mdl-cell--4-col-desktop.mdl-cell--4-col-desktop { + width: 33.33333%; } + .mdl-cell--5-col { + width: calc(41.66667% - 16px); } + .mdl-grid--no-spacing > .mdl-cell--5-col { + width: 41.66667%; } + .mdl-cell--5-col-desktop.mdl-cell--5-col-desktop { + width: calc(41.66667% - 16px); } + .mdl-grid--no-spacing > .mdl-cell--5-col-desktop.mdl-cell--5-col-desktop { + width: 41.66667%; } + .mdl-cell--6-col { + width: calc(50% - 16px); } + .mdl-grid--no-spacing > .mdl-cell--6-col { + width: 50%; } + .mdl-cell--6-col-desktop.mdl-cell--6-col-desktop { + width: calc(50% - 16px); } + .mdl-grid--no-spacing > .mdl-cell--6-col-desktop.mdl-cell--6-col-desktop { + width: 50%; } + .mdl-cell--7-col { + width: calc(58.33333% - 16px); } + .mdl-grid--no-spacing > .mdl-cell--7-col { + width: 58.33333%; } + .mdl-cell--7-col-desktop.mdl-cell--7-col-desktop { + width: calc(58.33333% - 16px); } + .mdl-grid--no-spacing > .mdl-cell--7-col-desktop.mdl-cell--7-col-desktop { + width: 58.33333%; } + .mdl-cell--8-col { + width: calc(66.66667% - 16px); } + .mdl-grid--no-spacing > .mdl-cell--8-col { + width: 66.66667%; } + .mdl-cell--8-col-desktop.mdl-cell--8-col-desktop { + width: calc(66.66667% - 16px); } + .mdl-grid--no-spacing > .mdl-cell--8-col-desktop.mdl-cell--8-col-desktop { + width: 66.66667%; } + .mdl-cell--9-col { + width: calc(75% - 16px); } + .mdl-grid--no-spacing > .mdl-cell--9-col { + width: 75%; } + .mdl-cell--9-col-desktop.mdl-cell--9-col-desktop { + width: calc(75% - 16px); } + .mdl-grid--no-spacing > .mdl-cell--9-col-desktop.mdl-cell--9-col-desktop { + width: 75%; } + .mdl-cell--10-col { + width: calc(83.33333% - 16px); } + .mdl-grid--no-spacing > .mdl-cell--10-col { + width: 83.33333%; } + .mdl-cell--10-col-desktop.mdl-cell--10-col-desktop { + width: calc(83.33333% - 16px); } + .mdl-grid--no-spacing > .mdl-cell--10-col-desktop.mdl-cell--10-col-desktop { + width: 83.33333%; } + .mdl-cell--11-col { + width: calc(91.66667% - 16px); } + .mdl-grid--no-spacing > .mdl-cell--11-col { + width: 91.66667%; } + .mdl-cell--11-col-desktop.mdl-cell--11-col-desktop { + width: calc(91.66667% - 16px); } + .mdl-grid--no-spacing > .mdl-cell--11-col-desktop.mdl-cell--11-col-desktop { + width: 91.66667%; } + .mdl-cell--12-col { + width: calc(100% - 16px); } + .mdl-grid--no-spacing > .mdl-cell--12-col { + width: 100%; } + .mdl-cell--12-col-desktop.mdl-cell--12-col-desktop { + width: calc(100% - 16px); } + .mdl-grid--no-spacing > .mdl-cell--12-col-desktop.mdl-cell--12-col-desktop { + width: 100%; } } + +body { + margin: 0px; } + +.styleguide-demo h1 { + margin: 48px 24px 0 24px; } + +.styleguide-demo h1:after { + content: ''; + display: block; + width: 100%; + border-bottom: 1px solid rgba(0, 0, 0, 0.5); + margin-top: 24px; } + +.styleguide-demo { + opacity: 0; + -webkit-transition: opacity 0.6s ease; + transition: opacity 0.6s ease; } + +.styleguide-masthead { + height: 256px; + background: rgb(33,33,33); + padding: 115px 16px 0; } + +.styleguide-container { + position: relative; + max-width: 960px; + width: 100%; } + +.styleguide-title { + color: #fff; + bottom: auto; + position: relative; + font-size: 56px; + font-weight: 300; + line-height: 1; + letter-spacing: -0.02em; } + .styleguide-title:after { + border-bottom: 0px; } + .styleguide-title span { + font-weight: 300; } + +.mdl-styleguide .mdl-layout__drawer .mdl-navigation__link { + padding: 10px 24px; } + +.demosLoaded .styleguide-demo { + opacity: 1; } + +iframe { + display: block; + width: 100%; + border: none; } + +iframe.heightSet { + overflow: hidden; } + +.demo-wrapper { + margin: 24px; } + .demo-wrapper iframe { + border: 1px solid rgba(0, 0, 0, 0.5); } + diff --git a/public/fonts/glyphicons-halflings-regular.eot b/public/fonts/glyphicons-halflings-regular.eot new file mode 100644 index 0000000000000000000000000000000000000000..b93a4953fff68df523aa7656497ee339d6026d64 GIT binary patch literal 20127 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 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/public/fonts/glyphicons-halflings-regular.ttf b/public/fonts/glyphicons-halflings-regular.ttf new file mode 100644 index 0000000000000000000000000000000000000000..1413fc609ab6f21774de0cb7e01360095584f65b GIT binary patch literal 45404 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 G`u_lkUM?>H literal 0 HcmV?d00001 diff --git a/public/fonts/glyphicons-halflings-regular.woff2 b/public/fonts/glyphicons-halflings-regular.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..64539b54c3751a6d9adb44c8e3a45ba5a73b77f0 GIT binary patch literal 18028 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 literal 0 HcmV?d00001 diff --git a/public/images/fire.png b/public/images/fire.png new file mode 100644 index 0000000000000000000000000000000000000000..6faa556d97dc5dd57957163fa1ff870d25c48457 GIT binary patch literal 98107 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
7MD~lSk|qIakp=9Oa_GZ88K0FDw`L?C0Dgf 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%0Dd2Pk&^R#uMOs0@6% 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 uGXa%KrBbO>DwRs5QmIrbl}e@hK>Y)E40-~$ + + + + + + + Social + + + + + + + + + + + + + \ No newline at end of file diff --git a/public/js/application.js b/public/js/application.js new file mode 100644 index 0000000..8ea87ce --- /dev/null +++ b/public/js/application.js @@ -0,0 +1,19 @@ +define(['chaplin'], function(Chaplin) { + 'use strict'; + + // The application object + // Choose a meaningful name for your application + var Application = Chaplin.Application.extend({ + // Set your application name here so the document title is set to + // “Controller title – Site title” (see Layout#adjustTitle) + title: 'Social Chaplin', + start: function() { + var args = [].slice.call(arguments); + // You can fetch some data here and start app + // (by calling supermethod) after that. + Chaplin.Application.prototype.start.apply(this, args); + } + }); + + return Application; +}); diff --git a/public/js/controllers/base/controller.js b/public/js/controllers/base/controller.js new file mode 100644 index 0000000..23617e3 --- /dev/null +++ b/public/js/controllers/base/controller.js @@ -0,0 +1,12 @@ +define(['chaplin', 'views/site-view'], function(Chaplin, SiteView) { + 'use strict'; + + var Controller = Chaplin.Controller.extend({ + // Place your application-specific controller features here. + beforeAction: function() { + this.reuse('site', SiteView); + } + }); + + return Controller; +}); diff --git a/public/js/controllers/login-register-controller.js b/public/js/controllers/login-register-controller.js new file mode 100644 index 0000000..661da68 --- /dev/null +++ b/public/js/controllers/login-register-controller.js @@ -0,0 +1,127 @@ +define([ + 'controllers/base/controller', + 'models/login-register/login-register-model', + 'views/login-register-view', + 'views/welcome-message-view', + 'models/users/users-collection' +], function(Controller, LoginRegisterModel, LoginRegisterView, WelcomeView, UserCollection) { + 'use strict'; + + var LoginRegisterController = Controller.extend({ + initialize: function(){ + this.model = new LoginRegisterModel(); + this.model.on("change:user", _.bind(this.sendToDB, this) ) + + if(localStorage.getItem("currUser")) { + console.log(JSON.parse(localStorage.getItem("currUser"))); + this.model.set("user", JSON.parse(localStorage.getItem("currUser"))); + } + }, + + // Actions + show: function(params) { + if(window.config.currUser) { + $('#content').html(''); + $('#sidebar').html(''); + this.view = new WelcomeView({ + region: 'content' + }); + return; + } + this.view = new LoginRegisterView({ + region: 'content', + model: this.model + }); + }, + + sendToDB: function() { + + var length = 0 + _.forEach(this.model.changed.user, function(index, i, arr) { + length++; + }) + + /////////////////////////Login///////////////////////////////////////////////////// + + if(length == 2) { + var self = this.model.changed.user; + + $.when($.ajaxSetup({ + contentType: 'application/json', + beforeSend: function (xhr) { + xhr.setRequestHeader('Authorization', self.username + ':' + self.password); + }, + + done: function() { + return 1; + } + })).then(function(){ + $.ajax({ + url: window.config.apiUrl + 'user', + + success: function(){ + + var selfView = this; + this.collection = new UserCollection(); + + this.collection.fetch().then(function(data){ + var currUser = _.find(data, function(index) { + return index.nick == self.username + }) + + window.config.currUser = currUser; + localStorage.setItem("currUser", JSON.stringify(self)); + selfView.view.remove() + + }).then( function(){ + selfView.view = new WelcomeView({ + region: 'content' + }); + }) + + + }.bind(this), + + error: function(XMLHttpRequest, textStatus, errorThrown) { + alert("ERROR: " + JSON.parse(XMLHttpRequest.responseText).message) + } + }) + }.bind(this)) + } + + /////////////////////////Registration/////////////////////////////////////////////// + + else if(length == 4) { + var self = this.model.changed.user; + + if(self.password != self.confirm_password) { + alert('Password does not match the confirm password!') + return; + } + + var body = {} + body.nick = self.username; + body.email = self.email; + body.pwd = self.password; + body.repeatPwd = self.confirm_password; + + $.ajax({ + type: "POST", + url: window.config.apiUrl + 'register', + data: JSON.stringify(body), + contentType: 'application/json', + + success: function() { + alert("You registered!") + }, + error: function(XMLHttpRequest, textStatus, errorThrown) { + alert("ERROR: " + JSON.parse(XMLHttpRequest.responseText).message) + } + + }) + } + + } + }); + return LoginRegisterController; +}); diff --git a/public/js/controllers/me-controller.js b/public/js/controllers/me-controller.js new file mode 100644 index 0000000..5823848 --- /dev/null +++ b/public/js/controllers/me-controller.js @@ -0,0 +1,20 @@ +define([ + 'controllers/base/controller', + 'controllers/user-wall-controller' + +],function(Controller, UserWallController) { + 'use strict'; + + var UsersController = Controller.extend({ + index: function(params) { + if(!window.config.currUser) { + window.location.href = "http://localhost/public/index.html" + return + } + var userWallController = new UserWallController({currUserId: window.config.currUser._id}); + } + }) + + return UsersController; +}); + diff --git a/public/js/controllers/post-controller.js b/public/js/controllers/post-controller.js new file mode 100644 index 0000000..ef4d37b --- /dev/null +++ b/public/js/controllers/post-controller.js @@ -0,0 +1,26 @@ +define([ + 'models/base/collection', + 'models/posts/post-model', + 'views/posts/post-item-view' + +], function(Collection, PostModel, PostView) { + 'use strict'; + + var Post = Collection.extend({ + //url: config.apiUrl + "post", + // model: PostModel, + + constructor: function(data) { + this.model = new PostModel(); + this.model.data = data; + + this.view = new PostView({ + model: this.model + }) + + this.view.render(); + } + }); + + return Post; +}); \ No newline at end of file diff --git a/public/js/controllers/posts-controller.js b/public/js/controllers/posts-controller.js new file mode 100644 index 0000000..243310a --- /dev/null +++ b/public/js/controllers/posts-controller.js @@ -0,0 +1,102 @@ +define([ + 'controllers/base/controller', + 'models/posts/posts-collection', + 'views/posts/posts-collection-view', + 'views/posts/post-item-view', + 'models/posts/post-model' +], function(Controller, PostCollection, PostsView, PostView, PostModel) { + 'use strict'; + + var PostsController = Controller.extend({ + + initialize: function(obj) { + this.obj = obj; + + this.collection = new PostCollection({currentIdUser: obj.currUserId}); + this.view = new PostsView({parent: "#posts", currUserId: obj.currUserId}); + + this.view.on('change:delete', this.deletePost.bind(this)) + this.view.on('change:edit', this.editPost.bind(this)) + this.view.on('change', this.controllerChanged.bind(this)) + + this.renderPosts() + }, + + deletePost:function() { + console.log("DELETE") + var index = this.view.index + console.log(index) + console.log(index) + var self = this; + this.collection.fetch() + .then(function(data){ + console.log(data[index]) + $.ajax({ + type: "DELETE", + url: window.config.apiUrl + "post/" + data[index]._id, + + success: function(data) { + self.controllerChanged() + }, + + error: function(XMLHttpRequest, textStatus, errorThrown) { + alert("ERROR: " + JSON.parse(XMLHttpRequest.responseText).message) + } + }) + }) + + }, + + editPost: function() { + var index = this.view.index + var self = this + + this.collection.fetch() + .then(function(post){ + $.ajax({ + type: "PUT", + url: window.config.apiUrl + "post/" + post[index]._id, + data: JSON.stringify({content: self.view.editText}), + contentType: 'application/json', + + success: function(data) { + self.controllerChanged() + console.log(data) + }, + + error: function(XMLHttpRequest, textStatus, errorThrown) { + alert("ERROR: " + JSON.parse(XMLHttpRequest.responseText).message) + } + }) + }) + }, + + renderPosts: function() { + console.log("RENDER") + + var self = this; + this.collection.fetch().then(function(data){ + console.log(data) + + if(data.length == 0) { + var v = new PostView({model: undefined}); + return; + } + + _.each(data, function(item) { + var m = new PostModel({data: item}) + var v = new PostView({model: item, parent: '#posts-content', currUserId: self.currUserId}); + }) + }) + }, + + + //////////////////If there were some changes with post (delete edit, new post)///////////////////////////////// + controllerChanged: function(){ + $('#posts-content').html('') + this.renderPosts() + } + }); + + return PostsController; +}); diff --git a/public/js/controllers/user-wall-controller.js b/public/js/controllers/user-wall-controller.js new file mode 100644 index 0000000..3edcace --- /dev/null +++ b/public/js/controllers/user-wall-controller.js @@ -0,0 +1,145 @@ +define([ + 'controllers/base/controller', + 'views/users/user-wall-view', + 'models/users/users-collection', + 'controllers/posts-controller' + +], function(Controller, UserWallView, UserCollection, PostsController) { + 'use strict'; + + var UserWallController = Controller.extend({ + + constructor: function (data) { + this.makeView(data) + _.bind(this, this.renderView) + _.bind(this, this.renderPosts) + }, + + + makeView: function (obj) { + this.collection = new UserCollection(); + var user, follows = [], followers = [], isFollowedOnCurrentUser = false; + var self = this; + + ///////////////////////////////////find observing page//////////////////////////////////////////////////// + this.collection.fetch().then(function (item) { + user = _.find(item, function (index) { + return (index._id == obj.currUserId) + }) + }) + ///////////////////////////////////find people followed current user///////////////////////////////// + $.ajax({ + url: window.config.apiUrl + 'user/' + obj.currUserId + '/following', + success: function (data) { + self.collection.fetch().then(function (item) { + _.each(data, function (index) { + follows.push(_.find(item, function (itemI) { + if (itemI._id == index) { + return itemI + } + })) + }) + }) + + + }, + error: function(XMLHttpRequest, textStatus, errorThrown) { + alert("ERROR: " + JSON.parse(XMLHttpRequest.responseText).message) + } + }).then(function () { + ///////////////////////////////////is current user followed by registered user///////////////////////// + $.ajax({ + url: window.config.apiUrl + 'user/' + obj.currUserId + '/followers', + success: function (data) { + _.each(data, function (index) { + if (index == window.config.currUser._id) { + isFollowedOnCurrentUser = true; + return; + } + }) + }, + error: function(XMLHttpRequest, textStatus, errorThrown) { + alert("ERROR: " + JSON.parse(XMLHttpRequest.responseText).message) + } + }) + + }).then(function () { + ///////////////////////////////////find people, which follow current user///////////////////////////// + $.ajax({ + url: window.config.apiUrl + 'user/' + obj.currUserId + '/followers', + success: function (data) { + self.collection.fetch().then(function (item) { //find observing page + _.each(data, function (index) { + followers.push(_.find(item, function (itemI) { + if (itemI._id == index) { + return itemI + } + })) + }) + }).then(function () { + self.obj = { + region: 'content', + template: { + nick: user.nick, email: user.email, followers: followers, + follows: follows, isFollowed: isFollowedOnCurrentUser, + isCurrUser: window.config.currUser.nick != user.nick + }, + currUserId: obj.currUserId + }; + self.renderView() + }) + }, + error: function(XMLHttpRequest, textStatus, errorThrown) { + alert("ERROR: " + JSON.parse(XMLHttpRequest.responseText).message) + } + }) + }) + }, + + renderView: function() { + console.log("RENDER VIEW") + var self = this; + if(this.view) { + self.view.unbind('change') + this.obj.template.isFollowed = !this.obj.template.isFollowed + delete self.view; + } + self.obj.template.followers = [] + + /////////////////////////for rerender view after follow or unfollow user/////////////////////////////// + + $.ajax({ + url: window.config.apiUrl + 'user/' + self.obj.currUserId + '/followers', + success: function (data) { + self.collection.fetch().then(function (item) { //find observing page + _.each(data, function (index) { + self.obj.template.followers.push(_.find(item, function (itemI) { + if (itemI._id == index) { + return itemI + } + })) + }) + }).then(function() { + self.view = new UserWallView(self.obj) + self.view.on('change', self.renderView.bind(self)) + }).then(function() { + self.renderPosts() + }) + }, + error: function(XMLHttpRequest, textStatus, errorThrown) { + alert("ERROR: " + JSON.parse(XMLHttpRequest.responseText).message) + } + }) + + }, + + renderPosts: function() { + if(this.postController) delete this.postController; + this.postController = new PostsController({currUserId: this.obj.currUserId}) + this.postController.on('change', this.renderPosts.bind(this)) + } + + }); + + return UserWallController; +}); diff --git a/public/js/controllers/users-controller.js b/public/js/controllers/users-controller.js new file mode 100644 index 0000000..0c02e31 --- /dev/null +++ b/public/js/controllers/users-controller.js @@ -0,0 +1,46 @@ +define([ + 'controllers/base/controller', + 'models/users/users-collection', + 'views/users/users-collection-view', + 'controllers/user-wall-controller' + +], function(Controller, UserCollection, UsersCollectionView, UserWallController, PostsCollection) { + 'use strict'; + + var UsersController = Controller.extend({ + + beforeAction: function(){ + var superResult = Controller.prototype.beforeAction.apply(this, arguments) + + + this.reuse('main-post', { + compose: function() { + this.collection = new UserCollection(); + this.collection.fetch().then(function(data){ + }) + this.view = new UsersCollectionView({ + collection: this.collection, + region: 'sidebar' + }); + } + }); + + return superResult + }, + + // Actions + index: function(params) { + + if(!window.config.currUser) { + window.location.href = "http://localhost/public/index.html" + return + } + if(!params.id) return; + + var userWallController = new UserWallController({currUserId: params.id}); + } + + }); + + return UsersController; +}); diff --git a/public/js/lib/support.js b/public/js/lib/support.js new file mode 100644 index 0000000..e039e3c --- /dev/null +++ b/public/js/lib/support.js @@ -0,0 +1,7 @@ +// Generated by CoffeeScript 1.6.3 +define(['underscore', 'lib/utils', 'chaplin'], function(_, utils, Chaplin) { + 'use strict'; + var support; + support = utils.beget(Chaplin.support); + return support; +}); diff --git a/public/js/lib/utils.js b/public/js/lib/utils.js new file mode 100644 index 0000000..9b6a22d --- /dev/null +++ b/public/js/lib/utils.js @@ -0,0 +1,21 @@ +define([ + 'underscore', + 'chaplin' +], function(_, Chaplin) { + 'use strict' + + // Application-specific utilities + // ------------------------------ + + // Delegate to Chaplin’s utils module + var utils = Chaplin.utils.beget(Chaplin.utils); + + // Add additional application-specific properties and methods + + // _(utils).extend({ + // someProperty: 'foo', + // someMethod: function() {} + // }); + + return utils; +}); diff --git a/public/js/lib/view-helper.js b/public/js/lib/view-helper.js new file mode 100644 index 0000000..1b0d7e1 --- /dev/null +++ b/public/js/lib/view-helper.js @@ -0,0 +1,17 @@ +define([ + 'handlebars', + 'chaplin', + 'lib/utils' +], function(Handlebars, Chaplin, utils) { + 'use strict'; + + // Application-specific Handlebars helpers + // ------------------------------------------- + + // Get Chaplin-declared named routes. {{#url "like" "105"}}{{/url}}. + Handlebars.registerHelper('url', function(routeName) { + var params = [].slice.call(arguments, 1); + var options = params.pop(); + return utils.reverse(routeName, params); + }); +}); diff --git a/public/js/main.js b/public/js/main.js new file mode 100644 index 0000000..f165d18 --- /dev/null +++ b/public/js/main.js @@ -0,0 +1,55 @@ + +// Configure the AMD module loader + requirejs.config({ + // The path where your JavaScripts are located + baseUrl: './js/', + // Specify the paths of vendor libraries + paths: { + jquery: '../bower_components/jquery/dist/jquery', + underscore: '../bower_components/lodash/dist/lodash', + backbone: '../bower_components/backbone/backbone', + handlebars: '../bower_components/handlebars/handlebars', + text: '../bower_components/requirejs-text/text', + chaplin: '../bower_components/chaplin/chaplin' + }, + // Underscore and Backbone are not AMD-capable per default, + // so we need to use the AMD wrapping of RequireJS + shim: { + underscore: { + exports: '_' + }, + backbone: { + deps: ['underscore', 'jquery'], + exports: 'Backbone' + }, + handlebars: { + exports: 'Handlebars' + } + } + // For easier development, disable browser caching + // Of course, this should be removed in a production environment + //, urlArgs: 'bust=' + (new Date()).getTime() + }); + +// Bootstrap the application + require(['application', 'routes'], function (Application, routes) { + + window.config = { + apiUrl: "http://localhost:127/" + } + + /* $.ajaxSetup({ + contentType: 'application/json', + beforeSend: function (xhr) { + xhr.setRequestHeader('Authorization', 'newnick1:pwd111P@'); + } + })*/ + + + new Application({ + routes: routes, + controllerSuffix: '-controller', + pushState: false + }); + }); + diff --git a/public/js/models/base/collection.js b/public/js/models/base/collection.js new file mode 100644 index 0000000..58b47ac --- /dev/null +++ b/public/js/models/base/collection.js @@ -0,0 +1,21 @@ +define([ + 'chaplin', + 'models/base/model' +], function(Chaplin, Model) { + 'use strict'; + + var Collection = Chaplin.Collection.extend({ + // Mixin a synchronization state machine. + initialize: function() { + _.extend(this, Chaplin.SyncMachine); + Chaplin.Collection.prototype.initialize.apply(this, arguments); + this.on('request', this.beginSync); + this.on('sync', this.finishSync); + this.on('error', this.unsync); + }, + model: Model + // Place your application-specific collection features here + }); + + return Collection; +}); diff --git a/public/js/models/base/model.js b/public/js/models/base/model.js new file mode 100644 index 0000000..d28daeb --- /dev/null +++ b/public/js/models/base/model.js @@ -0,0 +1,20 @@ +define([ + 'chaplin' +], function(Chaplin) { + 'use strict'; + + var Model = Chaplin.Model.extend({ + // Mixin a synchronization state machine. + // initialize: function() { + // _.extend(this, Chaplin.SyncMachine); + // Chaplin.Model.prototype.apply(this, arguments); + // this.on('request', this.beginSync); + // this.on('sync', this.finishSync); + // this.on('error', this.unsync); + // } + + // Place your application-specific model features here + }); + + return Model; +}); diff --git a/public/js/models/hello/hello-world.js b/public/js/models/hello/hello-world.js new file mode 100644 index 0000000..300be34 --- /dev/null +++ b/public/js/models/hello/hello-world.js @@ -0,0 +1,19 @@ +define([ + 'chaplin', + 'models/base/model' +], function(Chaplin, Model) { + 'use strict'; + + var HelloWorld = Model.extend({ + defaults: { + message: 'Hello World!' + } + + // ,initialize: function(attributes, options) { + // Model.prototype.initialize.apply(this, arguments); + // console.debug('HelloWorld#initialize'); + // } + }); + + return HelloWorld; +}); diff --git a/public/js/models/login-register/login-register-model.js b/public/js/models/login-register/login-register-model.js new file mode 100644 index 0000000..b6be874 --- /dev/null +++ b/public/js/models/login-register/login-register-model.js @@ -0,0 +1,11 @@ +define([ + 'models/base/model' +], function(Model) { + 'use strict'; + + var LoginRegister = Model.extend({ + urlRoot: config.apiUrl + "" + }); + + return LoginRegister; +}); \ No newline at end of file diff --git a/public/js/models/posts/post-model.js b/public/js/models/posts/post-model.js new file mode 100644 index 0000000..e08d2a7 --- /dev/null +++ b/public/js/models/posts/post-model.js @@ -0,0 +1,13 @@ +define([ + 'models/base/model' +], function(Model) { + 'use strict'; + + var Post = Model.extend({ + initialize: function(data) { + this.data = data; + } + }); + + return Post; +}); \ No newline at end of file diff --git a/public/js/models/posts/posts-collection.js b/public/js/models/posts/posts-collection.js new file mode 100644 index 0000000..d00ca1a --- /dev/null +++ b/public/js/models/posts/posts-collection.js @@ -0,0 +1,17 @@ +define([ + 'models/base/collection', + 'models/posts/post-model', +], function(Collection, PostModel) { + 'use strict'; + + var Post = Collection.extend({ + model: PostModel, + + initialize: function(obj) { + this.url = window.config.apiUrl + "user/" + obj.currentIdUser + "/wall" + } + }); + + return Post; +}); + diff --git a/public/js/models/users/asd b/public/js/models/users/asd new file mode 100644 index 0000000..0c65f62 --- /dev/null +++ b/public/js/models/users/asd @@ -0,0 +1,22 @@ +define([ + 'models/base/collection', + './user-model' +], function(Collection, UserModel) { + 'use strict'; + + var User = Collection.extend({ + + model: UserModel, + + initialize: function(options){ + super(()) + this.url = config.apiUrl + "user" + options.userId + "/posts" + } + }); + + return User; +}); + + + +var col = new PoCol({userId: 42}) \ No newline at end of file diff --git a/public/js/models/users/user-model.js b/public/js/models/users/user-model.js new file mode 100644 index 0000000..1f2b747 --- /dev/null +++ b/public/js/models/users/user-model.js @@ -0,0 +1,11 @@ +define([ + 'models/base/model' +], function(Model) { + 'use strict'; + + var User = Model.extend({ + urlRoot: config.apiUrl + "user" + }); + + return User; +}); \ No newline at end of file diff --git a/public/js/models/users/user-wall-model.js b/public/js/models/users/user-wall-model.js new file mode 100644 index 0000000..7aa78d4 --- /dev/null +++ b/public/js/models/users/user-wall-model.js @@ -0,0 +1,11 @@ +define([ + 'models/base/model' +], function(Model) { + 'use strict'; + + var Wall = Model.extend({ + urlRoot: config.apiUrl + "user" + }); + + return Wall; +}); \ No newline at end of file diff --git a/public/js/models/users/users-collection.js b/public/js/models/users/users-collection.js new file mode 100644 index 0000000..4c50559 --- /dev/null +++ b/public/js/models/users/users-collection.js @@ -0,0 +1,13 @@ +define([ + 'models/base/collection', + './user-model' +], function(Collection, UserModel) { + 'use strict'; + + var User = Collection.extend({ + url: config.apiUrl + "user", + model: UserModel + }); + + return User; +}); \ No newline at end of file diff --git a/public/js/models/users/users-wall-collection.js b/public/js/models/users/users-wall-collection.js new file mode 100644 index 0000000..4c50559 --- /dev/null +++ b/public/js/models/users/users-wall-collection.js @@ -0,0 +1,13 @@ +define([ + 'models/base/collection', + './user-model' +], function(Collection, UserModel) { + 'use strict'; + + var User = Collection.extend({ + url: config.apiUrl + "user", + model: UserModel + }); + + return User; +}); \ No newline at end of file diff --git a/public/js/routes.js b/public/js/routes.js new file mode 100644 index 0000000..9100265 --- /dev/null +++ b/public/js/routes.js @@ -0,0 +1,14 @@ +define(function() { + 'use strict'; + + // The routes for the application. This module returns a function. + // `match` is match method of the Router + return function(match) { + match('', 'login-register#show'); + match('users', 'users#index'); + match('users/:id', 'users#index'); + //match('users/:id', 'posts#index'); + match('me', 'me#index'); + // match('/me', 'me#index'); + }; +}); diff --git a/public/js/templates/login-register-view.hbs b/public/js/templates/login-register-view.hbs new file mode 100644 index 0000000..69a7808 --- /dev/null +++ b/public/js/templates/login-register-view.hbs @@ -0,0 +1,16 @@ + +

+
Register
+
+ +
+
+
+
+
+
Log in
+
diff --git a/public/js/templates/posts/post-collection-view.hbs b/public/js/templates/posts/post-collection-view.hbs new file mode 100644 index 0000000..1c9e0c2 --- /dev/null +++ b/public/js/templates/posts/post-collection-view.hbs @@ -0,0 +1,5 @@ +
+ +
Post
+
+
\ No newline at end of file diff --git a/public/js/templates/posts/ppost-item-view.hbs b/public/js/templates/posts/ppost-item-view.hbs new file mode 100644 index 0000000..dadfa65 --- /dev/null +++ b/public/js/templates/posts/ppost-item-view.hbs @@ -0,0 +1,14 @@ +{{#if this}} +
+
+ +
X
+
Edit
+
+
{{content}}
+
+{{else}} +
+
Nobody write yet
+
+{{/if}} \ No newline at end of file diff --git a/public/js/templates/site.hbs b/public/js/templates/site.hbs new file mode 100644 index 0000000..772c676 --- /dev/null +++ b/public/js/templates/site.hbs @@ -0,0 +1,34 @@ + + +
+ +
+
+
diff --git a/public/js/templates/users/user-item-view.hbs b/public/js/templates/users/user-item-view.hbs new file mode 100644 index 0000000..03173d8 --- /dev/null +++ b/public/js/templates/users/user-item-view.hbs @@ -0,0 +1,6 @@ + + {{nick}} + + + diff --git a/public/js/templates/users/user-main-page.hbs b/public/js/templates/users/user-main-page.hbs new file mode 100644 index 0000000..bd42c40 --- /dev/null +++ b/public/js/templates/users/user-main-page.hbs @@ -0,0 +1,6 @@ +
+
+ +
+
{{context}}
+
diff --git a/public/js/templates/users/user-wall-view.hbs b/public/js/templates/users/user-wall-view.hbs new file mode 100644 index 0000000..d62b387 --- /dev/null +++ b/public/js/templates/users/user-wall-view.hbs @@ -0,0 +1,32 @@ +
+
{{nick}}
+
+ +
+
email:
+
{{email}}
+ {{#if isCurrUser}} + {{#if isFollowed}} +
Unfollow
+ {{else}} + + {{/if}} + {{/if}} + +
+
+
+ +
+
\ No newline at end of file diff --git a/public/js/templates/users/users-collection-view.hbs b/public/js/templates/users/users-collection-view.hbs new file mode 100644 index 0000000..be83f6b --- /dev/null +++ b/public/js/templates/users/users-collection-view.hbs @@ -0,0 +1,11 @@ +
+ +
+ +
+ No results here +
+ +
+ Loading... +
\ No newline at end of file diff --git a/public/js/templates/welcome-message.hbs b/public/js/templates/welcome-message.hbs new file mode 100644 index 0000000..dba03ee --- /dev/null +++ b/public/js/templates/welcome-message.hbs @@ -0,0 +1 @@ +
You are in the system
\ No newline at end of file diff --git a/public/js/views/base/collection-view.js b/public/js/views/base/collection-view.js new file mode 100644 index 0000000..bcd0348 --- /dev/null +++ b/public/js/views/base/collection-view.js @@ -0,0 +1,15 @@ +define([ + 'chaplin', + 'views/base/view' +], function(Chaplin, View) { + 'use strict'; + + var CollectionView = Chaplin.CollectionView.extend({ + + // This class doesn’t inherit from the application-specific View class, + // so we need to borrow the method from the View prototype: + getTemplateFunction: View.prototype.getTemplateFunction + }); + + return CollectionView; +}); diff --git a/public/js/views/base/view.js b/public/js/views/base/view.js new file mode 100644 index 0000000..13cd554 --- /dev/null +++ b/public/js/views/base/view.js @@ -0,0 +1,47 @@ +define([ + 'handlebars', + 'chaplin', + 'lib/view-helper' // Just load the view helpers, no return value +], function(Handlebars, Chaplin) { + 'use strict'; + + var View = Chaplin.View.extend({ + + getTemplateFunction: function(){ + + // Template compilation + // -------------------- + + // This demo uses Handlebars templates to render views. + // The template is loaded with Require.JS and stored as string on + // the view prototype. On rendering, it is compiled on the + // client-side. The compiled template function replaces the string + // on the view prototype. + // + // In the end you might want to precompile the templates to JavaScript + // functions on the server-side and just load the JavaScript code. + // Several precompilers create a global JST hash which stores the + // template functions. You can get the function by the template name: + // + // templateFunc = JST[@templateName]; + + var template = this.template, + templateFunc = null; + + if (typeof template === 'string') { + // Compile the template string to a function and save it + // on the prototype. This is a workaround since an instance + // shouldn’t change its prototype normally. + templateFunc = Handlebars.compile(template); + this.constructor.prototype.template = templateFunc; + } + else { + templateFunc = template; + } + + return templateFunc; + } + }); + + return View; +}); diff --git a/public/js/views/login-register-view.js b/public/js/views/login-register-view.js new file mode 100644 index 0000000..52b397a --- /dev/null +++ b/public/js/views/login-register-view.js @@ -0,0 +1,74 @@ +define([ +'views/base/view', +'text!templates/login-register-view.hbs' +], function(View, template) { +'use strict'; +var LoginRegisterView = View.extend({ +autoRender: true, +className: "login-register-form", +tagName: "div", +template: template, + +events: { + "click": "onClick" +}, + +remove: function() { +this.el.remove(); +}, + +onClick: function(event){ + +//////////////////////Show Register Block/////////////////////////////////////////////// + if($($(event.target)[0]).hasClass('register') ) { + if($(this.el).find('.login-block').hasClass("none-displayed")!=true) { + $(this.el).find('.login-block')[0].classList.add("none-displayed") + $(this.el).find('.login-block')[0].classList.remove("displayed") + + $(this.el).find('.register-block')[0].classList.add("displayed") + $(this.el).find('.register-block')[0].classList.remove("none-displayed") + + $(this.el).find('.register')[0].classList.add("checked-title") + $(this.el).find('.login')[0].classList.remove("checked-title") + } + } + + //////////////////////Show Login Block/////////////////////////////////////////////// + else if($($(event.target)[0]).hasClass('login') ) { + if($(this.el).find('.register-block').hasClass("none-displayed")!=true) { + $(this.el).find('.register-block')[0].classList.add("none-displayed") + $(this.el).find('.register-block')[0].classList.remove("displayed") + + $(this.el).find('.login-block')[0].classList.add("displayed") + $(this.el).find('.login-block')[0].classList.remove("none-displayed") + + $(this.el).find('.login')[0].classList.add("checked-title") + $(this.el).find('.register')[0].classList.remove("checked-title") + } + } + + //////////////////////Click on button "Post"////////////////////////////////////////// + else if($($(event.target)[0]).hasClass('button-post')) { + var arrayInput = $($(this.el).find('.displayed')[0]).find("input") + var isPermit = true; + + _.forEach(arrayInput, function(index, i, arr) { + if(index.value == '') { + alert('Fill all fields!'); + return isPermit = false; + } + }) + + if(isPermit) { + var obj = {} + _.forEach(arrayInput, function(index, i, arr) { + obj[index.defaultValue] = index.value + }) + this.model.set('user', obj); + } + } +} +}); + +return LoginRegisterView; +}); \ No newline at end of file diff --git a/public/js/views/posts/post-item-view.js b/public/js/views/posts/post-item-view.js new file mode 100644 index 0000000..154aad9 --- /dev/null +++ b/public/js/views/posts/post-item-view.js @@ -0,0 +1,31 @@ +define([ + 'views/base/view', + 'text!templates/posts/ppost-item-view.hbs', + 'models/posts/post-model' +], function(View, template, ModelView) { + 'use strict'; + + var PostItemView = View.extend({ + autoRender: true, + template: template, + + initialize: function(obj) { + this.model = obj.model + this.parent = obj.parent; + console.log(obj.model) + }, + render: function() { + console.log('render') + var html = Handlebars.compile(this.template)(this.model); + this.el = html; + $(this.el).on('click', this.onClick) ///can't bind compiled element with view + $(this.parent).html( $(this.parent).html() + html); + }, + + onClick:function() { + console.log('CLICKKK') + } + }); + + return PostItemView; +}); diff --git a/public/js/views/posts/posts-collection-view.js b/public/js/views/posts/posts-collection-view.js new file mode 100644 index 0000000..6af487f --- /dev/null +++ b/public/js/views/posts/posts-collection-view.js @@ -0,0 +1,99 @@ +define([ + 'views/base/view', + 'text!templates/posts/post-collection-view.hbs' +], function(View, template) { + 'use strict'; + + var PostsView = View.extend({ + template: template, + autoRender: true, + + initialize: function(obj) { + this.parent = obj.parent + console.log(obj.currUserId) + this.currUserId = obj.currUserId + }, + + render: function() { + console.log('render') + console.log($(this.parent)) + this.el = Handlebars.compile(template) + $(this.parent).html(this.el) + $(this.parent).on('click', this.onClick.bind(this)) + }, + + onClick: function() { + console.log('CLICK') + if($('.content-edit').length) { + console.log($(event.target)) + + ////////////if it is textarea for editting post///////////////////////////// + if($(event.target)[0].classList.contains('edit')) return; + + ////////////if click is out of the current edditing post/////////////////// + if(! $(event.target).closest('.content-edit').length) { + + console.log($('.edit').find('textarea')[0].placeholder) + + $('.edit').find('.content-edit').replaceWith("
" + + $('.edit').find('textarea')[0].placeholder + "
") + + _.each($('.edit'), function(item) { + item.classList.remove('edit') + }) + } + } + + ///////////////to post new post/////////////////////////////////////////////// + if(event.target.className == 'button-post') { + console.log("CLICK user-wall-view") + console.log(this.el) + + var data = $(this.el).find('.write-post').find('textarea')[0].value; + + if(!data) return; + + $.ajax({ + type: "POST", + url: window.config.apiUrl + 'user/' + this.currUserId + '/wall', + data: JSON.stringify({content: data}), + contentType: 'application/json', + + success: function(){ + console.log('SUCCESS') + }, + + error: function(XMLHttpRequest, textStatus, errorThrown) { + alert("ERROR: " + JSON.parse(XMLHttpRequest.responseText).message) + } + }) + this.trigger('change'); + } + + ///////////////to delete post from page///////////////////////////////////////////// + else if(event.target.classList.contains('button-post-delete')) { + this.index = $( $( $(event.target).parent()).parent()).index() + this.trigger('change:delete') + } + ///////////////to change post to textarea for edit///////////////////////////////// + else if(event.target.classList.contains('button-post-edit')) { + console.log('Edit') + var parent = $ ($( $(event.target).parent()).parent()) + if (parent.find('.button-edit').length) return; + + parent[0].classList.add('edit') + this.index = parent.index() + parent.find('.content').replaceWith("
Post
") + } + ///////////////to put edits on page (pushing button Post)/////////////////////// + else if(event.target.classList.contains('button-edit-post')) { + this.editText = $ ($('.edit').find('textarea')[0]) [0]. value + this.trigger('change:edit') + } + console.log($('.content-edit')) + + } + }) + +return PostsView; +}); \ No newline at end of file diff --git a/public/js/views/site-view.js b/public/js/views/site-view.js new file mode 100644 index 0000000..ae432ba --- /dev/null +++ b/public/js/views/site-view.js @@ -0,0 +1,15 @@ +define(['views/base/view', 'text!templates/site.hbs'], function(View, template) { + 'use strict'; + + var SiteView = View.extend({ + container: 'body', + id: 'site-container', + regions: { + sidebar: '#sidebar', + content: '#content' + }, + template: template + }); + + return SiteView; +}); diff --git a/public/js/views/users/user-item-view.js b/public/js/views/users/user-item-view.js new file mode 100644 index 0000000..ea53022 --- /dev/null +++ b/public/js/views/users/user-item-view.js @@ -0,0 +1,15 @@ +define([ + 'views/base/view', + 'text!templates/users/user-item-view.hbs' +], function(View, template) { + 'use strict'; + + var UserItemView = View.extend({ + autoRender: true, + className: "list-group-item", + tagName: "a", + template: template + }); + + return UserItemView; +}); diff --git a/public/js/views/users/user-main-page.js b/public/js/views/users/user-main-page.js new file mode 100644 index 0000000..0d15fd7 --- /dev/null +++ b/public/js/views/users/user-main-page.js @@ -0,0 +1,15 @@ +define([ + 'views/base/view', + 'text!templates/users/user-main-page.hbs' +], function(View, template) { + 'use strict'; + + var UserMainPageView = View.extend({ + autoRender: true, + className: "user-main-page", + tagName: "div", + template: template + }); + + return UserMainPageView; +}); diff --git a/public/js/views/users/user-wall-view.js b/public/js/views/users/user-wall-view.js new file mode 100644 index 0000000..8bcb501 --- /dev/null +++ b/public/js/views/users/user-wall-view.js @@ -0,0 +1,72 @@ +define([ + 'views/base/view', + 'text!templates/users/user-wall-view.hbs' +], function(View, template) { + 'use strict'; + + var UserWallView = View.extend({ + autoRender: true, + className: "user-main-page", + tagName: "div", + template: template, + + initialize: function(){ + $('.' + this.className).on('click', this.onClick.bind(this)) + }, + + constructor: function(obj) { + this.obj = obj; + this.currUserId = obj.currUserId + console.log(obj.currUserId) + template = Handlebars.compile(this.template)(obj.template) + $('#' + obj.region).html(template) + this.initialize() + }, + + onClick: function(event){ + if(event.target.classList.contains('button-follow') ) { + var self = this + if(event.target.classList.contains('follow') ) { + console.log("FOLLOW") + console.log(self.currUserId) + var data = '' + $.ajax({ + type: "POST", + url: window.config.apiUrl + 'user/' + self.currUserId + '/follow', + data: JSON.stringify({content: data}), + contentType: 'application/json', + + success: function() { + self.trigger('change') + }, + + + error: function(XMLHttpRequest, textStatus, errorThrown) { + alert("ERROR: " + JSON.parse(XMLHttpRequest.responseText).message) + } + + }) + } + + else if(event.target.classList.contains('unfollow') ) { + $.ajax({ + type: "DELETE", + url: window.config.apiUrl + "user/" + self.currUserId + "/follow", + + success: function() { + self.trigger('change') + }, + + + error: function(XMLHttpRequest, textStatus, errorThrown) { + alert("ERROR: " + JSON.parse(XMLHttpRequest.responseText).message) + } + }) + } + } + + } + }); + + return UserWallView; +}); \ No newline at end of file diff --git a/public/js/views/users/users-collection-view.js b/public/js/views/users/users-collection-view.js new file mode 100644 index 0000000..8b12b20 --- /dev/null +++ b/public/js/views/users/users-collection-view.js @@ -0,0 +1,20 @@ +define([ + 'views/base/collection-view', + 'text!templates/users/users-collection-view.hbs', + './user-item-view' +], function(CollectionView, template, UserItemView) { + 'use strict'; + + var UsersCollectionView = CollectionView.extend({ + autoRender: true, + itemView: UserItemView, + template: template, + listSelector: ".users-list", + fallbackSelector: ".fallback", + loadingSelector: ".loading", + animationDuration: 0 + + }); + + return UsersCollectionView; +}); diff --git a/public/js/views/welcome-message-view.js b/public/js/views/welcome-message-view.js new file mode 100644 index 0000000..3246d66 --- /dev/null +++ b/public/js/views/welcome-message-view.js @@ -0,0 +1,15 @@ +define([ + 'views/base/view', + 'text!templates/welcome-message.hbs' +], function(View, template) { + 'use strict'; + + var WelcomeView = View.extend({ + autoRender: true, + className: "welcome", + tagName: "div", + template: template + }); + + return WelcomeView; +}); diff --git a/public/package.json b/public/package.json new file mode 100644 index 0000000..9eb4faf --- /dev/null +++ b/public/package.json @@ -0,0 +1,22 @@ +{ + "name": "app", + "version": "1.0.0", + "description": "Social network using Chaplin.js\r Don't forget to make `bower install` firstly", + "main": "index.js", + "scripts": { + "test": "echo \"Error: no test specified\" && exit 1" + }, + "repository": { + "type": "git", + "url": "git+https://github.com/vizhukova/SocialChaplin-1.git" + }, + "author": "", + "license": "ISC", + "bugs": { + "url": "https://github.com/vizhukova/SocialChaplin-1/issues" + }, + "homepage": "https://github.com/vizhukova/SocialChaplin-1#readme", + "dependencies": { + "express": "^4.13.3" + } +} From 68388f672564ce58cac82f572812d6ae768a720b Mon Sep 17 00:00:00 2001 From: vizhukova Date: Tue, 29 Sep 2015 23:42:57 +0300 Subject: [PATCH 3/5] Quit Quit from account and some css --- public/css/bootstrap.css | 12 +++++++----- public/js/controllers/login-register-controller.js | 9 +++++++++ public/js/routes.js | 3 +-- public/js/templates/site.hbs | 4 ++++ 4 files changed, 21 insertions(+), 7 deletions(-) diff --git a/public/css/bootstrap.css b/public/css/bootstrap.css index 680e768..4b225e7 100644 --- a/public/css/bootstrap.css +++ b/public/css/bootstrap.css @@ -4235,6 +4235,7 @@ select[multiple].input-group-sm > .input-group-btn > .btn { border-top: 1px solid transparent; -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, .1); box-shadow: inset 0 1px 0 rgba(255, 255, 255, .1); + font-size: medium; } .navbar-collapse.in { overflow-y: auto; @@ -4325,6 +4326,7 @@ select[multiple].input-group-sm > .input-group-btn > .btn { padding: 15px 15px; font-size: 18px; line-height: 20px; + font-size: x-large; } .navbar-brand:hover, .navbar-brand:focus { @@ -4637,11 +4639,11 @@ fieldset[disabled] .navbar-default .btn-link:focus { color: #ccc; } .navbar-inverse { - background-color: #222; - border-color: #080808; + background-color: #7CACD6; + border-color: #548AB9; } .navbar-inverse .navbar-brand { - color: #9d9d9d; + color: #376288; } .navbar-inverse .navbar-brand:hover, .navbar-inverse .navbar-brand:focus { @@ -4649,10 +4651,10 @@ fieldset[disabled] .navbar-default .btn-link:focus { background-color: transparent; } .navbar-inverse .navbar-text { - color: #9d9d9d; + color: #376288; } .navbar-inverse .navbar-nav > li > a { - color: #9d9d9d; + color: #376288; } .navbar-inverse .navbar-nav > li > a:hover, .navbar-inverse .navbar-nav > li > a:focus { diff --git a/public/js/controllers/login-register-controller.js b/public/js/controllers/login-register-controller.js index 661da68..c9b6a0d 100644 --- a/public/js/controllers/login-register-controller.js +++ b/public/js/controllers/login-register-controller.js @@ -34,6 +34,14 @@ define([ }); }, + quit: function() { + if(!window.config.currUser) window.location.href = "http://localhost/public/index.html" + + localStorage.removeItem('currUser'); + window.config.currUser = undefined; + window.location.href = "http://localhost/public/index.html" + }, + sendToDB: function() { var length = 0 @@ -74,6 +82,7 @@ define([ selfView.view.remove() }).then( function(){ + if(!selfView.view) return; selfView.view = new WelcomeView({ region: 'content' }); diff --git a/public/js/routes.js b/public/js/routes.js index 9100265..3b24b75 100644 --- a/public/js/routes.js +++ b/public/js/routes.js @@ -7,8 +7,7 @@ define(function() { match('', 'login-register#show'); match('users', 'users#index'); match('users/:id', 'users#index'); - //match('users/:id', 'posts#index'); match('me', 'me#index'); - // match('/me', 'me#index'); + match('quit', 'login-register#quit') }; }); diff --git a/public/js/templates/site.hbs b/public/js/templates/site.hbs index 772c676..9097097 100644 --- a/public/js/templates/site.hbs +++ b/public/js/templates/site.hbs @@ -21,6 +21,10 @@
  • Me
  • + +
  • + Quit +
  • From 4cbaacbe1199fab759f3168711d0e8dfd35322aa Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=9D=D0=B8=D0=BA=D0=B0?= Date: Thu, 1 Oct 2015 15:46:28 +0300 Subject: [PATCH 4/5] Update 1.1.html --- 1.1.html | 21 +-------------------- 1 file changed, 1 insertion(+), 20 deletions(-) diff --git a/1.1.html b/1.1.html index 5459ceb..8b13789 100644 --- a/1.1.html +++ b/1.1.html @@ -1,20 +1 @@ - - - - - Задание 1 HTML - - - -

    День не повторится дважды

    -
    - Мириады маленьких дел
    - Пьют по капле гаснущий день,
    - А дела большие сушит жажда.
    - Оставляя все на потом,
    - Прозеваем задним числом,
    - Только день не повторится дважды.
    -
    -
    В.Заболоцкий
    - - \ No newline at end of file + From 156e61f2c14eceae5eec82ed06f587a292fb67d3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=9D=D0=B8=D0=BA=D0=B0?= Date: Thu, 1 Oct 2015 15:53:12 +0300 Subject: [PATCH 5/5] Update index.html --- public/index.html | 59 ----------------------------------------------- 1 file changed, 59 deletions(-) diff --git a/public/index.html b/public/index.html index 343fe53..951dd85 100644 --- a/public/index.html +++ b/public/index.html @@ -15,62 +15,3 @@ - - - - \ No newline at end of file