From 7bb3701e56689bb96f2e077981df4a388b0c6c22 Mon Sep 17 00:00:00 2001 From: Emmanuel de Saint Steban Date: Mon, 5 Dec 2016 22:17:04 +0100 Subject: [PATCH 01/46] Add mansory for display as pinterest --- .../src/main/webapp/css/style.css | 9 ++- liste-envies-war/src/main/webapp/index.html | 3 + .../webapp/js/directive/masonryDirective.js | 72 +++++++++++++++++++ .../js/directive/masonryDirectiveSpec.js | 30 ++++++++ .../webapp/js/lib/imagesloaded.pkgd.min.js | 7 ++ .../src/main/webapp/js/lib/masonry.min.js | 9 +++ liste-envies-war/src/main/webapp/js/main.js | 1 + .../src/main/webapp/templates/envies.html | 14 ++-- 8 files changed, 136 insertions(+), 9 deletions(-) create mode 100644 liste-envies-war/src/main/webapp/js/directive/masonryDirective.js create mode 100644 liste-envies-war/src/main/webapp/js/directive/masonryDirectiveSpec.js create mode 100644 liste-envies-war/src/main/webapp/js/lib/imagesloaded.pkgd.min.js create mode 100644 liste-envies-war/src/main/webapp/js/lib/masonry.min.js diff --git a/liste-envies-war/src/main/webapp/css/style.css b/liste-envies-war/src/main/webapp/css/style.css index b110ac84..21b8769c 100644 --- a/liste-envies-war/src/main/webapp/css/style.css +++ b/liste-envies-war/src/main/webapp/css/style.css @@ -30,13 +30,13 @@ clear: both; } -.list-envie .envie-item .panel-body { +/*.list-envie .envie-item .panel-body { min-height: 110px; } .list-envie .envie-item .bottom-envie { min-height: 70px; -} +}*/ .list-envie .envie-item .bottom-envie .comments a { color: black; @@ -50,6 +50,11 @@ margin-top: -34px; } +.list-envie .envie-card { + width: 30%; + margin: 0.5em; +} + /** Comentaires **/ .chat .chat-history { diff --git a/liste-envies-war/src/main/webapp/index.html b/liste-envies-war/src/main/webapp/index.html index 0585e901..66b6b868 100644 --- a/liste-envies-war/src/main/webapp/index.html +++ b/liste-envies-war/src/main/webapp/index.html @@ -77,12 +77,15 @@ + + + diff --git a/liste-envies-war/src/main/webapp/js/directive/masonryDirective.js b/liste-envies-war/src/main/webapp/js/directive/masonryDirective.js new file mode 100644 index 00000000..47a921c6 --- /dev/null +++ b/liste-envies-war/src/main/webapp/js/directive/masonryDirective.js @@ -0,0 +1,72 @@ +(function() { + "use strict"; + + angular.module('masonry', ['ng']).directive('masonry', function($timeout) { + return { + restrict: 'AC', + link: function(scope, elem, attrs) { + var container = elem[0]; + var options = angular.extend({ + itemSelector: '.item' + }, angular.fromJson(attrs.masonry)); + + var masonry = scope.masonry = new Masonry(container, options); + + var debounceTimeout = 0; + scope.update = function() { + if (debounceTimeout) { + $timeout.cancel(debounceTimeout); + } + debounceTimeout = $timeout(function() { + debounceTimeout = 0; + + masonry.reloadItems(); + masonry.layout(); + + elem.children(options.itemSelector).css('visibility', 'visible'); + }, 120); + }; + + scope.removeBrick = function() { + $timeout(function() { + masonry.reloadItems(); + masonry.layout(); + }, 500); + }; + + scope.appendBricks = function(ele) { + masonry.appended(ele); + }; + + scope.$on('masonry.layout', function() { + masonry.layout(); + }); + + scope.update(); + } + }; + }).directive('masonryTile', function() { + return { + restrict: 'AC', + link: function(scope, elem) { + elem.css('visibility', 'hidden'); + var master = elem.parent('*[masonry]:first').scope(), + update = master.update, + removeBrick = master.removeBrick, + appendBricks = master.appendBricks; + if (update) { + imagesLoaded( elem.get(0), update); + elem.ready(update); + } + if (appendBricks) { + imagesLoaded( elem.get(0), appendBricks(elem)); + } + scope.$on('$destroy', function() { + if (removeBrick) { + removeBrick(); + } + }); + } + }; + }); +})(); \ No newline at end of file diff --git a/liste-envies-war/src/main/webapp/js/directive/masonryDirectiveSpec.js b/liste-envies-war/src/main/webapp/js/directive/masonryDirectiveSpec.js new file mode 100644 index 00000000..da22ac38 --- /dev/null +++ b/liste-envies-war/src/main/webapp/js/directive/masonryDirectiveSpec.js @@ -0,0 +1,30 @@ +describe('Directive: envie.masonryDirective', function () { + var ele, scope; + + beforeEach(module('envie')); + beforeEach(inject(function ($compile, $rootScope) { + scope = $rootScope.$new(); + + //update to match directive your testing + ele = angular.element('
'); + + $compile(ele)(scope); + scope.$apply(); + })); + + /** + * @description + * Sample test case to check if HTML rendered by the directive is non empty + * */ + it('should not render empty html', function () { + scope.$apply(function () { + /** + * Set the scope properties here. + * scope.desc = 'test hostname'; + * scope.status = 'valid'; + * + */ + }); + expect(ele.html()).not.toBe(''); + }); +}); diff --git a/liste-envies-war/src/main/webapp/js/lib/imagesloaded.pkgd.min.js b/liste-envies-war/src/main/webapp/js/lib/imagesloaded.pkgd.min.js new file mode 100644 index 00000000..37f12839 --- /dev/null +++ b/liste-envies-war/src/main/webapp/js/lib/imagesloaded.pkgd.min.js @@ -0,0 +1,7 @@ +/*! + * imagesLoaded PACKAGED v4.1.1 + * JavaScript is all like "You images are done yet or what?" + * MIT License + */ + +!function(t,e){"function"==typeof define&&define.amd?define("ev-emitter/ev-emitter",e):"object"==typeof module&&module.exports?module.exports=e():t.EvEmitter=e()}("undefined"!=typeof window?window:this,function(){function t(){}var e=t.prototype;return e.on=function(t,e){if(t&&e){var i=this._events=this._events||{},n=i[t]=i[t]||[];return-1==n.indexOf(e)&&n.push(e),this}},e.once=function(t,e){if(t&&e){this.on(t,e);var i=this._onceEvents=this._onceEvents||{},n=i[t]=i[t]||{};return n[e]=!0,this}},e.off=function(t,e){var i=this._events&&this._events[t];if(i&&i.length){var n=i.indexOf(e);return-1!=n&&i.splice(n,1),this}},e.emitEvent=function(t,e){var i=this._events&&this._events[t];if(i&&i.length){var n=0,o=i[n];e=e||[];for(var r=this._onceEvents&&this._onceEvents[t];o;){var s=r&&r[o];s&&(this.off(t,o),delete r[o]),o.apply(this,e),n+=s?0:1,o=i[n]}return this}},t}),function(t,e){"use strict";"function"==typeof define&&define.amd?define(["ev-emitter/ev-emitter"],function(i){return e(t,i)}):"object"==typeof module&&module.exports?module.exports=e(t,require("ev-emitter")):t.imagesLoaded=e(t,t.EvEmitter)}(window,function(t,e){function i(t,e){for(var i in e)t[i]=e[i];return t}function n(t){var e=[];if(Array.isArray(t))e=t;else if("number"==typeof t.length)for(var i=0;ie;e++){var i=h[e];t[i]=0}return t}function n(t){var e=getComputedStyle(t);return e||a("Style returned "+e+". Are you running this code in a hidden iframe on Firefox? See http://bit.ly/getsizebug1"),e}function o(){if(!d){d=!0;var e=document.createElement("div");e.style.width="200px",e.style.padding="1px 2px 3px 4px",e.style.borderStyle="solid",e.style.borderWidth="1px 2px 3px 4px",e.style.boxSizing="border-box";var i=document.body||document.documentElement;i.appendChild(e);var o=n(e);r.isBoxSizeOuter=s=200==t(o.width),i.removeChild(e)}}function r(e){if(o(),"string"==typeof e&&(e=document.querySelector(e)),e&&"object"==typeof e&&e.nodeType){var r=n(e);if("none"==r.display)return i();var a={};a.width=e.offsetWidth,a.height=e.offsetHeight;for(var d=a.isBorderBox="border-box"==r.boxSizing,l=0;u>l;l++){var c=h[l],f=r[c],m=parseFloat(f);a[c]=isNaN(m)?0:m}var p=a.paddingLeft+a.paddingRight,g=a.paddingTop+a.paddingBottom,y=a.marginLeft+a.marginRight,v=a.marginTop+a.marginBottom,_=a.borderLeftWidth+a.borderRightWidth,E=a.borderTopWidth+a.borderBottomWidth,z=d&&s,b=t(r.width);b!==!1&&(a.width=b+(z?0:p+_));var x=t(r.height);return x!==!1&&(a.height=x+(z?0:g+E)),a.innerWidth=a.width-(p+_),a.innerHeight=a.height-(g+E),a.outerWidth=a.width+y,a.outerHeight=a.height+v,a}}var s,a="undefined"==typeof console?e:function(t){console.error(t)},h=["paddingLeft","paddingRight","paddingTop","paddingBottom","marginLeft","marginRight","marginTop","marginBottom","borderLeftWidth","borderRightWidth","borderTopWidth","borderBottomWidth"],u=h.length,d=!1;return r}),function(t,e){"use strict";"function"==typeof define&&define.amd?define("desandro-matches-selector/matches-selector",e):"object"==typeof module&&module.exports?module.exports=e():t.matchesSelector=e()}(window,function(){"use strict";var t=function(){var t=Element.prototype;if(t.matches)return"matches";if(t.matchesSelector)return"matchesSelector";for(var e=["webkit","moz","ms","o"],i=0;is?"round":"floor";r=Math[a](r),this.cols=Math.max(r,1)},i.prototype.getContainerWidth=function(){var t=this._getOption("fitWidth"),i=t?this.element.parentNode:this.element,n=e(i);this.containerWidth=n&&n.innerWidth},i.prototype._getItemLayoutPosition=function(t){t.getSize();var e=t.size.outerWidth%this.columnWidth,i=e&&1>e?"round":"ceil",n=Math[i](t.size.outerWidth/this.columnWidth);n=Math.min(n,this.cols);for(var o=this._getColGroup(n),r=Math.min.apply(Math,o),s=o.indexOf(r),a={x:this.columnWidth*s,y:r},h=r+t.size.outerHeight,u=this.cols+1-o.length,d=0;u>d;d++)this.colYs[s+d]=h;return a},i.prototype._getColGroup=function(t){if(2>t)return this.colYs;for(var e=[],i=this.cols+1-t,n=0;i>n;n++){var o=this.colYs.slice(n,n+t);e[n]=Math.max.apply(Math,o)}return e},i.prototype._manageStamp=function(t){var i=e(t),n=this._getElementOffset(t),o=this._getOption("originLeft"),r=o?n.left:n.right,s=r+i.outerWidth,a=Math.floor(r/this.columnWidth);a=Math.max(0,a);var h=Math.floor(s/this.columnWidth);h-=s%this.columnWidth?0:1,h=Math.min(this.cols-1,h);for(var u=this._getOption("originTop"),d=(u?n.top:n.bottom)+i.outerHeight,l=a;h>=l;l++)this.colYs[l]=Math.max(d,this.colYs[l])},i.prototype._getContainerSize=function(){this.maxY=Math.max.apply(Math,this.colYs);var t={height:this.maxY};return this._getOption("fitWidth")&&(t.width=this._getContainerFitWidth()),t},i.prototype._getContainerFitWidth=function(){for(var t=0,e=this.cols;--e&&0===this.colYs[e];)t++;return(this.cols-t)*this.columnWidth-this.gutter},i.prototype.needsResizeLayout=function(){var t=this.containerWidth;return this.getContainerWidth(),t!=this.containerWidth},i}); \ No newline at end of file diff --git a/liste-envies-war/src/main/webapp/js/main.js b/liste-envies-war/src/main/webapp/js/main.js index 1f387138..bdf550fd 100644 --- a/liste-envies-war/src/main/webapp/js/main.js +++ b/liste-envies-war/src/main/webapp/js/main.js @@ -2,6 +2,7 @@ var app = angular.module('ListeEnviesApp', [ 'ngRoute', 'ngResource', 'angularMoment', + 'masonry', 'service' ]); diff --git a/liste-envies-war/src/main/webapp/templates/envies.html b/liste-envies-war/src/main/webapp/templates/envies.html index 5507e759..48a6de49 100644 --- a/liste-envies-war/src/main/webapp/templates/envies.html +++ b/liste-envies-war/src/main/webapp/templates/envies.html @@ -59,8 +59,8 @@ - -
+
+
@@ -72,9 +72,9 @@
-
-
-
+
+ +
{{envie.price}} @@ -149,8 +149,8 @@
-
-
+ +
From c3e4269396443eda732b0108ea0b485e333d7e22 Mon Sep 17 00:00:00 2001 From: Emmanuel de Saint Steban Date: Tue, 6 Dec 2016 15:36:53 +0100 Subject: [PATCH 02/46] trie de la liste avec mansory --- .../main/webapp/js/controllers/envieCtrl.js | 14 +++++++++-- .../src/main/webapp/templates/envies.html | 23 +++++++++++++++++-- 2 files changed, 33 insertions(+), 4 deletions(-) diff --git a/liste-envies-war/src/main/webapp/js/controllers/envieCtrl.js b/liste-envies-war/src/main/webapp/js/controllers/envieCtrl.js index 82879634..9bf424dd 100644 --- a/liste-envies-war/src/main/webapp/js/controllers/envieCtrl.js +++ b/liste-envies-war/src/main/webapp/js/controllers/envieCtrl.js @@ -1,6 +1,6 @@ app.controller('EnvieCtrl', EnvieCtrl); -EnvieCtrl.$inject = ['envieService', 'appUserService', 'listEnviesService', '$routeParams', '$location', '$anchorScroll']; -function EnvieCtrl(envieService, appUserService, listEnviesService, $routeParams, $location, $anchorScroll) { +EnvieCtrl.$inject = ['envieService', 'appUserService', 'listEnviesService', '$routeParams', '$location', '$anchorScroll', '$scope']; +function EnvieCtrl(envieService, appUserService, listEnviesService, $routeParams, $location, $anchorScroll, $scope) { var vm = this; vm.name = $routeParams.name; vm.listEnvies = loadListEnvies(vm.name); @@ -95,6 +95,13 @@ function EnvieCtrl(envieService, appUserService, listEnviesService, $routeParams vm.link = undefined; }; + vm.sortList = function(property, elemt) { + vm.order = (vm.order == property)? '-'+property : property; + console.log('Sort List : ', vm.order, elemt); + elemt.update(); + //$scope.$emit('masonry.layout'); + } + function gotoForm() { // call $anchorScroll() $anchorScroll('formEdit'); @@ -143,6 +150,9 @@ function EnvieCtrl(envieService, appUserService, listEnviesService, $routeParams }, userTakeNames); item.userTakeUsers = userTakeNames.join(", "); } + + $scope.$emit('masonry.layout'); + $scope.update(); }); }); } diff --git a/liste-envies-war/src/main/webapp/templates/envies.html b/liste-envies-war/src/main/webapp/templates/envies.html index 48a6de49..efbf2e00 100644 --- a/liste-envies-war/src/main/webapp/templates/envies.html +++ b/liste-envies-war/src/main/webapp/templates/envies.html @@ -60,7 +60,26 @@
-
+ +
+ + +
+ + + + + +
+
+ +
@@ -72,7 +91,7 @@
-
+
From c70650962aae0c242d3c09d90f9b4ce635201116 Mon Sep 17 00:00:00 2001 From: Emmanuel de Saint Steban Date: Tue, 6 Dec 2016 18:27:29 +0100 Subject: [PATCH 03/46] Correct disposition when open comment. --- .../main/webapp/js/controllers/envieCtrl.js | 36 +++++++++++++++++-- .../src/main/webapp/templates/envies.html | 4 +-- 2 files changed, 35 insertions(+), 5 deletions(-) diff --git a/liste-envies-war/src/main/webapp/js/controllers/envieCtrl.js b/liste-envies-war/src/main/webapp/js/controllers/envieCtrl.js index 9bf424dd..5e21c7ce 100644 --- a/liste-envies-war/src/main/webapp/js/controllers/envieCtrl.js +++ b/liste-envies-war/src/main/webapp/js/controllers/envieCtrl.js @@ -22,6 +22,7 @@ function EnvieCtrl(envieService, appUserService, listEnviesService, $routeParams } if (!envie.id) { vm.envies.push(envie); + $scope.masonry.update(); } envieService.save({name:vm.name}, envie, function() { loadEnvies(); @@ -52,8 +53,38 @@ function EnvieCtrl(envieService, appUserService, listEnviesService, $routeParams }); }; - vm.openComment = function(index) { - $("#comment-"+index).collapse('toggle'); + isStamped = false; + + vm.openComment = function(id) { + + const commentId = $("#comment-"+id); + commentId.collapse('toggle'); + + + var $element = $("#envie"+id); + + // stamp or unstamp element to rest in place. + if ( $scope.masonry.stamps.indexOf($element) ) { + $scope.masonry.unstamp( $element ); + isStamped = false; + } else { + $scope.masonry.stamp( $element ); + isStamped = true; + } + + // Expand + var intervalUpdate = setInterval(function () { + // trigger layout + $scope.masonry.layout(); + }, 100); + + + // When collapse ended relayout mansory + commentId.on("shown.bs.collapse", function(){ + $scope.masonry.layout(); + clearInterval(intervalUpdate); + }); + }; vm.removeUser = function(user) { @@ -99,7 +130,6 @@ function EnvieCtrl(envieService, appUserService, listEnviesService, $routeParams vm.order = (vm.order == property)? '-'+property : property; console.log('Sort List : ', vm.order, elemt); elemt.update(); - //$scope.$emit('masonry.layout'); } function gotoForm() { diff --git a/liste-envies-war/src/main/webapp/templates/envies.html b/liste-envies-war/src/main/webapp/templates/envies.html index efbf2e00..2a622df7 100644 --- a/liste-envies-war/src/main/webapp/templates/envies.html +++ b/liste-envies-war/src/main/webapp/templates/envies.html @@ -134,10 +134,10 @@
- -
+
    From 029d6e6aba83318018b6d59cd2deda4116a7f37a Mon Sep 17 00:00:00 2001 From: Emmanuel de Saint Steban Date: Tue, 6 Dec 2016 18:46:38 +0100 Subject: [PATCH 04/46] Use bootstrap css for adapt with all screen. --- liste-envies-war/src/main/webapp/css/style.css | 4 ++-- .../src/main/webapp/js/controllers/envieCtrl.js | 15 +++++---------- .../src/main/webapp/templates/envies.html | 6 +++--- 3 files changed, 10 insertions(+), 15 deletions(-) diff --git a/liste-envies-war/src/main/webapp/css/style.css b/liste-envies-war/src/main/webapp/css/style.css index 21b8769c..92da43b4 100644 --- a/liste-envies-war/src/main/webapp/css/style.css +++ b/liste-envies-war/src/main/webapp/css/style.css @@ -51,8 +51,8 @@ } .list-envie .envie-card { - width: 30%; - margin: 0.5em; + + } /** Comentaires **/ diff --git a/liste-envies-war/src/main/webapp/js/controllers/envieCtrl.js b/liste-envies-war/src/main/webapp/js/controllers/envieCtrl.js index 5e21c7ce..dd81da07 100644 --- a/liste-envies-war/src/main/webapp/js/controllers/envieCtrl.js +++ b/liste-envies-war/src/main/webapp/js/controllers/envieCtrl.js @@ -58,8 +58,6 @@ function EnvieCtrl(envieService, appUserService, listEnviesService, $routeParams vm.openComment = function(id) { const commentId = $("#comment-"+id); - commentId.collapse('toggle'); - var $element = $("#envie"+id); @@ -72,19 +70,16 @@ function EnvieCtrl(envieService, appUserService, listEnviesService, $routeParams isStamped = true; } + commentId.collapse('toggle').promise().done(function () { + $scope.masonry.layout(); + clearInterval(intervalUpdate); + }); + // Expand var intervalUpdate = setInterval(function () { // trigger layout $scope.masonry.layout(); }, 100); - - - // When collapse ended relayout mansory - commentId.on("shown.bs.collapse", function(){ - $scope.masonry.layout(); - clearInterval(intervalUpdate); - }); - }; vm.removeUser = function(user) { diff --git a/liste-envies-war/src/main/webapp/templates/envies.html b/liste-envies-war/src/main/webapp/templates/envies.html index 2a622df7..e9ab9328 100644 --- a/liste-envies-war/src/main/webapp/templates/envies.html +++ b/liste-envies-war/src/main/webapp/templates/envies.html @@ -91,10 +91,10 @@
-
+
-
+
{{envie.price}}

{{envie.label}}

@@ -169,7 +169,7 @@
-
+
From 19d840e7ac057528957e1b5f37fcc985b3da096d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Patrice=20de=20Saint=20St=C3=A9ban?= Date: Tue, 6 Dec 2016 23:35:22 +0100 Subject: [PATCH 05/46] =?UTF-8?q?Filtrage=20et=20trie=20de=20la=20liste,?= =?UTF-8?q?=20plus=20ajout=20de=20la=20date=20de=20derni=C3=A8re=20modific?= =?UTF-8?q?ation?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../liste/envies/dto/EnvyDto.java | 10 +++++ .../liste/envies/model/Envy.java | 12 ++++++ .../liste/envies/service/EnviesService.java | 2 + .../src/main/webapp/css/style.css | 9 +++++ .../main/webapp/js/controllers/envieCtrl.js | 17 +++++++-- .../src/main/webapp/templates/envies.html | 37 ++++++++++--------- 6 files changed, 66 insertions(+), 21 deletions(-) diff --git a/liste-envies-war/src/main/java/fr/desaintsteban/liste/envies/dto/EnvyDto.java b/liste-envies-war/src/main/java/fr/desaintsteban/liste/envies/dto/EnvyDto.java index 2d4a3722..dc02b6c1 100644 --- a/liste-envies-war/src/main/java/fr/desaintsteban/liste/envies/dto/EnvyDto.java +++ b/liste-envies-war/src/main/java/fr/desaintsteban/liste/envies/dto/EnvyDto.java @@ -3,6 +3,7 @@ import fr.desaintsteban.liste.envies.model.Link; import org.codehaus.jackson.annotate.JsonIgnoreProperties; +import java.util.Date; import java.util.List; /** @@ -20,6 +21,7 @@ public class EnvyDto { private String price; private String picture; + private Date date; private List urls; private List userTake; @@ -76,6 +78,14 @@ public void setPicture(String picture) { this.picture = picture; } + public Date getDate() { + return date; + } + + public void setDate(Date date) { + this.date = date; + } + public List getUrls() { return urls; } diff --git a/liste-envies-war/src/main/java/fr/desaintsteban/liste/envies/model/Envy.java b/liste-envies-war/src/main/java/fr/desaintsteban/liste/envies/model/Envy.java index 8a8d5a2a..bad12091 100644 --- a/liste-envies-war/src/main/java/fr/desaintsteban/liste/envies/model/Envy.java +++ b/liste-envies-war/src/main/java/fr/desaintsteban/liste/envies/model/Envy.java @@ -10,6 +10,7 @@ import javax.jdo.annotations.Embedded; import java.util.ArrayList; +import java.util.Date; import java.util.List; /** @@ -37,6 +38,7 @@ public class Envy { private String price; private String picture; + private Date date; @Embedded private List urls; @Index @@ -65,6 +67,7 @@ public Envy(EnvyDto envie) { setDescription(envie.getDescription()); setPrice(envie.getPrice()); setPicture(envie.getPicture()); + setDate(envie.getDate()); setUrls(envie.getUrls()); if (envie.getUserTake() != null) { List userTake = new ArrayList<>(); @@ -85,6 +88,7 @@ public EnvyDto toDto() { envie.setDescription(getDescription()); envie.setPrice(getPrice()); envie.setPicture(getPicture()); + envie.setDate(getDate()); envie.setUrls(getUrls()); List userTake = new ArrayList<>(); if (getUserTake() != null) { @@ -167,6 +171,14 @@ public void setPicture(String picture) { this.picture = picture; } + public Date getDate() { + return date; + } + + public void setDate(Date date) { + this.date = date; + } + public List getUrls() { return urls; } diff --git a/liste-envies-war/src/main/java/fr/desaintsteban/liste/envies/service/EnviesService.java b/liste-envies-war/src/main/java/fr/desaintsteban/liste/envies/service/EnviesService.java index 4161806f..30f5ea8e 100644 --- a/liste-envies-war/src/main/java/fr/desaintsteban/liste/envies/service/EnviesService.java +++ b/liste-envies-war/src/main/java/fr/desaintsteban/liste/envies/service/EnviesService.java @@ -14,6 +14,7 @@ import fr.desaintsteban.liste.envies.util.EncodeUtils; import java.util.ArrayList; +import java.util.Date; import java.util.List; public final class EnviesService { @@ -143,6 +144,7 @@ public Envy run() { item.setOwner(user.getEmail()); } item.setSuggest(!listEnvies.containsOwner(item.getOwner())); + item.setDate(new Date()); Key key = saver.entity(item).now(); return item; } diff --git a/liste-envies-war/src/main/webapp/css/style.css b/liste-envies-war/src/main/webapp/css/style.css index 92da43b4..8866fc49 100644 --- a/liste-envies-war/src/main/webapp/css/style.css +++ b/liste-envies-war/src/main/webapp/css/style.css @@ -22,6 +22,15 @@ padding: 0; } +.order-filter { + display: flex; + justify-content: space-between; + margin-bottom: 5px; +} +.order-btn .btn:active, .order-btn .btn:focus { + outline: none; +} + .list-envie .envie-item:hover .edit-button { display: block !important; } diff --git a/liste-envies-war/src/main/webapp/js/controllers/envieCtrl.js b/liste-envies-war/src/main/webapp/js/controllers/envieCtrl.js index dd81da07..3d28afb5 100644 --- a/liste-envies-war/src/main/webapp/js/controllers/envieCtrl.js +++ b/liste-envies-war/src/main/webapp/js/controllers/envieCtrl.js @@ -1,12 +1,14 @@ app.controller('EnvieCtrl', EnvieCtrl); -EnvieCtrl.$inject = ['envieService', 'appUserService', 'listEnviesService', '$routeParams', '$location', '$anchorScroll', '$scope']; -function EnvieCtrl(envieService, appUserService, listEnviesService, $routeParams, $location, $anchorScroll, $scope) { +EnvieCtrl.$inject = ['envieService', 'appUserService', 'listEnviesService', '$routeParams', '$location', '$anchorScroll', '$scope', '$parse']; +function EnvieCtrl(envieService, appUserService, listEnviesService, $routeParams, $location, $anchorScroll, $scope, $parse) { var vm = this; vm.name = $routeParams.name; vm.listEnvies = loadListEnvies(vm.name); vm.loading = true; vm.newUser = {email: '', type:'SHARED'}; + vm.orderProperties = [{property:'label', label:'Titre'},{property:'date', label:'Date'},{property:'price', label:'Prix'},{property:'userTakeUsers', label:'Offert'},{property:'notes.length', label:'Commentaires'}]; + vm.filterProperties = [{expression:'true', label:'Toutes', class:'btn-default'},{expression:'userTake.length > 0', label:'Offerts', class:'btn-warning'},{expression:'userTake.length == 0', label:'A offrir', class:'btn-success'},{expression:'suggest == true', label:'Suggestion', class:'btn-info'}]; loadEnvies(); resetForm(); @@ -125,7 +127,16 @@ function EnvieCtrl(envieService, appUserService, listEnviesService, $routeParams vm.order = (vm.order == property)? '-'+property : property; console.log('Sort List : ', vm.order, elemt); elemt.update(); - } + }; + + vm.filterList = function(expr) { + var expression = $parse(expr) + vm.filter = function(value) { + return expression(value); + }; + console.log('Filter List : ', vm.order, elemt); + elemt.update(); + }; function gotoForm() { // call $anchorScroll() diff --git a/liste-envies-war/src/main/webapp/templates/envies.html b/liste-envies-war/src/main/webapp/templates/envies.html index e9ab9328..d2ec9cdb 100644 --- a/liste-envies-war/src/main/webapp/templates/envies.html +++ b/liste-envies-war/src/main/webapp/templates/envies.html @@ -60,26 +60,26 @@
- -
- - -
- - - - - +
+
+
+ +
+
+
+ +
+ +
-
+
@@ -91,11 +91,12 @@
-
+
+ {{envie.price}}

{{envie.label}}

  From 39fc1f14a8cb8dab9297be734147faf017441c18 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Patrice=20de=20Saint=20St=C3=A9ban?= Date: Wed, 7 Dec 2016 01:07:47 +0100 Subject: [PATCH 06/46] Ajout d'un editeur html pour modifier la description + Ajout d'une description de la liste d'envie. --- liste-envies-war/src/main/webapp/index.html | 8 +- .../main/webapp/js/controllers/envieCtrl.js | 24 +- .../webapp/js/lib/angular-sanitize.min.js | 16 + .../lib/summernotes/angular-summernote.min.js | 2 + .../js/lib/summernotes/font/summernote.eot | Bin 0 -> 13542 bytes .../js/lib/summernotes/font/summernote.ttf | Bin 0 -> 13356 bytes .../js/lib/summernotes/font/summernote.woff | Bin 0 -> 8444 bytes .../lib/summernotes/lang/summernote-fr-FR.js | 115 + .../webapp/js/lib/summernotes/summernote.css | 1 + .../webapp/js/lib/summernotes/summernote.js | 7046 +++++++++++++++++ .../js/lib/summernotes/summernote.min.js | 4 + liste-envies-war/src/main/webapp/js/main.js | 4 +- .../src/main/webapp/templates/envies.html | 7 +- .../src/main/webapp/templates/home.html | 1 - 14 files changed, 7220 insertions(+), 8 deletions(-) create mode 100644 liste-envies-war/src/main/webapp/js/lib/angular-sanitize.min.js create mode 100644 liste-envies-war/src/main/webapp/js/lib/summernotes/angular-summernote.min.js create mode 100644 liste-envies-war/src/main/webapp/js/lib/summernotes/font/summernote.eot create mode 100644 liste-envies-war/src/main/webapp/js/lib/summernotes/font/summernote.ttf create mode 100644 liste-envies-war/src/main/webapp/js/lib/summernotes/font/summernote.woff create mode 100644 liste-envies-war/src/main/webapp/js/lib/summernotes/lang/summernote-fr-FR.js create mode 100644 liste-envies-war/src/main/webapp/js/lib/summernotes/summernote.css create mode 100644 liste-envies-war/src/main/webapp/js/lib/summernotes/summernote.js create mode 100644 liste-envies-war/src/main/webapp/js/lib/summernotes/summernote.min.js diff --git a/liste-envies-war/src/main/webapp/index.html b/liste-envies-war/src/main/webapp/index.html index 66b6b868..081f293c 100644 --- a/liste-envies-war/src/main/webapp/index.html +++ b/liste-envies-war/src/main/webapp/index.html @@ -1,6 +1,5 @@ - - + @@ -13,6 +12,7 @@ + @@ -77,10 +77,14 @@ + + + + diff --git a/liste-envies-war/src/main/webapp/js/controllers/envieCtrl.js b/liste-envies-war/src/main/webapp/js/controllers/envieCtrl.js index 3d28afb5..30918957 100644 --- a/liste-envies-war/src/main/webapp/js/controllers/envieCtrl.js +++ b/liste-envies-war/src/main/webapp/js/controllers/envieCtrl.js @@ -4,9 +4,31 @@ function EnvieCtrl(envieService, appUserService, listEnviesService, $routeParams var vm = this; vm.name = $routeParams.name; vm.listEnvies = loadListEnvies(vm.name); - vm.loading = true; vm.newUser = {email: '', type:'SHARED'}; + vm.editorOptions = { + disableDragAndDrop: true, + placeholder: "Ajouter une description", + toolbar: [ + ['style', ['bold', 'italic', 'underline', 'clear', 'color', 'fontsize']], + ['para', ['ul', 'ol', 'paragraph']] + ], + popover: { + image: [ + ['imagesize', ['imageSize100', 'imageSize50', 'imageSize25']], + ['float', ['floatLeft', 'floatRight', 'floatNone']], + ['remove', ['removeMedia']] + ], + link: [ + ['link', ['linkDialogShow', 'unlink']] + ], + air: [ + ['style', ['bold', 'italic', 'underline', 'clear', 'color', 'fontsize']], + ['para', ['ul', 'ol', 'paragraph']] + ] + }, + height: 200 + }; vm.orderProperties = [{property:'label', label:'Titre'},{property:'date', label:'Date'},{property:'price', label:'Prix'},{property:'userTakeUsers', label:'Offert'},{property:'notes.length', label:'Commentaires'}]; vm.filterProperties = [{expression:'true', label:'Toutes', class:'btn-default'},{expression:'userTake.length > 0', label:'Offerts', class:'btn-warning'},{expression:'userTake.length == 0', label:'A offrir', class:'btn-success'},{expression:'suggest == true', label:'Suggestion', class:'btn-info'}]; loadEnvies(); diff --git a/liste-envies-war/src/main/webapp/js/lib/angular-sanitize.min.js b/liste-envies-war/src/main/webapp/js/lib/angular-sanitize.min.js new file mode 100644 index 00000000..9a99eaca --- /dev/null +++ b/liste-envies-war/src/main/webapp/js/lib/angular-sanitize.min.js @@ -0,0 +1,16 @@ +/* + AngularJS v1.5.9 + (c) 2010-2016 Google, Inc. http://angularjs.org + License: MIT + */ +(function(s,g){'use strict';function H(g){var l=[];t(l,A).chars(g);return l.join("")}var B=g.$$minErr("$sanitize"),C,l,D,E,q,A,F,t;g.module("ngSanitize",[]).provider("$sanitize",function(){function k(a,e){var b={},c=a.split(","),h;for(h=0;h/g,">")}function u(a){if(a.nodeType===s.Node.ELEMENT_NODE)for(var e=a.attributes,b=0,c=e.length;b"))}, + end:function(a){a=q(a);b||!0!==w[a]||!0===y[a]||(c(""));a==b&&(b=!1)},chars:function(a){b||c(G(a))}}};var J=/[\uD800-\uDBFF][\uDC00-\uDFFF]/g,K=/([^#-~ |!])/g,y=k("area,br,col,hr,img,wbr"),d=k("colgroup,dd,dt,li,p,tbody,td,tfoot,th,thead,tr"),r=k("rp,rt"),p=l({},r,d),d=l({},d,k("address,article,aside,blockquote,caption,center,del,dir,div,dl,figure,figcaption,footer,h1,h2,h3,h4,h5,h6,header,hgroup,hr,ins,map,menu,nav,ol,pre,section,table,ul")),r=l({},r,k("a,abbr,acronym,b,bdi,bdo,big,br,cite,code,del,dfn,em,font,i,img,ins,kbd,label,map,mark,q,ruby,rp,rt,s,samp,small,span,strike,strong,sub,sup,time,tt,u,var")), + x=k("circle,defs,desc,ellipse,font-face,font-face-name,font-face-src,g,glyph,hkern,image,linearGradient,line,marker,metadata,missing-glyph,mpath,path,polygon,polyline,radialGradient,rect,stop,svg,switch,text,title,tspan"),z=k("script,style"),w=l({},y,d,r,p),n=k("background,cite,href,longdesc,src,xlink:href"),p=k("abbr,align,alt,axis,bgcolor,border,cellpadding,cellspacing,class,clear,color,cols,colspan,compact,coords,dir,face,headers,height,hreflang,hspace,ismap,lang,language,nohref,nowrap,rel,rev,rows,rowspan,rules,scope,scrolling,shape,size,span,start,summary,tabindex,target,title,type,valign,value,vspace,width"), + r=k("accent-height,accumulate,additive,alphabetic,arabic-form,ascent,baseProfile,bbox,begin,by,calcMode,cap-height,class,color,color-rendering,content,cx,cy,d,dx,dy,descent,display,dur,end,fill,fill-rule,font-family,font-size,font-stretch,font-style,font-variant,font-weight,from,fx,fy,g1,g2,glyph-name,gradientUnits,hanging,height,horiz-adv-x,horiz-origin-x,ideographic,k,keyPoints,keySplines,keyTimes,lang,marker-end,marker-mid,marker-start,markerHeight,markerUnits,markerWidth,mathematical,max,min,offset,opacity,orient,origin,overline-position,overline-thickness,panose-1,path,pathLength,points,preserveAspectRatio,r,refX,refY,repeatCount,repeatDur,requiredExtensions,requiredFeatures,restart,rotate,rx,ry,slope,stemh,stemv,stop-color,stop-opacity,strikethrough-position,strikethrough-thickness,stroke,stroke-dasharray,stroke-dashoffset,stroke-linecap,stroke-linejoin,stroke-miterlimit,stroke-opacity,stroke-width,systemLanguage,target,text-anchor,to,transform,type,u1,u2,underline-position,underline-thickness,unicode,unicode-range,units-per-em,values,version,viewBox,visibility,width,widths,x,x-height,x1,x2,xlink:actuate,xlink:arcrole,xlink:role,xlink:show,xlink:title,xlink:type,xml:base,xml:lang,xml:space,xmlns,xmlns:xlink,y,y1,y2,zoomAndPan", + !0),m=l({},n,r,p),f;(function(a){if(a.document&&a.document.implementation)a=a.document.implementation.createHTMLDocument("inert");else throw B("noinert");var e=(a.documentElement||a.getDocumentElement()).getElementsByTagName("body");1===e.length?f=e[0]:(e=a.createElement("html"),f=a.createElement("body"),e.appendChild(f),a.appendChild(e))})(s)});g.module("ngSanitize").filter("linky",["$sanitize",function(k){var l=/((ftp|https?):\/\/|(www\.)|(mailto:)?[A-Za-z0-9._%+-]+@)\S*[^\s.;,(){}<>"\u201d\u2019]/i, + q=/^mailto:/i,u=g.$$minErr("linky"),v=g.isDefined,s=g.isFunction,t=g.isObject,y=g.isString;return function(d,g,p){function x(a){a&&m.push(H(a))}function z(a,b){var c,d=w(a);m.push("');x(b);m.push("")}if(null==d||""===d)return d;if(!y(d))throw u("notstring",d);for(var w=s(p)?p:t(p)?function(){return p}:function(){return{}},n=d,m=[],f,a;d=n.match(l);)f=d[0],d[2]|| +d[4]||(f=(d[3]?"http://":"mailto:")+f),a=d.index,x(n.substr(0,a)),z(f,d[0].replace(q,"")),n=n.substring(a+d[0].length);x(n);return k(m.join(""))}}])})(window,window.angular); +//# sourceMappingURL=angular-sanitize.min.js.map \ No newline at end of file diff --git a/liste-envies-war/src/main/webapp/js/lib/summernotes/angular-summernote.min.js b/liste-envies-war/src/main/webapp/js/lib/summernotes/angular-summernote.min.js new file mode 100644 index 00000000..07cc8467 --- /dev/null +++ b/liste-envies-war/src/main/webapp/js/lib/summernotes/angular-summernote.min.js @@ -0,0 +1,2 @@ +/* angular-summernote v0.8.1 | (c) 2016 JeongHoon Byun | MIT license */ +angular.module("summernote",[]).controller("SummernoteController",["$scope","$attrs","$timeout",function($scope,$attrs,$timeout){"use strict";var currentElement,summernoteConfig=angular.copy($scope.summernoteConfig)||{};if(angular.isDefined($attrs.height)&&(summernoteConfig.height=+$attrs.height),angular.isDefined($attrs.minHeight)&&(summernoteConfig.minHeight=+$attrs.minHeight),angular.isDefined($attrs.maxHeight)&&(summernoteConfig.maxHeight=+$attrs.maxHeight),angular.isDefined($attrs.placeholder)&&(summernoteConfig.placeholder=$attrs.placeholder),angular.isDefined($attrs.focus)&&(summernoteConfig.focus=!0),angular.isDefined($attrs.airmode)&&(summernoteConfig.airMode=!0),angular.isDefined($attrs.dialogsinbody)&&(summernoteConfig.dialogsInBody=!0),angular.isDefined($attrs.lang)){if(!angular.isDefined($.summernote.lang[$attrs.lang]))throw new Error('"'+$attrs.lang+'" lang file must be exist.');summernoteConfig.lang=$attrs.lang}summernoteConfig.callbacks=summernoteConfig.callbacks||{},angular.isDefined($attrs.onInit)&&(summernoteConfig.callbacks.onInit=function(evt){$scope.init({evt:evt})}),angular.isDefined($attrs.onEnter)&&(summernoteConfig.callbacks.onEnter=function(evt){$scope.enter({evt:evt})}),angular.isDefined($attrs.onFocus)&&(summernoteConfig.callbacks.onFocus=function(evt){$scope.focus({evt:evt})}),angular.isDefined($attrs.onPaste)&&(summernoteConfig.callbacks.onPaste=function(evt){$scope.paste({evt:evt})}),angular.isDefined($attrs.onKeyup)&&(summernoteConfig.callbacks.onKeyup=function(evt){$scope.keyup({evt:evt})}),angular.isDefined($attrs.onKeydown)&&(summernoteConfig.callbacks.onKeydown=function(evt){$scope.keydown({evt:evt})}),angular.isDefined($attrs.onImageUpload)&&(summernoteConfig.callbacks.onImageUpload=function(files){$scope.imageUpload({files:files,editable:$scope.editable})}),angular.isDefined($attrs.onMediaDelete)&&(summernoteConfig.callbacks.onMediaDelete=function(target){var removedMedia={attrs:{}};removedMedia.tagName=target[0].tagName,angular.forEach(target[0].attributes,function(attr){removedMedia.attrs[attr.name]=attr.value}),$scope.mediaDelete({target:removedMedia})}),this.activate=function(scope,element,ngModel){var updateNgModel=function(){var newValue=element.summernote("code");element.summernote("isEmpty")&&(newValue=""),ngModel&&ngModel.$viewValue!==newValue&&$timeout(function(){ngModel.$setViewValue(newValue)},0)},originalOnChange=summernoteConfig.callbacks.onChange;summernoteConfig.callbacks.onChange=function(contents){$timeout(function(){element.summernote("isEmpty")&&(contents=""),updateNgModel()},0),angular.isDefined($attrs.onChange)?$scope.change({contents:contents,editable:$scope.editable}):angular.isFunction(originalOnChange)&&originalOnChange.apply(this,arguments)},angular.isDefined($attrs.onBlur)&&(summernoteConfig.callbacks.onBlur=function(evt){!summernoteConfig.airMode&&element.blur(),$scope.blur({evt:evt})}),element.summernote(summernoteConfig);var unwatchNgModel,editor$=element.next(".note-editor");editor$.find(".note-toolbar").click(function(){updateNgModel(),editor$.hasClass("codeview")?(editor$.on("keyup",updateNgModel),ngModel&&(unwatchNgModel=scope.$watch(function(){return ngModel.$modelValue},function(newValue){editor$.find(".note-codable").val(newValue)}))):(editor$.off("keyup",updateNgModel),angular.isFunction(unwatchNgModel)&&unwatchNgModel())}),ngModel&&(ngModel.$render=function(){ngModel.$viewValue?element.summernote("code",ngModel.$viewValue):element.summernote("empty")}),angular.isDefined($attrs.editable)&&($scope.editable=editor$.find(".note-editable")),angular.isDefined($attrs.editor)&&($scope.editor=element),currentElement=element,element.on("$destroy",function(){element.summernote("destroy"),$scope.summernoteDestroyed=!0})},$scope.$on("$destroy",function(){$scope.summernoteDestroyed||currentElement.summernote("destroy")})}]).directive("summernote",[function(){"use strict";return{restrict:"EA",transclude:"element",replace:!0,require:["summernote","?ngModel"],controller:"SummernoteController",scope:{summernoteConfig:"=config",editable:"=",editor:"=",init:"&onInit",enter:"&onEnter",focus:"&onFocus",blur:"&onBlur",paste:"&onPaste",keyup:"&onKeyup",keydown:"&onKeydown",change:"&onChange",imageUpload:"&onImageUpload",mediaDelete:"&onMediaDelete"},template:'

',link:function(scope,element,attrs,ctrls,transclude){var summernoteController=ctrls[0],ngModel=ctrls[1];if(ngModel)var clearWatch=scope.$watch(function(){return ngModel.$viewValue},function(value){clearWatch(),element.append(value),summernoteController.activate(scope,element,ngModel)},!0);else transclude(scope,function(clone,scope){element.append(clone.html())}),summernoteController.activate(scope,element,ngModel)}}}]); \ No newline at end of file diff --git a/liste-envies-war/src/main/webapp/js/lib/summernotes/font/summernote.eot b/liste-envies-war/src/main/webapp/js/lib/summernotes/font/summernote.eot new file mode 100644 index 0000000000000000000000000000000000000000..cdd56c80aa92b2bd11cb9fe5d228ebdb1eae6629 GIT binary patch literal 13542 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 K$lxHB^Zx*(u;EDn literal 0 HcmV?d00001 diff --git a/liste-envies-war/src/main/webapp/js/lib/summernotes/font/summernote.ttf b/liste-envies-war/src/main/webapp/js/lib/summernotes/font/summernote.ttf new file mode 100644 index 0000000000000000000000000000000000000000..de29a591e97d81d82e051df6217703611e74fe79 GIT binary patch literal 13356 zcmdsdX>?r2b!OeS_v?KJx&icSyxxdj2%rHpNP=J!AOP+J7m$F&1t1ARvP6oaNQrhR zYN4!1w6%D=X!F?el8Iy|(St}&6rYJlIq`TT$95vib`)Da8Cw}2pB&G~lI1ujvAgH1 z*G-6&s7%Hu`7;glt6NpK>Q>#lb+^}y7-L>`CllH6@$p?--v6KP-G-K5hws7P7kIdwst1%}07se9$b@OwFwLjVaF~*WFpnu>xG)NQVV5}2Wmb&if z$XB9eoLPte-xA z{H9w@R-Pb?O+AVFbH`829}jMLO=qn9N#H+#FW)`;cKo^_UcUUzhd{eoN&=&YnGBT8 zbOenP&GMJ5m4UjzWE+>`+goe^cupP}JIwBUgWkx|^Y!OhNrUA%cgm!#Ld3!<<(7?Z!f0}rgH~oJI3(SvQJw{XD zoXWbYS=2;`ZUsl8UvcK%lmi?yxzT1u*p{d#z{Z!^- znZ_jg72R&n=VSxbvO-{`NNgTWf+Py_Op;}3ib;~ZkI9mZnVq^rTbf

=aJ+%gO$v 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 GJpUgQ(4)@) literal 0 HcmV?d00001 diff --git a/liste-envies-war/src/main/webapp/js/lib/summernotes/lang/summernote-fr-FR.js b/liste-envies-war/src/main/webapp/js/lib/summernotes/lang/summernote-fr-FR.js new file mode 100644 index 00000000..f6b77385 --- /dev/null +++ b/liste-envies-war/src/main/webapp/js/lib/summernotes/lang/summernote-fr-FR.js @@ -0,0 +1,115 @@ +(function ($) { + $.extend($.summernote.lang, { + 'fr-FR': { + font: { + bold: 'Gras', + italic: 'Italique', + underline: 'Souligné', + clear: 'Effacer la mise en forme', + height: 'Interligne', + name: 'Famille de police', + strikethrough: 'Barré', + superscript: 'Exposant', + subscript: 'Indice', + size: 'Taille de police' + }, + image: { + image: 'Image', + insert: 'Insérer une image', + resizeFull: 'Taille originale', + resizeHalf: 'Redimensionner à 50 %', + resizeQuarter: 'Redimensionner à 25 %', + floatLeft: 'Aligné à gauche', + floatRight: 'Aligné à droite', + floatNone: 'Pas d\'alignement', + shapeRounded: 'Forme: Rectangle arrondie', + shapeCircle: 'Forme: Cercle', + shapeThumbnail: 'Forme: Vignette', + shapeNone: 'Forme: Aucune', + dragImageHere: 'Faites glisser une image ou un texte dans ce cadre', + dropImage: 'Lachez l\'image ou le texte', + selectFromFiles: 'Choisir un fichier', + maximumFileSize: 'Taille de fichier maximale', + maximumFileSizeError: 'Taille maximale du fichier dépassée', + url: 'URL de l\'image', + remove: 'Supprimer l\'image' + }, + video: { + video: 'Vidéo', + videoLink: 'Lien vidéo', + insert: 'Insérer une vidéo', + url: 'URL de la vidéo', + providers: '(YouTube, Vimeo, Vine, Instagram, DailyMotion ou Youku)' + }, + link: { + link: 'Lien', + insert: 'Insérer un lien', + unlink: 'Supprimer un lien', + edit: 'Modifier', + textToDisplay: 'Texte à afficher', + url: 'URL du lien', + openInNewWindow: 'Ouvrir dans une nouvelle fenêtre' + }, + table: { + table: 'Tableau' + }, + hr: { + insert: 'Insérer une ligne horizontale' + }, + style: { + style: 'Style', + p: 'p', + blockquote: 'Citation', + pre: 'Code source', + h1: 'Titre 1', + h2: 'Titre 2', + h3: 'Titre 3', + h4: 'Titre 4', + h5: 'Titre 5', + h6: 'Titre 6' + }, + lists: { + unordered: 'Liste à puces', + ordered: 'Liste numérotée' + }, + options: { + help: 'Aide', + fullscreen: 'Plein écran', + codeview: 'Afficher le code HTML' + }, + paragraph: { + paragraph: 'Paragraphe', + outdent: 'Diminuer le retrait', + indent: 'Augmenter le retrait', + left: 'Aligner à gauche', + center: 'Centrer', + right: 'Aligner à droite', + justify: 'Justifier' + }, + color: { + recent: 'Dernière couleur sélectionnée', + more: 'Plus de couleurs', + background: 'Couleur de fond', + foreground: 'Couleur de police', + transparent: 'Transparent', + setTransparent: 'Définir la transparence', + reset: 'Restaurer', + resetToDefault: 'Restaurer la couleur par défaut' + }, + shortcut: { + shortcuts: 'Raccourcis', + close: 'Fermer', + textFormatting: 'Mise en forme du texte', + action: 'Action', + paragraphFormatting: 'Mise en forme des paragraphes', + documentStyle: 'Style du document', + extraKeys: 'Touches supplémentaires' + }, + history: { + undo: 'Annuler la dernière action', + redo: 'Restaurer la dernière action annulée' + } + + } + }); +})(jQuery); diff --git a/liste-envies-war/src/main/webapp/js/lib/summernotes/summernote.css b/liste-envies-war/src/main/webapp/js/lib/summernotes/summernote.css new file mode 100644 index 00000000..678dcdfc --- /dev/null +++ b/liste-envies-war/src/main/webapp/js/lib/summernotes/summernote.css @@ -0,0 +1 @@ +@font-face{font-family:"summernote";font-style:normal;font-weight:normal;src:url("font/summernote.eot?dc97c88102d55aed645e5f227c58ba5b");src:url("font/summernote.eot?#iefix") format("embedded-opentype"),url("font/summernote.woff?dc97c88102d55aed645e5f227c58ba5b") format("woff"),url("font/summernote.ttf?dc97c88102d55aed645e5f227c58ba5b") format("truetype")}[class^="note-icon-"]:before,[class*=" note-icon-"]:before{display:inline-block;font:normal normal normal 14px summernote;font-size:inherit;-webkit-font-smoothing:antialiased;text-decoration:inherit;text-rendering:auto;text-transform:none;vertical-align:middle;speak:none;-moz-osx-font-smoothing:grayscale}.note-icon-align-center:before{content:"\f101"}.note-icon-align-indent:before{content:"\f102"}.note-icon-align-justify:before{content:"\f103"}.note-icon-align-left:before{content:"\f104"}.note-icon-align-outdent:before{content:"\f105"}.note-icon-align-right:before{content:"\f106"}.note-icon-align:before{content:"\f107"}.note-icon-arrows-alt:before{content:"\f108"}.note-icon-bold:before{content:"\f109"}.note-icon-caret:before{content:"\f10a"}.note-icon-chain-broken:before{content:"\f10b"}.note-icon-circle:before{content:"\f10c"}.note-icon-close:before{content:"\f10d"}.note-icon-code:before{content:"\f10e"}.note-icon-eraser:before{content:"\f10f"}.note-icon-font:before{content:"\f110"}.note-icon-frame:before{content:"\f111"}.note-icon-italic:before{content:"\f112"}.note-icon-link:before{content:"\f113"}.note-icon-magic:before{content:"\f114"}.note-icon-menu-check:before{content:"\f115"}.note-icon-minus:before{content:"\f116"}.note-icon-orderedlist:before{content:"\f117"}.note-icon-pencil:before{content:"\f118"}.note-icon-picture:before{content:"\f119"}.note-icon-question:before{content:"\f11a"}.note-icon-redo:before{content:"\f11b"}.note-icon-special-character:before{content:"\f11c"}.note-icon-square:before{content:"\f11d"}.note-icon-strikethrough:before{content:"\f11e"}.note-icon-subscript:before{content:"\f11f"}.note-icon-summernote:before{content:"\f120"}.note-icon-superscript:before{content:"\f121"}.note-icon-table:before{content:"\f122"}.note-icon-text-height:before{content:"\f123"}.note-icon-trash:before{content:"\f124"}.note-icon-underline:before{content:"\f125"}.note-icon-undo:before{content:"\f126"}.note-icon-unorderedlist:before{content:"\f127"}.note-icon-video:before{content:"\f128"}.note-editor{position:relative}.note-editor .note-dropzone{position:absolute;z-index:100;display:none;color:#87cefa;background-color:white;opacity:.95}.note-editor .note-dropzone .note-dropzone-message{display:table-cell;font-size:28px;font-weight:bold;text-align:center;vertical-align:middle}.note-editor .note-dropzone.hover{color:#098ddf}.note-editor.dragover .note-dropzone{display:table}.note-editor .note-editing-area{position:relative}.note-editor .note-editing-area .note-editable{outline:0}.note-editor .note-editing-area .note-editable sup{vertical-align:super}.note-editor .note-editing-area .note-editable sub{vertical-align:sub}.note-editor.note-frame{border:1px solid #a9a9a9}.note-editor.note-frame.codeview .note-editing-area .note-editable{display:none}.note-editor.note-frame.codeview .note-editing-area .note-codable{display:block}.note-editor.note-frame .note-editing-area{overflow:hidden}.note-editor.note-frame .note-editing-area .note-editable{padding:10px;overflow:auto;color:#000;background-color:#fff}.note-editor.note-frame .note-editing-area .note-editable[contenteditable="false"]{background-color:#e5e5e5}.note-editor.note-frame .note-editing-area .note-codable{display:none;width:100%;padding:10px;margin-bottom:0;font-family:Menlo,Monaco,monospace,sans-serif;font-size:14px;color:#ccc;background-color:#222;border:0;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0;box-shadow:none;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;-ms-box-sizing:border-box;box-sizing:border-box;resize:none}.note-editor.note-frame.fullscreen{position:fixed;top:0;left:0;z-index:1050;width:100%!important}.note-editor.note-frame.fullscreen .note-editable{background-color:white}.note-editor.note-frame.fullscreen .note-resizebar{display:none}.note-editor.note-frame .note-statusbar{background-color:#f5f5f5;border-bottom-right-radius:4px;border-bottom-left-radius:4px}.note-editor.note-frame .note-statusbar .note-resizebar{width:100%;height:8px;padding-top:1px;cursor:ns-resize}.note-editor.note-frame .note-statusbar .note-resizebar .note-icon-bar{width:20px;margin:1px auto;border-top:1px solid #a9a9a9}.note-editor.note-frame .note-placeholder{padding:10px}.note-popover.popover{max-width:none}.note-popover.popover .popover-content a{display:inline-block;max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;vertical-align:middle}.note-popover.popover .arrow{left:20px!important}.note-popover .popover-content,.panel-heading.note-toolbar{padding:0 0 5px 5px;margin:0}.note-popover .popover-content>.btn-group,.panel-heading.note-toolbar>.btn-group{margin-top:5px;margin-right:5px;margin-left:0}.note-popover .popover-content .btn-group .note-table,.panel-heading.note-toolbar .btn-group .note-table{min-width:0;padding:5px}.note-popover .popover-content .btn-group .note-table .note-dimension-picker,.panel-heading.note-toolbar .btn-group .note-table .note-dimension-picker{font-size:18px}.note-popover .popover-content .btn-group .note-table .note-dimension-picker .note-dimension-picker-mousecatcher,.panel-heading.note-toolbar .btn-group .note-table .note-dimension-picker .note-dimension-picker-mousecatcher{position:absolute!important;z-index:3;width:10em;height:10em;cursor:pointer}.note-popover .popover-content .btn-group .note-table .note-dimension-picker .note-dimension-picker-unhighlighted,.panel-heading.note-toolbar .btn-group .note-table .note-dimension-picker .note-dimension-picker-unhighlighted{position:relative!important;z-index:1;width:5em;height:5em;background:url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAASAgMAAAAroGbEAAAACVBMVEUAAIj4+Pjp6ekKlAqjAAAAAXRSTlMAQObYZgAAAAFiS0dEAIgFHUgAAAAJcEhZcwAACxMAAAsTAQCanBgAAAAHdElNRQfYAR0BKhmnaJzPAAAAG0lEQVQI12NgAAOtVatWMTCohoaGUY+EmIkEAEruEzK2J7tvAAAAAElFTkSuQmCC') repeat}.note-popover .popover-content .btn-group .note-table .note-dimension-picker .note-dimension-picker-highlighted,.panel-heading.note-toolbar .btn-group .note-table .note-dimension-picker .note-dimension-picker-highlighted{position:absolute!important;z-index:2;width:1em;height:1em;background:url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAASAgMAAAAroGbEAAAACVBMVEUAAIjd6vvD2f9LKLW+AAAAAXRSTlMAQObYZgAAAAFiS0dEAIgFHUgAAAAJcEhZcwAACxMAAAsTAQCanBgAAAAHdElNRQfYAR0BKwNDEVT0AAAAG0lEQVQI12NgAAOtVatWMTCohoaGUY+EmIkEAEruEzK2J7tvAAAAAElFTkSuQmCC') repeat}.note-popover .popover-content .note-style h1,.panel-heading.note-toolbar .note-style h1,.note-popover .popover-content .note-style h2,.panel-heading.note-toolbar .note-style h2,.note-popover .popover-content .note-style h3,.panel-heading.note-toolbar .note-style h3,.note-popover .popover-content .note-style h4,.panel-heading.note-toolbar .note-style h4,.note-popover .popover-content .note-style h5,.panel-heading.note-toolbar .note-style h5,.note-popover .popover-content .note-style h6,.panel-heading.note-toolbar .note-style h6,.note-popover .popover-content .note-style blockquote,.panel-heading.note-toolbar .note-style blockquote{margin:0}.note-popover .popover-content .note-color .dropdown-toggle,.panel-heading.note-toolbar .note-color .dropdown-toggle{width:20px;padding-left:5px}.note-popover .popover-content .note-color .dropdown-menu,.panel-heading.note-toolbar .note-color .dropdown-menu{min-width:340px}.note-popover .popover-content .note-color .dropdown-menu .btn-group,.panel-heading.note-toolbar .note-color .dropdown-menu .btn-group{margin:0}.note-popover .popover-content .note-color .dropdown-menu .btn-group:first-child,.panel-heading.note-toolbar .note-color .dropdown-menu .btn-group:first-child{margin:0 5px}.note-popover .popover-content .note-color .dropdown-menu .btn-group .note-palette-title,.panel-heading.note-toolbar .note-color .dropdown-menu .btn-group .note-palette-title{margin:2px 7px;font-size:12px;text-align:center;border-bottom:1px solid #eee}.note-popover .popover-content .note-color .dropdown-menu .btn-group .note-color-reset,.panel-heading.note-toolbar .note-color .dropdown-menu .btn-group .note-color-reset{width:100%;padding:0 3px;margin:3px;font-size:11px;cursor:pointer;-webkit-border-radius:5px;-moz-border-radius:5px;border-radius:5px}.note-popover .popover-content .note-color .dropdown-menu .btn-group .note-color-row,.panel-heading.note-toolbar .note-color .dropdown-menu .btn-group .note-color-row{height:20px}.note-popover .popover-content .note-color .dropdown-menu .btn-group .note-color-reset:hover,.panel-heading.note-toolbar .note-color .dropdown-menu .btn-group .note-color-reset:hover{background:#eee}.note-popover .popover-content .note-para .dropdown-menu,.panel-heading.note-toolbar .note-para .dropdown-menu{min-width:216px;padding:5px}.note-popover .popover-content .note-para .dropdown-menu>div:first-child,.panel-heading.note-toolbar .note-para .dropdown-menu>div:first-child{margin-right:5px}.note-popover .popover-content .dropdown-menu,.panel-heading.note-toolbar .dropdown-menu{min-width:90px}.note-popover .popover-content .dropdown-menu.right,.panel-heading.note-toolbar .dropdown-menu.right{right:0;left:auto}.note-popover .popover-content .dropdown-menu.right::before,.panel-heading.note-toolbar .dropdown-menu.right::before{right:9px;left:auto!important}.note-popover .popover-content .dropdown-menu.right::after,.panel-heading.note-toolbar .dropdown-menu.right::after{right:10px;left:auto!important}.note-popover .popover-content .dropdown-menu.note-check li a i,.panel-heading.note-toolbar .dropdown-menu.note-check li a i{color:deepskyblue;visibility:hidden}.note-popover .popover-content .dropdown-menu.note-check li a.checked i,.panel-heading.note-toolbar .dropdown-menu.note-check li a.checked i{visibility:visible}.note-popover .popover-content .note-fontsize-10,.panel-heading.note-toolbar .note-fontsize-10{font-size:10px}.note-popover .popover-content .note-color-palette,.panel-heading.note-toolbar .note-color-palette{line-height:1}.note-popover .popover-content .note-color-palette div .note-color-btn,.panel-heading.note-toolbar .note-color-palette div .note-color-btn{width:20px;height:20px;padding:0;margin:0;border:1px solid #fff}.note-popover .popover-content .note-color-palette div .note-color-btn:hover,.panel-heading.note-toolbar .note-color-palette div .note-color-btn:hover{border:1px solid #000}.note-dialog>div{display:none}.note-dialog .form-group{margin-right:0;margin-left:0}.note-dialog .note-modal-form{margin:0}.note-dialog .note-image-dialog .note-dropzone{min-height:100px;margin-bottom:10px;font-size:30px;line-height:4;color:lightgray;text-align:center;border:4px dashed lightgray}@-moz-document url-prefix(){.note-image-input{height:auto}}.note-placeholder{position:absolute;display:none;color:gray}.note-handle .note-control-selection{position:absolute;display:none;border:1px solid black}.note-handle .note-control-selection>div{position:absolute}.note-handle .note-control-selection .note-control-selection-bg{width:100%;height:100%;background-color:black;-webkit-opacity:.3;-khtml-opacity:.3;-moz-opacity:.3;opacity:.3;-ms-filter:alpha(opacity=30);filter:alpha(opacity=30)}.note-handle .note-control-selection .note-control-handle{width:7px;height:7px;border:1px solid black}.note-handle .note-control-selection .note-control-holder{width:7px;height:7px;border:1px solid black}.note-handle .note-control-selection .note-control-sizing{width:7px;height:7px;background-color:white;border:1px solid black}.note-handle .note-control-selection .note-control-nw{top:-5px;left:-5px;border-right:0;border-bottom:0}.note-handle .note-control-selection .note-control-ne{top:-5px;right:-5px;border-bottom:0;border-left:none}.note-handle .note-control-selection .note-control-sw{bottom:-5px;left:-5px;border-top:0;border-right:0}.note-handle .note-control-selection .note-control-se{right:-5px;bottom:-5px;cursor:se-resize}.note-handle .note-control-selection .note-control-se.note-control-holder{cursor:default;border-top:0;border-left:none}.note-handle .note-control-selection .note-control-selection-info{right:0;bottom:0;padding:5px;margin:5px;font-size:12px;color:white;background-color:black;-webkit-border-radius:5px;-moz-border-radius:5px;border-radius:5px;-webkit-opacity:.7;-khtml-opacity:.7;-moz-opacity:.7;opacity:.7;-ms-filter:alpha(opacity=70);filter:alpha(opacity=70)}.note-hint-popover{min-width:100px;padding:2px}.note-hint-popover .popover-content{max-height:150px;padding:3px;overflow:auto}.note-hint-popover .popover-content .note-hint-group .note-hint-item{display:block!important;padding:3px}.note-hint-popover .popover-content .note-hint-group .note-hint-item.active,.note-hint-popover .popover-content .note-hint-group .note-hint-item:hover{display:block;clear:both;font-weight:400;line-height:1.4;color:white;text-decoration:none;white-space:nowrap;cursor:pointer;background-color:#428bca;outline:0} \ No newline at end of file diff --git a/liste-envies-war/src/main/webapp/js/lib/summernotes/summernote.js b/liste-envies-war/src/main/webapp/js/lib/summernotes/summernote.js new file mode 100644 index 00000000..c3705fb8 --- /dev/null +++ b/liste-envies-war/src/main/webapp/js/lib/summernotes/summernote.js @@ -0,0 +1,7046 @@ +/** + * Super simple wysiwyg editor v0.8.2 + * http://summernote.org/ + * + * summernote.js + * Copyright 2013-2016 Alan Hong. and other contributors + * summernote may be freely distributed under the MIT license./ + * + * Date: 2016-08-08T01:21Z + */ +(function (factory) { + /* global define */ + if (typeof define === 'function' && define.amd) { + // AMD. Register as an anonymous module. + define(['jquery'], factory); + } else if (typeof module === 'object' && module.exports) { + // Node/CommonJS + module.exports = factory(require('jquery')); + } else { + // Browser globals + factory(window.jQuery); + } +}(function ($) { + 'use strict'; + + /** + * @class core.func + * + * func utils (for high-order func's arg) + * + * @singleton + * @alternateClassName func + */ + var func = (function () { + var eq = function (itemA) { + return function (itemB) { + return itemA === itemB; + }; + }; + + var eq2 = function (itemA, itemB) { + return itemA === itemB; + }; + + var peq2 = function (propName) { + return function (itemA, itemB) { + return itemA[propName] === itemB[propName]; + }; + }; + + var ok = function () { + return true; + }; + + var fail = function () { + return false; + }; + + var not = function (f) { + return function () { + return !f.apply(f, arguments); + }; + }; + + var and = function (fA, fB) { + return function (item) { + return fA(item) && fB(item); + }; + }; + + var self = function (a) { + return a; + }; + + var invoke = function (obj, method) { + return function () { + return obj[method].apply(obj, arguments); + }; + }; + + var idCounter = 0; + + /** + * generate a globally-unique id + * + * @param {String} [prefix] + */ + var uniqueId = function (prefix) { + var id = ++idCounter + ''; + return prefix ? prefix + id : id; + }; + + /** + * returns bnd (bounds) from rect + * + * - IE Compatibility Issue: http://goo.gl/sRLOAo + * - Scroll Issue: http://goo.gl/sNjUc + * + * @param {Rect} rect + * @return {Object} bounds + * @return {Number} bounds.top + * @return {Number} bounds.left + * @return {Number} bounds.width + * @return {Number} bounds.height + */ + var rect2bnd = function (rect) { + var $document = $(document); + return { + top: rect.top + $document.scrollTop(), + left: rect.left + $document.scrollLeft(), + width: rect.right - rect.left, + height: rect.bottom - rect.top + }; + }; + + /** + * returns a copy of the object where the keys have become the values and the values the keys. + * @param {Object} obj + * @return {Object} + */ + var invertObject = function (obj) { + var inverted = {}; + for (var key in obj) { + if (obj.hasOwnProperty(key)) { + inverted[obj[key]] = key; + } + } + return inverted; + }; + + /** + * @param {String} namespace + * @param {String} [prefix] + * @return {String} + */ + var namespaceToCamel = function (namespace, prefix) { + prefix = prefix || ''; + return prefix + namespace.split('.').map(function (name) { + return name.substring(0, 1).toUpperCase() + name.substring(1); + }).join(''); + }; + + /** + * Returns a function, that, as long as it continues to be invoked, will not + * be triggered. The function will be called after it stops being called for + * N milliseconds. If `immediate` is passed, trigger the function on the + * leading edge, instead of the trailing. + * @param {Function} func + * @param {Number} wait + * @param {Boolean} immediate + * @return {Function} + */ + var debounce = function (func, wait, immediate) { + var timeout; + return function () { + var context = this, args = arguments; + var later = function () { + timeout = null; + if (!immediate) { + func.apply(context, args); + } + }; + var callNow = immediate && !timeout; + clearTimeout(timeout); + timeout = setTimeout(later, wait); + if (callNow) { + func.apply(context, args); + } + }; + }; + + return { + eq: eq, + eq2: eq2, + peq2: peq2, + ok: ok, + fail: fail, + self: self, + not: not, + and: and, + invoke: invoke, + uniqueId: uniqueId, + rect2bnd: rect2bnd, + invertObject: invertObject, + namespaceToCamel: namespaceToCamel, + debounce: debounce + }; + })(); + + /** + * @class core.list + * + * list utils + * + * @singleton + * @alternateClassName list + */ + var list = (function () { + /** + * returns the first item of an array. + * + * @param {Array} array + */ + var head = function (array) { + return array[0]; + }; + + /** + * returns the last item of an array. + * + * @param {Array} array + */ + var last = function (array) { + return array[array.length - 1]; + }; + + /** + * returns everything but the last entry of the array. + * + * @param {Array} array + */ + var initial = function (array) { + return array.slice(0, array.length - 1); + }; + + /** + * returns the rest of the items in an array. + * + * @param {Array} array + */ + var tail = function (array) { + return array.slice(1); + }; + + /** + * returns item of array + */ + var find = function (array, pred) { + for (var idx = 0, len = array.length; idx < len; idx ++) { + var item = array[idx]; + if (pred(item)) { + return item; + } + } + }; + + /** + * returns true if all of the values in the array pass the predicate truth test. + */ + var all = function (array, pred) { + for (var idx = 0, len = array.length; idx < len; idx ++) { + if (!pred(array[idx])) { + return false; + } + } + return true; + }; + + /** + * returns index of item + */ + var indexOf = function (array, item) { + return $.inArray(item, array); + }; + + /** + * returns true if the value is present in the list. + */ + var contains = function (array, item) { + return indexOf(array, item) !== -1; + }; + + /** + * get sum from a list + * + * @param {Array} array - array + * @param {Function} fn - iterator + */ + var sum = function (array, fn) { + fn = fn || func.self; + return array.reduce(function (memo, v) { + return memo + fn(v); + }, 0); + }; + + /** + * returns a copy of the collection with array type. + * @param {Collection} collection - collection eg) node.childNodes, ... + */ + var from = function (collection) { + var result = [], idx = -1, length = collection.length; + while (++idx < length) { + result[idx] = collection[idx]; + } + return result; + }; + + /** + * returns whether list is empty or not + */ + var isEmpty = function (array) { + return !array || !array.length; + }; + + /** + * cluster elements by predicate function. + * + * @param {Array} array - array + * @param {Function} fn - predicate function for cluster rule + * @param {Array[]} + */ + var clusterBy = function (array, fn) { + if (!array.length) { return []; } + var aTail = tail(array); + return aTail.reduce(function (memo, v) { + var aLast = last(memo); + if (fn(last(aLast), v)) { + aLast[aLast.length] = v; + } else { + memo[memo.length] = [v]; + } + return memo; + }, [[head(array)]]); + }; + + /** + * returns a copy of the array with all false values removed + * + * @param {Array} array - array + * @param {Function} fn - predicate function for cluster rule + */ + var compact = function (array) { + var aResult = []; + for (var idx = 0, len = array.length; idx < len; idx ++) { + if (array[idx]) { aResult.push(array[idx]); } + } + return aResult; + }; + + /** + * produces a duplicate-free version of the array + * + * @param {Array} array + */ + var unique = function (array) { + var results = []; + + for (var idx = 0, len = array.length; idx < len; idx ++) { + if (!contains(results, array[idx])) { + results.push(array[idx]); + } + } + + return results; + }; + + /** + * returns next item. + * @param {Array} array + */ + var next = function (array, item) { + var idx = indexOf(array, item); + if (idx === -1) { return null; } + + return array[idx + 1]; + }; + + /** + * returns prev item. + * @param {Array} array + */ + var prev = function (array, item) { + var idx = indexOf(array, item); + if (idx === -1) { return null; } + + return array[idx - 1]; + }; + + return { head: head, last: last, initial: initial, tail: tail, + prev: prev, next: next, find: find, contains: contains, + all: all, sum: sum, from: from, isEmpty: isEmpty, + clusterBy: clusterBy, compact: compact, unique: unique }; + })(); + + var isSupportAmd = typeof define === 'function' && define.amd; + + /** + * returns whether font is installed or not. + * + * @param {String} fontName + * @return {Boolean} + */ + var isFontInstalled = function (fontName) { + var testFontName = fontName === 'Comic Sans MS' ? 'Courier New' : 'Comic Sans MS'; + var $tester = $('

').css({ + position: 'absolute', + left: '-9999px', + top: '-9999px', + fontSize: '200px' + }).text('mmmmmmmmmwwwwwww').appendTo(document.body); + + var originalWidth = $tester.css('fontFamily', testFontName).width(); + var width = $tester.css('fontFamily', fontName + ',' + testFontName).width(); + + $tester.remove(); + + return originalWidth !== width; + }; + + var userAgent = navigator.userAgent; + var isMSIE = /MSIE|Trident/i.test(userAgent); + var browserVersion; + if (isMSIE) { + var matches = /MSIE (\d+[.]\d+)/.exec(userAgent); + if (matches) { + browserVersion = parseFloat(matches[1]); + } + matches = /Trident\/.*rv:([0-9]{1,}[\.0-9]{0,})/.exec(userAgent); + if (matches) { + browserVersion = parseFloat(matches[1]); + } + } + + var isEdge = /Edge\/\d+/.test(userAgent); + + var hasCodeMirror = !!window.CodeMirror; + if (!hasCodeMirror && isSupportAmd && typeof require !== 'undefined') { + if (typeof require.resolve !== 'undefined') { + try { + // If CodeMirror can't be resolved, `require.resolve` will throw an + // exception and `hasCodeMirror` won't be set to `true`. + require.resolve('codemirror'); + hasCodeMirror = true; + } catch (e) { + // Do nothing. + } + } else if (typeof eval('require').specified !== 'undefined') { + hasCodeMirror = eval('require').specified('codemirror'); + } + } + + /** + * @class core.agent + * + * Object which check platform and agent + * + * @singleton + * @alternateClassName agent + */ + var agent = { + isMac: navigator.appVersion.indexOf('Mac') > -1, + isMSIE: isMSIE, + isEdge: isEdge, + isFF: !isEdge && /firefox/i.test(userAgent), + isPhantom: /PhantomJS/i.test(userAgent), + isWebkit: !isEdge && /webkit/i.test(userAgent), + isChrome: !isEdge && /chrome/i.test(userAgent), + isSafari: !isEdge && /safari/i.test(userAgent), + browserVersion: browserVersion, + jqueryVersion: parseFloat($.fn.jquery), + isSupportAmd: isSupportAmd, + hasCodeMirror: hasCodeMirror, + isFontInstalled: isFontInstalled, + isW3CRangeSupport: !!document.createRange + }; + + + var NBSP_CHAR = String.fromCharCode(160); + var ZERO_WIDTH_NBSP_CHAR = '\ufeff'; + + /** + * @class core.dom + * + * Dom functions + * + * @singleton + * @alternateClassName dom + */ + var dom = (function () { + /** + * @method isEditable + * + * returns whether node is `note-editable` or not. + * + * @param {Node} node + * @return {Boolean} + */ + var isEditable = function (node) { + return node && $(node).hasClass('note-editable'); + }; + + /** + * @method isControlSizing + * + * returns whether node is `note-control-sizing` or not. + * + * @param {Node} node + * @return {Boolean} + */ + var isControlSizing = function (node) { + return node && $(node).hasClass('note-control-sizing'); + }; + + /** + * @method makePredByNodeName + * + * returns predicate which judge whether nodeName is same + * + * @param {String} nodeName + * @return {Function} + */ + var makePredByNodeName = function (nodeName) { + nodeName = nodeName.toUpperCase(); + return function (node) { + return node && node.nodeName.toUpperCase() === nodeName; + }; + }; + + /** + * @method isText + * + * + * + * @param {Node} node + * @return {Boolean} true if node's type is text(3) + */ + var isText = function (node) { + return node && node.nodeType === 3; + }; + + /** + * @method isElement + * + * + * + * @param {Node} node + * @return {Boolean} true if node's type is element(1) + */ + var isElement = function (node) { + return node && node.nodeType === 1; + }; + + /** + * ex) br, col, embed, hr, img, input, ... + * @see http://www.w3.org/html/wg/drafts/html/master/syntax.html#void-elements + */ + var isVoid = function (node) { + return node && /^BR|^IMG|^HR|^IFRAME|^BUTTON/.test(node.nodeName.toUpperCase()); + }; + + var isPara = function (node) { + if (isEditable(node)) { + return false; + } + + // Chrome(v31.0), FF(v25.0.1) use DIV for paragraph + return node && /^DIV|^P|^LI|^H[1-7]/.test(node.nodeName.toUpperCase()); + }; + + var isHeading = function (node) { + return node && /^H[1-7]/.test(node.nodeName.toUpperCase()); + }; + + var isPre = makePredByNodeName('PRE'); + + var isLi = makePredByNodeName('LI'); + + var isPurePara = function (node) { + return isPara(node) && !isLi(node); + }; + + var isTable = makePredByNodeName('TABLE'); + + var isData = makePredByNodeName('DATA'); + + var isInline = function (node) { + return !isBodyContainer(node) && + !isList(node) && + !isHr(node) && + !isPara(node) && + !isTable(node) && + !isBlockquote(node) && + !isData(node); + }; + + var isList = function (node) { + return node && /^UL|^OL/.test(node.nodeName.toUpperCase()); + }; + + var isHr = makePredByNodeName('HR'); + + var isCell = function (node) { + return node && /^TD|^TH/.test(node.nodeName.toUpperCase()); + }; + + var isBlockquote = makePredByNodeName('BLOCKQUOTE'); + + var isBodyContainer = function (node) { + return isCell(node) || isBlockquote(node) || isEditable(node); + }; + + var isAnchor = makePredByNodeName('A'); + + var isParaInline = function (node) { + return isInline(node) && !!ancestor(node, isPara); + }; + + var isBodyInline = function (node) { + return isInline(node) && !ancestor(node, isPara); + }; + + var isBody = makePredByNodeName('BODY'); + + /** + * returns whether nodeB is closest sibling of nodeA + * + * @param {Node} nodeA + * @param {Node} nodeB + * @return {Boolean} + */ + var isClosestSibling = function (nodeA, nodeB) { + return nodeA.nextSibling === nodeB || + nodeA.previousSibling === nodeB; + }; + + /** + * returns array of closest siblings with node + * + * @param {Node} node + * @param {function} [pred] - predicate function + * @return {Node[]} + */ + var withClosestSiblings = function (node, pred) { + pred = pred || func.ok; + + var siblings = []; + if (node.previousSibling && pred(node.previousSibling)) { + siblings.push(node.previousSibling); + } + siblings.push(node); + if (node.nextSibling && pred(node.nextSibling)) { + siblings.push(node.nextSibling); + } + return siblings; + }; + + /** + * blank HTML for cursor position + * - [workaround] old IE only works with   + * - [workaround] IE11 and other browser works with bogus br + */ + var blankHTML = agent.isMSIE && agent.browserVersion < 11 ? ' ' : '
'; + + /** + * @method nodeLength + * + * returns #text's text size or element's childNodes size + * + * @param {Node} node + */ + var nodeLength = function (node) { + if (isText(node)) { + return node.nodeValue.length; + } + + if (node) { + return node.childNodes.length; + } + + return 0; + + }; + + /** + * returns whether node is empty or not. + * + * @param {Node} node + * @return {Boolean} + */ + var isEmpty = function (node) { + var len = nodeLength(node); + + if (len === 0) { + return true; + } else if (!isText(node) && len === 1 && node.innerHTML === blankHTML) { + // ex)


,
+ return true; + } else if (list.all(node.childNodes, isText) && node.innerHTML === '') { + // ex)

, + return true; + } + + return false; + }; + + /** + * padding blankHTML if node is empty (for cursor position) + */ + var paddingBlankHTML = function (node) { + if (!isVoid(node) && !nodeLength(node)) { + node.innerHTML = blankHTML; + } + }; + + /** + * find nearest ancestor predicate hit + * + * @param {Node} node + * @param {Function} pred - predicate function + */ + var ancestor = function (node, pred) { + while (node) { + if (pred(node)) { return node; } + if (isEditable(node)) { break; } + + node = node.parentNode; + } + return null; + }; + + /** + * find nearest ancestor only single child blood line and predicate hit + * + * @param {Node} node + * @param {Function} pred - predicate function + */ + var singleChildAncestor = function (node, pred) { + node = node.parentNode; + + while (node) { + if (nodeLength(node) !== 1) { break; } + if (pred(node)) { return node; } + if (isEditable(node)) { break; } + + node = node.parentNode; + } + return null; + }; + + /** + * returns new array of ancestor nodes (until predicate hit). + * + * @param {Node} node + * @param {Function} [optional] pred - predicate function + */ + var listAncestor = function (node, pred) { + pred = pred || func.fail; + + var ancestors = []; + ancestor(node, function (el) { + if (!isEditable(el)) { + ancestors.push(el); + } + + return pred(el); + }); + return ancestors; + }; + + /** + * find farthest ancestor predicate hit + */ + var lastAncestor = function (node, pred) { + var ancestors = listAncestor(node); + return list.last(ancestors.filter(pred)); + }; + + /** + * returns common ancestor node between two nodes. + * + * @param {Node} nodeA + * @param {Node} nodeB + */ + var commonAncestor = function (nodeA, nodeB) { + var ancestors = listAncestor(nodeA); + for (var n = nodeB; n; n = n.parentNode) { + if ($.inArray(n, ancestors) > -1) { return n; } + } + return null; // difference document area + }; + + /** + * listing all previous siblings (until predicate hit). + * + * @param {Node} node + * @param {Function} [optional] pred - predicate function + */ + var listPrev = function (node, pred) { + pred = pred || func.fail; + + var nodes = []; + while (node) { + if (pred(node)) { break; } + nodes.push(node); + node = node.previousSibling; + } + return nodes; + }; + + /** + * listing next siblings (until predicate hit). + * + * @param {Node} node + * @param {Function} [pred] - predicate function + */ + var listNext = function (node, pred) { + pred = pred || func.fail; + + var nodes = []; + while (node) { + if (pred(node)) { break; } + nodes.push(node); + node = node.nextSibling; + } + return nodes; + }; + + /** + * listing descendant nodes + * + * @param {Node} node + * @param {Function} [pred] - predicate function + */ + var listDescendant = function (node, pred) { + var descendants = []; + pred = pred || func.ok; + + // start DFS(depth first search) with node + (function fnWalk(current) { + if (node !== current && pred(current)) { + descendants.push(current); + } + for (var idx = 0, len = current.childNodes.length; idx < len; idx++) { + fnWalk(current.childNodes[idx]); + } + })(node); + + return descendants; + }; + + /** + * wrap node with new tag. + * + * @param {Node} node + * @param {Node} tagName of wrapper + * @return {Node} - wrapper + */ + var wrap = function (node, wrapperName) { + var parent = node.parentNode; + var wrapper = $('<' + wrapperName + '>')[0]; + + parent.insertBefore(wrapper, node); + wrapper.appendChild(node); + + return wrapper; + }; + + /** + * insert node after preceding + * + * @param {Node} node + * @param {Node} preceding - predicate function + */ + var insertAfter = function (node, preceding) { + var next = preceding.nextSibling, parent = preceding.parentNode; + if (next) { + parent.insertBefore(node, next); + } else { + parent.appendChild(node); + } + return node; + }; + + /** + * append elements. + * + * @param {Node} node + * @param {Collection} aChild + */ + var appendChildNodes = function (node, aChild) { + $.each(aChild, function (idx, child) { + node.appendChild(child); + }); + return node; + }; + + /** + * returns whether boundaryPoint is left edge or not. + * + * @param {BoundaryPoint} point + * @return {Boolean} + */ + var isLeftEdgePoint = function (point) { + return point.offset === 0; + }; + + /** + * returns whether boundaryPoint is right edge or not. + * + * @param {BoundaryPoint} point + * @return {Boolean} + */ + var isRightEdgePoint = function (point) { + return point.offset === nodeLength(point.node); + }; + + /** + * returns whether boundaryPoint is edge or not. + * + * @param {BoundaryPoint} point + * @return {Boolean} + */ + var isEdgePoint = function (point) { + return isLeftEdgePoint(point) || isRightEdgePoint(point); + }; + + /** + * returns whether node is left edge of ancestor or not. + * + * @param {Node} node + * @param {Node} ancestor + * @return {Boolean} + */ + var isLeftEdgeOf = function (node, ancestor) { + while (node && node !== ancestor) { + if (position(node) !== 0) { + return false; + } + node = node.parentNode; + } + + return true; + }; + + /** + * returns whether node is right edge of ancestor or not. + * + * @param {Node} node + * @param {Node} ancestor + * @return {Boolean} + */ + var isRightEdgeOf = function (node, ancestor) { + if (!ancestor) { + return false; + } + while (node && node !== ancestor) { + if (position(node) !== nodeLength(node.parentNode) - 1) { + return false; + } + node = node.parentNode; + } + + return true; + }; + + /** + * returns whether point is left edge of ancestor or not. + * @param {BoundaryPoint} point + * @param {Node} ancestor + * @return {Boolean} + */ + var isLeftEdgePointOf = function (point, ancestor) { + return isLeftEdgePoint(point) && isLeftEdgeOf(point.node, ancestor); + }; + + /** + * returns whether point is right edge of ancestor or not. + * @param {BoundaryPoint} point + * @param {Node} ancestor + * @return {Boolean} + */ + var isRightEdgePointOf = function (point, ancestor) { + return isRightEdgePoint(point) && isRightEdgeOf(point.node, ancestor); + }; + + /** + * returns offset from parent. + * + * @param {Node} node + */ + var position = function (node) { + var offset = 0; + while ((node = node.previousSibling)) { + offset += 1; + } + return offset; + }; + + var hasChildren = function (node) { + return !!(node && node.childNodes && node.childNodes.length); + }; + + /** + * returns previous boundaryPoint + * + * @param {BoundaryPoint} point + * @param {Boolean} isSkipInnerOffset + * @return {BoundaryPoint} + */ + var prevPoint = function (point, isSkipInnerOffset) { + var node, offset; + + if (point.offset === 0) { + if (isEditable(point.node)) { + return null; + } + + node = point.node.parentNode; + offset = position(point.node); + } else if (hasChildren(point.node)) { + node = point.node.childNodes[point.offset - 1]; + offset = nodeLength(node); + } else { + node = point.node; + offset = isSkipInnerOffset ? 0 : point.offset - 1; + } + + return { + node: node, + offset: offset + }; + }; + + /** + * returns next boundaryPoint + * + * @param {BoundaryPoint} point + * @param {Boolean} isSkipInnerOffset + * @return {BoundaryPoint} + */ + var nextPoint = function (point, isSkipInnerOffset) { + var node, offset; + + if (nodeLength(point.node) === point.offset) { + if (isEditable(point.node)) { + return null; + } + + node = point.node.parentNode; + offset = position(point.node) + 1; + } else if (hasChildren(point.node)) { + node = point.node.childNodes[point.offset]; + offset = 0; + } else { + node = point.node; + offset = isSkipInnerOffset ? nodeLength(point.node) : point.offset + 1; + } + + return { + node: node, + offset: offset + }; + }; + + /** + * returns whether pointA and pointB is same or not. + * + * @param {BoundaryPoint} pointA + * @param {BoundaryPoint} pointB + * @return {Boolean} + */ + var isSamePoint = function (pointA, pointB) { + return pointA.node === pointB.node && pointA.offset === pointB.offset; + }; + + /** + * returns whether point is visible (can set cursor) or not. + * + * @param {BoundaryPoint} point + * @return {Boolean} + */ + var isVisiblePoint = function (point) { + if (isText(point.node) || !hasChildren(point.node) || isEmpty(point.node)) { + return true; + } + + var leftNode = point.node.childNodes[point.offset - 1]; + var rightNode = point.node.childNodes[point.offset]; + if ((!leftNode || isVoid(leftNode)) && (!rightNode || isVoid(rightNode))) { + return true; + } + + return false; + }; + + /** + * @method prevPointUtil + * + * @param {BoundaryPoint} point + * @param {Function} pred + * @return {BoundaryPoint} + */ + var prevPointUntil = function (point, pred) { + while (point) { + if (pred(point)) { + return point; + } + + point = prevPoint(point); + } + + return null; + }; + + /** + * @method nextPointUntil + * + * @param {BoundaryPoint} point + * @param {Function} pred + * @return {BoundaryPoint} + */ + var nextPointUntil = function (point, pred) { + while (point) { + if (pred(point)) { + return point; + } + + point = nextPoint(point); + } + + return null; + }; + + /** + * returns whether point has character or not. + * + * @param {Point} point + * @return {Boolean} + */ + var isCharPoint = function (point) { + if (!isText(point.node)) { + return false; + } + + var ch = point.node.nodeValue.charAt(point.offset - 1); + return ch && (ch !== ' ' && ch !== NBSP_CHAR); + }; + + /** + * @method walkPoint + * + * @param {BoundaryPoint} startPoint + * @param {BoundaryPoint} endPoint + * @param {Function} handler + * @param {Boolean} isSkipInnerOffset + */ + var walkPoint = function (startPoint, endPoint, handler, isSkipInnerOffset) { + var point = startPoint; + + while (point) { + handler(point); + + if (isSamePoint(point, endPoint)) { + break; + } + + var isSkipOffset = isSkipInnerOffset && + startPoint.node !== point.node && + endPoint.node !== point.node; + point = nextPoint(point, isSkipOffset); + } + }; + + /** + * @method makeOffsetPath + * + * return offsetPath(array of offset) from ancestor + * + * @param {Node} ancestor - ancestor node + * @param {Node} node + */ + var makeOffsetPath = function (ancestor, node) { + var ancestors = listAncestor(node, func.eq(ancestor)); + return ancestors.map(position).reverse(); + }; + + /** + * @method fromOffsetPath + * + * return element from offsetPath(array of offset) + * + * @param {Node} ancestor - ancestor node + * @param {array} offsets - offsetPath + */ + var fromOffsetPath = function (ancestor, offsets) { + var current = ancestor; + for (var i = 0, len = offsets.length; i < len; i++) { + if (current.childNodes.length <= offsets[i]) { + current = current.childNodes[current.childNodes.length - 1]; + } else { + current = current.childNodes[offsets[i]]; + } + } + return current; + }; + + /** + * @method splitNode + * + * split element or #text + * + * @param {BoundaryPoint} point + * @param {Object} [options] + * @param {Boolean} [options.isSkipPaddingBlankHTML] - default: false + * @param {Boolean} [options.isNotSplitEdgePoint] - default: false + * @return {Node} right node of boundaryPoint + */ + var splitNode = function (point, options) { + var isSkipPaddingBlankHTML = options && options.isSkipPaddingBlankHTML; + var isNotSplitEdgePoint = options && options.isNotSplitEdgePoint; + + // edge case + if (isEdgePoint(point) && (isText(point.node) || isNotSplitEdgePoint)) { + if (isLeftEdgePoint(point)) { + return point.node; + } else if (isRightEdgePoint(point)) { + return point.node.nextSibling; + } + } + + // split #text + if (isText(point.node)) { + return point.node.splitText(point.offset); + } else { + var childNode = point.node.childNodes[point.offset]; + var clone = insertAfter(point.node.cloneNode(false), point.node); + appendChildNodes(clone, listNext(childNode)); + + if (!isSkipPaddingBlankHTML) { + paddingBlankHTML(point.node); + paddingBlankHTML(clone); + } + + return clone; + } + }; + + /** + * @method splitTree + * + * split tree by point + * + * @param {Node} root - split root + * @param {BoundaryPoint} point + * @param {Object} [options] + * @param {Boolean} [options.isSkipPaddingBlankHTML] - default: false + * @param {Boolean} [options.isNotSplitEdgePoint] - default: false + * @return {Node} right node of boundaryPoint + */ + var splitTree = function (root, point, options) { + // ex) [#text, ,

] + var ancestors = listAncestor(point.node, func.eq(root)); + + if (!ancestors.length) { + return null; + } else if (ancestors.length === 1) { + return splitNode(point, options); + } + + return ancestors.reduce(function (node, parent) { + if (node === point.node) { + node = splitNode(point, options); + } + + return splitNode({ + node: parent, + offset: node ? dom.position(node) : nodeLength(parent) + }, options); + }); + }; + + /** + * split point + * + * @param {Point} point + * @param {Boolean} isInline + * @return {Object} + */ + var splitPoint = function (point, isInline) { + // find splitRoot, container + // - inline: splitRoot is a child of paragraph + // - block: splitRoot is a child of bodyContainer + var pred = isInline ? isPara : isBodyContainer; + var ancestors = listAncestor(point.node, pred); + var topAncestor = list.last(ancestors) || point.node; + + var splitRoot, container; + if (pred(topAncestor)) { + splitRoot = ancestors[ancestors.length - 2]; + container = topAncestor; + } else { + splitRoot = topAncestor; + container = splitRoot.parentNode; + } + + // if splitRoot is exists, split with splitTree + var pivot = splitRoot && splitTree(splitRoot, point, { + isSkipPaddingBlankHTML: isInline, + isNotSplitEdgePoint: isInline + }); + + // if container is point.node, find pivot with point.offset + if (!pivot && container === point.node) { + pivot = point.node.childNodes[point.offset]; + } + + return { + rightNode: pivot, + container: container + }; + }; + + var create = function (nodeName) { + return document.createElement(nodeName); + }; + + var createText = function (text) { + return document.createTextNode(text); + }; + + /** + * @method remove + * + * remove node, (isRemoveChild: remove child or not) + * + * @param {Node} node + * @param {Boolean} isRemoveChild + */ + var remove = function (node, isRemoveChild) { + if (!node || !node.parentNode) { return; } + if (node.removeNode) { return node.removeNode(isRemoveChild); } + + var parent = node.parentNode; + if (!isRemoveChild) { + var nodes = []; + var i, len; + for (i = 0, len = node.childNodes.length; i < len; i++) { + nodes.push(node.childNodes[i]); + } + + for (i = 0, len = nodes.length; i < len; i++) { + parent.insertBefore(nodes[i], node); + } + } + + parent.removeChild(node); + }; + + /** + * @method removeWhile + * + * @param {Node} node + * @param {Function} pred + */ + var removeWhile = function (node, pred) { + while (node) { + if (isEditable(node) || !pred(node)) { + break; + } + + var parent = node.parentNode; + remove(node); + node = parent; + } + }; + + /** + * @method replace + * + * replace node with provided nodeName + * + * @param {Node} node + * @param {String} nodeName + * @return {Node} - new node + */ + var replace = function (node, nodeName) { + if (node.nodeName.toUpperCase() === nodeName.toUpperCase()) { + return node; + } + + var newNode = create(nodeName); + + if (node.style.cssText) { + newNode.style.cssText = node.style.cssText; + } + + appendChildNodes(newNode, list.from(node.childNodes)); + insertAfter(newNode, node); + remove(node); + + return newNode; + }; + + var isTextarea = makePredByNodeName('TEXTAREA'); + + /** + * @param {jQuery} $node + * @param {Boolean} [stripLinebreaks] - default: false + */ + var value = function ($node, stripLinebreaks) { + var val = isTextarea($node[0]) ? $node.val() : $node.html(); + if (stripLinebreaks) { + return val.replace(/[\n\r]/g, ''); + } + return val; + }; + + /** + * @method html + * + * get the HTML contents of node + * + * @param {jQuery} $node + * @param {Boolean} [isNewlineOnBlock] + */ + var html = function ($node, isNewlineOnBlock) { + var markup = value($node); + + if (isNewlineOnBlock) { + var regexTag = /<(\/?)(\b(?!!)[^>\s]*)(.*?)(\s*\/?>)/g; + markup = markup.replace(regexTag, function (match, endSlash, name) { + name = name.toUpperCase(); + var isEndOfInlineContainer = /^DIV|^TD|^TH|^P|^LI|^H[1-7]/.test(name) && + !!endSlash; + var isBlockNode = /^BLOCKQUOTE|^TABLE|^TBODY|^TR|^HR|^UL|^OL/.test(name); + + return match + ((isEndOfInlineContainer || isBlockNode) ? '\n' : ''); + }); + markup = $.trim(markup); + } + + return markup; + }; + + var posFromPlaceholder = function (placeholder) { + var $placeholder = $(placeholder); + var pos = $placeholder.offset(); + var height = $placeholder.outerHeight(true); // include margin + + return { + left: pos.left, + top: pos.top + height + }; + }; + + var attachEvents = function ($node, events) { + Object.keys(events).forEach(function (key) { + $node.on(key, events[key]); + }); + }; + + var detachEvents = function ($node, events) { + Object.keys(events).forEach(function (key) { + $node.off(key, events[key]); + }); + }; + + return { + /** @property {String} NBSP_CHAR */ + NBSP_CHAR: NBSP_CHAR, + /** @property {String} ZERO_WIDTH_NBSP_CHAR */ + ZERO_WIDTH_NBSP_CHAR: ZERO_WIDTH_NBSP_CHAR, + /** @property {String} blank */ + blank: blankHTML, + /** @property {String} emptyPara */ + emptyPara: '

' + blankHTML + '

', + makePredByNodeName: makePredByNodeName, + isEditable: isEditable, + isControlSizing: isControlSizing, + isText: isText, + isElement: isElement, + isVoid: isVoid, + isPara: isPara, + isPurePara: isPurePara, + isHeading: isHeading, + isInline: isInline, + isBlock: func.not(isInline), + isBodyInline: isBodyInline, + isBody: isBody, + isParaInline: isParaInline, + isPre: isPre, + isList: isList, + isTable: isTable, + isData: isData, + isCell: isCell, + isBlockquote: isBlockquote, + isBodyContainer: isBodyContainer, + isAnchor: isAnchor, + isDiv: makePredByNodeName('DIV'), + isLi: isLi, + isBR: makePredByNodeName('BR'), + isSpan: makePredByNodeName('SPAN'), + isB: makePredByNodeName('B'), + isU: makePredByNodeName('U'), + isS: makePredByNodeName('S'), + isI: makePredByNodeName('I'), + isImg: makePredByNodeName('IMG'), + isTextarea: isTextarea, + isEmpty: isEmpty, + isEmptyAnchor: func.and(isAnchor, isEmpty), + isClosestSibling: isClosestSibling, + withClosestSiblings: withClosestSiblings, + nodeLength: nodeLength, + isLeftEdgePoint: isLeftEdgePoint, + isRightEdgePoint: isRightEdgePoint, + isEdgePoint: isEdgePoint, + isLeftEdgeOf: isLeftEdgeOf, + isRightEdgeOf: isRightEdgeOf, + isLeftEdgePointOf: isLeftEdgePointOf, + isRightEdgePointOf: isRightEdgePointOf, + prevPoint: prevPoint, + nextPoint: nextPoint, + isSamePoint: isSamePoint, + isVisiblePoint: isVisiblePoint, + prevPointUntil: prevPointUntil, + nextPointUntil: nextPointUntil, + isCharPoint: isCharPoint, + walkPoint: walkPoint, + ancestor: ancestor, + singleChildAncestor: singleChildAncestor, + listAncestor: listAncestor, + lastAncestor: lastAncestor, + listNext: listNext, + listPrev: listPrev, + listDescendant: listDescendant, + commonAncestor: commonAncestor, + wrap: wrap, + insertAfter: insertAfter, + appendChildNodes: appendChildNodes, + position: position, + hasChildren: hasChildren, + makeOffsetPath: makeOffsetPath, + fromOffsetPath: fromOffsetPath, + splitTree: splitTree, + splitPoint: splitPoint, + create: create, + createText: createText, + remove: remove, + removeWhile: removeWhile, + replace: replace, + html: html, + value: value, + posFromPlaceholder: posFromPlaceholder, + attachEvents: attachEvents, + detachEvents: detachEvents + }; + })(); + + /** + * @param {jQuery} $note + * @param {Object} options + * @return {Context} + */ + var Context = function ($note, options) { + var self = this; + + var ui = $.summernote.ui; + this.memos = {}; + this.modules = {}; + this.layoutInfo = {}; + this.options = options; + + /** + * create layout and initialize modules and other resources + */ + this.initialize = function () { + this.layoutInfo = ui.createLayout($note, options); + this._initialize(); + $note.hide(); + return this; + }; + + /** + * destroy modules and other resources and remove layout + */ + this.destroy = function () { + this._destroy(); + $note.removeData('summernote'); + ui.removeLayout($note, this.layoutInfo); + }; + + /** + * destory modules and other resources and initialize it again + */ + this.reset = function () { + var disabled = self.isDisabled(); + this.code(dom.emptyPara); + this._destroy(); + this._initialize(); + + if (disabled) { + self.disable(); + } + }; + + this._initialize = function () { + // add optional buttons + var buttons = $.extend({}, this.options.buttons); + Object.keys(buttons).forEach(function (key) { + self.memo('button.' + key, buttons[key]); + }); + + var modules = $.extend({}, this.options.modules, $.summernote.plugins || {}); + + // add and initialize modules + Object.keys(modules).forEach(function (key) { + self.module(key, modules[key], true); + }); + + Object.keys(this.modules).forEach(function (key) { + self.initializeModule(key); + }); + }; + + this._destroy = function () { + // destroy modules with reversed order + Object.keys(this.modules).reverse().forEach(function (key) { + self.removeModule(key); + }); + + Object.keys(this.memos).forEach(function (key) { + self.removeMemo(key); + }); + }; + + this.code = function (html) { + var isActivated = this.invoke('codeview.isActivated'); + + if (html === undefined) { + this.invoke('codeview.sync'); + return isActivated ? this.layoutInfo.codable.val() : this.layoutInfo.editable.html(); + } else { + if (isActivated) { + this.layoutInfo.codable.val(html); + } else { + this.layoutInfo.editable.html(html); + } + $note.val(html); + this.triggerEvent('change', html); + } + }; + + this.isDisabled = function () { + return this.layoutInfo.editable.attr('contenteditable') === 'false'; + }; + + this.enable = function () { + this.layoutInfo.editable.attr('contenteditable', true); + this.invoke('toolbar.activate', true); + }; + + this.disable = function () { + // close codeview if codeview is opend + if (this.invoke('codeview.isActivated')) { + this.invoke('codeview.deactivate'); + } + this.layoutInfo.editable.attr('contenteditable', false); + this.invoke('toolbar.deactivate', true); + }; + + this.triggerEvent = function () { + var namespace = list.head(arguments); + var args = list.tail(list.from(arguments)); + + var callback = this.options.callbacks[func.namespaceToCamel(namespace, 'on')]; + if (callback) { + callback.apply($note[0], args); + } + $note.trigger('summernote.' + namespace, args); + }; + + this.initializeModule = function (key) { + var module = this.modules[key]; + module.shouldInitialize = module.shouldInitialize || func.ok; + if (!module.shouldInitialize()) { + return; + } + + // initialize module + if (module.initialize) { + module.initialize(); + } + + // attach events + if (module.events) { + dom.attachEvents($note, module.events); + } + }; + + this.module = function (key, ModuleClass, withoutIntialize) { + if (arguments.length === 1) { + return this.modules[key]; + } + + this.modules[key] = new ModuleClass(this); + + if (!withoutIntialize) { + this.initializeModule(key); + } + }; + + this.removeModule = function (key) { + var module = this.modules[key]; + if (module.shouldInitialize()) { + if (module.events) { + dom.detachEvents($note, module.events); + } + + if (module.destroy) { + module.destroy(); + } + } + + delete this.modules[key]; + }; + + this.memo = function (key, obj) { + if (arguments.length === 1) { + return this.memos[key]; + } + this.memos[key] = obj; + }; + + this.removeMemo = function (key) { + if (this.memos[key] && this.memos[key].destroy) { + this.memos[key].destroy(); + } + + delete this.memos[key]; + }; + + this.createInvokeHandler = function (namespace, value) { + return function (event) { + event.preventDefault(); + self.invoke(namespace, value || $(event.target).closest('[data-value]').data('value')); + }; + }; + + this.invoke = function () { + var namespace = list.head(arguments); + var args = list.tail(list.from(arguments)); + + var splits = namespace.split('.'); + var hasSeparator = splits.length > 1; + var moduleName = hasSeparator && list.head(splits); + var methodName = hasSeparator ? list.last(splits) : list.head(splits); + + var module = this.modules[moduleName || 'editor']; + if (!moduleName && this[methodName]) { + return this[methodName].apply(this, args); + } else if (module && module[methodName] && module.shouldInitialize()) { + return module[methodName].apply(module, args); + } + }; + + return this.initialize(); + }; + + $.fn.extend({ + /** + * Summernote API + * + * @param {Object|String} + * @return {this} + */ + summernote: function () { + var type = $.type(list.head(arguments)); + var isExternalAPICalled = type === 'string'; + var hasInitOptions = type === 'object'; + + var options = hasInitOptions ? list.head(arguments) : {}; + + options = $.extend({}, $.summernote.options, options); + options.langInfo = $.extend(true, {}, $.summernote.lang['en-US'], $.summernote.lang[options.lang]); + options.icons = $.extend(true, {}, $.summernote.options.icons, options.icons); + + this.each(function (idx, note) { + var $note = $(note); + if (!$note.data('summernote')) { + var context = new Context($note, options); + $note.data('summernote', context); + $note.data('summernote').triggerEvent('init', context.layoutInfo); + } + }); + + var $note = this.first(); + if ($note.length) { + var context = $note.data('summernote'); + if (isExternalAPICalled) { + return context.invoke.apply(context, list.from(arguments)); + } else if (options.focus) { + context.invoke('editor.focus'); + } + } + + return this; + } + }); + + + var Renderer = function (markup, children, options, callback) { + this.render = function ($parent) { + var $node = $(markup); + + if (options && options.contents) { + $node.html(options.contents); + } + + if (options && options.className) { + $node.addClass(options.className); + } + + if (options && options.data) { + $.each(options.data, function (k, v) { + $node.attr('data-' + k, v); + }); + } + + if (options && options.click) { + $node.on('click', options.click); + } + + if (children) { + var $container = $node.find('.note-children-container'); + children.forEach(function (child) { + child.render($container.length ? $container : $node); + }); + } + + if (callback) { + callback($node, options); + } + + if (options && options.callback) { + options.callback($node); + } + + if ($parent) { + $parent.append($node); + } + + return $node; + }; + }; + + var renderer = { + create: function (markup, callback) { + return function () { + var children = $.isArray(arguments[0]) ? arguments[0] : []; + var options = typeof arguments[1] === 'object' ? arguments[1] : arguments[0]; + if (options && options.children) { + children = options.children; + } + return new Renderer(markup, children, options, callback); + }; + } + }; + + var editor = renderer.create('
'); + var toolbar = renderer.create('
'); + var editingArea = renderer.create('
'); + var codable = renderer.create(' +
diff --git a/liste-envies-war/src/main/webapp/templates/home.html b/liste-envies-war/src/main/webapp/templates/home.html index 5bed5c26..09a67086 100644 --- a/liste-envies-war/src/main/webapp/templates/home.html +++ b/liste-envies-war/src/main/webapp/templates/home.html @@ -58,7 +58,6 @@

{{listenvies.title}}

-

{{listenvies.description}}

de {{owner.name}}({{owner.email}}),

From b42814361c2eeb5d0dc19525973c4783932c6d2d Mon Sep 17 00:00:00 2001 From: Emmanuel de Saint Steban Date: Wed, 7 Dec 2016 13:19:25 +0100 Subject: [PATCH 07/46] Ajout de plus de filtre et trie (distinction en owner et shared). ajout d'un champ de recherche. --- .../src/main/webapp/css/style.css | 19 +++++- .../main/webapp/js/controllers/envieCtrl.js | 46 +++++++++++--- .../src/main/webapp/templates/envies.html | 60 +++++++++++++++---- 3 files changed, 102 insertions(+), 23 deletions(-) diff --git a/liste-envies-war/src/main/webapp/css/style.css b/liste-envies-war/src/main/webapp/css/style.css index 8866fc49..7b246a0a 100644 --- a/liste-envies-war/src/main/webapp/css/style.css +++ b/liste-envies-war/src/main/webapp/css/style.css @@ -23,14 +23,18 @@ } .order-filter { - display: flex; - justify-content: space-between; - margin-bottom: 5px; + /*display: flex; + justify-content: space-between;*/ + margin-bottom: 15px; } .order-btn .btn:active, .order-btn .btn:focus { outline: none; } +.order-filter .form-group { + margin-bottom: 0; +} + .list-envie .envie-item:hover .edit-button { display: block !important; } @@ -64,6 +68,15 @@ } +.order-filter .has-feedback label~.form-control-feedback { + top: 33px; +} + +.order-filter span.fa.fa-search.form-control-feedback { + top: 10px; + right: 34px; +} + /** Comentaires **/ .chat .chat-history { diff --git a/liste-envies-war/src/main/webapp/js/controllers/envieCtrl.js b/liste-envies-war/src/main/webapp/js/controllers/envieCtrl.js index 30918957..21f6e25c 100644 --- a/liste-envies-war/src/main/webapp/js/controllers/envieCtrl.js +++ b/liste-envies-war/src/main/webapp/js/controllers/envieCtrl.js @@ -29,8 +29,25 @@ function EnvieCtrl(envieService, appUserService, listEnviesService, $routeParams }, height: 200 }; - vm.orderProperties = [{property:'label', label:'Titre'},{property:'date', label:'Date'},{property:'price', label:'Prix'},{property:'userTakeUsers', label:'Offert'},{property:'notes.length', label:'Commentaires'}]; - vm.filterProperties = [{expression:'true', label:'Toutes', class:'btn-default'},{expression:'userTake.length > 0', label:'Offerts', class:'btn-warning'},{expression:'userTake.length == 0', label:'A offrir', class:'btn-success'},{expression:'suggest == true', label:'Suggestion', class:'btn-info'}]; + vm.orderProperties = [{property:'label', label:'Titre'}, + {property:'date', label:'Date'},{property:'price', label:'Prix'}, + {property:'-userTakeUsers', label:'Offert'}, + {property:'-notes.length', label:'Commentaires'}]; + + vm.orderPropertiesOwners = [{property:'label', label:'Titre'}, + {property:'date', label:'Date'}, + {property:'price', label:'Prix'}]; + + vm.filterProperties = [{expression:'true', label:'Toutes', class:'btn-default'}, + {expression:'userTake.length > 0', label:'Offerts', class:'btn-warning'}, + {expression:'userTake.length == 0', label:'A offrir', class:'btn-success'}, + {expression:'suggest == true', label:'Suggestion', class:'btn-info'}, + {expression:'notes.length > 0', label:'Commentaires', class:'btn-warning'}]; + vm.filterPropertiesOwners = [{expression:'true', label:'Toutes', class:'btn-default'}, + {expression:'description == null', label:'Sans description', class:'btn-default'}, + {expression:'price == null', label:'Sans prix', class:'btn-default'}, + {expression:'picture == null', label:'Sans images', class:'btn-default'}, + {expression:'urls == null', label:'Sans liens', class:'btn-default'}]; loadEnvies(); resetForm(); @@ -145,10 +162,11 @@ function EnvieCtrl(envieService, appUserService, listEnviesService, $routeParams vm.link = undefined; }; - vm.sortList = function(property, elemt) { - vm.order = (vm.order == property)? '-'+property : property; - console.log('Sort List : ', vm.order, elemt); - elemt.update(); + vm.sortList = function(property) { + var reversePropertie = (property.indexOf('-'))? property.replace('-', '') : '-'+property; + vm.order = (vm.order == property)? reversePropertie : property; + + $scope.update(); }; vm.filterList = function(expr) { @@ -156,8 +174,20 @@ function EnvieCtrl(envieService, appUserService, listEnviesService, $routeParams vm.filter = function(value) { return expression(value); }; - console.log('Filter List : ', vm.order, elemt); - elemt.update(); + $scope.update(); + }; + + vm.searchList = function(search) { + var expression; + if (search == '') { + expression = function () { + return true; + }; + } else { + expression = {$: search}; + } + vm.filter = expression; + $scope.update(); }; function gotoForm() { diff --git a/liste-envies-war/src/main/webapp/templates/envies.html b/liste-envies-war/src/main/webapp/templates/envies.html index bd6f09bf..ea77e23b 100644 --- a/liste-envies-war/src/main/webapp/templates/envies.html +++ b/liste-envies-war/src/main/webapp/templates/envies.html @@ -62,22 +62,58 @@

-
-
-
- + + +
+
-
- -
- + +
+ +
+
+
+ + + + + +
+
@@ -174,7 +210,7 @@
-->
-
+
From 797ddfd3f7060347d20f9d0237ef8e9327cb1020 Mon Sep 17 00:00:00 2001 From: Emmanuel de Saint Steban Date: Wed, 7 Dec 2016 13:25:43 +0100 Subject: [PATCH 08/46] Coorection erreur lors de l'ajout d'une nouvelle envie --- liste-envies-war/src/main/webapp/js/controllers/envieCtrl.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/liste-envies-war/src/main/webapp/js/controllers/envieCtrl.js b/liste-envies-war/src/main/webapp/js/controllers/envieCtrl.js index 21f6e25c..eff329d2 100644 --- a/liste-envies-war/src/main/webapp/js/controllers/envieCtrl.js +++ b/liste-envies-war/src/main/webapp/js/controllers/envieCtrl.js @@ -63,7 +63,7 @@ function EnvieCtrl(envieService, appUserService, listEnviesService, $routeParams } if (!envie.id) { vm.envies.push(envie); - $scope.masonry.update(); + $scope.update(); } envieService.save({name:vm.name}, envie, function() { loadEnvies(); From ffa6bc8e16f9fd31fe9b36dcac816b291263e91f Mon Sep 17 00:00:00 2001 From: Emmanuel de Saint Steban Date: Wed, 7 Dec 2016 15:28:58 +0100 Subject: [PATCH 09/46] =?UTF-8?q?Filtres=20sur=20les=20prix,=20cherche=20t?= =?UTF-8?q?ous=20les=20nombres=20dans=20la=20chaine=20de=20caract=C3=A8res?= =?UTF-8?q?=20pour=20les=20filtrers.=20marche=20m=C3=AAme=20si=20on=20n=20?= =?UTF-8?q?mets=20plusieurs.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main/webapp/js/controllers/envieCtrl.js | 59 ++++++++++++++++--- .../src/main/webapp/templates/envies.html | 23 ++++++-- 2 files changed, 68 insertions(+), 14 deletions(-) diff --git a/liste-envies-war/src/main/webapp/js/controllers/envieCtrl.js b/liste-envies-war/src/main/webapp/js/controllers/envieCtrl.js index eff329d2..cd56576f 100644 --- a/liste-envies-war/src/main/webapp/js/controllers/envieCtrl.js +++ b/liste-envies-war/src/main/webapp/js/controllers/envieCtrl.js @@ -48,6 +48,22 @@ function EnvieCtrl(envieService, appUserService, listEnviesService, $routeParams {expression:'price == null', label:'Sans prix', class:'btn-default'}, {expression:'picture == null', label:'Sans images', class:'btn-default'}, {expression:'urls == null', label:'Sans liens', class:'btn-default'}]; + + vm.filtersPriceList = [ + {role: "filter", min:0, max: 30, label:'Moins de 30 €', class:''}, + {role: "filter", min:0, max: 50, label:'Moins de 50 €', class:''}, + {role: "filter", min:0, max: 100, label:'Moins de 100 €', class:''}, + {role: "filter", min:0, max: 200, label:'Moins de 200 €', class:''}, + {role: "separator", class:"divider"}, + {role: "filter", min:30, max: 50, label:'entre 30 et 50 €', class:''}, + {role: "filter", min:50, max: 100, label:'entre 50 et 100 €', class:''}, + {role: "filter", min:100, max: 200, label:'entre 100 et 200 €', class:''}, + {role: "separator", class:"divider"}, + {role: "filter", min:30, max: null, label:'Plus de 30 €', class:''}, + {role: "filter", min:50, max: null, label:'Plus de 50 €', class:''}, + {role: "filter", min:100, max: null, label:'Plus de 100 €', class:''}, + {role: "filter", min:200, max: null, label:'Plus de 200 €', class:''}, + ]; loadEnvies(); resetForm(); @@ -177,19 +193,44 @@ function EnvieCtrl(envieService, appUserService, listEnviesService, $routeParams $scope.update(); }; - vm.searchList = function(search) { - var expression; - if (search == '') { - expression = function () { - return true; - }; - } else { - expression = {$: search}; + vm.searchList = function(reset) { + if (reset) { + vm.search = ''; } - vm.filter = expression; $scope.update(); }; + function parseSentenceForNumber(sentence){ + var matches = sentence.replace(/,/g, '').match(/(\+|-)?((\d+(\.\d+)?)|(\.\d+))/); + return matches && matches[0] || null; + } + vm.filterPrice = function(min, max) { + + vm.filter = function(value) { + var price = value.price; + if (!price) return false; + + var matches = price.replace(',', '.').replace(' ', '').match(/(\d+\.?\d+|\.\d+)/g); + + if (!matches) return false; + + return matches.some(function (value) { + if (value >= min && value <= max) { + return true; + } else if (max == null && value >= min) { + return true; + } + return false; + }); + + return false; + }; + + $scope.update(); + }; + + + function gotoForm() { // call $anchorScroll() $anchorScroll('formEdit'); diff --git a/liste-envies-war/src/main/webapp/templates/envies.html b/liste-envies-war/src/main/webapp/templates/envies.html index ea77e23b..3c98e52d 100644 --- a/liste-envies-war/src/main/webapp/templates/envies.html +++ b/liste-envies-war/src/main/webapp/templates/envies.html @@ -67,7 +67,7 @@

-
+
+ +
+ + +
+ +
@@ -85,10 +98,10 @@
- + - +
@@ -100,7 +113,7 @@

-
+
-
+
From 77cd1561ffc8720ff45a0d9608a42a2e9e7a204b Mon Sep 17 00:00:00 2001 From: Patrice Date: Wed, 7 Dec 2016 17:49:09 +0100 Subject: [PATCH 10/46] Suppression de SB Admin, et navbar mobile. --- .../css/plugins/codemirror/codemirror.css | 318 ------------------ .../css/plugins/codemirror/show-hint.css | 38 --- .../src/main/webapp/css/plugins/morris.css | 2 - .../src/main/webapp/css/sb-admin-rtl.css | 5 - .../src/main/webapp/css/sb-admin.css | 224 ------------ .../src/main/webapp/css/style.css | 90 +++++ liste-envies-war/src/main/webapp/index.html | 9 +- 7 files changed, 96 insertions(+), 590 deletions(-) delete mode 100644 liste-envies-war/src/main/webapp/css/plugins/codemirror/codemirror.css delete mode 100644 liste-envies-war/src/main/webapp/css/plugins/codemirror/show-hint.css delete mode 100644 liste-envies-war/src/main/webapp/css/plugins/morris.css delete mode 100644 liste-envies-war/src/main/webapp/css/sb-admin-rtl.css delete mode 100644 liste-envies-war/src/main/webapp/css/sb-admin.css diff --git a/liste-envies-war/src/main/webapp/css/plugins/codemirror/codemirror.css b/liste-envies-war/src/main/webapp/css/plugins/codemirror/codemirror.css deleted file mode 100644 index 0b9ff75f..00000000 --- a/liste-envies-war/src/main/webapp/css/plugins/codemirror/codemirror.css +++ /dev/null @@ -1,318 +0,0 @@ -/* BASICS */ - -.CodeMirror { - /* Set height, width, borders, and global font properties here */ - font-family: monospace; - height: 300px; -} -.CodeMirror-scroll { - /* Set scrolling behaviour here */ - overflow: auto; -} - -/* PADDING */ - -.CodeMirror-lines { - padding: 4px 0; /* Vertical padding around content */ -} -.CodeMirror pre { - padding: 0 4px; /* Horizontal padding of content */ -} - -.CodeMirror-scrollbar-filler, .CodeMirror-gutter-filler { - background-color: white; /* The little square between H and V scrollbars */ -} - -/* GUTTER */ - -.CodeMirror-gutters { - border-right: 1px solid #ddd; - background-color: #f7f7f7; - white-space: nowrap; -} -.CodeMirror-linenumbers {} -.CodeMirror-linenumber { - padding: 0 3px 0 5px; - min-width: 20px; - text-align: right; - color: #999; - -moz-box-sizing: content-box; - box-sizing: content-box; -} - -.CodeMirror-guttermarker { color: black; } -.CodeMirror-guttermarker-subtle { color: #999; } - -/* CURSOR */ - -.CodeMirror div.CodeMirror-cursor { - border-left: 1px solid black; -} -/* Shown when moving in bi-directional text */ -.CodeMirror div.CodeMirror-secondarycursor { - border-left: 1px solid silver; -} -.CodeMirror.cm-fat-cursor div.CodeMirror-cursor { - width: auto; - border: 0; - background: #7e7; -} -.CodeMirror.cm-fat-cursor div.CodeMirror-cursors { - z-index: 1; -} - -.cm-animate-fat-cursor { - width: auto; - border: 0; - -webkit-animation: blink 1.06s steps(1) infinite; - -moz-animation: blink 1.06s steps(1) infinite; - animation: blink 1.06s steps(1) infinite; -} -@-moz-keyframes blink { - 0% { background: #7e7; } - 50% { background: none; } - 100% { background: #7e7; } -} -@-webkit-keyframes blink { - 0% { background: #7e7; } - 50% { background: none; } - 100% { background: #7e7; } -} -@keyframes blink { - 0% { background: #7e7; } - 50% { background: none; } - 100% { background: #7e7; } -} - -/* Can style cursor different in overwrite (non-insert) mode */ -div.CodeMirror-overwrite div.CodeMirror-cursor {} - -.cm-tab { display: inline-block; text-decoration: inherit; } - -.CodeMirror-ruler { - border-left: 1px solid #ccc; - position: absolute; -} - -/* DEFAULT THEME */ - -.cm-s-default .cm-keyword {color: #708;} -.cm-s-default .cm-atom {color: #219;} -.cm-s-default .cm-number {color: #164;} -.cm-s-default .cm-def {color: #00f;} -.cm-s-default .cm-variable, -.cm-s-default .cm-punctuation, -.cm-s-default .cm-property, -.cm-s-default .cm-operator {} -.cm-s-default .cm-variable-2 {color: #05a;} -.cm-s-default .cm-variable-3 {color: #085;} -.cm-s-default .cm-comment {color: #a50;} -.cm-s-default .cm-string {color: #a11;} -.cm-s-default .cm-string-2 {color: #f50;} -.cm-s-default .cm-meta {color: #555;} -.cm-s-default .cm-qualifier {color: #555;} -.cm-s-default .cm-builtin {color: #30a;} -.cm-s-default .cm-bracket {color: #997;} -.cm-s-default .cm-tag {color: #170;} -.cm-s-default .cm-attribute {color: #00c;} -.cm-s-default .cm-header {color: blue;} -.cm-s-default .cm-quote {color: #090;} -.cm-s-default .cm-hr {color: #999;} -.cm-s-default .cm-link {color: #00c;} - -.cm-negative {color: #d44;} -.cm-positive {color: #292;} -.cm-header, .cm-strong {font-weight: bold;} -.cm-em {font-style: italic;} -.cm-link {text-decoration: underline;} -.cm-strikethrough {text-decoration: line-through;} - -.cm-s-default .cm-error {color: #f00;} -.cm-invalidchar {color: #f00;} - -/* Default styles for common addons */ - -div.CodeMirror span.CodeMirror-matchingbracket {color: #0f0;} -div.CodeMirror span.CodeMirror-nonmatchingbracket {color: #f22;} -.CodeMirror-matchingtag { background: rgba(255, 150, 0, .3); } -.CodeMirror-activeline-background {background: #e8f2ff;} - -/* STOP */ - -/* The rest of this file contains styles related to the mechanics of - the editor. You probably shouldn't touch them. */ - -.CodeMirror { - line-height: 1; - position: relative; - overflow: hidden; - background: white; - color: black; -} - -.CodeMirror-scroll { - /* 30px is the magic margin used to hide the element's real scrollbars */ - /* See overflow: hidden in .CodeMirror */ - margin-bottom: -30px; margin-right: -30px; - padding-bottom: 30px; - height: 100%; - outline: none; /* Prevent dragging from highlighting the element */ - position: relative; - -moz-box-sizing: content-box; - box-sizing: content-box; -} -.CodeMirror-sizer { - position: relative; - border-right: 30px solid transparent; - -moz-box-sizing: content-box; - box-sizing: content-box; -} - -/* The fake, visible scrollbars. Used to force redraw during scrolling - before actuall scrolling happens, thus preventing shaking and - flickering artifacts. */ -.CodeMirror-vscrollbar, .CodeMirror-hscrollbar, .CodeMirror-scrollbar-filler, .CodeMirror-gutter-filler { - position: absolute; - z-index: 6; - display: none; -} -.CodeMirror-vscrollbar { - right: 0; top: 0; - overflow-x: hidden; - overflow-y: scroll; -} -.CodeMirror-hscrollbar { - bottom: 0; left: 0; - overflow-y: hidden; - overflow-x: scroll; -} -.CodeMirror-scrollbar-filler { - right: 0; bottom: 0; -} -.CodeMirror-gutter-filler { - left: 0; bottom: 0; -} - -.CodeMirror-gutters { - position: absolute; left: 0; top: 0; - padding-bottom: 30px; - z-index: 3; -} -.CodeMirror-gutter { - white-space: normal; - height: 100%; - -moz-box-sizing: content-box; - box-sizing: content-box; - padding-bottom: 30px; - margin-bottom: -32px; - display: inline-block; - /* Hack to make IE7 behave */ - *zoom:1; - *display:inline; -} -.CodeMirror-gutter-wrapper { - position: absolute; - z-index: 4; - height: 100%; -} -.CodeMirror-gutter-elt { - position: absolute; - cursor: default; - z-index: 4; -} - -.CodeMirror-lines { - cursor: text; - min-height: 1px; /* prevents collapsing before first draw */ -} -.CodeMirror pre { - /* Reset some styles that the rest of the page might have set */ - -moz-border-radius: 0; -webkit-border-radius: 0; border-radius: 0; - border-width: 0; - background: transparent; - font-family: inherit; - font-size: inherit; - margin: 0; - white-space: pre; - word-wrap: normal; - line-height: inherit; - color: inherit; - z-index: 2; - position: relative; - overflow: visible; -} -.CodeMirror-wrap pre { - word-wrap: break-word; - white-space: pre-wrap; - word-break: normal; -} - -.CodeMirror-linebackground { - position: absolute; - left: 0; right: 0; top: 0; bottom: 0; - z-index: 0; -} - -.CodeMirror-linewidget { - position: relative; - z-index: 2; - overflow: auto; -} - -.CodeMirror-widget {} - -.CodeMirror-wrap .CodeMirror-scroll { - overflow-x: hidden; -} - -.CodeMirror-measure { - position: absolute; - width: 100%; - height: 0; - overflow: hidden; - visibility: hidden; -} -.CodeMirror-measure pre { position: static; } - -.CodeMirror div.CodeMirror-cursor { - position: absolute; - border-right: none; - width: 0; -} - -div.CodeMirror-cursors { - visibility: hidden; - position: relative; - z-index: 3; -} -.CodeMirror-focused div.CodeMirror-cursors { - visibility: visible; -} - -.CodeMirror-selected { background: #d9d9d9; } -.CodeMirror-focused .CodeMirror-selected { background: #d7d4f0; } -.CodeMirror-crosshair { cursor: crosshair; } - -.cm-searching { - background: #ffa; - background: rgba(255, 255, 0, .4); -} - -/* IE7 hack to prevent it from returning funny offsetTops on the spans */ -.CodeMirror span { *vertical-align: text-bottom; } - -/* Used to force a border model for a node */ -.cm-force-border { padding-right: .1px; } - -@media print { - /* Hide the cursor when printing */ - .CodeMirror div.CodeMirror-cursors { - visibility: hidden; - } -} - -/* See issue #2901 */ -.cm-tab-wrap-hack:after { content: ''; } - -/* Help users use markselection to safely style text background */ -span.CodeMirror-selectedtext { background: none; } diff --git a/liste-envies-war/src/main/webapp/css/plugins/codemirror/show-hint.css b/liste-envies-war/src/main/webapp/css/plugins/codemirror/show-hint.css deleted file mode 100644 index 924e638f..00000000 --- a/liste-envies-war/src/main/webapp/css/plugins/codemirror/show-hint.css +++ /dev/null @@ -1,38 +0,0 @@ -.CodeMirror-hints { - position: absolute; - z-index: 10; - overflow: hidden; - list-style: none; - - margin: 0; - padding: 2px; - - -webkit-box-shadow: 2px 3px 5px rgba(0,0,0,.2); - -moz-box-shadow: 2px 3px 5px rgba(0,0,0,.2); - box-shadow: 2px 3px 5px rgba(0,0,0,.2); - border-radius: 3px; - border: 1px solid silver; - - background: white; - font-size: 90%; - font-family: monospace; - - max-height: 20em; - overflow-y: auto; -} - -.CodeMirror-hint { - margin: 0; - padding: 0 4px; - border-radius: 2px; - max-width: 19em; - overflow: hidden; - white-space: pre; - color: black; - cursor: pointer; -} - -li.CodeMirror-hint-active { - background: #08f; - color: white; -} diff --git a/liste-envies-war/src/main/webapp/css/plugins/morris.css b/liste-envies-war/src/main/webapp/css/plugins/morris.css deleted file mode 100644 index 209f0915..00000000 --- a/liste-envies-war/src/main/webapp/css/plugins/morris.css +++ /dev/null @@ -1,2 +0,0 @@ -.morris-hover{position:absolute;z-index:1000}.morris-hover.morris-default-style{border-radius:10px;padding:6px;color:#666;background:rgba(255,255,255,0.8);border:solid 2px rgba(230,230,230,0.8);font-family:sans-serif;font-size:12px;text-align:center}.morris-hover.morris-default-style .morris-hover-row-label{font-weight:bold;margin:0.25em 0} -.morris-hover.morris-default-style .morris-hover-point{white-space:nowrap;margin:0.1em 0} diff --git a/liste-envies-war/src/main/webapp/css/sb-admin-rtl.css b/liste-envies-war/src/main/webapp/css/sb-admin-rtl.css deleted file mode 100644 index 50119bd1..00000000 --- a/liste-envies-war/src/main/webapp/css/sb-admin-rtl.css +++ /dev/null @@ -1,5 +0,0 @@ - -@media (min-width: 768px){ - #wrapper {padding-right: 225px; padding-left: 0;} - .side-nav{right: 0;left: auto;} -} \ No newline at end of file diff --git a/liste-envies-war/src/main/webapp/css/sb-admin.css b/liste-envies-war/src/main/webapp/css/sb-admin.css deleted file mode 100644 index d8f523f7..00000000 --- a/liste-envies-war/src/main/webapp/css/sb-admin.css +++ /dev/null @@ -1,224 +0,0 @@ -/*! - * Start Bootstrap - SB Admin Bootstrap Admin Template (http://startbootstrap.com) - * Code licensed under the Apache License v2.0. - * For details, see http://www.apache.org/licenses/LICENSE-2.0. - */ - -/* Global Styles */ - -body { - margin-top: 100px; - background-color: #fff; -} - -@media(min-width:768px) { - body { - margin-top: 50px; - } -} - -#wrapper { - padding-left: 0; -} - -#page-wrapper { - width: 100%; - padding: 0; - background-color: #fff; -} - -.huge { - font-size: 50px; - line-height: normal; -} - -@media(min-width:768px) { - #wrapper { - - } - - #page-wrapper { - padding: 10px; - } -} - -/* Top Navigation */ - -.top-nav { - padding: 0 15px; -} - -.top-nav>li { - display: inline-block; - float: left; -} - -.top-nav>li>a { - padding-top: 15px; - padding-bottom: 15px; - line-height: 20px; - color: #999; -} - -.top-nav>li>a:hover, -.top-nav>li>a:focus, -.top-nav>.open>a, -.top-nav>.open>a:hover, -.top-nav>.open>a:focus { - color: #fff; - background-color: #000; -} - -.top-nav>.open>.dropdown-menu { - float: left; - position: absolute; - margin-top: 0; - border: 1px solid rgba(0,0,0,.15); - border-top-left-radius: 0; - border-top-right-radius: 0; - background-color: #fff; - -webkit-box-shadow: 0 6px 12px rgba(0,0,0,.175); - box-shadow: 0 6px 12px rgba(0,0,0,.175); -} - -.top-nav>.open>.dropdown-menu>li>a { - white-space: normal; -} - -ul.message-dropdown { - padding: 0; - max-height: 250px; - overflow-x: hidden; - overflow-y: auto; -} - -li.message-preview { - width: 275px; - border-bottom: 1px solid rgba(0,0,0,.15); -} - -li.message-preview>a { - padding-top: 15px; - padding-bottom: 15px; -} - -li.message-footer { - margin: 5px 0; -} - -ul.alert-dropdown { - width: 200px; -} - -/* Side Navigation */ - -@media(min-width:768px) { - .side-nav { - position: fixed; - top: 51px; - left: 225px; - width: 225px; - margin-left: -225px; - border: none; - border-radius: 0; - overflow-y: auto; - background-color: #222; - } - - .side-nav>li>a { - width: 225px; - } - - .side-nav li a:hover, - .side-nav li a:focus { - outline: none; - background-color: #000 !important; - } -} - -.side-nav>li>ul { - padding: 0; -} - -.side-nav>li>ul>li>a { - display: block; - padding: 10px 15px 10px 38px; - text-decoration: none; - color: #999; -} - -.side-nav>li>ul>li>a:hover { - color: #fff; -} - -/* Flot Chart Containers */ - -.flot-chart { - display: block; - height: 400px; -} - -.flot-chart-content { - width: 100%; - height: 100%; -} - -/* Custom Colored Panels */ - -.huge { - font-size: 40px; -} - -.panel-green { - border-color: #5cb85c; -} - -.panel-green .panel-heading { - border-color: #5cb85c; - color: #fff; - background-color: #5cb85c; -} - -.panel-green a { - color: #5cb85c; -} - -.panel-green a:hover { - color: #3d8b3d; -} - -.panel-red { - border-color: #d9534f; -} - -.panel-red .panel-heading { - border-color: #d9534f; - color: #fff; - background-color: #d9534f; -} - -.panel-red a { - color: #d9534f; -} - -.panel-red a:hover { - color: #b52b27; -} - -.panel-yellow { - border-color: #f0ad4e; -} - -.panel-yellow .panel-heading { - border-color: #f0ad4e; - color: #fff; - background-color: #f0ad4e; -} - -.panel-yellow a { - color: #f0ad4e; -} - -.panel-yellow a:hover { - color: #df8a13; -} \ No newline at end of file diff --git a/liste-envies-war/src/main/webapp/css/style.css b/liste-envies-war/src/main/webapp/css/style.css index 7b246a0a..cbbaacc9 100644 --- a/liste-envies-war/src/main/webapp/css/style.css +++ b/liste-envies-war/src/main/webapp/css/style.css @@ -1,3 +1,93 @@ +body { + margin-top: 100px; + background-color: #fff; +} + +@media(min-width:768px) { + body { + margin-top: 50px; + } +} + +#wrapper { + padding-left: 0; +} + +#page-wrapper { + width: 100%; + padding: 0; + background-color: #fff; +} + +@media(min-width:768px) { + #wrapper { + + } + + #page-wrapper { + padding: 10px; + } +} + +.top-nav { + padding: 0 15px; +} + +.top-nav>li { + display: inline-block; + float: left; +} + +.top-nav>li>a { + padding-top: 15px; + padding-bottom: 15px; + line-height: 20px; + color: #999; +} + +.top-nav>li>a:hover, +.top-nav>li>a:focus, +.top-nav>.open>a, +.top-nav>.open>a:hover, +.top-nav>.open>a:focus { + color: #fff; + background-color: #000; +} + +.top-nav>.open>.dropdown-menu { + float: left; + position: absolute; + margin-top: 0; + border: 1px solid rgba(0,0,0,.15); + border-top-left-radius: 0; + border-top-right-radius: 0; + background-color: #fff; + -webkit-box-shadow: 0 6px 12px rgba(0,0,0,.175); + box-shadow: 0 6px 12px rgba(0,0,0,.175); +} + +.top-nav>.open>.dropdown-menu>li>a { + white-space: normal; +} +.dropdown-menu > li > div { + display: block; + padding: 3px 20px; + clear: both; + font-weight: 400; + line-height: 1.42857143; + color: #999; + white-space: nowrap; +} + +@media(max-width:768px) { + .navbar-header { + display: inline-block; + } + .navbar-right { + float: right; + } +} + .edit-button { display: none; position: absolute; diff --git a/liste-envies-war/src/main/webapp/index.html b/liste-envies-war/src/main/webapp/index.html index 081f293c..414c67d3 100644 --- a/liste-envies-war/src/main/webapp/index.html +++ b/liste-envies-war/src/main/webapp/index.html @@ -15,7 +15,7 @@ - + @@ -47,13 +47,16 @@ {{main.user.name}} -
  • Connexion
  • From d38f7c58f25c6185d5be4f71c0d9ad259d9a63d5 Mon Sep 17 00:00:00 2001 From: Patrice Date: Wed, 7 Dec 2016 18:04:49 +0100 Subject: [PATCH 11/46] Trim Email and split with space or comma or new line --- liste-envies-war/src/main/webapp/js/controllers/envieCtrl.js | 2 +- liste-envies-war/src/main/webapp/js/controllers/homeCtrl.js | 4 ++-- liste-envies-war/src/main/webapp/templates/envies.html | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/liste-envies-war/src/main/webapp/js/controllers/envieCtrl.js b/liste-envies-war/src/main/webapp/js/controllers/envieCtrl.js index cd56576f..2e54cad4 100644 --- a/liste-envies-war/src/main/webapp/js/controllers/envieCtrl.js +++ b/liste-envies-war/src/main/webapp/js/controllers/envieCtrl.js @@ -151,7 +151,7 @@ function EnvieCtrl(envieService, appUserService, listEnviesService, $routeParams } if (newUser.email && newUser.email.indexOf('@') > 0) { var pushUser = {}; - pushUser.email = newUser.email; + pushUser.email = newUser.email.trim(); pushUser.type = newUser.type; vm.listEnvies.users.push(pushUser); } diff --git a/liste-envies-war/src/main/webapp/js/controllers/homeCtrl.js b/liste-envies-war/src/main/webapp/js/controllers/homeCtrl.js index 80007ba7..ec80ef33 100644 --- a/liste-envies-war/src/main/webapp/js/controllers/homeCtrl.js +++ b/liste-envies-war/src/main/webapp/js/controllers/homeCtrl.js @@ -22,8 +22,8 @@ function HomeCtrl(appUserService, listEnviesService, $location) { var user = []; user.push({'email': userEmail, 'type': "OWNER"}); if (newlist.emails && newlist.emails.length > 0) { - newlist.emails.split("\n").map(function (email) { - user.push({'email': email, 'type': "SHARED"}); + newlist.emails.split(/[\n\s,]+/).map(function (email) { + user.push({'email': email.trim(), 'type': "SHARED"}); }); } listEnviesService.save({title: newlist.title, users:user}, function(listEnvies) { diff --git a/liste-envies-war/src/main/webapp/templates/envies.html b/liste-envies-war/src/main/webapp/templates/envies.html index 3c98e52d..3bf08a4e 100644 --- a/liste-envies-war/src/main/webapp/templates/envies.html +++ b/liste-envies-war/src/main/webapp/templates/envies.html @@ -31,7 +31,7 @@ -
    +
    <!– end chat-history –> +
    <!– end chat –>
    @@ -214,12 +225,12 @@
    - + <!–


    +

    TecnologiaProgramaçãoPythonDinâmica

    –>
    -
    -
    +
    --> +
    From e581118a2c165837081680cc115e6bc876ca62e5 Mon Sep 17 00:00:00 2001 From: Emmanuel de Saint Steban Date: Fri, 9 Dec 2016 12:52:49 +0100 Subject: [PATCH 15/46] ajout d'un selecteur de liste toujours en haut + cache pour les listes, permets de changer rapidement de liste. --- liste-envies-war/src/main/webapp/index.html | 69 +++++++++++++------ .../main/webapp/js/controllers/headerCtrl.js | 33 ++++++--- .../main/webapp/js/controllers/homeCtrl.js | 8 +-- .../webapp/js/services/listEnviesService.js | 5 +- .../webapp/js/services/utilitiesServices.js | 28 ++++++++ .../src/main/webapp/templates/home.html | 2 +- 6 files changed, 107 insertions(+), 38 deletions(-) create mode 100644 liste-envies-war/src/main/webapp/js/services/utilitiesServices.js diff --git a/liste-envies-war/src/main/webapp/index.html b/liste-envies-war/src/main/webapp/index.html index f07360ea..71409cbd 100644 --- a/liste-envies-war/src/main/webapp/index.html +++ b/liste-envies-war/src/main/webapp/index.html @@ -37,30 +37,54 @@
    + + +
    @@ -91,14 +115,15 @@ + - + diff --git a/liste-envies-war/src/main/webapp/js/controllers/headerCtrl.js b/liste-envies-war/src/main/webapp/js/controllers/headerCtrl.js index 2b8eae08..e8ab0cdd 100644 --- a/liste-envies-war/src/main/webapp/js/controllers/headerCtrl.js +++ b/liste-envies-war/src/main/webapp/js/controllers/headerCtrl.js @@ -1,21 +1,36 @@ -app.controller('HeaderCtrl', function($scope, $http, $location, AuthService) { +app.controller('HeaderCtrl', function($scope, $http, $location, AuthService, UtilitiesServices) { AuthService.refresh(); - var vm = this; - vm.isActive = function(viewLocation) { + var main = this; + main.isActive = function(viewLocation) { return viewLocation === $location.path(); }; - vm.user = AuthService.getUser(); + main.wishLists = null; + + main.user = AuthService.getUser(); $scope.$watch(function () { return AuthService.getUser(); }, function () { - vm.isAuthenticated = AuthService.isAuthenticated(); - vm.isAdmin = AuthService.isAdmin(); - vm.user = AuthService.getUser(); + main.isAuthenticated = AuthService.isAuthenticated(); + main.isAdmin = AuthService.isAdmin(); + main.user = AuthService.getUser(); + + if (main.isAuthenticated) { + UtilitiesServices.getList().then(function (data) { + main.wishLists = data; + }); + } else { + main.wishLists = null; + } + }); - vm.loginPath = function() { + main.goList = function (name) { + $location.url("/"+name); + }; + + main.loginPath = function() { return "/login?path=" + $location.path(); }; - vm.logoutPath = function() { + main.logoutPath = function() { return "/logout?path=" + $location.path(); }; diff --git a/liste-envies-war/src/main/webapp/js/controllers/homeCtrl.js b/liste-envies-war/src/main/webapp/js/controllers/homeCtrl.js index ec80ef33..98ba338b 100644 --- a/liste-envies-war/src/main/webapp/js/controllers/homeCtrl.js +++ b/liste-envies-war/src/main/webapp/js/controllers/homeCtrl.js @@ -1,12 +1,12 @@ app.controller('HomeCtrl', HomeCtrl); -HomeCtrl.$inject = ['appUserService', 'listEnviesService', '$location']; -function HomeCtrl(appUserService, listEnviesService, $location) { +HomeCtrl.$inject = ['appUserService', 'listEnviesService', '$location', 'UtilitiesServices']; +function HomeCtrl(appUserService, listEnviesService, $location, UtilitiesServices) { var vm = this; vm.loading = true; - vm.envies = listEnviesService.query(); - vm.envies.$promise.then(function () { + UtilitiesServices.getList().then(function (data) { vm.loading = false; + vm.envies = data; }); /** Deprecated */ vm.addUser = function (newuser) { diff --git a/liste-envies-war/src/main/webapp/js/services/listEnviesService.js b/liste-envies-war/src/main/webapp/js/services/listEnviesService.js index a1ead0d3..2644360c 100644 --- a/liste-envies-war/src/main/webapp/js/services/listEnviesService.js +++ b/liste-envies-war/src/main/webapp/js/services/listEnviesService.js @@ -1,9 +1,10 @@ angular .module('service') .service('listEnviesService', listEnviesService); -listEnviesService.$inject = ['$resource']; -function listEnviesService($resource) { +listEnviesService.$inject = ['$resource', '$q']; +function listEnviesService($resource, $q) { var base_url = '/api/liste/'; + return $resource(base_url + ':name', {name: '@name'}, {all: {method:'GET', url: base_url + 'all'}, of: {method:'GET', url: base_url + 'of/:email'} diff --git a/liste-envies-war/src/main/webapp/js/services/utilitiesServices.js b/liste-envies-war/src/main/webapp/js/services/utilitiesServices.js new file mode 100644 index 00000000..88b096f7 --- /dev/null +++ b/liste-envies-war/src/main/webapp/js/services/utilitiesServices.js @@ -0,0 +1,28 @@ +angular + .module('service') + .service('UtilitiesServices', UtilitiesServices); + +UtilitiesServices.$inject = ['listEnviesService', '$q']; + function UtilitiesServices(listEnviesService, $q){ + var obj = {}; + var promise = false; + var list = false; + obj.getList = function() { + if (promise) return promise.promise; + else if (list) return $q.resolve(list); + else { + promise = $q.defer(); + listEnviesService.query().$promise.then(function (data) { + console.log('get List ', data); + list = data; + promise.resolve(list); + promise = false; + }); + + return promise.promise; + } + }; + + + return obj; + } \ No newline at end of file diff --git a/liste-envies-war/src/main/webapp/templates/home.html b/liste-envies-war/src/main/webapp/templates/home.html index 09a67086..f86f490c 100644 --- a/liste-envies-war/src/main/webapp/templates/home.html +++ b/liste-envies-war/src/main/webapp/templates/home.html @@ -58,7 +58,7 @@

    {{listenvies.title}}

    -

    de {{owner.name}}({{owner.email}}),

    +

    de {{owner.name}}({{owner.email}}),

    From c91a74f72d82166d3419814ce1f8fe4260cc74f6 Mon Sep 17 00:00:00 2001 From: Emmanuel de Saint Steban Date: Fri, 9 Dec 2016 18:32:14 +0100 Subject: [PATCH 16/46] =?UTF-8?q?Correct=20divers=20bug=20+=20am=C3=A9lior?= =?UTF-8?q?ation=20de=20l'affichage=20+=20inline=20form=20et=20add=20form?= =?UTF-8?q?=20maintenant=20dans=20la=20directive=20wish?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../liste/envies/rest/EnviesRestService.java | 14 ++-- .../liste/envies/service/EnviesService.java | 33 ++++---- .../src/main/webapp/css/style.css | 75 +++++++++++++++++-- .../main/webapp/js/controllers/envieCtrl.js | 54 +++++++------ .../src/main/webapp/js/directive/WishCard.js | 54 +++++++++++-- .../webapp/js/services/utilitiesServices.js | 1 - .../webapp/templates/directive/WishCard.html | 27 ++++--- .../src/main/webapp/templates/envies.html | 20 +++-- .../liste/envies/EnvieServiceTest.java | 8 +- 9 files changed, 211 insertions(+), 75 deletions(-) diff --git a/liste-envies-war/src/main/java/fr/desaintsteban/liste/envies/rest/EnviesRestService.java b/liste-envies-war/src/main/java/fr/desaintsteban/liste/envies/rest/EnviesRestService.java index 44a27a4f..4fe7722d 100644 --- a/liste-envies-war/src/main/java/fr/desaintsteban/liste/envies/rest/EnviesRestService.java +++ b/liste-envies-war/src/main/java/fr/desaintsteban/liste/envies/rest/EnviesRestService.java @@ -76,22 +76,26 @@ public List getEnvie(@PathParam("name") String name) { } @POST - public void addEnvie(@PathParam("name") String name, EnvyDto envie) { + public EnvyDto addEnvie(@PathParam("name") String name, EnvyDto envie) { final AppUser user = ServletUtils.getUserAuthenticated(); if (user != null) { LOGGER.info("Put " + envie.getLabel()); - EnviesService.createOrUpdate(user, name, new Envy(envie)); + return EnviesService.createOrUpdate(user, name, new Envy(envie)); } + return null; } @POST @Path("/{id}/addNote") - public void addNote(@PathParam("name") String name, @PathParam("id") Long envieId, NoteDto note) { + public EnvyDto addNote(@PathParam("name") String name, @PathParam("id") Long envieId, NoteDto note) { final AppUser user = ServletUtils.getUserAuthenticated(); if (user != null) { - LOGGER.info("add note from " + user.getName()); - EnviesService.addNote(user, envieId, name, note); + LOGGER.info("add note from " + user.getName()+"envie id : "+envieId+" Note : "+note.getText()); + EnvyDto envyDto = EnviesService.addNote(user, envieId, name, note); + LOGGER.info("Updated envie with notes " + envyDto.getLabel()); + return envyDto; } + return null; } @POST diff --git a/liste-envies-war/src/main/java/fr/desaintsteban/liste/envies/service/EnviesService.java b/liste-envies-war/src/main/java/fr/desaintsteban/liste/envies/service/EnviesService.java index 30f5ea8e..89182f35 100644 --- a/liste-envies-war/src/main/java/fr/desaintsteban/liste/envies/service/EnviesService.java +++ b/liste-envies-war/src/main/java/fr/desaintsteban/liste/envies/service/EnviesService.java @@ -6,11 +6,9 @@ import com.googlecode.objectify.VoidWork; import com.googlecode.objectify.Work; import com.googlecode.objectify.cmd.Saver; +import fr.desaintsteban.liste.envies.dto.EnvyDto; import fr.desaintsteban.liste.envies.dto.NoteDto; -import fr.desaintsteban.liste.envies.model.AppUser; -import fr.desaintsteban.liste.envies.model.Envie; -import fr.desaintsteban.liste.envies.model.Envy; -import fr.desaintsteban.liste.envies.model.ListEnvies; +import fr.desaintsteban.liste.envies.model.*; import fr.desaintsteban.liste.envies.util.EncodeUtils; import java.util.ArrayList; @@ -87,22 +85,25 @@ public void vrun() { } } - public static void addNote(final AppUser user, final Long itemId, final String name, final NoteDto note) { + public static EnvyDto addNote(final AppUser user, final Long itemId, final String name, final NoteDto note) { Objectify ofy = OfyService.ofy(); final Key parent = Key.create(ListEnvies.class, name); ListEnvies listEnvies = ofy.load().key(parent).now(); if (listEnvies != null && !listEnvies.containsOwner(user.getEmail()) && listEnvies.containsUser(user.getEmail())) { - OfyService.ofy().transact(new VoidWork() { + return OfyService.ofy().transact(new Work() { @Override - public void vrun() { - Objectify ofy = OfyService.ofy(); - Envy saved = ofy.load().key(Key.create(parent, Envy.class, itemId)).now(); - Saver saver = ofy.save(); - saved.addNote(user.getName(), user.getEmail(), note.getText()); - saver.entity(saved); + public EnvyDto run() { + Objectify ofy = OfyService.ofy(); + Envy saved = ofy.load().key(Key.create(parent, Envy.class, itemId)).now(); + Saver saver = ofy.save(); + saved.addNote(user.getName(), user.getEmail(), note.getText()); + saver.entity(saved); + + return saved.toDto(); } }); } + return null; } public static void cancel(final AppUser user, String name, final Long itemId) { @@ -123,14 +124,14 @@ public void vrun() { } } - public static Envy createOrUpdate(final AppUser user, final String name, final Envy item) { + public static EnvyDto createOrUpdate(final AppUser user, final String name, final Envy item) { Objectify ofy = OfyService.ofy(); final Key parent = Key.create(ListEnvies.class, name); final ListEnvies listEnvies = ofy.load().key(parent).now(); if (listEnvies != null) { - return OfyService.ofy().transact(new Work() { + return OfyService.ofy().transact(new Work() { @Override - public Envy run() { + public EnvyDto run() { Objectify ofy = OfyService.ofy(); Saver saver = ofy.save(); item.setList(parent); @@ -146,7 +147,7 @@ public Envy run() { item.setSuggest(!listEnvies.containsOwner(item.getOwner())); item.setDate(new Date()); Key key = saver.entity(item).now(); - return item; + return item.toDto(); } }); } diff --git a/liste-envies-war/src/main/webapp/css/style.css b/liste-envies-war/src/main/webapp/css/style.css index cbbaacc9..73f20cf3 100644 --- a/liste-envies-war/src/main/webapp/css/style.css +++ b/liste-envies-war/src/main/webapp/css/style.css @@ -133,6 +133,15 @@ body { clear: both; } +.list-envie .wish-edit { + margin-top: -4px !important; +} + +.list-envie .preview-image { + height: 100px; + width: 100px; +} + /*.list-envie .envie-item .panel-body { min-height: 110px; } @@ -197,24 +206,80 @@ body { left: 20px; border-width: 0 15px 15px; border-style: solid; - border-color: #CCDBDC transparent; + border-color: #31708f transparent; display: block; width: 0; } .chat .chat-history .you-message { - background: #CCDBDC; - color:#003366; + background: #31708f; + color:#FFFFFF; } .chat .chat-history .me-message { - background: #b0afae; + background: #8a6d3b; } .chat .chat-history .me-message:after { - border-color: #b0afae transparent; right: 20px; top: -15px; left: auto; bottom:auto; } + +/** For success **/ +.panel-success .chat .chat-history .you-message { + background: #3c763d; +} + +.panel-success .chat .chat-history .message:after { + border-color: #3c763d transparent; +} + +.panel-success .chat .chat-history .me-message { + background: #5cb85c; +} + +.panel-success .chat .chat-history .me-message:after { + border-color: #5cb85c transparent; +} + +/** For Warning **/ +.panel-warning .chat .chat-history .you-message { + background: #8a6d3b; +} + +.panel-warning .chat .chat-history .message:after { + border-color: #8a6d3b transparent; +} + +.panel-warning .chat .chat-history .me-message { + background: #f0ad4e; +} + +.panel-warning .chat .chat-history .me-message:after { + border-color: #f0ad4e transparent; +} + +/** For info **/ +.panel-info .chat .chat-history .you-message { + background: #31708f; +} + +.panel-info .chat .chat-history .message:after { + border-color: #31708f transparent; +} + +.panel-info .chat .chat-history .me-message { + background: #5bc0de; +} + +.panel-info .chat .chat-history .me-message:after { + border-color: #5bc0de transparent; +} + + + + + + .chat .chat-message { padding: 30px; } diff --git a/liste-envies-war/src/main/webapp/js/controllers/envieCtrl.js b/liste-envies-war/src/main/webapp/js/controllers/envieCtrl.js index 2d064add..fab985bf 100644 --- a/liste-envies-war/src/main/webapp/js/controllers/envieCtrl.js +++ b/liste-envies-war/src/main/webapp/js/controllers/envieCtrl.js @@ -70,25 +70,11 @@ function EnvieCtrl(envieService, appUserService, listEnviesService, $routeParams loadEnvies(); resetForm(); - vm.editEnvie = function (envie) { - vm.envie = envie; - gotoForm(); - return true; - }; + vm.addEnvie = function (envie) { - if (vm.link) { - vm.addLink(vm.link); - } - if (!envie.id) { vm.envies.push(envie); $scope.update(); - } - envieService.save({name:vm.name}, envie, function() { - loadEnvies(); - gotoEnvie(envie.id); - resetForm(); - }); }; vm.addNote = function (envie, notetext) { @@ -174,16 +160,17 @@ function EnvieCtrl(envieService, appUserService, listEnviesService, $routeParams var intervalUpdate; vm.refreshingLayoutAuto = function (delay, end) { + clearInterval(intervalUpdate); intervalUpdate = setInterval(function () { // trigger layout $scope.masonry.layout(); }, delay); - if (end) { - setTimeout(function () { - vm.clearRefreshingLayoutAuto(); - }, end); - } + if (end) end = 1000; + + setTimeout(function () { + vm.clearRefreshingLayoutAuto(); + }, end); }; vm.clearRefreshingLayoutAuto = function () { @@ -236,6 +223,20 @@ function EnvieCtrl(envieService, appUserService, listEnviesService, $routeParams loadEnvies(); }; + /** + * Function to update a wish, whithout changing the js link. + * @param target + * @param source + */ + vm.updatePropertiesWish = function (target, source) { + if (!target && !source) return; + for(var propertyName in source) { + // propertyName is what you want + // you can get the value like this: myObject[propertyName] + target[propertyName] = source[propertyName]; + } + }; + function parseSentenceForNumber(sentence){ var matches = sentence.replace(/,/g, '').match(/(\+|-)?((\d+(\.\d+)?)|(\.\d+))/); return matches && matches[0] || null; @@ -282,7 +283,7 @@ function EnvieCtrl(envieService, appUserService, listEnviesService, $routeParams } function resetForm() { - vm.envie = {}; + vm.newWish = {}; } function loadUser(email) { @@ -316,9 +317,18 @@ function EnvieCtrl(envieService, appUserService, listEnviesService, $routeParams item.userTakeUsers = userTakeNames.join(", "); } + if (vm.envies) { + vm.envies = newEnvies; + + $scope.masonry.layoutItems($('.envie-card'), false); + } else { + vm.envies = newEnvies; + $scope.update(); + } + + - vm.envies = newEnvies; //$scope.masonry.reloadItems(); }); diff --git a/liste-envies-war/src/main/webapp/js/directive/WishCard.js b/liste-envies-war/src/main/webapp/js/directive/WishCard.js index c1b40a24..c4e9ce2b 100644 --- a/liste-envies-war/src/main/webapp/js/directive/WishCard.js +++ b/liste-envies-war/src/main/webapp/js/directive/WishCard.js @@ -11,8 +11,30 @@ var WishCard = function ($scope, envieService) { var w = this; + w.add = false; w.edit = false; + var resetAddForm = function () { + w.wish = {}; + + if (!w.ownerList) w.wish.suggest = true; + w.edit = true; + w.add = true; + }; + if (!w.wish.id) { + + resetAddForm(); + } + + $scope.$watch('ownerList', function () { + if (!w.ownerList && w.add) { + if (w.wish) w.wish.suggest = true; + else w.wish = {suggest: true}; + } + }); + + + w.link = undefined; w.editorOptions = { @@ -53,10 +75,25 @@ var WishCard = function ($scope, envieService) { }; w.updateWish = function () { + + + //w.parentController.addEnvie(w.wish); + if (w.link) { + w.addLink(w.link); + } w.edit = false; - lastWish = null; - w.parentController.unStampElement(w.wish.id); - w.parentController.addEnvie(w.wish) + envieService.save({name:w.listName}, w.wish, function(updatedData) { + if (w.add) { + w.parentController.addEnvie(updatedData); + resetAddForm(); + } else { + w.edit = false; + w.parentController.updatePropertiesWish(w.wish, updatedData); + lastWish = null; + w.parentController.unStampElement(w.wish.id); + } + + }); }; w.addLink = function(link) { @@ -82,9 +119,12 @@ var WishCard = function ($scope, envieService) { w.parentController.refreshingLayoutAuto(100); }; - w.addNote = function (envie, notetext) { - w.parentController.addNote(w.wish, notetext); - w.note.text = ''; + w.addNote = function (wish, notetext) { + var note = {text: notetext.text}; + envieService.addNote({name:w.listName, id: wish.id}, notetext, function(data) { + w.parentController.updatePropertiesWish(wish, data); + w.note.text = ''; + }); }; @@ -94,6 +134,8 @@ var WishCard = function ($scope, envieService) { + + }; app diff --git a/liste-envies-war/src/main/webapp/js/services/utilitiesServices.js b/liste-envies-war/src/main/webapp/js/services/utilitiesServices.js index 88b096f7..0fb7c7f3 100644 --- a/liste-envies-war/src/main/webapp/js/services/utilitiesServices.js +++ b/liste-envies-war/src/main/webapp/js/services/utilitiesServices.js @@ -13,7 +13,6 @@ UtilitiesServices.$inject = ['listEnviesService', '$q']; else { promise = $q.defer(); listEnviesService.query().$promise.then(function (data) { - console.log('get List ', data); list = data; promise.resolve(list); promise = false; diff --git a/liste-envies-war/src/main/webapp/templates/directive/WishCard.html b/liste-envies-war/src/main/webapp/templates/directive/WishCard.html index fcc1d669..813f12b3 100644 --- a/liste-envies-war/src/main/webapp/templates/directive/WishCard.html +++ b/liste-envies-war/src/main/webapp/templates/directive/WishCard.html @@ -16,8 +16,8 @@

      - {{w.wish.ownerUser.name}} -

    + {{(w.add)? w.user.name : w.wish.ownerUser.name}} +

    @@ -46,10 +46,19 @@

    -
    - - +
    + +
    + + +
    +
    + +
    +
    + +
    @@ -57,9 +66,9 @@

    - +

    -
    +
    - - + +
    diff --git a/liste-envies-war/src/main/webapp/templates/envies.html b/liste-envies-war/src/main/webapp/templates/envies.html index bd42ff71..255088c9 100644 --- a/liste-envies-war/src/main/webapp/templates/envies.html +++ b/liste-envies-war/src/main/webapp/templates/envies.html @@ -13,7 +13,7 @@

    - de {{owner.name}}({{owner.email}}), + de {{owner.name}} ({{owner.email}}),

    \ No newline at end of file diff --git a/liste-envies-war/src/test/java/fr/desaintsteban/liste/envies/EnvieServiceTest.java b/liste-envies-war/src/test/java/fr/desaintsteban/liste/envies/EnvieServiceTest.java index 08b28bbf..d10d4691 100644 --- a/liste-envies-war/src/test/java/fr/desaintsteban/liste/envies/EnvieServiceTest.java +++ b/liste-envies-war/src/test/java/fr/desaintsteban/liste/envies/EnvieServiceTest.java @@ -72,9 +72,9 @@ public void setUp() { listePatrice = ListEnviesService.createOrUpdate(patrice, new ListEnvies("liste-patrice", "Liste de Patrice", patrice.getEmail(), emmanuel.getEmail())); listeEmmanuel = ListEnviesService.createOrUpdate(emmanuel, new ListEnvies("liste-emmanuel", "Liste d'Emmanuel", emmanuel.getEmail(), patrice.getEmail(), clemence.getEmail())); - Envy itemLivre = EnviesService.createOrUpdate(patrice, "liste-patrice", new Envy(listePatrice, "Livre")); + EnvyDto itemLivre = EnviesService.createOrUpdate(patrice, "liste-patrice", new Envy(listePatrice, "Livre")); livreId = itemLivre.getId(); - Envy itemDvd = EnviesService.createOrUpdate(patrice, "liste-patrice", new Envy(listePatrice, "DVD")); + EnvyDto itemDvd = EnviesService.createOrUpdate(patrice, "liste-patrice", new Envy(listePatrice, "DVD")); dvdId = itemDvd.getId(); EnviesService.given(emmanuel, "liste-patrice", livreId); } @@ -120,7 +120,7 @@ public void testListOther() throws Exception { @Test public void testCreate() throws Exception { - Envy itemDvd = EnviesService.createOrUpdate(emmanuel, "liste-emmanuel", new Envy(listeEmmanuel, "DVD")); + EnvyDto itemDvd = EnviesService.createOrUpdate(emmanuel, "liste-emmanuel", new Envy(listeEmmanuel, "DVD")); } @Test @@ -142,7 +142,7 @@ public void testSaveNote() throws Exception { c2.setText("Commentaire2"); Envy envie = new Envy(initdto); - Envy saved = EnviesService.createOrUpdate(emmanuel, "liste-emmanuel", envie); + EnvyDto saved = EnviesService.createOrUpdate(emmanuel, "liste-emmanuel", envie); EnviesService.addNote(patrice, saved.getId(), "liste-emmanuel", c1); EnviesService.addNote(clemence, saved.getId(), "liste-emmanuel", c2); From e19d3737e1d19c97a8f73016971b1914dc301590 Mon Sep 17 00:00:00 2001 From: Emmanuel de Saint Steban Date: Sun, 11 Dec 2016 22:48:27 +0100 Subject: [PATCH 17/46] =?UTF-8?q?Pouvoir=20voter=20sur=20le=20=C3=A9l?= =?UTF-8?q?=C3=A9ments=20de=20notre=20liste=20#18?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../liste/envies/dto/EnvyDto.java | 11 ++++ .../liste/envies/model/Envy.java | 16 ++++++ .../liste/envies/rest/EnviesRestService.java | 5 +- .../src/main/webapp/css/style.css | 29 +++++++++++ liste-envies-war/src/main/webapp/index.html | 1 + .../main/webapp/js/controllers/envieCtrl.js | 3 +- .../src/main/webapp/js/directive/WishCard.js | 9 ++++ .../webapp/js/directive/ratingDirective.js | 50 +++++++++++++++++++ .../webapp/templates/directive/WishCard.html | 8 ++- 9 files changed, 128 insertions(+), 4 deletions(-) create mode 100644 liste-envies-war/src/main/webapp/js/directive/ratingDirective.js diff --git a/liste-envies-war/src/main/java/fr/desaintsteban/liste/envies/dto/EnvyDto.java b/liste-envies-war/src/main/java/fr/desaintsteban/liste/envies/dto/EnvyDto.java index dc02b6c1..1929e73b 100644 --- a/liste-envies-war/src/main/java/fr/desaintsteban/liste/envies/dto/EnvyDto.java +++ b/liste-envies-war/src/main/java/fr/desaintsteban/liste/envies/dto/EnvyDto.java @@ -27,6 +27,9 @@ public class EnvyDto { private List notes; + + private int rating; + public EnvyDto() { } @@ -117,4 +120,12 @@ public List getNotes() { public void setNotes(List notes) { this.notes = notes; } + + public int getRating() { + return rating; + } + + public void setRating(int rating) { + this.rating = rating; + } } diff --git a/liste-envies-war/src/main/java/fr/desaintsteban/liste/envies/model/Envy.java b/liste-envies-war/src/main/java/fr/desaintsteban/liste/envies/model/Envy.java index bad12091..2ba448d7 100644 --- a/liste-envies-war/src/main/java/fr/desaintsteban/liste/envies/model/Envy.java +++ b/liste-envies-war/src/main/java/fr/desaintsteban/liste/envies/model/Envy.java @@ -39,6 +39,10 @@ public class Envy { private String price; private String picture; private Date date; + + + + private int rating; @Embedded private List urls; @Index @@ -50,12 +54,14 @@ public class Envy { public Envy() { this.notes = new ArrayList<>(); + this.rating = 0; } public Envy(ListEnvies list, String label) { this.list = Key.create(list); this.label = label; this.notes = new ArrayList<>(); + this.rating = 0; } @@ -69,6 +75,7 @@ public Envy(EnvyDto envie) { setPicture(envie.getPicture()); setDate(envie.getDate()); setUrls(envie.getUrls()); + setRating(envie.getRating()); if (envie.getUserTake() != null) { List userTake = new ArrayList<>(); for (String email : envie.getUserTake()) { @@ -89,6 +96,7 @@ public EnvyDto toDto() { envie.setPrice(getPrice()); envie.setPicture(getPicture()); envie.setDate(getDate()); + envie.setRating(getRating()); envie.setUrls(getUrls()); List userTake = new ArrayList<>(); if (getUserTake() != null) { @@ -187,6 +195,14 @@ public void setUrls(List urls) { this.urls = urls; } + public int getRating() { + return rating; + } + + public void setRating(int rating) { + this.rating = rating; + } + public void addUrl(String url) { if (this.urls == null) { this.urls = new ArrayList<>(); diff --git a/liste-envies-war/src/main/java/fr/desaintsteban/liste/envies/rest/EnviesRestService.java b/liste-envies-war/src/main/java/fr/desaintsteban/liste/envies/rest/EnviesRestService.java index 4fe7722d..ac055c99 100644 --- a/liste-envies-war/src/main/java/fr/desaintsteban/liste/envies/rest/EnviesRestService.java +++ b/liste-envies-war/src/main/java/fr/desaintsteban/liste/envies/rest/EnviesRestService.java @@ -100,12 +100,13 @@ public EnvyDto addNote(@PathParam("name") String name, @PathParam("id") Long env @POST @Path("/{id}") - public void updateEnvie(@PathParam("name") String name, EnvyDto envie) { + public EnvyDto updateEnvie(@PathParam("name") String name, EnvyDto envie) { final AppUser user = ServletUtils.getUserAuthenticated(); if (user != null) { LOGGER.info("Put " + envie.getLabel()); - EnviesService.createOrUpdate(user, name, new Envy(envie)); + return EnviesService.createOrUpdate(user, name, new Envy(envie)); } + return envie; } @DELETE diff --git a/liste-envies-war/src/main/webapp/css/style.css b/liste-envies-war/src/main/webapp/css/style.css index 73f20cf3..31368c65 100644 --- a/liste-envies-war/src/main/webapp/css/style.css +++ b/liste-envies-war/src/main/webapp/css/style.css @@ -474,3 +474,32 @@ body { content: "Chargement..."; } } + +/** Rating **/ + +.star-rating { + margin: 0; + padding: 0; + display: inline-block; +} +.star-rating .star { + padding: 1px; + color: #ddd; + font-size: 20px; + text-shadow: .05em .05em #aaa; + list-style-type: none; + display: inline-block; + cursor: pointer; +} +.star-rating .star.filled { + color: #ff572d; +} +.star-rating.readonly .star.filled { + color: #ffa77c; + cursor: not-allowed; +} + +.star-rating:not(.readonly) .star:hover { + color: #ff002c; +} + diff --git a/liste-envies-war/src/main/webapp/index.html b/liste-envies-war/src/main/webapp/index.html index 71409cbd..be794be4 100644 --- a/liste-envies-war/src/main/webapp/index.html +++ b/liste-envies-war/src/main/webapp/index.html @@ -118,6 +118,7 @@ + diff --git a/liste-envies-war/src/main/webapp/js/controllers/envieCtrl.js b/liste-envies-war/src/main/webapp/js/controllers/envieCtrl.js index fab985bf..48a01f01 100644 --- a/liste-envies-war/src/main/webapp/js/controllers/envieCtrl.js +++ b/liste-envies-war/src/main/webapp/js/controllers/envieCtrl.js @@ -320,7 +320,8 @@ function EnvieCtrl(envieService, appUserService, listEnviesService, $routeParams if (vm.envies) { vm.envies = newEnvies; - $scope.masonry.layoutItems($('.envie-card'), false); + //$scope.masonry.layoutItems($('.envie-card'), false); + $scope.update(); } else { vm.envies = newEnvies; $scope.update(); diff --git a/liste-envies-war/src/main/webapp/js/directive/WishCard.js b/liste-envies-war/src/main/webapp/js/directive/WishCard.js index c4e9ce2b..7b9ed58a 100644 --- a/liste-envies-war/src/main/webapp/js/directive/WishCard.js +++ b/liste-envies-war/src/main/webapp/js/directive/WishCard.js @@ -127,6 +127,15 @@ var WishCard = function ($scope, envieService) { }); }; + w.rateFunction = function(rating){ + + if (!w.edit) { + setTimeout(function (w) { + w.updateWish(); + }, 100, w); + } + }; + diff --git a/liste-envies-war/src/main/webapp/js/directive/ratingDirective.js b/liste-envies-war/src/main/webapp/js/directive/ratingDirective.js new file mode 100644 index 00000000..deabf6c9 --- /dev/null +++ b/liste-envies-war/src/main/webapp/js/directive/ratingDirective.js @@ -0,0 +1,50 @@ +// http://angulartutorial.blogspot.com/2014/03/rating-stars-in-angular-js-using.html + + + function starRating() { + return { + restrict: 'EA', + template: + '
      ' + + '
    • ' + + ' ' + // or ★ + '
    • ' + + '
    ', + scope: { + ratingValue: '=ngModel', + max: '=?', // optional (default is 5) + onRatingSelect: '&?', + readonly: '=?' + }, + link: function(scope, element, attributes) { + if (scope.max == undefined) { + scope.max = 5; + } + + function updateStars() { + scope.stars = []; + for (var i = 0; i < scope.max; i++) { + scope.stars.push({ + filled: i < scope.ratingValue + }); + } + }; + scope.toggle = function(index) { + if (scope.readonly == undefined || scope.readonly === false){ + scope.ratingValue = index + 1; + scope.onRatingSelect({ + rating: index + 1 + }); + } + }; + scope.$watch('ratingValue', function(oldValue, newValue) { + if (newValue >= 0) { + updateStars(); + } + }); + } + }; + } + + app + .directive('starRating', starRating); diff --git a/liste-envies-war/src/main/webapp/templates/directive/WishCard.html b/liste-envies-war/src/main/webapp/templates/directive/WishCard.html index 813f12b3..8826b696 100644 --- a/liste-envies-war/src/main/webapp/templates/directive/WishCard.html +++ b/liste-envies-war/src/main/webapp/templates/directive/WishCard.html @@ -65,7 +65,13 @@

    - +
    +
    +
    + +
    +
    +
    From 98bd79d7f80382c6ba0e73eda10a9e8a45002b70 Mon Sep 17 00:00:00 2001 From: Emmanuel de Saint Steban Date: Mon, 12 Dec 2016 11:34:11 +0100 Subject: [PATCH 18/46] Survole des coeurs ce fait correctement, et ajout de la suppression du vote. --- liste-envies-war/src/main/webapp/css/style.css | 16 ++++++++++++++-- .../main/webapp/js/directive/ratingDirective.js | 11 +++++++++++ 2 files changed, 25 insertions(+), 2 deletions(-) diff --git a/liste-envies-war/src/main/webapp/css/style.css b/liste-envies-war/src/main/webapp/css/style.css index 31368c65..6d5245b7 100644 --- a/liste-envies-war/src/main/webapp/css/style.css +++ b/liste-envies-war/src/main/webapp/css/style.css @@ -482,7 +482,7 @@ body { padding: 0; display: inline-block; } -.star-rating .star { +.star-rating > .star, .star-rating > .cancel-rating { padding: 1px; color: #ddd; font-size: 20px; @@ -491,6 +491,12 @@ body { display: inline-block; cursor: pointer; } + +.star-rating.readonly > .star { + cursor: not-allowed; +} + + .star-rating .star.filled { color: #ff572d; } @@ -499,7 +505,13 @@ body { cursor: not-allowed; } -.star-rating:not(.readonly) .star:hover { +.star-rating:not(.readonly):hover .star, .star-rating:not(.readonly):hover .star.filled { color: #ff002c; } +.star-rating:not(.readonly) > .star:hover ~ .star, .star-rating:not(.readonly) > .cancel-rating:hover ~ .star { + color: #ddd !important; +} + + + diff --git a/liste-envies-war/src/main/webapp/js/directive/ratingDirective.js b/liste-envies-war/src/main/webapp/js/directive/ratingDirective.js index deabf6c9..02ba119f 100644 --- a/liste-envies-war/src/main/webapp/js/directive/ratingDirective.js +++ b/liste-envies-war/src/main/webapp/js/directive/ratingDirective.js @@ -6,6 +6,9 @@ restrict: 'EA', template: '
      ' + + '
    • ' + + ' ' + // or ★ + '
    • ' + '
    • ' + ' ' + // or ★ '
    • ' + @@ -37,6 +40,14 @@ }); } }; + scope.cancel = function() { + if (scope.readonly == undefined || scope.readonly === false){ + scope.ratingValue = 0; + scope.onRatingSelect({ + rating: 0 + }); + } + }; scope.$watch('ratingValue', function(oldValue, newValue) { if (newValue >= 0) { updateStars(); From e51329002afd2b39bd5e3c2df2d95f006ac82194 Mon Sep 17 00:00:00 2001 From: Patrice Date: Mon, 12 Dec 2016 12:25:24 +0100 Subject: [PATCH 19/46] =?UTF-8?q?ng-cloak=20pour=20cacher=20les=20=C3=A9l?= =?UTF-8?q?=C3=A9ments=20Angular=20avant=20que=20Angular=20ai=20pu=20se=20?= =?UTF-8?q?charger.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- liste-envies-war/src/main/webapp/index.html | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/liste-envies-war/src/main/webapp/index.html b/liste-envies-war/src/main/webapp/index.html index be794be4..8690a84d 100644 --- a/liste-envies-war/src/main/webapp/index.html +++ b/liste-envies-war/src/main/webapp/index.html @@ -28,6 +28,11 @@ + @@ -49,7 +54,7 @@ Liste de mes envies
    - From db6b53dd23892cbe787fff5f9f9526d13f29d9e9 Mon Sep 17 00:00:00 2001 From: Patrice Date: Tue, 13 Dec 2016 12:00:58 +0100 Subject: [PATCH 21/46] Annulation d'un cadeau supprimait tous les participants --- .../fr/desaintsteban/liste/envies/service/EnviesService.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/liste-envies-war/src/main/java/fr/desaintsteban/liste/envies/service/EnviesService.java b/liste-envies-war/src/main/java/fr/desaintsteban/liste/envies/service/EnviesService.java index 89182f35..defd7902 100644 --- a/liste-envies-war/src/main/java/fr/desaintsteban/liste/envies/service/EnviesService.java +++ b/liste-envies-war/src/main/java/fr/desaintsteban/liste/envies/service/EnviesService.java @@ -117,7 +117,7 @@ public void vrun() { Objectify ofy = OfyService.ofy(); Envy saved = ofy.load().key(Key.create(parent, Envy.class, itemId)).now(); Saver saver = ofy.save(); - saved.setUserTake(null); + saved.removeUserTake(EncodeUtils.encode(user.getEmail())); saver.entity(saved); } }); From 13fa67e342c74c95adb04167e0bd8482c38e5f5e Mon Sep 17 00:00:00 2001 From: Patrice Date: Tue, 13 Dec 2016 12:01:55 +0100 Subject: [PATCH 22/46] Nettoyage du code --- .../main/webapp/WEB-INF/datastore-indexes.xml | 4 - .../src/main/webapp/js/directive/WishCard.js | 5 +- .../webapp/js/directive/ratingDirective.js | 110 +++++++++--------- liste-envies-war/src/main/webapp/js/main.js | 4 +- 4 files changed, 59 insertions(+), 64 deletions(-) diff --git a/liste-envies-war/src/main/webapp/WEB-INF/datastore-indexes.xml b/liste-envies-war/src/main/webapp/WEB-INF/datastore-indexes.xml index e288ac9e..46f1fe63 100644 --- a/liste-envies-war/src/main/webapp/WEB-INF/datastore-indexes.xml +++ b/liste-envies-war/src/main/webapp/WEB-INF/datastore-indexes.xml @@ -1,6 +1,2 @@ - - - - diff --git a/liste-envies-war/src/main/webapp/js/directive/WishCard.js b/liste-envies-war/src/main/webapp/js/directive/WishCard.js index 2a0f7b19..aa6c7456 100644 --- a/liste-envies-war/src/main/webapp/js/directive/WishCard.js +++ b/liste-envies-war/src/main/webapp/js/directive/WishCard.js @@ -149,7 +149,7 @@ var WishCard = function ($scope, envieService) { }; -app +angular.module('ListeEnviesDirectives') .directive('wishCard', function () { return { restrict: 'E', @@ -163,9 +163,6 @@ app 'user': '=', 'parentController': '=', 'listName': '=' - }, - link: function (scope, elem, attr) { - } }; }); diff --git a/liste-envies-war/src/main/webapp/js/directive/ratingDirective.js b/liste-envies-war/src/main/webapp/js/directive/ratingDirective.js index 02ba119f..1c5df2ae 100644 --- a/liste-envies-war/src/main/webapp/js/directive/ratingDirective.js +++ b/liste-envies-war/src/main/webapp/js/directive/ratingDirective.js @@ -1,61 +1,61 @@ // http://angulartutorial.blogspot.com/2014/03/rating-stars-in-angular-js-using.html - function starRating() { - return { - restrict: 'EA', - template: - '
      ' + - '
    • ' + - ' ' + // or ★ - '
    • ' + - '
    • ' + - ' ' + // or ★ - '
    • ' + - '
    ', - scope: { - ratingValue: '=ngModel', - max: '=?', // optional (default is 5) - onRatingSelect: '&?', - readonly: '=?' - }, - link: function(scope, element, attributes) { - if (scope.max == undefined) { - scope.max = 5; - } +angular.module('ListeEnviesDirectives') + .directive('starRating', starRating); - function updateStars() { - scope.stars = []; - for (var i = 0; i < scope.max; i++) { - scope.stars.push({ - filled: i < scope.ratingValue - }); - } - }; - scope.toggle = function(index) { - if (scope.readonly == undefined || scope.readonly === false){ - scope.ratingValue = index + 1; - scope.onRatingSelect({ - rating: index + 1 - }); - } - }; - scope.cancel = function() { - if (scope.readonly == undefined || scope.readonly === false){ - scope.ratingValue = 0; - scope.onRatingSelect({ - rating: 0 - }); - } - }; - scope.$watch('ratingValue', function(oldValue, newValue) { - if (newValue >= 0) { - updateStars(); - } - }); +function starRating() { + return { + restrict: 'EA', + template: + '
      ' + + '
    • ' + + ' ' + // or ★ + '
    • ' + + '
    • ' + + ' ' + // or ★ + '
    • ' + + '
    ', + scope: { + ratingValue: '=ngModel', + max: '=?', // optional (default is 5) + onRatingSelect: '&?', + readonly: '=?' + }, + link: function(scope, element, attributes) { + if (scope.max == undefined) { + scope.max = 5; } - }; - } - app - .directive('starRating', starRating); + function updateStars() { + scope.stars = []; + for (var i = 0; i < scope.max; i++) { + scope.stars.push({ + filled: i < scope.ratingValue + }); + } + } + scope.toggle = function(index) { + if (scope.readonly == undefined || scope.readonly === false){ + scope.ratingValue = index + 1; + scope.onRatingSelect({ + rating: index + 1 + }); + } + }; + scope.cancel = function() { + if (scope.readonly == undefined || scope.readonly === false){ + scope.ratingValue = 0; + scope.onRatingSelect({ + rating: 0 + }); + } + }; + scope.$watch('ratingValue', function(oldValue, newValue) { + if (newValue >= 0) { + updateStars(); + } + }); + } + }; +} diff --git a/liste-envies-war/src/main/webapp/js/main.js b/liste-envies-war/src/main/webapp/js/main.js index 6870ea5e..758201d0 100644 --- a/liste-envies-war/src/main/webapp/js/main.js +++ b/liste-envies-war/src/main/webapp/js/main.js @@ -1,3 +1,4 @@ +angular.module('ListeEnviesDirectives',[]); var app = angular.module('ListeEnviesApp', [ 'ngRoute', 'ngResource', @@ -5,6 +6,7 @@ var app = angular.module('ListeEnviesApp', [ 'masonry', 'service', 'summernote', - 'ngSanitize' + 'ngSanitize', + 'ListeEnviesDirectives' ]); From 5c99c88e7e8a643e8ab925d874e9c1b813158d69 Mon Sep 17 00:00:00 2001 From: Patrice Date: Tue, 13 Dec 2016 18:47:14 +0100 Subject: [PATCH 23/46] =?UTF-8?q?D=C3=A9but=20d'interface=20pour=20supprim?= =?UTF-8?q?er=20une=20envie?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- liste-envies-war/src/main/webapp/index.html | 1 + .../src/main/webapp/js/directive/WishCard.js | 23 +++++++--- .../webapp/js/directive/cancelDirective.js | 42 +++++++++++++++++++ .../js/directive/cancelDirectiveSpec.js | 30 +++++++++++++ .../webapp/templates/directive/WishCard.html | 16 ++++++- .../templates/directive/cancelDirective.html | 5 +++ 6 files changed, 109 insertions(+), 8 deletions(-) create mode 100644 liste-envies-war/src/main/webapp/js/directive/cancelDirective.js create mode 100644 liste-envies-war/src/main/webapp/js/directive/cancelDirectiveSpec.js create mode 100644 liste-envies-war/src/main/webapp/templates/directive/cancelDirective.html diff --git a/liste-envies-war/src/main/webapp/index.html b/liste-envies-war/src/main/webapp/index.html index 8690a84d..85c6ffbd 100644 --- a/liste-envies-war/src/main/webapp/index.html +++ b/liste-envies-war/src/main/webapp/index.html @@ -124,6 +124,7 @@ + diff --git a/liste-envies-war/src/main/webapp/js/directive/WishCard.js b/liste-envies-war/src/main/webapp/js/directive/WishCard.js index aa6c7456..86628b97 100644 --- a/liste-envies-war/src/main/webapp/js/directive/WishCard.js +++ b/liste-envies-war/src/main/webapp/js/directive/WishCard.js @@ -13,6 +13,7 @@ var WishCard = function ($scope, envieService) { w.add = false; w.edit = false; + w.remove = false; var resetAddForm = function () { w.wish = {}; @@ -138,15 +139,25 @@ var WishCard = function ($scope, envieService) { } }; + w.deleteWish = function() { + w.remove = true; + }; + w.receivedWish = function() { + w.remove = true; + w.wish.archived = true; + }; + w.cancelRemove = function() { + w.remove = false; + w.wish.archived = false; + }; - - - - - - + w.doRemove = function() { + w.remove = false; + //TODO + w.wish.$delete(); + }; }; angular.module('ListeEnviesDirectives') diff --git a/liste-envies-war/src/main/webapp/js/directive/cancelDirective.js b/liste-envies-war/src/main/webapp/js/directive/cancelDirective.js new file mode 100644 index 00000000..97f1afcb --- /dev/null +++ b/liste-envies-war/src/main/webapp/js/directive/cancelDirective.js @@ -0,0 +1,42 @@ +/** + * @ngdoc directive + * @name directives:cancelDirective + * + * @description + * + * + * @restrict A + * */ +angular.module('ListeEnviesDirectives') + .component('cancelDirective', { + templateUrl: 'templates/directive/cancelDirective.html', + controller: CancelDirectivesController, + controllerAs: 'vm', + bindings: { + whishName: '<', + show: '<', + onCancel: '&', + onDelete: '&' + } + + }); +CancelDirectivesController.$inject = ['$timeout']; +function CancelDirectivesController ($timeout) { + var vm = this; + + vm.$onChanges = function (changesObj) { + if (changesObj.show && changesObj.show.currentValue) { + vm.timeout = $timeout(vm.delete, 5000); + } + }; + vm.cancelDelete = function() { + if (vm.timeout) { + $timeout.cancel(vm.timeout); + } + vm.onCancel(); + }; + + vm.delete = function() { + vm.onDelete(); + }; +} \ No newline at end of file diff --git a/liste-envies-war/src/main/webapp/js/directive/cancelDirectiveSpec.js b/liste-envies-war/src/main/webapp/js/directive/cancelDirectiveSpec.js new file mode 100644 index 00000000..0dc63fea --- /dev/null +++ b/liste-envies-war/src/main/webapp/js/directive/cancelDirectiveSpec.js @@ -0,0 +1,30 @@ +describe('Directive: directives.cancelDirective', function () { + var ele, scope; + + beforeEach(module('directives')); + beforeEach(inject(function ($compile, $rootScope) { + scope = $rootScope.$new(); + + //update to match directive your testing + ele = angular.element('
    '); + + $compile(ele)(scope); + scope.$apply(); + })); + + /** + * @description + * Sample test case to check if HTML rendered by the directive is non empty + * */ + it('should not render empty html', function () { + scope.$apply(function () { + /** + * Set the scope properties here. + * scope.desc = 'test hostname'; + * scope.status = 'valid'; + * + */ + }); + expect(ele.html()).not.toBe(''); + }); +}); diff --git a/liste-envies-war/src/main/webapp/templates/directive/WishCard.html b/liste-envies-war/src/main/webapp/templates/directive/WishCard.html index 342dfce2..e9c37a23 100644 --- a/liste-envies-war/src/main/webapp/templates/directive/WishCard.html +++ b/liste-envies-war/src/main/webapp/templates/directive/WishCard.html @@ -1,6 +1,7 @@
    -
    + +
    {{w.wish.price}} @@ -72,7 +73,18 @@

    - +
    + + + +
    +
    - + --> -
    - + -
    From 091315abc1fefc9688997bc64cca55ccd8eee85d Mon Sep 17 00:00:00 2001 From: Emmanuel de Saint Steban Date: Tue, 13 Dec 2016 23:48:16 +0100 Subject: [PATCH 25/46] =?UTF-8?q?Am=C3=A9lioration=20filtre,=20grouper=20c?= =?UTF-8?q?ertains=20bouton,=20pour=20que=20cela=20prennent=20moins=20de?= =?UTF-8?q?=20place.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main/webapp/js/controllers/envieCtrl.js | 24 +++++++++---------- 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/liste-envies-war/src/main/webapp/js/controllers/envieCtrl.js b/liste-envies-war/src/main/webapp/js/controllers/envieCtrl.js index 1426f020..e1d49e89 100644 --- a/liste-envies-war/src/main/webapp/js/controllers/envieCtrl.js +++ b/liste-envies-war/src/main/webapp/js/controllers/envieCtrl.js @@ -102,22 +102,22 @@ function EnvieCtrl(envieService, appUserService, listEnviesService, $routeParams vm.filterProperties = [{owner: true, shared: true, expression:'true', label:'Toutes', class:'btn-primary'}, {owner: false, shared: true, expression:'userTake.length > 0', label:'Offerts', class:'btn-warning'}, - {owner: false, shared: true, expression:'userTake.length == 0', label:'A offrir', class:'btn-success'}, - {owner: false, shared: true, expression:'suggest == true', label:'Suggestion', class:'btn-info'}, + {owner: false, shared: true, expression:'userTake.length == 0', label:'A offrir', class:'btn-success', child: [ + {role: "filter", expression:'userTake.length == 0 && suggest == true', label:'Suggestion', class:'btn-info'}, + {role: "filter", expression:'userTake.length == 0 && suggest == false ', label:'Envie', class:'btn-sucess'} + ]}, {owner: false, shared: true, expression:'notes.length > 0', label:'Commentaires', class:'btn-default'}, - {owner: true, shared: false, expression:'description == null', label:'Sans texte', class:'btn-default'}, - {owner: true, shared: false, expression:'price == null', label:'Sans prix', class:'btn-default'}, - {owner: true, shared: false, expression:'picture == null', label:'Sans image', class:'btn-default'}, - {owner: true, shared: false, expression:'urls == null', label:'Sans lien', class:'btn-default'}, + {owner: true, shared: false, expression:'description == null || price == null || picture == null || urls == null', label:'A compléter', class:'btn-default', child: [ + {role: "filter", expression:'description == null', label:'Sans texte', class:'btn-default'}, + {role: "filter", expression:'price == null', label:'Sans prix', class:'btn-default'}, + {role: "filter", expression:'picture == null', label:'Sans image', class:'btn-default'}, + {role: "filter", expression:'urls == null', label:'Sans lien', class:'btn-default'} + ]}, + {owner: true, shared: true, expression:'rating > 0', label:'Note', class:'btn-danger', child: vm.filtersRatingList}, {owner: true, shared: true, expression:'price != null', label:'Prix', class:'btn-primary', child: vm.filtersPriceList} ]; - vm.filterPropertiesOwners = [{expression:'true', label:'Toutes', class:'btn-primary'}, - {expression:'description == null', label:'Sans description', class:'btn-default'}, - {expression:'price == null', label:'Sans prix', class:'btn-default'}, - {expression:'picture == null', label:'Sans images', class:'btn-default'}, - {expression:'urls == null', label:'Sans liens', class:'btn-default'}, - {expression:'rating > 0', label:'Note', class:'btn-default'}]; + loadEnvies(); From 963573e159963ec7ac8b4d6d6d082d4407d0ca20 Mon Sep 17 00:00:00 2001 From: Emmanuel de Saint Steban Date: Wed, 14 Dec 2016 15:07:44 +0100 Subject: [PATCH 26/46] =?UTF-8?q?Premi=C3=A8re=20version=20d'une=20refonte?= =?UTF-8?q?=20graphique=20avec=20l'utilisation=20de=20Materials-bootstrap?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/webapp/css/bootstrap.min.css | 9 +- .../src/main/webapp/css/material-kit.css | 3095 +++++++++++++++++ .../src/main/webapp/css/material-kit.css.map | 7 + .../src/main/webapp/css/material-kit.scss | 40 + .../main/webapp/css/material-kit/_alerts.scss | 41 + .../webapp/css/material-kit/_buttons.scss | 250 ++ .../main/webapp/css/material-kit/_cards.scss | 164 + .../webapp/css/material-kit/_carousel.scss | 52 + .../webapp/css/material-kit/_checkboxes.scss | 195 ++ .../main/webapp/css/material-kit/_colors.scss | 326 ++ .../main/webapp/css/material-kit/_core.scss | 115 + .../webapp/css/material-kit/_dialogs.scss | 69 + .../webapp/css/material-kit/_dividers.scss | 73 + .../webapp/css/material-kit/_dropdown.scss | 58 + .../css/material-kit/_example-pages.scss | 236 ++ .../webapp/css/material-kit/_footers.scss | 38 + .../main/webapp/css/material-kit/_form.scss | 42 + .../main/webapp/css/material-kit/_images.scss | 6 + .../css/material-kit/_import-bs-less.scss | 4 + .../css/material-kit/_import-bs-sass.scss | 2 + .../webapp/css/material-kit/_info-areas.scss | 38 + .../webapp/css/material-kit/_inputs-size.scss | 223 ++ .../main/webapp/css/material-kit/_inputs.scss | 369 ++ .../main/webapp/css/material-kit/_labels.scss | 10 + .../main/webapp/css/material-kit/_lists.scss | 104 + .../main/webapp/css/material-kit/_mixins.scss | 385 ++ .../main/webapp/css/material-kit/_navbar.scss | 287 ++ .../webapp/css/material-kit/_pagination.scss | 91 + .../main/webapp/css/material-kit/_panels.scss | 23 + .../main/webapp/css/material-kit/_pills.scss | 91 + .../main/webapp/css/material-kit/_popups.scss | 72 + .../webapp/css/material-kit/_progress.scss | 28 + .../main/webapp/css/material-kit/_radios.scss | 114 + .../webapp/css/material-kit/_ripples.scss | 36 + .../webapp/css/material-kit/_sections.scss | 13 + .../webapp/css/material-kit/_shadows.scss | 138 + .../main/webapp/css/material-kit/_tabs.scss | 53 + .../css/material-kit/_togglebutton.scss | 87 + .../webapp/css/material-kit/_typography.scss | 66 + .../webapp/css/material-kit/_variables.scss | 198 ++ .../material-kit/_variables_bootstrap.scss | 882 +++++ .../webapp/css/material-kit/_welljumbo.scss | 28 + .../plugins/_plugin-datepicker.scss | 220 ++ .../plugins/_plugin-dropdownjs.scss | 17 + .../plugins/_plugin-nouislider.scss | 161 + .../plugins/_plugin-selectize.scss | 93 + .../plugins/_plugin-snackbarjs.scss | 34 + .../src/main/webapp/css/style.css | 61 +- liste-envies-war/src/main/webapp/index.html | 159 +- .../main/webapp/js/controllers/envieCtrl.js | 3 + .../main/webapp/js/controllers/headerCtrl.js | 2 + .../main/webapp/js/controllers/homeCtrl.js | 2 + .../webapp/js/lib/bootstrap-datepicker.js | 492 +++ .../src/main/webapp/js/lib/bootstrap.min.js | 10 +- .../src/main/webapp/js/lib/material-kit.js | 145 + .../src/main/webapp/js/lib/material.min.js | 1 + .../src/main/webapp/js/lib/nouislider.min.js | 31 + .../webapp/templates/directive/WishCard.html | 54 +- .../src/main/webapp/templates/envies.html | 133 +- 59 files changed, 9554 insertions(+), 222 deletions(-) create mode 100644 liste-envies-war/src/main/webapp/css/material-kit.css create mode 100644 liste-envies-war/src/main/webapp/css/material-kit.css.map create mode 100644 liste-envies-war/src/main/webapp/css/material-kit.scss create mode 100644 liste-envies-war/src/main/webapp/css/material-kit/_alerts.scss create mode 100644 liste-envies-war/src/main/webapp/css/material-kit/_buttons.scss create mode 100644 liste-envies-war/src/main/webapp/css/material-kit/_cards.scss create mode 100644 liste-envies-war/src/main/webapp/css/material-kit/_carousel.scss create mode 100644 liste-envies-war/src/main/webapp/css/material-kit/_checkboxes.scss create mode 100644 liste-envies-war/src/main/webapp/css/material-kit/_colors.scss create mode 100644 liste-envies-war/src/main/webapp/css/material-kit/_core.scss create mode 100644 liste-envies-war/src/main/webapp/css/material-kit/_dialogs.scss create mode 100644 liste-envies-war/src/main/webapp/css/material-kit/_dividers.scss create mode 100644 liste-envies-war/src/main/webapp/css/material-kit/_dropdown.scss create mode 100644 liste-envies-war/src/main/webapp/css/material-kit/_example-pages.scss create mode 100644 liste-envies-war/src/main/webapp/css/material-kit/_footers.scss create mode 100644 liste-envies-war/src/main/webapp/css/material-kit/_form.scss create mode 100644 liste-envies-war/src/main/webapp/css/material-kit/_images.scss create mode 100644 liste-envies-war/src/main/webapp/css/material-kit/_import-bs-less.scss create mode 100644 liste-envies-war/src/main/webapp/css/material-kit/_import-bs-sass.scss create mode 100644 liste-envies-war/src/main/webapp/css/material-kit/_info-areas.scss create mode 100644 liste-envies-war/src/main/webapp/css/material-kit/_inputs-size.scss create mode 100644 liste-envies-war/src/main/webapp/css/material-kit/_inputs.scss create mode 100644 liste-envies-war/src/main/webapp/css/material-kit/_labels.scss create mode 100644 liste-envies-war/src/main/webapp/css/material-kit/_lists.scss create mode 100644 liste-envies-war/src/main/webapp/css/material-kit/_mixins.scss create mode 100644 liste-envies-war/src/main/webapp/css/material-kit/_navbar.scss create mode 100644 liste-envies-war/src/main/webapp/css/material-kit/_pagination.scss create mode 100644 liste-envies-war/src/main/webapp/css/material-kit/_panels.scss create mode 100644 liste-envies-war/src/main/webapp/css/material-kit/_pills.scss create mode 100644 liste-envies-war/src/main/webapp/css/material-kit/_popups.scss create mode 100644 liste-envies-war/src/main/webapp/css/material-kit/_progress.scss create mode 100644 liste-envies-war/src/main/webapp/css/material-kit/_radios.scss create mode 100644 liste-envies-war/src/main/webapp/css/material-kit/_ripples.scss create mode 100644 liste-envies-war/src/main/webapp/css/material-kit/_sections.scss create mode 100644 liste-envies-war/src/main/webapp/css/material-kit/_shadows.scss create mode 100644 liste-envies-war/src/main/webapp/css/material-kit/_tabs.scss create mode 100644 liste-envies-war/src/main/webapp/css/material-kit/_togglebutton.scss create mode 100644 liste-envies-war/src/main/webapp/css/material-kit/_typography.scss create mode 100644 liste-envies-war/src/main/webapp/css/material-kit/_variables.scss create mode 100644 liste-envies-war/src/main/webapp/css/material-kit/_variables_bootstrap.scss create mode 100644 liste-envies-war/src/main/webapp/css/material-kit/_welljumbo.scss create mode 100644 liste-envies-war/src/main/webapp/css/material-kit/plugins/_plugin-datepicker.scss create mode 100644 liste-envies-war/src/main/webapp/css/material-kit/plugins/_plugin-dropdownjs.scss create mode 100644 liste-envies-war/src/main/webapp/css/material-kit/plugins/_plugin-nouislider.scss create mode 100644 liste-envies-war/src/main/webapp/css/material-kit/plugins/_plugin-selectize.scss create mode 100644 liste-envies-war/src/main/webapp/css/material-kit/plugins/_plugin-snackbarjs.scss create mode 100644 liste-envies-war/src/main/webapp/js/lib/bootstrap-datepicker.js create mode 100644 liste-envies-war/src/main/webapp/js/lib/material-kit.js create mode 100644 liste-envies-war/src/main/webapp/js/lib/material.min.js create mode 100644 liste-envies-war/src/main/webapp/js/lib/nouislider.min.js diff --git a/liste-envies-war/src/main/webapp/css/bootstrap.min.css b/liste-envies-war/src/main/webapp/css/bootstrap.min.css index b6fe4e0f..cf5ffbaa 100644 --- a/liste-envies-war/src/main/webapp/css/bootstrap.min.css +++ b/liste-envies-war/src/main/webapp/css/bootstrap.min.css @@ -1,5 +1,8 @@ /*! - * Bootstrap v3.3.1 (http://getbootstrap.com) - * Copyright 2011-2014 Twitter, Inc. + * Generated using the Bootstrap Customizer (http://getbootstrap.com/customize/?id=b72a2a6e1c74c1122c4f231814647846) + * Config saved to config.json and https://gist.github.com/b72a2a6e1c74c1122c4f231814647846 + *//*! + * Bootstrap v3.3.6 (http://getbootstrap.com) + * Copyright 2011-2015 Twitter, Inc. * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) - *//*! normalize.css v3.0.2 | MIT License | git.io/normalize */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:700}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 silver}legend{padding:0;border:0}textarea{overflow:auto}optgroup{font-weight:700}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}select{background:#fff!important}.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.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:400;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"}*{-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}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:400;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{color:#286090}.text-success{color:#3c763d}a.text-success:hover{color:#2b542c}.text-info{color:#31708f}a.text-info:hover{color:#245269}.text-warning{color:#8a6d3b}a.text-warning:hover{color:#66512c}.text-danger{color:#a94442}a.text-danger:hover{color:#843534}.bg-primary{color:#fff;background-color:#337ab7}a.bg-primary:hover{background-color:#286090}.bg-success{background-color:#dff0d8}a.bg-success:hover{background-color:#c1e2b3}.bg-info{background-color:#d9edf7}a.bg-info:hover{background-color:#afd9ee}.bg-warning{background-color:#fcf8e3}a.bg-warning:hover{background-color:#f7ecb5}.bg-danger{background-color:#f2dede}a.bg-danger:hover{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:700}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:700;-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-child(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:700}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{cursor:not-allowed;background-color:#eee;opacity:1}textarea.form-control{height:auto}input[type=search]{-webkit-appearance:none}@media screen and (-webkit-min-device-pixel-ratio:0){input[type=date],input[type=time],input[type=datetime-local],input[type=month]{line-height:34px}input[type=date].input-sm,input[type=time].input-sm,input[type=datetime-local].input-sm,input[type=month].input-sm{line-height:30px}input[type=date].input-lg,input[type=time].input-lg,input[type=datetime-local].input-lg,input[type=month].input-lg{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:400;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{display:inline-block;padding-left:20px;margin-bottom:0;font-weight:400;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{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,.form-group-sm .form-control{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}select.input-sm,select.form-group-sm .form-control{height:30px;line-height:30px}textarea.input-sm,textarea.form-group-sm .form-control,select[multiple].input-sm,select[multiple].form-group-sm .form-control{height:auto}.input-lg,.form-group-lg .form-control{height:46px;padding:10px 16px;font-size:18px;line-height:1.33;border-radius:6px}select.input-lg,select.form-group-lg .form-control{height:46px;line-height:46px}textarea.input-lg,textarea.form-group-lg .form-control,select[multiple].input-lg,select[multiple].form-group-lg .form-control{height:auto}.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{width:46px;height:46px;line-height:46px}.input-sm+.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.3px}}@media (min-width:768px){.form-horizontal .form-group-sm .control-label{padding-top:6px}}.btn{display:inline-block;padding:6px 12px;margin-bottom:0;font-size:14px;font-weight:400;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{pointer-events:none;cursor:not-allowed;filter:alpha(opacity=65);-webkit-box-shadow:none;box-shadow:none;opacity:.65}.btn-default{color:#333;background-color:#fff;border-color:#ccc}.btn-default:hover,.btn-default:focus,.btn-default.focus,.btn-default:active,.btn-default.active,.open>.dropdown-toggle.btn-default{color:#333;background-color:#e6e6e6;border-color:#adadad}.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:hover,.btn-primary:focus,.btn-primary.focus,.btn-primary:active,.btn-primary.active,.open>.dropdown-toggle.btn-primary{color:#fff;background-color:#286090;border-color:#204d74}.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:hover,.btn-success:focus,.btn-success.focus,.btn-success:active,.btn-success.active,.open>.dropdown-toggle.btn-success{color:#fff;background-color:#449d44;border-color:#398439}.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:hover,.btn-info:focus,.btn-info.focus,.btn-info:active,.btn-info.active,.open>.dropdown-toggle.btn-info{color:#fff;background-color:#31b0d5;border-color:#269abc}.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:hover,.btn-warning:focus,.btn-warning.focus,.btn-warning:active,.btn-warning.active,.open>.dropdown-toggle.btn-warning{color:#fff;background-color:#ec971f;border-color:#d58512}.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:hover,.btn-danger:focus,.btn-danger.focus,.btn-danger:active,.btn-danger.active,.open>.dropdown-toggle.btn-danger{color:#fff;background-color:#c9302c;border-color:#ac2925}.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:400;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.33;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;visibility:hidden}.collapse.in{display:block;visibility:visible}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 solid;border-right:4px solid transparent;border-left:4px solid transparent}.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:400;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 solid}.dropup .dropdown-menu,.navbar-fixed-bottom .dropdown .dropdown-menu{top:auto;bottom:100%;margin-bottom:1px}@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-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>.btn:last-child,.btn-group>.btn-group:first-child>.dropdown-toggle{border-top-right-radius:0;border-bottom-right-radius:0}.btn-group>.btn-group:last-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.33;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:400;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{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;visibility:hidden}.tab-content>.active{display:block;visibility:visible}.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;visibility: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{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{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}.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}.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:700;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:700;line-height:1;color:#fff;text-align:center;white-space:nowrap;vertical-align:baseline;background-color:#777;border-radius:10px}.badge:empty{display:none}.btn .badge{position:relative;top:-1px}.btn-xs .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:30px 15px;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:48px 0}.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:700}.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-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{color:#555}a.list-group-item .list-group-item-heading{color:#333}a.list-group-item:hover,a.list-group-item:focus{color:#555;text-decoration:none;background-color:#f5f5f5}.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{color:#3c763d}a.list-group-item-success .list-group-item-heading{color:inherit}a.list-group-item-success:hover,a.list-group-item-success:focus{color:#3c763d;background-color:#d0e9c6}a.list-group-item-success.active,a.list-group-item-success.active:hover,a.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{color:#31708f}a.list-group-item-info .list-group-item-heading{color:inherit}a.list-group-item-info:hover,a.list-group-item-info:focus{color:#31708f;background-color:#c4e3f3}a.list-group-item-info.active,a.list-group-item-info.active:hover,a.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{color:#8a6d3b}a.list-group-item-warning .list-group-item-heading{color:inherit}a.list-group-item-warning:hover,a.list-group-item-warning:focus{color:#8a6d3b;background-color:#faf2cc}a.list-group-item-warning.active,a.list-group-item-warning.active:hover,a.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{color:#a94442}a.list-group-item-danger .list-group-item-heading{color:inherit}a.list-group-item-danger:hover,a.list-group-item-danger:focus{color:#a94442;background-color:#ebcccc}a.list-group-item-danger.active,a.list-group-item-danger.active:hover,a.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{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-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.embed-responsive-16by9{padding-bottom:56.25%}.embed-responsive.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:700;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:0 0;border:0}.modal-open{overflow:hidden}.modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1040;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:absolute;top:0;right:0;left:0;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.43px;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-weight:400;line-height:1.4;visibility:visible;filter:alpha(opacity=0);opacity:0}.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;text-decoration:none;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-weight:400;line-height:1.42857143;text-align:left;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)}.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:1000;perspective:1000}.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}.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;margin-top:-10px;font-family:serif}.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;visibility:hidden!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}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}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}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}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}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}} \ No newline at end of file + *//*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */html{font-family:sans-serif;-ms-text-size-adjust:100%;-webkit-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{font-size:2em;margin:0.67em 0}mark{background:#ff0;color:#000}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sup{top:-0.5em}sub{bottom:-0.25em}img{border:0}svg:not(:root){overflow:hidden}figure{margin:1em 40px}hr{-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;height:0}pre{overflow:auto}code,kbd,pre,samp{font-family:monospace, monospace;font-size:1em}button,input,optgroup,select,textarea{color:inherit;font:inherit;margin:0}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{border:0;padding: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-appearance:textfield;-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box}input[type="search"]::-webkit-search-cancel-button,input[type="search"]::-webkit-search-decoration{-webkit-appearance:none}fieldset{border:1px solid #c0c0c0;margin:0 2px;padding:0.35em 0.625em 0.75em}legend{border:0;padding:0}textarea{overflow:auto}optgroup{font-weight:bold}table{border-collapse:collapse;border-spacing:0}td,th{padding:0}/*! Source: https://github.com/h5bp/html5-boilerplate/blob/master/src/css/main.css */@media print{*,*:before,*:after{background:transparent !important;color:#000 !important;-webkit-box-shadow:none !important;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) ")"}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}}*{-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{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;display:inline-block;max-width:100%;height:auto}.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;margin:-1px;padding:0;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{background-color:#fcf8e3;padding:.2em}.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;list-style:none;margin-left:-5px}.list-inline>li{display:inline-block;padding-left:5px;padding-right: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;clear:left;text-align:right;overflow:hidden;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;border-right:5px solid #eee;border-left:0;text-align:right}.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,0.25);box-shadow:inset 0 -1px 0 rgba(0,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;word-break:break-all;word-wrap:break-word;color:#333;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{margin-right:auto;margin-left:auto;padding-left:15px;padding-right:15px}@media (min-width:768px){.container{width:750px}}@media (min-width:992px){.container{width:970px}}@media (min-width:1200px){.container{width:1170px}}.container-fluid{margin-right:auto;margin-left:auto;padding-left:15px;padding-right:15px}.row{margin-left:-15px;margin-right:-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-left:15px;padding-right: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;float:none;display:table-column}table td[class*="col-"],table th[class*="col-"]{position:static;float:none;display:table-cell}.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{overflow-x:auto;min-height:0.01%}@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{padding:0;margin:0;border:0;min-width: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,0.075);box-shadow:inset 0 1px 1px rgba(0,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, 0.6);box-shadow:inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(102, 175, 233, 0.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::-ms-expand{border:0;background-color:transparent}.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-left:-20px;margin-top:4px \9}.radio+.radio,.checkbox+.checkbox{margin-top:-5px}.radio-inline,.checkbox-inline{position:relative;display:inline-block;padding-left:20px;margin-bottom:0;vertical-align:middle;font-weight:normal;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{padding-top:7px;padding-bottom:7px;margin-bottom:0;min-height:34px}.form-control-static.input-lg,.form-control-static.input-sm{padding-left:0;padding-right: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,0.075);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075)}.has-success .form-control:focus{border-color:#2b542c;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #67b168;box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #67b168}.has-success .input-group-addon{color:#3c763d;border-color:#3c763d;background-color:#dff0d8}.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,0.075);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075)}.has-warning .form-control:focus{border-color:#66512c;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #c0a16b;box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #c0a16b}.has-warning .input-group-addon{color:#8a6d3b;border-color:#8a6d3b;background-color:#fcf8e3}.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,0.075);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075)}.has-error .form-control:focus{border-color:#843534;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #ce8483;box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #ce8483}.has-error .input-group-addon{color:#a94442;border-color:#a94442;background-color:#f2dede}.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{margin-top:0;margin-bottom:0;padding-top:7px}.form-horizontal .radio,.form-horizontal .checkbox{min-height:27px}.form-horizontal .form-group{margin-left:-15px;margin-right:-15px}@media (min-width:768px){.form-horizontal .control-label{text-align:right;margin-bottom:0;padding-top:7px}}.form-horizontal .has-feedback .form-control-feedback{right:15px}@media (min-width:768px){.form-horizontal .form-group-lg .control-label{padding-top:11px;font-size:18px}}@media (min-width:768px){.form-horizontal .form-group-sm .control-label{padding-top:6px;font-size:12px}}.btn{display:inline-block;margin-bottom:0;font-weight:normal;text-align:center;vertical-align:middle;-ms-touch-action:manipulation;touch-action:manipulation;cursor:pointer;background-image:none;border:1px solid transparent;white-space:nowrap;padding:6px 12px;font-size:14px;line-height:1.42857143;border-radius:4px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.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{outline:0;background-image:none;-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,0.125);box-shadow:inset 0 3px 5px rgba(0,0,0,0.125)}.btn.disabled,.btn[disabled],fieldset[disabled] .btn{cursor:not-allowed;opacity:.65;filter:alpha(opacity=65);-webkit-box-shadow:none;box-shadow:none}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: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{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: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{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: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{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: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{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: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{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: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{background-color:#d9534f;border-color:#d43f3a}.btn-danger .badge{color:#d9534f;background-color:#fff}.btn-link{color:#337ab7;font-weight:normal;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-property:height, visibility;-o-transition-property:height, visibility;transition-property:height, visibility;-webkit-transition-duration:.35s;-o-transition-duration:.35s;transition-duration:.35s;-webkit-transition-timing-function:ease;-o-transition-timing-function:ease;transition-timing-function:ease}.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;list-style:none;font-size:14px;text-align:left;background-color:#fff;border:1px solid #ccc;border:1px solid rgba(0,0,0,0.15);border-radius:4px;-webkit-box-shadow:0 6px 12px rgba(0,0,0,0.175);box-shadow:0 6px 12px rgba(0,0,0,0.175);-webkit-background-clip:padding-box;background-clip:padding-box}.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{text-decoration:none;color:#262626;background-color:#f5f5f5}.dropdown-menu>.active>a,.dropdown-menu>.active>a:hover,.dropdown-menu>.active>a:focus{color:#fff;text-decoration:none;outline:0;background-color:#337ab7}.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;background-color:transparent;background-image:none;filter:progid:DXImageTransform.Microsoft.gradient(enabled = false);cursor:not-allowed}.open>.dropdown-menu{display:block}.open>a{outline:0}.dropdown-menu-right{left:auto;right:0}.dropdown-menu-left{left:0;right:auto}.dropdown-header{display:block;padding:3px 20px;font-size:12px;line-height:1.42857143;color:#777;white-space:nowrap}.dropdown-backdrop{position:fixed;left:0;right:0;bottom:0;top:0;z-index:990}.pull-right>.dropdown-menu{right:0;left:auto}.dropup .caret,.navbar-fixed-bottom .dropdown .caret{border-top:0;border-bottom:4px dashed;border-bottom:4px solid \9;content:""}.dropup .dropdown-menu,.navbar-fixed-bottom .dropdown .dropdown-menu{top:auto;bottom:100%;margin-bottom:2px}@media (min-width:768px){.navbar-right .dropdown-menu{left:auto;right:0}.navbar-right .dropdown-menu-left{left:0;right:auto}}.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-bottom-right-radius:0;border-top-right-radius:0}.btn-group>.btn:last-child:not(:first-child),.btn-group>.dropdown-toggle:not(:first-child){border-bottom-left-radius:0;border-top-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-bottom-right-radius:0;border-top-right-radius:0}.btn-group>.btn-group:last-child:not(:first-child)>.btn:first-child{border-bottom-left-radius:0;border-top-left-radius:0}.btn-group .dropdown-toggle:active,.btn-group.open .dropdown-toggle{outline:0}.btn-group>.btn+.dropdown-toggle{padding-left:8px;padding-right:8px}.btn-group>.btn-lg+.dropdown-toggle{padding-left:12px;padding-right:12px}.btn-group.open .dropdown-toggle{-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,0.125);box-shadow:inset 0 3px 5px rgba(0,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-top-left-radius:4px;border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn:last-child:not(:first-child){border-top-right-radius:0;border-top-left-radius:0;border-bottom-right-radius:4px;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-right-radius:0;border-top-left-radius:0}.btn-group-justified{display:table;width:100%;table-layout:fixed;border-collapse:separate}.btn-group-justified>.btn,.btn-group-justified>.btn-group{float:none;display:table-cell;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-left:0;padding-right:0}.input-group .form-control{position:relative;z-index:2;float:left;width:100%;margin-bottom:0}.input-group .form-control:focus{z-index:3}.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-bottom-right-radius:0;border-top-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-bottom-left-radius:0;border-top-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{margin-bottom:0;padding-left: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;background-color:transparent;cursor:not-allowed}.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;background-color:#fff;border:1px solid #ddd;border-bottom-color:transparent;cursor:default}.nav-tabs.nav-justified{width:100%;border-bottom:0}.nav-tabs.nav-justified>li{float:none}.nav-tabs.nav-justified>li>a{text-align:center;margin-bottom:5px}.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{text-align:center;margin-bottom:5px}.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-right-radius:0;border-top-left-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{overflow-x:visible;padding-right:15px;padding-left:15px;border-top:1px solid transparent;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,0.1);box-shadow:inset 0 1px 0 rgba(255,255,255,0.1);-webkit-overflow-scrolling:touch}.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-left:0;padding-right: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;padding:15px 15px;font-size:18px;line-height:20px;height:50px}.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;margin-right:15px;padding:9px 10px;margin-top:8px;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{margin-left:-15px;margin-right:-15px;padding:10px 15px;border-top:1px solid transparent;border-bottom:1px solid transparent;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,0.1),0 1px 0 rgba(255,255,255,0.1);box-shadow:inset 0 1px 0 rgba(255,255,255,0.1),0 1px 0 rgba(255,255,255,0.1);margin-top:8px;margin-bottom:8px}@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;border:0;margin-left:0;margin-right:0;padding-top:0;padding-bottom:0;-webkit-box-shadow:none;box-shadow:none}}.navbar-nav>li>.dropdown-menu{margin-top:0;border-top-right-radius:0;border-top-left-radius:0}.navbar-fixed-bottom .navbar-nav>li>.dropdown-menu{margin-bottom:0;border-top-right-radius:4px;border-top-left-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-left:15px;margin-right: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{background-color:#e7e7e7;color:#555}@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{background-color:#080808;color:#fff}@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{content:"/\00a0";padding:0 5px;color:#ccc}.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;line-height:1.42857143;text-decoration:none;color:#337ab7;background-color:#fff;border:1px solid #ddd;margin-left:-1px}.pagination>li:first-child>a,.pagination>li:first-child>span{margin-left:0;border-bottom-left-radius:4px;border-top-left-radius:4px}.pagination>li:last-child>a,.pagination>li:last-child>span{border-bottom-right-radius:4px;border-top-right-radius:4px}.pagination>li>a:hover,.pagination>li>span:hover,.pagination>li>a:focus,.pagination>li>span:focus{z-index:2;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:3;color:#fff;background-color:#337ab7;border-color:#337ab7;cursor:default}.pagination>.disabled>span,.pagination>.disabled>span:hover,.pagination>.disabled>span:focus,.pagination>.disabled>a,.pagination>.disabled>a:hover,.pagination>.disabled>a:focus{color:#777;background-color:#fff;border-color:#ddd;cursor:not-allowed}.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-bottom-left-radius:6px;border-top-left-radius:6px}.pagination-lg>li:last-child>a,.pagination-lg>li:last-child>span{border-bottom-right-radius:6px;border-top-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-bottom-left-radius:3px;border-top-left-radius:3px}.pagination-sm>li:last-child>a,.pagination-sm>li:last-child>span{border-bottom-right-radius:3px;border-top-right-radius:3px}.pager{padding-left:0;margin:20px 0;list-style:none;text-align:center}.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;background-color:#fff;cursor:not-allowed}.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;color:#fff;line-height:1;vertical-align:middle;white-space:nowrap;text-align:center;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;padding-left:15px;padding-right:15px}.jumbotron .container{max-width:100%}@media screen and (min-width:768px){.jumbotron{padding-top:48px;padding-bottom:48px}.container .jumbotron,.container-fluid .jumbotron{padding-left:60px;padding-right: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-left:auto;margin-right: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{background-color:#dff0d8;border-color:#d6e9c6;color:#3c763d}.alert-success hr{border-top-color:#c9e2b3}.alert-success .alert-link{color:#2b542c}.alert-info{background-color:#d9edf7;border-color:#bce8f1;color:#31708f}.alert-info hr{border-top-color:#a6e1ec}.alert-info .alert-link{color:#245269}.alert-warning{background-color:#fcf8e3;border-color:#faebcc;color:#8a6d3b}.alert-warning hr{border-top-color:#f7e1b5}.alert-warning .alert-link{color:#66512c}.alert-danger{background-color:#f2dede;border-color:#ebccd1;color:#a94442}.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{overflow:hidden;height:20px;margin-bottom:20px;background-color:#f5f5f5;border-radius:4px;-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,0.1);box-shadow:inset 0 1px 2px rgba(0,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,0.15);box-shadow:inset 0 -1px 0 rgba(0,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,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:-o-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);-webkit-background-size:40px 40px;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,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:-o-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent)}.progress-bar-info{background-color:#5bc0de}.progress-striped .progress-bar-info{background-image:-webkit-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:-o-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent)}.progress-bar-warning{background-color:#f0ad4e}.progress-striped .progress-bar-warning{background-image:-webkit-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:-o-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent)}.progress-bar-danger{background-color:#d9534f}.progress-striped .progress-bar-danger{background-image:-webkit-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:-o-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent)}.media{margin-top:15px}.media:first-child{margin-top:0}.media,.media-body{zoom:1;overflow:hidden}.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{margin-bottom:20px;padding-left:0}.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-right-radius:4px;border-top-left-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{text-decoration:none;color:#555;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{background-color:#eee;color:#777;cursor:not-allowed}.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,0.05);box-shadow:0 1px 1px rgba(0,0,0,0.05)}.panel-body{padding:15px}.panel-heading{padding:10px 15px;border-bottom:1px solid transparent;border-top-right-radius:3px;border-top-left-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-right-radius:3px;border-top-left-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-right-radius:0;border-top-left-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-left:15px;padding-right:15px}.panel>.table:first-child,.panel>.table-responsive:first-child>.table:first-child{border-top-right-radius:3px;border-top-left-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-left-radius:3px;border-bottom-right-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{border:0;margin-bottom: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;left:0;bottom:0;height:100%;width: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,0.05);box-shadow:inset 0 1px 1px rgba(0,0,0,0.05)}.well blockquote{border-color:#ddd;border-color:rgba(0,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;opacity:.2;filter:alpha(opacity=20)}.close:hover,.close:focus{color:#000;text-decoration:none;cursor:pointer;opacity:.5;filter:alpha(opacity=50)}button.close{padding:0;cursor:pointer;background:transparent;border:0;-webkit-appearance:none}.modal-open{overflow:hidden}.modal{display:none;overflow:hidden;position:fixed;top:0;right:0;bottom:0;left:0;z-index:1050;-webkit-overflow-scrolling:touch;outline:0}.modal.fade .modal-dialog{-webkit-transform:translate(0, -25%);-ms-transform:translate(0, -25%);-o-transform:translate(0, -25%);transform:translate(0, -25%);-webkit-transition:-webkit-transform 0.3s ease-out;-o-transition:-o-transform 0.3s ease-out;transition:transform 0.3s ease-out}.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;border:1px solid #999;border:1px solid rgba(0,0,0,0.2);border-radius:6px;-webkit-box-shadow:0 3px 9px rgba(0,0,0,0.5);box-shadow:0 3px 9px rgba(0,0,0,0.5);-webkit-background-clip:padding-box;background-clip:padding-box;outline:0}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1040;background-color:#000}.modal-backdrop.fade{opacity:0;filter:alpha(opacity=0)}.modal-backdrop.in{opacity:.5;filter:alpha(opacity=50)}.modal-header{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-left:5px;margin-bottom:0}.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,0.5);box-shadow:0 5px 15px rgba(0,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-style:normal;font-weight:normal;letter-spacing:normal;line-break:auto;line-height:1.42857143;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;white-space:normal;word-break:normal;word-spacing:normal;word-wrap:normal;font-size:12px;opacity:0;filter:alpha(opacity=0)}.tooltip.in{opacity:.9;filter:alpha(opacity=90)}.tooltip.top{margin-top:-3px;padding:5px 0}.tooltip.right{margin-left:3px;padding:0 5px}.tooltip.bottom{margin-top:3px;padding:5px 0}.tooltip.left{margin-left:-3px;padding:0 5px}.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{bottom:0;right:5px;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-style:normal;font-weight:normal;letter-spacing:normal;line-break:auto;line-height:1.42857143;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;white-space:normal;word-break:normal;word-spacing:normal;word-wrap:normal;font-size:14px;background-color:#fff;-webkit-background-clip:padding-box;background-clip:padding-box;border:1px solid #ccc;border:1px solid rgba(0,0,0,0.2);border-radius:6px;-webkit-box-shadow:0 5px 10px rgba(0,0,0,0.2);box-shadow:0 5px 10px rgba(0,0,0,0.2)}.popover.top{margin-top:-10px}.popover.right{margin-left:10px}.popover.bottom{margin-top:10px}.popover.left{margin-left:-10px}.popover-title{margin:0;padding:8px 14px;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{border-width:10px;content:""}.popover.top>.arrow{left:50%;margin-left:-11px;border-bottom-width:0;border-top-color:#999;border-top-color:rgba(0,0,0,0.25);bottom:-11px}.popover.top>.arrow:after{content:" ";bottom:1px;margin-left:-10px;border-bottom-width:0;border-top-color:#fff}.popover.right>.arrow{top:50%;left:-11px;margin-top:-11px;border-left-width:0;border-right-color:#999;border-right-color:rgba(0,0,0,0.25)}.popover.right>.arrow:after{content:" ";left:1px;bottom:-10px;border-left-width:0;border-right-color:#fff}.popover.bottom>.arrow{left:50%;margin-left:-11px;border-top-width:0;border-bottom-color:#999;border-bottom-color:rgba(0,0,0,0.25);top:-11px}.popover.bottom>.arrow:after{content:" ";top:1px;margin-left:-10px;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,0.25)}.popover.left>.arrow:after{content:" ";right:1px;border-right-width:0;border-left-color:#fff;bottom:-10px}.carousel{position:relative}.carousel-inner{position:relative;overflow:hidden;width:100%}.carousel-inner>.item{display:none;position:relative;-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 0.6s ease-in-out;-o-transition:-o-transform 0.6s ease-in-out;transition:transform 0.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{-webkit-transform:translate3d(100%, 0, 0);transform:translate3d(100%, 0, 0);left:0}.carousel-inner>.item.prev,.carousel-inner>.item.active.left{-webkit-transform:translate3d(-100%, 0, 0);transform:translate3d(-100%, 0, 0);left:0}.carousel-inner>.item.next.left,.carousel-inner>.item.prev.right,.carousel-inner>.item.active{-webkit-transform:translate3d(0, 0, 0);transform:translate3d(0, 0, 0);left: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;left:0;bottom:0;width:15%;opacity:.5;filter:alpha(opacity=50);font-size:20px;color:#fff;text-align:center;text-shadow:0 1px 2px rgba(0,0,0,0.6);background-color:rgba(0,0,0,0)}.carousel-control.left{background-image:-webkit-linear-gradient(left, rgba(0,0,0,0.5) 0, rgba(0,0,0,0.0001) 100%);background-image:-o-linear-gradient(left, rgba(0,0,0,0.5) 0, rgba(0,0,0,0.0001) 100%);background-image:-webkit-gradient(linear, left top, right top, color-stop(0, rgba(0,0,0,0.5)), to(rgba(0,0,0,0.0001)));background-image:linear-gradient(to right, rgba(0,0,0,0.5) 0, rgba(0,0,0,0.0001) 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#80000000', endColorstr='#00000000', GradientType=1)}.carousel-control.right{left:auto;right:0;background-image:-webkit-linear-gradient(left, rgba(0,0,0,0.0001) 0, rgba(0,0,0,0.5) 100%);background-image:-o-linear-gradient(left, rgba(0,0,0,0.0001) 0, rgba(0,0,0,0.5) 100%);background-image:-webkit-gradient(linear, left top, right top, color-stop(0, rgba(0,0,0,0.0001)), to(rgba(0,0,0,0.5)));background-image:linear-gradient(to right, rgba(0,0,0,0.0001) 0, rgba(0,0,0,0.5) 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#00000000', endColorstr='#80000000', GradientType=1)}.carousel-control:hover,.carousel-control:focus{outline:0;color:#fff;text-decoration:none;opacity:.9;filter:alpha(opacity=90)}.carousel-control .icon-prev,.carousel-control .icon-next,.carousel-control .glyphicon-chevron-left,.carousel-control .glyphicon-chevron-right{position:absolute;top:50%;margin-top:-10px;z-index:5;display:inline-block}.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;line-height:1;font-family:serif}.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%;margin-left:-30%;padding-left:0;list-style:none;text-align:center}.carousel-indicators li{display:inline-block;width:10px;height:10px;margin:1px;text-indent:-999px;border:1px solid #fff;border-radius:10px;cursor:pointer;background-color:#000 \9;background-color:rgba(0,0,0,0)}.carousel-indicators .active{margin:0;width:12px;height:12px;background-color:#fff}.carousel-caption{position:absolute;left:15%;right:15%;bottom:20px;z-index:10;padding-top:20px;padding-bottom:20px;color:#fff;text-align:center;text-shadow:0 1px 2px rgba(0,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:-10px;font-size:30px}.carousel-control .glyphicon-chevron-left,.carousel-control .icon-prev{margin-left:-10px}.carousel-control .glyphicon-chevron-right,.carousel-control .icon-next{margin-right:-10px}.carousel-caption{left:20%;right: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-header:before,.modal-header:after,.modal-footer:before,.modal-footer:after{content:" ";display:table}.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-header:after,.modal-footer:after{clear:both}.center-block{display:block;margin-left:auto;margin-right: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}} diff --git a/liste-envies-war/src/main/webapp/css/material-kit.css b/liste-envies-war/src/main/webapp/css/material-kit.css new file mode 100644 index 00000000..61a0c23c --- /dev/null +++ b/liste-envies-war/src/main/webapp/css/material-kit.css @@ -0,0 +1,3095 @@ +/*! ========================================================= + * + * Material Kit Free - V1.1.0 + * + * ========================================================= + * + * + * _oo0oo_ + * o8888888o + * 88" . "88 + * (| -_- |) + * 0\ = /0 + * ___/`---'\___ + * .' \| |// '. + * / \||| : |||// \ + * / _||||| -:- |||||- \ + * | | \\ - /// | | + * | \_| ''\---/'' |_/ | + * \ .-\__ '-' ___/-. / + * ___'. .' /--.--\ `. .'___ + * ."" '< `.___\_<|>_/___.' >' "". + * | | : `- \`.;`\ _ /`;.`/ - ` : | | + * \ \ `_. \_ __\ /__ _/ .-` / / + * =====`-.____`.___ \_____/___.-`___.-'===== + * `=---=' + * + * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + * + * Buddha Bless: "No Bugs" + * + * ========================================================= */ +/* ANIMATION */ +/* SHADOWS */ +/* Shadows (from mdl http://www.getmdl.io/) */ +body { + background-color: #CCCCCC; } + body.inverse { + background: #333333; } + body.inverse, body.inverse .form-control { + color: #ffffff; } + body.inverse .modal, + body.inverse .modal .form-control, + body.inverse .panel-default, + body.inverse .panel-default .form-control, + body.inverse .card, + body.inverse .card .form-control { + background-color: initial; + color: initial; } + +.life-of-material-kit { + background: #FFFFFF; } + +body, h1, h2, h3, h4, h5, h6, .h1, .h2, .h3, .h4 { + font-family: "Roboto", "Helvetica", "Arial", sans-serif; + font-weight: 300; + line-height: 1.5em; } + +a, a:hover, a:focus { + color: #03a9f4; } + a .material-icons, a:hover .material-icons, a:focus .material-icons { + vertical-align: middle; } + +/* Animations */ +.animation-transition-general, .carousel .carousel-indicators li { + -webkit-transition: all 300ms linear; + -moz-transition: all 300ms linear; + -o-transition: all 300ms linear; + -ms-transition: all 300ms linear; + transition: all 300ms linear; } + +.animation-transition-slow { + -webkit-transition: all 370ms linear; + -moz-transition: all 370ms linear; + -o-transition: all 370ms linear; + -ms-transition: all 370ms linear; + transition: all 370ms linear; } + +.animation-transition-fast, .navbar { + -webkit-transition: all 150ms ease 0s; + -moz-transition: all 150ms ease 0s; + -o-transition: all 150ms ease 0s; + -ms-transition: all 150ms ease 0s; + transition: all 150ms ease 0s; } + +.form-horizontal .radio, +.form-horizontal .checkbox, +.form-horizontal .radio-inline, +.form-horizontal .checkbox-inline { + padding-top: 0; } +.form-horizontal .radio { + margin-bottom: 10px; } +.form-horizontal label { + text-align: right; } +.form-horizontal label.control-label { + margin: 0; } + +.btn, +.navbar .navbar-nav > li > a.btn { + border: none; + border-radius: 3px; + position: relative; + padding: 12px 30px; + margin: 10px 1px; + font-size: 12px; + font-weight: 400; + text-transform: uppercase; + letter-spacing: 0; + will-change: box-shadow, transform; + transition: box-shadow 0.2s cubic-bezier(0.4, 0, 1, 1), background-color 0.2s cubic-bezier(0.4, 0, 0.2, 1); } + .btn::-moz-focus-inner, + .navbar .navbar-nav > li > a.btn::-moz-focus-inner { + border: 0; } + .btn, .btn.btn-default, + .navbar .navbar-nav > li > a.btn, + .navbar .navbar-nav > li > a.btn.btn-default { + box-shadow: 0 2px 2px 0 rgba(255, 255, 255, 0.14), 0 3px 1px -2px rgba(255, 255, 255, 0.2), 0 1px 5px 0 rgba(255, 255, 255, 0.12); } + .btn, .btn:hover, .btn:focus, .btn:active, .btn.active, .btn:active:focus, .btn:active:hover, .btn.active:focus, .btn.active:hover, .open > .btn.dropdown-toggle, .open > .btn.dropdown-toggle:focus, .open > .btn.dropdown-toggle:hover, .btn.btn-default, .btn.btn-default:hover, .btn.btn-default:focus, .btn.btn-default:active, .btn.btn-default.active, .btn.btn-default:active:focus, .btn.btn-default:active:hover, .btn.btn-default.active:focus, .btn.btn-default.active:hover, .open > .btn.btn-default.dropdown-toggle, .open > .btn.btn-default.dropdown-toggle:focus, .open > .btn.btn-default.dropdown-toggle:hover, + .navbar .navbar-nav > li > a.btn, + .navbar .navbar-nav > li > a.btn:hover, + .navbar .navbar-nav > li > a.btn:focus, + .navbar .navbar-nav > li > a.btn:active, + .navbar .navbar-nav > li > a.btn.active, + .navbar .navbar-nav > li > a.btn:active:focus, + .navbar .navbar-nav > li > a.btn:active:hover, + .navbar .navbar-nav > li > a.btn.active:focus, + .navbar .navbar-nav > li > a.btn.active:hover, .open > + .navbar .navbar-nav > li > a.btn.dropdown-toggle, .open > + .navbar .navbar-nav > li > a.btn.dropdown-toggle:focus, .open > + .navbar .navbar-nav > li > a.btn.dropdown-toggle:hover, + .navbar .navbar-nav > li > a.btn.btn-default, + .navbar .navbar-nav > li > a.btn.btn-default:hover, + .navbar .navbar-nav > li > a.btn.btn-default:focus, + .navbar .navbar-nav > li > a.btn.btn-default:active, + .navbar .navbar-nav > li > a.btn.btn-default.active, + .navbar .navbar-nav > li > a.btn.btn-default:active:focus, + .navbar .navbar-nav > li > a.btn.btn-default:active:hover, + .navbar .navbar-nav > li > a.btn.btn-default.active:focus, + .navbar .navbar-nav > li > a.btn.btn-default.active:hover, .open > + .navbar .navbar-nav > li > a.btn.btn-default.dropdown-toggle, .open > + .navbar .navbar-nav > li > a.btn.btn-default.dropdown-toggle:focus, .open > + .navbar .navbar-nav > li > a.btn.btn-default.dropdown-toggle:hover { + background-color: #FFFFFF; + color: #999999; } + .btn:focus, .btn:active, .btn:hover, .btn.btn-default:focus, .btn.btn-default:active, .btn.btn-default:hover, + .navbar .navbar-nav > li > a.btn:focus, + .navbar .navbar-nav > li > a.btn:active, + .navbar .navbar-nav > li > a.btn:hover, + .navbar .navbar-nav > li > a.btn.btn-default:focus, + .navbar .navbar-nav > li > a.btn.btn-default:active, + .navbar .navbar-nav > li > a.btn.btn-default:hover { + box-shadow: 0 14px 26px -12px rgba(255, 255, 255, 0.42), 0 4px 23px 0px rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(255, 255, 255, 0.2); } + .btn.disabled, .btn.disabled:hover, .btn.disabled:focus, .btn.disabled.focus, .btn.disabled:active, .btn.disabled.active, .btn:disabled, .btn:disabled:hover, .btn:disabled:focus, .btn:disabled.focus, .btn:disabled:active, .btn:disabled.active, .btn[disabled], .btn[disabled]:hover, .btn[disabled]:focus, .btn[disabled].focus, .btn[disabled]:active, .btn[disabled].active, fieldset[disabled] .btn, fieldset[disabled] .btn:hover, fieldset[disabled] .btn:focus, fieldset[disabled] .btn.focus, fieldset[disabled] .btn:active, fieldset[disabled] .btn.active, .btn.btn-default.disabled, .btn.btn-default.disabled:hover, .btn.btn-default.disabled:focus, .btn.btn-default.disabled.focus, .btn.btn-default.disabled:active, .btn.btn-default.disabled.active, .btn.btn-default:disabled, .btn.btn-default:disabled:hover, .btn.btn-default:disabled:focus, .btn.btn-default:disabled.focus, .btn.btn-default:disabled:active, .btn.btn-default:disabled.active, .btn.btn-default[disabled], .btn.btn-default[disabled]:hover, .btn.btn-default[disabled]:focus, .btn.btn-default[disabled].focus, .btn.btn-default[disabled]:active, .btn.btn-default[disabled].active, fieldset[disabled] .btn.btn-default, fieldset[disabled] .btn.btn-default:hover, fieldset[disabled] .btn.btn-default:focus, fieldset[disabled] .btn.btn-default.focus, fieldset[disabled] .btn.btn-default:active, fieldset[disabled] .btn.btn-default.active, + .navbar .navbar-nav > li > a.btn.disabled, + .navbar .navbar-nav > li > a.btn.disabled:hover, + .navbar .navbar-nav > li > a.btn.disabled:focus, + .navbar .navbar-nav > li > a.btn.disabled.focus, + .navbar .navbar-nav > li > a.btn.disabled:active, + .navbar .navbar-nav > li > a.btn.disabled.active, + .navbar .navbar-nav > li > a.btn:disabled, + .navbar .navbar-nav > li > a.btn:disabled:hover, + .navbar .navbar-nav > li > a.btn:disabled:focus, + .navbar .navbar-nav > li > a.btn:disabled.focus, + .navbar .navbar-nav > li > a.btn:disabled:active, + .navbar .navbar-nav > li > a.btn:disabled.active, + .navbar .navbar-nav > li > a.btn[disabled], + .navbar .navbar-nav > li > a.btn[disabled]:hover, + .navbar .navbar-nav > li > a.btn[disabled]:focus, + .navbar .navbar-nav > li > a.btn[disabled].focus, + .navbar .navbar-nav > li > a.btn[disabled]:active, + .navbar .navbar-nav > li > a.btn[disabled].active, fieldset[disabled] + .navbar .navbar-nav > li > a.btn, fieldset[disabled] + .navbar .navbar-nav > li > a.btn:hover, fieldset[disabled] + .navbar .navbar-nav > li > a.btn:focus, fieldset[disabled] + .navbar .navbar-nav > li > a.btn.focus, fieldset[disabled] + .navbar .navbar-nav > li > a.btn:active, fieldset[disabled] + .navbar .navbar-nav > li > a.btn.active, + .navbar .navbar-nav > li > a.btn.btn-default.disabled, + .navbar .navbar-nav > li > a.btn.btn-default.disabled:hover, + .navbar .navbar-nav > li > a.btn.btn-default.disabled:focus, + .navbar .navbar-nav > li > a.btn.btn-default.disabled.focus, + .navbar .navbar-nav > li > a.btn.btn-default.disabled:active, + .navbar .navbar-nav > li > a.btn.btn-default.disabled.active, + .navbar .navbar-nav > li > a.btn.btn-default:disabled, + .navbar .navbar-nav > li > a.btn.btn-default:disabled:hover, + .navbar .navbar-nav > li > a.btn.btn-default:disabled:focus, + .navbar .navbar-nav > li > a.btn.btn-default:disabled.focus, + .navbar .navbar-nav > li > a.btn.btn-default:disabled:active, + .navbar .navbar-nav > li > a.btn.btn-default:disabled.active, + .navbar .navbar-nav > li > a.btn.btn-default[disabled], + .navbar .navbar-nav > li > a.btn.btn-default[disabled]:hover, + .navbar .navbar-nav > li > a.btn.btn-default[disabled]:focus, + .navbar .navbar-nav > li > a.btn.btn-default[disabled].focus, + .navbar .navbar-nav > li > a.btn.btn-default[disabled]:active, + .navbar .navbar-nav > li > a.btn.btn-default[disabled].active, fieldset[disabled] + .navbar .navbar-nav > li > a.btn.btn-default, fieldset[disabled] + .navbar .navbar-nav > li > a.btn.btn-default:hover, fieldset[disabled] + .navbar .navbar-nav > li > a.btn.btn-default:focus, fieldset[disabled] + .navbar .navbar-nav > li > a.btn.btn-default.focus, fieldset[disabled] + .navbar .navbar-nav > li > a.btn.btn-default:active, fieldset[disabled] + .navbar .navbar-nav > li > a.btn.btn-default.active { + box-shadow: none; } + .btn.btn-simple, .btn.btn-default.btn-simple, + .navbar .navbar-nav > li > a.btn.btn-simple, + .navbar .navbar-nav > li > a.btn.btn-default.btn-simple { + background-color: transparent; + color: #FFFFFF; + box-shadow: none; } + .btn.btn-simple:hover, .btn.btn-simple:focus, .btn.btn-simple:active, .btn.btn-default.btn-simple:hover, .btn.btn-default.btn-simple:focus, .btn.btn-default.btn-simple:active, + .navbar .navbar-nav > li > a.btn.btn-simple:hover, + .navbar .navbar-nav > li > a.btn.btn-simple:focus, + .navbar .navbar-nav > li > a.btn.btn-simple:active, + .navbar .navbar-nav > li > a.btn.btn-default.btn-simple:hover, + .navbar .navbar-nav > li > a.btn.btn-default.btn-simple:focus, + .navbar .navbar-nav > li > a.btn.btn-default.btn-simple:active { + background-color: transparent; + color: #FFFFFF; } + .btn.btn-gray, + .navbar .navbar-nav > li > a.btn.btn-gray { + box-shadow: 0 2px 2px 0 rgba(153, 153, 153, 0.14), 0 3px 1px -2px rgba(153, 153, 153, 0.2), 0 1px 5px 0 rgba(153, 153, 153, 0.12); } + .btn.btn-gray, .btn.btn-gray:hover, .btn.btn-gray:focus, .btn.btn-gray:active, .btn.btn-gray.active, .btn.btn-gray:active:focus, .btn.btn-gray:active:hover, .btn.btn-gray.active:focus, .btn.btn-gray.active:hover, .open > .btn.btn-gray.dropdown-toggle, .open > .btn.btn-gray.dropdown-toggle:focus, .open > .btn.btn-gray.dropdown-toggle:hover, + .navbar .navbar-nav > li > a.btn.btn-gray, + .navbar .navbar-nav > li > a.btn.btn-gray:hover, + .navbar .navbar-nav > li > a.btn.btn-gray:focus, + .navbar .navbar-nav > li > a.btn.btn-gray:active, + .navbar .navbar-nav > li > a.btn.btn-gray.active, + .navbar .navbar-nav > li > a.btn.btn-gray:active:focus, + .navbar .navbar-nav > li > a.btn.btn-gray:active:hover, + .navbar .navbar-nav > li > a.btn.btn-gray.active:focus, + .navbar .navbar-nav > li > a.btn.btn-gray.active:hover, .open > + .navbar .navbar-nav > li > a.btn.btn-gray.dropdown-toggle, .open > + .navbar .navbar-nav > li > a.btn.btn-gray.dropdown-toggle:focus, .open > + .navbar .navbar-nav > li > a.btn.btn-gray.dropdown-toggle:hover { + background-color: #999999; + color: #FFFFFF; } + .btn.btn-gray:focus, .btn.btn-gray:active, .btn.btn-gray:hover, + .navbar .navbar-nav > li > a.btn.btn-gray:focus, + .navbar .navbar-nav > li > a.btn.btn-gray:active, + .navbar .navbar-nav > li > a.btn.btn-gray:hover { + box-shadow: 0 14px 26px -12px rgba(153, 153, 153, 0.42), 0 4px 23px 0px rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(153, 153, 153, 0.2); } + .btn.btn-gray.disabled, .btn.btn-gray.disabled:hover, .btn.btn-gray.disabled:focus, .btn.btn-gray.disabled.focus, .btn.btn-gray.disabled:active, .btn.btn-gray.disabled.active, .btn.btn-gray:disabled, .btn.btn-gray:disabled:hover, .btn.btn-gray:disabled:focus, .btn.btn-gray:disabled.focus, .btn.btn-gray:disabled:active, .btn.btn-gray:disabled.active, .btn.btn-gray[disabled], .btn.btn-gray[disabled]:hover, .btn.btn-gray[disabled]:focus, .btn.btn-gray[disabled].focus, .btn.btn-gray[disabled]:active, .btn.btn-gray[disabled].active, fieldset[disabled] .btn.btn-gray, fieldset[disabled] .btn.btn-gray:hover, fieldset[disabled] .btn.btn-gray:focus, fieldset[disabled] .btn.btn-gray.focus, fieldset[disabled] .btn.btn-gray:active, fieldset[disabled] .btn.btn-gray.active, + .navbar .navbar-nav > li > a.btn.btn-gray.disabled, + .navbar .navbar-nav > li > a.btn.btn-gray.disabled:hover, + .navbar .navbar-nav > li > a.btn.btn-gray.disabled:focus, + .navbar .navbar-nav > li > a.btn.btn-gray.disabled.focus, + .navbar .navbar-nav > li > a.btn.btn-gray.disabled:active, + .navbar .navbar-nav > li > a.btn.btn-gray.disabled.active, + .navbar .navbar-nav > li > a.btn.btn-gray:disabled, + .navbar .navbar-nav > li > a.btn.btn-gray:disabled:hover, + .navbar .navbar-nav > li > a.btn.btn-gray:disabled:focus, + .navbar .navbar-nav > li > a.btn.btn-gray:disabled.focus, + .navbar .navbar-nav > li > a.btn.btn-gray:disabled:active, + .navbar .navbar-nav > li > a.btn.btn-gray:disabled.active, + .navbar .navbar-nav > li > a.btn.btn-gray[disabled], + .navbar .navbar-nav > li > a.btn.btn-gray[disabled]:hover, + .navbar .navbar-nav > li > a.btn.btn-gray[disabled]:focus, + .navbar .navbar-nav > li > a.btn.btn-gray[disabled].focus, + .navbar .navbar-nav > li > a.btn.btn-gray[disabled]:active, + .navbar .navbar-nav > li > a.btn.btn-gray[disabled].active, fieldset[disabled] + .navbar .navbar-nav > li > a.btn.btn-gray, fieldset[disabled] + .navbar .navbar-nav > li > a.btn.btn-gray:hover, fieldset[disabled] + .navbar .navbar-nav > li > a.btn.btn-gray:focus, fieldset[disabled] + .navbar .navbar-nav > li > a.btn.btn-gray.focus, fieldset[disabled] + .navbar .navbar-nav > li > a.btn.btn-gray:active, fieldset[disabled] + .navbar .navbar-nav > li > a.btn.btn-gray.active { + box-shadow: none; } + .btn.btn-gray.btn-simple, + .navbar .navbar-nav > li > a.btn.btn-gray.btn-simple { + background-color: transparent; + color: #999999; + box-shadow: none; } + .btn.btn-gray.btn-simple:hover, .btn.btn-gray.btn-simple:focus, .btn.btn-gray.btn-simple:active, + .navbar .navbar-nav > li > a.btn.btn-gray.btn-simple:hover, + .navbar .navbar-nav > li > a.btn.btn-gray.btn-simple:focus, + .navbar .navbar-nav > li > a.btn.btn-gray.btn-simple:active { + background-color: transparent; + color: #999999; } + .btn.btn-primary, + .navbar .navbar-nav > li > a.btn.btn-primary { + box-shadow: 0 2px 2px 0 rgba(3, 169, 244, 0.14), 0 3px 1px -2px rgba(3, 169, 244, 0.2), 0 1px 5px 0 rgba(3, 169, 244, 0.12); } + .btn.btn-primary, .btn.btn-primary:hover, .btn.btn-primary:focus, .btn.btn-primary:active, .btn.btn-primary.active, .btn.btn-primary:active:focus, .btn.btn-primary:active:hover, .btn.btn-primary.active:focus, .btn.btn-primary.active:hover, .open > .btn.btn-primary.dropdown-toggle, .open > .btn.btn-primary.dropdown-toggle:focus, .open > .btn.btn-primary.dropdown-toggle:hover, + .navbar .navbar-nav > li > a.btn.btn-primary, + .navbar .navbar-nav > li > a.btn.btn-primary:hover, + .navbar .navbar-nav > li > a.btn.btn-primary:focus, + .navbar .navbar-nav > li > a.btn.btn-primary:active, + .navbar .navbar-nav > li > a.btn.btn-primary.active, + .navbar .navbar-nav > li > a.btn.btn-primary:active:focus, + .navbar .navbar-nav > li > a.btn.btn-primary:active:hover, + .navbar .navbar-nav > li > a.btn.btn-primary.active:focus, + .navbar .navbar-nav > li > a.btn.btn-primary.active:hover, .open > + .navbar .navbar-nav > li > a.btn.btn-primary.dropdown-toggle, .open > + .navbar .navbar-nav > li > a.btn.btn-primary.dropdown-toggle:focus, .open > + .navbar .navbar-nav > li > a.btn.btn-primary.dropdown-toggle:hover { + background-color: #03a9f4; + color: #FFFFFF; } + .btn.btn-primary:focus, .btn.btn-primary:active, .btn.btn-primary:hover, + .navbar .navbar-nav > li > a.btn.btn-primary:focus, + .navbar .navbar-nav > li > a.btn.btn-primary:active, + .navbar .navbar-nav > li > a.btn.btn-primary:hover { + box-shadow: 0 14px 26px -12px rgba(3, 169, 244, 0.42), 0 4px 23px 0px rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(3, 169, 244, 0.2); } + .btn.btn-primary.disabled, .btn.btn-primary.disabled:hover, .btn.btn-primary.disabled:focus, .btn.btn-primary.disabled.focus, .btn.btn-primary.disabled:active, .btn.btn-primary.disabled.active, .btn.btn-primary:disabled, .btn.btn-primary:disabled:hover, .btn.btn-primary:disabled:focus, .btn.btn-primary:disabled.focus, .btn.btn-primary:disabled:active, .btn.btn-primary:disabled.active, .btn.btn-primary[disabled], .btn.btn-primary[disabled]:hover, .btn.btn-primary[disabled]:focus, .btn.btn-primary[disabled].focus, .btn.btn-primary[disabled]:active, .btn.btn-primary[disabled].active, fieldset[disabled] .btn.btn-primary, fieldset[disabled] .btn.btn-primary:hover, fieldset[disabled] .btn.btn-primary:focus, fieldset[disabled] .btn.btn-primary.focus, fieldset[disabled] .btn.btn-primary:active, fieldset[disabled] .btn.btn-primary.active, + .navbar .navbar-nav > li > a.btn.btn-primary.disabled, + .navbar .navbar-nav > li > a.btn.btn-primary.disabled:hover, + .navbar .navbar-nav > li > a.btn.btn-primary.disabled:focus, + .navbar .navbar-nav > li > a.btn.btn-primary.disabled.focus, + .navbar .navbar-nav > li > a.btn.btn-primary.disabled:active, + .navbar .navbar-nav > li > a.btn.btn-primary.disabled.active, + .navbar .navbar-nav > li > a.btn.btn-primary:disabled, + .navbar .navbar-nav > li > a.btn.btn-primary:disabled:hover, + .navbar .navbar-nav > li > a.btn.btn-primary:disabled:focus, + .navbar .navbar-nav > li > a.btn.btn-primary:disabled.focus, + .navbar .navbar-nav > li > a.btn.btn-primary:disabled:active, + .navbar .navbar-nav > li > a.btn.btn-primary:disabled.active, + .navbar .navbar-nav > li > a.btn.btn-primary[disabled], + .navbar .navbar-nav > li > a.btn.btn-primary[disabled]:hover, + .navbar .navbar-nav > li > a.btn.btn-primary[disabled]:focus, + .navbar .navbar-nav > li > a.btn.btn-primary[disabled].focus, + .navbar .navbar-nav > li > a.btn.btn-primary[disabled]:active, + .navbar .navbar-nav > li > a.btn.btn-primary[disabled].active, fieldset[disabled] + .navbar .navbar-nav > li > a.btn.btn-primary, fieldset[disabled] + .navbar .navbar-nav > li > a.btn.btn-primary:hover, fieldset[disabled] + .navbar .navbar-nav > li > a.btn.btn-primary:focus, fieldset[disabled] + .navbar .navbar-nav > li > a.btn.btn-primary.focus, fieldset[disabled] + .navbar .navbar-nav > li > a.btn.btn-primary:active, fieldset[disabled] + .navbar .navbar-nav > li > a.btn.btn-primary.active { + box-shadow: none; } + .btn.btn-primary.btn-simple, + .navbar .navbar-nav > li > a.btn.btn-primary.btn-simple { + background-color: transparent; + color: #03a9f4; + box-shadow: none; } + .btn.btn-primary.btn-simple:hover, .btn.btn-primary.btn-simple:focus, .btn.btn-primary.btn-simple:active, + .navbar .navbar-nav > li > a.btn.btn-primary.btn-simple:hover, + .navbar .navbar-nav > li > a.btn.btn-primary.btn-simple:focus, + .navbar .navbar-nav > li > a.btn.btn-primary.btn-simple:active { + background-color: transparent; + color: #03a9f4; } + .btn.btn-info, + .navbar .navbar-nav > li > a.btn.btn-info { + box-shadow: 0 2px 2px 0 rgba(0, 188, 212, 0.14), 0 3px 1px -2px rgba(0, 188, 212, 0.2), 0 1px 5px 0 rgba(0, 188, 212, 0.12); } + .btn.btn-info, .btn.btn-info:hover, .btn.btn-info:focus, .btn.btn-info:active, .btn.btn-info.active, .btn.btn-info:active:focus, .btn.btn-info:active:hover, .btn.btn-info.active:focus, .btn.btn-info.active:hover, .open > .btn.btn-info.dropdown-toggle, .open > .btn.btn-info.dropdown-toggle:focus, .open > .btn.btn-info.dropdown-toggle:hover, + .navbar .navbar-nav > li > a.btn.btn-info, + .navbar .navbar-nav > li > a.btn.btn-info:hover, + .navbar .navbar-nav > li > a.btn.btn-info:focus, + .navbar .navbar-nav > li > a.btn.btn-info:active, + .navbar .navbar-nav > li > a.btn.btn-info.active, + .navbar .navbar-nav > li > a.btn.btn-info:active:focus, + .navbar .navbar-nav > li > a.btn.btn-info:active:hover, + .navbar .navbar-nav > li > a.btn.btn-info.active:focus, + .navbar .navbar-nav > li > a.btn.btn-info.active:hover, .open > + .navbar .navbar-nav > li > a.btn.btn-info.dropdown-toggle, .open > + .navbar .navbar-nav > li > a.btn.btn-info.dropdown-toggle:focus, .open > + .navbar .navbar-nav > li > a.btn.btn-info.dropdown-toggle:hover { + background-color: #00bcd4; + color: #FFFFFF; } + .btn.btn-info:focus, .btn.btn-info:active, .btn.btn-info:hover, + .navbar .navbar-nav > li > a.btn.btn-info:focus, + .navbar .navbar-nav > li > a.btn.btn-info:active, + .navbar .navbar-nav > li > a.btn.btn-info:hover { + box-shadow: 0 14px 26px -12px rgba(0, 188, 212, 0.42), 0 4px 23px 0px rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(0, 188, 212, 0.2); } + .btn.btn-info.disabled, .btn.btn-info.disabled:hover, .btn.btn-info.disabled:focus, .btn.btn-info.disabled.focus, .btn.btn-info.disabled:active, .btn.btn-info.disabled.active, .btn.btn-info:disabled, .btn.btn-info:disabled:hover, .btn.btn-info:disabled:focus, .btn.btn-info:disabled.focus, .btn.btn-info:disabled:active, .btn.btn-info:disabled.active, .btn.btn-info[disabled], .btn.btn-info[disabled]:hover, .btn.btn-info[disabled]:focus, .btn.btn-info[disabled].focus, .btn.btn-info[disabled]:active, .btn.btn-info[disabled].active, fieldset[disabled] .btn.btn-info, fieldset[disabled] .btn.btn-info:hover, fieldset[disabled] .btn.btn-info:focus, fieldset[disabled] .btn.btn-info.focus, fieldset[disabled] .btn.btn-info:active, fieldset[disabled] .btn.btn-info.active, + .navbar .navbar-nav > li > a.btn.btn-info.disabled, + .navbar .navbar-nav > li > a.btn.btn-info.disabled:hover, + .navbar .navbar-nav > li > a.btn.btn-info.disabled:focus, + .navbar .navbar-nav > li > a.btn.btn-info.disabled.focus, + .navbar .navbar-nav > li > a.btn.btn-info.disabled:active, + .navbar .navbar-nav > li > a.btn.btn-info.disabled.active, + .navbar .navbar-nav > li > a.btn.btn-info:disabled, + .navbar .navbar-nav > li > a.btn.btn-info:disabled:hover, + .navbar .navbar-nav > li > a.btn.btn-info:disabled:focus, + .navbar .navbar-nav > li > a.btn.btn-info:disabled.focus, + .navbar .navbar-nav > li > a.btn.btn-info:disabled:active, + .navbar .navbar-nav > li > a.btn.btn-info:disabled.active, + .navbar .navbar-nav > li > a.btn.btn-info[disabled], + .navbar .navbar-nav > li > a.btn.btn-info[disabled]:hover, + .navbar .navbar-nav > li > a.btn.btn-info[disabled]:focus, + .navbar .navbar-nav > li > a.btn.btn-info[disabled].focus, + .navbar .navbar-nav > li > a.btn.btn-info[disabled]:active, + .navbar .navbar-nav > li > a.btn.btn-info[disabled].active, fieldset[disabled] + .navbar .navbar-nav > li > a.btn.btn-info, fieldset[disabled] + .navbar .navbar-nav > li > a.btn.btn-info:hover, fieldset[disabled] + .navbar .navbar-nav > li > a.btn.btn-info:focus, fieldset[disabled] + .navbar .navbar-nav > li > a.btn.btn-info.focus, fieldset[disabled] + .navbar .navbar-nav > li > a.btn.btn-info:active, fieldset[disabled] + .navbar .navbar-nav > li > a.btn.btn-info.active { + box-shadow: none; } + .btn.btn-info.btn-simple, + .navbar .navbar-nav > li > a.btn.btn-info.btn-simple { + background-color: transparent; + color: #00bcd4; + box-shadow: none; } + .btn.btn-info.btn-simple:hover, .btn.btn-info.btn-simple:focus, .btn.btn-info.btn-simple:active, + .navbar .navbar-nav > li > a.btn.btn-info.btn-simple:hover, + .navbar .navbar-nav > li > a.btn.btn-info.btn-simple:focus, + .navbar .navbar-nav > li > a.btn.btn-info.btn-simple:active { + background-color: transparent; + color: #00bcd4; } + .btn.btn-success, + .navbar .navbar-nav > li > a.btn.btn-success { + box-shadow: 0 2px 2px 0 rgba(139, 195, 74, 0.14), 0 3px 1px -2px rgba(139, 195, 74, 0.2), 0 1px 5px 0 rgba(139, 195, 74, 0.12); } + .btn.btn-success, .btn.btn-success:hover, .btn.btn-success:focus, .btn.btn-success:active, .btn.btn-success.active, .btn.btn-success:active:focus, .btn.btn-success:active:hover, .btn.btn-success.active:focus, .btn.btn-success.active:hover, .open > .btn.btn-success.dropdown-toggle, .open > .btn.btn-success.dropdown-toggle:focus, .open > .btn.btn-success.dropdown-toggle:hover, + .navbar .navbar-nav > li > a.btn.btn-success, + .navbar .navbar-nav > li > a.btn.btn-success:hover, + .navbar .navbar-nav > li > a.btn.btn-success:focus, + .navbar .navbar-nav > li > a.btn.btn-success:active, + .navbar .navbar-nav > li > a.btn.btn-success.active, + .navbar .navbar-nav > li > a.btn.btn-success:active:focus, + .navbar .navbar-nav > li > a.btn.btn-success:active:hover, + .navbar .navbar-nav > li > a.btn.btn-success.active:focus, + .navbar .navbar-nav > li > a.btn.btn-success.active:hover, .open > + .navbar .navbar-nav > li > a.btn.btn-success.dropdown-toggle, .open > + .navbar .navbar-nav > li > a.btn.btn-success.dropdown-toggle:focus, .open > + .navbar .navbar-nav > li > a.btn.btn-success.dropdown-toggle:hover { + background-color: #8bc34a; + color: #FFFFFF; } + .btn.btn-success:focus, .btn.btn-success:active, .btn.btn-success:hover, + .navbar .navbar-nav > li > a.btn.btn-success:focus, + .navbar .navbar-nav > li > a.btn.btn-success:active, + .navbar .navbar-nav > li > a.btn.btn-success:hover { + box-shadow: 0 14px 26px -12px rgba(139, 195, 74, 0.42), 0 4px 23px 0px rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(139, 195, 74, 0.2); } + .btn.btn-success.disabled, .btn.btn-success.disabled:hover, .btn.btn-success.disabled:focus, .btn.btn-success.disabled.focus, .btn.btn-success.disabled:active, .btn.btn-success.disabled.active, .btn.btn-success:disabled, .btn.btn-success:disabled:hover, .btn.btn-success:disabled:focus, .btn.btn-success:disabled.focus, .btn.btn-success:disabled:active, .btn.btn-success:disabled.active, .btn.btn-success[disabled], .btn.btn-success[disabled]:hover, .btn.btn-success[disabled]:focus, .btn.btn-success[disabled].focus, .btn.btn-success[disabled]:active, .btn.btn-success[disabled].active, fieldset[disabled] .btn.btn-success, fieldset[disabled] .btn.btn-success:hover, fieldset[disabled] .btn.btn-success:focus, fieldset[disabled] .btn.btn-success.focus, fieldset[disabled] .btn.btn-success:active, fieldset[disabled] .btn.btn-success.active, + .navbar .navbar-nav > li > a.btn.btn-success.disabled, + .navbar .navbar-nav > li > a.btn.btn-success.disabled:hover, + .navbar .navbar-nav > li > a.btn.btn-success.disabled:focus, + .navbar .navbar-nav > li > a.btn.btn-success.disabled.focus, + .navbar .navbar-nav > li > a.btn.btn-success.disabled:active, + .navbar .navbar-nav > li > a.btn.btn-success.disabled.active, + .navbar .navbar-nav > li > a.btn.btn-success:disabled, + .navbar .navbar-nav > li > a.btn.btn-success:disabled:hover, + .navbar .navbar-nav > li > a.btn.btn-success:disabled:focus, + .navbar .navbar-nav > li > a.btn.btn-success:disabled.focus, + .navbar .navbar-nav > li > a.btn.btn-success:disabled:active, + .navbar .navbar-nav > li > a.btn.btn-success:disabled.active, + .navbar .navbar-nav > li > a.btn.btn-success[disabled], + .navbar .navbar-nav > li > a.btn.btn-success[disabled]:hover, + .navbar .navbar-nav > li > a.btn.btn-success[disabled]:focus, + .navbar .navbar-nav > li > a.btn.btn-success[disabled].focus, + .navbar .navbar-nav > li > a.btn.btn-success[disabled]:active, + .navbar .navbar-nav > li > a.btn.btn-success[disabled].active, fieldset[disabled] + .navbar .navbar-nav > li > a.btn.btn-success, fieldset[disabled] + .navbar .navbar-nav > li > a.btn.btn-success:hover, fieldset[disabled] + .navbar .navbar-nav > li > a.btn.btn-success:focus, fieldset[disabled] + .navbar .navbar-nav > li > a.btn.btn-success.focus, fieldset[disabled] + .navbar .navbar-nav > li > a.btn.btn-success:active, fieldset[disabled] + .navbar .navbar-nav > li > a.btn.btn-success.active { + box-shadow: none; } + .btn.btn-success.btn-simple, + .navbar .navbar-nav > li > a.btn.btn-success.btn-simple { + background-color: transparent; + color: #8bc34a; + box-shadow: none; } + .btn.btn-success.btn-simple:hover, .btn.btn-success.btn-simple:focus, .btn.btn-success.btn-simple:active, + .navbar .navbar-nav > li > a.btn.btn-success.btn-simple:hover, + .navbar .navbar-nav > li > a.btn.btn-success.btn-simple:focus, + .navbar .navbar-nav > li > a.btn.btn-success.btn-simple:active { + background-color: transparent; + color: #8bc34a; } + .btn.btn-warning, + .navbar .navbar-nav > li > a.btn.btn-warning { + box-shadow: 0 2px 2px 0 rgba(255, 193, 7, 0.14), 0 3px 1px -2px rgba(255, 193, 7, 0.2), 0 1px 5px 0 rgba(255, 193, 7, 0.12); } + .btn.btn-warning, .btn.btn-warning:hover, .btn.btn-warning:focus, .btn.btn-warning:active, .btn.btn-warning.active, .btn.btn-warning:active:focus, .btn.btn-warning:active:hover, .btn.btn-warning.active:focus, .btn.btn-warning.active:hover, .open > .btn.btn-warning.dropdown-toggle, .open > .btn.btn-warning.dropdown-toggle:focus, .open > .btn.btn-warning.dropdown-toggle:hover, + .navbar .navbar-nav > li > a.btn.btn-warning, + .navbar .navbar-nav > li > a.btn.btn-warning:hover, + .navbar .navbar-nav > li > a.btn.btn-warning:focus, + .navbar .navbar-nav > li > a.btn.btn-warning:active, + .navbar .navbar-nav > li > a.btn.btn-warning.active, + .navbar .navbar-nav > li > a.btn.btn-warning:active:focus, + .navbar .navbar-nav > li > a.btn.btn-warning:active:hover, + .navbar .navbar-nav > li > a.btn.btn-warning.active:focus, + .navbar .navbar-nav > li > a.btn.btn-warning.active:hover, .open > + .navbar .navbar-nav > li > a.btn.btn-warning.dropdown-toggle, .open > + .navbar .navbar-nav > li > a.btn.btn-warning.dropdown-toggle:focus, .open > + .navbar .navbar-nav > li > a.btn.btn-warning.dropdown-toggle:hover { + background-color: #ffc107; + color: #FFFFFF; } + .btn.btn-warning:focus, .btn.btn-warning:active, .btn.btn-warning:hover, + .navbar .navbar-nav > li > a.btn.btn-warning:focus, + .navbar .navbar-nav > li > a.btn.btn-warning:active, + .navbar .navbar-nav > li > a.btn.btn-warning:hover { + box-shadow: 0 14px 26px -12px rgba(255, 193, 7, 0.42), 0 4px 23px 0px rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(255, 193, 7, 0.2); } + .btn.btn-warning.disabled, .btn.btn-warning.disabled:hover, .btn.btn-warning.disabled:focus, .btn.btn-warning.disabled.focus, .btn.btn-warning.disabled:active, .btn.btn-warning.disabled.active, .btn.btn-warning:disabled, .btn.btn-warning:disabled:hover, .btn.btn-warning:disabled:focus, .btn.btn-warning:disabled.focus, .btn.btn-warning:disabled:active, .btn.btn-warning:disabled.active, .btn.btn-warning[disabled], .btn.btn-warning[disabled]:hover, .btn.btn-warning[disabled]:focus, .btn.btn-warning[disabled].focus, .btn.btn-warning[disabled]:active, .btn.btn-warning[disabled].active, fieldset[disabled] .btn.btn-warning, fieldset[disabled] .btn.btn-warning:hover, fieldset[disabled] .btn.btn-warning:focus, fieldset[disabled] .btn.btn-warning.focus, fieldset[disabled] .btn.btn-warning:active, fieldset[disabled] .btn.btn-warning.active, + .navbar .navbar-nav > li > a.btn.btn-warning.disabled, + .navbar .navbar-nav > li > a.btn.btn-warning.disabled:hover, + .navbar .navbar-nav > li > a.btn.btn-warning.disabled:focus, + .navbar .navbar-nav > li > a.btn.btn-warning.disabled.focus, + .navbar .navbar-nav > li > a.btn.btn-warning.disabled:active, + .navbar .navbar-nav > li > a.btn.btn-warning.disabled.active, + .navbar .navbar-nav > li > a.btn.btn-warning:disabled, + .navbar .navbar-nav > li > a.btn.btn-warning:disabled:hover, + .navbar .navbar-nav > li > a.btn.btn-warning:disabled:focus, + .navbar .navbar-nav > li > a.btn.btn-warning:disabled.focus, + .navbar .navbar-nav > li > a.btn.btn-warning:disabled:active, + .navbar .navbar-nav > li > a.btn.btn-warning:disabled.active, + .navbar .navbar-nav > li > a.btn.btn-warning[disabled], + .navbar .navbar-nav > li > a.btn.btn-warning[disabled]:hover, + .navbar .navbar-nav > li > a.btn.btn-warning[disabled]:focus, + .navbar .navbar-nav > li > a.btn.btn-warning[disabled].focus, + .navbar .navbar-nav > li > a.btn.btn-warning[disabled]:active, + .navbar .navbar-nav > li > a.btn.btn-warning[disabled].active, fieldset[disabled] + .navbar .navbar-nav > li > a.btn.btn-warning, fieldset[disabled] + .navbar .navbar-nav > li > a.btn.btn-warning:hover, fieldset[disabled] + .navbar .navbar-nav > li > a.btn.btn-warning:focus, fieldset[disabled] + .navbar .navbar-nav > li > a.btn.btn-warning.focus, fieldset[disabled] + .navbar .navbar-nav > li > a.btn.btn-warning:active, fieldset[disabled] + .navbar .navbar-nav > li > a.btn.btn-warning.active { + box-shadow: none; } + .btn.btn-warning.btn-simple, + .navbar .navbar-nav > li > a.btn.btn-warning.btn-simple { + background-color: transparent; + color: #ffc107; + box-shadow: none; } + .btn.btn-warning.btn-simple:hover, .btn.btn-warning.btn-simple:focus, .btn.btn-warning.btn-simple:active, + .navbar .navbar-nav > li > a.btn.btn-warning.btn-simple:hover, + .navbar .navbar-nav > li > a.btn.btn-warning.btn-simple:focus, + .navbar .navbar-nav > li > a.btn.btn-warning.btn-simple:active { + background-color: transparent; + color: #ffc107; } + .btn.btn-danger, + .navbar .navbar-nav > li > a.btn.btn-danger { + box-shadow: 0 2px 2px 0 rgba(255, 152, 0, 0.14), 0 3px 1px -2px rgba(255, 152, 0, 0.2), 0 1px 5px 0 rgba(255, 152, 0, 0.12); } + .btn.btn-danger, .btn.btn-danger:hover, .btn.btn-danger:focus, .btn.btn-danger:active, .btn.btn-danger.active, .btn.btn-danger:active:focus, .btn.btn-danger:active:hover, .btn.btn-danger.active:focus, .btn.btn-danger.active:hover, .open > .btn.btn-danger.dropdown-toggle, .open > .btn.btn-danger.dropdown-toggle:focus, .open > .btn.btn-danger.dropdown-toggle:hover, + .navbar .navbar-nav > li > a.btn.btn-danger, + .navbar .navbar-nav > li > a.btn.btn-danger:hover, + .navbar .navbar-nav > li > a.btn.btn-danger:focus, + .navbar .navbar-nav > li > a.btn.btn-danger:active, + .navbar .navbar-nav > li > a.btn.btn-danger.active, + .navbar .navbar-nav > li > a.btn.btn-danger:active:focus, + .navbar .navbar-nav > li > a.btn.btn-danger:active:hover, + .navbar .navbar-nav > li > a.btn.btn-danger.active:focus, + .navbar .navbar-nav > li > a.btn.btn-danger.active:hover, .open > + .navbar .navbar-nav > li > a.btn.btn-danger.dropdown-toggle, .open > + .navbar .navbar-nav > li > a.btn.btn-danger.dropdown-toggle:focus, .open > + .navbar .navbar-nav > li > a.btn.btn-danger.dropdown-toggle:hover { + background-color: #ff9800; + color: #FFFFFF; } + .btn.btn-danger:focus, .btn.btn-danger:active, .btn.btn-danger:hover, + .navbar .navbar-nav > li > a.btn.btn-danger:focus, + .navbar .navbar-nav > li > a.btn.btn-danger:active, + .navbar .navbar-nav > li > a.btn.btn-danger:hover { + box-shadow: 0 14px 26px -12px rgba(255, 152, 0, 0.42), 0 4px 23px 0px rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(255, 152, 0, 0.2); } + .btn.btn-danger.disabled, .btn.btn-danger.disabled:hover, .btn.btn-danger.disabled:focus, .btn.btn-danger.disabled.focus, .btn.btn-danger.disabled:active, .btn.btn-danger.disabled.active, .btn.btn-danger:disabled, .btn.btn-danger:disabled:hover, .btn.btn-danger:disabled:focus, .btn.btn-danger:disabled.focus, .btn.btn-danger:disabled:active, .btn.btn-danger:disabled.active, .btn.btn-danger[disabled], .btn.btn-danger[disabled]:hover, .btn.btn-danger[disabled]:focus, .btn.btn-danger[disabled].focus, .btn.btn-danger[disabled]:active, .btn.btn-danger[disabled].active, fieldset[disabled] .btn.btn-danger, fieldset[disabled] .btn.btn-danger:hover, fieldset[disabled] .btn.btn-danger:focus, fieldset[disabled] .btn.btn-danger.focus, fieldset[disabled] .btn.btn-danger:active, fieldset[disabled] .btn.btn-danger.active, + .navbar .navbar-nav > li > a.btn.btn-danger.disabled, + .navbar .navbar-nav > li > a.btn.btn-danger.disabled:hover, + .navbar .navbar-nav > li > a.btn.btn-danger.disabled:focus, + .navbar .navbar-nav > li > a.btn.btn-danger.disabled.focus, + .navbar .navbar-nav > li > a.btn.btn-danger.disabled:active, + .navbar .navbar-nav > li > a.btn.btn-danger.disabled.active, + .navbar .navbar-nav > li > a.btn.btn-danger:disabled, + .navbar .navbar-nav > li > a.btn.btn-danger:disabled:hover, + .navbar .navbar-nav > li > a.btn.btn-danger:disabled:focus, + .navbar .navbar-nav > li > a.btn.btn-danger:disabled.focus, + .navbar .navbar-nav > li > a.btn.btn-danger:disabled:active, + .navbar .navbar-nav > li > a.btn.btn-danger:disabled.active, + .navbar .navbar-nav > li > a.btn.btn-danger[disabled], + .navbar .navbar-nav > li > a.btn.btn-danger[disabled]:hover, + .navbar .navbar-nav > li > a.btn.btn-danger[disabled]:focus, + .navbar .navbar-nav > li > a.btn.btn-danger[disabled].focus, + .navbar .navbar-nav > li > a.btn.btn-danger[disabled]:active, + .navbar .navbar-nav > li > a.btn.btn-danger[disabled].active, fieldset[disabled] + .navbar .navbar-nav > li > a.btn.btn-danger, fieldset[disabled] + .navbar .navbar-nav > li > a.btn.btn-danger:hover, fieldset[disabled] + .navbar .navbar-nav > li > a.btn.btn-danger:focus, fieldset[disabled] + .navbar .navbar-nav > li > a.btn.btn-danger.focus, fieldset[disabled] + .navbar .navbar-nav > li > a.btn.btn-danger:active, fieldset[disabled] + .navbar .navbar-nav > li > a.btn.btn-danger.active { + box-shadow: none; } + .btn.btn-danger.btn-simple, + .navbar .navbar-nav > li > a.btn.btn-danger.btn-simple { + background-color: transparent; + color: #ff9800; + box-shadow: none; } + .btn.btn-danger.btn-simple:hover, .btn.btn-danger.btn-simple:focus, .btn.btn-danger.btn-simple:active, + .navbar .navbar-nav > li > a.btn.btn-danger.btn-simple:hover, + .navbar .navbar-nav > li > a.btn.btn-danger.btn-simple:focus, + .navbar .navbar-nav > li > a.btn.btn-danger.btn-simple:active { + background-color: transparent; + color: #ff9800; } + .btn.btn-upgrade, + .navbar .navbar-nav > li > a.btn.btn-upgrade { + box-shadow: 0 2px 2px 0 rgba(103, 58, 183, 0.14), 0 3px 1px -2px rgba(103, 58, 183, 0.2), 0 1px 5px 0 rgba(103, 58, 183, 0.12); } + .btn.btn-upgrade, .btn.btn-upgrade:hover, .btn.btn-upgrade:focus, .btn.btn-upgrade:active, .btn.btn-upgrade.active, .btn.btn-upgrade:active:focus, .btn.btn-upgrade:active:hover, .btn.btn-upgrade.active:focus, .btn.btn-upgrade.active:hover, .open > .btn.btn-upgrade.dropdown-toggle, .open > .btn.btn-upgrade.dropdown-toggle:focus, .open > .btn.btn-upgrade.dropdown-toggle:hover, + .navbar .navbar-nav > li > a.btn.btn-upgrade, + .navbar .navbar-nav > li > a.btn.btn-upgrade:hover, + .navbar .navbar-nav > li > a.btn.btn-upgrade:focus, + .navbar .navbar-nav > li > a.btn.btn-upgrade:active, + .navbar .navbar-nav > li > a.btn.btn-upgrade.active, + .navbar .navbar-nav > li > a.btn.btn-upgrade:active:focus, + .navbar .navbar-nav > li > a.btn.btn-upgrade:active:hover, + .navbar .navbar-nav > li > a.btn.btn-upgrade.active:focus, + .navbar .navbar-nav > li > a.btn.btn-upgrade.active:hover, .open > + .navbar .navbar-nav > li > a.btn.btn-upgrade.dropdown-toggle, .open > + .navbar .navbar-nav > li > a.btn.btn-upgrade.dropdown-toggle:focus, .open > + .navbar .navbar-nav > li > a.btn.btn-upgrade.dropdown-toggle:hover { + background-color: #673ab7; + color: #FFFFFF; } + .btn.btn-upgrade:focus, .btn.btn-upgrade:active, .btn.btn-upgrade:hover, + .navbar .navbar-nav > li > a.btn.btn-upgrade:focus, + .navbar .navbar-nav > li > a.btn.btn-upgrade:active, + .navbar .navbar-nav > li > a.btn.btn-upgrade:hover { + box-shadow: 0 14px 26px -12px rgba(103, 58, 183, 0.42), 0 4px 23px 0px rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(103, 58, 183, 0.2); } + .btn.btn-upgrade.disabled, .btn.btn-upgrade.disabled:hover, .btn.btn-upgrade.disabled:focus, .btn.btn-upgrade.disabled.focus, .btn.btn-upgrade.disabled:active, .btn.btn-upgrade.disabled.active, .btn.btn-upgrade:disabled, .btn.btn-upgrade:disabled:hover, .btn.btn-upgrade:disabled:focus, .btn.btn-upgrade:disabled.focus, .btn.btn-upgrade:disabled:active, .btn.btn-upgrade:disabled.active, .btn.btn-upgrade[disabled], .btn.btn-upgrade[disabled]:hover, .btn.btn-upgrade[disabled]:focus, .btn.btn-upgrade[disabled].focus, .btn.btn-upgrade[disabled]:active, .btn.btn-upgrade[disabled].active, fieldset[disabled] .btn.btn-upgrade, fieldset[disabled] .btn.btn-upgrade:hover, fieldset[disabled] .btn.btn-upgrade:focus, fieldset[disabled] .btn.btn-upgrade.focus, fieldset[disabled] .btn.btn-upgrade:active, fieldset[disabled] .btn.btn-upgrade.active, + .navbar .navbar-nav > li > a.btn.btn-upgrade.disabled, + .navbar .navbar-nav > li > a.btn.btn-upgrade.disabled:hover, + .navbar .navbar-nav > li > a.btn.btn-upgrade.disabled:focus, + .navbar .navbar-nav > li > a.btn.btn-upgrade.disabled.focus, + .navbar .navbar-nav > li > a.btn.btn-upgrade.disabled:active, + .navbar .navbar-nav > li > a.btn.btn-upgrade.disabled.active, + .navbar .navbar-nav > li > a.btn.btn-upgrade:disabled, + .navbar .navbar-nav > li > a.btn.btn-upgrade:disabled:hover, + .navbar .navbar-nav > li > a.btn.btn-upgrade:disabled:focus, + .navbar .navbar-nav > li > a.btn.btn-upgrade:disabled.focus, + .navbar .navbar-nav > li > a.btn.btn-upgrade:disabled:active, + .navbar .navbar-nav > li > a.btn.btn-upgrade:disabled.active, + .navbar .navbar-nav > li > a.btn.btn-upgrade[disabled], + .navbar .navbar-nav > li > a.btn.btn-upgrade[disabled]:hover, + .navbar .navbar-nav > li > a.btn.btn-upgrade[disabled]:focus, + .navbar .navbar-nav > li > a.btn.btn-upgrade[disabled].focus, + .navbar .navbar-nav > li > a.btn.btn-upgrade[disabled]:active, + .navbar .navbar-nav > li > a.btn.btn-upgrade[disabled].active, fieldset[disabled] + .navbar .navbar-nav > li > a.btn.btn-upgrade, fieldset[disabled] + .navbar .navbar-nav > li > a.btn.btn-upgrade:hover, fieldset[disabled] + .navbar .navbar-nav > li > a.btn.btn-upgrade:focus, fieldset[disabled] + .navbar .navbar-nav > li > a.btn.btn-upgrade.focus, fieldset[disabled] + .navbar .navbar-nav > li > a.btn.btn-upgrade:active, fieldset[disabled] + .navbar .navbar-nav > li > a.btn.btn-upgrade.active { + box-shadow: none; } + .btn.btn-upgrade.btn-simple, + .navbar .navbar-nav > li > a.btn.btn-upgrade.btn-simple { + background-color: transparent; + color: #673ab7; + box-shadow: none; } + .btn.btn-upgrade.btn-simple:hover, .btn.btn-upgrade.btn-simple:focus, .btn.btn-upgrade.btn-simple:active, + .navbar .navbar-nav > li > a.btn.btn-upgrade.btn-simple:hover, + .navbar .navbar-nav > li > a.btn.btn-upgrade.btn-simple:focus, + .navbar .navbar-nav > li > a.btn.btn-upgrade.btn-simple:active { + background-color: transparent; + color: #673ab7; } + .btn.btn-white, .btn.btn-white:focus, .btn.btn-white:hover, + .navbar .navbar-nav > li > a.btn.btn-white, + .navbar .navbar-nav > li > a.btn.btn-white:focus, + .navbar .navbar-nav > li > a.btn.btn-white:hover { + background-color: #FFFFFF; + color: #999999; } + .btn.btn-white.btn-simple, + .navbar .navbar-nav > li > a.btn.btn-white.btn-simple { + color: #FFFFFF; + background: transparent; + box-shadow: none; } + .btn:focus, .btn:active, .btn:active:focus, + .navbar .navbar-nav > li > a.btn:focus, + .navbar .navbar-nav > li > a.btn:active, + .navbar .navbar-nav > li > a.btn:active:focus { + outline: 0; } + .btn.btn-round, + .navbar .navbar-nav > li > a.btn.btn-round { + border-radius: 30px; } + .btn:not(.btn-just-icon):not(.btn-fab) .fa, + .navbar .navbar-nav > li > a.btn:not(.btn-just-icon):not(.btn-fab) .fa { + font-size: 18px; + margin-top: -2px; + position: relative; + top: 2px; } + .btn.btn-fab, + .navbar .navbar-nav > li > a.btn.btn-fab { + border-radius: 50%; + font-size: 24px; + height: 56px; + margin: auto; + min-width: 56px; + width: 56px; + padding: 0; + overflow: hidden; + position: relative; + line-height: normal; } + .btn.btn-fab .ripple-container, + .navbar .navbar-nav > li > a.btn.btn-fab .ripple-container { + border-radius: 50%; } + .btn.btn-fab.btn-fab-mini, .btn-group-sm .btn.btn-fab, + .navbar .navbar-nav > li > a.btn.btn-fab.btn-fab-mini, .btn-group-sm + .navbar .navbar-nav > li > a.btn.btn-fab { + height: 40px; + min-width: 40px; + width: 40px; } + .btn.btn-fab.btn-fab-mini.material-icons, .btn-group-sm .btn.btn-fab.material-icons, + .navbar .navbar-nav > li > a.btn.btn-fab.btn-fab-mini.material-icons, .btn-group-sm + .navbar .navbar-nav > li > a.btn.btn-fab.material-icons { + top: -3.5px; + left: -3.5px; } + .btn.btn-fab.btn-fab-mini .material-icons, .btn-group-sm .btn.btn-fab .material-icons, + .navbar .navbar-nav > li > a.btn.btn-fab.btn-fab-mini .material-icons, .btn-group-sm + .navbar .navbar-nav > li > a.btn.btn-fab .material-icons { + font-size: 17px; } + .btn.btn-fab i.material-icons, + .navbar .navbar-nav > li > a.btn.btn-fab i.material-icons { + position: absolute; + top: 50%; + left: 50%; + transform: translate(-12px, -12px); + line-height: 24px; + width: 24px; + font-size: 24px; } + .btn.btn-lg, .btn-group-lg .btn, + .navbar .navbar-nav > li > a.btn.btn-lg, .btn-group-lg + .navbar .navbar-nav > li > a.btn { + font-size: 14px; + padding: 18px 36px; } + .btn.btn-sm, .btn-group-sm .btn, + .navbar .navbar-nav > li > a.btn.btn-sm, .btn-group-sm + .navbar .navbar-nav > li > a.btn { + padding: 5px 20px; + font-size: 11px; } + .btn.btn-xs, .btn-group-xs .btn, + .navbar .navbar-nav > li > a.btn.btn-xs, .btn-group-xs + .navbar .navbar-nav > li > a.btn { + padding: 4px 15px; + font-size: 10px; } + .btn.btn-just-icon, + .navbar .navbar-nav > li > a.btn.btn-just-icon { + font-size: 18px; + padding: 10px 10px; + line-height: 1em; } + .btn.btn-just-icon i, + .navbar .navbar-nav > li > a.btn.btn-just-icon i { + width: 20px; } + .btn.btn-just-icon.btn-lg, + .navbar .navbar-nav > li > a.btn.btn-just-icon.btn-lg { + font-size: 22px; + padding: 13px 18px; } + +.btn .material-icons { + vertical-align: middle; + font-size: 17px; + top: -1px; + position: relative; } + +.navbar .navbar-nav > li > a.btn { + margin-top: 2px; + margin-bottom: 2px; } + .navbar .navbar-nav > li > a.btn.btn-fab { + margin: 5px 2px; } +.navbar .navbar-nav > li > a:not(.btn) .material-icons { + margin-top: -3px; + top: 0px; + position: relative; + margin-right: 3px; } +.navbar .navbar-nav > li > .profile-photo { + margin: 5px 2px; } + +.navbar-default:not(.navbar-transparent) .navbar-nav > li > a.btn.btn-white.btn-simple { + color: #555555; } + +.btn-group, +.btn-group-vertical { + position: relative; + margin: 10px 1px; } + .btn-group.open > .dropdown-toggle.btn, .btn-group.open > .dropdown-toggle.btn.btn-default, + .btn-group-vertical.open > .dropdown-toggle.btn, + .btn-group-vertical.open > .dropdown-toggle.btn.btn-default { + background-color: #EEEEEE; } + .btn-group.open > .dropdown-toggle.btn.btn-inverse, + .btn-group-vertical.open > .dropdown-toggle.btn.btn-inverse { + background-color: #3f51b5; } + .btn-group.open > .dropdown-toggle.btn.btn-primary, + .btn-group-vertical.open > .dropdown-toggle.btn.btn-primary { + background-color: #03a9f4; } + .btn-group.open > .dropdown-toggle.btn.btn-success, + .btn-group-vertical.open > .dropdown-toggle.btn.btn-success { + background-color: #8bc34a; } + .btn-group.open > .dropdown-toggle.btn.btn-info, + .btn-group-vertical.open > .dropdown-toggle.btn.btn-info { + background-color: #00bcd4; } + .btn-group.open > .dropdown-toggle.btn.btn-warning, + .btn-group-vertical.open > .dropdown-toggle.btn.btn-warning { + background-color: #ffc107; } + .btn-group.open > .dropdown-toggle.btn.btn-danger, + .btn-group-vertical.open > .dropdown-toggle.btn.btn-danger { + background-color: #ff9800; } + .btn-group .dropdown-menu, + .btn-group-vertical .dropdown-menu { + border-radius: 0 0 3px 3px; } + .btn-group.btn-group-raised, + .btn-group-vertical.btn-group-raised { + 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); } + .btn-group .btn + .btn, + .btn-group .btn, + .btn-group .btn:active, + .btn-group .btn-group, + .btn-group-vertical .btn + .btn, + .btn-group-vertical .btn, + .btn-group-vertical .btn:active, + .btn-group-vertical .btn-group { + margin: 0; } + +.close { + font-size: inherit; + color: #FFFFFF; + opacity: .9; + text-shadow: none; } + .close:hover, .close:focus { + opacity: 1; + color: #FFFFFF; } + .close i { + font-size: 20px; } + +.checkbox label { + cursor: pointer; + padding-left: 0; + color: rgba(0,0,0, 0.26); } + .form-group.is-focused .checkbox label { + color: rgba(0,0,0, 0.26); } + .form-group.is-focused .checkbox label:hover, .form-group.is-focused .checkbox label:focus { + color: rgba(0,0,0, .54); } + fieldset[disabled] .form-group.is-focused .checkbox label { + color: rgba(0,0,0, 0.26); } +.checkbox input[type=checkbox] { + opacity: 0; + position: absolute; + margin: 0; + z-index: -1; + width: 0; + height: 0; + overflow: hidden; + left: 0; + pointer-events: none; } +.checkbox .checkbox-material { + vertical-align: middle; + position: relative; + top: 1px; + padding-right: 5px; + display: inline-block; } + .checkbox .checkbox-material:before { + display: block; + position: absolute; + left: 0; + content: ""; + background-color: rgba(0, 0, 0, 0.84); + height: 20px; + width: 20px; + border-radius: 100%; + z-index: 1; + opacity: 0; + margin: 0; + top: 0; + -webkit-transform: scale3d(2.3,2.3,1); + -moz-transform: scale3d(2.3,2.3,1); + -o-transform: scale3d(2.3,2.3,1); + -ms-transform: scale3d(2.3,2.3,1); + transform: scale3d(2.3,2.3,1); } + .checkbox .checkbox-material .check { + position: relative; + display: inline-block; + width: 20px; + height: 20px; + border: 1px solid rgba(0,0,0, .54); + overflow: hidden; + z-index: 1; + border-radius: 3px; } + .checkbox .checkbox-material .check:before { + position: absolute; + content: ""; + transform: rotate(45deg); + display: block; + margin-top: -3px; + margin-left: 7px; + width: 0; + height: 0; + background: red; + box-shadow: 0 0 0 0, 0 0 0 0, 0 0 0 0, 0 0 0 0, 0 0 0 0, 0 0 0 0, 0 0 0 0 inset; + -webkit-animation: checkbox-off 0.3s forwards; + -moz-animation: checkbox-off 0.3s forwards; + -o-animation: checkbox-off 0.3s forwards; + -ms-animation: checkbox-off 0.3s forwards; + animation: checkbox-off 0.3s forwards; } +.checkbox input[type=checkbox]:focus + .checkbox-material .check:after { + opacity: 0.2; } +.checkbox input[type=checkbox]:checked + .checkbox-material .check { + background: #03a9f4; } +.checkbox input[type=checkbox]:checked + .checkbox-material .check:before { + color: #FFFFFF; + box-shadow: 0 0 0 10px, 10px -10px 0 10px, 32px 0 0 20px, 0px 32px 0 20px, -5px 5px 0 10px, 20px -12px 0 11px; + -webkit-animation: checkbox-on 0.3s forwards; + -moz-animation: checkbox-on 0.3s forwards; + -o-animation: checkbox-on 0.3s forwards; + -ms-animation: checkbox-on 0.3s forwards; + animation: checkbox-on 0.3s forwards; } +.checkbox input[type=checkbox]:checked + .checkbox-material:before { + -webkit-animation: rippleOn 500ms; + -moz-animation: rippleOn 500ms; + -o-animation: rippleOn 500ms; + -ms-animation: rippleOn 500ms; + animation: rippleOn 500ms; } +.checkbox input[type=checkbox]:checked + .checkbox-material .check:after { + -webkit-animation: rippleOn 500ms forwards; + -moz-animation: rippleOn 500ms forwards; + -o-animation: rippleOn 500ms forwards; + -ms-animation: rippleOn 500ms forwards; + animation: rippleOn 500ms forwards; } +.checkbox input[type=checkbox]:not(:checked) + .checkbox-material:before { + -webkit-animation: rippleOff 500ms; + -moz-animation: rippleOff 500ms; + -o-animation: rippleOff 500ms; + -ms-animation: rippleOff 500ms; + animation: rippleOff 500ms; } +.checkbox input[type=checkbox]:not(:checked) + .checkbox-material .check:after { + -webkit-animation: rippleOff 500ms; + -moz-animation: rippleOff 500ms; + -o-animation: rippleOff 500ms; + -ms-animation: rippleOff 500ms; + animation: rippleOff 500ms; } +fieldset[disabled] .checkbox, fieldset[disabled] .checkbox input[type=checkbox], +.checkbox input[type=checkbox][disabled] ~ .checkbox-material .check, +.checkbox input[type=checkbox][disabled] + .circle { + opacity: 0.5; } +.checkbox input[type=checkbox][disabled] ~ .checkbox-material .check { + border-color: #000000; + opacity: .26; } +.checkbox input[type=checkbox][disabled] + .checkbox-material .check:after { + background-color: rgba(0,0,0, 0.87); + transform: rotate(-45deg); } + +@keyframes checkbox-on { + 0% { + box-shadow: 0 0 0 10px, 10px -10px 0 10px, 32px 0 0 20px, 0px 32px 0 20px, -5px 5px 0 10px, 15px 2px 0 11px; } + 50% { + box-shadow: 0 0 0 10px, 10px -10px 0 10px, 32px 0 0 20px, 0px 32px 0 20px, -5px 5px 0 10px, 20px 2px 0 11px; } + 100% { + box-shadow: 0 0 0 10px, 10px -10px 0 10px, 32px 0 0 20px, 0px 32px 0 20px, -5px 5px 0 10px, 20px -12px 0 11px; } } +@keyframes rippleOn { + 0% { + opacity: 0; } + 50% { + opacity: 0.2; } + 100% { + opacity: 0; } } +@keyframes rippleOff { + 0% { + opacity: 0; } + 50% { + opacity: 0.2; } + 100% { + opacity: 0; } } +.togglebutton { + vertical-align: middle; } + .togglebutton, .togglebutton label, .togglebutton input, .togglebutton .toggle { + user-select: none; } + .togglebutton label { + cursor: pointer; + color: rgba(0,0,0, 0.26); } + .form-group.is-focused .togglebutton label { + color: rgba(0,0,0, 0.26); } + .form-group.is-focused .togglebutton label:hover, .form-group.is-focused .togglebutton label:focus { + color: rgba(0,0,0, .54); } + fieldset[disabled] .form-group.is-focused .togglebutton label { + color: rgba(0,0,0, 0.26); } + .togglebutton label input[type=checkbox] { + opacity: 0; + width: 0; + height: 0; } + .togglebutton label .toggle { + text-align: left; + margin-left: 5px; } + .togglebutton label .toggle, + .togglebutton label input[type=checkbox][disabled] + .toggle { + content: ""; + display: inline-block; + width: 30px; + height: 15px; + background-color: rgba(80, 80, 80, 0.7); + border-radius: 15px; + margin-right: 15px; + transition: background 0.3s ease; + vertical-align: middle; } + .togglebutton label .toggle:after { + content: ""; + display: inline-block; + width: 20px; + height: 20px; + background-color: #FFFFFF; + border-radius: 20px; + position: relative; + box-shadow: 0 1px 3px 1px rgba(0, 0, 0, 0.4); + left: -5px; + top: -3px; + border: 1px solid rgba(0,0,0, .54); + transition: left 0.3s ease, background 0.3s ease, box-shadow 0.1s ease; } + .togglebutton label input[type=checkbox][disabled] + .toggle:after, .togglebutton label input[type=checkbox][disabled]:checked + .toggle:after { + background-color: #BDBDBD; } + .togglebutton label input[type=checkbox] + .toggle:active:after, .togglebutton label input[type=checkbox][disabled] + .toggle:active:after { + box-shadow: 0 1px 3px 1px rgba(0, 0, 0, 0.4), 0 0 0 15px rgba(0, 0, 0, 0.1); } + .togglebutton label input[type=checkbox]:checked + .toggle:after { + left: 15px; } + .togglebutton label input[type=checkbox]:checked + .toggle { + background-color: rgba(3, 169, 244, 0.7); } + .togglebutton label input[type=checkbox]:checked + .toggle:after { + border-color: #03a9f4; } + .togglebutton label input[type=checkbox]:checked + .toggle:active:after { + box-shadow: 0 1px 3px 1px rgba(0, 0, 0, 0.4), 0 0 0 15px rgba(3, 169, 244, 0.1); } + +.radio label { + cursor: pointer; + padding-left: 35px; + position: relative; + color: rgba(0,0,0, 0.26); } + .form-group.is-focused .radio label { + color: rgba(0,0,0, 0.26); } + .form-group.is-focused .radio label:hover, .form-group.is-focused .radio label:focus { + color: rgba(0,0,0, .54); } + fieldset[disabled] .form-group.is-focused .radio label { + color: rgba(0,0,0, 0.26); } + .radio label span { + display: block; + position: absolute; + left: 10px; + top: 2px; + transition-duration: 0.2s; } + .radio label .circle { + border: 1px solid rgba(0,0,0, .54); + height: 15px; + width: 15px; + border-radius: 100%; } + .radio label .check { + height: 15px; + width: 15px; + border-radius: 100%; + background-color: #03a9f4; + -webkit-transform: scale3d(0,0,0); + -moz-transform: scale3d(0,0,0); + -o-transform: scale3d(0,0,0); + -ms-transform: scale3d(0,0,0); + transform: scale3d(0,0,0); } + .radio label .check:after { + display: block; + position: absolute; + content: ""; + background-color: rgba(0,0,0, 0.87); + left: -18px; + top: -18px; + height: 50px; + width: 50px; + border-radius: 100%; + z-index: 1; + opacity: 0; + margin: 0; + -webkit-transform: scale3d(1.5,1.5,1); + -moz-transform: scale3d(1.5,1.5,1); + -o-transform: scale3d(1.5,1.5,1); + -ms-transform: scale3d(1.5,1.5,1); + transform: scale3d(1.5,1.5,1); } + .radio label input[type=radio]:not(:checked) ~ .check:after { + -webkit-animation: rippleOff 500ms; + -moz-animation: rippleOff 500ms; + -o-animation: rippleOff 500ms; + -ms-animation: rippleOff 500ms; + animation: rippleOff 500ms; } + .radio label input[type=radio]:checked ~ .check:after { + -webkit-animation: rippleOff 500ms; + -moz-animation: rippleOff 500ms; + -o-animation: rippleOff 500ms; + -ms-animation: rippleOff 500ms; + animation: rippleOff 500ms; } +.radio input[type=radio] { + opacity: 0; + height: 0; + width: 0; + overflow: hidden; } + .radio input[type=radio]:checked ~ .check, .radio input[type=radio]:checked ~ .circle { + opacity: 1; } + .radio input[type=radio]:checked ~ .check { + background-color: #03a9f4; } + .radio input[type=radio]:checked ~ .circle { + border-color: #03a9f4; } + .radio input[type=radio]:checked ~ .check { + -webkit-transform: scale3d(0.65, 0.65, 1); + -moz-transform: scale3d(0.65, 0.65, 1); + -o-transform: scale3d(0.65, 0.65, 1); + -ms-transform: scale3d(0.65, 0.65, 1); + transform: scale3d(0.65, 0.65, 1); } +.radio input[type=radio][disabled] ~ .check, .radio input[type=radio][disabled] ~ .circle { + opacity: 0.26; } +.radio input[type=radio][disabled] ~ .check { + background-color: #000000; } +.radio input[type=radio][disabled] ~ .circle { + border-color: #000000; } + +@keyframes rippleOn { + 0% { + opacity: 0; } + 50% { + opacity: 0.2; } + 100% { + opacity: 0; } } +@keyframes rippleOff { + 0% { + opacity: 0; } + 50% { + opacity: 0.2; } + 100% { + opacity: 0; } } +legend { + margin-bottom: 20px; + font-size: 21px; } + +output { + padding-top: 8px; + font-size: 14px; + line-height: 1.42857; } + +.form-control { + height: 36px; + padding: 7px 0; + font-size: 14px; + line-height: 1.42857; } + +@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: 36px; } + input[type="date"].input-sm, .input-group-sm input[type="date"], + input[type="time"].input-sm, .input-group-sm + input[type="time"], + input[type="datetime-local"].input-sm, .input-group-sm + input[type="datetime-local"], + input[type="month"].input-sm, .input-group-sm + input[type="month"] { + line-height: 24px; } + input[type="date"].input-lg, .input-group-lg input[type="date"], + input[type="time"].input-lg, .input-group-lg + input[type="time"], + input[type="datetime-local"].input-lg, .input-group-lg + input[type="datetime-local"], + input[type="month"].input-lg, .input-group-lg + input[type="month"] { + line-height: 44px; } } +.radio label, +.checkbox label { + min-height: 20px; } + +.form-control-static { + padding-top: 8px; + padding-bottom: 8px; + min-height: 34px; } + +.input-sm .input-sm { + height: 24px; + padding: 3px 0; + font-size: 11px; + line-height: 1.5; + border-radius: 0; } +.input-sm select.input-sm { + height: 24px; + line-height: 24px; } +.input-sm textarea.input-sm, +.input-sm select[multiple].input-sm { + height: auto; } + +.form-group-sm .form-control { + height: 24px; + padding: 3px 0; + font-size: 11px; + line-height: 1.5; } +.form-group-sm select.form-control { + height: 24px; + line-height: 24px; } +.form-group-sm textarea.form-control, +.form-group-sm select[multiple].form-control { + height: auto; } +.form-group-sm .form-control-static { + height: 24px; + min-height: 31px; + padding: 4px 0; + font-size: 11px; + line-height: 1.5; } + +.input-lg .input-lg { + height: 44px; + padding: 9px 0; + font-size: 18px; + line-height: 1.33333; + border-radius: 0; } +.input-lg select.input-lg { + height: 44px; + line-height: 44px; } +.input-lg textarea.input-lg, +.input-lg select[multiple].input-lg { + height: auto; } + +.form-group-lg .form-control { + height: 44px; + padding: 9px 0; + font-size: 18px; + line-height: 1.33333; } +.form-group-lg select.form-control { + height: 44px; + line-height: 44px; } +.form-group-lg textarea.form-control, +.form-group-lg select[multiple].form-control { + height: auto; } +.form-group-lg .form-control-static { + height: 44px; + min-height: 38px; + padding: 10px 0; + font-size: 18px; + line-height: 1.33333; } + +.form-horizontal .radio, +.form-horizontal .checkbox, +.form-horizontal .radio-inline, +.form-horizontal .checkbox-inline { + padding-top: 8px; } +.form-horizontal .radio, +.form-horizontal .checkbox { + min-height: 28px; } +@media (min-width: 768px) { + .form-horizontal .control-label { + padding-top: 8px; } } +@media (min-width: 768px) { + .form-horizontal .form-group-lg .control-label { + padding-top: 13px; + font-size: 18px; } } +@media (min-width: 768px) { + .form-horizontal .form-group-sm .control-label { + padding-top: 4px; + font-size: 11px; } } + +.label { + border-radius: 2px; } + .label, .label.label-default { + background-color: #9e9e9e; } + .label.label-inverse { + background-color: #3f51b5; } + .label.label-primary { + background-color: #03a9f4; } + .label.label-success { + background-color: #8bc34a; } + .label.label-info { + background-color: #00bcd4; } + .label.label-warning { + background-color: #ffc107; } + .label.label-danger { + background-color: #ff9800; } + +.form-control, +.form-group .form-control { + border: 0; + background-image: linear-gradient(#03a9f4, #03a9f4), linear-gradient(#D2D2D2, #D2D2D2); + background-size: 0 2px, 100% 1px; + background-repeat: no-repeat; + background-position: center bottom, center calc(100% - 1px); + background-color: transparent; + transition: background 0s ease-out; + float: none; + box-shadow: none; + border-radius: 0; + font-weight: 400; } + .form-control::-moz-placeholder, + .form-group .form-control::-moz-placeholder { + color: #AAAAAA; + font-weight: 400; } + .form-control:-ms-input-placeholder, + .form-group .form-control:-ms-input-placeholder { + color: #AAAAAA; + font-weight: 400; } + .form-control::-webkit-input-placeholder, + .form-group .form-control::-webkit-input-placeholder { + color: #AAAAAA; + font-weight: 400; } + .form-control[readonly], .form-control[disabled], fieldset[disabled] .form-control, + .form-group .form-control[readonly], + .form-group .form-control[disabled], fieldset[disabled] + .form-group .form-control { + background-color: transparent; } + .form-control[disabled], fieldset[disabled] .form-control, + .form-group .form-control[disabled], fieldset[disabled] + .form-group .form-control { + background-image: none; + border-bottom: 1px dotted #D2D2D2; } + +.form-group { + position: relative; } + .form-group.label-static label.control-label, .form-group.label-placeholder label.control-label, .form-group.label-floating label.control-label { + position: absolute; + pointer-events: none; + transition: 0.3s ease all; } + .form-group.label-floating label.control-label { + will-change: left, top, contents; } + .form-group.label-placeholder:not(.is-empty) label.control-label { + display: none; } + .form-group .help-block { + position: absolute; + display: none; } + .form-group.is-focused .form-control { + outline: none; + background-image: linear-gradient(#03a9f4, #03a9f4), linear-gradient(#D2D2D2, #D2D2D2); + background-size: 100% 2px, 100% 1px; + box-shadow: none; + transition-duration: 0.3s; } + .form-group.is-focused .form-control .material-input:after { + background-color: #03a9f4; } + .form-group.is-focused label, + .form-group.is-focused label.control-label { + color: #03a9f4; } + .form-group.is-focused.label-placeholder label, + .form-group.is-focused.label-placeholder label.control-label { + color: #AAAAAA; } + .form-group.is-focused .help-block { + display: block; } + .form-group.has-warning .form-control { + box-shadow: none; } + .form-group.has-warning.is-focused .form-control { + background-image: linear-gradient(#ffc107, #ffc107), linear-gradient(#D2D2D2, #D2D2D2); } + .form-group.has-warning label.control-label, + .form-group.has-warning .help-block { + color: #ffc107; } + .form-group.has-error .form-control { + box-shadow: none; } + .form-group.has-error.is-focused .form-control { + background-image: linear-gradient(#ff9800, #ff9800), linear-gradient(#D2D2D2, #D2D2D2); } + .form-group.has-error label.control-label, + .form-group.has-error .help-block { + color: #ff9800; } + .form-group.has-success .form-control { + box-shadow: none; } + .form-group.has-success.is-focused .form-control { + background-image: linear-gradient(#8bc34a, #8bc34a), linear-gradient(#D2D2D2, #D2D2D2); } + .form-group.has-success label.control-label, + .form-group.has-success .help-block { + color: #8bc34a; } + .form-group.has-info .form-control { + box-shadow: none; } + .form-group.has-info.is-focused .form-control { + background-image: linear-gradient(#00bcd4, #00bcd4), linear-gradient(#D2D2D2, #D2D2D2); } + .form-group.has-info label.control-label, + .form-group.has-info .help-block { + color: #00bcd4; } + .form-group textarea { + resize: none; } + .form-group textarea ~ .form-control-highlight { + margin-top: -11px; } + .form-group select { + appearance: none; } + .form-group select ~ .material-input:after { + display: none; } + +.form-control { + margin-bottom: 7px; } + .form-control::-moz-placeholder { + font-size: 14px; + line-height: 1.42857; + color: #AAAAAA; + font-weight: 400; } + .form-control:-ms-input-placeholder { + font-size: 14px; + line-height: 1.42857; + color: #AAAAAA; + font-weight: 400; } + .form-control::-webkit-input-placeholder { + font-size: 14px; + line-height: 1.42857; + color: #AAAAAA; + font-weight: 400; } + +.checkbox label, +.radio label, +label { + font-size: 14px; + line-height: 1.42857; + color: #AAAAAA; + font-weight: 400; } + +label.control-label { + font-size: 11px; + line-height: 1.07143; + color: #AAAAAA; + font-weight: 400; + margin: 16px 0 0 0; } + +.help-block { + margin-top: 0; + font-size: 11px; } + +.form-group { + padding-bottom: 7px; + margin: 27px 0 0 0; } + .form-group .form-control { + margin-bottom: 7px; } + .form-group .form-control::-moz-placeholder { + font-size: 14px; + line-height: 1.42857; + color: #AAAAAA; + font-weight: 400; } + .form-group .form-control:-ms-input-placeholder { + font-size: 14px; + line-height: 1.42857; + color: #AAAAAA; + font-weight: 400; } + .form-group .form-control::-webkit-input-placeholder { + font-size: 14px; + line-height: 1.42857; + color: #AAAAAA; + font-weight: 400; } + .form-group .checkbox label, + .form-group .radio label, + .form-group label { + font-size: 14px; + line-height: 1.42857; + color: #AAAAAA; + font-weight: 400; } + .form-group label.control-label { + font-size: 11px; + line-height: 1.07143; + color: #AAAAAA; + font-weight: 400; + margin: 16px 0 0 0; } + .form-group .help-block { + margin-top: 0; + font-size: 11px; } + .form-group.label-floating label.control-label, .form-group.label-placeholder label.control-label { + top: -7px; + font-size: 14px; + line-height: 1.42857; } + .form-group.label-static label.control-label, .form-group.label-floating.is-focused label.control-label, .form-group.label-floating:not(.is-empty) label.control-label { + top: -28px; + left: 0; + font-size: 11px; + line-height: 1.07143; } + .form-group.label-floating input.form-control:-webkit-autofill ~ label.control-label label.control-label { + top: -28px; + left: 0; + font-size: 11px; + line-height: 1.07143; } + +.form-group.form-group-sm { + padding-bottom: 3px; + margin: 21px 0 0 0; } + .form-group.form-group-sm .form-control { + margin-bottom: 3px; } + .form-group.form-group-sm .form-control::-moz-placeholder { + font-size: 11px; + line-height: 1.5; + color: #AAAAAA; + font-weight: 400; } + .form-group.form-group-sm .form-control:-ms-input-placeholder { + font-size: 11px; + line-height: 1.5; + color: #AAAAAA; + font-weight: 400; } + .form-group.form-group-sm .form-control::-webkit-input-placeholder { + font-size: 11px; + line-height: 1.5; + color: #AAAAAA; + font-weight: 400; } + .form-group.form-group-sm .checkbox label, + .form-group.form-group-sm .radio label, + .form-group.form-group-sm label { + font-size: 11px; + line-height: 1.5; + color: #AAAAAA; + font-weight: 400; } + .form-group.form-group-sm label.control-label { + font-size: 9px; + line-height: 1.125; + color: #AAAAAA; + font-weight: 400; + margin: 16px 0 0 0; } + .form-group.form-group-sm .help-block { + margin-top: 0; + font-size: 9px; } + .form-group.form-group-sm.label-floating label.control-label, .form-group.form-group-sm.label-placeholder label.control-label { + top: -11px; + font-size: 11px; + line-height: 1.5; } + .form-group.form-group-sm.label-static label.control-label, .form-group.form-group-sm.label-floating.is-focused label.control-label, .form-group.form-group-sm.label-floating:not(.is-empty) label.control-label { + top: -25px; + left: 0; + font-size: 9px; + line-height: 1.125; } + .form-group.form-group-sm.label-floating input.form-control:-webkit-autofill ~ label.control-label label.control-label { + top: -25px; + left: 0; + font-size: 9px; + line-height: 1.125; } + +.form-group.form-group-lg { + padding-bottom: 9px; + margin: 30px 0 0 0; } + .form-group.form-group-lg .form-control { + margin-bottom: 9px; } + .form-group.form-group-lg .form-control::-moz-placeholder { + font-size: 18px; + line-height: 1.33333; + color: #AAAAAA; + font-weight: 400; } + .form-group.form-group-lg .form-control:-ms-input-placeholder { + font-size: 18px; + line-height: 1.33333; + color: #AAAAAA; + font-weight: 400; } + .form-group.form-group-lg .form-control::-webkit-input-placeholder { + font-size: 18px; + line-height: 1.33333; + color: #AAAAAA; + font-weight: 400; } + .form-group.form-group-lg .checkbox label, + .form-group.form-group-lg .radio label, + .form-group.form-group-lg label { + font-size: 18px; + line-height: 1.33333; + color: #AAAAAA; + font-weight: 400; } + .form-group.form-group-lg label.control-label { + font-size: 14px; + line-height: 1; + color: #AAAAAA; + font-weight: 400; + margin: 16px 0 0 0; } + .form-group.form-group-lg .help-block { + margin-top: 0; + font-size: 14px; } + .form-group.form-group-lg.label-floating label.control-label, .form-group.form-group-lg.label-placeholder label.control-label { + top: -5px; + font-size: 18px; + line-height: 1.33333; } + .form-group.form-group-lg.label-static label.control-label, .form-group.form-group-lg.label-floating.is-focused label.control-label, .form-group.form-group-lg.label-floating:not(.is-empty) label.control-label { + top: -32px; + left: 0; + font-size: 14px; + line-height: 1; } + .form-group.form-group-lg.label-floating input.form-control:-webkit-autofill ~ label.control-label label.control-label { + top: -32px; + left: 0; + font-size: 14px; + line-height: 1; } + +select.form-control { + border: 0; + box-shadow: none; + border-radius: 0; } + .form-group.is-focused select.form-control { + box-shadow: none; + border-color: #D2D2D2; } + select.form-control[multiple], .form-group.is-focused select.form-control[multiple] { + height: 85px; } + +.input-group-btn .btn { + margin: 0 0 7px 0; } + +.form-group.form-group-sm .input-group-btn .btn { + margin: 0 0 3px 0; } +.form-group.form-group-lg .input-group-btn .btn { + margin: 0 0 9px 0; } + +.input-group .input-group-btn { + padding: 0 12px; } +.input-group .input-group-addon { + border: 0; + background: transparent; + padding: 12px 15px 0px; } + +.form-group input[type=file] { + opacity: 0; + position: absolute; + top: 0; + right: 0; + bottom: 0; + left: 0; + width: 100%; + height: 100%; + z-index: 100; } + +.form-control-feedback { + opacity: 0; } + .has-success .form-control-feedback { + color: #4caf50; + opacity: 1; } + .has-error .form-control-feedback { + color: #f44336; + opacity: 1; } + +.pagination > li > a, +.pagination > li > span { + border: 0; + border-radius: 30px !important; + transition: all .3s; + padding: 0px 11px; + margin: 0 3px; + min-width: 30px; + height: 30px; + line-height: 30px; + color: #999999; + font-weight: 400; + font-size: 12px; + text-transform: uppercase; + background: transparent; } + .pagination > li > a:hover, .pagination > li > a:focus, + .pagination > li > span:hover, + .pagination > li > span:focus { + color: #999999; } +.pagination > .active > a, +.pagination > .active > span { + color: #999999; } + .pagination > .active > a, .pagination > .active > a:focus, .pagination > .active > a:hover, + .pagination > .active > span, + .pagination > .active > span:focus, + .pagination > .active > span:hover { + background-color: #03a9f4; + border-color: #03a9f4; + color: #FFFFFF; + box-shadow: 0 4px 5px 0 rgba(3, 169, 244, 0.14), 0 1px 10px 0 rgba(3, 169, 244, 0.12), 0 2px 4px -1px rgba(3, 169, 244, 0.2); } +.pagination.pagination-info > .active > a, .pagination.pagination-info > .active > a:focus, .pagination.pagination-info > .active > a:hover, +.pagination.pagination-info > .active > span, +.pagination.pagination-info > .active > span:focus, +.pagination.pagination-info > .active > span:hover { + background-color: #00bcd4; + border-color: #00bcd4; + box-shadow: 0 4px 5px 0 rgba(0, 188, 212, 0.14), 0 1px 10px 0 rgba(0, 188, 212, 0.12), 0 2px 4px -1px rgba(0, 188, 212, 0.2); } +.pagination.pagination-success > .active > a, .pagination.pagination-success > .active > a:focus, .pagination.pagination-success > .active > a:hover, +.pagination.pagination-success > .active > span, +.pagination.pagination-success > .active > span:focus, +.pagination.pagination-success > .active > span:hover { + background-color: #8bc34a; + border-color: #8bc34a; + box-shadow: 0 4px 5px 0 rgba(139, 195, 74, 0.14), 0 1px 10px 0 rgba(139, 195, 74, 0.12), 0 2px 4px -1px rgba(139, 195, 74, 0.2); } +.pagination.pagination-warning > .active > a, .pagination.pagination-warning > .active > a:focus, .pagination.pagination-warning > .active > a:hover, +.pagination.pagination-warning > .active > span, +.pagination.pagination-warning > .active > span:focus, +.pagination.pagination-warning > .active > span:hover { + background-color: #ffc107; + border-color: #ffc107; + box-shadow: 0 4px 5px 0 rgba(255, 193, 7, 0.14), 0 1px 10px 0 rgba(255, 193, 7, 0.12), 0 2px 4px -1px rgba(255, 193, 7, 0.2); } +.pagination.pagination-danger > .active > a, .pagination.pagination-danger > .active > a:focus, .pagination.pagination-danger > .active > a:hover, +.pagination.pagination-danger > .active > span, +.pagination.pagination-danger > .active > span:focus, +.pagination.pagination-danger > .active > span:hover { + background-color: #ff9800; + border-color: #ff9800; + box-shadow: 0 4px 5px 0 rgba(255, 152, 0, 0.14), 0 1px 10px 0 rgba(255, 152, 0, 0.12), 0 2px 4px -1px rgba(255, 152, 0, 0.2); } + +.label { + border-radius: 10px; + padding: 5px 12px; + text-transform: uppercase; + font-size: 10px; } + .label.label-default { + background-color: #999999; } + +.nav-pills > li > a { + line-height: 24px; + text-transform: uppercase; + font-size: 12px; + font-weight: 500; + min-width: 100px; + text-align: center; + color: #555555; + transition: all .3s; } + .nav-pills > li > a:hover { + background-color: rgba(200, 200, 200, 0.2); } +.nav-pills > li i { + display: block; + font-size: 30px; + padding: 15px 0; } +.nav-pills > li.active > a, .nav-pills > li.active > a:focus, .nav-pills > li.active > a:hover { + background-color: #03a9f4; + color: #FFFFFF; + box-shadow: 0 16px 26px -10px rgba(3, 169, 244, 0.56), 0 4px 25px 0px rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(3, 169, 244, 0.2); } +.nav-pills.nav-pills-info > li.active > a, .nav-pills.nav-pills-info > li.active > a:focus, .nav-pills.nav-pills-info > li.active > a:hover { + background-color: #00bcd4; + box-shadow: 0 16px 26px -10px rgba(0, 188, 212, 0.56), 0 4px 25px 0px rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(0, 188, 212, 0.2); } +.nav-pills.nav-pills-success > li.active > a, .nav-pills.nav-pills-success > li.active > a:focus, .nav-pills.nav-pills-success > li.active > a:hover { + background-color: #8bc34a; + box-shadow: 0 16px 26px -10px rgba(139, 195, 74, 0.56), 0 4px 25px 0px rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(139, 195, 74, 0.2); } +.nav-pills.nav-pills-warning > li.active > a, .nav-pills.nav-pills-warning > li.active > a:focus, .nav-pills.nav-pills-warning > li.active > a:hover { + background-color: #ffc107; + box-shadow: 0 16px 26px -10px rgba(255, 193, 7, 0.56), 0 4px 25px 0px rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(255, 193, 7, 0.2); } +.nav-pills.nav-pills-danger > li.active > a, .nav-pills.nav-pills-danger > li.active > a:focus, .nav-pills.nav-pills-danger > li.active > a:hover { + background-color: #ff9800; + box-shadow: 0 16px 26px -10px rgba(255, 152, 0, 0.56), 0 4px 25px 0px rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(255, 152, 0, 0.2); } + +.tab-space { + padding: 20px 0 50px 0px; } + +footer { + padding: 15px 0; } + footer ul { + margin-bottom: 0; + padding: 0; + list-style: none; } + footer ul li { + display: inline-block; } + footer ul li a { + color: inherit; + padding: 15px; + font-weight: 500; + font-size: 12px; + text-transform: uppercase; + border-radius: 3px; + text-decoration: none; + position: relative; + display: block; } + footer ul li a:hover { + text-decoration: none; } + footer .copyright { + padding: 15px 0; } + footer .copyright .material-icons { + font-size: 18px; + position: relative; + top: 3px; } + +legend { + border-bottom: 0; } + +.navbar { + border: 0; + border-radius: 3px; + box-shadow: 0 10px 20px -12px rgba(0, 0, 0, 0.42), 0 3px 20px 0px rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(0, 0, 0, 0.2); + padding: 10px 0; } + .navbar .navbar-brand { + position: relative; + height: 50px; + line-height: 30px; + color: inherit; + padding: 10px 15px; } + .navbar .navbar-brand:hover, .navbar .navbar-brand:focus { + color: inherit; + background-color: transparent; } + .navbar .navbar-text { + color: inherit; + margin-top: 15px; + margin-bottom: 15px; } + .navbar .navbar-nav > li > a { + color: inherit; + padding-top: 15px; + padding-bottom: 15px; + font-weight: 400; + font-size: 12px; + text-transform: uppercase; + border-radius: 3px; } + .navbar .navbar-nav > li > a:hover, .navbar .navbar-nav > li > a:focus { + color: inherit; + background-color: transparent; } + .navbar .navbar-nav > li > a .material-icons, + .navbar .navbar-nav > li > a .fa { + font-size: 20px; + max-width: 20px; } + .navbar .navbar-nav > li > a:not(.btn-just-icon) .fa { + position: relative; + top: 2px; + margin-top: -4px; + margin-right: 4px; } + .navbar .navbar-nav > li > .dropdown-menu { + margin-top: -20px; } + .navbar .navbar-nav > li.open > .dropdown-menu { + margin-top: 0; } + .navbar .navbar-nav > .active > a, .navbar .navbar-nav > .active > a:hover, .navbar .navbar-nav > .active > a:focus { + color: inherit; + background-color: rgba(255, 255, 255, 0.1); } + .navbar .navbar-nav > .disabled > a, .navbar .navbar-nav > .disabled > a:hover, .navbar .navbar-nav > .disabled > a:focus { + color: inherit; + background-color: transparent; + opacity: 0.9; } + .navbar .navbar-toggle { + border: 0; } + .navbar .navbar-toggle:hover, .navbar .navbar-toggle:focus { + background-color: transparent; } + .navbar .navbar-toggle .icon-bar { + background-color: inherit; + border: 1px solid; } + .navbar .navbar-default .navbar-toggle, + .navbar .navbar-inverse .navbar-toggle { + border-color: transparent; } + .navbar .navbar-collapse, + .navbar .navbar-form { + border-top: none; + box-shadow: none; } + .navbar .navbar-nav > .open > a, .navbar .navbar-nav > .open > a:hover, .navbar .navbar-nav > .open > a:focus { + background-color: transparent; + color: inherit; } + @media (max-width: 767px) { + .navbar .navbar-nav .navbar-text { + color: inherit; + margin-top: 15px; + margin-bottom: 15px; } + .navbar .navbar-nav .open .dropdown-menu > .dropdown-header { + border: 0; + color: inherit; } + .navbar .navbar-nav .open .dropdown-menu .divider { + border-bottom: 1px solid; + opacity: 0.08; } + .navbar .navbar-nav .open .dropdown-menu > li > a { + color: inherit; } + .navbar .navbar-nav .open .dropdown-menu > li > a:hover, .navbar .navbar-nav .open .dropdown-menu > li > a:focus { + color: inherit; + background-color: transparent; } + .navbar .navbar-nav .open .dropdown-menu > .active > a, .navbar .navbar-nav .open .dropdown-menu > .active > a:hover, .navbar .navbar-nav .open .dropdown-menu > .active > a:focus { + color: inherit; + background-color: transparent; } + .navbar .navbar-nav .open .dropdown-menu > .disabled > a, .navbar .navbar-nav .open .dropdown-menu > .disabled > a:hover, .navbar .navbar-nav .open .dropdown-menu > .disabled > a:focus { + color: inherit; + background-color: transparent; } } + .navbar.navbar-default .logo-container .brand { + color: #555555; } + .navbar .navbar-link { + color: inherit; } + .navbar .navbar-link:hover { + color: inherit; } + .navbar .btn { + margin-top: 0; + margin-bottom: 0; } + .navbar .btn-link { + color: inherit; } + .navbar .btn-link:hover, .navbar .btn-link:focus { + color: inherit; } + .navbar .btn-link[disabled]:hover, .navbar .btn-link[disabled]:focus, fieldset[disabled] .navbar .btn-link:hover, fieldset[disabled] .navbar .btn-link:focus { + color: inherit; } + .navbar .navbar-form { + margin: 4px 0 0; } + .navbar .navbar-form .form-group { + margin: 0; + padding: 0; } + .navbar .navbar-form .form-group .material-input:before, .navbar .navbar-form .form-group.is-focused .material-input:after { + background-color: inherit; } + .navbar .navbar-form .form-group .form-control, + .navbar .navbar-form .form-control { + border-color: inherit; + color: inherit; + padding: 0; + margin: 0; + height: 28px; + font-size: 14px; + line-height: 1.42857; } + .navbar, .navbar.navbar-default { + background-color: #03a9f4; + color: #ffffff; } + .navbar .navbar-form .form-group input.form-control::-moz-placeholder, + .navbar .navbar-form input.form-control::-moz-placeholder, .navbar.navbar-default .navbar-form .form-group input.form-control::-moz-placeholder, + .navbar.navbar-default .navbar-form input.form-control::-moz-placeholder { + color: #ffffff; } + .navbar .navbar-form .form-group input.form-control:-ms-input-placeholder, + .navbar .navbar-form input.form-control:-ms-input-placeholder, .navbar.navbar-default .navbar-form .form-group input.form-control:-ms-input-placeholder, + .navbar.navbar-default .navbar-form input.form-control:-ms-input-placeholder { + color: #ffffff; } + .navbar .navbar-form .form-group input.form-control::-webkit-input-placeholder, + .navbar .navbar-form input.form-control::-webkit-input-placeholder, .navbar.navbar-default .navbar-form .form-group input.form-control::-webkit-input-placeholder, + .navbar.navbar-default .navbar-form input.form-control::-webkit-input-placeholder { + color: #ffffff; } + .navbar .dropdown-menu, .navbar.navbar-default .dropdown-menu { + border-radius: 3px !important; } + .navbar .dropdown-menu li > a:hover, .navbar .dropdown-menu li > a:focus, .navbar.navbar-default .dropdown-menu li > a:hover, .navbar.navbar-default .dropdown-menu li > a:focus { + color: #FFFFFF; + background-color: #03a9f4; } + .navbar .dropdown-menu .active > a, .navbar.navbar-default .dropdown-menu .active > a { + background-color: #03a9f4; + color: #ffffff; } + .navbar .dropdown-menu .active > a:hover, .navbar .dropdown-menu .active > a:focus, .navbar.navbar-default .dropdown-menu .active > a:hover, .navbar.navbar-default .dropdown-menu .active > a:focus { + color: #ffffff; } + .navbar.navbar-inverse { + background-color: #3f51b5; + color: contrast-color(#3f51b5, #000000, #ffffff); } + .navbar.navbar-inverse .navbar-form .form-group input.form-control::-moz-placeholder, + .navbar.navbar-inverse .navbar-form input.form-control::-moz-placeholder { + color: contrast-color(#3f51b5, #000000, #ffffff); } + .navbar.navbar-inverse .navbar-form .form-group input.form-control:-ms-input-placeholder, + .navbar.navbar-inverse .navbar-form input.form-control:-ms-input-placeholder { + color: contrast-color(#3f51b5, #000000, #ffffff); } + .navbar.navbar-inverse .navbar-form .form-group input.form-control::-webkit-input-placeholder, + .navbar.navbar-inverse .navbar-form input.form-control::-webkit-input-placeholder { + color: contrast-color(#3f51b5, #000000, #ffffff); } + .navbar.navbar-inverse .dropdown-menu { + border-radius: 3px !important; } + .navbar.navbar-inverse .dropdown-menu li > a:hover, .navbar.navbar-inverse .dropdown-menu li > a:focus { + color: #FFFFFF; + background-color: #3f51b5; } + .navbar.navbar-inverse .dropdown-menu .active > a { + background-color: #3f51b5; + color: contrast-color(#3f51b5, #000000, #ffffff); } + .navbar.navbar-inverse .dropdown-menu .active > a:hover, .navbar.navbar-inverse .dropdown-menu .active > a:focus { + color: contrast-color(#3f51b5, #000000, #ffffff); } + .navbar.navbar-primary { + background-color: #03a9f4; + color: #ffffff; } + .navbar.navbar-primary .navbar-form .form-group input.form-control::-moz-placeholder, + .navbar.navbar-primary .navbar-form input.form-control::-moz-placeholder { + color: #ffffff; } + .navbar.navbar-primary .navbar-form .form-group input.form-control:-ms-input-placeholder, + .navbar.navbar-primary .navbar-form input.form-control:-ms-input-placeholder { + color: #ffffff; } + .navbar.navbar-primary .navbar-form .form-group input.form-control::-webkit-input-placeholder, + .navbar.navbar-primary .navbar-form input.form-control::-webkit-input-placeholder { + color: #ffffff; } + .navbar.navbar-primary .dropdown-menu { + border-radius: 3px !important; } + .navbar.navbar-primary .dropdown-menu li > a:hover, .navbar.navbar-primary .dropdown-menu li > a:focus { + color: #FFFFFF; + background-color: #03a9f4; } + .navbar.navbar-primary .dropdown-menu .active > a { + background-color: #03a9f4; + color: #ffffff; } + .navbar.navbar-primary .dropdown-menu .active > a:hover, .navbar.navbar-primary .dropdown-menu .active > a:focus { + color: #ffffff; } + .navbar.navbar-success { + background-color: #8bc34a; + color: #ffffff; } + .navbar.navbar-success .navbar-form .form-group input.form-control::-moz-placeholder, + .navbar.navbar-success .navbar-form input.form-control::-moz-placeholder { + color: #ffffff; } + .navbar.navbar-success .navbar-form .form-group input.form-control:-ms-input-placeholder, + .navbar.navbar-success .navbar-form input.form-control:-ms-input-placeholder { + color: #ffffff; } + .navbar.navbar-success .navbar-form .form-group input.form-control::-webkit-input-placeholder, + .navbar.navbar-success .navbar-form input.form-control::-webkit-input-placeholder { + color: #ffffff; } + .navbar.navbar-success .dropdown-menu { + border-radius: 3px !important; } + .navbar.navbar-success .dropdown-menu li > a:hover, .navbar.navbar-success .dropdown-menu li > a:focus { + color: #FFFFFF; + background-color: #8bc34a; } + .navbar.navbar-success .dropdown-menu .active > a { + background-color: #8bc34a; + color: #ffffff; } + .navbar.navbar-success .dropdown-menu .active > a:hover, .navbar.navbar-success .dropdown-menu .active > a:focus { + color: #ffffff; } + .navbar.navbar-info { + background-color: #00bcd4; + color: #ffffff; } + .navbar.navbar-info .navbar-form .form-group input.form-control::-moz-placeholder, + .navbar.navbar-info .navbar-form input.form-control::-moz-placeholder { + color: #ffffff; } + .navbar.navbar-info .navbar-form .form-group input.form-control:-ms-input-placeholder, + .navbar.navbar-info .navbar-form input.form-control:-ms-input-placeholder { + color: #ffffff; } + .navbar.navbar-info .navbar-form .form-group input.form-control::-webkit-input-placeholder, + .navbar.navbar-info .navbar-form input.form-control::-webkit-input-placeholder { + color: #ffffff; } + .navbar.navbar-info .dropdown-menu { + border-radius: 3px !important; } + .navbar.navbar-info .dropdown-menu li > a:hover, .navbar.navbar-info .dropdown-menu li > a:focus { + color: #FFFFFF; + background-color: #00bcd4; } + .navbar.navbar-info .dropdown-menu .active > a { + background-color: #00bcd4; + color: #ffffff; } + .navbar.navbar-info .dropdown-menu .active > a:hover, .navbar.navbar-info .dropdown-menu .active > a:focus { + color: #ffffff; } + .navbar.navbar-warning { + background-color: #ffc107; + color: #ffffff; } + .navbar.navbar-warning .navbar-form .form-group input.form-control::-moz-placeholder, + .navbar.navbar-warning .navbar-form input.form-control::-moz-placeholder { + color: #ffffff; } + .navbar.navbar-warning .navbar-form .form-group input.form-control:-ms-input-placeholder, + .navbar.navbar-warning .navbar-form input.form-control:-ms-input-placeholder { + color: #ffffff; } + .navbar.navbar-warning .navbar-form .form-group input.form-control::-webkit-input-placeholder, + .navbar.navbar-warning .navbar-form input.form-control::-webkit-input-placeholder { + color: #ffffff; } + .navbar.navbar-warning .dropdown-menu { + border-radius: 3px !important; } + .navbar.navbar-warning .dropdown-menu li > a:hover, .navbar.navbar-warning .dropdown-menu li > a:focus { + color: #FFFFFF; + background-color: #ffc107; } + .navbar.navbar-warning .dropdown-menu .active > a { + background-color: #ffc107; + color: #ffffff; } + .navbar.navbar-warning .dropdown-menu .active > a:hover, .navbar.navbar-warning .dropdown-menu .active > a:focus { + color: #ffffff; } + .navbar.navbar-danger { + background-color: #ff9800; + color: #ffffff; } + .navbar.navbar-danger .navbar-form .form-group input.form-control::-moz-placeholder, + .navbar.navbar-danger .navbar-form input.form-control::-moz-placeholder { + color: #ffffff; } + .navbar.navbar-danger .navbar-form .form-group input.form-control:-ms-input-placeholder, + .navbar.navbar-danger .navbar-form input.form-control:-ms-input-placeholder { + color: #ffffff; } + .navbar.navbar-danger .navbar-form .form-group input.form-control::-webkit-input-placeholder, + .navbar.navbar-danger .navbar-form input.form-control::-webkit-input-placeholder { + color: #ffffff; } + .navbar.navbar-danger .dropdown-menu { + border-radius: 3px !important; } + .navbar.navbar-danger .dropdown-menu li > a:hover, .navbar.navbar-danger .dropdown-menu li > a:focus { + color: #FFFFFF; + background-color: #ff9800; } + .navbar.navbar-danger .dropdown-menu .active > a { + background-color: #ff9800; + color: #ffffff; } + .navbar.navbar-danger .dropdown-menu .active > a:hover, .navbar.navbar-danger .dropdown-menu .active > a:focus { + color: #ffffff; } + .navbar-inverse { + background-color: #3f51b5; } + .navbar.navbar-transparent { + background-color: transparent; + box-shadow: none; + color: #fff; + padding-top: 25px; } + .navbar.navbar-transparent .logo-container .brand { + color: #FFFFFF; } + .navbar-fixed-top { + border-radius: 0; } + @media (max-width: 1199px) { + .navbar { + /* + .navbar-form { + margin-top: 10px; + } + */ } + .navbar .navbar-brand { + height: 50px; + padding: 10px 15px; } + .navbar .navbar-nav > li > a { + padding-top: 15px; + padding-bottom: 15px; } } + .navbar .alert { + border-radius: 0; + left: 0; + position: absolute; + right: 0; + top: 85px; + width: 100%; + z-index: 3; + transition: all 0.3s; } + +.dropdown-menu { + border: 0; + box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.26); } + .dropdown-menu .divider { + background-color: rgba(0, 0, 0, 0.12); } + .dropdown-menu li > a { + font-size: 13px; + padding: 10px 20px; + margin: 0 5px; + border-radius: 2px; + -webkit-transition: all 150ms linear; + -moz-transition: all 150ms linear; + -o-transition: all 150ms linear; + -ms-transition: all 150ms linear; + transition: all 150ms linear; } + .dropdown-menu li > a:hover, .dropdown-menu li > a:focus { + 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); } + .dropdown-menu li { + position: relative; } + .dropdown-menu li a:hover, + .dropdown-menu li a:focus, + .dropdown-menu li a:active { + background-color: #03a9f4; + color: #FFFFFF; } + .dropdown-menu .divider { + margin: 5px 0; } + +@media (min-width: 992px) { + .dropdown .dropdown-menu { + -webkit-transition: all 150ms linear; + -moz-transition: all 150ms linear; + -o-transition: all 150ms linear; + -ms-transition: all 150ms linear; + transition: all 150ms linear; + margin-top: -20px; + opacity: 0; + visibility: hidden; + display: block; } + .dropdown.open .dropdown-menu { + opacity: 1; + visibility: visible; + margin-top: 1px; } } +.info { + max-width: 360px; + margin: 0 auto; + padding: 70px 0 30px; } + .info .icon { + color: #999999; } + .info .icon > i { + font-size: 4.4em; } + .info .info-title { + color: #3C4858; + margin: 30px 0 15px; } + .info p { + color: #999999; } + +.icon.icon-primary { + color: #03a9f4; } +.icon.icon-info { + color: #00bcd4; } +.icon.icon-success { + color: #8bc34a; } +.icon.icon-warning { + color: #ffc107; } +.icon.icon-danger { + color: #ff9800; } + +.alert { + border: 0; + border-radius: 0; + padding: 20px 15px; + line-height: 20px; } + .alert b { + font-weight: 500; + text-transform: uppercase; + font-size: 12px; } + .alert, .alert.alert-default { + background-color: white; + color: #ffffff; } + .alert a, .alert .alert-link, .alert.alert-default a, .alert.alert-default .alert-link { + color: #ffffff; } + .alert.alert-inverse { + background-color: #4558be; + color: contrast-color(#3f51b5, #000000, #ffffff); } + .alert.alert-inverse a, .alert.alert-inverse .alert-link { + color: contrast-color(#3f51b5, #000000, #ffffff); } + .alert.alert-primary { + background-color: #0ab1fc; + color: #ffffff; } + .alert.alert-primary a, .alert.alert-primary .alert-link { + color: #ffffff; } + .alert.alert-success { + background-color: #92c755; + color: #ffffff; } + .alert.alert-success a, .alert.alert-success .alert-link { + color: #ffffff; } + .alert.alert-info { + background-color: #00cae3; + color: #ffffff; } + .alert.alert-info a, .alert.alert-info .alert-link { + color: #ffffff; } + .alert.alert-warning { + background-color: #ffc516; + color: #ffffff; } + .alert.alert-warning a, .alert.alert-warning .alert-link { + color: #ffffff; } + .alert.alert-danger { + background-color: #ff9e0f; + color: #ffffff; } + .alert.alert-danger a, .alert.alert-danger .alert-link { + color: #ffffff; } + .alert-info, .alert-danger, .alert-warning, .alert-success { + color: #ffffff; } + .alert-default a, .alert-default .alert-link { + color: rgba(0,0,0, 0.87); } + .alert .alert-icon { + display: block; + float: left; + margin-right: 15px; } + .alert .alert-icon i { + margin-top: -7px; + top: 5px; + position: relative; } + +.progress { + height: 4px; + border-radius: 0; + box-shadow: none; + background: #DDDDDD; } + .progress .progress-bar { + box-shadow: none; } + .progress .progress-bar, .progress .progress-bar.progress-bar-default { + background-color: #03a9f4; } + .progress .progress-bar.progress-bar-inverse { + background-color: #3f51b5; } + .progress .progress-bar.progress-bar-primary { + background-color: #03a9f4; } + .progress .progress-bar.progress-bar-success { + background-color: #8bc34a; } + .progress .progress-bar.progress-bar-info { + background-color: #00bcd4; } + .progress .progress-bar.progress-bar-warning { + background-color: #ffc107; } + .progress .progress-bar.progress-bar-danger { + background-color: #ff9800; } + .progress.progress-line-primary { + background: rgba(3, 169, 244, 0.2); } + .progress.progress-line-info { + background: rgba(0, 188, 212, 0.2); } + .progress.progress-line-success { + background: rgba(139, 195, 74, 0.2); } + .progress.progress-line-warning { + background: rgba(255, 193, 7, 0.2); } + .progress.progress-line-danger { + background: rgba(255, 152, 0, 0.2); } + +h1, .h1 { + font-size: 3.8em; + line-height: 1.15em; } + +h2, .h2 { + font-size: 2.6em; } + +h3, .h3 { + font-size: 1.825em; + line-height: 1.4em; + margin: 20px 0 10px; } + +h4, .h4 { + font-size: 1.3em; + line-height: 1.4em; } + +h5, .h5 { + font-size: 1.25em; + line-height: 1.4em; + margin-bottom: 15px; } + +h6, .h6 { + font-size: 1em; + text-transform: uppercase; } + +.title, +.card-title, +.info-title, +.footer-brand, +.footer-big h5, +.footer-big h4, +.media .media-heading { + font-weight: 700; } + .title, + .title a, + .card-title, + .card-title a, + .info-title, + .info-title a, + .footer-brand, + .footer-brand a, + .footer-big h5, + .footer-big h5 a, + .footer-big h4, + .footer-big h4 a, + .media .media-heading, + .media .media-heading a { + color: #3C4858; + text-decoration: none; } + +h2.title { + margin-bottom: 30px; } + +.description, +.card-description, +.footer-big p { + color: #999999; } + +.text-warning { + color: #ffc107; } + +.text-primary { + color: #03a9f4; } + +.text-danger { + color: #ff9800; } + +.text-success { + color: #8bc34a; } + +.text-info { + color: #00bcd4; } + +.nav-tabs { + background: #03a9f4; + border: 0; + border-radius: 3px; + padding: 0 15px; } + .nav-tabs > li > a { + color: #FFFFFF; + border: 0; + margin: 0; + border-radius: 3px; + line-height: 24px; + text-transform: uppercase; + font-size: 12px; } + .nav-tabs > li > a:hover { + background-color: transparent; + border: 0; } + .nav-tabs > li > a, .nav-tabs > li > a:hover, .nav-tabs > li > a:focus { + background-color: transparent; + border: 0 !important; + color: #FFFFFF !important; + font-weight: 500; } + .nav-tabs > li.disabled > a, .nav-tabs > li.disabled > a:hover { + color: rgba(255, 255, 255, 0.5); } + .nav-tabs > li .material-icons { + margin: -1px 5px 0 0; } + .nav-tabs > li.active > a, .nav-tabs > li.active > a:hover, .nav-tabs > li.active > a:focus { + background-color: rgba(255, 255, 255, 0.2); + transition: background-color .1s .2s; } + +.popover, .tooltip-inner { + color: #555555; + line-height: 1.5em; + background: #FFFFFF; + border: none; + border-radius: 3px; + 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); } + +.popover { + padding: 0; + 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); } + .popover.left > .arrow, .popover.right > .arrow, .popover.top > .arrow, .popover.bottom > .arrow { + border: none; } + +.popover-title { + background-color: #FFFFFF; + border: none; + padding: 15px 15px 5px; + font-size: 1.3em; } + +.popover-content { + padding: 10px 15px 15px; + line-height: 1.4; } + +.tooltip.in { + opacity: 1; + -webkit-transform: translate3d(0, 0px, 0); + -moz-transform: translate3d(0, 0px, 0); + -o-transform: translate3d(0, 0px, 0); + -ms-transform: translate3d(0, 0px, 0); + transform: translate3d(0, 0px, 0); } + +.tooltip { + opacity: 0; + transition: opacity, transform .2s ease; + -webkit-transform: translate3d(0, 5px, 0); + -moz-transform: translate3d(0, 5px, 0); + -o-transform: translate3d(0, 5px, 0); + -ms-transform: translate3d(0, 5px, 0); + transform: translate3d(0, 5px, 0); } + .tooltip.left .tooltip-arrow { + border-left-color: #FFFFFF; } + .tooltip.right .tooltip-arrow { + border-right-color: #FFFFFF; } + .tooltip.top .tooltip-arrow { + border-top-color: #FFFFFF; } + .tooltip.bottom .tooltip-arrow { + border-bottom-color: #FFFFFF; } + +.tooltip-inner { + padding: 10px 15px; + min-width: 130px; } + +.carousel .carousel-control { + width: 50%; } + .carousel .carousel-control.left, .carousel .carousel-control.right { + background-image: none; } + .carousel .carousel-control .material-icons, + .carousel .carousel-control .fa { + display: none; } +.carousel .left { + cursor: url("../img/arrow-left.png"), url("../img/arrow-left.cur"), default !important; } +.carousel .right { + cursor: url("../img/arrow-right.png"), url("../img/arrow-right.cur"), default !important; } +.carousel .carousel-indicators { + bottom: 5px; } + .carousel .carousel-indicators li, + .carousel .carousel-indicators .active { + margin: 11px 10px; } + .carousel .carousel-indicators li { + background: #FFFFFF; + 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); + border-radius: 2px; } + .carousel .carousel-indicators .active { + margin-top: 10px; + -webkit-transform: scale(1.5); + -moz-transform: scale(1.5); + -o-transform: scale(1.5); + -ms-transform: scale(1.5); + transform: scale(1.5); + 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); } +.carousel .carousel-caption { + padding-bottom: 45px; } + .carousel .carousel-caption .material-icons { + position: relative; + top: 5px; } + +.card { + display: inline-block; + position: relative; + width: 100%; + border-radius: 3px; + color: rgba(0,0,0, 0.87); + background: #fff; + 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); } + .card .card-height-indicator { + margin-top: 100%; } + .card .card-content { + position: absolute; + top: 0; + bottom: 0; + left: 0; + right: 0; } + .card .card-image { + height: 60%; + position: relative; + overflow: hidden; } + .card .card-image img { + width: 100%; + height: 100%; + border-top-left-radius: 2px; + border-top-right-radius: 2px; + pointer-events: none; } + .card .card-image .card-image-headline { + position: absolute; + bottom: 16px; + left: 18px; + color: #fff; + font-size: 2em; } + .card .content { + padding: 15px; } + .card .card-body { + height: 30%; + padding: 18px; } + .card .card-footer { + height: 10%; + padding: 18px; } + .card .card-footer button, .card .card-footer a { + margin: 0 !important; + position: relative; + bottom: 25px; + width: auto; } + .card .card-footer button:first-child, .card .card-footer a:first-child { + left: -15px; } + .card .header { + box-shadow: 0 16px 38px -12px rgba(0, 0, 0, 0.56), 0 4px 25px 0px rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(0, 0, 0, 0.2); + margin: 15px; + border-radius: 3px; + padding: 15px 0; + background-color: #FFFFFF; } + .card .header-primary { + background: linear-gradient(60deg, #4fc3f7, #039be5); } + .card .header-info { + background: linear-gradient(60deg, #4dd0e1, #00acc1); } + .card .header-success { + background: linear-gradient(60deg, #aed581, #7cb342); } + .card .header-warning { + background: linear-gradient(60deg, #ffd54f, #ffb300); } + .card .header-danger { + background: linear-gradient(60deg, #ffb74d, #fb8c00); } + .card [class*="header-"] { + color: #FFFFFF; } + +.card-raised { + box-shadow: 0 16px 38px -12px rgba(0, 0, 0, 0.56), 0 4px 25px 0px rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(0, 0, 0, 0.2); } + +.card-signup .header { + box-shadow: 0 16px 38px -12px rgba(0, 0, 0, 0.56), 0 4px 25px 0px rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(0, 0, 0, 0.2); + margin-left: 20px; + margin-right: 20px; + margin-top: -40px; + padding: 20px 0; } +.card-signup .text-divider { + margin-top: 30px; + margin-bottom: 0px; + text-align: center; } +.card-signup .content { + padding: 0px 30px 0px 10px; } +.card-signup .checkbox { + margin-top: 20px; } + .card-signup .checkbox label { + margin-left: 17px; } + .card-signup .checkbox .checkbox-material { + padding-right: 12px; } +.card-signup .social-line { + margin-top: 15px; + text-align: center; } + .card-signup .social-line .btn { + color: #FFFFFF; + margin-left: 5px; + margin-right: 5px; } + +.card-nav-tabs { + margin-top: 45px; } + .card-nav-tabs .header { + margin-top: -30px; } + .card-nav-tabs .nav-tabs { + background: transparent; } + +.card-plain { + background: transparent; + box-shadow: none; } + .card-plain .header { + margin-left: 0; + margin-right: 0; } + .card-plain .content { + padding-left: 0; + padding-right: 0; } + +.modal-content { + box-shadow: 0 27px 24px 0 rgba(0, 0, 0, 0.2), 0 40px 77px 0 rgba(0, 0, 0, 0.22); + border-radius: 3px; + border: none; } + .modal-content .modal-header { + border-bottom: none; + padding-top: 24px; + padding-right: 24px; + padding-bottom: 0; + padding-left: 24px; } + .modal-content .modal-body { + padding-top: 24px; + padding-right: 24px; + padding-bottom: 16px; + padding-left: 24px; } + .modal-content .modal-footer { + border-top: none; + padding: 7px; } + .modal-content .modal-footer button { + margin: 0; + padding-left: 16px; + padding-right: 16px; + width: auto; } + .modal-content .modal-footer button.pull-left { + padding-left: 5px; + padding-right: 5px; + position: relative; + left: -5px; } + .modal-content .modal-footer button + button { + margin-bottom: 16px; } + .modal-content .modal-body + .modal-footer { + padding-top: 0; } + +.modal-backdrop { + background: rgba(0, 0, 0, 0.3); } + +.modal .modal-dialog { + margin-top: 100px; } +.modal .modal-header .close { + color: #555555; } + .modal .modal-header .close:hover, .modal .modal-header .close:focus { + opacity: 1; + color: #555555; } + +.panel { + border-radius: 2px; + border: 0; + box-shadow: 0 1px 6px 0 rgba(0, 0, 0, 0.12), 0 1px 6px 0 rgba(0, 0, 0, 0.12); } + .panel > .panel-heading, .panel.panel-default > .panel-heading { + background-color: #eeeeee; } + .panel.panel-inverse > .panel-heading { + background-color: #3f51b5; } + .panel.panel-primary > .panel-heading { + background-color: #03a9f4; } + .panel.panel-success > .panel-heading { + background-color: #8bc34a; } + .panel.panel-info > .panel-heading { + background-color: #00bcd4; } + .panel.panel-warning > .panel-heading { + background-color: #ffc107; } + .panel.panel-danger > .panel-heading { + background-color: #ff9800; } + +[class*="panel-"] > .panel-heading { + color: #ffffff; + border: 0; } + +.panel-default > .panel-heading, .panel:not([class*="panel-"]) > .panel-heading { + color: rgba(0,0,0, 0.87); } + +.panel-footer { + background-color: #eeeeee; } + +hr.on-dark { + color: #1a1a1a; } +hr.on-light { + color: white; } +@media (-webkit-min-device-pixel-ratio: 0.75), (min--moz-device-pixel-ratio: 0.75), (-o-device-pixel-ratio: 3 / 4), (min-device-pixel-ratio: 0.75), (min-resolution: 0.75dppx), (min-resolution: 120dpi) { + hr { + height: 0.75px; } } +@media (-webkit-min-device-pixel-ratio: 1), (min--moz-device-pixel-ratio: 1), (-o-device-pixel-ratio: 1), (min-device-pixel-ratio: 1), (min-resolution: 1dppx), (min-resolution: 160dpi) { + hr { + height: 1px; } } +@media (-webkit-min-device-pixel-ratio: 1.33), (min--moz-device-pixel-ratio: 1.33), (-o-device-pixel-ratio: 133 / 100), (min-device-pixel-ratio: 1.33), (min-resolution: 1.33dppx), (min-resolution: 213dpi) { + hr { + height: 1.333px; } } +@media (-webkit-min-device-pixel-ratio: 1.5), (min--moz-device-pixel-ratio: 1.5), (-o-device-pixel-ratio: 3 / 2), (min-device-pixel-ratio: 1.5), (min-resolution: 1.5dppx), (min-resolution: 240dpi) { + hr { + height: 1.5px; } } +@media (-webkit-min-device-pixel-ratio: 2), (min--moz-device-pixel-ratio: 2), (-o-device-pixel-ratio: 2 / 1), (min-device-pixel-ratio: 2), (min-resolution: 2dppx), (min-resolution: 380dpi) { + hr { + height: 2px; } } +@media (-webkit-min-device-pixel-ratio: 3), (min--moz-device-pixel-ratio: 3), (-o-device-pixel-ratio: 3 / 1), (min-device-pixel-ratio: 3), (min-resolution: 3dppx), (min-resolution: 480dpi) { + hr { + height: 3px; } } +@media (-webkit-min-device-pixel-ratio: 4), (min--moz-device-pixel-ratio: 4), (-o-device-pixel-ratio: 4 / 1), (min-device-pixel-ratio: 3), (min-resolution: 4dppx), (min-resolution: 640dpi) { + hr { + height: 4px; } } + +.img-thumbnail { + border-radius: 16px; } + +.img-raised { + box-shadow: 0 16px 38px -12px rgba(0, 0, 0, 0.56), 0 4px 25px 0px rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(0, 0, 0, 0.2); } + +* { + -webkit-tap-highlight-color: rgba(255, 255, 255, 0); + -webkit-tap-highlight-color: transparent; } + *:focus { + outline: 0; } + +a:focus, a:active, +button:active, button:focus, button:hover, +button::-moz-focus-inner, +input[type="reset"]::-moz-focus-inner, +input[type="button"]::-moz-focus-inner, +input[type="submit"]::-moz-focus-inner, +select::-moz-focus-inner, +input[type="file"] > input[type="button"]::-moz-focus-inner { + outline: 0 !important; } + +.section { + padding: 70px 0; } + +.section-navbars { + padding-bottom: 0; } + +.section-full-screen { + height: 100vh; } + +.section-signup { + padding-top: 20vh; } + +.noUi-target, +.noUi-target * { + -webkit-touch-callout: none; + -ms-touch-action: none; + user-select: none; + box-sizing: border-box; } + +.noUi-base { + width: 100%; + height: 100%; + position: relative; } + +.noUi-origin { + position: absolute; + right: 0; + top: 0; + left: 0; + bottom: 0; } + +.noUi-handle { + position: relative; + z-index: 1; + box-sizing: border-box; } + +.noUi-stacking .noUi-handle { + z-index: 10; } + +.noUi-state-tap .noUi-origin { + transition: left 0.3s, top 0.3s; } + +.noUi-state-drag * { + cursor: inherit !important; } + +.noUi-horizontal { + height: 10px; } + +.noUi-handle { + box-sizing: border-box; + width: 14px; + height: 14px; + left: -10px; + top: -6px; + cursor: pointer; + border-radius: 100%; + transition: all 0.2s ease-out; + border: 1px solid; + background: #FFFFFF; + 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); } + +.noUi-vertical .noUi-handle { + margin-left: 5px; + cursor: ns-resize; } + +.noUi-horizontal.noUi-extended { + padding: 0 15px; } + +.noUi-horizontal.noUi-extended .noUi-origin { + right: -15px; } + +.noUi-background { + height: 2px; + margin: 20px 0; } + +.noUi-origin { + margin: 0; + border-radius: 0; + height: 2px; + background: #c8c8c8; } + .noUi-origin[style^="left: 0"] .noUi-handle { + background-color: #fff; + border: 2px solid #c8c8c8; } + .noUi-origin[style^="left: 0"] .noUi-handle.noUi-active { + border-width: 1px; } + +.noUi-target { + border-radius: 3px; } + +.noUi-horizontal { + height: 2px; + margin: 15px 0; } + +.noUi-vertical { + height: 100%; + width: 2px; + margin: 0 15px; + display: inline-block; } + +.noUi-handle.noUi-active { + transform: scale3d(2, 2, 1); } + +[disabled].noUi-slider { + opacity: 0.5; } + +[disabled] .noUi-handle { + cursor: not-allowed; } + +.slider { + background: #c8c8c8; } + +.slider.noUi-connect { + background-color: #03a9f4; } +.slider .noUi-handle { + border-color: #03a9f4; } +.slider.slider-info .noUi-connect, .slider.slider-info.noUi-connect { + background-color: #00bcd4; } +.slider.slider-info .noUi-handle { + border-color: #00bcd4; } +.slider.slider-success .noUi-connect, .slider.slider-success.noUi-connect { + background-color: #8bc34a; } +.slider.slider-success .noUi-handle { + border-color: #8bc34a; } +.slider.slider-warning .noUi-connect, .slider.slider-warning.noUi-connect { + background-color: #ffc107; } +.slider.slider-warning .noUi-handle { + border-color: #ffc107; } +.slider.slider-danger .noUi-connect, .slider.slider-danger.noUi-connect { + background-color: #ff9800; } +.slider.slider-danger .noUi-handle { + border-color: #ff9800; } + +.dropdownjs::after { + right: 5px; + top: 3px; + font-size: 25px; + position: absolute; + font-family: 'Material Icons'; + font-style: normal; + font-weight: 400; + content: "\e5c5"; + pointer-events: none; + color: #757575; } + +/*! + * Datepicker for Bootstrap + * + * Copyright 2012 Stefan Petre + * Licensed under the Apache License v2.0 + * http://www.apache.org/licenses/LICENSE-2.0 + * + */ +/* + * + * SCSS by Creative Tim + * http://www.creative-tim.com + * + */ +.datepicker { + top: 0; + left: 0; + padding: 4px; + margin-top: 1px; + -webkit-border-radius: 4px; + -moz-border-radius: 4px; + border-radius: 4px; } + .datepicker > div { + display: none; } + .datepicker table { + width: 100%; + margin: 0; } + .datepicker td, + .datepicker th { + text-align: center; + width: 20px; + height: 20px; + -webkit-border-radius: 4px; + -moz-border-radius: 4px; + border-radius: 4px; } + .datepicker td { + text-align: center; } + .datepicker td p { + font-size: 1em; + font-weight: 400; + border-radius: 50%; + height: 29px; + line-height: 29px; + margin: 3px 0 8px; + width: 29px; } + .datepicker td :hover { + cursor: pointer; } + .datepicker th { + font-weight: 500; } + .datepicker th.switch-datepicker { + font-size: 1em; } + .datepicker .prev p, + .datepicker .next p { + font-size: 1.825em; } + .datepicker p:hover { + background: #eeeeee; } + .datepicker .day.disabled { + color: #eeeeee; } + .datepicker td.old, + .datepicker td.new { + color: #999999; + border-top: 0; } + .datepicker td.active p, + .datepicker td.active:hover p { + 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); + color: #ffffff; + background-color: #03a9f4; } + .datepicker td.primary p, + .datepicker td.primary:hover p { + background-color: #03a9f4; } + .datepicker td.info p, + .datepicker td.info:hover p { + background-color: #00bcd4; } + .datepicker td.success p, + .datepicker td.success:hover p { + background-color: #8bc34a; } + .datepicker td.warning p, + .datepicker td.warning:hover p { + background-color: #ffc107; } + .datepicker td.danger p, + .datepicker td.danger:hover p { + background-color: #ff9800; } + .datepicker span { + display: block; + width: 55px; + height: 54px; + line-height: 54px; + float: left; + margin: 2px; + cursor: pointer; + -webkit-border-radius: 4px; + -moz-border-radius: 4px; + border-radius: 4px; } + .datepicker span.old { + color: #999999; } + .datepicker span.active, .datepicker span.active:focus, .datepicker span.active:hover, .datepicker span.active:active { + background-color: #03a9f4; + 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); } + .datepicker span.active { + color: #FFFFFF; } + .datepicker span:hover { + background-color: #EEEEEE; } + .datepicker span.primary, + .datepicker span.primary:hover { + background-color: #03a9f4; } + .datepicker span.info, + .datepicker span.info:hover { + background-color: #00bcd4; } + .datepicker span.success, + .datepicker span.success:hover { + background-color: #8bc34a; } + .datepicker span.warning, + .datepicker span.warning:hover { + background-color: #ffc107; } + .datepicker span.danger, + .datepicker span.danger:hover { + background-color: #ff9800; } + .datepicker th.switch-datepicker { + width: 145px; } + .datepicker th.next, + .datepicker th.prev { + font-size: 21px; } + .datepicker thead tr:first-child th { + cursor: pointer; } + .datepicker thead tr:first-child th:hover { + background: #eeeeee; } + .datepicker.dropdown-menu { + border-radius: 3px; + box-shadow: 0 16px 38px -12px rgba(0, 0, 0, 0.56), 0 4px 25px 0px rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(0, 0, 0, 0.2); + -webkit-transition: all 150ms linear; + -moz-transition: all 150ms linear; + -o-transition: all 150ms linear; + -ms-transition: all 150ms linear; + transition: all 150ms linear; + margin-top: -20px; + opacity: 0; + visibility: hidden; } + .datepicker.dropdown-menu.open { + opacity: 1; + visibility: visible; + margin-top: 1px; } + .datepicker .table-condensed > tbody > tr > td { + padding: 2px; } + .datepicker .table-condensed > thead > tr > th { + padding: 0; } + +.input-append.date .add-on i, +.input-prepend.date .add-on i { + display: block; + cursor: pointer; + width: 16px; + height: 16px; } + +.datepicker-months thead { + padding: 0 0 3px; + display: block; } + +.withripple { + position: relative; } + +.ripple-container { + position: absolute; + top: 0; + left: 0; + z-index: 1; + width: 100%; + height: 100%; + overflow: hidden; + border-radius: inherit; + pointer-events: none; } + +.ripple { + position: absolute; + width: 20px; + height: 20px; + margin-left: -10px; + margin-top: -10px; + border-radius: 100%; + background-color: #000; + background-color: rgba(0, 0, 0, 0.05); + transform: scale(1); + transform-origin: 50%; + opacity: 0; + pointer-events: none; } + +.ripple.ripple-on { + transition: opacity 0.15s ease-in 0s, transform 0.5s cubic-bezier(0.4, 0, 0.2, 1) 0.1s; + opacity: 0.1; } + +.ripple.ripple-out { + transition: opacity 0.1s linear 0s !important; + opacity: 0; } + +.wrapper > .header { + min-height: 300px; + background-position: center center; + background-size: cover; } + +.main { + background: #FFFFFF; + position: relative; + z-index: 3; } + +.main-raised { + margin: -60px 30px 0px; + border-radius: 6px; + 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); } + +.title { + font-weight: 500; + color: #3C4858; } + +h2.title { + margin-bottom: 30px; } + +.description { + color: #999999; } + +.header-filter { + position: relative; } + .header-filter:after { + position: absolute; + z-index: 1; + width: 100%; + height: 100%; + display: block; + left: 0; + top: 0; + content: ""; + background-color: rgba(0, 0, 0, 0.4); } + .header-filter .container { + z-index: 2; + position: relative; } + +.gallery .image img { + width: 100%; } + +.features { + padding: 80px 0 0; } + +.team { + margin-top: 80px; } + .team .team-player .title { + margin: 30px auto; } + .team .team-player img { + max-width: 170px; } + +.nav-align-center { + text-align: center; } + .nav-align-center .nav-pills { + display: inline-block; } + +.navbar-absolute { + position: absolute; + width: 100%; + padding-top: 10px; + z-index: 1031; } + +.index-page .wrapper > .header { + height: 90vh; } +.index-page .brand { + margin-top: 30vh; + color: #FFFFFF; + text-align: center; } + .index-page .brand h1 { + font-size: 4.8em; + font-weight: 600; } + .index-page .brand h3 { + font-size: 1.5em; + text-transform: uppercase; + max-width: 400px; + margin: 10px auto 0; } +.index-page .section-basic { + padding-top: 15px; } +.index-page .header-filter:after { + background: rgba(101, 47, 142, 0.64); + background: linear-gradient(45deg, rgba(101, 47, 142, 0.88) 0%, rgba(125, 46, 185, 0.45) 100%); + background: -moz-linear-gradient(135deg, rgba(101, 47, 142, 0.88) 0%, rgba(125, 46, 185, 0.45) 100%); + background: -webkit-linear-gradient(135deg, rgba(101, 47, 142, 0.88) 0%, rgba(125, 46, 185, 0.45) 100%); } + +.landing-page .header { + height: 100vh; } + .landing-page .header .container { + padding-top: 26vh; + color: #FFFFFF; } + .landing-page .header .share { + margin-top: 150px; } + .landing-page .header h1 { + font-weight: 600; } + .landing-page .header .title { + color: #FFFFFF; } +.landing-page .wrapper { + background: #CCCCCC; } + +.profile-page .header { + height: 380px; + background-position: top center; } +.profile-page .profile { + text-align: center; } + .profile-page .profile img { + max-width: 160px; + margin: -80px auto 0; } +.profile-page .description { + margin: 30px auto 0; + max-width: 600px; } +.profile-page .profile-tabs { + margin-top: 60px; } +.profile-page .gallery { + margin-top: 45px; + padding-bottom: 50px; } + .profile-page .gallery img { + width: 100%; + margin-bottom: 30px; } + +.signup-page .wrapper > .header { + min-height: 100vh; } +.signup-page .wrapper .card-signup { + margin: 160px 0 40px; } +.signup-page .footer .copyright, +.signup-page .footer a { + color: #FFFFFF; } + +.landing-page .navbar-transparent, +.profile-page .navbar-transparent, +.signup-page .navbar-transparent, +.index-page .navbar-transparent { + padding-top: 25px; } + +@media (max-width: 991px) { + .landing-page .header { + height: auto; + min-height: 100vh; } + .landing-page .header .container { + padding-bottom: 70px; } } +@media (max-width: 768px) { + .footer .copyright { + display: inline-block; + text-align: center; + padding: 10px 0; + float: none !important; + width: 100%; } + + .navbar.navbar-transparent { + background-color: rgba(0, 0, 0, 0.4); + padding-top: 10px; + border-radius: 0; } + + .main-raised { + margin-left: 10px; + margin-right: 10px; } } + +/*# sourceMappingURL=material-kit.css.map */ diff --git a/liste-envies-war/src/main/webapp/css/material-kit.css.map b/liste-envies-war/src/main/webapp/css/material-kit.css.map new file mode 100644 index 00000000..df255f6a --- /dev/null +++ b/liste-envies-war/src/main/webapp/css/material-kit.css.map @@ -0,0 +1,7 @@ +{ +"version": 3, +"mappings": "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", +"sources": ["material-kit.scss","material-kit/_variables.scss","material-kit/_shadows.scss","material-kit/_core.scss","material-kit/_variables_bootstrap.scss","material-kit/_mixins.scss","material-kit/_form.scss","material-kit/_buttons.scss","material-kit/_checkboxes.scss","material-kit/_togglebutton.scss","material-kit/_radios.scss","material-kit/_inputs-size.scss","material-kit/_inputs.scss","material-kit/_colors.scss","material-kit/_pagination.scss","material-kit/_labels.scss","material-kit/_pills.scss","material-kit/_footers.scss","material-kit/_navbar.scss","material-kit/_dropdown.scss","material-kit/_info-areas.scss","material-kit/_alerts.scss","material-kit/_progress.scss","material-kit/_typography.scss","material-kit/_tabs.scss","material-kit/_popups.scss","material-kit/_carousel.scss","material-kit/_cards.scss","material-kit/_dialogs.scss","material-kit/_panels.scss","material-kit/_dividers.scss","material-kit/_images.scss","material-kit/_sections.scss","material-kit/plugins/_plugin-nouislider.scss","material-kit/plugins/_plugin-dropdownjs.scss","material-kit/plugins/_plugin-datepicker.scss","material-kit/_ripples.scss","material-kit/_example-pages.scss"], +"names": [], +"file": "material-kit.css" +} diff --git a/liste-envies-war/src/main/webapp/css/material-kit.scss b/liste-envies-war/src/main/webapp/css/material-kit.scss new file mode 100644 index 00000000..bc3e5b93 --- /dev/null +++ b/liste-envies-war/src/main/webapp/css/material-kit.scss @@ -0,0 +1,40 @@ +/*! ========================================================= + * + * Material Kit Free - V1.1.0 + * + * ========================================================= + * + * + * _oo0oo_ + * o8888888o + * 88" . "88 + * (| -_- |) + * 0\ = /0 + * ___/`---'\___ + * .' \\| |// '. + * / \\||| : |||// \ + * / _||||| -:- |||||- \ + * | | \\\ - /// | | + * | \_| ''\---/'' |_/ | + * \ .-\__ '-' ___/-. / + * ___'. .' /--.--\ `. .'___ + * ."" '< `.___\_<|>_/___.' >' "". + * | | : `- \`.;`\ _ /`;.`/ - ` : | | + * \ \ `_. \_ __\ /__ _/ .-` / / + * =====`-.____`.___ \_____/___.-`___.-'===== + * `=---=' + * + * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + * + * Buddha Bless: "No Bugs" + * + * ========================================================= */ + +@import 'material-kit/variables'; +@import 'material-kit/mixins'; +@import 'material-kit/shadows'; +@import 'material-kit/core'; + +@import 'material-kit/ripples'; + +@import 'material-kit/example-pages'; diff --git a/liste-envies-war/src/main/webapp/css/material-kit/_alerts.scss b/liste-envies-war/src/main/webapp/css/material-kit/_alerts.scss new file mode 100644 index 00000000..52e94973 --- /dev/null +++ b/liste-envies-war/src/main/webapp/css/material-kit/_alerts.scss @@ -0,0 +1,41 @@ +// This file has been autogenerated by grunt task lessToSass. Any changes will be overwritten. + +.alert { + border: 0; + border-radius: 0; + + padding: 20px 15px; + line-height: 20px; + + //@include shadow-z-2(); + + b{ + font-weight: $font-weight-bold; + text-transform: uppercase; + font-size: $font-size-small; + } + // SASS conversion note: please mirror any content change in _mixins-shared.scss alert-variations-content + @include alert-variations(unquote(".alert"), unquote(""), $mdb-text-color-light); + + &-info, &-danger, &-warning, &-success { + color: $mdb-text-color-light; + } + + &-default { + a, .alert-link { + color: $mdb-text-color-primary; + } + } + + .alert-icon{ + display: block; + float: left; + margin-right: $margin-base; + + i{ + margin-top: -7px; + top: 5px; + position: relative; + } + } +} diff --git a/liste-envies-war/src/main/webapp/css/material-kit/_buttons.scss b/liste-envies-war/src/main/webapp/css/material-kit/_buttons.scss new file mode 100644 index 00000000..7a354efb --- /dev/null +++ b/liste-envies-war/src/main/webapp/css/material-kit/_buttons.scss @@ -0,0 +1,250 @@ +.btn, +.navbar .navbar-nav > li > a.btn{ + border: none; + border-radius: $border-radius-base; + position: relative; + padding: 12px 30px; + margin: 10px 1px; + + font-size: $mdb-btn-font-size-base; + font-weight: 400; + text-transform: uppercase; + letter-spacing: 0; + + will-change: box-shadow, transform; + transition: box-shadow 0.2s $mdb-animation-curve-fast-out-linear-in, + background-color 0.2s $mdb-animation-curve-default; + + &::-moz-focus-inner { + border: 0; + } + + &, + &.btn-default{ + @include btn-styles-invert($white-color, $gray-light); + } + + &.btn-gray{ + @include btn-styles($gray-light); + } + + &.btn-primary{ + @include btn-styles($brand-primary); + } + &.btn-info{ + @include btn-styles($brand-info); + } + &.btn-success{ + @include btn-styles($brand-success); + } + &.btn-warning{ + @include btn-styles($brand-warning); + } + &.btn-danger{ + @include btn-styles($brand-danger); + } + &.btn-upgrade{ + @include btn-styles($brand-rose); + } + &.btn-white{ + &, + &:focus, + &:hover{ + background-color: $white-color; + color: $gray-light; + } + &.btn-simple{ + color: #FFFFFF; + background: transparent; + box-shadow: none; + } + } + + + &:focus, + &:active, + &:active:focus{ + outline: 0; + } + + &.btn-round{ + border-radius: $border-radius-extreme; + } + + &:not(.btn-just-icon):not(.btn-fab){ + .fa{ + font-size: 18px; + margin-top: -2px; + position: relative; + top: 2px; + } + } + + + &.btn-fab { + // see above for color variations + border-radius: 50%; + font-size: $mdb-btn-fab-font-size; + height: $mdb-btn-fab-size; + margin: auto; + min-width: $mdb-btn-fab-size; + width: $mdb-btn-fab-size; + padding: 0; + overflow: hidden; + position: relative; + line-height: normal; + + .ripple-container { + border-radius: 50%; + } + + &.btn-fab-mini, + .btn-group-sm & { + height: $mdb-btn-fab-size-mini; + min-width: $mdb-btn-fab-size-mini; + width: $mdb-btn-fab-size-mini; + + &.material-icons { + top: ($mdb-btn-icon-size-mini - $mdb-btn-fab-font-size) / 2; + left: ($mdb-btn-icon-size-mini - $mdb-btn-fab-font-size) / 2; + } + + .material-icons{ + font-size: $mdb-btn-icon-size-mini; + } + } + + i.material-icons { + position: absolute; + top: 50%; + left: 50%; + transform: translate(-($mdb-btn-fab-font-size / 2), -($mdb-btn-fab-font-size / 2)); + line-height: $mdb-btn-fab-font-size; + width: $mdb-btn-fab-font-size; + font-size: $mdb-btn-fab-font-size; + } + } + + // Size variations + &.btn-lg, + .btn-group-lg & { + font-size: $mdb-btn-font-size-lg; + padding: 18px 36px; + } + &.btn-sm, + .btn-group-sm & { + padding: 5px 20px; + font-size: $mdb-btn-font-size-sm; + } + &.btn-xs, + .btn-group-xs & { + padding: 4px 15px; + font-size: $mdb-btn-font-size-xs; + } + + &.btn-just-icon{ + font-size: 18px; + padding: 10px 10px; + line-height: 1em; + + i{ + width: 20px; + } + &.btn-lg{ + font-size: 22px; + padding: 13px 18px; + } + } +} + +.btn{ + // Align icons inside buttons with text + .material-icons{ + vertical-align: middle; + font-size: $mdb-btn-icon-size-mini; + top: -1px; + position: relative; + } + +} + +.navbar .navbar-nav > li > { + a.btn{ + margin-top: 2px; + margin-bottom: 2px; + + &.btn-fab{ + margin: 5px 2px; + } + } + a:not(.btn){ + .material-icons{ + margin-top: -3px; + top: 0px; + position: relative; + margin-right: 3px; + } + } + .profile-photo{ + margin: 5px 2px; + } +} + +.navbar-default:not(.navbar-transparent) .navbar-nav > li > { + a.btn{ + &.btn-white.btn-simple{ + color: $gray; + } + } +} + +// btn-group variations +.btn-group, +.btn-group-vertical { + + position: relative; + //border-radius: 2px; + margin: 10px 1px; + + &.open { + .dropdown-toggle { + //box-shadow: none; + } + + & > .dropdown-toggle.btn { + @include variations(unquote(".btn"), unquote(""), background-color, $mdb-btn-background-color); + } + } + + .dropdown-menu { + border-radius: 0 0 $border-radius-base $border-radius-base; + } + + &.btn-group-raised { + @include shadow-2dp(); + } + + & .btn + .btn, + .btn, + .btn:active, + .btn-group { + margin: 0; + } +} + +.close{ + font-size: inherit; + color: $white-color; + opacity: .9; + text-shadow: none; + + &:hover, + &:focus{ + opacity: 1; + color: $white-color; + } + + i{ + font-size: 20px; + } +} diff --git a/liste-envies-war/src/main/webapp/css/material-kit/_cards.scss b/liste-envies-war/src/main/webapp/css/material-kit/_cards.scss new file mode 100644 index 00000000..0ac5d5bb --- /dev/null +++ b/liste-envies-war/src/main/webapp/css/material-kit/_cards.scss @@ -0,0 +1,164 @@ +.card { + + display: inline-block; + position: relative; + width: 100%; + + .card-height-indicator { + margin-top: 100%; + } + .card-content { + position: absolute; + top: 0; + bottom: 0; + left: 0; + right: 0; + } + + border-radius: $border-radius-base; + color: $mdb-card-body-text; + background: $mdb-card-body-background; + + @include shadow-2dp(); + + .card-image { + height: 60%; + position: relative; + overflow: hidden; + img { + width: 100%; + height: 100%; + border-top-left-radius: 2px; + border-top-right-radius: 2px; + pointer-events: none; + } + .card-image-headline { + position: absolute; + bottom: 16px; + left: 18px; + color: $mdb-card-image-headline; + font-size: 2em; + } + } + + .content{ + padding: 15px; + } + + .card-body { + height: 30%; + padding: 18px; + } + + .card-footer { + height: 10%; + padding: 18px; + button, a { + margin: 0 !important; + position: relative; + bottom: 25px; + width: auto; + &:first-child { + left: -15px; + } + } + } + + .header{ + @include shadow-big(); + margin: $margin-base; + border-radius: $border-radius-base; + padding: $padding-base 0; + background-color: $white-color; + } + + .header-primary{ + background: linear-gradient(60deg, $light-blue-300, $light-blue-600); + } + .header-info{ + background: linear-gradient(60deg, $cyan-300, $cyan-600); + } + .header-success{ + background: linear-gradient(60deg, $light-green-300, $light-green-600); + } + .header-warning{ + background: linear-gradient(60deg, $amber-300, $amber-600); + } + .header-danger{ + background: linear-gradient(60deg, $orange-300, $orange-600); + } + + [class*="header-"]{ + color: #FFFFFF; + } +} + +.card-raised{ + @include shadow-big(); +} + +.card-signup{ + .header{ + @include shadow-big(); + margin-left: 20px; + margin-right: 20px; + margin-top: -40px; + padding: 20px 0; + } + .text-divider{ + margin-top: 30px; + margin-bottom: 0px; + text-align: center; + } + .content{ + padding: 0px 30px 0px 10px; + } + + .checkbox{ + margin-top: 20px; + + label{ + margin-left: 17px; + } + .checkbox-material{ + padding-right: 12px; + } + } + + .social-line{ + margin-top: $margin-base; + text-align: center; + + .btn{ + color: $white-color; + margin-left: 5px; + margin-right: 5px; + } + } +} + +.card-nav-tabs{ + margin-top: 45px; + + .header{ + margin-top: -$margin-base * 2; + } + .nav-tabs{ + background: transparent; + } +} + +.card-plain{ + background: transparent; + box-shadow: none; + + .header{ + margin-left: 0; + margin-right: 0; + } + + .content{ + padding-left: 0; + padding-right: 0; + } +} diff --git a/liste-envies-war/src/main/webapp/css/material-kit/_carousel.scss b/liste-envies-war/src/main/webapp/css/material-kit/_carousel.scss new file mode 100644 index 00000000..5c80a95a --- /dev/null +++ b/liste-envies-war/src/main/webapp/css/material-kit/_carousel.scss @@ -0,0 +1,52 @@ +.carousel{ + .carousel-control{ + width: 50%; + + &.left, + &.right{ + background-image: none; + } + + .material-icons, + .fa{ + display: none; + } + } + .left{ + cursor: url("../img/arrow-left.png"), url("../img/arrow-left.cur"), default !important; + } + .right{ + cursor: url("../img/arrow-right.png"), url("../img/arrow-right.cur"), default !important; + } + + .carousel-indicators{ + bottom: 5px; + + li, + .active{ + margin: 11px 10px; + } + + li{ + background: #FFFFFF; + @include shadow-2dp(); + @extend .animation-transition-general; + border-radius: $border-radius-small; + } + .active{ + margin-top: 10px; + @include transform-scale(1.5); + @include shadow-4dp(); + } + } + + .carousel-caption{ + padding-bottom: 45px; + + .material-icons{ + position: relative; + top: 5px; + } + } + +} diff --git a/liste-envies-war/src/main/webapp/css/material-kit/_checkboxes.scss b/liste-envies-war/src/main/webapp/css/material-kit/_checkboxes.scss new file mode 100644 index 00000000..119bde24 --- /dev/null +++ b/liste-envies-war/src/main/webapp/css/material-kit/_checkboxes.scss @@ -0,0 +1,195 @@ +.form-group { +} + +.checkbox { + label { + cursor: pointer; + padding-left: 0; // Reset for Bootstrap rule + color: $mdb-checkbox-label-color; + @include mdb-label-color-toggle-focus(); + } + + // Hide native checkbox + input[type=checkbox] { + opacity: 0; + position: absolute; + margin: 0; + z-index: -1; + width: 0; + height: 0; + overflow: hidden; + left: 0; + pointer-events: none; + } + + .checkbox-material { + vertical-align: middle; + position: relative; + top: 1px; + padding-right: 5px; + display: inline-block; + + &:before { + display: block; + position: absolute; + left: 0; + content: ""; + background-color: rgba(0,0,0,.84); + height: $mdb-checkbox-size; + width: $mdb-checkbox-size; + border-radius: 100%; + z-index: 1; + opacity: 0; + margin: 0; + top: 0; + @include transform-scale3d(unquote('2.3,2.3,1')); + } + + .check { + position: relative; + display: inline-block; + width: $mdb-checkbox-size; + height: $mdb-checkbox-size; + border: 1px solid $mdb-checkbox-border-color; + overflow: hidden; + z-index: 1; + border-radius: $border-radius-base; + } + .check:before { + position: absolute; + content: ""; + transform: rotate(45deg); + display: block; + margin-top: -3px; + margin-left: 7px; + width: 0; + height: 0; + background: red; + box-shadow: + 0 0 0 0, + 0 0 0 0, + 0 0 0 0, + 0 0 0 0, + 0 0 0 0, + 0 0 0 0, + 0 0 0 0 inset; + @include animation(checkbox-off $mdb-checkbox-animation-check forwards); + } + } + + input[type=checkbox] { + + &:focus + .checkbox-material .check:after { + opacity: 0.2; + } + + &:checked { + + & + .checkbox-material .check { + background: $mdb-checkbox-checked-color; + } + + & + .checkbox-material .check:before { + color: #FFFFFF; + box-shadow: 0 0 0 10px, + 10px -10px 0 10px, + 32px 0 0 20px, + 0px 32px 0 20px, + -5px 5px 0 10px, + 20px -12px 0 11px; + @include animation(checkbox-on $mdb-checkbox-animation-check forwards); + } + + & + .checkbox-material:before { + @include animation(rippleOn $mdb-checkbox-animation-ripple); + } + + & + .checkbox-material .check:after { + //background-color: $brand-success; // FIXME: seems like tho wrong color, test and make sure it can be removed + @include animation(rippleOn $mdb-checkbox-animation-ripple forwards); + } + } + + &:not(:checked) { + & + .checkbox-material:before { + @include animation(rippleOff $mdb-checkbox-animation-ripple); + } + + & + .checkbox-material .check:after { + @include animation(rippleOff $mdb-checkbox-animation-ripple); // Ripple effect on uncheck + + } + } + } + + // Style for disabled inputs + fieldset[disabled] &, + fieldset[disabled] & input[type=checkbox], + input[type=checkbox][disabled] ~ .checkbox-material .check, + input[type=checkbox][disabled] + .circle { + opacity: 0.5; + } + + input[type=checkbox][disabled] ~ .checkbox-material .check{ + border-color: #000000; + opacity: .26; + } + + input[type=checkbox][disabled] + .checkbox-material .check:after { + background-color: $mdb-text-color-primary; + transform: rotate(-45deg); + } +} + +@keyframes checkbox-on { + 0% { + box-shadow: + 0 0 0 10px, + 10px -10px 0 10px, + 32px 0 0 20px, + 0px 32px 0 20px, + -5px 5px 0 10px, + 15px 2px 0 11px; + } + 50% { + box-shadow: + 0 0 0 10px, + 10px -10px 0 10px, + 32px 0 0 20px, + 0px 32px 0 20px, + -5px 5px 0 10px, + 20px 2px 0 11px; + } + 100% { + box-shadow: + 0 0 0 10px, + 10px -10px 0 10px, + 32px 0 0 20px, + 0px 32px 0 20px, + -5px 5px 0 10px, + 20px -12px 0 11px; + } +} + +@keyframes rippleOn { + 0% { + opacity: 0; + } + 50% { + opacity: 0.2; + } + 100% { + opacity: 0; + } +} +@keyframes rippleOff { + 0% { + opacity: 0; + } + 50% { + opacity: 0.2; + } + 100% { + opacity: 0; + } +} diff --git a/liste-envies-war/src/main/webapp/css/material-kit/_colors.scss b/liste-envies-war/src/main/webapp/css/material-kit/_colors.scss new file mode 100644 index 00000000..67904ea9 --- /dev/null +++ b/liste-envies-war/src/main/webapp/css/material-kit/_colors.scss @@ -0,0 +1,326 @@ + +$red-50: #ffebee !default; +$red-100: #ffcdd2 !default; +$red-200: #ef9a9a !default; +$red-300: #e57373 !default; +$red-400: #ef5350 !default; +$red-500: #f44336 !default; +$red-600: #e53935 !default; +$red-700: #d32f2f !default; +$red-800: #c62828 !default; +$red-900: #b71c1c !default; +$red-A100: #ff8a80 !default; +$red-A200: #ff5252 !default; +$red-A400: #ff1744 !default; +$red-A700: #d50000 !default; +$red: $red-500 !default; + + +$pink-50: #fce4ec !default; +$pink-100: #f8bbd0 !default; +$pink-200: #f48fb1 !default; +$pink-300: #f06292 !default; +$pink-400: #ec407a !default; +$pink-500: #e91e63 !default; +$pink-600: #d81b60 !default; +$pink-700: #c2185b !default; +$pink-800: #ad1457 !default; +$pink-900: #880e4f !default; +$pink-A100: #ff80ab !default; +$pink-A200: #ff4081 !default; +$pink-A400: #f50057 !default; +$pink-A700: #c51162 !default; +$pink: $pink-500 !default; + + +$purple-50: #f3e5f5 !default; +$purple-100: #e1bee7 !default; +$purple-200: #ce93d8 !default; +$purple-300: #ba68c8 !default; +$purple-400: #ab47bc !default; +$purple-500: #9c27b0 !default; +$purple-600: #8e24aa !default; +$purple-700: #7b1fa2 !default; +$purple-800: #6a1b9a !default; +$purple-900: #4a148c !default; +$purple-A100: #ea80fc !default; +$purple-A200: #e040fb !default; +$purple-A400: #d500f9 !default; +$purple-A700: #aa00ff !default; +$purple: $purple-500 !default; + + +$deep-purple-50: #ede7f6 !default; +$deep-purple-100: #d1c4e9 !default; +$deep-purple-200: #b39ddb !default; +$deep-purple-300: #9575cd !default; +$deep-purple-400: #7e57c2 !default; +$deep-purple-500: #673ab7 !default; +$deep-purple-600: #5e35b1 !default; +$deep-purple-700: #512da8 !default; +$deep-purple-800: #4527a0 !default; +$deep-purple-900: #311b92 !default; +$deep-purple-A100: #b388ff !default; +$deep-purple-A200: #7c4dff !default; +$deep-purple-A400: #651fff !default; +$deep-purple-A700: #6200ea !default; +$deep-purple: $deep-purple-500 !default; + + +$indigo-50: #e8eaf6 !default; +$indigo-100: #c5cae9 !default; +$indigo-200: #9fa8da !default; +$indigo-300: #7986cb !default; +$indigo-400: #5c6bc0 !default; +$indigo-500: #3f51b5 !default; +$indigo-600: #3949ab !default; +$indigo-700: #303f9f !default; +$indigo-800: #283593 !default; +$indigo-900: #1a237e !default; +$indigo-A100: #8c9eff !default; +$indigo-A200: #536dfe !default; +$indigo-A400: #3d5afe !default; +$indigo-A700: #304ffe !default; +$indigo: $indigo-500 !default; + + +$blue-50: #e3f2fd !default; +$blue-100: #bbdefb !default; +$blue-200: #90caf9 !default; +$blue-300: #64b5f6 !default; +$blue-400: #42a5f5 !default; +$blue-500: #2196f3 !default; +$blue-600: #1e88e5 !default; +$blue-700: #1976d2 !default; +$blue-800: #1565c0 !default; +$blue-900: #0d47a1 !default; +$blue-A100: #82b1ff !default; +$blue-A200: #448aff !default; +$blue-A400: #2979ff !default; +$blue-A700: #2962ff !default; +$blue: $blue-500 !default; + + +$light-blue-50: #e1f5fe !default; +$light-blue-100: #b3e5fc !default; +$light-blue-200: #81d4fa !default; +$light-blue-300: #4fc3f7 !default; +$light-blue-400: #29b6f6 !default; +$light-blue-500: #03a9f4 !default; +$light-blue-600: #039be5 !default; +$light-blue-700: #0288d1 !default; +$light-blue-800: #0277bd !default; +$light-blue-900: #01579b !default; +$light-blue-A100: #80d8ff !default; +$light-blue-A200: #40c4ff !default; +$light-blue-A400: #00b0ff !default; +$light-blue-A700: #0091ea !default; +$light-blue: $light-blue-500 !default; + + +$cyan-50: #e0f7fa !default; +$cyan-100: #b2ebf2 !default; +$cyan-200: #80deea !default; +$cyan-300: #4dd0e1 !default; +$cyan-400: #26c6da !default; +$cyan-500: #00bcd4 !default; +$cyan-600: #00acc1 !default; +$cyan-700: #0097a7 !default; +$cyan-800: #00838f !default; +$cyan-900: #006064 !default; +$cyan-A100: #84ffff !default; +$cyan-A200: #18ffff !default; +$cyan-A400: #00e5ff !default; +$cyan-A700: #00b8d4 !default; +$cyan: $cyan-500 !default; + + +$teal-50: #e0f2f1 !default; +$teal-100: #b2dfdb !default; +$teal-200: #80cbc4 !default; +$teal-300: #4db6ac !default; +$teal-400: #26a69a !default; +$teal-500: #009688 !default; +$teal-600: #00897b !default; +$teal-700: #00796b !default; +$teal-800: #00695c !default; +$teal-900: #004d40 !default; +$teal-A100: #a7ffeb !default; +$teal-A200: #64ffda !default; +$teal-A400: #1de9b6 !default; +$teal-A700: #00bfa5 !default; +$teal: $teal-500 !default; + + +$green-50: #e8f5e9 !default; +$green-100: #c8e6c9 !default; +$green-200: #a5d6a7 !default; +$green-300: #81c784 !default; +$green-400: #66bb6a !default; +$green-500: #4caf50 !default; +$green-600: #43a047 !default; +$green-700: #388e3c !default; +$green-800: #2e7d32 !default; +$green-900: #1b5e20 !default; +$green-A100: #b9f6ca !default; +$green-A200: #69f0ae !default; +$green-A400: #00e676 !default; +$green-A700: #00c853 !default; +$green: $green-500 !default; + + +$light-green-50: #f1f8e9 !default; +$light-green-100: #dcedc8 !default; +$light-green-200: #c5e1a5 !default; +$light-green-300: #aed581 !default; +$light-green-400: #9ccc65 !default; +$light-green-500: #8bc34a !default; +$light-green-600: #7cb342 !default; +$light-green-700: #689f38 !default; +$light-green-800: #558b2f !default; +$light-green-900: #33691e !default; +$light-green-A100: #ccff90 !default; +$light-green-A200: #b2ff59 !default; +$light-green-A400: #76ff03 !default; +$light-green-A700: #64dd17 !default; +$light-green: $light-green-500 !default; + + +$lime-50: #f9fbe7 !default; +$lime-100: #f0f4c3 !default; +$lime-200: #e6ee9c !default; +$lime-300: #dce775 !default; +$lime-400: #d4e157 !default; +$lime-500: #cddc39 !default; +$lime-600: #c0ca33 !default; +$lime-700: #afb42b !default; +$lime-800: #9e9d24 !default; +$lime-900: #827717 !default; +$lime-A100: #f4ff81 !default; +$lime-A200: #eeff41 !default; +$lime-A400: #c6ff00 !default; +$lime-A700: #aeea00 !default; +$lime: $lime-500 !default; + + +$yellow-50: #fffde7 !default; +$yellow-100: #fff9c4 !default; +$yellow-200: #fff59d !default; +$yellow-300: #fff176 !default; +$yellow-400: #ffee58 !default; +$yellow-500: #fec60a !default; +$yellow-600: #fdd835 !default; +$yellow-700: #fbc02d !default; +$yellow-800: #f9a825 !default; +$yellow-900: #f57f17 !default; +$yellow-A100: #ffff8d !default; +$yellow-A200: #ffff00 !default; +$yellow-A400: #ffea00 !default; +$yellow-A700: #ffd600 !default; +$yellow: $yellow-700 !default; + + +$amber-50: #fff8e1 !default; +$amber-100: #ffecb3 !default; +$amber-200: #ffe082 !default; +$amber-300: #ffd54f !default; +$amber-400: #ffca28 !default; +$amber-500: #ffc107 !default; +$amber-600: #ffb300 !default; +$amber-700: #ffa000 !default; +$amber-800: #ff8f00 !default; +$amber-900: #ff6f00 !default; +$amber-A100: #ffe57f !default; +$amber-A200: #ffd740 !default; +$amber-A400: #ffc400 !default; +$amber-A700: #ffab00 !default; +$amber: $amber-500 !default; + + +$orange-50: #fff3e0 !default; +$orange-100: #ffe0b2 !default; +$orange-200: #ffcc80 !default; +$orange-300: #ffb74d !default; +$orange-400: #ffa726 !default; +$orange-500: #ff9800 !default; +$orange-600: #fb8c00 !default; +$orange-700: #f57c00 !default; +$orange-800: #ef6c00 !default; +$orange-900: #e65100 !default; +$orange-A100: #ffd180 !default; +$orange-A200: #ffab40 !default; +$orange-A400: #ff9100 !default; +$orange-A700: #ff6d00 !default; +$orange: $orange-500 !default; + + +$deep-orange-50: #fbe9e7 !default; +$deep-orange-100: #ffccbc !default; +$deep-orange-200: #ffab91 !default; +$deep-orange-300: #ff8a65 !default; +$deep-orange-400: #ff7043 !default; +$deep-orange-500: #ff5722 !default; +$deep-orange-600: #f4511e !default; +$deep-orange-700: #e64a19 !default; +$deep-orange-800: #d84315 !default; +$deep-orange-900: #bf360c !default; +$deep-orange-A100: #ff9e80 !default; +$deep-orange-A200: #ff6e40 !default; +$deep-orange-A400: #ff3d00 !default; +$deep-orange-A700: #dd2c00 !default; +$deep-orange: $deep-orange-500 !default; + + +$brown-50: #efebe9 !default; +$brown-100: #d7ccc8 !default; +$brown-200: #bcaaa4 !default; +$brown-300: #a1887f !default; +$brown-400: #8d6e63 !default; +$brown-500: #795548 !default; +$brown-600: #6d4c41 !default; +$brown-700: #5d4037 !default; +$brown-800: #4e342e !default; +$brown-900: #3e2723 !default; +$brown-A100: #d7ccc8 !default; +$brown-A200: #bcaaa4 !default; +$brown-A400: #8d6e63 !default; +$brown-A700: #5d4037 !default; +$brown: $brown-500 !default; + + +$grey-50: #fafafa !default; +$grey-100: #f5f5f5 !default; +$grey-200: #eeeeee !default; +$grey-300: #e0e0e0 !default; +$grey-400: #bdbdbd !default; +$grey-500: #9e9e9e; $rgb-grey-500: "158, 158, 158" !default; +$grey-600: #757575 !default; +$grey-700: #616161 !default; +$grey-800: #424242 !default; +$grey-900: #212121 !default; +$grey-A100: #f5f5f5 !default; +$grey-A200: #eeeeee !default; +$grey-A400: #bdbdbd !default; +$grey-A700: #616161 !default; +$grey: $grey-500 !default; + + +$blue-grey-50: #eceff1 !default; +$blue-grey-100: #cfd8dc !default; +$blue-grey-200: #b0bec5 !default; +$blue-grey-300: #90a4ae !default; +$blue-grey-400: #78909c !default; +$blue-grey-500: #607d8b !default; +$blue-grey-600: #546e7a !default; +$blue-grey-700: #455a64 !default; +$blue-grey-800: #37474f !default; +$blue-grey-900: #263238 !default; +$blue-grey-A100: #cfd8dc !default; +$blue-grey-A200: #b0bec5 !default; +$blue-grey-A400: #78909c !default; +$blue-grey-A700: #455a64 !default; +$blue-grey: $blue-grey-500 !default; + + +$black: #000000; $rgb-black: "0,0,0" !default; +$white: #ffffff; $rgb-white: "255,255,255" !default; diff --git a/liste-envies-war/src/main/webapp/css/material-kit/_core.scss b/liste-envies-war/src/main/webapp/css/material-kit/_core.scss new file mode 100644 index 00000000..986d480f --- /dev/null +++ b/liste-envies-war/src/main/webapp/css/material-kit/_core.scss @@ -0,0 +1,115 @@ +// This file has been autogenerated by grunt task lessToSass. Any changes will be overwritten. + +body { + background-color: #CCCCCC; + &.inverse { + background: #333333; + &, .form-control { + color: $mdb-text-color-light; + } + .modal, + .panel-default, + .card { + &, + .form-control { + background-color: initial; + color: initial; + } + } + + } +} + +.life-of-material-kit{ + background: #FFFFFF; +} +body, h1, h2, h3, h4, h5, h6, .h1, .h2, .h3, .h4 { + font-family: $font-family-sans-serif; + font-weight: 300; + line-height: 1.5em; +} + +a, a:hover, a:focus { + color: $link-color; + + & .material-icons { + vertical-align: middle; + } +} + +/* Animations */ + +.animation-transition-general{ + @include transition($general-transition-time, $transition-linear); +} + +.animation-transition-slow{ + @include transition($slow-transition-time, $transition-linear); +} + +.animation-transition-fast{ + @include transition($fast-transition-time, $transition-ease); +} + +@import '_form'; +//@import '_welljumbo'; // Not designed yet by Creative Tim, you can use it as it is +@import '_buttons'; +@import '_checkboxes'; +@import '_togglebutton'; +@import '_radios'; +@import '_inputs'; +@import '_pagination'; +@import '_labels'; +@import '_pills'; +@import '_footers'; + +legend { + border-bottom: 0; +} + +//@import '_lists'; // Not designed yet by Creative Tim, you can use it as it is +@import '_navbar'; + +@import '_dropdown'; +@import '_info-areas'; +@import '_alerts'; +@import '_progress'; +@import '_typography'; +@import '_tabs'; +@import '_popups'; +@import '_carousel'; +@import '_cards'; +@import '_dialogs'; +@import '_panels'; +@import '_dividers'; + +@import '_images'; + + +// Prevent highlight on mobile +* { + -webkit-tap-highlight-color: rgba(255, 255, 255, 0); + -webkit-tap-highlight-color: transparent; + &:focus { + outline: 0; + } +} +a:focus, a:active, +button:active, button:focus, button:hover, +button::-moz-focus-inner, +input[type="reset"]::-moz-focus-inner, +input[type="button"]::-moz-focus-inner, +input[type="submit"]::-moz-focus-inner, +select::-moz-focus-inner, +input[type="file"] > input[type="button"]::-moz-focus-inner { + outline : 0 !important; +} + +@import '_sections'; + +// External plugins +// @import 'plugins/_plugin-snackbarjs'; // Not designed yet by Creative Tim, you can use it as it is +@import 'plugins/_plugin-nouislider'; +//@import 'plugins/_plugin-selectize'; // Not designed yet by Creative Tim, you can use it as it is +@import 'plugins/_plugin-dropdownjs'; +@import 'plugins/_plugin-datepicker'; diff --git a/liste-envies-war/src/main/webapp/css/material-kit/_dialogs.scss b/liste-envies-war/src/main/webapp/css/material-kit/_dialogs.scss new file mode 100644 index 00000000..5ad9fc30 --- /dev/null +++ b/liste-envies-war/src/main/webapp/css/material-kit/_dialogs.scss @@ -0,0 +1,69 @@ +// This file has been autogenerated by grunt task lessToSass. Any changes will be overwritten. + +// +// Modals +// Material Design element Dialogs +// -------------------------------------------------- +.modal-content { + @include shadow-z-5(); + border-radius: $border-radius-base; + border: none; + // Modal header + // Top section of the modal w/ title and dismiss + .modal-header { + border-bottom: none; + padding-top: 24px; + padding-right: 24px; + padding-bottom: 0; + padding-left: 24px; + } + // Modal body + // Where all modal content resides (sibling of .modal-header and .modal-footer) + .modal-body { + padding-top: 24px; + padding-right: 24px; + padding-bottom: 16px; + padding-left: 24px; + } + // Footer (for actions) + .modal-footer { + border-top: none; + padding: 7px; + button { + margin: 0; + padding-left: 16px; + padding-right: 16px; + width: auto; + &.pull-left { + padding-left: 5px; + padding-right: 5px; + position: relative; + left: -5px; + } + } + button+button { + margin-bottom: 16px; + } + } + .modal-body + .modal-footer { + padding-top: 0; + } +} +.modal-backdrop { + background: rgba(0,0,0,0.3); +} + +.modal{ + .modal-dialog{ + margin-top: 100px; + } + .modal-header .close{ + color: $gray; + + &:hover, + &:focus{ + opacity: 1; + color: $gray; + } + } +} diff --git a/liste-envies-war/src/main/webapp/css/material-kit/_dividers.scss b/liste-envies-war/src/main/webapp/css/material-kit/_dividers.scss new file mode 100644 index 00000000..45d1d09c --- /dev/null +++ b/liste-envies-war/src/main/webapp/css/material-kit/_dividers.scss @@ -0,0 +1,73 @@ +// This file has been autogenerated by grunt task lessToSass. Any changes will be overwritten. + +hr { + &.on-dark { + color: lighten($black, 10%); + } + + &.on-light { + color: lighten($white, 10%); + } + + @media (-webkit-min-device-pixel-ratio: 0.75), + (min--moz-device-pixel-ratio: 0.75), + (-o-device-pixel-ratio: 3/4), + (min-device-pixel-ratio: 0.75), + (min-resolution: 0.75dppx), + (min-resolution: 120dpi) { + height:0.75px; + } + + @media (-webkit-min-device-pixel-ratio: 1), + (min--moz-device-pixel-ratio: 1), + (-o-device-pixel-ratio: 1), + (min-device-pixel-ratio: 1), + (min-resolution: 1dppx), + (min-resolution: 160dpi) { + height:1px; + } + @media (-webkit-min-device-pixel-ratio: 1.33), + (min--moz-device-pixel-ratio: 1.33), + (-o-device-pixel-ratio: 133/100), + (min-device-pixel-ratio: 1.33), + (min-resolution: 1.33dppx), + (min-resolution: 213dpi) { + height:1.333px; + } + @media (-webkit-min-device-pixel-ratio: 1.5), + (min--moz-device-pixel-ratio: 1.5), + (-o-device-pixel-ratio: 3/2), + (min-device-pixel-ratio: 1.5), + (min-resolution: 1.5dppx), + (min-resolution: 240dpi) { + height:1.5px; + } + + @media (-webkit-min-device-pixel-ratio: 2), + (min--moz-device-pixel-ratio: 2), + (-o-device-pixel-ratio: 2/1), + (min-device-pixel-ratio: 2), + (min-resolution: 2dppx), + (min-resolution: 380dpi) { + height:2px; + } + + @media (-webkit-min-device-pixel-ratio: 3), + (min--moz-device-pixel-ratio: 3), + (-o-device-pixel-ratio: 3/1), + (min-device-pixel-ratio: 3), + (min-resolution: 3dppx), + (min-resolution: 480dpi) { + height:3px; + } + + @media (-webkit-min-device-pixel-ratio: 4), + (min--moz-device-pixel-ratio: 4), + (-o-device-pixel-ratio: 4/1), + (min-device-pixel-ratio: 3), + (min-resolution: 4dppx), + (min-resolution: 640dpi) { + height:4px; + } + +} diff --git a/liste-envies-war/src/main/webapp/css/material-kit/_dropdown.scss b/liste-envies-war/src/main/webapp/css/material-kit/_dropdown.scss new file mode 100644 index 00000000..19e1a9b4 --- /dev/null +++ b/liste-envies-war/src/main/webapp/css/material-kit/_dropdown.scss @@ -0,0 +1,58 @@ +.dropdown-menu { + border: 0; + box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.26); + + .divider { + background-color: rgba(0, 0, 0, .12); + } + + + li > a{ + font-size: $mdb-dropdown-font-size; + padding: 10px 20px; + margin: 0 5px; + border-radius: $border-radius-small; + @include transition($fast-transition-time, $transition-linear); + + &:hover, + &:focus { + @include shadow-8dp(); + + } + } + + li { + position: relative; + a:hover, + a:focus, + a:active { + background-color: $brand-primary; + color: #FFFFFF; + } + } + + .divider{ + margin: 5px 0; + } +} + +@media (min-width: $screen-md-min){ + .dropdown{ + .dropdown-menu{ + @include transition($fast-transition-time, $transition-linear); + margin-top: -20px; + opacity: 0; + visibility: hidden; + display: block; + } + + &.open{ + .dropdown-menu{ + opacity: 1; + visibility: visible; + margin-top: 1px; + } + } + } + +} diff --git a/liste-envies-war/src/main/webapp/css/material-kit/_example-pages.scss b/liste-envies-war/src/main/webapp/css/material-kit/_example-pages.scss new file mode 100644 index 00000000..fa836908 --- /dev/null +++ b/liste-envies-war/src/main/webapp/css/material-kit/_example-pages.scss @@ -0,0 +1,236 @@ +.wrapper > .header{ + min-height: 300px; + background-position: center center; + background-size: cover; +} +.main{ + background: #FFFFFF; + position: relative; + z-index: 3; + +} +.main-raised{ + margin: -60px 30px 0px; + border-radius: $border-radius-base * 2; + @include shadow-16dp(); +} + +.title{ + font-weight: $font-weight-bold; + color: $black-color; +} +h2.title{ + margin-bottom: $margin-base * 2; +} +.description{ + color: $gray-light; +} + +// general style for example pages +.header-filter{ + position: relative; + + &:after{ + position: absolute; + z-index: 1; + width: 100%; + height: 100%; + display: block; + left: 0; + top: 0; + content: ""; + background-color: rgba(0,0,0,.4); + } + + .container{ + z-index: 2; + position: relative; + } +} +.gallery{ + .image{ + img{ + width: 100%; + } + } +} +.features{ + padding: 80px 0 0; +} + +.team{ + margin-top: 80px; + + .team-player{ + .title{ + margin: $margin-base * 2 auto; + } + img{ + max-width: 170px; + } + } +} +.nav-align-center{ + text-align: center; + + .nav-pills{ + display: inline-block; + } +} +.navbar-absolute{ + position: absolute; + width: 100%; + padding-top: 10px; + z-index: 1031; +} + +.index-page{ + .wrapper > .header{ + height: 90vh; + } + .brand{ + margin-top: 30vh; + color: #FFFFFF; + text-align: center; + + h1{ + font-size: 4.8em; + font-weight: 600; + } + h3{ + font-size: 1.5em; + text-transform: uppercase; + max-width: 400px; + margin: 10px auto 0; + } + } + .section-basic{ + padding-top: 15px; + } + .header-filter:after{ + background: rgba(101, 47, 142, 0.64); + background: linear-gradient(45deg, rgba(101, 47, 142, 0.88) 0%, rgba(125, 46, 185, 0.45) 100%); + background: -moz-linear-gradient(135deg, rgba(101, 47, 142, 0.88) 0%, rgba(125, 46, 185, 0.45) 100%); + background: -webkit-linear-gradient(135deg, rgba(101, 47, 142, 0.88) 0%, rgba(125, 46, 185, 0.45) 100%); + + } +} + +// style for the landing page +.landing-page{ + + .header{ + height: 100vh; + + .container{ + padding-top: 26vh; + color: #FFFFFF; + } + + .share{ + margin-top: 150px; + } + h1{ + font-weight: 600; + } + .title{ + color: $white-color; + } + } + + .wrapper{ + background: #CCCCCC; + } +} + +// style for the profile page + +.profile-page{ + .header{ + height: 380px; + background-position: top center; + } + .profile{ + text-align: center; + + img{ + max-width: 160px; + margin: -80px auto 0; + } + } + .description{ + margin: $margin-base * 2 auto 0; + max-width: 600px; + } + .profile-tabs{ + margin-top: $margin-base * 4; + } + .gallery{ + margin-top: $margin-base * 3; + padding-bottom: 50px; + + img{ + width: 100%; + margin-bottom: $margin-base * 2; + } + } +} + +.signup-page{ + .wrapper{ + > .header{ + min-height: 100vh; + } + .card-signup{ + margin: 160px 0 40px; + } + } + .footer{ + .copyright, + a{ + color: #FFFFFF; + } + } +} +.landing-page, +.profile-page, +.signup-page, +.index-page{ + .navbar-transparent{ + padding-top: 25px; + } +} + +@media (max-width: 991px){ + .landing-page .header{ + height: auto; + min-height: 100vh; + + .container{ + padding-bottom: 70px + } + } +} +@media (max-width: 768px){ + .footer{ + .copyright{ + display: inline-block; + text-align: center; + padding: 10px 0; + float: none !important; + width: 100%; + + } + } + + .navbar.navbar-transparent{ + background-color: rgba(0,0,0,.4); + padding-top: 10px; + border-radius: 0; + } + + .main-raised{ + margin-left: 10px; + margin-right: 10px; + } +} diff --git a/liste-envies-war/src/main/webapp/css/material-kit/_footers.scss b/liste-envies-war/src/main/webapp/css/material-kit/_footers.scss new file mode 100644 index 00000000..5883185d --- /dev/null +++ b/liste-envies-war/src/main/webapp/css/material-kit/_footers.scss @@ -0,0 +1,38 @@ +footer{ + padding: $padding-base 0; + + ul{ + margin-bottom: 0; + padding: 0; + list-style: none; + + li{ + display: inline-block; + + a{ + color: inherit; + padding: $padding-base; + font-weight: $font-weight-bold; + font-size: $mdb-btn-font-size-base; + text-transform: uppercase; + border-radius: $border-radius-base; + text-decoration: none; + position: relative; + display: block; + + &:hover{ + text-decoration: none; + } + } + } + } + + .copyright{ + padding: 15px 0; + .material-icons{ + font-size: 18px; + position: relative; + top: 3px; + } + } +} diff --git a/liste-envies-war/src/main/webapp/css/material-kit/_form.scss b/liste-envies-war/src/main/webapp/css/material-kit/_form.scss new file mode 100644 index 00000000..ec8f0184 --- /dev/null +++ b/liste-envies-war/src/main/webapp/css/material-kit/_form.scss @@ -0,0 +1,42 @@ +// This file has been autogenerated by grunt task lessToSass. Any changes will be overwritten. + +@mixin mdb-label-color-toggle-focus(){ + // override bootstrap focus and keep all the standard color (could be multiple radios in the form group) + .form-group.is-focused & { + color: $mdb-label-color; + + // on focus just darken the specific labels, do not turn them to the brand-primary + &:hover, + &:focus { + color: $mdb-label-color-toggle-focus; + } + + // correct the above focus color for disabled items + fieldset[disabled] & { + color: $mdb-label-color; + } + } +} + +.form-horizontal { + + // Consistent vertical alignment of radios and checkboxes + .radio, + .checkbox, + .radio-inline, + .checkbox-inline { + padding-top: 0; + } + + .radio { + margin-bottom: 10px; + } + + label { + text-align: right; + } + + label.control-label { + margin: 0; + } +} diff --git a/liste-envies-war/src/main/webapp/css/material-kit/_images.scss b/liste-envies-war/src/main/webapp/css/material-kit/_images.scss new file mode 100644 index 00000000..293417b3 --- /dev/null +++ b/liste-envies-war/src/main/webapp/css/material-kit/_images.scss @@ -0,0 +1,6 @@ +.img-thumbnail{ + border-radius: 16px; +} +.img-raised{ + @include shadow-big(); +} diff --git a/liste-envies-war/src/main/webapp/css/material-kit/_import-bs-less.scss b/liste-envies-war/src/main/webapp/css/material-kit/_import-bs-less.scss new file mode 100644 index 00000000..9207c5da --- /dev/null +++ b/liste-envies-war/src/main/webapp/css/material-kit/_import-bs-less.scss @@ -0,0 +1,4 @@ +// hack due to differences between sass and less variable loading +// Less lazy loads, Sass doesn't. http://lesscss.org/features/#variables-feature-lazy-loading + +// do nothing here for sass. diff --git a/liste-envies-war/src/main/webapp/css/material-kit/_import-bs-sass.scss b/liste-envies-war/src/main/webapp/css/material-kit/_import-bs-sass.scss new file mode 100644 index 00000000..7550b186 --- /dev/null +++ b/liste-envies-war/src/main/webapp/css/material-kit/_import-bs-sass.scss @@ -0,0 +1,2 @@ +@import "variables_bootstrap"; +//@import "../bower_components/bootstrap-sass/assets/stylesheets/bootstrap/mixins"; diff --git a/liste-envies-war/src/main/webapp/css/material-kit/_info-areas.scss b/liste-envies-war/src/main/webapp/css/material-kit/_info-areas.scss new file mode 100644 index 00000000..611ac9e3 --- /dev/null +++ b/liste-envies-war/src/main/webapp/css/material-kit/_info-areas.scss @@ -0,0 +1,38 @@ +.info{ + max-width: 360px; + margin: 0 auto; + padding: 70px 0 30px; + + .icon{ + color: $gray-color; + + > i{ + font-size: 4.4em; + } + } + .info-title{ + color: $black-color; + margin: $margin-base * 2 0 $margin-base; + } + p{ + color: $gray-color; + } +} + +.icon{ + &.icon-primary{ + color: $brand-primary; + } + &.icon-info{ + color: $brand-info; + } + &.icon-success{ + color: $brand-success; + } + &.icon-warning{ + color: $brand-warning; + } + &.icon-danger{ + color: $brand-danger; + } +} diff --git a/liste-envies-war/src/main/webapp/css/material-kit/_inputs-size.scss b/liste-envies-war/src/main/webapp/css/material-kit/_inputs-size.scss new file mode 100644 index 00000000..c86338cc --- /dev/null +++ b/liste-envies-war/src/main/webapp/css/material-kit/_inputs-size.scss @@ -0,0 +1,223 @@ +// This file has been autogenerated by grunt task lessToSass. Any changes will be overwritten. + +// +// Forms - sizing - material - mirrors bootstrap/forms.less with custom sizing +// +// LEAVE THIS IDENTICAL TO THE BOOTSTRAP FILE - DO NOT CUSTOMIZE HERE. +// +// NOTE: this is intentionally kept structurally _identical_ to the bootstrap/forms.less file to make it easier +// to identify differences in sizing approaches to form inputs. +// -------------------------------------------------- + +legend { + margin-bottom: $mdb-input-line-height-computed; + font-size: ($mdb-input-font-size-base * 1.5); +} + +// Adjust output element +output { + padding-top: ($mdb-input-padding-base-vertical + 1); + font-size: $mdb-input-font-size-base; + line-height: $mdb-input-line-height-base; +} + +.form-control { + height: $mdb-input-height-base; // Make inputs at least the height of their button counterpart (base line-height + padding + border) + padding: $mdb-input-padding-base-vertical $mdb-input-padding-base-horizontal; + font-size: $mdb-input-font-size-base; + line-height: $mdb-input-line-height-base; +} + +// Special styles for iOS temporal inputs +// +// In Mobile Safari, setting `display: block` on temporal inputs causes the +// text within the input to become vertically misaligned. As a workaround, we +// set a pixel line-height that matches the given height of the input, but only +// for Safari. See https://bugs.webkit.org/show_bug.cgi?id=139848 +// +// Note that as of 8.3, iOS doesn't support `datetime` or `week`. + +@media screen and (-webkit-min-device-pixel-ratio: 0) { + input[type="date"], + input[type="time"], + input[type="datetime-local"], + input[type="month"] { + &.form-control { + line-height: $mdb-input-height-base; + } + + &.input-sm, + .input-group-sm & { + line-height: $mdb-input-height-small; + } + + &.input-lg, + .input-group-lg & { + line-height: $mdb-input-height-large; + } + } +} + +.radio, +.checkbox { + + label { + min-height: $mdb-input-line-height-computed; // Ensure the input doesn't jump when there is no text + } +} + + +// Static form control text +// +// Apply class to a `p` element to make any string of text align with labels in +// a horizontal form layout. + +.form-control-static { + // Size it appropriately next to real form controls + padding-top: ($mdb-input-padding-base-vertical + 1); + padding-bottom: ($mdb-input-padding-base-vertical + 1); + min-height: ($mdb-input-line-height-computed + $mdb-input-font-size-base); +} + + +// Form control sizing +// +// Relative text size, padding, and border-radii changes for form controls. For +// horizontal sizing, wrap controls in the predefined grid classes. `` background color +$input-bg: #fff !default; +//** `` background color +$input-bg-disabled: $gray-lighter !default; + +//** Text color for ``s +$input-color: $gray !default; +//** `` border color +$input-border: #ccc !default; + +// TODO: Rename `$input-border-radius` to `$input-border-radius-base` in v4 +//** Default `.form-control` border radius +// This has no effect on ``s in CSS. +$input-border-radius: $border-radius-base !default; +//** Large `.form-control` border radius +$input-border-radius-large: $border-radius-large !default; +//** Small `.form-control` border radius +$input-border-radius-small: $border-radius-small !default; + +//** Border color for inputs on focus +$input-border-focus: #66afe9 !default; + +//** Placeholder text color +$input-color-placeholder: #999 !default; + +//** Default `.form-control` height +$input-height-base: ($line-height-computed + ($padding-base-vertical * 2) + 2) !default; +//** Large `.form-control` height +$input-height-large: (ceil($font-size-large * $line-height-large) + ($padding-large-vertical * 2) + 2) !default; +//** Small `.form-control` height +$input-height-small: (floor($font-size-small * $line-height-small) + ($padding-small-vertical * 2) + 2) !default; + +//** `.form-group` margin +$form-group-margin-bottom: 15px !default; + +$legend-color: $gray-dark !default; +$legend-border-color: #e5e5e5 !default; + +//** Background color for textual input addons +$input-group-addon-bg: $gray-lighter !default; +//** Border color for textual input addons +$input-group-addon-border-color: $input-border !default; + +//** Disabled cursor for form controls and buttons. +$cursor-disabled: not-allowed !default; + + +//== Dropdowns +// +//## Dropdown menu container and contents. + +//** Background for the dropdown menu. +$dropdown-bg: #fff !default; +//** Dropdown menu `border-color`. +$dropdown-border: rgba(0,0,0,.15) !default; +//** Dropdown menu `border-color` **for IE8**. +$dropdown-fallback-border: #ccc !default; +//** Divider color for between dropdown items. +$dropdown-divider-bg: #e5e5e5 !default; + +//** Dropdown link text color. +$dropdown-link-color: $gray-dark !default; +//** Hover color for dropdown links. +$dropdown-link-hover-color: darken($gray-dark, 5%) !default; +//** Hover background for dropdown links. +$dropdown-link-hover-bg: #f5f5f5 !default; + +//** Active dropdown menu item text color. +$dropdown-link-active-color: $component-active-color !default; +//** Active dropdown menu item background color. +$dropdown-link-active-bg: $component-active-bg !default; + +//** Disabled dropdown menu item background color. +$dropdown-link-disabled-color: $gray-light !default; + +//** Text color for headers within dropdown menus. +$dropdown-header-color: $gray-light !default; + +//** Deprecated `$dropdown-caret-color` as of v3.1.0 +$dropdown-caret-color: #000 !default; + + +//-- Z-index master list +// +// Warning: Avoid customizing these values. They're used for a bird's eye view +// of components dependent on the z-axis and are designed to all work together. +// +// Note: These variables are not generated into the Customizer. + +$zindex-navbar: 1000 !default; +$zindex-dropdown: 1000 !default; +$zindex-popover: 1060 !default; +$zindex-tooltip: 1070 !default; +$zindex-navbar-fixed: 1030 !default; +$zindex-modal-background: 1040 !default; +$zindex-modal: 1050 !default; + + +//== Media queries breakpoints +// +//## Define the breakpoints at which your layout will change, adapting to different screen sizes. + +// Extra small screen / phone +//** Deprecated `$screen-xs` as of v3.0.1 +$screen-xs: 480px !default; +//** Deprecated `$screen-xs-min` as of v3.2.0 +$screen-xs-min: $screen-xs !default; +//** Deprecated `$screen-phone` as of v3.0.1 +$screen-phone: $screen-xs-min !default; + +// Small screen / tablet +//** Deprecated `$screen-sm` as of v3.0.1 +$screen-sm: 768px !default; +$screen-sm-min: $screen-sm !default; +//** Deprecated `$screen-tablet` as of v3.0.1 +$screen-tablet: $screen-sm-min !default; + +// Medium screen / desktop +//** Deprecated `$screen-md` as of v3.0.1 +$screen-md: 992px !default; +$screen-md-min: $screen-md !default; +//** Deprecated `$screen-desktop` as of v3.0.1 +$screen-desktop: $screen-md-min !default; + +// Large screen / wide desktop +//** Deprecated `$screen-lg` as of v3.0.1 +$screen-lg: 1200px !default; +$screen-lg-min: $screen-lg !default; +//** Deprecated `$screen-lg-desktop` as of v3.0.1 +$screen-lg-desktop: $screen-lg-min !default; + +// So media queries don't overlap when required, provide a maximum +$screen-xs-max: ($screen-sm-min - 1) !default; +$screen-sm-max: ($screen-md-min - 1) !default; +$screen-md-max: ($screen-lg-min - 1) !default; + + +//== Grid system +// +//## Define your custom responsive grid. + +//** Number of columns in the grid. +$grid-columns: 12 !default; +//** Padding between columns. Gets divided in half for the left and right. +$grid-gutter-width: 30px !default; +// Navbar collapse +//** Point at which the navbar becomes uncollapsed. +$grid-float-breakpoint: $screen-sm-min !default; +//** Point at which the navbar begins collapsing. +$grid-float-breakpoint-max: ($grid-float-breakpoint - 1) !default; + + +//== Container sizes +// +//## Define the maximum width of `.container` for different screen sizes. + +// Small screen / tablet +$container-tablet: (720px + $grid-gutter-width) !default; +//** For `$screen-sm-min` and up. +$container-sm: $container-tablet !default; + +// Medium screen / desktop +$container-desktop: (940px + $grid-gutter-width) !default; +//** For `$screen-md-min` and up. +$container-md: $container-desktop !default; + +// Large screen / wide desktop +$container-large-desktop: (1140px + $grid-gutter-width) !default; +//** For `$screen-lg-min` and up. +$container-lg: $container-large-desktop !default; + + +//== Navbar +// +//## + +// Basics of a navbar +$navbar-height: 50px !default; +$navbar-margin-bottom: $line-height-computed !default; +$navbar-border-radius: $border-radius-base !default; +$navbar-padding-horizontal: floor(($grid-gutter-width / 2)) !default; +$navbar-padding-vertical: (($navbar-height - $line-height-computed) / 2) !default; +$navbar-collapse-max-height: 340px !default; + +$navbar-default-color: #777 !default; +$navbar-default-bg: #f8f8f8 !default; +$navbar-default-border: darken($navbar-default-bg, 6.5%) !default; + +// Navbar links +$navbar-default-link-color: #777 !default; +$navbar-default-link-hover-color: #333 !default; +$navbar-default-link-hover-bg: transparent !default; +$navbar-default-link-active-color: #555 !default; +$navbar-default-link-active-bg: darken($navbar-default-bg, 6.5%) !default; +$navbar-default-link-disabled-color: #ccc !default; +$navbar-default-link-disabled-bg: transparent !default; + +// Navbar brand label +$navbar-default-brand-color: $navbar-default-link-color !default; +$navbar-default-brand-hover-color: darken($navbar-default-brand-color, 10%) !default; +$navbar-default-brand-hover-bg: transparent !default; + +// Navbar toggle +$navbar-default-toggle-hover-bg: #ddd !default; +$navbar-default-toggle-icon-bar-bg: #888 !default; +$navbar-default-toggle-border-color: #ddd !default; + + +//=== Inverted navbar +// Reset inverted navbar basics +$navbar-inverse-color: lighten($gray-light, 15%) !default; +$navbar-inverse-bg: #222 !default; +$navbar-inverse-border: darken($navbar-inverse-bg, 10%) !default; + +// Inverted navbar links +$navbar-inverse-link-color: lighten($gray-light, 15%) !default; +$navbar-inverse-link-hover-color: #fff !default; +$navbar-inverse-link-hover-bg: transparent !default; +$navbar-inverse-link-active-color: $navbar-inverse-link-hover-color !default; +$navbar-inverse-link-active-bg: darken($navbar-inverse-bg, 10%) !default; +$navbar-inverse-link-disabled-color: #444 !default; +$navbar-inverse-link-disabled-bg: transparent !default; + +// Inverted navbar brand label +$navbar-inverse-brand-color: $navbar-inverse-link-color !default; +$navbar-inverse-brand-hover-color: #fff !default; +$navbar-inverse-brand-hover-bg: transparent !default; + +// Inverted navbar toggle +$navbar-inverse-toggle-hover-bg: #333 !default; +$navbar-inverse-toggle-icon-bar-bg: #fff !default; +$navbar-inverse-toggle-border-color: #333 !default; + + +//== Navs +// +//## + +//=== Shared nav styles +$nav-link-padding: 10px 15px !default; +$nav-link-hover-bg: $gray-lighter !default; + +$nav-disabled-link-color: $gray-light !default; +$nav-disabled-link-hover-color: $gray-light !default; + +//== Tabs +$nav-tabs-border-color: #ddd !default; + +$nav-tabs-link-hover-border-color: $gray-lighter !default; + +$nav-tabs-active-link-hover-bg: $body-bg !default; +$nav-tabs-active-link-hover-color: $gray !default; +$nav-tabs-active-link-hover-border-color: #ddd !default; + +$nav-tabs-justified-link-border-color: #ddd !default; +$nav-tabs-justified-active-link-border-color: $body-bg !default; + +//== Pills +$nav-pills-border-radius: $border-radius-base !default; +$nav-pills-active-link-hover-bg: $component-active-bg !default; +$nav-pills-active-link-hover-color: $component-active-color !default; + + +//== Pagination +// +//## + +$pagination-color: $link-color !default; +$pagination-bg: #fff !default; +$pagination-border: #ddd !default; + +$pagination-hover-color: $link-hover-color !default; +$pagination-hover-bg: $gray-lighter !default; +$pagination-hover-border: #ddd !default; + +$pagination-active-color: #fff !default; +$pagination-active-bg: $brand-primary !default; +$pagination-active-border: $brand-primary !default; + +$pagination-disabled-color: $gray-light !default; +$pagination-disabled-bg: #fff !default; +$pagination-disabled-border: #ddd !default; + + +//== Pager +// +//## + +$pager-bg: $pagination-bg !default; +$pager-border: $pagination-border !default; +$pager-border-radius: 15px !default; + +$pager-hover-bg: $pagination-hover-bg !default; + +$pager-active-bg: $pagination-active-bg !default; +$pager-active-color: $pagination-active-color !default; + +$pager-disabled-color: $pagination-disabled-color !default; + + +//== Jumbotron +// +//## + +$jumbotron-padding: 30px !default; +$jumbotron-color: inherit !default; +$jumbotron-bg: $gray-lighter !default; +$jumbotron-heading-color: inherit !default; +$jumbotron-font-size: ceil(($font-size-base * 1.5)) !default; +$jumbotron-heading-font-size: ceil(($font-size-base * 4.5)) !default; + + +//== Form states and alerts +// +//## Define colors for form feedback states and, by default, alerts. + +$state-success-text: #3c763d !default; +$state-success-bg: #dff0d8 !default; +$state-success-border: darken(adjust-hue($state-success-bg, -10), 5%) !default; + +$state-info-text: #31708f !default; +$state-info-bg: #d9edf7 !default; +$state-info-border: darken(adjust-hue($state-info-bg, -10), 7%) !default; + +$state-warning-text: #8a6d3b !default; +$state-warning-bg: #fcf8e3 !default; +$state-warning-border: darken(adjust-hue($state-warning-bg, -10), 5%) !default; + +$state-danger-text: #a94442 !default; +$state-danger-bg: #f2dede !default; +$state-danger-border: darken(adjust-hue($state-danger-bg, -10), 5%) !default; + + +//== Tooltips +// +//## + +//** Tooltip max width +$tooltip-max-width: 200px !default; +//** Tooltip text color +$tooltip-color: #fff !default; +//** Tooltip background color +$tooltip-bg: #000 !default; +$tooltip-opacity: .9 !default; + +//** Tooltip arrow width +$tooltip-arrow-width: 5px !default; +//** Tooltip arrow color +$tooltip-arrow-color: $tooltip-bg !default; + + +//== Popovers +// +//## + +//** Popover body background color +$popover-bg: #fff !default; +//** Popover maximum width +$popover-max-width: 276px !default; +//** Popover border color +$popover-border-color: rgba(0,0,0,.2) !default; +//** Popover fallback border color +$popover-fallback-border-color: #ccc !default; + +//** Popover title background color +$popover-title-bg: darken($popover-bg, 3%) !default; + +//** Popover arrow width +$popover-arrow-width: 10px !default; +//** Popover arrow color +$popover-arrow-color: $popover-bg !default; + +//** Popover outer arrow width +$popover-arrow-outer-width: ($popover-arrow-width + 1) !default; +//** Popover outer arrow color +$popover-arrow-outer-color: fade_in($popover-border-color, 0.05) !default; +//** Popover outer arrow fallback color +$popover-arrow-outer-fallback-color: darken($popover-fallback-border-color, 20%) !default; + + +//== Labels +// +//## + +//** Default label background color +$label-default-bg: $gray-light !default; +//** Primary label background color +$label-primary-bg: $brand-primary !default; +//** Success label background color +$label-success-bg: $brand-success !default; +//** Info label background color +$label-info-bg: $brand-info !default; +//** Warning label background color +$label-warning-bg: $brand-warning !default; +//** Danger label background color +$label-danger-bg: $brand-danger !default; + +//** Default label text color +$label-color: #fff !default; +//** Default text color of a linked label +$label-link-hover-color: #fff !default; + + +//== Modals +// +//## + +//** Padding applied to the modal body +$modal-inner-padding: 15px !default; + +//** Padding applied to the modal title +$modal-title-padding: 15px !default; +//** Modal title line-height +$modal-title-line-height: $line-height-base !default; + +//** Background color of modal content area +$modal-content-bg: #fff !default; +//** Modal content border color +$modal-content-border-color: rgba(0,0,0,.2) !default; +//** Modal content border color **for IE8** +$modal-content-fallback-border-color: #999 !default; + +//** Modal backdrop background color +$modal-backdrop-bg: #000 !default; +//** Modal backdrop opacity +$modal-backdrop-opacity: .5 !default; +//** Modal header border color +$modal-header-border-color: #e5e5e5 !default; +//** Modal footer border color +$modal-footer-border-color: $modal-header-border-color !default; + +$modal-lg: 900px !default; +$modal-md: 600px !default; +$modal-sm: 300px !default; + + +//== Alerts +// +//## Define alert colors, border radius, and padding. + +$alert-padding: 15px !default; +$alert-border-radius: $border-radius-base !default; +$alert-link-font-weight: bold !default; + +$alert-success-bg: $state-success-bg !default; +$alert-success-text: $state-success-text !default; +$alert-success-border: $state-success-border !default; + +$alert-info-bg: $state-info-bg !default; +$alert-info-text: $state-info-text !default; +$alert-info-border: $state-info-border !default; + +$alert-warning-bg: $state-warning-bg !default; +$alert-warning-text: $state-warning-text !default; +$alert-warning-border: $state-warning-border !default; + +$alert-danger-bg: $state-danger-bg !default; +$alert-danger-text: $state-danger-text !default; +$alert-danger-border: $state-danger-border !default; + + +//== Progress bars +// +//## + +//** Background color of the whole progress component +$progress-bg: #f5f5f5 !default; +//** Progress bar text color +$progress-bar-color: #fff !default; +//** Variable for setting rounded corners on progress bar. +$progress-border-radius: $border-radius-base !default; + +//** Default progress bar color +$progress-bar-bg: $brand-primary !default; +//** Success progress bar color +$progress-bar-success-bg: $brand-success !default; +//** Warning progress bar color +$progress-bar-warning-bg: $brand-warning !default; +//** Danger progress bar color +$progress-bar-danger-bg: $brand-danger !default; +//** Info progress bar color +$progress-bar-info-bg: $brand-info !default; + + +//== List group +// +//## + +//** Background color on `.list-group-item` +$list-group-bg: #fff !default; +//** `.list-group-item` border color +$list-group-border: #ddd !default; +//** List group border radius +$list-group-border-radius: $border-radius-base !default; + +//** Background color of single list items on hover +$list-group-hover-bg: #f5f5f5 !default; +//** Text color of active list items +$list-group-active-color: $component-active-color !default; +//** Background color of active list items +$list-group-active-bg: $component-active-bg !default; +//** Border color of active list elements +$list-group-active-border: $list-group-active-bg !default; +//** Text color for content within active list items +$list-group-active-text-color: lighten($list-group-active-bg, 40%) !default; + +//** Text color of disabled list items +$list-group-disabled-color: $gray-light !default; +//** Background color of disabled list items +$list-group-disabled-bg: $gray-lighter !default; +//** Text color for content within disabled list items +$list-group-disabled-text-color: $list-group-disabled-color !default; + +$list-group-link-color: #555 !default; +$list-group-link-hover-color: $list-group-link-color !default; +$list-group-link-heading-color: #333 !default; + + +//== Panels +// +//## + +$panel-bg: #fff !default; +$panel-body-padding: 15px !default; +$panel-heading-padding: 10px 15px !default; +$panel-footer-padding: $panel-heading-padding !default; +$panel-border-radius: $border-radius-base !default; + +//** Border color for elements within panels +$panel-inner-border: #ddd !default; +$panel-footer-bg: #f5f5f5 !default; + +$panel-default-text: $gray-dark !default; +$panel-default-border: #ddd !default; +$panel-default-heading-bg: #f5f5f5 !default; + +$panel-primary-text: #fff !default; +$panel-primary-border: $brand-primary !default; +$panel-primary-heading-bg: $brand-primary !default; + +$panel-success-text: $state-success-text !default; +$panel-success-border: $state-success-border !default; +$panel-success-heading-bg: $state-success-bg !default; + +$panel-info-text: $state-info-text !default; +$panel-info-border: $state-info-border !default; +$panel-info-heading-bg: $state-info-bg !default; + +$panel-warning-text: $state-warning-text !default; +$panel-warning-border: $state-warning-border !default; +$panel-warning-heading-bg: $state-warning-bg !default; + +$panel-danger-text: $state-danger-text !default; +$panel-danger-border: $state-danger-border !default; +$panel-danger-heading-bg: $state-danger-bg !default; + + +//== Thumbnails +// +//## + +//** Padding around the thumbnail image +$thumbnail-padding: 4px !default; +//** Thumbnail background color +$thumbnail-bg: $body-bg !default; +//** Thumbnail border color +$thumbnail-border: #ddd !default; +//** Thumbnail border radius +$thumbnail-border-radius: $border-radius-base !default; + +//** Custom text color for thumbnail captions +$thumbnail-caption-color: $text-color !default; +//** Padding around the thumbnail caption +$thumbnail-caption-padding: 9px !default; + + +//== Wells +// +//## + +$well-bg: #f5f5f5 !default; +$well-border: darken($well-bg, 7%) !default; + + +//== Badges +// +//## + +$badge-color: #fff !default; +//** Linked badge text color on hover +$badge-link-hover-color: #fff !default; +$badge-bg: $gray-light !default; + +//** Badge text color in active nav link +$badge-active-color: $link-color !default; +//** Badge background color in active nav link +$badge-active-bg: #fff !default; + +$badge-font-weight: bold !default; +$badge-line-height: 1 !default; +$badge-border-radius: 10px !default; + + +//== Breadcrumbs +// +//## + +$breadcrumb-padding-vertical: 8px !default; +$breadcrumb-padding-horizontal: 15px !default; +//** Breadcrumb background color +$breadcrumb-bg: #f5f5f5 !default; +//** Breadcrumb text color +$breadcrumb-color: #ccc !default; +//** Text color of current page in the breadcrumb +$breadcrumb-active-color: $gray-light !default; +//** Textual separator for between breadcrumb elements +$breadcrumb-separator: "/" !default; + + +//== Carousel +// +//## + +$carousel-text-shadow: 0 1px 2px rgba(0,0,0,.6) !default; + +$carousel-control-color: #fff !default; +$carousel-control-width: 15% !default; +$carousel-control-opacity: .5 !default; +$carousel-control-font-size: 20px !default; + +$carousel-indicator-active-bg: #fff !default; +$carousel-indicator-border-color: #fff !default; + +$carousel-caption-color: #fff !default; + + +//== Close +// +//## + +$close-font-weight: bold !default; +$close-color: #000 !default; +$close-text-shadow: 0 1px 0 #fff !default; + + +//== Code +// +//## + +$code-color: #c7254e !default; +$code-bg: #f9f2f4 !default; + +$kbd-color: #fff !default; +$kbd-bg: #333 !default; + +$pre-bg: #f5f5f5 !default; +$pre-color: $gray-dark !default; +$pre-border-color: #ccc !default; +$pre-scrollable-max-height: 340px !default; + + +//== Type +// +//## + +//** Horizontal offset for forms and lists. +$component-offset-horizontal: 180px !default; +//** Text muted color +$text-muted: $gray-light !default; +//** Abbreviations and acronyms border color +$abbr-border-color: $gray-light !default; +//** Headings small color +$headings-small-color: $gray-light !default; +//** Blockquote small color +$blockquote-small-color: $gray-light !default; +//** Blockquote font size +$blockquote-font-size: ($font-size-base * 1.25) !default; +//** Blockquote border color +$blockquote-border-color: $gray-lighter !default; +//** Page header border color +$page-header-border-color: $gray-lighter !default; +//** Width of horizontal description list titles +$dl-horizontal-offset: $component-offset-horizontal !default; +//** Point at which .dl-horizontal becomes horizontal +$dl-horizontal-breakpoint: $grid-float-breakpoint !default; +//** Horizontal line color. +$hr-border: $gray-lighter !default; diff --git a/liste-envies-war/src/main/webapp/css/material-kit/_welljumbo.scss b/liste-envies-war/src/main/webapp/css/material-kit/_welljumbo.scss new file mode 100644 index 00000000..a28ff06b --- /dev/null +++ b/liste-envies-war/src/main/webapp/css/material-kit/_welljumbo.scss @@ -0,0 +1,28 @@ +// This file has been autogenerated by grunt task lessToSass. Any changes will be overwritten. + +body { + .container, + .container-fluid { + + .well.well-sm { + padding: 10px; + } + .well.well-lg { + padding: 26px; + } + .well, + .jumbotron { + + background-color: #fff; + padding: 19px; + margin-bottom: 20px; + @include shadow-z-2(); + border-radius: $border-radius-base; + border: 0; + p { + font-weight: 300; + } + @include variations(unquote(""), unquote(""), background-color, $white); + } + } +} diff --git a/liste-envies-war/src/main/webapp/css/material-kit/plugins/_plugin-datepicker.scss b/liste-envies-war/src/main/webapp/css/material-kit/plugins/_plugin-datepicker.scss new file mode 100644 index 00000000..75178e65 --- /dev/null +++ b/liste-envies-war/src/main/webapp/css/material-kit/plugins/_plugin-datepicker.scss @@ -0,0 +1,220 @@ +/*! + * Datepicker for Bootstrap + * + * Copyright 2012 Stefan Petre + * Licensed under the Apache License v2.0 + * http://www.apache.org/licenses/LICENSE-2.0 + * + */ + +/* + * + * SCSS by Creative Tim + * http://www.creative-tim.com + * + */ + +.datepicker { + top: 0; + left: 0; + padding: 4px; + margin-top: 1px; + -webkit-border-radius: 4px; + -moz-border-radius: 4px; + border-radius: 4px; + + > div { + display: none; + } + + table { + width: 100%; + margin: 0; + } + + td, + th { + text-align: center; + width: 20px; + height: 20px; + -webkit-border-radius: 4px; + -moz-border-radius: 4px; + border-radius: 4px; + } + + td{ + text-align: center; + p{ + font-size: $font-size-h6; + font-weight: $font-weight-default; + border-radius: 50%; + height: 29px; + line-height: 29px; + margin: 3px 0 8px; + width: 29px; + } + :hover{ + cursor: pointer; + } + } + + th{ + font-weight: $font-weight-bold; + + &.switch-datepicker{ + font-size: $font-size-h6; + } + } + + .prev p, + .next p{ + font-size: $font-size-h3; + } + + p:hover{ + background: #eeeeee; + } + + .day.disabled { + color: #eeeeee; + } + + td.old, + td.new { + color: #999999; + border-top: 0; + } + + td.active p, + td.active:hover p{ + @include shadow-4dp(); + color: #ffffff; + background-color: $brand-primary; + } + + td.primary p, + td.primary:hover p{ + background-color: $brand-primary; + } + td.info p, + td.info:hover p{ + background-color: $brand-info; + } + td.success p, + td.success:hover p{ + background-color: $brand-success; + } + td.warning p, + td.warning:hover p{ + background-color: $brand-warning; + } + td.danger p, + td.danger:hover p{ + background-color: $brand-danger; + } + + span { + display: block; + width: 55px; + height: 54px; + line-height: 54px; + float: left; + margin: 2px; + cursor: pointer; + -webkit-border-radius: 4px; + -moz-border-radius: 4px; + border-radius: 4px; + + &.old { + color: #999999; + } + } + span{ + &.active{ + &, + &:focus, + &:hover, + &:active{ + background-color: $brand-primary; + @include shadow-4dp(); + } + } + + &.active{ + color: $white-color; + } + } + + span:hover { + background-color: #EEEEEE; + } + span.primary, + span.primary:hover{ + background-color: $brand-primary; + } + span.info, + span.info:hover{ + background-color: $brand-info; + } + span.success, + span.success:hover{ + background-color: $brand-success; + } + span.warning, + span.warning:hover{ + background-color: $brand-warning; + } + span.danger, + span.danger:hover{ + background-color: $brand-danger; + } + th.switch-datepicker { + width: 145px; + } + th.next, + th.prev { + font-size: 21px; + } + thead tr:first-child th { + cursor: pointer; + } + thead tr:first-child th:hover { + background: #eeeeee; + } + + &.dropdown-menu{ + border-radius: $border-radius-base; + @include shadow-big(); + @include transition($fast-transition-time, $transition-linear); + margin-top: -20px; + opacity: 0; + visibility: hidden; + } + + &.dropdown-menu.open{ + opacity: 1; + visibility: visible; + margin-top: 1px; + } + + .table-condensed > tbody > tr > td{ + padding: 2px; + } + + .table-condensed > thead > tr > th{ + padding: 0; + } +} + +.input-append.date .add-on i, +.input-prepend.date .add-on i { + display: block; + cursor: pointer; + width: 16px; + height: 16px; +} + +.datepicker-months thead{ + padding: 0 0 3px; + display: block; +} diff --git a/liste-envies-war/src/main/webapp/css/material-kit/plugins/_plugin-dropdownjs.scss b/liste-envies-war/src/main/webapp/css/material-kit/plugins/_plugin-dropdownjs.scss new file mode 100644 index 00000000..b1574726 --- /dev/null +++ b/liste-envies-war/src/main/webapp/css/material-kit/plugins/_plugin-dropdownjs.scss @@ -0,0 +1,17 @@ +// This file has been autogenerated by grunt task lessToSass. Any changes will be overwritten. + +.dropdownjs::after { + right: 5px; + top: 3px; + font-size: 25px; + position: absolute; + + // bring in the material icon font and icon by code + font-family: 'Material Icons'; + font-style: normal; + font-weight: 400; + content: "\e5c5"; // found here: https://github.com/google/material-design-icons/search?utf8=%E2%9C%93&q=arrow_drop_down + + pointer-events: none; + color: #757575; +} diff --git a/liste-envies-war/src/main/webapp/css/material-kit/plugins/_plugin-nouislider.scss b/liste-envies-war/src/main/webapp/css/material-kit/plugins/_plugin-nouislider.scss new file mode 100644 index 00000000..49204fa4 --- /dev/null +++ b/liste-envies-war/src/main/webapp/css/material-kit/plugins/_plugin-nouislider.scss @@ -0,0 +1,161 @@ +// This file has been autogenerated by grunt task lessToSass. Any changes will be overwritten. + +.noUi-target, +.noUi-target * { + -webkit-touch-callout: none; + -ms-touch-action: none; + user-select: none; + box-sizing: border-box; +} +.noUi-base { + width: 100%; + height: 100%; + position: relative; +} +.noUi-origin { + position: absolute; + right: 0; + top: 0; + left: 0; + bottom: 0; +} +.noUi-handle { + position: relative; + z-index: 1; + box-sizing: border-box; +} +.noUi-stacking .noUi-handle { + z-index: 10; +} +//.noUi-stacking + .noUi-origin { +// *z-index: -1; +//} WARNING: Property with star prefix found. Checks for the star property hack (targets IE6/7) (star-property-hack) Browsers: All +.noUi-state-tap .noUi-origin { + transition: left 0.3s, top 0.3s; +} +.noUi-state-drag * { + cursor: inherit !important; +} +.noUi-horizontal { + height: 10px; +} +.noUi-handle { + box-sizing: border-box; + width: 14px; + height: 14px; + left: -10px; + top: -6px; + cursor: pointer; + border-radius: 100%; + transition: all 0.2s ease-out; + border: 1px solid; + background: $white-color; + + @include shadow-2dp(); +} +.noUi-vertical .noUi-handle { + margin-left: 5px; + cursor: ns-resize; +} +.noUi-horizontal.noUi-extended { + padding: 0 15px; +} +.noUi-horizontal.noUi-extended .noUi-origin { + right: -15px; +} +.noUi-background { + height: 2px; + margin: 20px 0; +} +.noUi-origin { + margin: 0; + border-radius: 0; + height: 2px; + background: #c8c8c8; + &[style^="left: 0"] .noUi-handle { + background-color: #fff; + border: 2px solid #c8c8c8; + &.noUi-active { + border-width: 1px; + } + } +} +.noUi-target { + border-radius: $border-radius-base; +} +.noUi-horizontal { + height: 2px; + margin: 15px 0; +} +.noUi-vertical { + height: 100%; + width: 2px; + margin: 0 15px; + display: inline-block; +} +.noUi-handle.noUi-active { + transform: scale3d(2, 2, 1); +} +[disabled].noUi-slider{ + opacity: 0.5; +} +[disabled] .noUi-handle { + cursor: not-allowed; +} + +.slider { + background: #c8c8c8; +} + +.slider { + + &.noUi-connect{ + background-color: $brand-primary; + } + + .noUi-handle{ + border-color: $brand-primary; + } + + &.slider-info{ + & .noUi-connect, + &.noUi-connect{ + background-color: $brand-info; + } + + .noUi-handle{ + border-color: $brand-info; + } + } + &.slider-success{ + & .noUi-connect, + &.noUi-connect{ + background-color: $brand-success; + } + + .noUi-handle{ + border-color: $brand-success; + } + } + &.slider-warning{ + & .noUi-connect, + &.noUi-connect{ + background-color: $brand-warning; + } + + .noUi-handle{ + border-color: $brand-warning; + } + } + &.slider-danger{ + & .noUi-connect, + &.noUi-connect{ + background-color: $brand-danger; + } + + .noUi-handle{ + border-color: $brand-danger; + } + } + +} diff --git a/liste-envies-war/src/main/webapp/css/material-kit/plugins/_plugin-selectize.scss b/liste-envies-war/src/main/webapp/css/material-kit/plugins/_plugin-selectize.scss new file mode 100644 index 00000000..bff381e1 --- /dev/null +++ b/liste-envies-war/src/main/webapp/css/material-kit/plugins/_plugin-selectize.scss @@ -0,0 +1,93 @@ +// This file has been autogenerated by grunt task lessToSass. Any changes will be overwritten. + +// Support for Selectize plugin +// http://brianreavis.github.io/selectize.js/ + +.selectize-control.single, .selectize-control.multi { + padding: 0; + .selectize-input, .selectize-input.input-active { + + cursor: text; + background: transparent; + box-shadow: none; + border: 0; + padding: 0; + height: 100%; + font-size: 14px; + line-height: 30px; + .has-items { + padding: 0; + } + &:after { + right: 5px; + position: absolute; + font-size: 25px; + content: "\e5c5"; + font-family: 'Material Icons'; + speak: none; + font-style: normal; + font-weight: normal; + font-variant: normal; + text-transform: none; + line-height: 1; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; + } + input { + font-size: 14px; + outline: 0; + border: 0; + background: transparent; + } + &.label-floating-fix input { + opacity: 0; + } + > div, > .item { + display: inline-block; + margin: 0 8px 3px 0; + padding: 0; + background: transparent; + border: 0; + &:after { + content: ","; + } + &:last-of-type:after { + content: ""; + } + &.active { + font-weight: bold; + background: transparent; + border: 0; + } + } + } + .selectize-dropdown { + position: absolute; + z-index: 1000; + border: 0; + width: 100% !important; + left: 0 !important; + height: auto; + background-color: #FFF; + box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24); + border-radius: $border-radius-base; + padding: 0; + margin-top: 3px; + .active { + background-color: inherit; + } + .highlight { + background-color: #d5d8ff; + } + .selected, .selected.active { + background-color: #EEEEEE; + } + [data-selectable], .optgroup-header { + padding: 10px 20px; + cursor: pointer; + } + } + .dropdown-active ~ .selectize-dropdown { + display: block; + } +} diff --git a/liste-envies-war/src/main/webapp/css/material-kit/plugins/_plugin-snackbarjs.scss b/liste-envies-war/src/main/webapp/css/material-kit/plugins/_plugin-snackbarjs.scss new file mode 100644 index 00000000..e8f5bad5 --- /dev/null +++ b/liste-envies-war/src/main/webapp/css/material-kit/plugins/_plugin-snackbarjs.scss @@ -0,0 +1,34 @@ +// This file has been autogenerated by grunt task lessToSass. Any changes will be overwritten. + +// Support for SnackbarJS plugin +// https://github.com/FezVrasta/snackbarjs + +.snackbar { + // Style + background-color: #323232; + color: $mdb-text-color-light; + font-size: 14px; + border-radius: $border-radius-base; + @include shadow-z-1; + + // Animation + height: 0; + transition: transform 0.2s ease-in-out, opacity 0.2s ease-in, height 0s linear 0.2s, padding 0s linear 0.2s, height 0s linear 0.2s; + transform: translateY(200%); +} + +.snackbar.snackbar-opened { + // Style + padding: 14px 15px; + margin-bottom: 20px; + + // Animation + height: auto; + transition: transform 0.2s ease-in-out, opacity 0.2s ease-in, height 0s linear 0.2s, height 0s linear 0.2s; + transform: none; +} + +// Variations +.snackbar.toast { + border-radius: 200px; +} diff --git a/liste-envies-war/src/main/webapp/css/style.css b/liste-envies-war/src/main/webapp/css/style.css index c601c2eb..421f4fe1 100644 --- a/liste-envies-war/src/main/webapp/css/style.css +++ b/liste-envies-war/src/main/webapp/css/style.css @@ -1,22 +1,17 @@ body { - margin-top: 100px; - background-color: #fff; + } @media(min-width:768px) { - body { - margin-top: 50px; - } + } #wrapper { - padding-left: 0; + } #page-wrapper { - width: 100%; - padding: 0; - background-color: #fff; + } @media(min-width:768px) { @@ -29,6 +24,14 @@ body { } } +.wrapper > .header { + background-image: url('https://images.unsplash.com/photo-1453834190665-46ff0a1fbd5a?dpr=1&auto=format&fit=crop&w=1500&h=994&q=80&cs=tinysrgb&crop='); + background-repeat: no-repeat; + background-attachment: fixed; + background-position: 50% 66% !important; + background-size: cover; +} + .top-nav { padding: 0 15px; } @@ -91,7 +94,7 @@ body { .edit-button { display: none; position: absolute; - top: 31px; + top: 60px; right: 24px; } @@ -122,9 +125,12 @@ body { } .order-filter .form-group { - margin-bottom: 0; + margin: 0; + padding: 0; } + + .list-envie .envie-item:hover .edit-button { display: block !important; } @@ -171,13 +177,42 @@ body { } +.order-filter .search { + padding-top: 45px; +} + .order-filter .has-feedback label~.form-control-feedback { - top: 33px; + top: 6px; +} + +.order-filter input#searchEnvieFilter { + +} + +div.material-icons.form-control-feedback { + cursor: pointer; + color: gray; +} + +.card .header { + padding: 2px !important; + margin-top: -15px; +} + +.card.card-signup.envie-item.ng-scope { + margin-top: 20px; +} + +.envie-card .panel { + /*box-shadow: none;*/ +} + +.envie-card .panel .footer { + padding: 5px; } .order-filter span.fa.fa-search.form-control-feedback { top: 10px; - right: 34px; } /** Comentaires **/ diff --git a/liste-envies-war/src/main/webapp/index.html b/liste-envies-war/src/main/webapp/index.html index 85c6ffbd..beeb558f 100644 --- a/liste-envies-war/src/main/webapp/index.html +++ b/liste-envies-war/src/main/webapp/index.html @@ -6,12 +6,15 @@ - + + + Liste de mes envies + @@ -19,7 +22,10 @@ + + + @@ -36,68 +42,105 @@ - - -
    - - - +
    + -
    +
    + +
    @@ -106,6 +149,18 @@ + + + + + + + + + + + + diff --git a/liste-envies-war/src/main/webapp/js/controllers/envieCtrl.js b/liste-envies-war/src/main/webapp/js/controllers/envieCtrl.js index e1d49e89..e13f7144 100644 --- a/liste-envies-war/src/main/webapp/js/controllers/envieCtrl.js +++ b/liste-envies-war/src/main/webapp/js/controllers/envieCtrl.js @@ -398,6 +398,7 @@ function EnvieCtrl(envieService, appUserService, listEnviesService, $routeParams vm.envies = newEnvies; $scope.update(); } + $.material.init(); @@ -407,4 +408,6 @@ function EnvieCtrl(envieService, appUserService, listEnviesService, $routeParams }); }); } + + $.material.init(); } \ No newline at end of file diff --git a/liste-envies-war/src/main/webapp/js/controllers/headerCtrl.js b/liste-envies-war/src/main/webapp/js/controllers/headerCtrl.js index e8ab0cdd..c1431baa 100644 --- a/liste-envies-war/src/main/webapp/js/controllers/headerCtrl.js +++ b/liste-envies-war/src/main/webapp/js/controllers/headerCtrl.js @@ -34,4 +34,6 @@ app.controller('HeaderCtrl', function($scope, $http, $location, AuthService, Uti return "/logout?path=" + $location.path(); }; + $.material.init(); + }); diff --git a/liste-envies-war/src/main/webapp/js/controllers/homeCtrl.js b/liste-envies-war/src/main/webapp/js/controllers/homeCtrl.js index 98ba338b..a4bffc87 100644 --- a/liste-envies-war/src/main/webapp/js/controllers/homeCtrl.js +++ b/liste-envies-war/src/main/webapp/js/controllers/homeCtrl.js @@ -30,4 +30,6 @@ function HomeCtrl(appUserService, listEnviesService, $location, UtilitiesService $location.url("/"+listEnvies.name); }); }; + + $.material.init(); } \ No newline at end of file diff --git a/liste-envies-war/src/main/webapp/js/lib/bootstrap-datepicker.js b/liste-envies-war/src/main/webapp/js/lib/bootstrap-datepicker.js new file mode 100644 index 00000000..842c87ac --- /dev/null +++ b/liste-envies-war/src/main/webapp/js/lib/bootstrap-datepicker.js @@ -0,0 +1,492 @@ +/* ========================================================= + * bootstrap-datepicker.js + * http://www.eyecon.ro/bootstrap-datepicker + * ========================================================= + * Copyright 2012 Stefan Petre + * + * 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. + * ========================================================= */ + var color = ''; +!function( $ ) { + + // Picker object + + var Datepicker = function(element, options){ + this.element = $(element); + this.format = DPGlobal.parseFormat(options.format||this.element.data('date-format')||'mm/dd/yyyy'); + this.picker = $(DPGlobal.template) + .appendTo('body') + .on({ + click: $.proxy(this.click, this)//, + //mousedown: $.proxy(this.mousedown, this) + }); + this.isInput = this.element.is('input'); + this.component = this.element.is('.date') ? this.element.find('.add-on') : false; + + if (this.isInput) { + this.element.on({ + focus: $.proxy(this.show, this), + //blur: $.proxy(this.hide, this), + keyup: $.proxy(this.update, this) + }); + } else { + if (this.component){ + this.component.on('click', $.proxy(this.show, this)); + } else { + this.element.on('click', $.proxy(this.show, this)); + } + } + + this.minViewMode = options.minViewMode||this.element.data('date-minviewmode')||0; + if (typeof this.minViewMode === 'string') { + switch (this.minViewMode) { + case 'months': + this.minViewMode = 1; + break; + case 'years': + this.minViewMode = 2; + break; + default: + this.minViewMode = 0; + break; + } + } + this.viewMode = options.viewMode||this.element.data('date-viewmode')||0; + if (typeof this.viewMode === 'string') { + switch (this.viewMode) { + case 'months': + this.viewMode = 1; + break; + case 'years': + this.viewMode = 2; + break; + default: + this.viewMode = 0; + break; + } + } + this.color = options.color||'azure'; + this.startViewMode = this.viewMode; + this.weekStart = options.weekStart||this.element.data('date-weekstart')||0; + this.weekEnd = this.weekStart === 0 ? 6 : this.weekStart - 1; + this.onRender = options.onRender; + this.fillDow(); + this.fillMonths(); + this.update(); + this.showMode(); + + }; + + + + Datepicker.prototype = { + constructor: Datepicker, + + show: function(e) { + var datepicker = this.picker; + + this.picker.show(); + this.height = this.component ? this.component.outerHeight() : this.element.outerHeight(); + this.place(); + $(window).on('resize', $.proxy(this.place, this)); + if (e ) { + e.stopPropagation(); + e.preventDefault(); + } + if (!this.isInput) { + } + var that = this; + $(document).on('mousedown', function(ev){ + if ($(ev.target).closest('.datepicker').length == 0) { + that.hide(); + } + }); + this.element.trigger({ + type: 'show', + date: this.date + }); + + setTimeout(function(){ + datepicker.addClass('open'); + }, 170); + }, + + hide: function(){ + var datepicker = this.picker; + datepicker.removeClass('open'); + + setTimeout(function(){ + this.picker.hide(); + }, 500); + + $(window).off('resize', this.place); + this.viewMode = this.startViewMode; + this.showMode(); + if (!this.isInput) { + $(document).off('mousedown', this.hide); + } + //this.set(); + this.element.trigger({ + type: 'hide', + date: this.date + }); + + }, + + set: function() { + var formated = DPGlobal.formatDate(this.date, this.format); + if (!this.isInput) { + if (this.component){ + this.element.find('input').prop('value', formated); + } + this.element.data('date', formated); + } else { + this.element.prop('value', formated); + } + }, + + setValue: function(newDate) { + if (typeof newDate === 'string') { + this.date = DPGlobal.parseDate(newDate, this.format); + } else { + this.date = new Date(newDate); + } + this.set(); + this.viewDate = new Date(this.date.getFullYear(), this.date.getMonth(), 1, 0, 0, 0, 0); + this.fill(); + }, + + place: function(){ + var offset = this.component ? this.component.offset() : this.element.offset(); + this.picker.css({ + top: offset.top + this.height, + left: offset.left + }); + }, + + update: function(newDate){ + this.date = DPGlobal.parseDate( + typeof newDate === 'string' ? newDate : (this.isInput ? this.element.prop('value') : this.element.data('date')), + this.format + ); + this.viewDate = new Date(this.date.getFullYear(), this.date.getMonth(), 1, 0, 0, 0, 0); + this.fill(); + }, + + fillDow: function(){ + var dowCnt = this.weekStart; + var html = ''; + while (dowCnt < this.weekStart + 7) { + html += ''+DPGlobal.dates.daysMin[(dowCnt++)%7]+''; + } + html += ''; + this.picker.find('.datepicker-days thead').append(html); + }, + + fillMonths: function(){ + var html = ''; + var i = 0 + while (i < 12) { + html += ''+DPGlobal.dates.monthsShort[i++]+''; + } + this.picker.find('.datepicker-months td').append(html); + }, + + fill: function() { + var d = new Date(this.viewDate), + year = d.getFullYear(), + month = d.getMonth(), + currentDate = this.date.valueOf(); + this.picker.find('.datepicker-days th:eq(1)') + .text(DPGlobal.dates.months[month]+' '+year); + var prevMonth = new Date(year, month-1, 28,0,0,0,0), + day = DPGlobal.getDaysInMonth(prevMonth.getFullYear(), prevMonth.getMonth()); + prevMonth.setDate(day); + prevMonth.setDate(day - (prevMonth.getDay() - this.weekStart + 7)%7); + var nextMonth = new Date(prevMonth); + nextMonth.setDate(nextMonth.getDate() + 42); + nextMonth = nextMonth.valueOf(); + var html = []; + var clsName, + prevY, + prevM; + while(prevMonth.valueOf() < nextMonth) { + if (prevMonth.getDay() === this.weekStart) { + html.push(''); + } + clsName = this.onRender(prevMonth); + prevY = prevMonth.getFullYear(); + prevM = prevMonth.getMonth(); + if ((prevM < month && prevY === year) || prevY < year) { + clsName += ' old'; + } else if ((prevM > month && prevY === year) || prevY > year) { + clsName += ' new'; + } + if (prevMonth.valueOf() === currentDate) { + clsName += ' active ' + this.color; + } + html.push('

    '+prevMonth.getDate() + '

    '); + if (prevMonth.getDay() === this.weekEnd) { + html.push(''); + } + prevMonth.setDate(prevMonth.getDate()+1); + } + this.picker.find('.datepicker-days tbody').empty().append(html.join('')); + var currentYear = this.date.getFullYear(); + + var months = this.picker.find('.datepicker-months') + .find('th:eq(1)') + .text(year) + .end() + .find('span').removeClass('active'); + if (currentYear === year) { + months.eq(this.date.getMonth()).addClass('active').addClass(this.color); + } + + html = ''; + year = parseInt(year/10, 10) * 10; + var yearCont = this.picker.find('.datepicker-years') + .find('th:eq(1)') + .text(year + '-' + (year + 9)) + .end() + .find('td'); + year -= 1; + for (var i = -1; i < 11; i++) { + html += ''+year+''; + year += 1; + } + yearCont.html(html); + }, + + click: function(e) { + e.stopPropagation(); + e.preventDefault(); + var target = $(e.target).closest('span, td, th'); + if (target.length === 1) { + switch(target[0].nodeName.toLowerCase()) { + case 'th': + switch(target[0].className) { + case 'switch-datepicker': + this.showMode(1); + break; + case 'prev': + case 'next': + this.viewDate['set'+DPGlobal.modes[this.viewMode].navFnc].call( + this.viewDate, + this.viewDate['get'+DPGlobal.modes[this.viewMode].navFnc].call(this.viewDate) + + DPGlobal.modes[this.viewMode].navStep * (target[0].className === 'prev' ? -1 : 1) + ); + this.fill(); + this.set(); + break; + } + break; + case 'span': + if (target.is('.month')) { + var month = target.parent().find('span').index(target); + this.viewDate.setMonth(month); + } else { + var year = parseInt(target.text(), 10)||0; + this.viewDate.setFullYear(year); + } + if (this.viewMode !== 0) { + this.date = new Date(this.viewDate); + this.element.trigger({ + type: 'changeDate', + date: this.date, + viewMode: DPGlobal.modes[this.viewMode].clsName + }); + } + this.showMode(-1); + this.fill(); + this.set(); + break; + case 'td': + if (target.is('.day') && !target.is('.disabled')){ + var day = parseInt(target.text(), 10)||1; + var month = this.viewDate.getMonth(); + if (target.is('.old')) { + month -= 1; + } else if (target.is('.new')) { + month += 1; + } + var year = this.viewDate.getFullYear(); + this.date = new Date(year, month, day,0,0,0,0); + this.viewDate = new Date(year, month, Math.min(28, day),0,0,0,0); + this.fill(); + this.set(); + this.element.trigger({ + type: 'changeDate', + date: this.date, + viewMode: DPGlobal.modes[this.viewMode].clsName + }); + } + break; + } + } + }, + + mousedown: function(e){ + e.stopPropagation(); + e.preventDefault(); + }, + + showMode: function(dir) { + if (dir) { + this.viewMode = Math.max(this.minViewMode, Math.min(2, this.viewMode + dir)); + } + this.picker.find('>div').hide().filter('.datepicker-'+DPGlobal.modes[this.viewMode].clsName).show(); + } + }; + + $.fn.datepicker = function ( option, val ) { + return this.each(function () { + var $this = $(this), + data = $this.data('datepicker'), + options = typeof option === 'object' && option; + if (!data) { + $this.data('datepicker', (data = new Datepicker(this, $.extend({}, $.fn.datepicker.defaults,options)))); + } + if (typeof option === 'string') data[option](val); + }); + }; + + $.fn.datepicker.defaults = { + onRender: function(date) { + return ''; + } + }; + $.fn.datepicker.Constructor = Datepicker; + + var DPGlobal = { + modes: [ + { + clsName: 'days', + navFnc: 'Month', + navStep: 1 + }, + { + clsName: 'months', + navFnc: 'FullYear', + navStep: 1 + }, + { + clsName: 'years', + navFnc: 'FullYear', + navStep: 10 + }], + dates:{ + days: ["Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Sunday"], + daysShort: ["Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat", "Sun"], + daysMin: ["S", "M", "T", "W", "T", "F", "S", "S"], + months: ["JAN.", "FEB.", "MAR.", "APR.", "MAY", "JUN.", "JUL.", "AUG.", "SEPT.", "OCT.", "NOV.", "DEC."], + monthsShort: ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"] + }, + isLeapYear: function (year) { + return (((year % 4 === 0) && (year % 100 !== 0)) || (year % 400 === 0)) + }, + getDaysInMonth: function (year, month) { + return [31, (DPGlobal.isLeapYear(year) ? 29 : 28), 31, 30, 31, 30, 31, 31, 30, 31, 30, 31][month] + }, + parseFormat: function(format){ + var separator = format.match(/[.\/\-\s].*?/), + parts = format.split(/\W+/); + if (!separator || !parts || parts.length === 0){ + throw new Error("Invalid date format."); + } + return {separator: separator, parts: parts}; + }, + parseDate: function(date, format) { + var parts = date.split(format.separator), + date = new Date(), + val; + date.setHours(0); + date.setMinutes(0); + date.setSeconds(0); + date.setMilliseconds(0); + if (parts.length === format.parts.length) { + var year = date.getFullYear(), day = date.getDate(), month = date.getMonth(); + for (var i=0, cnt = format.parts.length; i < cnt; i++) { + val = parseInt(parts[i], 10)||1; + switch(format.parts[i]) { + case 'dd': + case 'd': + day = val; + date.setDate(val); + break; + case 'mm': + case 'm': + month = val - 1; + date.setMonth(val - 1); + break; + case 'yy': + year = 2000 + val; + date.setFullYear(2000 + val); + break; + case 'yyyy': + year = val; + date.setFullYear(val); + break; + } + } + date = new Date(year, month, day, 0 ,0 ,0); + } + return date; + }, + formatDate: function(date, format){ + var val = { + d: date.getDate(), + m: date.getMonth() + 1, + yy: date.getFullYear().toString().substring(2), + yyyy: date.getFullYear() + }; + val.dd = (val.d < 10 ? '0' : '') + val.d; + val.mm = (val.m < 10 ? '0' : '') + val.m; + var date = []; + for (var i=0, cnt = format.parts.length; i < cnt; i++) { + date.push(val[format.parts[i]]); + } + return date.join(format.separator); + }, + headTemplate: ''+ + ''+ + '

    '+ + ''+ + '

    '+ + ''+ + '', + contTemplate: '' + }; + + DPGlobal.template = ''; + +}( window.jQuery ); \ No newline at end of file diff --git a/liste-envies-war/src/main/webapp/js/lib/bootstrap.min.js b/liste-envies-war/src/main/webapp/js/lib/bootstrap.min.js index d8398659..133aeecb 100644 --- a/liste-envies-war/src/main/webapp/js/lib/bootstrap.min.js +++ b/liste-envies-war/src/main/webapp/js/lib/bootstrap.min.js @@ -1,7 +1,7 @@ /*! - * Bootstrap v3.3.1 (http://getbootstrap.com) - * Copyright 2011-2014 Twitter, Inc. - * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) + * Bootstrap v3.3.5 (http://getbootstrap.com) + * Copyright 2011-2015 Twitter, Inc. + * Licensed under the MIT license */ -if("undefined"==typeof jQuery)throw new Error("Bootstrap's JavaScript requires jQuery");+function(a){var b=a.fn.jquery.split(" ")[0].split(".");if(b[0]<2&&b[1]<9||1==b[0]&&9==b[1]&&b[2]<1)throw new Error("Bootstrap's JavaScript requires jQuery version 1.9.1 or higher")}(jQuery),+function(a){"use strict";function b(){var a=document.createElement("bootstrap"),b={WebkitTransition:"webkitTransitionEnd",MozTransition:"transitionend",OTransition:"oTransitionEnd otransitionend",transition:"transitionend"};for(var c in b)if(void 0!==a.style[c])return{end:b[c]};return!1}a.fn.emulateTransitionEnd=function(b){var c=!1,d=this;a(this).one("bsTransitionEnd",function(){c=!0});var e=function(){c||a(d).trigger(a.support.transition.end)};return setTimeout(e,b),this},a(function(){a.support.transition=b(),a.support.transition&&(a.event.special.bsTransitionEnd={bindType:a.support.transition.end,delegateType:a.support.transition.end,handle:function(b){return a(b.target).is(this)?b.handleObj.handler.apply(this,arguments):void 0}})})}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var c=a(this),e=c.data("bs.alert");e||c.data("bs.alert",e=new d(this)),"string"==typeof b&&e[b].call(c)})}var c='[data-dismiss="alert"]',d=function(b){a(b).on("click",c,this.close)};d.VERSION="3.3.1",d.TRANSITION_DURATION=150,d.prototype.close=function(b){function c(){g.detach().trigger("closed.bs.alert").remove()}var e=a(this),f=e.attr("data-target");f||(f=e.attr("href"),f=f&&f.replace(/.*(?=#[^\s]*$)/,""));var g=a(f);b&&b.preventDefault(),g.length||(g=e.closest(".alert")),g.trigger(b=a.Event("close.bs.alert")),b.isDefaultPrevented()||(g.removeClass("in"),a.support.transition&&g.hasClass("fade")?g.one("bsTransitionEnd",c).emulateTransitionEnd(d.TRANSITION_DURATION):c())};var e=a.fn.alert;a.fn.alert=b,a.fn.alert.Constructor=d,a.fn.alert.noConflict=function(){return a.fn.alert=e,this},a(document).on("click.bs.alert.data-api",c,d.prototype.close)}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.button"),f="object"==typeof b&&b;e||d.data("bs.button",e=new c(this,f)),"toggle"==b?e.toggle():b&&e.setState(b)})}var c=function(b,d){this.$element=a(b),this.options=a.extend({},c.DEFAULTS,d),this.isLoading=!1};c.VERSION="3.3.1",c.DEFAULTS={loadingText:"loading..."},c.prototype.setState=function(b){var c="disabled",d=this.$element,e=d.is("input")?"val":"html",f=d.data();b+="Text",null==f.resetText&&d.data("resetText",d[e]()),setTimeout(a.proxy(function(){d[e](null==f[b]?this.options[b]:f[b]),"loadingText"==b?(this.isLoading=!0,d.addClass(c).attr(c,c)):this.isLoading&&(this.isLoading=!1,d.removeClass(c).removeAttr(c))},this),0)},c.prototype.toggle=function(){var a=!0,b=this.$element.closest('[data-toggle="buttons"]');if(b.length){var c=this.$element.find("input");"radio"==c.prop("type")&&(c.prop("checked")&&this.$element.hasClass("active")?a=!1:b.find(".active").removeClass("active")),a&&c.prop("checked",!this.$element.hasClass("active")).trigger("change")}else this.$element.attr("aria-pressed",!this.$element.hasClass("active"));a&&this.$element.toggleClass("active")};var d=a.fn.button;a.fn.button=b,a.fn.button.Constructor=c,a.fn.button.noConflict=function(){return a.fn.button=d,this},a(document).on("click.bs.button.data-api",'[data-toggle^="button"]',function(c){var d=a(c.target);d.hasClass("btn")||(d=d.closest(".btn")),b.call(d,"toggle"),c.preventDefault()}).on("focus.bs.button.data-api blur.bs.button.data-api",'[data-toggle^="button"]',function(b){a(b.target).closest(".btn").toggleClass("focus",/^focus(in)?$/.test(b.type))})}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.carousel"),f=a.extend({},c.DEFAULTS,d.data(),"object"==typeof b&&b),g="string"==typeof b?b:f.slide;e||d.data("bs.carousel",e=new c(this,f)),"number"==typeof b?e.to(b):g?e[g]():f.interval&&e.pause().cycle()})}var c=function(b,c){this.$element=a(b),this.$indicators=this.$element.find(".carousel-indicators"),this.options=c,this.paused=this.sliding=this.interval=this.$active=this.$items=null,this.options.keyboard&&this.$element.on("keydown.bs.carousel",a.proxy(this.keydown,this)),"hover"==this.options.pause&&!("ontouchstart"in document.documentElement)&&this.$element.on("mouseenter.bs.carousel",a.proxy(this.pause,this)).on("mouseleave.bs.carousel",a.proxy(this.cycle,this))};c.VERSION="3.3.1",c.TRANSITION_DURATION=600,c.DEFAULTS={interval:5e3,pause:"hover",wrap:!0,keyboard:!0},c.prototype.keydown=function(a){if(!/input|textarea/i.test(a.target.tagName)){switch(a.which){case 37:this.prev();break;case 39:this.next();break;default:return}a.preventDefault()}},c.prototype.cycle=function(b){return b||(this.paused=!1),this.interval&&clearInterval(this.interval),this.options.interval&&!this.paused&&(this.interval=setInterval(a.proxy(this.next,this),this.options.interval)),this},c.prototype.getItemIndex=function(a){return this.$items=a.parent().children(".item"),this.$items.index(a||this.$active)},c.prototype.getItemForDirection=function(a,b){var c="prev"==a?-1:1,d=this.getItemIndex(b),e=(d+c)%this.$items.length;return this.$items.eq(e)},c.prototype.to=function(a){var b=this,c=this.getItemIndex(this.$active=this.$element.find(".item.active"));return a>this.$items.length-1||0>a?void 0:this.sliding?this.$element.one("slid.bs.carousel",function(){b.to(a)}):c==a?this.pause().cycle():this.slide(a>c?"next":"prev",this.$items.eq(a))},c.prototype.pause=function(b){return b||(this.paused=!0),this.$element.find(".next, .prev").length&&a.support.transition&&(this.$element.trigger(a.support.transition.end),this.cycle(!0)),this.interval=clearInterval(this.interval),this},c.prototype.next=function(){return this.sliding?void 0:this.slide("next")},c.prototype.prev=function(){return this.sliding?void 0:this.slide("prev")},c.prototype.slide=function(b,d){var e=this.$element.find(".item.active"),f=d||this.getItemForDirection(b,e),g=this.interval,h="next"==b?"left":"right",i="next"==b?"first":"last",j=this;if(!f.length){if(!this.options.wrap)return;f=this.$element.find(".item")[i]()}if(f.hasClass("active"))return this.sliding=!1;var k=f[0],l=a.Event("slide.bs.carousel",{relatedTarget:k,direction:h});if(this.$element.trigger(l),!l.isDefaultPrevented()){if(this.sliding=!0,g&&this.pause(),this.$indicators.length){this.$indicators.find(".active").removeClass("active");var m=a(this.$indicators.children()[this.getItemIndex(f)]);m&&m.addClass("active")}var n=a.Event("slid.bs.carousel",{relatedTarget:k,direction:h});return a.support.transition&&this.$element.hasClass("slide")?(f.addClass(b),f[0].offsetWidth,e.addClass(h),f.addClass(h),e.one("bsTransitionEnd",function(){f.removeClass([b,h].join(" ")).addClass("active"),e.removeClass(["active",h].join(" ")),j.sliding=!1,setTimeout(function(){j.$element.trigger(n)},0)}).emulateTransitionEnd(c.TRANSITION_DURATION)):(e.removeClass("active"),f.addClass("active"),this.sliding=!1,this.$element.trigger(n)),g&&this.cycle(),this}};var d=a.fn.carousel;a.fn.carousel=b,a.fn.carousel.Constructor=c,a.fn.carousel.noConflict=function(){return a.fn.carousel=d,this};var e=function(c){var d,e=a(this),f=a(e.attr("data-target")||(d=e.attr("href"))&&d.replace(/.*(?=#[^\s]+$)/,""));if(f.hasClass("carousel")){var g=a.extend({},f.data(),e.data()),h=e.attr("data-slide-to");h&&(g.interval=!1),b.call(f,g),h&&f.data("bs.carousel").to(h),c.preventDefault()}};a(document).on("click.bs.carousel.data-api","[data-slide]",e).on("click.bs.carousel.data-api","[data-slide-to]",e),a(window).on("load",function(){a('[data-ride="carousel"]').each(function(){var c=a(this);b.call(c,c.data())})})}(jQuery),+function(a){"use strict";function b(b){var c,d=b.attr("data-target")||(c=b.attr("href"))&&c.replace(/.*(?=#[^\s]+$)/,"");return a(d)}function c(b){return this.each(function(){var c=a(this),e=c.data("bs.collapse"),f=a.extend({},d.DEFAULTS,c.data(),"object"==typeof b&&b);!e&&f.toggle&&"show"==b&&(f.toggle=!1),e||c.data("bs.collapse",e=new d(this,f)),"string"==typeof b&&e[b]()})}var d=function(b,c){this.$element=a(b),this.options=a.extend({},d.DEFAULTS,c),this.$trigger=a(this.options.trigger).filter('[href="#'+b.id+'"], [data-target="#'+b.id+'"]'),this.transitioning=null,this.options.parent?this.$parent=this.getParent():this.addAriaAndCollapsedClass(this.$element,this.$trigger),this.options.toggle&&this.toggle()};d.VERSION="3.3.1",d.TRANSITION_DURATION=350,d.DEFAULTS={toggle:!0,trigger:'[data-toggle="collapse"]'},d.prototype.dimension=function(){var a=this.$element.hasClass("width");return a?"width":"height"},d.prototype.show=function(){if(!this.transitioning&&!this.$element.hasClass("in")){var b,e=this.$parent&&this.$parent.find("> .panel").children(".in, .collapsing");if(!(e&&e.length&&(b=e.data("bs.collapse"),b&&b.transitioning))){var f=a.Event("show.bs.collapse");if(this.$element.trigger(f),!f.isDefaultPrevented()){e&&e.length&&(c.call(e,"hide"),b||e.data("bs.collapse",null));var g=this.dimension();this.$element.removeClass("collapse").addClass("collapsing")[g](0).attr("aria-expanded",!0),this.$trigger.removeClass("collapsed").attr("aria-expanded",!0),this.transitioning=1;var h=function(){this.$element.removeClass("collapsing").addClass("collapse in")[g](""),this.transitioning=0,this.$element.trigger("shown.bs.collapse")};if(!a.support.transition)return h.call(this);var i=a.camelCase(["scroll",g].join("-"));this.$element.one("bsTransitionEnd",a.proxy(h,this)).emulateTransitionEnd(d.TRANSITION_DURATION)[g](this.$element[0][i])}}}},d.prototype.hide=function(){if(!this.transitioning&&this.$element.hasClass("in")){var b=a.Event("hide.bs.collapse");if(this.$element.trigger(b),!b.isDefaultPrevented()){var c=this.dimension();this.$element[c](this.$element[c]())[0].offsetHeight,this.$element.addClass("collapsing").removeClass("collapse in").attr("aria-expanded",!1),this.$trigger.addClass("collapsed").attr("aria-expanded",!1),this.transitioning=1;var e=function(){this.transitioning=0,this.$element.removeClass("collapsing").addClass("collapse").trigger("hidden.bs.collapse")};return a.support.transition?void this.$element[c](0).one("bsTransitionEnd",a.proxy(e,this)).emulateTransitionEnd(d.TRANSITION_DURATION):e.call(this)}}},d.prototype.toggle=function(){this[this.$element.hasClass("in")?"hide":"show"]()},d.prototype.getParent=function(){return a(this.options.parent).find('[data-toggle="collapse"][data-parent="'+this.options.parent+'"]').each(a.proxy(function(c,d){var e=a(d);this.addAriaAndCollapsedClass(b(e),e)},this)).end()},d.prototype.addAriaAndCollapsedClass=function(a,b){var c=a.hasClass("in");a.attr("aria-expanded",c),b.toggleClass("collapsed",!c).attr("aria-expanded",c)};var e=a.fn.collapse;a.fn.collapse=c,a.fn.collapse.Constructor=d,a.fn.collapse.noConflict=function(){return a.fn.collapse=e,this},a(document).on("click.bs.collapse.data-api",'[data-toggle="collapse"]',function(d){var e=a(this);e.attr("data-target")||d.preventDefault();var f=b(e),g=f.data("bs.collapse"),h=g?"toggle":a.extend({},e.data(),{trigger:this});c.call(f,h)})}(jQuery),+function(a){"use strict";function b(b){b&&3===b.which||(a(e).remove(),a(f).each(function(){var d=a(this),e=c(d),f={relatedTarget:this};e.hasClass("open")&&(e.trigger(b=a.Event("hide.bs.dropdown",f)),b.isDefaultPrevented()||(d.attr("aria-expanded","false"),e.removeClass("open").trigger("hidden.bs.dropdown",f)))}))}function c(b){var c=b.attr("data-target");c||(c=b.attr("href"),c=c&&/#[A-Za-z]/.test(c)&&c.replace(/.*(?=#[^\s]*$)/,""));var d=c&&a(c);return d&&d.length?d:b.parent()}function d(b){return this.each(function(){var c=a(this),d=c.data("bs.dropdown");d||c.data("bs.dropdown",d=new g(this)),"string"==typeof b&&d[b].call(c)})}var e=".dropdown-backdrop",f='[data-toggle="dropdown"]',g=function(b){a(b).on("click.bs.dropdown",this.toggle)};g.VERSION="3.3.1",g.prototype.toggle=function(d){var e=a(this);if(!e.is(".disabled, :disabled")){var f=c(e),g=f.hasClass("open");if(b(),!g){"ontouchstart"in document.documentElement&&!f.closest(".navbar-nav").length&&a('',trigger:"hover focus",title:"",delay:0,html:!1,container:!1,viewport:{selector:"body",padding:0}},c.prototype.init=function(b,c,d){if(this.enabled=!0,this.type=b,this.$element=a(c),this.options=this.getOptions(d),this.$viewport=this.options.viewport&&a(a.isFunction(this.options.viewport)?this.options.viewport.call(this,this.$element):this.options.viewport.selector||this.options.viewport),this.inState={click:!1,hover:!1,focus:!1},this.$element[0]instanceof document.constructor&&!this.options.selector)throw new Error("`selector` option must be specified when initializing "+this.type+" on the window.document object!");for(var e=this.options.trigger.split(" "),f=e.length;f--;){var g=e[f];if("click"==g)this.$element.on("click."+this.type,this.options.selector,a.proxy(this.toggle,this));else if("manual"!=g){var h="hover"==g?"mouseenter":"focusin",i="hover"==g?"mouseleave":"focusout";this.$element.on(h+"."+this.type,this.options.selector,a.proxy(this.enter,this)),this.$element.on(i+"."+this.type,this.options.selector,a.proxy(this.leave,this))}}this.options.selector?this._options=a.extend({},this.options,{trigger:"manual",selector:""}):this.fixTitle()},c.prototype.getDefaults=function(){return c.DEFAULTS},c.prototype.getOptions=function(b){return b=a.extend({},this.getDefaults(),this.$element.data(),b),b.delay&&"number"==typeof b.delay&&(b.delay={show:b.delay,hide:b.delay}),b},c.prototype.getDelegateOptions=function(){var b={},c=this.getDefaults();return this._options&&a.each(this._options,function(a,d){c[a]!=d&&(b[a]=d)}),b},c.prototype.enter=function(b){var c=b instanceof this.constructor?b:a(b.currentTarget).data("bs."+this.type);return c||(c=new this.constructor(b.currentTarget,this.getDelegateOptions()),a(b.currentTarget).data("bs."+this.type,c)),b instanceof a.Event&&(c.inState["focusin"==b.type?"focus":"hover"]=!0),c.tip().hasClass("in")||"in"==c.hoverState?void(c.hoverState="in"):(clearTimeout(c.timeout),c.hoverState="in",c.options.delay&&c.options.delay.show?void(c.timeout=setTimeout(function(){"in"==c.hoverState&&c.show()},c.options.delay.show)):c.show())},c.prototype.isInStateTrue=function(){for(var a in this.inState)if(this.inState[a])return!0;return!1},c.prototype.leave=function(b){var c=b instanceof this.constructor?b:a(b.currentTarget).data("bs."+this.type);return c||(c=new this.constructor(b.currentTarget,this.getDelegateOptions()),a(b.currentTarget).data("bs."+this.type,c)),b instanceof a.Event&&(c.inState["focusout"==b.type?"focus":"hover"]=!1),c.isInStateTrue()?void 0:(clearTimeout(c.timeout),c.hoverState="out",c.options.delay&&c.options.delay.hide?void(c.timeout=setTimeout(function(){"out"==c.hoverState&&c.hide()},c.options.delay.hide)):c.hide())},c.prototype.show=function(){var b=a.Event("show.bs."+this.type);if(this.hasContent()&&this.enabled){this.$element.trigger(b);var d=a.contains(this.$element[0].ownerDocument.documentElement,this.$element[0]);if(b.isDefaultPrevented()||!d)return;var e=this,f=this.tip(),g=this.getUID(this.type);this.setContent(),f.attr("id",g),this.$element.attr("aria-describedby",g),this.options.animation&&f.addClass("fade");var h="function"==typeof this.options.placement?this.options.placement.call(this,f[0],this.$element[0]):this.options.placement,i=/\s?auto?\s?/i,j=i.test(h);j&&(h=h.replace(i,"")||"top"),f.detach().css({top:0,left:0,display:"block"}).addClass(h).data("bs."+this.type,this),this.options.container?f.appendTo(this.options.container):f.insertAfter(this.$element),this.$element.trigger("inserted.bs."+this.type);var k=this.getPosition(),l=f[0].offsetWidth,m=f[0].offsetHeight;if(j){var n=h,o=this.getPosition(this.$viewport);h="bottom"==h&&k.bottom+m>o.bottom?"top":"top"==h&&k.top-mo.width?"left":"left"==h&&k.left-lg.top+g.height&&(e.top=g.top+g.height-i)}else{var j=b.left-f,k=b.left+f+c;jg.right&&(e.left=g.left+g.width-k)}return e},c.prototype.getTitle=function(){var a,b=this.$element,c=this.options;return a=b.attr("data-original-title")||("function"==typeof c.title?c.title.call(b[0]):c.title)},c.prototype.getUID=function(a){do a+=~~(1e6*Math.random());while(document.getElementById(a));return a},c.prototype.tip=function(){if(!this.$tip&&(this.$tip=a(this.options.template),1!=this.$tip.length))throw new Error(this.type+" `template` option must consist of exactly 1 top-level element!");return this.$tip},c.prototype.arrow=function(){return this.$arrow=this.$arrow||this.tip().find(".tooltip-arrow")},c.prototype.enable=function(){this.enabled=!0},c.prototype.disable=function(){this.enabled=!1},c.prototype.toggleEnabled=function(){this.enabled=!this.enabled},c.prototype.toggle=function(b){var c=this;b&&(c=a(b.currentTarget).data("bs."+this.type),c||(c=new this.constructor(b.currentTarget,this.getDelegateOptions()),a(b.currentTarget).data("bs."+this.type,c))),b?(c.inState.click=!c.inState.click,c.isInStateTrue()?c.enter(c):c.leave(c)):c.tip().hasClass("in")?c.leave(c):c.enter(c)},c.prototype.destroy=function(){var a=this;clearTimeout(this.timeout),this.hide(function(){a.$element.off("."+a.type).removeData("bs."+a.type),a.$tip&&a.$tip.detach(),a.$tip=null,a.$arrow=null,a.$viewport=null})};var d=a.fn.tooltip;a.fn.tooltip=b,a.fn.tooltip.Constructor=c,a.fn.tooltip.noConflict=function(){return a.fn.tooltip=d,this}}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.popover"),f="object"==typeof b&&b;(e||!/destroy|hide/.test(b))&&(e||d.data("bs.popover",e=new c(this,f)),"string"==typeof b&&e[b]())})}var c=function(a,b){this.init("popover",a,b)};if(!a.fn.tooltip)throw new Error("Popover requires tooltip.js");c.VERSION="3.3.5",c.DEFAULTS=a.extend({},a.fn.tooltip.Constructor.DEFAULTS,{placement:"right",trigger:"click",content:"",template:''}),c.prototype=a.extend({},a.fn.tooltip.Constructor.prototype),c.prototype.constructor=c,c.prototype.getDefaults=function(){return c.DEFAULTS},c.prototype.setContent=function(){var a=this.tip(),b=this.getTitle(),c=this.getContent();a.find(".popover-title")[this.options.html?"html":"text"](b),a.find(".popover-content").children().detach().end()[this.options.html?"string"==typeof c?"html":"append":"text"](c),a.removeClass("fade top bottom left right in"),a.find(".popover-title").html()||a.find(".popover-title").hide()},c.prototype.hasContent=function(){return this.getTitle()||this.getContent()},c.prototype.getContent=function(){var a=this.$element,b=this.options;return a.attr("data-content")||("function"==typeof b.content?b.content.call(a[0]):b.content)},c.prototype.arrow=function(){return this.$arrow=this.$arrow||this.tip().find(".arrow")};var d=a.fn.popover;a.fn.popover=b,a.fn.popover.Constructor=c,a.fn.popover.noConflict=function(){return a.fn.popover=d,this}}(jQuery),+function(a){"use strict";function b(c,d){this.$body=a(document.body),this.$scrollElement=a(a(c).is(document.body)?window:c),this.options=a.extend({},b.DEFAULTS,d),this.selector=(this.options.target||"")+" .nav li > a",this.offsets=[],this.targets=[],this.activeTarget=null,this.scrollHeight=0,this.$scrollElement.on("scroll.bs.scrollspy",a.proxy(this.process,this)),this.refresh(),this.process()}function c(c){return this.each(function(){var d=a(this),e=d.data("bs.scrollspy"),f="object"==typeof c&&c;e||d.data("bs.scrollspy",e=new b(this,f)),"string"==typeof c&&e[c]()})}b.VERSION="3.3.5",b.DEFAULTS={offset:10},b.prototype.getScrollHeight=function(){return this.$scrollElement[0].scrollHeight||Math.max(this.$body[0].scrollHeight,document.documentElement.scrollHeight)},b.prototype.refresh=function(){var b=this,c="offset",d=0;this.offsets=[],this.targets=[],this.scrollHeight=this.getScrollHeight(),a.isWindow(this.$scrollElement[0])||(c="position",d=this.$scrollElement.scrollTop()),this.$body.find(this.selector).map(function(){var b=a(this),e=b.data("target")||b.attr("href"),f=/^#./.test(e)&&a(e);return f&&f.length&&f.is(":visible")&&[[f[c]().top+d,e]]||null}).sort(function(a,b){return a[0]-b[0]}).each(function(){b.offsets.push(this[0]),b.targets.push(this[1])})},b.prototype.process=function(){var a,b=this.$scrollElement.scrollTop()+this.options.offset,c=this.getScrollHeight(),d=this.options.offset+c-this.$scrollElement.height(),e=this.offsets,f=this.targets,g=this.activeTarget;if(this.scrollHeight!=c&&this.refresh(),b>=d)return g!=(a=f[f.length-1])&&this.activate(a);if(g&&b=e[a]&&(void 0===e[a+1]||b .dropdown-menu > .active").removeClass("active").end().find('[data-toggle="tab"]').attr("aria-expanded",!1),b.addClass("active").find('[data-toggle="tab"]').attr("aria-expanded",!0),h?(b[0].offsetWidth,b.addClass("in")):b.removeClass("fade"),b.parent(".dropdown-menu").length&&b.closest("li.dropdown").addClass("active").end().find('[data-toggle="tab"]').attr("aria-expanded",!0),e&&e()}var g=d.find("> .active"),h=e&&a.support.transition&&(g.length&&g.hasClass("fade")||!!d.find("> .fade").length);g.length&&h?g.one("bsTransitionEnd",f).emulateTransitionEnd(c.TRANSITION_DURATION):f(),g.removeClass("in")};var d=a.fn.tab;a.fn.tab=b,a.fn.tab.Constructor=c,a.fn.tab.noConflict=function(){return a.fn.tab=d,this};var e=function(c){c.preventDefault(),b.call(a(this),"show")};a(document).on("click.bs.tab.data-api",'[data-toggle="tab"]',e).on("click.bs.tab.data-api",'[data-toggle="pill"]',e)}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.affix"),f="object"==typeof b&&b;e||d.data("bs.affix",e=new c(this,f)),"string"==typeof b&&e[b]()})}var c=function(b,d){this.options=a.extend({},c.DEFAULTS,d),this.$target=a(this.options.target).on("scroll.bs.affix.data-api",a.proxy(this.checkPosition,this)).on("click.bs.affix.data-api",a.proxy(this.checkPositionWithEventLoop,this)),this.$element=a(b),this.affixed=null,this.unpin=null,this.pinnedOffset=null,this.checkPosition()};c.VERSION="3.3.5",c.RESET="affix affix-top affix-bottom",c.DEFAULTS={offset:0,target:window},c.prototype.getState=function(a,b,c,d){var e=this.$target.scrollTop(),f=this.$element.offset(),g=this.$target.height();if(null!=c&&"top"==this.affixed)return c>e?"top":!1;if("bottom"==this.affixed)return null!=c?e+this.unpin<=f.top?!1:"bottom":a-d>=e+g?!1:"bottom";var h=null==this.affixed,i=h?e:f.top,j=h?g:b;return null!=c&&c>=e?"top":null!=d&&i+j>=a-d?"bottom":!1},c.prototype.getPinnedOffset=function(){if(this.pinnedOffset)return this.pinnedOffset;this.$element.removeClass(c.RESET).addClass("affix");var a=this.$target.scrollTop(),b=this.$element.offset();return this.pinnedOffset=b.top-a},c.prototype.checkPositionWithEventLoop=function(){setTimeout(a.proxy(this.checkPosition,this),1)},c.prototype.checkPosition=function(){if(this.$element.is(":visible")){var b=this.$element.height(),d=this.options.offset,e=d.top,f=d.bottom,g=Math.max(a(document).height(),a(document.body).height());"object"!=typeof d&&(f=e=d),"function"==typeof e&&(e=d.top(this.$element)),"function"==typeof f&&(f=d.bottom(this.$element));var h=this.getState(g,b,e,f);if(this.affixed!=h){null!=this.unpin&&this.$element.css("top","");var i="affix"+(h?"-"+h:""),j=a.Event(i+".bs.affix");if(this.$element.trigger(j),j.isDefaultPrevented())return;this.affixed=h,this.unpin="bottom"==h?this.getPinnedOffset():null,this.$element.removeClass(c.RESET).addClass(i).trigger(i.replace("affix","affixed")+".bs.affix")}"bottom"==h&&this.$element.offset({top:g-b-f})}};var d=a.fn.affix;a.fn.affix=b,a.fn.affix.Constructor=c,a.fn.affix.noConflict=function(){return a.fn.affix=d,this},a(window).on("load",function(){a('[data-spy="affix"]').each(function(){var c=a(this),d=c.data();d.offset=d.offset||{},null!=d.offsetBottom&&(d.offset.bottom=d.offsetBottom),null!=d.offsetTop&&(d.offset.top=d.offsetTop),b.call(c,d)})})}(jQuery); \ No newline at end of file diff --git a/liste-envies-war/src/main/webapp/js/lib/material-kit.js b/liste-envies-war/src/main/webapp/js/lib/material-kit.js new file mode 100644 index 00000000..c37e2074 --- /dev/null +++ b/liste-envies-war/src/main/webapp/js/lib/material-kit.js @@ -0,0 +1,145 @@ +/*! ========================================================= + * + * Material Kit Free - V1.1.0 + * + * ========================================================= + * + * + * _oo0oo_ + * o8888888o + * 88" . "88 + * (| -_- |) + * 0\ = /0 + * ___/`---'\___ + * .' \\| |// '. + * / \\||| : |||// \ + * / _||||| -:- |||||- \ + * | | \\\ - /// | | + * | \_| ''\---/'' |_/ | + * \ .-\__ '-' ___/-. / + * ___'. .' /--.--\ `. .'___ + * ."" '< `.___\_<|>_/___.' >' "". + * | | : `- \`.;`\ _ /`;.`/ - ` : | | + * \ \ `_. \_ __\ /__ _/ .-` / / + * =====`-.____`.___ \_____/___.-`___.-'===== + * `=---=' + * + * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + * + * Buddha Bless: "No Bugs" + * + * ========================================================= */ + +var transparent = true; + +var transparentDemo = true; +var fixedTop = false; + +var navbar_initialized = false; + +$(document).ready(function(){ + + // Init Material scripts for buttons ripples, inputs animations etc, more info on the next link https://github.com/FezVrasta/bootstrap-material-design#materialjs + $.material.init(); + + // Activate the Tooltips + $('[data-toggle="tooltip"], [rel="tooltip"]').tooltip(); + + // Activate Datepicker + if($('.datepicker').length != 0){ + $('.datepicker').datepicker({ + weekStart:1 + }); + } + + // Check if we have the class "navbar-color-on-scroll" then add the function to remove the class "navbar-transparent" so it will transform to a plain color. + if($('.navbar-color-on-scroll').length != 0){ + $(window).on('scroll', materialKit.checkScrollForTransparentNavbar) + } + + // Activate Popovers + $('[data-toggle="popover"]').popover(); + + // Active Carousel + $('.carousel').carousel({ + interval: 400000 + }); + +}); + +materialKit = { + misc:{ + navbar_menu_visible: 0 + }, + + checkScrollForTransparentNavbar: debounce(function() { + if($(document).scrollTop() > 260 ) { + if(transparent) { + transparent = false; + $('.navbar-color-on-scroll').removeClass('navbar-transparent'); + } + } else { + if( !transparent ) { + transparent = true; + $('.navbar-color-on-scroll').addClass('navbar-transparent'); + } + } + }, 17), + + initSliders: function(){ + // Sliders for demo purpose + $('#sliderRegular').noUiSlider({ + start: 40, + connect: "lower", + range: { + min: 0, + max: 100 + } + }); + + $('#sliderDouble').noUiSlider({ + start: [20, 60] , + connect: true, + range: { + min: 0, + max: 100 + } + }); + } +} + + +var big_image; + +materialKitDemo = { + checkScrollForParallax: debounce(function(){ + var current_scroll = $(this).scrollTop(); + + oVal = ($(window).scrollTop() / 3); + big_image.css({ + 'transform':'translate3d(0,' + oVal +'px,0)', + '-webkit-transform':'translate3d(0,' + oVal +'px,0)', + '-ms-transform':'translate3d(0,' + oVal +'px,0)', + '-o-transform':'translate3d(0,' + oVal +'px,0)' + }); + + }, 6) + +} +// Returns a function, that, as long as it continues to be invoked, will not +// be triggered. The function will be called after it stops being called for +// N milliseconds. If `immediate` is passed, trigger the function on the +// leading edge, instead of the trailing. + +function debounce(func, wait, immediate) { + var timeout; + return function() { + var context = this, args = arguments; + clearTimeout(timeout); + timeout = setTimeout(function() { + timeout = null; + if (!immediate) func.apply(context, args); + }, wait); + if (immediate && !timeout) func.apply(context, args); + }; +}; diff --git a/liste-envies-war/src/main/webapp/js/lib/material.min.js b/liste-envies-war/src/main/webapp/js/lib/material.min.js new file mode 100644 index 00000000..e8f3b48c --- /dev/null +++ b/liste-envies-war/src/main/webapp/js/lib/material.min.js @@ -0,0 +1 @@ +!function(t){function o(t){return"undefined"==typeof t.which?!0:"number"==typeof t.which&&t.which>0?!t.ctrlKey&&!t.metaKey&&!t.altKey&&8!=t.which&&9!=t.which&&13!=t.which&&16!=t.which&&17!=t.which&&20!=t.which&&27!=t.which:!1}function i(o){var i=t(o);i.prop("disabled")||i.closest(".form-group").addClass("is-focused")}function n(o){o.closest("label").hover(function(){var o=t(this).find("input");o.prop("disabled")||i(o)},function(){e(t(this).find("input"))})}function e(o){t(o).closest(".form-group").removeClass("is-focused")}t.expr[":"].notmdproc=function(o){return t(o).data("mdproc")?!1:!0},t.material={options:{validate:!0,input:!0,ripples:!0,checkbox:!0,togglebutton:!0,radio:!0,arrive:!0,autofill:!1,withRipples:[".btn:not(.btn-link)",".card-image",".navbar a:not(.withoutripple)",".footer a:not(.withoutripple)",".dropdown-menu a",".nav-tabs a:not(.withoutripple)",".withripple",".pagination li:not(.active):not(.disabled) a:not(.withoutripple)"].join(","),inputElements:"input.form-control, textarea.form-control, select.form-control",checkboxElements:".checkbox > label > input[type=checkbox]",togglebuttonElements:".togglebutton > label > input[type=checkbox]",radioElements:".radio > label > input[type=radio]"},checkbox:function(o){var i=t(o?o:this.options.checkboxElements).filter(":notmdproc").data("mdproc",!0).after("");n(i)},togglebutton:function(o){var i=t(o?o:this.options.togglebuttonElements).filter(":notmdproc").data("mdproc",!0).after("");n(i)},radio:function(o){var i=t(o?o:this.options.radioElements).filter(":notmdproc").data("mdproc",!0).after("");n(i)},input:function(o){t(o?o:this.options.inputElements).filter(":notmdproc").data("mdproc",!0).each(function(){var o=t(this),i=o.closest(".form-group");0===i.length&&(o.wrap("
    "),i=o.closest(".form-group")),o.attr("data-hint")&&(o.after("

    "+o.attr("data-hint")+"

    "),o.removeAttr("data-hint"));var n={"input-lg":"form-group-lg","input-sm":"form-group-sm"};if(t.each(n,function(t,n){o.hasClass(t)&&(o.removeClass(t),i.addClass(n))}),o.hasClass("floating-label")){var e=o.attr("placeholder");o.attr("placeholder",null).removeClass("floating-label");var a=o.attr("id"),r="";a&&(r="for='"+a+"'"),i.addClass("label-floating"),o.after("")}(null===o.val()||"undefined"==o.val()||""===o.val())&&i.addClass("is-empty"),i.append(""),i.find("input[type=file]").length>0&&i.addClass("is-fileinput")})},attachInputEventHandlers:function(){var n=this.options.validate;t(document).on("change",".checkbox input[type=checkbox]",function(){t(this).blur()}).on("keydown paste",".form-control",function(i){o(i)&&t(this).closest(".form-group").removeClass("is-empty")}).on("keyup change",".form-control",function(){var o=t(this),i=o.closest(".form-group"),e="undefined"==typeof o[0].checkValidity||o[0].checkValidity();""===o.val()?i.addClass("is-empty"):i.removeClass("is-empty"),n&&(e?i.removeClass("has-error"):i.addClass("has-error"))}).on("focus",".form-control, .form-group.is-fileinput",function(){i(this)}).on("blur",".form-control, .form-group.is-fileinput",function(){e(this)}).on("change",".form-group input",function(){var o=t(this);if("file"!=o.attr("type")){var i=o.closest(".form-group"),n=o.val();n?i.removeClass("is-empty"):i.addClass("is-empty")}}).on("change",".form-group.is-fileinput input[type='file']",function(){var o=t(this),i=o.closest(".form-group"),n="";t.each(this.files,function(t,o){n+=o.name+", "}),n=n.substring(0,n.length-2),n?i.removeClass("is-empty"):i.addClass("is-empty"),i.find("input.form-control[readonly]").val(n)})},ripples:function(o){t(o?o:this.options.withRipples).ripples()},autofill:function(){var o=setInterval(function(){t("input[type!=checkbox]").each(function(){var o=t(this);o.val()&&o.val()!==o.attr("value")&&o.trigger("change")})},100);setTimeout(function(){clearInterval(o)},1e4)},attachAutofillEventHandlers:function(){var o;t(document).on("focus","input",function(){var i=t(this).parents("form").find("input").not("[type=file]");o=setInterval(function(){i.each(function(){var o=t(this);o.val()!==o.attr("value")&&o.trigger("change")})},100)}).on("blur",".form-group input",function(){clearInterval(o)})},init:function(o){this.options=t.extend({},this.options,o);var i=t(document);t.fn.ripples&&this.options.ripples&&this.ripples(),this.options.input&&(this.input(),this.attachInputEventHandlers()),this.options.checkbox&&this.checkbox(),this.options.togglebutton&&this.togglebutton(),this.options.radio&&this.radio(),this.options.autofill&&(this.autofill(),this.attachAutofillEventHandlers()),document.arrive&&this.options.arrive&&(t.fn.ripples&&this.options.ripples&&i.arrive(this.options.withRipples,function(){t.material.ripples(t(this))}),this.options.input&&i.arrive(this.options.inputElements,function(){t.material.input(t(this))}),this.options.checkbox&&i.arrive(this.options.checkboxElements,function(){t.material.checkbox(t(this))}),this.options.radio&&i.arrive(this.options.radioElements,function(){t.material.radio(t(this))}),this.options.togglebutton&&i.arrive(this.options.togglebuttonElements,function(){t.material.togglebutton(t(this))}))}}}(jQuery),function(t,o,i,n){"use strict";function e(o,i){r=this,this.element=t(o),this.options=t.extend({},s,i),this._defaults=s,this._name=a,this.init()}var a="ripples",r=null,s={};e.prototype.init=function(){var i=this.element;i.on("mousedown touchstart",function(n){if(!r.isTouch()||"mousedown"!==n.type){i.find(".ripple-container").length||i.append('
    ');var e=i.children(".ripple-container"),a=r.getRelY(e,n),s=r.getRelX(e,n);if(a||s){var l=r.getRipplesColor(i),p=t("
    ");p.addClass("ripple").css({left:s,top:a,"background-color":l}),e.append(p),function(){return o.getComputedStyle(p[0]).opacity}(),r.rippleOn(i,p),setTimeout(function(){r.rippleEnd(p)},500),i.on("mouseup mouseleave touchend",function(){p.data("mousedown","off"),"off"===p.data("animating")&&r.rippleOut(p)})}}})},e.prototype.getNewSize=function(t,o){return Math.max(t.outerWidth(),t.outerHeight())/o.outerWidth()*2.5},e.prototype.getRelX=function(t,o){var i=t.offset();return r.isTouch()?(o=o.originalEvent,1===o.touches.length?o.touches[0].pageX-i.left:!1):o.pageX-i.left},e.prototype.getRelY=function(t,o){var i=t.offset();return r.isTouch()?(o=o.originalEvent,1===o.touches.length?o.touches[0].pageY-i.top:!1):o.pageY-i.top},e.prototype.getRipplesColor=function(t){var i=t.data("ripple-color")?t.data("ripple-color"):o.getComputedStyle(t[0]).color;return i},e.prototype.hasTransitionSupport=function(){var t=i.body||i.documentElement,o=t.style,e=o.transition!==n||o.WebkitTransition!==n||o.MozTransition!==n||o.MsTransition!==n||o.OTransition!==n;return e},e.prototype.isTouch=function(){return/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent)},e.prototype.rippleEnd=function(t){t.data("animating","off"),"off"===t.data("mousedown")&&r.rippleOut(t)},e.prototype.rippleOut=function(t){t.off(),r.hasTransitionSupport()?t.addClass("ripple-out"):t.animate({opacity:0},100,function(){t.trigger("transitionend")}),t.on("transitionend webkitTransitionEnd oTransitionEnd MSTransitionEnd",function(){t.remove()})},e.prototype.rippleOn=function(t,o){var i=r.getNewSize(t,o);r.hasTransitionSupport()?o.css({"-ms-transform":"scale("+i+")","-moz-transform":"scale("+i+")","-webkit-transform":"scale("+i+")",transform:"scale("+i+")"}).addClass("ripple-on").data("animating","on").data("mousedown","on"):o.animate({width:2*Math.max(t.outerWidth(),t.outerHeight()),height:2*Math.max(t.outerWidth(),t.outerHeight()),"margin-left":-1*Math.max(t.outerWidth(),t.outerHeight()),"margin-top":-1*Math.max(t.outerWidth(),t.outerHeight()),opacity:.2},500,function(){o.trigger("transitionend")})},t.fn.ripples=function(o){return this.each(function(){t.data(this,"plugin_"+a)||t.data(this,"plugin_"+a,new e(this,o))})}}(jQuery,window,document); diff --git a/liste-envies-war/src/main/webapp/js/lib/nouislider.min.js b/liste-envies-war/src/main/webapp/js/lib/nouislider.min.js new file mode 100644 index 00000000..b9a63edd --- /dev/null +++ b/liste-envies-war/src/main/webapp/js/lib/nouislider.min.js @@ -0,0 +1,31 @@ +/* + +$.Link (part of noUiSlider) - WTFPL */ +(function(c){function m(a,c,d){if((a[c]||a[d])&&a[c]===a[d])throw Error("(Link) '"+c+"' can't match '"+d+"'.'");}function r(a){void 0===a&&(a={});if("object"!==typeof a)throw Error("(Format) 'format' option must be an object.");var h={};c(u).each(function(c,n){if(void 0===a[n])h[n]=A[c];else if(typeof a[n]===typeof A[c]){if("decimals"===n&&(0>a[n]||7a&&(n=this.a("negative"),k=this.a("negativeBefore"));a=Math.abs(a).toFixed(d).toString();a=a.split(".");this.a("thousand")?(m=c(a[0]).match(/.{1,3}/g),m=c(m.join(c(this.a("thousand"))))):m=a[0];this.a("mark")&&1")[0]};k.prototype.H=function(a){this.method="val";this.j=document.createElement("input");this.j.name=a;this.j.type="hidden"};k.prototype.G=function(a){function h(a,c){return[c?null:a,c?a:null]}var d=this;this.method="val";this.target=a.on("change",function(a){d.B.val(h(c(a.target).val(),d.t),{link:d,set:!0})})};k.prototype.p=function(a,h,d,k){this.g=d;this.update=!k;if("string"=== +typeof a&&0===a.indexOf("-tooltip-"))this.K(a,h);else if("string"===typeof a&&0!==a.indexOf("-"))this.H(a);else if("function"===typeof a)this.target=!1,this.method=a;else{if(a instanceof c||c.zepto&&c.zepto.isZ(a)){if(!h){if(a.is("input, select, textarea")){this.G(a);return}h="html"}if("function"===typeof h||"string"===typeof h&&a[h]){this.method=h;this.target=a;return}}throw new RangeError("(Link) Invalid Link.");}};k.prototype.write=function(a,c,d,k){if(!this.update||!1!==k)if(this.u=a,this.F=a= +this.format(a),"function"===typeof this.method)this.method.call(this.target[0]||d[0],a,c,d);else this.target[this.method](a,c,d)};k.prototype.q=function(a){this.g=new r(c.extend({},a,this.g instanceof r?this.g.r:this.g))};k.prototype.J=function(a){this.B=a};k.prototype.I=function(a){this.t=a};k.prototype.format=function(a){return this.g.L(a)};k.prototype.A=function(a){return this.g.w(a)};k.prototype.p.prototype=k.prototype;c.Link=k})(window.jQuery||window.Zepto);/* + +$.fn.noUiSlider - WTFPL - refreshless.com/nouislider/ */ +(function(c){function m(e){return"number"===typeof e&&!isNaN(e)&&isFinite(e)}function r(e){return c.isArray(e)?e:[e]}function k(e,b){e.addClass(b);setTimeout(function(){e.removeClass(b)},300)}function u(e,b){return 100*b/(e[1]-e[0])}function A(e,b){if(b>=e.d.slice(-1)[0])return 100;for(var a=1,c,f,d;b>=e.d[a];)a++;c=e.d[a-1];f=e.d[a];d=e.c[a-1];c=[c,f];return d+u(c,0>c[0]?b+Math.abs(c[0]):b-c[0])/(100/(e.c[a]-d))}function a(e,b){if(100<=b)return e.d.slice(-1)[0];for(var a=1,c,f,d;b>=e.c[a];)a++;c= +e.d[a-1];f=e.d[a];d=e.c[a-1];c=[c,f];return 100/(e.c[a]-d)*(b-d)*(c[1]-c[0])/100+c[0]}function h(a,b){for(var c=1,g;(a.dir?100-b:b)>=a.c[c];)c++;if(a.m)return g=a.c[c-1],c=a.c[c],b-g>(c-g)/2?c:g;a.h[c-1]?(g=a.h[c-1],c=a.c[c-1]+Math.round((b-a.c[c-1])/g)*g):c=b;return c}function d(a,b){if(!m(b))throw Error("noUiSlider: 'step' is not numeric.");a.h[0]=b}function n(a,b){if("object"!==typeof b||c.isArray(b))throw Error("noUiSlider: 'range' is not an object.");if(void 0===b.min||void 0===b.max)throw Error("noUiSlider: Missing 'min' or 'max' in 'range'."); +c.each(b,function(b,g){var d;"number"===typeof g&&(g=[g]);if(!c.isArray(g))throw Error("noUiSlider: 'range' contains invalid value.");d="min"===b?0:"max"===b?100:parseFloat(b);if(!m(d)||!m(g[0]))throw Error("noUiSlider: 'range' value isn't numeric.");a.c.push(d);a.d.push(g[0]);d?a.h.push(isNaN(g[1])?!1:g[1]):isNaN(g[1])||(a.h[0]=g[1])});c.each(a.h,function(b,c){if(!c)return!0;a.h[b]=u([a.d[b],a.d[b+1]],c)/(100/(a.c[b+1]-a.c[b]))})}function E(a,b){"number"===typeof b&&(b=[b]);if(!c.isArray(b)||!b.length|| +2
    ").addClass(f[2]),g=["-lower","-upper"];a.dir&&g.reverse();d.children().addClass(f[3]+" "+f[3]+g[b]);return d}function Q(a,b){b.j&&(b=new c.Link({target:c(b.j).clone().appendTo(a),method:b.method,format:b.g},!0));return b}function R(a,b){var d,f=[];for(d=0;d").appendTo(b).addClass(f[1])}function V(d,b,m){function g(){return t[["width","height"][b.k]]()}function n(a){var b,c=[q.val()];for(b=0;bp&&(p=h(b,p));p=Math.max(Math.min(parseFloat(p.toFixed(7)),100),0);if(p===x[g])return 1===l.length?!1:p===H||p===k?0:!1;d.css(b.style,p+"%");d.is(":first-child")&&d.toggleClass(f[17],50d&&(e+=Math.abs(d)),100 + +
    -
    -
    - - {{w.wish.price}} +