From 5e9eb8e43afbe322ed96991b57a4f1092dea2a4b Mon Sep 17 00:00:00 2001 From: Hyunji Kim Date: Tue, 13 Jun 2017 15:46:23 -0700 Subject: [PATCH 01/54] Created model/view files --- src/collections/movie_list.js | 0 src/models/movie.js | 0 src/views/movie_list_view.js | 0 src/views/movie_view.js | 0 4 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 src/collections/movie_list.js create mode 100644 src/models/movie.js create mode 100644 src/views/movie_list_view.js create mode 100644 src/views/movie_view.js diff --git a/src/collections/movie_list.js b/src/collections/movie_list.js new file mode 100644 index 000000000..e69de29bb diff --git a/src/models/movie.js b/src/models/movie.js new file mode 100644 index 000000000..e69de29bb diff --git a/src/views/movie_list_view.js b/src/views/movie_list_view.js new file mode 100644 index 000000000..e69de29bb diff --git a/src/views/movie_view.js b/src/views/movie_view.js new file mode 100644 index 000000000..e69de29bb From 58d484352a11ee972634cec7418994a951a5430e Mon Sep 17 00:00:00 2001 From: Cynthia Cobb Date: Tue, 13 Jun 2017 16:04:57 -0700 Subject: [PATCH 02/54] added template for movie list in index --- build/index.html | 20 ++++++++++++++++++-- src/app.js | 2 +- 2 files changed, 19 insertions(+), 3 deletions(-) diff --git a/build/index.html b/build/index.html index 03869595f..be5c0dc9a 100644 --- a/build/index.html +++ b/build/index.html @@ -5,11 +5,27 @@ - Backbone Baseline + Video Store +
+

Video Store

+
- +
+ +
+
+ + + + diff --git a/src/app.js b/src/app.js index 58b77997c..545e5cde1 100644 --- a/src/app.js +++ b/src/app.js @@ -3,7 +3,7 @@ // Import jQuery & Underscore import $ from 'jquery'; import _ from 'underscore'; - +// import // ready to go $(document).ready(function() { From 2825a416d4d6da0aca67ebd6fb3f07b9fde60682 Mon Sep 17 00:00:00 2001 From: Cynthia Cobb Date: Wed, 14 Jun 2017 09:39:22 -0700 Subject: [PATCH 03/54] request for all movies in rental library working --- build/index.html | 3 ++- src/app.js | 34 ++++++++++++++++++++++++++++++++-- src/collections/movie_list.js | 9 +++++++++ src/models/movie.js | 18 ++++++++++++++++++ src/views/movie_list_view.js | 34 ++++++++++++++++++++++++++++++++++ src/views/movie_view.js | 21 +++++++++++++++++++++ 6 files changed, 116 insertions(+), 3 deletions(-) diff --git a/build/index.html b/build/index.html index be5c0dc9a..2adeff792 100644 --- a/build/index.html +++ b/build/index.html @@ -18,7 +18,8 @@

Video Store

- diff --git a/src/app.js b/src/app.js index 9adb34ec7..77cdab27c 100644 --- a/src/app.js +++ b/src/app.js @@ -6,8 +6,8 @@ import _ from 'underscore'; import MovieList from './collections/movie_list'; import MovieListView from './views/movie_list_view'; -// import -// ready to go + + var buildMovieList = function(event){ console.log("clicked on the button"); @@ -16,27 +16,12 @@ var buildMovieList = function(event){ var movieListView = new MovieListView({ model: movieList, - templateList: _.template( $('#movie-card-template').html() ), + templateCard: _.template( $('#movie-card-template').html() ), el: 'main' }); }; - - $(document).ready(function() { - // $('section.main-content').append('

Hello World!

'); - $('#rental-list').click( function(event) { - console.log("clicked on the button"); - - var movieList = new MovieList(); - movieList.fetch(); - - var movieListView = new MovieListView({ - model: movieList, - templateCard: _.template( $('#movie-card-template').html() ), - el: 'main' - }); - - }); + $('#rental-list').click( buildMovieList); }); diff --git a/src/views/movie_list_view.js b/src/views/movie_list_view.js index 8b3f9480e..e6ab3f8c1 100644 --- a/src/views/movie_list_view.js +++ b/src/views/movie_list_view.js @@ -21,7 +21,7 @@ var MovieListView = Backbone.View.extend({ var movieView = new MovieView({ model: movie, template: that.template - // tagName: 'div' + // tagName: 'li' }); that.$('#movie-list').append( movieView.render().$el ); diff --git a/src/views/movie_view.js b/src/views/movie_view.js index ec551ec8f..803015fce 100644 --- a/src/views/movie_view.js +++ b/src/views/movie_view.js @@ -1,11 +1,11 @@ import Backbone from 'backbone'; var MovieView = Backbone.View.extend({ - tagName: 'div', + // tagName: 'li', + className: 'movieInfo', initialize: function(params) { this.template = params.template; - console.log(this.template); // this.listenTo(this.model, "change", this.render); // this.listenTo(this.model, "update", this.render); }, From 56def4ed1e77ad651177feaa394ae39538323d05 Mon Sep 17 00:00:00 2001 From: Cynthia Cobb Date: Wed, 14 Jun 2017 11:06:18 -0700 Subject: [PATCH 05/54] have movieViews rendering in initialize - will help with memory/load times --- src/views/movie_list_view.js | 28 ++++++++++++++++++++-------- src/views/movie_view.js | 10 +++++++++- 2 files changed, 29 insertions(+), 9 deletions(-) diff --git a/src/views/movie_list_view.js b/src/views/movie_list_view.js index e6ab3f8c1..fed53db77 100644 --- a/src/views/movie_list_view.js +++ b/src/views/movie_list_view.js @@ -7,7 +7,15 @@ var MovieListView = Backbone.View.extend({ initialize: function(params) { this.template = params.templateCard; + this.movieViews = []; + + this.model.forEach(function(rawMovie) { + this.addMovie(rawMovie); + }.bind(this) ); + + this.listenTo(this.model, "add", this.addMovie); this.listenTo(this.model, "update", this.render); + // this.listenTo(this.model, "remove", this.removeMovie); }, render: function(){ @@ -17,18 +25,22 @@ var MovieListView = Backbone.View.extend({ var that = this; - this.model.each( function(movie) { - var movieView = new MovieView({ - model: movie, - template: that.template - // tagName: 'li' - }); - - that.$('#movie-list').append( movieView.render().$el ); + this.movieViews.forEach(function(movieView){ + that.$('#movie-list').append(movieView.$el); }); return this; + }, + + addMovie: function(rawMovie){ + var movieView = new MovieView({ + model: rawMovie, + template: this.template + }); + + this.movieViews.push(movieView); } + }); export default MovieListView; diff --git a/src/views/movie_view.js b/src/views/movie_view.js index 803015fce..cca9152a2 100644 --- a/src/views/movie_view.js +++ b/src/views/movie_view.js @@ -6,13 +6,21 @@ var MovieView = Backbone.View.extend({ initialize: function(params) { this.template = params.template; + // this.listenTo(this.model, "change", this.render); -// this.listenTo(this.model, "update", this.render); + // this.listenTo(this.model, "update", this.render); + // this.listenTo(this.model, "sync", this.render); + + this.render(); }, render: function() { var compiledTemplate = this.template( this.model.toJSON() ); this.$el.html(compiledTemplate); + + // re-attach DOM event listners + this.delegateEvents(); + return this; } From 530f71c91d2a8aba7d876c349e8c19897c202e0b Mon Sep 17 00:00:00 2001 From: Hyunji Kim Date: Wed, 14 Jun 2017 11:47:16 -0700 Subject: [PATCH 06/54] merging --- build/index.html | 7 +++++++ src/app.js | 18 +++++++++++++++++- src/collections/movie_list.js | 8 +++++++- 3 files changed, 31 insertions(+), 2 deletions(-) diff --git a/build/index.html b/build/index.html index c845273be..a8b2fb522 100644 --- a/build/index.html +++ b/build/index.html @@ -14,6 +14,13 @@

Video Store

+
diff --git a/src/app.js b/src/app.js index 77cdab27c..5eb97a595 100644 --- a/src/app.js +++ b/src/app.js @@ -21,7 +21,23 @@ var buildMovieList = function(event){ }); }; +var buildMovieListTMDb = function(event){ + console.log("Getting movies from TMDb!"); + var searchText = $('#search').val(); + console.log(searchText); + var movieList = new MovieList(); + movieList.cumstomUrl(searchText); + movieList.fetch(); + + var movieListView = new MovieListView({ + model: movieList, + templateCard: _.template( $('#movie-card-template').html() ), + el: 'main' + }); +} + $(document).ready(function() { - $('#rental-list').click( buildMovieList); + $('#rental-list').click(buildMovieList); + $('#btn-search').click(buildMovieListTMDb); }); diff --git a/src/collections/movie_list.js b/src/collections/movie_list.js index 4e30cc407..c2aee93c8 100644 --- a/src/collections/movie_list.js +++ b/src/collections/movie_list.js @@ -3,7 +3,13 @@ import Movie from '../models/movie'; var MovieList = Backbone.Collection.extend({ model: Movie, - url: 'http://localhost:3000/movies' + url: 'http://localhost:3000/movies', + + cumstomUrl: function(searchText){ + this.url = this.url + "?query=" + searchText; + console.log(this.url); + return this; + } }); export default MovieList; From 2811224ef801bfb290dda11d0e03dae029c87bed Mon Sep 17 00:00:00 2001 From: Cynthia Cobb Date: Wed, 14 Jun 2017 11:51:50 -0700 Subject: [PATCH 07/54] playing with css of homepage --- build/index.html | 2 +- src/app.js | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/build/index.html b/build/index.html index a8b2fb522..16dc7524b 100644 --- a/build/index.html +++ b/build/index.html @@ -13,7 +13,7 @@

Video Store

- +
+
diff --git a/src/app.js b/src/app.js index 0a7390f03..b3f01c765 100644 --- a/src/app.js +++ b/src/app.js @@ -13,6 +13,9 @@ import RentalView from './views/rental_view'; var buildMovieList = function(event){ $("#search-bar").hide(); + $("#rentals").hide(); + $("#movie-list").show(); + console.log("clicked on the button"); @@ -31,6 +34,9 @@ var buildMovieList = function(event){ }; var buildMovieListTMDb = function(event) { + $("#rentals").hide(); + $("#movie-list").show(); + console.log("Getting movies from TMDb!"); var searchText = $('#search').val(); // console.log(searchText); @@ -50,6 +56,7 @@ var buildMovieListTMDb = function(event) { }; var toggleSearchBar = function(event) { + $("#rentals").hide(); event.stopPropagation(); $("#search-bar").show(); }; @@ -63,7 +70,12 @@ var toggleSearchBar = function(event) { // }; var checkoutMovie = function(event) { + event.stopPropagation(); + console.log("In checkoutMovie"); + $("#search-bar").hide(); + $("#movie-list").hide(); + $("#rentals").show(); console.log("inside checkoutMovie"); var rental = new Rental(); var rentalView = new RentalView({ @@ -71,7 +83,15 @@ var checkoutMovie = function(event) { templateCard: _.template( $('#rental-checkout-template').html() ), el: 'main' }); -} +}; + +var checkinMovie = function(event) { + console.log("inside checkinMovie"); + $("#search-bar").hide(); + $("#movie-list").hide(); + $("#rentals").show(); + +}; // var buildMovieView = function(event) { // console.log("in the single movie view"); // var searchText = $('.btn-single-search').val(); @@ -95,5 +115,7 @@ $(document).ready(function() { $('.btn-search').click( buildMovieListTMDb ); $('#new-movies-list').click( toggleSearchBar); $('#rental-checkout').click( checkoutMovie ); + $('#rental-checkin').click( checkinMovie ); + // $('#rental-single').click( showSearchBarForSingleMovie ); }); diff --git a/src/models/rental.js b/src/models/rental.js index d021c04ff..ac2163505 100644 --- a/src/models/rental.js +++ b/src/models/rental.js @@ -14,15 +14,18 @@ var Rental = Backbone.Model.extend({ dueDate.setDate(dueDate.getDate() + 3); this.set('due_date', dueDate); } - console.log(this.get("due_date")); - console.log("Rental Initialized: " + this.get("title") + this.get("customer_id")); }, url: 'http://localhost:3000/rentals/', - cumstomUrl: function(movieTitle){ + checkoutUrl: function(movieTitle){ this.url = this.url + movieTitle + "/check-out"; return this; + }, + + checkinUrl: function(movieTitle){ + this.url = this.url + movieTitle + "/return"; + return this; } }); diff --git a/src/views/movie_view.js b/src/views/movie_view.js index 655819a6a..9f287adba 100644 --- a/src/views/movie_view.js +++ b/src/views/movie_view.js @@ -33,10 +33,6 @@ var MovieView = Backbone.View.extend({ this.trigger('addToLib', this); } - // onCheckout: { - // this.trigger() - // } - }); export default MovieView; diff --git a/src/views/rental_view.js b/src/views/rental_view.js index 28100df30..0934cf41c 100644 --- a/src/views/rental_view.js +++ b/src/views/rental_view.js @@ -11,10 +11,9 @@ var RentalView = Backbone.View.extend({ render: function() { var compiledTemplate = this.template( this.model.toJSON() ); - this.$el.html(compiledTemplate); + this.$('#rentals').html(compiledTemplate); - // re-attach DOM event listners - this.delegateEvents(); + // this.delegateEvents(); return this; }, @@ -28,23 +27,11 @@ var RentalView = Backbone.View.extend({ var movieTitle = this.$('#rental-movie-title').val(); var customerId = this.$('#rental-customer-id').val(); this.model.set('customer_id', customerId); - this.model.cumstomUrl(movieTitle); + this.model.checkoutUrl(movieTitle); this.model.save(); + this.$("#rentals").hide(); } - // addToLib: function(movieView){ - // // console.log("made it to add to lib function"); - // var title = movieView.model.get("title") - // var inventory = this.$('#inventory').val(); - // movieView.model.set('inventory', inventory); - // this.model.create(movieView.model, { - // error: function(reponse) { alert("Error - Movie was not added to library") }, - // success: function(response) { alert(title + ': was added successfully!' + "\n" + 'Inventory: ' + inventory) } - // }); - // } - - - }); From ce503948e45a1d956848fdebfe1589d8d2975086 Mon Sep 17 00:00:00 2001 From: Cynthia Cobb Date: Tue, 20 Jun 2017 14:34:44 -0700 Subject: [PATCH 22/54] more styling of movie list --- build/css/styles.css | 8 ++++++++ build/index.html | 5 +++-- 2 files changed, 11 insertions(+), 2 deletions(-) diff --git a/build/css/styles.css b/build/css/styles.css index 07e0549e8..88d18fe2d 100644 --- a/build/css/styles.css +++ b/build/css/styles.css @@ -72,3 +72,11 @@ img { #search-bar { display: none; } + +h4 { + font-weight: bold; +} + +li { + list-style: none; +} diff --git a/build/index.html b/build/index.html index 651c1b5ad..4c4cc8fad 100644 --- a/build/index.html +++ b/build/index.html @@ -35,7 +35,7 @@

Video Store

From e784dfe2f93f97ddd1f426314e607e83756d0ead Mon Sep 17 00:00:00 2001 From: Cynthia Cobb Date: Tue, 20 Jun 2017 15:18:48 -0700 Subject: [PATCH 23/54] added available inventory to movie list view --- build/css/styles.css | 5 +---- build/index.html | 4 ++-- 2 files changed, 3 insertions(+), 6 deletions(-) diff --git a/build/css/styles.css b/build/css/styles.css index 88d18fe2d..8bb5bc1ee 100644 --- a/build/css/styles.css +++ b/build/css/styles.css @@ -57,11 +57,8 @@ li { } img { - /*width: 50%;*/ - /*height: 20em;*/ - /*padding: 1%;*/ margin-top: 0%; - margin-left: 2%; + /*margin-left: 2%;*/ /*border-top: solid;*/ } diff --git a/build/index.html b/build/index.html index 4c4cc8fad..6a3756735 100644 --- a/build/index.html +++ b/build/index.html @@ -34,7 +34,7 @@

Video Store

diff --git a/src/models/rental.js b/src/models/rental.js index ac2163505..fd25cec54 100644 --- a/src/models/rental.js +++ b/src/models/rental.js @@ -27,7 +27,6 @@ var Rental = Backbone.Model.extend({ this.url = this.url + movieTitle + "/return"; return this; } - }); export default Rental; diff --git a/src/views/rental_view.js b/src/views/rental_view.js index 6bf78e934..1d1884159 100644 --- a/src/views/rental_view.js +++ b/src/views/rental_view.js @@ -13,8 +13,6 @@ var RentalView = Backbone.View.extend({ var compiledTemplate = this.template( this.model.toJSON() ); this.$('#rentals').html(compiledTemplate); - // this.delegateEvents(); - return this; }, @@ -29,9 +27,6 @@ var RentalView = Backbone.View.extend({ this.model.set('customer_id', customerId); this.model.checkoutUrl(movieTitle); - - - var self = this; this.model.save({}, { success: function(model, response){ @@ -50,9 +45,6 @@ var RentalView = Backbone.View.extend({ }); this.model.url = 'http://localhost:3000/rentals/'; } - - - }); export default RentalView; From 6950b58549f0fb3f39b596677566b2adf9db376b Mon Sep 17 00:00:00 2001 From: Cynthia Cobb Date: Tue, 20 Jun 2017 16:04:56 -0700 Subject: [PATCH 27/54] ctn to figure out why add new movie is broke --- src/app.js | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/app.js b/src/app.js index 2fb0dbb6e..76d8b81a1 100644 --- a/src/app.js +++ b/src/app.js @@ -48,6 +48,8 @@ var buildMovieListTMDb = function(event) { } ); + // movieList.url = 'http://localhost:3000/movies'; + var movieListView = new MovieListView({ model: movieList, templateCard: _.template( $('#movie-card-template').html() ), From 7fb5a22d98594d3193607dd21094cfd8a0c86fea Mon Sep 17 00:00:00 2001 From: Hyunji Kim Date: Wed, 21 Jun 2017 10:17:44 -0700 Subject: [PATCH 28/54] Adding a movie/Alert working ok. --- src/app.js | 2 +- src/models/movie.js | 3 +-- src/views/movie_list_view.js | 25 ++++++++++++++----------- src/views/movie_view.js | 16 +++++++++++++++- 4 files changed, 31 insertions(+), 15 deletions(-) diff --git a/src/app.js b/src/app.js index 2fb0dbb6e..4b12cffcf 100644 --- a/src/app.js +++ b/src/app.js @@ -70,11 +70,11 @@ var checkoutMovie = function(event) { }; var checkinMovie = function(event) { + event.stopPropagation(); console.log("inside checkinMovie"); $("#search-bar").hide(); $("#movie-list").hide(); $("#rentals").show(); - }; $(document).ready(function() { diff --git a/src/models/movie.js b/src/models/movie.js index 2cbda1a40..8669e492a 100644 --- a/src/models/movie.js +++ b/src/models/movie.js @@ -10,8 +10,7 @@ var Movie = Backbone.Model.extend({ inventory: "integer" }, - - + url: 'http://localhost:3000/movies', initialize: function(params) { console.log("Movie Initialized: " + this.get("title")); diff --git a/src/views/movie_list_view.js b/src/views/movie_list_view.js index 9843726f2..d59062d80 100644 --- a/src/views/movie_list_view.js +++ b/src/views/movie_list_view.js @@ -45,19 +45,22 @@ var MovieListView = Backbone.View.extend({ }); this.movieViews.push(movieView); - }, - - addToLib: function(movieView){ - // console.log("made it to add to lib function"); - var title = movieView.model.get("title") - var inventory = this.$('#inventory').val(); - movieView.model.set('inventory', inventory); - this.model.create(movieView.model, { - error: function(reponse) { alert("Error - Movie was not added to library") }, - success: function(response) { alert(title + ': was added successfully!' + "\n" + 'Inventory: ' + inventory) } - }); } + // addToLib: function(movieView){ + // // console.log("made it to add to lib function"); + // + // console.log(this.model.url); + // var title = movieView.model.get("title"); + // console.log(title); + // this.model.url='http://localhost:3000/movies/'; + // + // this.model.create(movieView.model, { + // error: function(reponse) { alert("Error - Movie was not added to library"); }, + // success: function(response) { alert(title + ': was added successfully!' + "\n" + 'Inventory: ' + movieView.model.inventory); } + // }); + // } + }); export default MovieListView; diff --git a/src/views/movie_view.js b/src/views/movie_view.js index 9f287adba..1bd558e45 100644 --- a/src/views/movie_view.js +++ b/src/views/movie_view.js @@ -30,9 +30,23 @@ var MovieView = Backbone.View.extend({ }, addMovie: function(event) { - this.trigger('addToLib', this); + var inventory = this.$('#inventory').val(); + this.model.set('inventory', inventory); + var title = this.model.get('title'); + + this.model.save({}, { + error: function(reponse) { alert("Error - Movie was not added to library"); }, + success: function(response) { alert(title + ': was added successfully!' + "\n" + 'Inventory: ' + inventory); } + }); + } + + + + + + }); export default MovieView; From 8acf7a45a983cadabdb8b02d028ddad266fdf81f Mon Sep 17 00:00:00 2001 From: Cynthia Cobb Date: Wed, 21 Jun 2017 10:19:40 -0700 Subject: [PATCH 29/54] preparing for merge - hyunji fixed post movie bug --- src/views/movie_list_view.js | 20 ++++++++++---------- src/views/movie_view.js | 8 +++++--- 2 files changed, 15 insertions(+), 13 deletions(-) diff --git a/src/views/movie_list_view.js b/src/views/movie_list_view.js index 9843726f2..d1c651589 100644 --- a/src/views/movie_list_view.js +++ b/src/views/movie_list_view.js @@ -47,16 +47,16 @@ var MovieListView = Backbone.View.extend({ this.movieViews.push(movieView); }, - addToLib: function(movieView){ - // console.log("made it to add to lib function"); - var title = movieView.model.get("title") - var inventory = this.$('#inventory').val(); - movieView.model.set('inventory', inventory); - this.model.create(movieView.model, { - error: function(reponse) { alert("Error - Movie was not added to library") }, - success: function(response) { alert(title + ': was added successfully!' + "\n" + 'Inventory: ' + inventory) } - }); - } + // addToLib: function(movieView){ + // // console.log("made it to add to lib function"); + // var title = movieView.model.get("title") + // // var inventory = this.$('#inventory').val(); + // // movieView.model.set('inventory', inventory); + // this.model.create(movieView.model, { + // error: function(model, response) { alert("Error - Movie was not added to library") }, + // success: function(model, response) { alert(title + ': was added successfully!' + "\n" + 'Inventory: ' + movieView.model.get("inventory")) } + // }); + // } }); diff --git a/src/views/movie_view.js b/src/views/movie_view.js index 9f287adba..4cfe56cf5 100644 --- a/src/views/movie_view.js +++ b/src/views/movie_view.js @@ -29,9 +29,11 @@ var MovieView = Backbone.View.extend({ 'click .btn-checkout': 'onCheckout' }, - addMovie: function(event) { - this.trigger('addToLib', this); - } + // addMovie: function(event) { + // var inventory = this.$('#inventory').val(); + // this.model.set('inventory', inventory); + // this.trigger('addToLib', this); + // } }); From 5bdf6aae3fd54d8a22bb1ebf785d7420c4f32102 Mon Sep 17 00:00:00 2001 From: Hyunji Kim Date: Wed, 21 Jun 2017 10:42:49 -0700 Subject: [PATCH 30/54] Adding a movie error message(detailed response) working --- src/views/movie_view.js | 4 ++-- src/views/rental_view.js | 26 +++++++++++++------------- 2 files changed, 15 insertions(+), 15 deletions(-) diff --git a/src/views/movie_view.js b/src/views/movie_view.js index 1bd558e45..0217dd408 100644 --- a/src/views/movie_view.js +++ b/src/views/movie_view.js @@ -35,8 +35,8 @@ var MovieView = Backbone.View.extend({ var title = this.model.get('title'); this.model.save({}, { - error: function(reponse) { alert("Error - Movie was not added to library"); }, - success: function(response) { alert(title + ': was added successfully!' + "\n" + 'Inventory: ' + inventory); } + error: function(model, response) { alert("Error - Movie was not added to library\n" + response.responseText ); }, + success: function(model, response) { alert(title + ': was added successfully!' + "\n" + 'Inventory: ' + inventory); } }); } diff --git a/src/views/rental_view.js b/src/views/rental_view.js index 1d1884159..cc612f1f5 100644 --- a/src/views/rental_view.js +++ b/src/views/rental_view.js @@ -29,19 +29,19 @@ var RentalView = Backbone.View.extend({ var self = this; this.model.save({}, { - success: function(model, response){ - // console.log(response.rental); - - alert("Success - Movie Checked Out! \nCustomer_id: " - + customerId - + "\nMovie: " + movieTitle - + "\nDue: " + response.rental.due_date ); - }, - - error: function(model, response){ - console.log(response); - alert( "Something went wrong:\n" + response.responseText) - } + // success: function(model, response){ + // // console.log(response.rental); + // + // alert("Success - Movie Checked Out! \nCustomer_id: " + // + customerId + // + "\nMovie: " + movieTitle + // + "\nDue: " + response.rental.due_date ); + // }, + // + // error: function(model, response){ + // console.log(response); + // alert( "Something went wrong:\n" + response.responseText) + // } }); this.model.url = 'http://localhost:3000/rentals/'; } From 61d92f2a24c06e90feebb7aa6420e0025142560f Mon Sep 17 00:00:00 2001 From: Cynthia Cobb Date: Wed, 21 Jun 2017 10:51:27 -0700 Subject: [PATCH 31/54] cleaned up spacing --- src/views/movie_list_view.js | 36 ------------------------------------ src/views/movie_view.js | 15 --------------- 2 files changed, 51 deletions(-) diff --git a/src/views/movie_list_view.js b/src/views/movie_list_view.js index dd6d7f1aa..7b2dcb13f 100644 --- a/src/views/movie_list_view.js +++ b/src/views/movie_list_view.js @@ -15,8 +15,6 @@ var MovieListView = Backbone.View.extend({ this.listenTo(this.model, "add", this.addMovie); this.listenTo(this.model, "update", this.render); - - // this.listenTo(this.model, "remove", this.removeMovie); }, @@ -24,17 +22,13 @@ var MovieListView = Backbone.View.extend({ console.log("rendering the Movie List View"); this.$('#movie-list').empty(); - var that = this; this.movieViews.forEach(function(movieView){ that.$('#movie-list').append(movieView.$el); - that.listenTo( movieView, "addToLib", that.addToLib ); }); - - return this; }, @@ -45,37 +39,7 @@ var MovieListView = Backbone.View.extend({ }); this.movieViews.push(movieView); -<<<<<<< HEAD - }, - - // addToLib: function(movieView){ - // // console.log("made it to add to lib function"); - // var title = movieView.model.get("title") - // // var inventory = this.$('#inventory').val(); - // // movieView.model.set('inventory', inventory); - // this.model.create(movieView.model, { - // error: function(model, response) { alert("Error - Movie was not added to library") }, - // success: function(model, response) { alert(title + ': was added successfully!' + "\n" + 'Inventory: ' + movieView.model.get("inventory")) } - // }); - // } -======= } ->>>>>>> 7714592c9661126a4f880ed6c56ee3f5b9833cba - - // addToLib: function(movieView){ - // // console.log("made it to add to lib function"); - // - // console.log(this.model.url); - // var title = movieView.model.get("title"); - // console.log(title); - // this.model.url='http://localhost:3000/movies/'; - // - // this.model.create(movieView.model, { - // error: function(reponse) { alert("Error - Movie was not added to library"); }, - // success: function(response) { alert(title + ': was added successfully!' + "\n" + 'Inventory: ' + movieView.model.inventory); } - // }); - // } - }); export default MovieListView; diff --git a/src/views/movie_view.js b/src/views/movie_view.js index 6cd1ab1d4..a2f229816 100644 --- a/src/views/movie_view.js +++ b/src/views/movie_view.js @@ -29,13 +29,6 @@ var MovieView = Backbone.View.extend({ 'click .btn-checkout': 'onCheckout' }, -<<<<<<< HEAD - // addMovie: function(event) { - // var inventory = this.$('#inventory').val(); - // this.model.set('inventory', inventory); - // this.trigger('addToLib', this); - // } -======= addMovie: function(event) { var inventory = this.$('#inventory').val(); this.model.set('inventory', inventory); @@ -45,15 +38,7 @@ var MovieView = Backbone.View.extend({ error: function(reponse) { alert("Error - Movie was not added to library"); }, success: function(response) { alert(title + ': was added successfully!' + "\n" + 'Inventory: ' + inventory); } }); - } ->>>>>>> 7714592c9661126a4f880ed6c56ee3f5b9833cba - - - - - - }); From cc8722e4599a8a2e9b914f2707206fcc19da590b Mon Sep 17 00:00:00 2001 From: Hyunji Kim Date: Wed, 21 Jun 2017 10:53:08 -0700 Subject: [PATCH 32/54] merging --- src/views/movie_view.js | 8 -------- src/views/rental_view.js | 26 +++++++++++++------------- 2 files changed, 13 insertions(+), 21 deletions(-) diff --git a/src/views/movie_view.js b/src/views/movie_view.js index 4835cda62..0217dd408 100644 --- a/src/views/movie_view.js +++ b/src/views/movie_view.js @@ -29,13 +29,6 @@ var MovieView = Backbone.View.extend({ 'click .btn-checkout': 'onCheckout' }, -<<<<<<< HEAD - // addMovie: function(event) { - // var inventory = this.$('#inventory').val(); - // this.model.set('inventory', inventory); - // this.trigger('addToLib', this); - // } -======= addMovie: function(event) { var inventory = this.$('#inventory').val(); this.model.set('inventory', inventory); @@ -47,7 +40,6 @@ var MovieView = Backbone.View.extend({ }); } ->>>>>>> 7714592c9661126a4f880ed6c56ee3f5b9833cba diff --git a/src/views/rental_view.js b/src/views/rental_view.js index cc612f1f5..1d1884159 100644 --- a/src/views/rental_view.js +++ b/src/views/rental_view.js @@ -29,19 +29,19 @@ var RentalView = Backbone.View.extend({ var self = this; this.model.save({}, { - // success: function(model, response){ - // // console.log(response.rental); - // - // alert("Success - Movie Checked Out! \nCustomer_id: " - // + customerId - // + "\nMovie: " + movieTitle - // + "\nDue: " + response.rental.due_date ); - // }, - // - // error: function(model, response){ - // console.log(response); - // alert( "Something went wrong:\n" + response.responseText) - // } + success: function(model, response){ + // console.log(response.rental); + + alert("Success - Movie Checked Out! \nCustomer_id: " + + customerId + + "\nMovie: " + movieTitle + + "\nDue: " + response.rental.due_date ); + }, + + error: function(model, response){ + console.log(response); + alert( "Something went wrong:\n" + response.responseText) + } }); this.model.url = 'http://localhost:3000/rentals/'; } From de2612e87550238556a2cda160527e339ccfe6b3 Mon Sep 17 00:00:00 2001 From: Hyunji Kim Date: Wed, 21 Jun 2017 10:55:05 -0700 Subject: [PATCH 33/54] merging again --- src/views/movie_list_view.js | 29 ----------------------------- 1 file changed, 29 deletions(-) diff --git a/src/views/movie_list_view.js b/src/views/movie_list_view.js index dd6d7f1aa..c3bcb890e 100644 --- a/src/views/movie_list_view.js +++ b/src/views/movie_list_view.js @@ -45,36 +45,7 @@ var MovieListView = Backbone.View.extend({ }); this.movieViews.push(movieView); -<<<<<<< HEAD - }, - // addToLib: function(movieView){ - // // console.log("made it to add to lib function"); - // var title = movieView.model.get("title") - // // var inventory = this.$('#inventory').val(); - // // movieView.model.set('inventory', inventory); - // this.model.create(movieView.model, { - // error: function(model, response) { alert("Error - Movie was not added to library") }, - // success: function(model, response) { alert(title + ': was added successfully!' + "\n" + 'Inventory: ' + movieView.model.get("inventory")) } - // }); - // } -======= - } ->>>>>>> 7714592c9661126a4f880ed6c56ee3f5b9833cba - - // addToLib: function(movieView){ - // // console.log("made it to add to lib function"); - // - // console.log(this.model.url); - // var title = movieView.model.get("title"); - // console.log(title); - // this.model.url='http://localhost:3000/movies/'; - // - // this.model.create(movieView.model, { - // error: function(reponse) { alert("Error - Movie was not added to library"); }, - // success: function(response) { alert(title + ': was added successfully!' + "\n" + 'Inventory: ' + movieView.model.inventory); } - // }); - // } }); From 2fbe57c2723a3590b6c6d89e874fba6b288ace22 Mon Sep 17 00:00:00 2001 From: Hyunji Kim Date: Wed, 21 Jun 2017 11:31:58 -0700 Subject: [PATCH 34/54] Check-in is working well --- build/index.html | 5 +++-- src/app.js | 13 +++---------- src/views/movie_list_view.js | 2 +- src/views/rental_view.js | 30 +++++++++++++++++++++++++++++- 4 files changed, 36 insertions(+), 14 deletions(-) diff --git a/build/index.html b/build/index.html index 1af941412..0559bd70f 100644 --- a/build/index.html +++ b/build/index.html @@ -16,8 +16,7 @@

Video Store

- - + diff --git a/src/app.js b/src/app.js index 312808888..560441776 100644 --- a/src/app.js +++ b/src/app.js @@ -63,7 +63,7 @@ var toggleSearchBar = function(event) { $("#search-bar").show(); }; -var checkoutMovie = function(event) { +var rentalMovie = function(event) { event.stopPropagation(); $("#search-bar").hide(); $("#movie-list").hide(); @@ -71,21 +71,14 @@ var checkoutMovie = function(event) { console.log("inside checkoutMovie"); }; -var checkinMovie = function(event) { - event.stopPropagation(); - console.log("inside checkinMovie"); - $("#search-bar").hide(); - $("#movie-list").hide(); - $("#rentals").show(); -}; + $(document).ready(function() { $('#rental-list').click( buildMovieList ); $('.btn-search').click( buildMovieListTMDb ); $('#new-movies-list').click( toggleSearchBar); - $('#rental-checkout').click( checkoutMovie ); - $('#rental-checkin').click( checkinMovie ); + $('#rental-movie').click( rentalMovie ); $("#rentals").hide(); var rental = new Rental(); var rentalView = new RentalView({ diff --git a/src/views/movie_list_view.js b/src/views/movie_list_view.js index c3bcb890e..48384f582 100644 --- a/src/views/movie_list_view.js +++ b/src/views/movie_list_view.js @@ -45,7 +45,7 @@ var MovieListView = Backbone.View.extend({ }); this.movieViews.push(movieView); - + } }); diff --git a/src/views/rental_view.js b/src/views/rental_view.js index 1d1884159..84c0970b4 100644 --- a/src/views/rental_view.js +++ b/src/views/rental_view.js @@ -17,7 +17,8 @@ var RentalView = Backbone.View.extend({ }, events: { - 'click .btn-checkout': 'onCheckout' + 'click .btn-checkout': 'onCheckout', + 'click .btn-checkin': 'onReturn' }, onCheckout: function(){ @@ -44,6 +45,33 @@ var RentalView = Backbone.View.extend({ } }); this.model.url = 'http://localhost:3000/rentals/'; + }, + + onReturn: function(){ + console.log("in onReturn"); + var movieTitle = this.$('#rental-movie-title').val(); + var customerId = this.$('#rental-customer-id').val(); + this.model.set('customer_id', customerId); + this.model.checkinUrl(movieTitle); + var returnDate = new Date(); + var self = this; + this.model.save({}, { + success: function(model, response){ + // console.log(response.rental); + + alert("Success - Movie Checked In! \nCustomer_id: " + + customerId + + "\nMovie: " + movieTitle + + "\nChecked In Date: " + returnDate ); + }, + + error: function(model, response){ + console.log(response); + alert( "Something went wrong:\n" + response.responseText) + } + }); + this.model.url = 'http://localhost:3000/rentals/'; + } }); From c7b93faff76b977c6c7de97a1ecdd9ad92de88fa Mon Sep 17 00:00:00 2001 From: Cynthia Cobb Date: Wed, 21 Jun 2017 11:58:11 -0700 Subject: [PATCH 35/54] get request for overdue working - created files needed to show results --- build/index.html | 3 +- src/app.js | 30 +- src/collections/customer_list.js | 10 + src/css/_settings.scss | 621 ----- src/css/foundation.css | 4398 ------------------------------ src/css/styles.css | 44 - src/models/customer.js | 20 + src/models/rental.js | 5 + src/views/customer_list_view.js | 9 + src/views/customer_view.js | 9 + src/views/movie_list_view.js | 2 +- 11 files changed, 85 insertions(+), 5066 deletions(-) create mode 100644 src/collections/customer_list.js delete mode 100644 src/css/_settings.scss delete mode 100644 src/css/foundation.css delete mode 100644 src/css/styles.css create mode 100644 src/models/customer.js create mode 100644 src/views/customer_list_view.js create mode 100644 src/views/customer_view.js diff --git a/build/index.html b/build/index.html index 1af941412..642e6f9ce 100644 --- a/build/index.html +++ b/build/index.html @@ -17,7 +17,7 @@

Video Store

- + diff --git a/src/app.js b/src/app.js index 312808888..22a9b4431 100644 --- a/src/app.js +++ b/src/app.js @@ -79,13 +79,41 @@ var checkinMovie = function(event) { $("#rentals").show(); }; +var buitldOverdueMovieList = function(event) { + console.log("inside overdue movie list"); + + $("#rentals").hide(); + $("#movie-list").show(); + + console.log("Getting overdue movies"); + + // console.log(searchText); + var overdueRentals = new Rental (); + overdueRentals.overdueUrl(); + overdueRentals.fetch( + { error: function(model, response) { alert("Server Error - Try Again Later") }, + success: function(model, response) { console.log( "API success - got overdue rental customers" ) } + } + ); + + // movieList.url = 'http://localhost:3000/movies'; + + // var movieListView = new MovieListView({ + // model: movieList, + // templateCard: _.template( $('#movie-card-template').html() ), + // el: 'main' + // }); +}; + $(document).ready(function() { $('#rental-list').click( buildMovieList ); $('.btn-search').click( buildMovieListTMDb ); $('#new-movies-list').click( toggleSearchBar); $('#rental-checkout').click( checkoutMovie ); - $('#rental-checkin').click( checkinMovie ); + $('#rental-overdue').click( buitldOverdueMovieList ); + + $("#rentals").hide(); var rental = new Rental(); var rentalView = new RentalView({ diff --git a/src/collections/customer_list.js b/src/collections/customer_list.js new file mode 100644 index 000000000..9c9f9c246 --- /dev/null +++ b/src/collections/customer_list.js @@ -0,0 +1,10 @@ +import Backbone from 'backbone'; +import Customer from '../models/customer'; + +var CustomerList = Backbone.Collection.extend({ + model: Customer, + // url: 'http://localhost:3000/movies', + +}); + +export default CustomerList; diff --git a/src/css/_settings.scss b/src/css/_settings.scss deleted file mode 100644 index 9f6743012..000000000 --- a/src/css/_settings.scss +++ /dev/null @@ -1,621 +0,0 @@ -// Foundation for Sites Settings -// ----------------------------- -// -// Table of Contents: -// -// 1. Global -// 2. Breakpoints -// 3. The Grid -// 4. Base Typography -// 5. Typography Helpers -// 6. Abide -// 7. Accordion -// 8. Accordion Menu -// 9. Badge -// 10. Breadcrumbs -// 11. Button -// 12. Button Group -// 13. Callout -// 14. Card -// 15. Close Button -// 16. Drilldown -// 17. Dropdown -// 18. Dropdown Menu -// 19. Forms -// 20. Label -// 21. Media Object -// 22. Menu -// 23. Meter -// 24. Off-canvas -// 25. Orbit -// 26. Pagination -// 27. Progress Bar -// 28. Responsive Embed -// 29. Reveal -// 30. Slider -// 31. Switch -// 32. Table -// 33. Tabs -// 34. Thumbnail -// 35. Title Bar -// 36. Tooltip -// 37. Top Bar - -@import 'util/util'; - -// 1. Global -// --------- - -$global-font-size: 100%; -$global-width: rem-calc(1200); -$global-lineheight: 1.5; -$foundation-palette: ( - primary: #1779ba, - secondary: #767676, - success: #3adb76, - warning: #ffae00, - alert: #cc4b37, -); -$light-gray: #e6e6e6; -$medium-gray: #cacaca; -$dark-gray: #8a8a8a; -$black: #0a0a0a; -$white: #fefefe; -$body-background: $white; -$body-font-color: $black; -$body-font-family: 'Helvetica Neue', Helvetica, Roboto, Arial, sans-serif; -$body-antialiased: true; -$global-margin: 1rem; -$global-padding: 1rem; -$global-weight-normal: normal; -$global-weight-bold: bold; -$global-radius: 0; -$global-text-direction: ltr; -$global-flexbox: false; -$print-transparent-backgrounds: true; - -@include add-foundation-colors; - -// 2. Breakpoints -// -------------- - -$breakpoints: ( - small: 0, - medium: 640px, - large: 1024px, - xlarge: 1200px, - xxlarge: 1440px, -); -$print-breakpoint: large; -$breakpoint-classes: (small medium large); - -// 3. The Grid -// ----------- - -$grid-row-width: $global-width; -$grid-column-count: 12; -$grid-column-gutter: ( - small: 20px, - medium: 30px, -); -$grid-column-align-edge: true; -$block-grid-max: 8; - -// 4. Base Typography -// ------------------ - -$header-font-family: $body-font-family; -$header-font-weight: $global-weight-normal; -$header-font-style: normal; -$font-family-monospace: Consolas, 'Liberation Mono', Courier, monospace; -$header-color: inherit; -$header-lineheight: 1.4; -$header-margin-bottom: 0.5rem; -$header-styles: ( - small: ( - 'h1': ('font-size': 24), - 'h2': ('font-size': 20), - 'h3': ('font-size': 19), - 'h4': ('font-size': 18), - 'h5': ('font-size': 17), - 'h6': ('font-size': 16), - ), - medium: ( - 'h1': ('font-size': 48), - 'h2': ('font-size': 40), - 'h3': ('font-size': 31), - 'h4': ('font-size': 25), - 'h5': ('font-size': 20), - 'h6': ('font-size': 16), - ), -); -$header-text-rendering: optimizeLegibility; -$small-font-size: 80%; -$header-small-font-color: $medium-gray; -$paragraph-lineheight: 1.6; -$paragraph-margin-bottom: 1rem; -$paragraph-text-rendering: optimizeLegibility; -$code-color: $black; -$code-font-family: $font-family-monospace; -$code-font-weight: $global-weight-normal; -$code-background: $light-gray; -$code-border: 1px solid $medium-gray; -$code-padding: rem-calc(2 5 1); -$anchor-color: $primary-color; -$anchor-color-hover: scale-color($anchor-color, $lightness: -14%); -$anchor-text-decoration: none; -$anchor-text-decoration-hover: none; -$hr-width: $global-width; -$hr-border: 1px solid $medium-gray; -$hr-margin: rem-calc(20) auto; -$list-lineheight: $paragraph-lineheight; -$list-margin-bottom: $paragraph-margin-bottom; -$list-style-type: disc; -$list-style-position: outside; -$list-side-margin: 1.25rem; -$list-nested-side-margin: 1.25rem; -$defnlist-margin-bottom: 1rem; -$defnlist-term-weight: $global-weight-bold; -$defnlist-term-margin-bottom: 0.3rem; -$blockquote-color: $dark-gray; -$blockquote-padding: rem-calc(9 20 0 19); -$blockquote-border: 1px solid $medium-gray; -$cite-font-size: rem-calc(13); -$cite-color: $dark-gray; -$cite-pseudo-content: '\2014 \0020'; -$keystroke-font: $font-family-monospace; -$keystroke-color: $black; -$keystroke-background: $light-gray; -$keystroke-padding: rem-calc(2 4 0); -$keystroke-radius: $global-radius; -$abbr-underline: 1px dotted $black; - -// 5. Typography Helpers -// --------------------- - -$lead-font-size: $global-font-size * 1.25; -$lead-lineheight: 1.6; -$subheader-lineheight: 1.4; -$subheader-color: $dark-gray; -$subheader-font-weight: $global-weight-normal; -$subheader-margin-top: 0.2rem; -$subheader-margin-bottom: 0.5rem; -$stat-font-size: 2.5rem; - -// 6. Abide -// -------- - -$abide-inputs: true; -$abide-labels: true; -$input-background-invalid: get-color(alert); -$form-label-color-invalid: get-color(alert); -$input-error-color: get-color(alert); -$input-error-font-size: rem-calc(12); -$input-error-font-weight: $global-weight-bold; - -// 7. Accordion -// ------------ - -$accordion-background: $white; -$accordion-plusminus: true; -$accordion-title-font-size: rem-calc(12); -$accordion-item-color: $primary-color; -$accordion-item-background-hover: $light-gray; -$accordion-item-padding: 1.25rem 1rem; -$accordion-content-background: $white; -$accordion-content-border: 1px solid $light-gray; -$accordion-content-color: $body-font-color; -$accordion-content-padding: 1rem; - -// 8. Accordion Menu -// ----------------- - -$accordionmenu-arrows: true; -$accordionmenu-arrow-color: $primary-color; -$accordionmenu-arrow-size: 6px; - -// 9. Badge -// -------- - -$badge-background: $primary-color; -$badge-color: $white; -$badge-color-alt: $black; -$badge-palette: $foundation-palette; -$badge-padding: 0.3em; -$badge-minwidth: 2.1em; -$badge-font-size: 0.6rem; - -// 10. Breadcrumbs -// --------------- - -$breadcrumbs-margin: 0 0 $global-margin 0; -$breadcrumbs-item-font-size: rem-calc(11); -$breadcrumbs-item-color: $primary-color; -$breadcrumbs-item-color-current: $black; -$breadcrumbs-item-color-disabled: $medium-gray; -$breadcrumbs-item-margin: 0.75rem; -$breadcrumbs-item-uppercase: true; -$breadcrumbs-item-slash: true; - -// 11. Button -// ---------- - -$button-padding: 0.85em 1em; -$button-margin: 0 0 $global-margin 0; -$button-fill: solid; -$button-background: $primary-color; -$button-background-hover: scale-color($button-background, $lightness: -15%); -$button-color: $white; -$button-color-alt: $black; -$button-radius: $global-radius; -$button-sizes: ( - tiny: 0.6rem, - small: 0.75rem, - default: 0.9rem, - large: 1.25rem, -); -$button-palette: $foundation-palette; -$button-opacity-disabled: 0.25; -$button-background-hover-lightness: -20%; -$button-hollow-hover-lightness: -50%; -$button-transition: background-color 0.25s ease-out, color 0.25s ease-out; - -// 12. Button Group -// ---------------- - -$buttongroup-margin: 1rem; -$buttongroup-spacing: 1px; -$buttongroup-child-selector: '.button'; -$buttongroup-expand-max: 6; -$buttongroup-radius-on-each: true; - -// 13. Callout -// ----------- - -$callout-background: $white; -$callout-background-fade: 85%; -$callout-border: 1px solid rgba($black, 0.25); -$callout-margin: 0 0 1rem 0; -$callout-padding: 1rem; -$callout-font-color: $body-font-color; -$callout-font-color-alt: $body-background; -$callout-radius: $global-radius; -$callout-link-tint: 30%; - -// 14. Card -// -------- - -$card-background: $white; -$card-font-color: $body-font-color; -$card-divider-background: $light-gray; -$card-border: 1px solid $light-gray; -$card-shadow: none; -$card-border-radius: $global-radius; -$card-padding: $global-padding; -$card-margin: $global-margin; - -// 15. Close Button -// ---------------- - -$closebutton-position: right top; -$closebutton-offset-horizontal: ( - small: 0.66rem, - medium: 1rem, -); -$closebutton-offset-vertical: ( - small: 0.33em, - medium: 0.5rem, -); -$closebutton-size: ( - small: 1.5em, - medium: 2em, -); -$closebutton-lineheight: 1; -$closebutton-color: $dark-gray; -$closebutton-color-hover: $black; - -// 16. Drilldown -// ------------- - -$drilldown-transition: transform 0.15s linear; -$drilldown-arrows: true; -$drilldown-arrow-color: $primary-color; -$drilldown-arrow-size: 6px; -$drilldown-background: $white; - -// 17. Dropdown -// ------------ - -$dropdown-padding: 1rem; -$dropdown-background: $body-background; -$dropdown-border: 1px solid $medium-gray; -$dropdown-font-size: 1rem; -$dropdown-width: 300px; -$dropdown-radius: $global-radius; -$dropdown-sizes: ( - tiny: 100px, - small: 200px, - large: 400px, -); - -// 18. Dropdown Menu -// ----------------- - -$dropdownmenu-arrows: true; -$dropdownmenu-arrow-color: $anchor-color; -$dropdownmenu-arrow-size: 6px; -$dropdownmenu-min-width: 200px; -$dropdownmenu-background: $white; -$dropdownmenu-border: 1px solid $medium-gray; - -// 19. Forms -// --------- - -$fieldset-border: 1px solid $medium-gray; -$fieldset-padding: rem-calc(20); -$fieldset-margin: rem-calc(18 0); -$legend-padding: rem-calc(0 3); -$form-spacing: rem-calc(16); -$helptext-color: $black; -$helptext-font-size: rem-calc(13); -$helptext-font-style: italic; -$input-prefix-color: $black; -$input-prefix-background: $light-gray; -$input-prefix-border: 1px solid $medium-gray; -$input-prefix-padding: 1rem; -$form-label-color: $black; -$form-label-font-size: rem-calc(14); -$form-label-font-weight: $global-weight-normal; -$form-label-line-height: 1.8; -$select-background: $white; -$select-triangle-color: $dark-gray; -$select-radius: $global-radius; -$input-color: $black; -$input-placeholder-color: $medium-gray; -$input-font-family: inherit; -$input-font-size: rem-calc(16); -$input-font-weight: $global-weight-normal; -$input-background: $white; -$input-background-focus: $white; -$input-background-disabled: $light-gray; -$input-border: 1px solid $medium-gray; -$input-border-focus: 1px solid $dark-gray; -$input-shadow: inset 0 1px 2px rgba($black, 0.1); -$input-shadow-focus: 0 0 5px $medium-gray; -$input-cursor-disabled: not-allowed; -$input-transition: box-shadow 0.5s, border-color 0.25s ease-in-out; -$input-number-spinners: true; -$input-radius: $global-radius; -$form-button-radius: $global-radius; - -// 20. Label -// --------- - -$label-background: $primary-color; -$label-color: $white; -$label-color-alt: $black; -$label-palette: $foundation-palette; -$label-font-size: 0.8rem; -$label-padding: 0.33333rem 0.5rem; -$label-radius: $global-radius; - -// 21. Media Object -// ---------------- - -$mediaobject-margin-bottom: $global-margin; -$mediaobject-section-padding: $global-padding; -$mediaobject-image-width-stacked: 100%; - -// 22. Menu -// -------- - -$menu-margin: 0; -$menu-margin-nested: 1rem; -$menu-item-padding: 0.7rem 1rem; -$menu-item-color-active: $white; -$menu-item-background-active: get-color(primary); -$menu-icon-spacing: 0.25rem; -$menu-item-background-hover: $light-gray; -$menu-border: $light-gray; - -// 23. Meter -// --------- - -$meter-height: 1rem; -$meter-radius: $global-radius; -$meter-background: $medium-gray; -$meter-fill-good: $success-color; -$meter-fill-medium: $warning-color; -$meter-fill-bad: $alert-color; - -// 24. Off-canvas -// -------------- - -$offcanvas-size: 250px; -$offcanvas-vertical-size: 250px; -$offcanvas-background: $light-gray; -$offcanvas-shadow: 0 0 10px rgba($black, 0.7); -$offcanvas-push-zindex: 1; -$offcanvas-overlap-zindex: 10; -$offcanvas-reveal-zindex: 1; -$offcanvas-transition-length: 0.5s; -$offcanvas-transition-timing: ease; -$offcanvas-fixed-reveal: true; -$offcanvas-exit-background: rgba($white, 0.25); -$maincontent-class: 'off-canvas-content'; - -// 25. Orbit -// --------- - -$orbit-bullet-background: $medium-gray; -$orbit-bullet-background-active: $dark-gray; -$orbit-bullet-diameter: 1.2rem; -$orbit-bullet-margin: 0.1rem; -$orbit-bullet-margin-top: 0.8rem; -$orbit-bullet-margin-bottom: 0.8rem; -$orbit-caption-background: rgba($black, 0.5); -$orbit-caption-padding: 1rem; -$orbit-control-background-hover: rgba($black, 0.5); -$orbit-control-padding: 1rem; -$orbit-control-zindex: 10; - -// 26. Pagination -// -------------- - -$pagination-font-size: rem-calc(14); -$pagination-margin-bottom: $global-margin; -$pagination-item-color: $black; -$pagination-item-padding: rem-calc(3 10); -$pagination-item-spacing: rem-calc(1); -$pagination-radius: $global-radius; -$pagination-item-background-hover: $light-gray; -$pagination-item-background-current: $primary-color; -$pagination-item-color-current: $white; -$pagination-item-color-disabled: $medium-gray; -$pagination-ellipsis-color: $black; -$pagination-mobile-items: false; -$pagination-mobile-current-item: false; -$pagination-arrows: true; - -// 27. Progress Bar -// ---------------- - -$progress-height: 1rem; -$progress-background: $medium-gray; -$progress-margin-bottom: $global-margin; -$progress-meter-background: $primary-color; -$progress-radius: $global-radius; - -// 28. Responsive Embed -// -------------------- - -$responsive-embed-margin-bottom: rem-calc(16); -$responsive-embed-ratios: ( - default: 4 by 3, - widescreen: 16 by 9, -); - -// 29. Reveal -// ---------- - -$reveal-background: $white; -$reveal-width: 600px; -$reveal-max-width: $global-width; -$reveal-padding: $global-padding; -$reveal-border: 1px solid $medium-gray; -$reveal-radius: $global-radius; -$reveal-zindex: 1005; -$reveal-overlay-background: rgba($black, 0.45); - -// 30. Slider -// ---------- - -$slider-width-vertical: 0.5rem; -$slider-transition: all 0.2s ease-in-out; -$slider-height: 0.5rem; -$slider-background: $light-gray; -$slider-fill-background: $medium-gray; -$slider-handle-height: 1.4rem; -$slider-handle-width: 1.4rem; -$slider-handle-background: $primary-color; -$slider-opacity-disabled: 0.25; -$slider-radius: $global-radius; - -// 31. Switch -// ---------- - -$switch-background: $medium-gray; -$switch-background-active: $primary-color; -$switch-height: 2rem; -$switch-height-tiny: 1.5rem; -$switch-height-small: 1.75rem; -$switch-height-large: 2.5rem; -$switch-radius: $global-radius; -$switch-margin: $global-margin; -$switch-paddle-background: $white; -$switch-paddle-offset: 0.25rem; -$switch-paddle-radius: $global-radius; -$switch-paddle-transition: all 0.25s ease-out; - -// 32. Table -// --------- - -$table-background: $white; -$table-color-scale: 5%; -$table-border: 1px solid smart-scale($table-background, $table-color-scale); -$table-padding: rem-calc(8 10 10); -$table-hover-scale: 2%; -$table-row-hover: darken($table-background, $table-hover-scale); -$table-row-stripe-hover: darken($table-background, $table-color-scale + $table-hover-scale); -$table-is-striped: true; -$table-striped-background: smart-scale($table-background, $table-color-scale); -$table-stripe: even; -$table-head-background: smart-scale($table-background, $table-color-scale / 2); -$table-head-row-hover: darken($table-head-background, $table-hover-scale); -$table-foot-background: smart-scale($table-background, $table-color-scale); -$table-foot-row-hover: darken($table-foot-background, $table-hover-scale); -$table-head-font-color: $body-font-color; -$table-foot-font-color: $body-font-color; -$show-header-for-stacked: false; - -// 33. Tabs -// -------- - -$tab-margin: 0; -$tab-background: $white; -$tab-color: $primary-color; -$tab-background-active: $light-gray; -$tab-active-color: $primary-color; -$tab-item-font-size: rem-calc(12); -$tab-item-background-hover: $white; -$tab-item-padding: 1.25rem 1.5rem; -$tab-expand-max: 6; -$tab-content-background: $white; -$tab-content-border: $light-gray; -$tab-content-color: $body-font-color; -$tab-content-padding: 1rem; - -// 34. Thumbnail -// ------------- - -$thumbnail-border: solid 4px $white; -$thumbnail-margin-bottom: $global-margin; -$thumbnail-shadow: 0 0 0 1px rgba($black, 0.2); -$thumbnail-shadow-hover: 0 0 6px 1px rgba($primary-color, 0.5); -$thumbnail-transition: box-shadow 200ms ease-out; -$thumbnail-radius: $global-radius; - -// 35. Title Bar -// ------------- - -$titlebar-background: $black; -$titlebar-color: $white; -$titlebar-padding: 0.5rem; -$titlebar-text-font-weight: bold; -$titlebar-icon-color: $white; -$titlebar-icon-color-hover: $medium-gray; -$titlebar-icon-spacing: 0.25rem; - -// 36. Tooltip -// ----------- - -$has-tip-font-weight: $global-weight-bold; -$has-tip-border-bottom: dotted 1px $dark-gray; -$tooltip-background-color: $black; -$tooltip-color: $white; -$tooltip-padding: 0.75rem; -$tooltip-font-size: $small-font-size; -$tooltip-pip-width: 0.75rem; -$tooltip-pip-height: $tooltip-pip-width * 0.866; -$tooltip-radius: $global-radius; - -// 37. Top Bar -// ----------- - -$topbar-padding: 0.5rem; -$topbar-background: $light-gray; -$topbar-submenu-background: $topbar-background; -$topbar-title-spacing: 0.5rem 1rem 0.5rem 0; -$topbar-input-width: 200px; -$topbar-unstack-breakpoint: medium; - diff --git a/src/css/foundation.css b/src/css/foundation.css deleted file mode 100644 index dd9aabd0d..000000000 --- a/src/css/foundation.css +++ /dev/null @@ -1,4398 +0,0 @@ -@charset "UTF-8"; -/** - * Foundation for Sites by ZURB - * Version 6.3.1 - * foundation.zurb.com - * Licensed under MIT Open Source - */ -/*! normalize-scss | MIT/GPLv2 License | bit.ly/normalize-scss */ -/* Document - ========================================================================== */ -/** - * 1. Change the default font family in all browsers (opinionated). - * 2. Correct the line height in all browsers. - * 3. Prevent adjustments of font size after orientation changes in - * IE on Windows Phone and in iOS. - */ -html { - font-family: sans-serif; - /* 1 */ - line-height: 1.15; - /* 2 */ - -ms-text-size-adjust: 100%; - /* 3 */ - -webkit-text-size-adjust: 100%; - /* 3 */ } - -/* Sections - ========================================================================== */ -/** - * Remove the margin in all browsers (opinionated). - */ -body { - margin: 0; } - -/** - * Add the correct display in IE 9-. - */ -article, -aside, -footer, -header, -nav, -section { - display: block; } - -/** - * Correct the font size and margin on `h1` elements within `section` and - * `article` contexts in Chrome, Firefox, and Safari. - */ -h1 { - font-size: 2em; - margin: 0.67em 0; } - -/* Grouping content - ========================================================================== */ -/** - * Add the correct display in IE 9-. - */ -figcaption, -figure { - display: block; } - -/** - * Add the correct margin in IE 8. - */ -figure { - margin: 1em 40px; } - -/** - * 1. Add the correct box sizing in Firefox. - * 2. Show the overflow in Edge and IE. - */ -hr { - box-sizing: content-box; - /* 1 */ - height: 0; - /* 1 */ - overflow: visible; - /* 2 */ } - -/** - * Add the correct display in IE. - */ -main { - display: block; } - -/** - * 1. Correct the inheritance and scaling of font size in all browsers. - * 2. Correct the odd `em` font sizing in all browsers. - */ -pre { - font-family: monospace, monospace; - /* 1 */ - font-size: 1em; - /* 2 */ } - -/* Links - ========================================================================== */ -/** - * 1. Remove the gray background on active links in IE 10. - * 2. Remove gaps in links underline in iOS 8+ and Safari 8+. - */ -a { - background-color: transparent; - /* 1 */ - -webkit-text-decoration-skip: objects; - /* 2 */ } - -/** - * Remove the outline on focused links when they are also active or hovered - * in all browsers (opinionated). - */ -a:active, -a:hover { - outline-width: 0; } - -/* Text-level semantics - ========================================================================== */ -/** - * 1. Remove the bottom border in Firefox 39-. - * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari. - */ -abbr[title] { - border-bottom: none; - /* 1 */ - text-decoration: underline; - /* 2 */ - text-decoration: underline dotted; - /* 2 */ } - -/** - * Prevent the duplicate application of `bolder` by the next rule in Safari 6. - */ -b, -strong { - font-weight: inherit; } - -/** - * Add the correct font weight in Chrome, Edge, and Safari. - */ -b, -strong { - font-weight: bolder; } - -/** - * 1. Correct the inheritance and scaling of font size in all browsers. - * 2. Correct the odd `em` font sizing in all browsers. - */ -code, -kbd, -samp { - font-family: monospace, monospace; - /* 1 */ - font-size: 1em; - /* 2 */ } - -/** - * Add the correct font style in Android 4.3-. - */ -dfn { - font-style: italic; } - -/** - * Add the correct background and color in IE 9-. - */ -mark { - background-color: #ff0; - color: #000; } - -/** - * Add the correct font size in all browsers. - */ -small { - font-size: 80%; } - -/** - * Prevent `sub` and `sup` elements from affecting the line height in - * all browsers. - */ -sub, -sup { - font-size: 75%; - line-height: 0; - position: relative; - vertical-align: baseline; } - -sub { - bottom: -0.25em; } - -sup { - top: -0.5em; } - -/* Embedded content - ========================================================================== */ -/** - * Add the correct display in IE 9-. - */ -audio, -video { - display: inline-block; } - -/** - * Add the correct display in iOS 4-7. - */ -audio:not([controls]) { - display: none; - height: 0; } - -/** - * Remove the border on images inside links in IE 10-. - */ -img { - border-style: none; } - -/** - * Hide the overflow in IE. - */ -svg:not(:root) { - overflow: hidden; } - -/* Forms - ========================================================================== */ -/** - * 1. Change the font styles in all browsers (opinionated). - * 2. Remove the margin in Firefox and Safari. - */ -button, -input, -optgroup, -select, -textarea { - font-family: sans-serif; - /* 1 */ - font-size: 100%; - /* 1 */ - line-height: 1.15; - /* 1 */ - margin: 0; - /* 2 */ } - -/** - * Show the overflow in IE. - */ -button { - overflow: visible; } - -/** - * Remove the inheritance of text transform in Edge, Firefox, and IE. - * 1. Remove the inheritance of text transform in Firefox. - */ -button, -select { - /* 1 */ - text-transform: none; } - -/** - * 1. Prevent a WebKit bug where (2) destroys native `audio` and `video` - * controls in Android 4. - * 2. Correct the inability to style clickable types in iOS and Safari. - */ -button, -html [type="button"], -[type="reset"], -[type="submit"] { - -webkit-appearance: button; - /* 2 */ } - -button, -[type="button"], -[type="reset"], -[type="submit"] { - /** - * Remove the inner border and padding in Firefox. - */ - /** - * Restore the focus styles unset by the previous rule. - */ } - button::-moz-focus-inner, - [type="button"]::-moz-focus-inner, - [type="reset"]::-moz-focus-inner, - [type="submit"]::-moz-focus-inner { - border-style: none; - padding: 0; } - button:-moz-focusring, - [type="button"]:-moz-focusring, - [type="reset"]:-moz-focusring, - [type="submit"]:-moz-focusring { - outline: 1px dotted ButtonText; } - -/** - * Show the overflow in Edge. - */ -input { - overflow: visible; } - -/** - * 1. Add the correct box sizing in IE 10-. - * 2. Remove the padding in IE 10-. - */ -[type="checkbox"], -[type="radio"] { - box-sizing: border-box; - /* 1 */ - padding: 0; - /* 2 */ } - -/** - * Correct the cursor style of increment and decrement buttons in Chrome. - */ -[type="number"]::-webkit-inner-spin-button, -[type="number"]::-webkit-outer-spin-button { - height: auto; } - -/** - * 1. Correct the odd appearance in Chrome and Safari. - * 2. Correct the outline style in Safari. - */ -[type="search"] { - -webkit-appearance: textfield; - /* 1 */ - outline-offset: -2px; - /* 2 */ - /** - * Remove the inner padding and cancel buttons in Chrome and Safari on macOS. - */ } - [type="search"]::-webkit-search-cancel-button, [type="search"]::-webkit-search-decoration { - -webkit-appearance: none; } - -/** - * 1. Correct the inability to style clickable types in iOS and Safari. - * 2. Change font properties to `inherit` in Safari. - */ -::-webkit-file-upload-button { - -webkit-appearance: button; - /* 1 */ - font: inherit; - /* 2 */ } - -/** - * Change the border, margin, and padding in all browsers (opinionated). - */ -fieldset { - border: 1px solid #c0c0c0; - margin: 0 2px; - padding: 0.35em 0.625em 0.75em; } - -/** - * 1. Correct the text wrapping in Edge and IE. - * 2. Correct the color inheritance from `fieldset` elements in IE. - * 3. Remove the padding so developers are not caught out when they zero out - * `fieldset` elements in all browsers. - */ -legend { - box-sizing: border-box; - /* 1 */ - display: table; - /* 1 */ - max-width: 100%; - /* 1 */ - padding: 0; - /* 3 */ - color: inherit; - /* 2 */ - white-space: normal; - /* 1 */ } - -/** - * 1. Add the correct display in IE 9-. - * 2. Add the correct vertical alignment in Chrome, Firefox, and Opera. - */ -progress { - display: inline-block; - /* 1 */ - vertical-align: baseline; - /* 2 */ } - -/** - * Remove the default vertical scrollbar in IE. - */ -textarea { - overflow: auto; } - -/* Interactive - ========================================================================== */ -/* - * Add the correct display in Edge, IE, and Firefox. - */ -details { - display: block; } - -/* - * Add the correct display in all browsers. - */ -summary { - display: list-item; } - -/* - * Add the correct display in IE 9-. - */ -menu { - display: block; } - -/* Scripting - ========================================================================== */ -/** - * Add the correct display in IE 9-. - */ -canvas { - display: inline-block; } - -/** - * Add the correct display in IE. - */ -template { - display: none; } - -/* Hidden - ========================================================================== */ -/** - * Add the correct display in IE 10-. - */ -[hidden] { - display: none; } - -.foundation-mq { - font-family: "small=0em&medium=40em&large=64em&xlarge=75em&xxlarge=90em"; } - -html { - box-sizing: border-box; - font-size: 100%; } - -*, -*::before, -*::after { - box-sizing: inherit; } - -body { - margin: 0; - padding: 0; - background: #fefefe; - font-family: "Helvetica Neue", Helvetica, Roboto, Arial, sans-serif; - font-weight: normal; - line-height: 1.5; - color: #0a0a0a; - -webkit-font-smoothing: antialiased; - -moz-osx-font-smoothing: grayscale; } - -img { - display: inline-block; - vertical-align: middle; - max-width: 100%; - height: auto; - -ms-interpolation-mode: bicubic; } - -textarea { - height: auto; - min-height: 50px; - border-radius: 0; } - -select { - box-sizing: border-box; - width: 100%; - border-radius: 0; } - -.map_canvas img, -.map_canvas embed, -.map_canvas object, -.mqa-display img, -.mqa-display embed, -.mqa-display object { - max-width: none !important; } - -button { - padding: 0; - -webkit-appearance: none; - -moz-appearance: none; - appearance: none; - border: 0; - border-radius: 0; - background: transparent; - line-height: 1; } - [data-whatinput='mouse'] button { - outline: 0; } - -pre { - overflow: auto; } - -.is-visible { - display: block !important; } - -.is-hidden { - display: none !important; } - -.row { - max-width: 75rem; - margin-right: auto; - margin-left: auto; } - .row::before, .row::after { - display: table; - content: ' '; } - .row::after { - clear: both; } - .row.collapse > .column, .row.collapse > .columns { - padding-right: 0; - padding-left: 0; } - .row .row { - margin-right: -0.625rem; - margin-left: -0.625rem; } - @media print, screen and (min-width: 40em) { - .row .row { - margin-right: -0.9375rem; - margin-left: -0.9375rem; } } - @media print, screen and (min-width: 64em) { - .row .row { - margin-right: -0.9375rem; - margin-left: -0.9375rem; } } - .row .row.collapse { - margin-right: 0; - margin-left: 0; } - .row.expanded { - max-width: none; } - .row.expanded .row { - margin-right: auto; - margin-left: auto; } - .row:not(.expanded) .row { - max-width: none; } - .row.gutter-small > .column, .row.gutter-small > .columns { - padding-right: 0.625rem; - padding-left: 0.625rem; } - .row.gutter-medium > .column, .row.gutter-medium > .columns { - padding-right: 0.9375rem; - padding-left: 0.9375rem; } - -.column, .columns { - width: 100%; - float: left; - padding-right: 0.625rem; - padding-left: 0.625rem; } - @media print, screen and (min-width: 40em) { - .column, .columns { - padding-right: 0.9375rem; - padding-left: 0.9375rem; } } - .column:last-child:not(:first-child), .columns:last-child:not(:first-child) { - float: right; } - .column.end:last-child:last-child, .end.columns:last-child:last-child { - float: left; } - -.column.row.row, .row.row.columns { - float: none; } - -.row .column.row.row, .row .row.row.columns { - margin-right: 0; - margin-left: 0; - padding-right: 0; - padding-left: 0; } - -.small-1 { - width: 8.33333%; } - -.small-push-1 { - position: relative; - left: 8.33333%; } - -.small-pull-1 { - position: relative; - left: -8.33333%; } - -.small-offset-0 { - margin-left: 0%; } - -.small-2 { - width: 16.66667%; } - -.small-push-2 { - position: relative; - left: 16.66667%; } - -.small-pull-2 { - position: relative; - left: -16.66667%; } - -.small-offset-1 { - margin-left: 8.33333%; } - -.small-3 { - width: 25%; } - -.small-push-3 { - position: relative; - left: 25%; } - -.small-pull-3 { - position: relative; - left: -25%; } - -.small-offset-2 { - margin-left: 16.66667%; } - -.small-4 { - width: 33.33333%; } - -.small-push-4 { - position: relative; - left: 33.33333%; } - -.small-pull-4 { - position: relative; - left: -33.33333%; } - -.small-offset-3 { - margin-left: 25%; } - -.small-5 { - width: 41.66667%; } - -.small-push-5 { - position: relative; - left: 41.66667%; } - -.small-pull-5 { - position: relative; - left: -41.66667%; } - -.small-offset-4 { - margin-left: 33.33333%; } - -.small-6 { - width: 50%; } - -.small-push-6 { - position: relative; - left: 50%; } - -.small-pull-6 { - position: relative; - left: -50%; } - -.small-offset-5 { - margin-left: 41.66667%; } - -.small-7 { - width: 58.33333%; } - -.small-push-7 { - position: relative; - left: 58.33333%; } - -.small-pull-7 { - position: relative; - left: -58.33333%; } - -.small-offset-6 { - margin-left: 50%; } - -.small-8 { - width: 66.66667%; } - -.small-push-8 { - position: relative; - left: 66.66667%; } - -.small-pull-8 { - position: relative; - left: -66.66667%; } - -.small-offset-7 { - margin-left: 58.33333%; } - -.small-9 { - width: 75%; } - -.small-push-9 { - position: relative; - left: 75%; } - -.small-pull-9 { - position: relative; - left: -75%; } - -.small-offset-8 { - margin-left: 66.66667%; } - -.small-10 { - width: 83.33333%; } - -.small-push-10 { - position: relative; - left: 83.33333%; } - -.small-pull-10 { - position: relative; - left: -83.33333%; } - -.small-offset-9 { - margin-left: 75%; } - -.small-11 { - width: 91.66667%; } - -.small-push-11 { - position: relative; - left: 91.66667%; } - -.small-pull-11 { - position: relative; - left: -91.66667%; } - -.small-offset-10 { - margin-left: 83.33333%; } - -.small-12 { - width: 100%; } - -.small-offset-11 { - margin-left: 91.66667%; } - -.small-up-1 > .column, .small-up-1 > .columns { - float: left; - width: 100%; } - .small-up-1 > .column:nth-of-type(1n), .small-up-1 > .columns:nth-of-type(1n) { - clear: none; } - .small-up-1 > .column:nth-of-type(1n+1), .small-up-1 > .columns:nth-of-type(1n+1) { - clear: both; } - .small-up-1 > .column:last-child, .small-up-1 > .columns:last-child { - float: left; } - -.small-up-2 > .column, .small-up-2 > .columns { - float: left; - width: 50%; } - .small-up-2 > .column:nth-of-type(1n), .small-up-2 > .columns:nth-of-type(1n) { - clear: none; } - .small-up-2 > .column:nth-of-type(2n+1), .small-up-2 > .columns:nth-of-type(2n+1) { - clear: both; } - .small-up-2 > .column:last-child, .small-up-2 > .columns:last-child { - float: left; } - -.small-up-3 > .column, .small-up-3 > .columns { - float: left; - width: 33.33333%; } - .small-up-3 > .column:nth-of-type(1n), .small-up-3 > .columns:nth-of-type(1n) { - clear: none; } - .small-up-3 > .column:nth-of-type(3n+1), .small-up-3 > .columns:nth-of-type(3n+1) { - clear: both; } - .small-up-3 > .column:last-child, .small-up-3 > .columns:last-child { - float: left; } - -.small-up-4 > .column, .small-up-4 > .columns { - float: left; - width: 25%; } - .small-up-4 > .column:nth-of-type(1n), .small-up-4 > .columns:nth-of-type(1n) { - clear: none; } - .small-up-4 > .column:nth-of-type(4n+1), .small-up-4 > .columns:nth-of-type(4n+1) { - clear: both; } - .small-up-4 > .column:last-child, .small-up-4 > .columns:last-child { - float: left; } - -.small-up-5 > .column, .small-up-5 > .columns { - float: left; - width: 20%; } - .small-up-5 > .column:nth-of-type(1n), .small-up-5 > .columns:nth-of-type(1n) { - clear: none; } - .small-up-5 > .column:nth-of-type(5n+1), .small-up-5 > .columns:nth-of-type(5n+1) { - clear: both; } - .small-up-5 > .column:last-child, .small-up-5 > .columns:last-child { - float: left; } - -.small-up-6 > .column, .small-up-6 > .columns { - float: left; - width: 16.66667%; } - .small-up-6 > .column:nth-of-type(1n), .small-up-6 > .columns:nth-of-type(1n) { - clear: none; } - .small-up-6 > .column:nth-of-type(6n+1), .small-up-6 > .columns:nth-of-type(6n+1) { - clear: both; } - .small-up-6 > .column:last-child, .small-up-6 > .columns:last-child { - float: left; } - -.small-up-7 > .column, .small-up-7 > .columns { - float: left; - width: 14.28571%; } - .small-up-7 > .column:nth-of-type(1n), .small-up-7 > .columns:nth-of-type(1n) { - clear: none; } - .small-up-7 > .column:nth-of-type(7n+1), .small-up-7 > .columns:nth-of-type(7n+1) { - clear: both; } - .small-up-7 > .column:last-child, .small-up-7 > .columns:last-child { - float: left; } - -.small-up-8 > .column, .small-up-8 > .columns { - float: left; - width: 12.5%; } - .small-up-8 > .column:nth-of-type(1n), .small-up-8 > .columns:nth-of-type(1n) { - clear: none; } - .small-up-8 > .column:nth-of-type(8n+1), .small-up-8 > .columns:nth-of-type(8n+1) { - clear: both; } - .small-up-8 > .column:last-child, .small-up-8 > .columns:last-child { - float: left; } - -.small-collapse > .column, .small-collapse > .columns { - padding-right: 0; - padding-left: 0; } - -.small-collapse .row { - margin-right: 0; - margin-left: 0; } - -.expanded.row .small-collapse.row { - margin-right: 0; - margin-left: 0; } - -.small-uncollapse > .column, .small-uncollapse > .columns { - padding-right: 0.625rem; - padding-left: 0.625rem; } - -.small-centered { - margin-right: auto; - margin-left: auto; } - .small-centered, .small-centered:last-child:not(:first-child) { - float: none; - clear: both; } - -.small-uncentered, -.small-push-0, -.small-pull-0 { - position: static; - float: left; - margin-right: 0; - margin-left: 0; } - -@media print, screen and (min-width: 40em) { - .medium-1 { - width: 8.33333%; } - .medium-push-1 { - position: relative; - left: 8.33333%; } - .medium-pull-1 { - position: relative; - left: -8.33333%; } - .medium-offset-0 { - margin-left: 0%; } - .medium-2 { - width: 16.66667%; } - .medium-push-2 { - position: relative; - left: 16.66667%; } - .medium-pull-2 { - position: relative; - left: -16.66667%; } - .medium-offset-1 { - margin-left: 8.33333%; } - .medium-3 { - width: 25%; } - .medium-push-3 { - position: relative; - left: 25%; } - .medium-pull-3 { - position: relative; - left: -25%; } - .medium-offset-2 { - margin-left: 16.66667%; } - .medium-4 { - width: 33.33333%; } - .medium-push-4 { - position: relative; - left: 33.33333%; } - .medium-pull-4 { - position: relative; - left: -33.33333%; } - .medium-offset-3 { - margin-left: 25%; } - .medium-5 { - width: 41.66667%; } - .medium-push-5 { - position: relative; - left: 41.66667%; } - .medium-pull-5 { - position: relative; - left: -41.66667%; } - .medium-offset-4 { - margin-left: 33.33333%; } - .medium-6 { - width: 50%; } - .medium-push-6 { - position: relative; - left: 50%; } - .medium-pull-6 { - position: relative; - left: -50%; } - .medium-offset-5 { - margin-left: 41.66667%; } - .medium-7 { - width: 58.33333%; } - .medium-push-7 { - position: relative; - left: 58.33333%; } - .medium-pull-7 { - position: relative; - left: -58.33333%; } - .medium-offset-6 { - margin-left: 50%; } - .medium-8 { - width: 66.66667%; } - .medium-push-8 { - position: relative; - left: 66.66667%; } - .medium-pull-8 { - position: relative; - left: -66.66667%; } - .medium-offset-7 { - margin-left: 58.33333%; } - .medium-9 { - width: 75%; } - .medium-push-9 { - position: relative; - left: 75%; } - .medium-pull-9 { - position: relative; - left: -75%; } - .medium-offset-8 { - margin-left: 66.66667%; } - .medium-10 { - width: 83.33333%; } - .medium-push-10 { - position: relative; - left: 83.33333%; } - .medium-pull-10 { - position: relative; - left: -83.33333%; } - .medium-offset-9 { - margin-left: 75%; } - .medium-11 { - width: 91.66667%; } - .medium-push-11 { - position: relative; - left: 91.66667%; } - .medium-pull-11 { - position: relative; - left: -91.66667%; } - .medium-offset-10 { - margin-left: 83.33333%; } - .medium-12 { - width: 100%; } - .medium-offset-11 { - margin-left: 91.66667%; } - .medium-up-1 > .column, .medium-up-1 > .columns { - float: left; - width: 100%; } - .medium-up-1 > .column:nth-of-type(1n), .medium-up-1 > .columns:nth-of-type(1n) { - clear: none; } - .medium-up-1 > .column:nth-of-type(1n+1), .medium-up-1 > .columns:nth-of-type(1n+1) { - clear: both; } - .medium-up-1 > .column:last-child, .medium-up-1 > .columns:last-child { - float: left; } - .medium-up-2 > .column, .medium-up-2 > .columns { - float: left; - width: 50%; } - .medium-up-2 > .column:nth-of-type(1n), .medium-up-2 > .columns:nth-of-type(1n) { - clear: none; } - .medium-up-2 > .column:nth-of-type(2n+1), .medium-up-2 > .columns:nth-of-type(2n+1) { - clear: both; } - .medium-up-2 > .column:last-child, .medium-up-2 > .columns:last-child { - float: left; } - .medium-up-3 > .column, .medium-up-3 > .columns { - float: left; - width: 33.33333%; } - .medium-up-3 > .column:nth-of-type(1n), .medium-up-3 > .columns:nth-of-type(1n) { - clear: none; } - .medium-up-3 > .column:nth-of-type(3n+1), .medium-up-3 > .columns:nth-of-type(3n+1) { - clear: both; } - .medium-up-3 > .column:last-child, .medium-up-3 > .columns:last-child { - float: left; } - .medium-up-4 > .column, .medium-up-4 > .columns { - float: left; - width: 25%; } - .medium-up-4 > .column:nth-of-type(1n), .medium-up-4 > .columns:nth-of-type(1n) { - clear: none; } - .medium-up-4 > .column:nth-of-type(4n+1), .medium-up-4 > .columns:nth-of-type(4n+1) { - clear: both; } - .medium-up-4 > .column:last-child, .medium-up-4 > .columns:last-child { - float: left; } - .medium-up-5 > .column, .medium-up-5 > .columns { - float: left; - width: 20%; } - .medium-up-5 > .column:nth-of-type(1n), .medium-up-5 > .columns:nth-of-type(1n) { - clear: none; } - .medium-up-5 > .column:nth-of-type(5n+1), .medium-up-5 > .columns:nth-of-type(5n+1) { - clear: both; } - .medium-up-5 > .column:last-child, .medium-up-5 > .columns:last-child { - float: left; } - .medium-up-6 > .column, .medium-up-6 > .columns { - float: left; - width: 16.66667%; } - .medium-up-6 > .column:nth-of-type(1n), .medium-up-6 > .columns:nth-of-type(1n) { - clear: none; } - .medium-up-6 > .column:nth-of-type(6n+1), .medium-up-6 > .columns:nth-of-type(6n+1) { - clear: both; } - .medium-up-6 > .column:last-child, .medium-up-6 > .columns:last-child { - float: left; } - .medium-up-7 > .column, .medium-up-7 > .columns { - float: left; - width: 14.28571%; } - .medium-up-7 > .column:nth-of-type(1n), .medium-up-7 > .columns:nth-of-type(1n) { - clear: none; } - .medium-up-7 > .column:nth-of-type(7n+1), .medium-up-7 > .columns:nth-of-type(7n+1) { - clear: both; } - .medium-up-7 > .column:last-child, .medium-up-7 > .columns:last-child { - float: left; } - .medium-up-8 > .column, .medium-up-8 > .columns { - float: left; - width: 12.5%; } - .medium-up-8 > .column:nth-of-type(1n), .medium-up-8 > .columns:nth-of-type(1n) { - clear: none; } - .medium-up-8 > .column:nth-of-type(8n+1), .medium-up-8 > .columns:nth-of-type(8n+1) { - clear: both; } - .medium-up-8 > .column:last-child, .medium-up-8 > .columns:last-child { - float: left; } - .medium-collapse > .column, .medium-collapse > .columns { - padding-right: 0; - padding-left: 0; } - .medium-collapse .row { - margin-right: 0; - margin-left: 0; } - .expanded.row .medium-collapse.row { - margin-right: 0; - margin-left: 0; } - .medium-uncollapse > .column, .medium-uncollapse > .columns { - padding-right: 0.9375rem; - padding-left: 0.9375rem; } - .medium-centered { - margin-right: auto; - margin-left: auto; } - .medium-centered, .medium-centered:last-child:not(:first-child) { - float: none; - clear: both; } - .medium-uncentered, - .medium-push-0, - .medium-pull-0 { - position: static; - float: left; - margin-right: 0; - margin-left: 0; } } - -@media print, screen and (min-width: 64em) { - .large-1 { - width: 8.33333%; } - .large-push-1 { - position: relative; - left: 8.33333%; } - .large-pull-1 { - position: relative; - left: -8.33333%; } - .large-offset-0 { - margin-left: 0%; } - .large-2 { - width: 16.66667%; } - .large-push-2 { - position: relative; - left: 16.66667%; } - .large-pull-2 { - position: relative; - left: -16.66667%; } - .large-offset-1 { - margin-left: 8.33333%; } - .large-3 { - width: 25%; } - .large-push-3 { - position: relative; - left: 25%; } - .large-pull-3 { - position: relative; - left: -25%; } - .large-offset-2 { - margin-left: 16.66667%; } - .large-4 { - width: 33.33333%; } - .large-push-4 { - position: relative; - left: 33.33333%; } - .large-pull-4 { - position: relative; - left: -33.33333%; } - .large-offset-3 { - margin-left: 25%; } - .large-5 { - width: 41.66667%; } - .large-push-5 { - position: relative; - left: 41.66667%; } - .large-pull-5 { - position: relative; - left: -41.66667%; } - .large-offset-4 { - margin-left: 33.33333%; } - .large-6 { - width: 50%; } - .large-push-6 { - position: relative; - left: 50%; } - .large-pull-6 { - position: relative; - left: -50%; } - .large-offset-5 { - margin-left: 41.66667%; } - .large-7 { - width: 58.33333%; } - .large-push-7 { - position: relative; - left: 58.33333%; } - .large-pull-7 { - position: relative; - left: -58.33333%; } - .large-offset-6 { - margin-left: 50%; } - .large-8 { - width: 66.66667%; } - .large-push-8 { - position: relative; - left: 66.66667%; } - .large-pull-8 { - position: relative; - left: -66.66667%; } - .large-offset-7 { - margin-left: 58.33333%; } - .large-9 { - width: 75%; } - .large-push-9 { - position: relative; - left: 75%; } - .large-pull-9 { - position: relative; - left: -75%; } - .large-offset-8 { - margin-left: 66.66667%; } - .large-10 { - width: 83.33333%; } - .large-push-10 { - position: relative; - left: 83.33333%; } - .large-pull-10 { - position: relative; - left: -83.33333%; } - .large-offset-9 { - margin-left: 75%; } - .large-11 { - width: 91.66667%; } - .large-push-11 { - position: relative; - left: 91.66667%; } - .large-pull-11 { - position: relative; - left: -91.66667%; } - .large-offset-10 { - margin-left: 83.33333%; } - .large-12 { - width: 100%; } - .large-offset-11 { - margin-left: 91.66667%; } - .large-up-1 > .column, .large-up-1 > .columns { - float: left; - width: 100%; } - .large-up-1 > .column:nth-of-type(1n), .large-up-1 > .columns:nth-of-type(1n) { - clear: none; } - .large-up-1 > .column:nth-of-type(1n+1), .large-up-1 > .columns:nth-of-type(1n+1) { - clear: both; } - .large-up-1 > .column:last-child, .large-up-1 > .columns:last-child { - float: left; } - .large-up-2 > .column, .large-up-2 > .columns { - float: left; - width: 50%; } - .large-up-2 > .column:nth-of-type(1n), .large-up-2 > .columns:nth-of-type(1n) { - clear: none; } - .large-up-2 > .column:nth-of-type(2n+1), .large-up-2 > .columns:nth-of-type(2n+1) { - clear: both; } - .large-up-2 > .column:last-child, .large-up-2 > .columns:last-child { - float: left; } - .large-up-3 > .column, .large-up-3 > .columns { - float: left; - width: 33.33333%; } - .large-up-3 > .column:nth-of-type(1n), .large-up-3 > .columns:nth-of-type(1n) { - clear: none; } - .large-up-3 > .column:nth-of-type(3n+1), .large-up-3 > .columns:nth-of-type(3n+1) { - clear: both; } - .large-up-3 > .column:last-child, .large-up-3 > .columns:last-child { - float: left; } - .large-up-4 > .column, .large-up-4 > .columns { - float: left; - width: 25%; } - .large-up-4 > .column:nth-of-type(1n), .large-up-4 > .columns:nth-of-type(1n) { - clear: none; } - .large-up-4 > .column:nth-of-type(4n+1), .large-up-4 > .columns:nth-of-type(4n+1) { - clear: both; } - .large-up-4 > .column:last-child, .large-up-4 > .columns:last-child { - float: left; } - .large-up-5 > .column, .large-up-5 > .columns { - float: left; - width: 20%; } - .large-up-5 > .column:nth-of-type(1n), .large-up-5 > .columns:nth-of-type(1n) { - clear: none; } - .large-up-5 > .column:nth-of-type(5n+1), .large-up-5 > .columns:nth-of-type(5n+1) { - clear: both; } - .large-up-5 > .column:last-child, .large-up-5 > .columns:last-child { - float: left; } - .large-up-6 > .column, .large-up-6 > .columns { - float: left; - width: 16.66667%; } - .large-up-6 > .column:nth-of-type(1n), .large-up-6 > .columns:nth-of-type(1n) { - clear: none; } - .large-up-6 > .column:nth-of-type(6n+1), .large-up-6 > .columns:nth-of-type(6n+1) { - clear: both; } - .large-up-6 > .column:last-child, .large-up-6 > .columns:last-child { - float: left; } - .large-up-7 > .column, .large-up-7 > .columns { - float: left; - width: 14.28571%; } - .large-up-7 > .column:nth-of-type(1n), .large-up-7 > .columns:nth-of-type(1n) { - clear: none; } - .large-up-7 > .column:nth-of-type(7n+1), .large-up-7 > .columns:nth-of-type(7n+1) { - clear: both; } - .large-up-7 > .column:last-child, .large-up-7 > .columns:last-child { - float: left; } - .large-up-8 > .column, .large-up-8 > .columns { - float: left; - width: 12.5%; } - .large-up-8 > .column:nth-of-type(1n), .large-up-8 > .columns:nth-of-type(1n) { - clear: none; } - .large-up-8 > .column:nth-of-type(8n+1), .large-up-8 > .columns:nth-of-type(8n+1) { - clear: both; } - .large-up-8 > .column:last-child, .large-up-8 > .columns:last-child { - float: left; } - .large-collapse > .column, .large-collapse > .columns { - padding-right: 0; - padding-left: 0; } - .large-collapse .row { - margin-right: 0; - margin-left: 0; } - .expanded.row .large-collapse.row { - margin-right: 0; - margin-left: 0; } - .large-uncollapse > .column, .large-uncollapse > .columns { - padding-right: 0.9375rem; - padding-left: 0.9375rem; } - .large-centered { - margin-right: auto; - margin-left: auto; } - .large-centered, .large-centered:last-child:not(:first-child) { - float: none; - clear: both; } - .large-uncentered, - .large-push-0, - .large-pull-0 { - position: static; - float: left; - margin-right: 0; - margin-left: 0; } } - -.column-block { - margin-bottom: 1.25rem; } - .column-block > :last-child { - margin-bottom: 0; } - @media print, screen and (min-width: 40em) { - .column-block { - margin-bottom: 1.875rem; } - .column-block > :last-child { - margin-bottom: 0; } } - -div, -dl, -dt, -dd, -ul, -ol, -li, -h1, -h2, -h3, -h4, -h5, -h6, -pre, -form, -p, -blockquote, -th, -td { - margin: 0; - padding: 0; } - -p { - margin-bottom: 1rem; - font-size: inherit; - line-height: 1.6; - text-rendering: optimizeLegibility; } - -em, -i { - font-style: italic; - line-height: inherit; } - -strong, -b { - font-weight: bold; - line-height: inherit; } - -small { - font-size: 80%; - line-height: inherit; } - -h1, -h2, -h3, -h4, -h5, -h6 { - font-family: "Helvetica Neue", Helvetica, Roboto, Arial, sans-serif; - font-style: normal; - font-weight: normal; - color: inherit; - text-rendering: optimizeLegibility; } - h1 small, - h2 small, - h3 small, - h4 small, - h5 small, - h6 small { - line-height: 0; - color: #cacaca; } - -h1 { - font-size: 1.5rem; - line-height: 1.4; - margin-top: 0; - margin-bottom: 0.5rem; } - -h2 { - font-size: 1.25rem; - line-height: 1.4; - margin-top: 0; - margin-bottom: 0.5rem; } - -h3 { - font-size: 1.1875rem; - line-height: 1.4; - margin-top: 0; - margin-bottom: 0.5rem; } - -h4 { - font-size: 1.125rem; - line-height: 1.4; - margin-top: 0; - margin-bottom: 0.5rem; } - -h5 { - font-size: 1.0625rem; - line-height: 1.4; - margin-top: 0; - margin-bottom: 0.5rem; } - -h6 { - font-size: 1rem; - line-height: 1.4; - margin-top: 0; - margin-bottom: 0.5rem; } - -@media print, screen and (min-width: 40em) { - h1 { - font-size: 3rem; } - h2 { - font-size: 2.5rem; } - h3 { - font-size: 1.9375rem; } - h4 { - font-size: 1.5625rem; } - h5 { - font-size: 1.25rem; } - h6 { - font-size: 1rem; } } - -a { - line-height: inherit; - color: #1779ba; - text-decoration: none; - cursor: pointer; } - a:hover, a:focus { - color: #1468a0; } - a img { - border: 0; } - -hr { - clear: both; - max-width: 75rem; - height: 0; - margin: 1.25rem auto; - border-top: 0; - border-right: 0; - border-bottom: 1px solid #cacaca; - border-left: 0; } - -ul, -ol, -dl { - margin-bottom: 1rem; - list-style-position: outside; - line-height: 1.6; } - -li { - font-size: inherit; } - -ul { - margin-left: 1.25rem; - list-style-type: disc; } - -ol { - margin-left: 1.25rem; } - -ul ul, ol ul, ul ol, ol ol { - margin-left: 1.25rem; - margin-bottom: 0; } - -dl { - margin-bottom: 1rem; } - dl dt { - margin-bottom: 0.3rem; - font-weight: bold; } - -blockquote { - margin: 0 0 1rem; - padding: 0.5625rem 1.25rem 0 1.1875rem; - border-left: 1px solid #cacaca; } - blockquote, blockquote p { - line-height: 1.6; - color: #8a8a8a; } - -cite { - display: block; - font-size: 0.8125rem; - color: #8a8a8a; } - cite:before { - content: "— "; } - -abbr { - border-bottom: 1px dotted #0a0a0a; - color: #0a0a0a; - cursor: help; } - -figure { - margin: 0; } - -code { - padding: 0.125rem 0.3125rem 0.0625rem; - border: 1px solid #cacaca; - background-color: #e6e6e6; - font-family: Consolas, "Liberation Mono", Courier, monospace; - font-weight: normal; - color: #0a0a0a; } - -kbd { - margin: 0; - padding: 0.125rem 0.25rem 0; - background-color: #e6e6e6; - font-family: Consolas, "Liberation Mono", Courier, monospace; - color: #0a0a0a; } - -.subheader { - margin-top: 0.2rem; - margin-bottom: 0.5rem; - font-weight: normal; - line-height: 1.4; - color: #8a8a8a; } - -.lead { - font-size: 125%; - line-height: 1.6; } - -.stat { - font-size: 2.5rem; - line-height: 1; } - p + .stat { - margin-top: -1rem; } - -.no-bullet { - margin-left: 0; - list-style: none; } - -.text-left { - text-align: left; } - -.text-right { - text-align: right; } - -.text-center { - text-align: center; } - -.text-justify { - text-align: justify; } - -@media print, screen and (min-width: 40em) { - .medium-text-left { - text-align: left; } - .medium-text-right { - text-align: right; } - .medium-text-center { - text-align: center; } - .medium-text-justify { - text-align: justify; } } - -@media print, screen and (min-width: 64em) { - .large-text-left { - text-align: left; } - .large-text-right { - text-align: right; } - .large-text-center { - text-align: center; } - .large-text-justify { - text-align: justify; } } - -.show-for-print { - display: none !important; } - -@media print { - * { - background: transparent !important; - box-shadow: none !important; - color: black !important; - text-shadow: none !important; } - .show-for-print { - display: block !important; } - .hide-for-print { - display: none !important; } - table.show-for-print { - display: table !important; } - thead.show-for-print { - display: table-header-group !important; } - tbody.show-for-print { - display: table-row-group !important; } - tr.show-for-print { - display: table-row !important; } - td.show-for-print { - display: table-cell !important; } - th.show-for-print { - display: table-cell !important; } - a, - a:visited { - text-decoration: underline; } - a[href]:after { - content: " (" attr(href) ")"; } - .ir a:after, - a[href^='javascript:']:after, - a[href^='#']:after { - content: ''; } - abbr[title]:after { - content: " (" attr(title) ")"; } - pre, - blockquote { - border: 1px solid #8a8a8a; - page-break-inside: avoid; } - thead { - display: table-header-group; } - tr, - img { - page-break-inside: avoid; } - img { - max-width: 100% !important; } - @page { - margin: 0.5cm; } - p, - h2, - h3 { - orphans: 3; - widows: 3; } - h2, - h3 { - page-break-after: avoid; } } - -.button { - display: inline-block; - vertical-align: middle; - margin: 0 0 1rem 0; - padding: 0.85em 1em; - -webkit-appearance: none; - border: 1px solid transparent; - border-radius: 0; - transition: background-color 0.25s ease-out, color 0.25s ease-out; - font-size: 0.9rem; - line-height: 1; - text-align: center; - cursor: pointer; - background-color: #1779ba; - color: #fefefe; } - [data-whatinput='mouse'] .button { - outline: 0; } - .button:hover, .button:focus { - background-color: #14679e; - color: #fefefe; } - .button.tiny { - font-size: 0.6rem; } - .button.small { - font-size: 0.75rem; } - .button.large { - font-size: 1.25rem; } - .button.expanded { - display: block; - width: 100%; - margin-right: 0; - margin-left: 0; } - .button.primary { - background-color: #1779ba; - color: #fefefe; } - .button.primary:hover, .button.primary:focus { - background-color: #126195; - color: #fefefe; } - .button.secondary { - background-color: #767676; - color: #fefefe; } - .button.secondary:hover, .button.secondary:focus { - background-color: #5e5e5e; - color: #fefefe; } - .button.success { - background-color: #3adb76; - color: #0a0a0a; } - .button.success:hover, .button.success:focus { - background-color: #22bb5b; - color: #0a0a0a; } - .button.warning { - background-color: #ffae00; - color: #0a0a0a; } - .button.warning:hover, .button.warning:focus { - background-color: #cc8b00; - color: #0a0a0a; } - .button.alert { - background-color: #cc4b37; - color: #fefefe; } - .button.alert:hover, .button.alert:focus { - background-color: #a53b2a; - color: #fefefe; } - .button.hollow { - border: 1px solid #1779ba; - color: #1779ba; } - .button.hollow, .button.hollow:hover, .button.hollow:focus { - background-color: transparent; } - .button.hollow:hover, .button.hollow:focus { - border-color: #0c3d5d; - color: #0c3d5d; } - .button.hollow.primary { - border: 1px solid #1779ba; - color: #1779ba; } - .button.hollow.primary:hover, .button.hollow.primary:focus { - border-color: #0c3d5d; - color: #0c3d5d; } - .button.hollow.secondary { - border: 1px solid #767676; - color: #767676; } - .button.hollow.secondary:hover, .button.hollow.secondary:focus { - border-color: #3b3b3b; - color: #3b3b3b; } - .button.hollow.success { - border: 1px solid #3adb76; - color: #3adb76; } - .button.hollow.success:hover, .button.hollow.success:focus { - border-color: #157539; - color: #157539; } - .button.hollow.warning { - border: 1px solid #ffae00; - color: #ffae00; } - .button.hollow.warning:hover, .button.hollow.warning:focus { - border-color: #805700; - color: #805700; } - .button.hollow.alert { - border: 1px solid #cc4b37; - color: #cc4b37; } - .button.hollow.alert:hover, .button.hollow.alert:focus { - border-color: #67251a; - color: #67251a; } - .button.disabled, .button[disabled] { - opacity: 0.25; - cursor: not-allowed; } - .button.disabled, .button.disabled:hover, .button.disabled:focus, .button[disabled], .button[disabled]:hover, .button[disabled]:focus { - background-color: #1779ba; - color: #fefefe; } - .button.disabled.primary, .button[disabled].primary { - opacity: 0.25; - cursor: not-allowed; } - .button.disabled.primary, .button.disabled.primary:hover, .button.disabled.primary:focus, .button[disabled].primary, .button[disabled].primary:hover, .button[disabled].primary:focus { - background-color: #1779ba; - color: #fefefe; } - .button.disabled.secondary, .button[disabled].secondary { - opacity: 0.25; - cursor: not-allowed; } - .button.disabled.secondary, .button.disabled.secondary:hover, .button.disabled.secondary:focus, .button[disabled].secondary, .button[disabled].secondary:hover, .button[disabled].secondary:focus { - background-color: #767676; - color: #fefefe; } - .button.disabled.success, .button[disabled].success { - opacity: 0.25; - cursor: not-allowed; } - .button.disabled.success, .button.disabled.success:hover, .button.disabled.success:focus, .button[disabled].success, .button[disabled].success:hover, .button[disabled].success:focus { - background-color: #3adb76; - color: #0a0a0a; } - .button.disabled.warning, .button[disabled].warning { - opacity: 0.25; - cursor: not-allowed; } - .button.disabled.warning, .button.disabled.warning:hover, .button.disabled.warning:focus, .button[disabled].warning, .button[disabled].warning:hover, .button[disabled].warning:focus { - background-color: #ffae00; - color: #0a0a0a; } - .button.disabled.alert, .button[disabled].alert { - opacity: 0.25; - cursor: not-allowed; } - .button.disabled.alert, .button.disabled.alert:hover, .button.disabled.alert:focus, .button[disabled].alert, .button[disabled].alert:hover, .button[disabled].alert:focus { - background-color: #cc4b37; - color: #fefefe; } - .button.dropdown::after { - display: block; - width: 0; - height: 0; - border: inset 0.4em; - content: ''; - border-bottom-width: 0; - border-top-style: solid; - border-color: #fefefe transparent transparent; - position: relative; - top: 0.4em; - display: inline-block; - float: right; - margin-left: 1em; } - .button.arrow-only::after { - top: -0.1em; - float: none; - margin-left: 0; } - -[type='text'], [type='password'], [type='date'], [type='datetime'], [type='datetime-local'], [type='month'], [type='week'], [type='email'], [type='number'], [type='search'], [type='tel'], [type='time'], [type='url'], [type='color'], -textarea { - display: block; - box-sizing: border-box; - width: 100%; - height: 2.4375rem; - margin: 0 0 1rem; - padding: 0.5rem; - border: 1px solid #cacaca; - border-radius: 0; - background-color: #fefefe; - box-shadow: inset 0 1px 2px rgba(10, 10, 10, 0.1); - font-family: inherit; - font-size: 1rem; - font-weight: normal; - color: #0a0a0a; - transition: box-shadow 0.5s, border-color 0.25s ease-in-out; - -webkit-appearance: none; - -moz-appearance: none; - appearance: none; } - [type='text']:focus, [type='password']:focus, [type='date']:focus, [type='datetime']:focus, [type='datetime-local']:focus, [type='month']:focus, [type='week']:focus, [type='email']:focus, [type='number']:focus, [type='search']:focus, [type='tel']:focus, [type='time']:focus, [type='url']:focus, [type='color']:focus, - textarea:focus { - outline: none; - border: 1px solid #8a8a8a; - background-color: #fefefe; - box-shadow: 0 0 5px #cacaca; - transition: box-shadow 0.5s, border-color 0.25s ease-in-out; } - -textarea { - max-width: 100%; } - textarea[rows] { - height: auto; } - -input::-webkit-input-placeholder, -textarea::-webkit-input-placeholder { - color: #cacaca; } - -input::-moz-placeholder, -textarea::-moz-placeholder { - color: #cacaca; } - -input:-ms-input-placeholder, -textarea:-ms-input-placeholder { - color: #cacaca; } - -input::placeholder, -textarea::placeholder { - color: #cacaca; } - -input:disabled, input[readonly], -textarea:disabled, -textarea[readonly] { - background-color: #e6e6e6; - cursor: not-allowed; } - -[type='submit'], -[type='button'] { - -webkit-appearance: none; - -moz-appearance: none; - appearance: none; - border-radius: 0; } - -input[type='search'] { - box-sizing: border-box; } - -[type='file'], -[type='checkbox'], -[type='radio'] { - margin: 0 0 1rem; } - -[type='checkbox'] + label, -[type='radio'] + label { - display: inline-block; - vertical-align: baseline; - margin-left: 0.5rem; - margin-right: 1rem; - margin-bottom: 0; } - [type='checkbox'] + label[for], - [type='radio'] + label[for] { - cursor: pointer; } - -label > [type='checkbox'], -label > [type='radio'] { - margin-right: 0.5rem; } - -[type='file'] { - width: 100%; } - -label { - display: block; - margin: 0; - font-size: 0.875rem; - font-weight: normal; - line-height: 1.8; - color: #0a0a0a; } - label.middle { - margin: 0 0 1rem; - padding: 0.5625rem 0; } - -.help-text { - margin-top: -0.5rem; - font-size: 0.8125rem; - font-style: italic; - color: #0a0a0a; } - -.input-group { - display: table; - width: 100%; - margin-bottom: 1rem; } - .input-group > :first-child { - border-radius: 0 0 0 0; } - .input-group > :last-child > * { - border-radius: 0 0 0 0; } - -.input-group-label, .input-group-field, .input-group-button, .input-group-button a, -.input-group-button input, -.input-group-button button, -.input-group-button label { - margin: 0; - white-space: nowrap; - display: table-cell; - vertical-align: middle; } - -.input-group-label { - padding: 0 1rem; - border: 1px solid #cacaca; - background: #e6e6e6; - color: #0a0a0a; - text-align: center; - white-space: nowrap; - width: 1%; - height: 100%; } - .input-group-label:first-child { - border-right: 0; } - .input-group-label:last-child { - border-left: 0; } - -.input-group-field { - border-radius: 0; - height: 2.5rem; } - -.input-group-button { - padding-top: 0; - padding-bottom: 0; - text-align: center; - width: 1%; - height: 100%; } - .input-group-button a, - .input-group-button input, - .input-group-button button, - .input-group-button label { - height: 2.5rem; - padding-top: 0; - padding-bottom: 0; - font-size: 1rem; } - -.input-group .input-group-button { - display: table-cell; } - -fieldset { - margin: 0; - padding: 0; - border: 0; } - -legend { - max-width: 100%; - margin-bottom: 0.5rem; } - -.fieldset { - margin: 1.125rem 0; - padding: 1.25rem; - border: 1px solid #cacaca; } - .fieldset legend { - margin: 0; - margin-left: -0.1875rem; - padding: 0 0.1875rem; - background: #fefefe; } - -select { - height: 2.4375rem; - margin: 0 0 1rem; - padding: 0.5rem; - -webkit-appearance: none; - -moz-appearance: none; - appearance: none; - border: 1px solid #cacaca; - border-radius: 0; - background-color: #fefefe; - font-family: inherit; - font-size: 1rem; - line-height: normal; - color: #0a0a0a; - background-image: url("data:image/svg+xml;utf8,"); - background-origin: content-box; - background-position: right -1rem center; - background-repeat: no-repeat; - background-size: 9px 6px; - padding-right: 1.5rem; - transition: box-shadow 0.5s, border-color 0.25s ease-in-out; } - @media screen and (min-width: 0\0) { - select { - background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAYCAYAAACbU/80AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAIpJREFUeNrEkckNgDAMBBfRkEt0ObRBBdsGXUDgmQfK4XhH2m8czQAAy27R3tsw4Qfe2x8uOO6oYLb6GlOor3GF+swURAOmUJ+RwtEJs9WvTGEYxBXqI1MQAZhCfUQKRzDMVj+TwrAIV6jvSUEkYAr1LSkcyTBb/V+KYfX7xAeusq3sLDtGH3kEGACPWIflNZfhRQAAAABJRU5ErkJggg=="); } } - select:focus { - outline: none; - border: 1px solid #8a8a8a; - background-color: #fefefe; - box-shadow: 0 0 5px #cacaca; - transition: box-shadow 0.5s, border-color 0.25s ease-in-out; } - select:disabled { - background-color: #e6e6e6; - cursor: not-allowed; } - select::-ms-expand { - display: none; } - select[multiple] { - height: auto; - background-image: none; } - -.is-invalid-input:not(:focus) { - border-color: #cc4b37; - background-color: #f9ecea; } - .is-invalid-input:not(:focus)::-webkit-input-placeholder { - color: #cc4b37; } - .is-invalid-input:not(:focus)::-moz-placeholder { - color: #cc4b37; } - .is-invalid-input:not(:focus):-ms-input-placeholder { - color: #cc4b37; } - .is-invalid-input:not(:focus)::placeholder { - color: #cc4b37; } - -.is-invalid-label { - color: #cc4b37; } - -.form-error { - display: none; - margin-top: -0.5rem; - margin-bottom: 1rem; - font-size: 0.75rem; - font-weight: bold; - color: #cc4b37; } - .form-error.is-visible { - display: block; } - -.accordion { - margin-left: 0; - background: #fefefe; - list-style-type: none; } - -.accordion-item:first-child > :first-child { - border-radius: 0 0 0 0; } - -.accordion-item:last-child > :last-child { - border-radius: 0 0 0 0; } - -.accordion-title { - position: relative; - display: block; - padding: 1.25rem 1rem; - border: 1px solid #e6e6e6; - border-bottom: 0; - font-size: 0.75rem; - line-height: 1; - color: #1779ba; } - :last-child:not(.is-active) > .accordion-title { - border-bottom: 1px solid #e6e6e6; - border-radius: 0 0 0 0; } - .accordion-title:hover, .accordion-title:focus { - background-color: #e6e6e6; } - .accordion-title::before { - position: absolute; - top: 50%; - right: 1rem; - margin-top: -0.5rem; - content: '+'; } - .is-active > .accordion-title::before { - content: '\2013'; } - -.accordion-content { - display: none; - padding: 1rem; - border: 1px solid #e6e6e6; - border-bottom: 0; - background-color: #fefefe; - color: #0a0a0a; } - :last-child > .accordion-content:last-child { - border-bottom: 1px solid #e6e6e6; } - -.is-accordion-submenu-parent > a { - position: relative; } - .is-accordion-submenu-parent > a::after { - display: block; - width: 0; - height: 0; - border: inset 6px; - content: ''; - border-bottom-width: 0; - border-top-style: solid; - border-color: #1779ba transparent transparent; - position: absolute; - top: 50%; - margin-top: -3px; - right: 1rem; } - -.is-accordion-submenu-parent[aria-expanded='true'] > a::after { - -ms-transform: rotate(180deg); - transform: rotate(180deg); - -ms-transform-origin: 50% 50%; - transform-origin: 50% 50%; } - -.badge { - display: inline-block; - min-width: 2.1em; - padding: 0.3em; - border-radius: 50%; - font-size: 0.6rem; - text-align: center; - background: #1779ba; - color: #fefefe; } - .badge.primary { - background: #1779ba; - color: #fefefe; } - .badge.secondary { - background: #767676; - color: #fefefe; } - .badge.success { - background: #3adb76; - color: #0a0a0a; } - .badge.warning { - background: #ffae00; - color: #0a0a0a; } - .badge.alert { - background: #cc4b37; - color: #fefefe; } - -.breadcrumbs { - margin: 0 0 1rem 0; - list-style: none; } - .breadcrumbs::before, .breadcrumbs::after { - display: table; - content: ' '; } - .breadcrumbs::after { - clear: both; } - .breadcrumbs li { - float: left; - font-size: 0.6875rem; - color: #0a0a0a; - cursor: default; - text-transform: uppercase; } - .breadcrumbs li:not(:last-child)::after { - position: relative; - top: 1px; - margin: 0 0.75rem; - opacity: 1; - content: "/"; - color: #cacaca; } - .breadcrumbs a { - color: #1779ba; } - .breadcrumbs a:hover { - text-decoration: underline; } - .breadcrumbs .disabled { - color: #cacaca; - cursor: not-allowed; } - -.button-group { - margin-bottom: 1rem; - font-size: 0; } - .button-group::before, .button-group::after { - display: table; - content: ' '; } - .button-group::after { - clear: both; } - .button-group .button { - margin: 0; - margin-right: 1px; - margin-bottom: 1px; - font-size: 0.9rem; } - .button-group .button:last-child { - margin-right: 0; } - .button-group.tiny .button { - font-size: 0.6rem; } - .button-group.small .button { - font-size: 0.75rem; } - .button-group.large .button { - font-size: 1.25rem; } - .button-group.expanded { - margin-right: -1px; } - .button-group.expanded::before, .button-group.expanded::after { - display: none; } - .button-group.expanded .button:first-child:last-child { - width: 100%; } - .button-group.expanded .button:first-child:nth-last-child(2), .button-group.expanded .button:first-child:nth-last-child(2):first-child:nth-last-child(2) ~ .button { - display: inline-block; - width: calc(50% - 1px); - margin-right: 1px; } - .button-group.expanded .button:first-child:nth-last-child(2):last-child, .button-group.expanded .button:first-child:nth-last-child(2):first-child:nth-last-child(2) ~ .button:last-child { - margin-right: -6px; } - .button-group.expanded .button:first-child:nth-last-child(3), .button-group.expanded .button:first-child:nth-last-child(3):first-child:nth-last-child(3) ~ .button { - display: inline-block; - width: calc(33.33333% - 1px); - margin-right: 1px; } - .button-group.expanded .button:first-child:nth-last-child(3):last-child, .button-group.expanded .button:first-child:nth-last-child(3):first-child:nth-last-child(3) ~ .button:last-child { - margin-right: -6px; } - .button-group.expanded .button:first-child:nth-last-child(4), .button-group.expanded .button:first-child:nth-last-child(4):first-child:nth-last-child(4) ~ .button { - display: inline-block; - width: calc(25% - 1px); - margin-right: 1px; } - .button-group.expanded .button:first-child:nth-last-child(4):last-child, .button-group.expanded .button:first-child:nth-last-child(4):first-child:nth-last-child(4) ~ .button:last-child { - margin-right: -6px; } - .button-group.expanded .button:first-child:nth-last-child(5), .button-group.expanded .button:first-child:nth-last-child(5):first-child:nth-last-child(5) ~ .button { - display: inline-block; - width: calc(20% - 1px); - margin-right: 1px; } - .button-group.expanded .button:first-child:nth-last-child(5):last-child, .button-group.expanded .button:first-child:nth-last-child(5):first-child:nth-last-child(5) ~ .button:last-child { - margin-right: -6px; } - .button-group.expanded .button:first-child:nth-last-child(6), .button-group.expanded .button:first-child:nth-last-child(6):first-child:nth-last-child(6) ~ .button { - display: inline-block; - width: calc(16.66667% - 1px); - margin-right: 1px; } - .button-group.expanded .button:first-child:nth-last-child(6):last-child, .button-group.expanded .button:first-child:nth-last-child(6):first-child:nth-last-child(6) ~ .button:last-child { - margin-right: -6px; } - .button-group.primary .button { - background-color: #1779ba; - color: #fefefe; } - .button-group.primary .button:hover, .button-group.primary .button:focus { - background-color: #126195; - color: #fefefe; } - .button-group.secondary .button { - background-color: #767676; - color: #fefefe; } - .button-group.secondary .button:hover, .button-group.secondary .button:focus { - background-color: #5e5e5e; - color: #fefefe; } - .button-group.success .button { - background-color: #3adb76; - color: #0a0a0a; } - .button-group.success .button:hover, .button-group.success .button:focus { - background-color: #22bb5b; - color: #0a0a0a; } - .button-group.warning .button { - background-color: #ffae00; - color: #0a0a0a; } - .button-group.warning .button:hover, .button-group.warning .button:focus { - background-color: #cc8b00; - color: #0a0a0a; } - .button-group.alert .button { - background-color: #cc4b37; - color: #fefefe; } - .button-group.alert .button:hover, .button-group.alert .button:focus { - background-color: #a53b2a; - color: #fefefe; } - .button-group.stacked .button, .button-group.stacked-for-small .button, .button-group.stacked-for-medium .button { - width: 100%; } - .button-group.stacked .button:last-child, .button-group.stacked-for-small .button:last-child, .button-group.stacked-for-medium .button:last-child { - margin-bottom: 0; } - @media print, screen and (min-width: 40em) { - .button-group.stacked-for-small .button { - width: auto; - margin-bottom: 0; } } - @media print, screen and (min-width: 64em) { - .button-group.stacked-for-medium .button { - width: auto; - margin-bottom: 0; } } - @media screen and (max-width: 39.9375em) { - .button-group.stacked-for-small.expanded { - display: block; } - .button-group.stacked-for-small.expanded .button { - display: block; - margin-right: 0; } } - -.card { - margin-bottom: 1rem; - border: 1px solid #e6e6e6; - border-radius: 0; - background: #fefefe; - box-shadow: none; - overflow: hidden; - color: #0a0a0a; } - .card > :last-child { - margin-bottom: 0; } - -.card-divider { - padding: 1rem; - background: #e6e6e6; } - .card-divider > :last-child { - margin-bottom: 0; } - -.card-section { - padding: 1rem; } - .card-section > :last-child { - margin-bottom: 0; } - -.callout { - position: relative; - margin: 0 0 1rem 0; - padding: 1rem; - border: 1px solid rgba(10, 10, 10, 0.25); - border-radius: 0; - background-color: white; - color: #0a0a0a; } - .callout > :first-child { - margin-top: 0; } - .callout > :last-child { - margin-bottom: 0; } - .callout.primary { - background-color: #d7ecfa; - color: #0a0a0a; } - .callout.secondary { - background-color: #eaeaea; - color: #0a0a0a; } - .callout.success { - background-color: #e1faea; - color: #0a0a0a; } - .callout.warning { - background-color: #fff3d9; - color: #0a0a0a; } - .callout.alert { - background-color: #f7e4e1; - color: #0a0a0a; } - .callout.small { - padding-top: 0.5rem; - padding-right: 0.5rem; - padding-bottom: 0.5rem; - padding-left: 0.5rem; } - .callout.large { - padding-top: 3rem; - padding-right: 3rem; - padding-bottom: 3rem; - padding-left: 3rem; } - -.close-button { - position: absolute; - color: #8a8a8a; - cursor: pointer; } - [data-whatinput='mouse'] .close-button { - outline: 0; } - .close-button:hover, .close-button:focus { - color: #0a0a0a; } - .close-button.small { - right: 0.66rem; - top: 0.33em; - font-size: 1.5em; - line-height: 1; } - .close-button, .close-button.medium { - right: 1rem; - top: 0.5rem; - font-size: 2em; - line-height: 1; } - -.menu { - margin: 0; - list-style-type: none; } - .menu > li { - display: table-cell; - vertical-align: middle; } - [data-whatinput='mouse'] .menu > li { - outline: 0; } - .menu > li > a { - display: block; - padding: 0.7rem 1rem; - line-height: 1; } - .menu input, - .menu select, - .menu a, - .menu button { - margin-bottom: 0; } - .menu > li > a img, - .menu > li > a i, - .menu > li > a svg { - vertical-align: middle; } - .menu > li > a img + span, - .menu > li > a i + span, - .menu > li > a svg + span { - vertical-align: middle; } - .menu > li > a img, - .menu > li > a i, - .menu > li > a svg { - margin-right: 0.25rem; - display: inline-block; } - .menu > li, .menu.horizontal > li { - display: table-cell; } - .menu.expanded { - display: table; - width: 100%; - table-layout: fixed; } - .menu.expanded > li:first-child:last-child { - width: 100%; } - .menu.vertical > li { - display: block; } - @media print, screen and (min-width: 40em) { - .menu.medium-horizontal > li { - display: table-cell; } - .menu.medium-expanded { - display: table; - width: 100%; - table-layout: fixed; } - .menu.medium-expanded > li:first-child:last-child { - width: 100%; } - .menu.medium-vertical > li { - display: block; } } - @media print, screen and (min-width: 64em) { - .menu.large-horizontal > li { - display: table-cell; } - .menu.large-expanded { - display: table; - width: 100%; - table-layout: fixed; } - .menu.large-expanded > li:first-child:last-child { - width: 100%; } - .menu.large-vertical > li { - display: block; } } - .menu.simple li { - display: inline-block; - vertical-align: top; - line-height: 1; } - .menu.simple a { - padding: 0; } - .menu.simple li { - margin-left: 0; - margin-right: 1rem; } - .menu.simple.align-right li { - margin-right: 0; - margin-left: 1rem; } - .menu.align-right::before, .menu.align-right::after { - display: table; - content: ' '; } - .menu.align-right::after { - clear: both; } - .menu.align-right > li { - float: right; } - .menu.icon-top > li > a { - text-align: center; } - .menu.icon-top > li > a img, - .menu.icon-top > li > a i, - .menu.icon-top > li > a svg { - display: block; - margin: 0 auto 0.25rem; } - .menu.icon-top.vertical a > span { - margin: auto; } - .menu.nested { - margin-left: 1rem; } - .menu .active > a { - background: #1779ba; - color: #fefefe; } - .menu.menu-bordered li { - border: 1px solid #e6e6e6; } - .menu.menu-bordered li:not(:first-child) { - border-top: 0; } - .menu.menu-hover li:hover { - background-color: #e6e6e6; } - -.menu-text { - padding-top: 0; - padding-bottom: 0; - padding: 0.7rem 1rem; - font-weight: bold; - line-height: 1; - color: inherit; } - -.menu-centered { - text-align: center; } - .menu-centered > .menu { - display: inline-block; - vertical-align: top; } - -.no-js [data-responsive-menu] ul { - display: none; } - -.menu-icon { - position: relative; - display: inline-block; - vertical-align: middle; - width: 20px; - height: 16px; - cursor: pointer; } - .menu-icon::after { - position: absolute; - top: 0; - left: 0; - display: block; - width: 100%; - height: 2px; - background: #fefefe; - box-shadow: 0 7px 0 #fefefe, 0 14px 0 #fefefe; - content: ''; } - .menu-icon:hover::after { - background: #cacaca; - box-shadow: 0 7px 0 #cacaca, 0 14px 0 #cacaca; } - -.menu-icon.dark { - position: relative; - display: inline-block; - vertical-align: middle; - width: 20px; - height: 16px; - cursor: pointer; } - .menu-icon.dark::after { - position: absolute; - top: 0; - left: 0; - display: block; - width: 100%; - height: 2px; - background: #0a0a0a; - box-shadow: 0 7px 0 #0a0a0a, 0 14px 0 #0a0a0a; - content: ''; } - .menu-icon.dark:hover::after { - background: #8a8a8a; - box-shadow: 0 7px 0 #8a8a8a, 0 14px 0 #8a8a8a; } - -.is-drilldown { - position: relative; - overflow: hidden; } - .is-drilldown li { - display: block; } - .is-drilldown.animate-height { - transition: height 0.5s; } - -.is-drilldown-submenu { - position: absolute; - top: 0; - left: 100%; - z-index: -1; - width: 100%; - background: #fefefe; - transition: transform 0.15s linear; } - .is-drilldown-submenu.is-active { - z-index: 1; - display: block; - -ms-transform: translateX(-100%); - transform: translateX(-100%); } - .is-drilldown-submenu.is-closing { - -ms-transform: translateX(100%); - transform: translateX(100%); } - -.drilldown-submenu-cover-previous { - min-height: 100%; } - -.is-drilldown-submenu-parent > a { - position: relative; } - .is-drilldown-submenu-parent > a::after { - display: block; - width: 0; - height: 0; - border: inset 6px; - content: ''; - border-right-width: 0; - border-left-style: solid; - border-color: transparent transparent transparent #1779ba; - position: absolute; - top: 50%; - margin-top: -6px; - right: 1rem; } - -.js-drilldown-back > a::before { - display: block; - width: 0; - height: 0; - border: inset 6px; - content: ''; - border-left-width: 0; - border-right-style: solid; - border-color: transparent #1779ba transparent transparent; - border-left-width: 0; - display: inline-block; - vertical-align: middle; - margin-right: 0.75rem; - border-left-width: 0; } - -.dropdown-pane { - position: absolute; - z-index: 10; - display: block; - width: 300px; - padding: 1rem; - visibility: hidden; - border: 1px solid #cacaca; - border-radius: 0; - background-color: #fefefe; - font-size: 1rem; } - .dropdown-pane.is-open { - visibility: visible; } - -.dropdown-pane.tiny { - width: 100px; } - -.dropdown-pane.small { - width: 200px; } - -.dropdown-pane.large { - width: 400px; } - -.dropdown.menu > li.opens-left > .is-dropdown-submenu { - top: 100%; - right: 0; - left: auto; } - -.dropdown.menu > li.opens-right > .is-dropdown-submenu { - top: 100%; - right: auto; - left: 0; } - -.dropdown.menu > li.is-dropdown-submenu-parent > a { - position: relative; - padding-right: 1.5rem; } - -.dropdown.menu > li.is-dropdown-submenu-parent > a::after { - display: block; - width: 0; - height: 0; - border: inset 6px; - content: ''; - border-bottom-width: 0; - border-top-style: solid; - border-color: #1779ba transparent transparent; - right: 5px; - margin-top: -3px; } - -[data-whatinput='mouse'] .dropdown.menu a { - outline: 0; } - -.no-js .dropdown.menu ul { - display: none; } - -.dropdown.menu.vertical > li .is-dropdown-submenu { - top: 0; } - -.dropdown.menu.vertical > li.opens-left > .is-dropdown-submenu { - right: 100%; - left: auto; } - -.dropdown.menu.vertical > li.opens-right > .is-dropdown-submenu { - right: auto; - left: 100%; } - -.dropdown.menu.vertical > li > a::after { - right: 14px; } - -.dropdown.menu.vertical > li.opens-left > a::after { - display: block; - width: 0; - height: 0; - border: inset 6px; - content: ''; - border-left-width: 0; - border-right-style: solid; - border-color: transparent #1779ba transparent transparent; } - -.dropdown.menu.vertical > li.opens-right > a::after { - display: block; - width: 0; - height: 0; - border: inset 6px; - content: ''; - border-right-width: 0; - border-left-style: solid; - border-color: transparent transparent transparent #1779ba; } - -@media print, screen and (min-width: 40em) { - .dropdown.menu.medium-horizontal > li.opens-left > .is-dropdown-submenu { - top: 100%; - right: 0; - left: auto; } - .dropdown.menu.medium-horizontal > li.opens-right > .is-dropdown-submenu { - top: 100%; - right: auto; - left: 0; } - .dropdown.menu.medium-horizontal > li.is-dropdown-submenu-parent > a { - position: relative; - padding-right: 1.5rem; } - .dropdown.menu.medium-horizontal > li.is-dropdown-submenu-parent > a::after { - display: block; - width: 0; - height: 0; - border: inset 6px; - content: ''; - border-bottom-width: 0; - border-top-style: solid; - border-color: #1779ba transparent transparent; - right: 5px; - margin-top: -3px; } - .dropdown.menu.medium-vertical > li .is-dropdown-submenu { - top: 0; } - .dropdown.menu.medium-vertical > li.opens-left > .is-dropdown-submenu { - right: 100%; - left: auto; } - .dropdown.menu.medium-vertical > li.opens-right > .is-dropdown-submenu { - right: auto; - left: 100%; } - .dropdown.menu.medium-vertical > li > a::after { - right: 14px; } - .dropdown.menu.medium-vertical > li.opens-left > a::after { - display: block; - width: 0; - height: 0; - border: inset 6px; - content: ''; - border-left-width: 0; - border-right-style: solid; - border-color: transparent #1779ba transparent transparent; } - .dropdown.menu.medium-vertical > li.opens-right > a::after { - display: block; - width: 0; - height: 0; - border: inset 6px; - content: ''; - border-right-width: 0; - border-left-style: solid; - border-color: transparent transparent transparent #1779ba; } } - -@media print, screen and (min-width: 64em) { - .dropdown.menu.large-horizontal > li.opens-left > .is-dropdown-submenu { - top: 100%; - right: 0; - left: auto; } - .dropdown.menu.large-horizontal > li.opens-right > .is-dropdown-submenu { - top: 100%; - right: auto; - left: 0; } - .dropdown.menu.large-horizontal > li.is-dropdown-submenu-parent > a { - position: relative; - padding-right: 1.5rem; } - .dropdown.menu.large-horizontal > li.is-dropdown-submenu-parent > a::after { - display: block; - width: 0; - height: 0; - border: inset 6px; - content: ''; - border-bottom-width: 0; - border-top-style: solid; - border-color: #1779ba transparent transparent; - right: 5px; - margin-top: -3px; } - .dropdown.menu.large-vertical > li .is-dropdown-submenu { - top: 0; } - .dropdown.menu.large-vertical > li.opens-left > .is-dropdown-submenu { - right: 100%; - left: auto; } - .dropdown.menu.large-vertical > li.opens-right > .is-dropdown-submenu { - right: auto; - left: 100%; } - .dropdown.menu.large-vertical > li > a::after { - right: 14px; } - .dropdown.menu.large-vertical > li.opens-left > a::after { - display: block; - width: 0; - height: 0; - border: inset 6px; - content: ''; - border-left-width: 0; - border-right-style: solid; - border-color: transparent #1779ba transparent transparent; } - .dropdown.menu.large-vertical > li.opens-right > a::after { - display: block; - width: 0; - height: 0; - border: inset 6px; - content: ''; - border-right-width: 0; - border-left-style: solid; - border-color: transparent transparent transparent #1779ba; } } - -.dropdown.menu.align-right .is-dropdown-submenu.first-sub { - top: 100%; - right: 0; - left: auto; } - -.is-dropdown-menu.vertical { - width: 100px; } - .is-dropdown-menu.vertical.align-right { - float: right; } - -.is-dropdown-submenu-parent { - position: relative; } - .is-dropdown-submenu-parent a::after { - position: absolute; - top: 50%; - right: 5px; - margin-top: -6px; } - .is-dropdown-submenu-parent.opens-inner > .is-dropdown-submenu { - top: 100%; - left: auto; } - .is-dropdown-submenu-parent.opens-left > .is-dropdown-submenu { - right: 100%; - left: auto; } - .is-dropdown-submenu-parent.opens-right > .is-dropdown-submenu { - right: auto; - left: 100%; } - -.is-dropdown-submenu { - position: absolute; - top: 0; - left: 100%; - z-index: 1; - display: none; - min-width: 200px; - border: 1px solid #cacaca; - background: #fefefe; } - .is-dropdown-submenu .is-dropdown-submenu-parent > a::after { - right: 14px; } - .is-dropdown-submenu .is-dropdown-submenu-parent.opens-left > a::after { - display: block; - width: 0; - height: 0; - border: inset 6px; - content: ''; - border-left-width: 0; - border-right-style: solid; - border-color: transparent #1779ba transparent transparent; } - .is-dropdown-submenu .is-dropdown-submenu-parent.opens-right > a::after { - display: block; - width: 0; - height: 0; - border: inset 6px; - content: ''; - border-right-width: 0; - border-left-style: solid; - border-color: transparent transparent transparent #1779ba; } - .is-dropdown-submenu .is-dropdown-submenu { - margin-top: -1px; } - .is-dropdown-submenu > li { - width: 100%; } - .is-dropdown-submenu.js-dropdown-active { - display: block; } - -.responsive-embed, -.flex-video { - position: relative; - height: 0; - margin-bottom: 1rem; - padding-bottom: 75%; - overflow: hidden; } - .responsive-embed iframe, - .responsive-embed object, - .responsive-embed embed, - .responsive-embed video, - .flex-video iframe, - .flex-video object, - .flex-video embed, - .flex-video video { - position: absolute; - top: 0; - left: 0; - width: 100%; - height: 100%; } - .responsive-embed.widescreen, - .flex-video.widescreen { - padding-bottom: 56.25%; } - -.label { - display: inline-block; - padding: 0.33333rem 0.5rem; - border-radius: 0; - font-size: 0.8rem; - line-height: 1; - white-space: nowrap; - cursor: default; - background: #1779ba; - color: #fefefe; } - .label.primary { - background: #1779ba; - color: #fefefe; } - .label.secondary { - background: #767676; - color: #fefefe; } - .label.success { - background: #3adb76; - color: #0a0a0a; } - .label.warning { - background: #ffae00; - color: #0a0a0a; } - .label.alert { - background: #cc4b37; - color: #fefefe; } - -.media-object { - display: block; - margin-bottom: 1rem; } - .media-object img { - max-width: none; } - @media screen and (max-width: 39.9375em) { - .media-object.stack-for-small .media-object-section { - padding: 0; - padding-bottom: 1rem; - display: block; } - .media-object.stack-for-small .media-object-section img { - width: 100%; } } - -.media-object-section { - display: table-cell; - vertical-align: top; } - .media-object-section:first-child { - padding-right: 1rem; } - .media-object-section:last-child:not(:nth-child(2)) { - padding-left: 1rem; } - .media-object-section > :last-child { - margin-bottom: 0; } - .media-object-section.middle { - vertical-align: middle; } - .media-object-section.bottom { - vertical-align: bottom; } - -.is-off-canvas-open { - overflow: hidden; } - -.js-off-canvas-overlay { - position: absolute; - top: 0; - left: 0; - width: 100%; - height: 100%; - transition: opacity 0.5s ease, visibility 0.5s ease; - background: rgba(254, 254, 254, 0.25); - opacity: 0; - visibility: hidden; - overflow: hidden; } - .js-off-canvas-overlay.is-visible { - opacity: 1; - visibility: visible; } - .js-off-canvas-overlay.is-closable { - cursor: pointer; } - .js-off-canvas-overlay.is-overlay-absolute { - position: absolute; } - .js-off-canvas-overlay.is-overlay-fixed { - position: fixed; } - -.off-canvas-wrapper { - position: relative; - overflow: hidden; } - -.off-canvas { - position: fixed; - z-index: 1; - transition: transform 0.5s ease; - -webkit-backface-visibility: hidden; - backface-visibility: hidden; - background: #e6e6e6; } - [data-whatinput='mouse'] .off-canvas { - outline: 0; } - .off-canvas.is-transition-overlap { - z-index: 10; } - .off-canvas.is-transition-overlap.is-open { - box-shadow: 0 0 10px rgba(10, 10, 10, 0.7); } - .off-canvas.is-open { - -ms-transform: translate(0, 0); - transform: translate(0, 0); } - -.off-canvas-absolute { - position: absolute; - z-index: 1; - transition: transform 0.5s ease; - -webkit-backface-visibility: hidden; - backface-visibility: hidden; - background: #e6e6e6; } - [data-whatinput='mouse'] .off-canvas-absolute { - outline: 0; } - .off-canvas-absolute.is-transition-overlap { - z-index: 10; } - .off-canvas-absolute.is-transition-overlap.is-open { - box-shadow: 0 0 10px rgba(10, 10, 10, 0.7); } - .off-canvas-absolute.is-open { - -ms-transform: translate(0, 0); - transform: translate(0, 0); } - -.position-left { - top: 0; - left: 0; - width: 250px; - height: 100%; - -ms-transform: translateX(-250px); - transform: translateX(-250px); - overflow-y: auto; } - .position-left.is-open ~ .off-canvas-content { - -ms-transform: translateX(250px); - transform: translateX(250px); } - .position-left.is-transition-push::after { - position: absolute; - top: 0; - right: 0; - height: 100%; - width: 1px; - box-shadow: 0 0 10px rgba(10, 10, 10, 0.7); - content: " "; } - .position-left.is-transition-overlap.is-open ~ .off-canvas-content { - -ms-transform: none; - transform: none; } - -.position-right { - top: 0; - right: 0; - width: 250px; - height: 100%; - -ms-transform: translateX(250px); - transform: translateX(250px); - overflow-y: auto; } - .position-right.is-open ~ .off-canvas-content { - -ms-transform: translateX(-250px); - transform: translateX(-250px); } - .position-right.is-transition-push::after { - position: absolute; - top: 0; - left: 0; - height: 100%; - width: 1px; - box-shadow: 0 0 10px rgba(10, 10, 10, 0.7); - content: " "; } - .position-right.is-transition-overlap.is-open ~ .off-canvas-content { - -ms-transform: none; - transform: none; } - -.position-top { - top: 0; - left: 0; - width: 100%; - height: 250px; - -ms-transform: translateY(-250px); - transform: translateY(-250px); - overflow-x: auto; } - .position-top.is-open ~ .off-canvas-content { - -ms-transform: translateY(250px); - transform: translateY(250px); } - .position-top.is-transition-push::after { - position: absolute; - bottom: 0; - left: 0; - height: 1px; - width: 100%; - box-shadow: 0 0 10px rgba(10, 10, 10, 0.7); - content: " "; } - .position-top.is-transition-overlap.is-open ~ .off-canvas-content { - -ms-transform: none; - transform: none; } - -.position-bottom { - bottom: 0; - left: 0; - width: 100%; - height: 250px; - -ms-transform: translateY(250px); - transform: translateY(250px); - overflow-x: auto; } - .position-bottom.is-open ~ .off-canvas-content { - -ms-transform: translateY(-250px); - transform: translateY(-250px); } - .position-bottom.is-transition-push::after { - position: absolute; - top: 0; - left: 0; - height: 1px; - width: 100%; - box-shadow: 0 0 10px rgba(10, 10, 10, 0.7); - content: " "; } - .position-bottom.is-transition-overlap.is-open ~ .off-canvas-content { - -ms-transform: none; - transform: none; } - -.off-canvas-content { - transition: transform 0.5s ease; - -webkit-backface-visibility: hidden; - backface-visibility: hidden; } - -@media print, screen and (min-width: 40em) { - .position-left.reveal-for-medium { - -ms-transform: none; - transform: none; - z-index: 1; } - .position-left.reveal-for-medium ~ .off-canvas-content { - margin-left: 250px; } - .position-right.reveal-for-medium { - -ms-transform: none; - transform: none; - z-index: 1; } - .position-right.reveal-for-medium ~ .off-canvas-content { - margin-right: 250px; } - .position-top.reveal-for-medium { - -ms-transform: none; - transform: none; - z-index: 1; } - .position-top.reveal-for-medium ~ .off-canvas-content { - margin-top: 250px; } - .position-bottom.reveal-for-medium { - -ms-transform: none; - transform: none; - z-index: 1; } - .position-bottom.reveal-for-medium ~ .off-canvas-content { - margin-bottom: 250px; } } - -@media print, screen and (min-width: 64em) { - .position-left.reveal-for-large { - -ms-transform: none; - transform: none; - z-index: 1; } - .position-left.reveal-for-large ~ .off-canvas-content { - margin-left: 250px; } - .position-right.reveal-for-large { - -ms-transform: none; - transform: none; - z-index: 1; } - .position-right.reveal-for-large ~ .off-canvas-content { - margin-right: 250px; } - .position-top.reveal-for-large { - -ms-transform: none; - transform: none; - z-index: 1; } - .position-top.reveal-for-large ~ .off-canvas-content { - margin-top: 250px; } - .position-bottom.reveal-for-large { - -ms-transform: none; - transform: none; - z-index: 1; } - .position-bottom.reveal-for-large ~ .off-canvas-content { - margin-bottom: 250px; } } - -.orbit { - position: relative; } - -.orbit-container { - position: relative; - height: 0; - margin: 0; - list-style: none; - overflow: hidden; } - -.orbit-slide { - width: 100%; } - .orbit-slide.no-motionui.is-active { - top: 0; - left: 0; } - -.orbit-figure { - margin: 0; } - -.orbit-image { - width: 100%; - max-width: 100%; - margin: 0; } - -.orbit-caption { - position: absolute; - bottom: 0; - width: 100%; - margin-bottom: 0; - padding: 1rem; - background-color: rgba(10, 10, 10, 0.5); - color: #fefefe; } - -.orbit-previous, .orbit-next { - position: absolute; - top: 50%; - -ms-transform: translateY(-50%); - transform: translateY(-50%); - z-index: 10; - padding: 1rem; - color: #fefefe; } - [data-whatinput='mouse'] .orbit-previous, [data-whatinput='mouse'] .orbit-next { - outline: 0; } - .orbit-previous:hover, .orbit-next:hover, .orbit-previous:active, .orbit-next:active, .orbit-previous:focus, .orbit-next:focus { - background-color: rgba(10, 10, 10, 0.5); } - -.orbit-previous { - left: 0; } - -.orbit-next { - left: auto; - right: 0; } - -.orbit-bullets { - position: relative; - margin-top: 0.8rem; - margin-bottom: 0.8rem; - text-align: center; } - [data-whatinput='mouse'] .orbit-bullets { - outline: 0; } - .orbit-bullets button { - width: 1.2rem; - height: 1.2rem; - margin: 0.1rem; - border-radius: 50%; - background-color: #cacaca; } - .orbit-bullets button:hover { - background-color: #8a8a8a; } - .orbit-bullets button.is-active { - background-color: #8a8a8a; } - -.pagination { - margin-left: 0; - margin-bottom: 1rem; } - .pagination::before, .pagination::after { - display: table; - content: ' '; } - .pagination::after { - clear: both; } - .pagination li { - margin-right: 0.0625rem; - border-radius: 0; - font-size: 0.875rem; - display: none; } - .pagination li:last-child, .pagination li:first-child { - display: inline-block; } - @media print, screen and (min-width: 40em) { - .pagination li { - display: inline-block; } } - .pagination a, - .pagination button { - display: block; - padding: 0.1875rem 0.625rem; - border-radius: 0; - color: #0a0a0a; } - .pagination a:hover, - .pagination button:hover { - background: #e6e6e6; } - .pagination .current { - padding: 0.1875rem 0.625rem; - background: #1779ba; - color: #fefefe; - cursor: default; } - .pagination .disabled { - padding: 0.1875rem 0.625rem; - color: #cacaca; - cursor: not-allowed; } - .pagination .disabled:hover { - background: transparent; } - .pagination .ellipsis::after { - padding: 0.1875rem 0.625rem; - content: '\2026'; - color: #0a0a0a; } - -.pagination-previous a::before, -.pagination-previous.disabled::before { - display: inline-block; - margin-right: 0.5rem; - content: '\00ab'; } - -.pagination-next a::after, -.pagination-next.disabled::after { - display: inline-block; - margin-left: 0.5rem; - content: '\00bb'; } - -.progress { - height: 1rem; - margin-bottom: 1rem; - border-radius: 0; - background-color: #cacaca; } - .progress.primary .progress-meter { - background-color: #1779ba; } - .progress.secondary .progress-meter { - background-color: #767676; } - .progress.success .progress-meter { - background-color: #3adb76; } - .progress.warning .progress-meter { - background-color: #ffae00; } - .progress.alert .progress-meter { - background-color: #cc4b37; } - -.progress-meter { - position: relative; - display: block; - width: 0%; - height: 100%; - background-color: #1779ba; } - -.progress-meter-text { - position: absolute; - top: 50%; - left: 50%; - -ms-transform: translate(-50%, -50%); - transform: translate(-50%, -50%); - position: absolute; - margin: 0; - font-size: 0.75rem; - font-weight: bold; - color: #fefefe; - white-space: nowrap; } - -body.is-reveal-open { - overflow: hidden; } - -html.is-reveal-open, -html.is-reveal-open body { - min-height: 100%; - overflow: hidden; - -webkit-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - user-select: none; } - -.reveal-overlay { - position: fixed; - top: 0; - right: 0; - bottom: 0; - left: 0; - z-index: 1005; - display: none; - background-color: rgba(10, 10, 10, 0.45); - overflow-y: scroll; } - -.reveal { - z-index: 1006; - -webkit-backface-visibility: hidden; - backface-visibility: hidden; - display: none; - padding: 1rem; - border: 1px solid #cacaca; - border-radius: 0; - background-color: #fefefe; - position: relative; - top: 100px; - margin-right: auto; - margin-left: auto; - overflow-y: auto; } - [data-whatinput='mouse'] .reveal { - outline: 0; } - @media print, screen and (min-width: 40em) { - .reveal { - min-height: 0; } } - .reveal .column, .reveal .columns, - .reveal .columns { - min-width: 0; } - .reveal > :last-child { - margin-bottom: 0; } - @media print, screen and (min-width: 40em) { - .reveal { - width: 600px; - max-width: 75rem; } } - @media print, screen and (min-width: 40em) { - .reveal .reveal { - right: auto; - left: auto; - margin: 0 auto; } } - .reveal.collapse { - padding: 0; } - @media print, screen and (min-width: 40em) { - .reveal.tiny { - width: 30%; - max-width: 75rem; } } - @media print, screen and (min-width: 40em) { - .reveal.small { - width: 50%; - max-width: 75rem; } } - @media print, screen and (min-width: 40em) { - .reveal.large { - width: 90%; - max-width: 75rem; } } - .reveal.full { - top: 0; - left: 0; - width: 100%; - max-width: none; - height: 100%; - height: 100vh; - min-height: 100vh; - margin-left: 0; - border: 0; - border-radius: 0; } - @media screen and (max-width: 39.9375em) { - .reveal { - top: 0; - left: 0; - width: 100%; - max-width: none; - height: 100%; - height: 100vh; - min-height: 100vh; - margin-left: 0; - border: 0; - border-radius: 0; } } - .reveal.without-overlay { - position: fixed; } - -.slider { - position: relative; - height: 0.5rem; - margin-top: 1.25rem; - margin-bottom: 2.25rem; - background-color: #e6e6e6; - cursor: pointer; - -webkit-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - user-select: none; - -ms-touch-action: none; - touch-action: none; } - -.slider-fill { - position: absolute; - top: 0; - left: 0; - display: inline-block; - max-width: 100%; - height: 0.5rem; - background-color: #cacaca; - transition: all 0.2s ease-in-out; } - .slider-fill.is-dragging { - transition: all 0s linear; } - -.slider-handle { - position: absolute; - top: 50%; - -ms-transform: translateY(-50%); - transform: translateY(-50%); - position: absolute; - left: 0; - z-index: 1; - display: inline-block; - width: 1.4rem; - height: 1.4rem; - border-radius: 0; - background-color: #1779ba; - transition: all 0.2s ease-in-out; - -ms-touch-action: manipulation; - touch-action: manipulation; } - [data-whatinput='mouse'] .slider-handle { - outline: 0; } - .slider-handle:hover { - background-color: #14679e; } - .slider-handle.is-dragging { - transition: all 0s linear; } - -.slider.disabled, -.slider[disabled] { - opacity: 0.25; - cursor: not-allowed; } - -.slider.vertical { - display: inline-block; - width: 0.5rem; - height: 12.5rem; - margin: 0 1.25rem; - -ms-transform: scale(1, -1); - transform: scale(1, -1); } - .slider.vertical .slider-fill { - top: 0; - width: 0.5rem; - max-height: 100%; } - .slider.vertical .slider-handle { - position: absolute; - top: 0; - left: 50%; - width: 1.4rem; - height: 1.4rem; - -ms-transform: translateX(-50%); - transform: translateX(-50%); } - -.sticky-container { - position: relative; } - -.sticky { - position: relative; - z-index: 0; - transform: translate3d(0, 0, 0); } - -.sticky.is-stuck { - position: fixed; - z-index: 5; } - .sticky.is-stuck.is-at-top { - top: 0; } - .sticky.is-stuck.is-at-bottom { - bottom: 0; } - -.sticky.is-anchored { - position: relative; - right: auto; - left: auto; } - .sticky.is-anchored.is-at-bottom { - bottom: 0; } - -.switch { - height: 2rem; - position: relative; - margin-bottom: 1rem; - outline: 0; - font-size: 0.875rem; - font-weight: bold; - color: #fefefe; - -webkit-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - user-select: none; } - -.switch-input { - position: absolute; - margin-bottom: 0; - opacity: 0; } - -.switch-paddle { - position: relative; - display: block; - width: 4rem; - height: 2rem; - border-radius: 0; - background: #cacaca; - transition: all 0.25s ease-out; - font-weight: inherit; - color: inherit; - cursor: pointer; } - input + .switch-paddle { - margin: 0; } - .switch-paddle::after { - position: absolute; - top: 0.25rem; - left: 0.25rem; - display: block; - width: 1.5rem; - height: 1.5rem; - transform: translate3d(0, 0, 0); - border-radius: 0; - background: #fefefe; - transition: all 0.25s ease-out; - content: ''; } - input:checked ~ .switch-paddle { - background: #1779ba; } - input:checked ~ .switch-paddle::after { - left: 2.25rem; } - [data-whatinput='mouse'] input:focus ~ .switch-paddle { - outline: 0; } - -.switch-active, .switch-inactive { - position: absolute; - top: 50%; - -ms-transform: translateY(-50%); - transform: translateY(-50%); } - -.switch-active { - left: 8%; - display: none; } - input:checked + label > .switch-active { - display: block; } - -.switch-inactive { - right: 15%; } - input:checked + label > .switch-inactive { - display: none; } - -.switch.tiny { - height: 1.5rem; } - .switch.tiny .switch-paddle { - width: 3rem; - height: 1.5rem; - font-size: 0.625rem; } - .switch.tiny .switch-paddle::after { - top: 0.25rem; - left: 0.25rem; - width: 1rem; - height: 1rem; } - .switch.tiny input:checked ~ .switch-paddle::after { - left: 1.75rem; } - -.switch.small { - height: 1.75rem; } - .switch.small .switch-paddle { - width: 3.5rem; - height: 1.75rem; - font-size: 0.75rem; } - .switch.small .switch-paddle::after { - top: 0.25rem; - left: 0.25rem; - width: 1.25rem; - height: 1.25rem; } - .switch.small input:checked ~ .switch-paddle::after { - left: 2rem; } - -.switch.large { - height: 2.5rem; } - .switch.large .switch-paddle { - width: 5rem; - height: 2.5rem; - font-size: 1rem; } - .switch.large .switch-paddle::after { - top: 0.25rem; - left: 0.25rem; - width: 2rem; - height: 2rem; } - .switch.large input:checked ~ .switch-paddle::after { - left: 2.75rem; } - -table { - width: 100%; - margin-bottom: 1rem; - border-radius: 0; } - table thead, - table tbody, - table tfoot { - border: 1px solid #f1f1f1; - background-color: #fefefe; } - table caption { - padding: 0.5rem 0.625rem 0.625rem; - font-weight: bold; } - table thead { - background: #f8f8f8; - color: #0a0a0a; } - table tfoot { - background: #f1f1f1; - color: #0a0a0a; } - table thead tr, - table tfoot tr { - background: transparent; } - table thead th, - table thead td, - table tfoot th, - table tfoot td { - padding: 0.5rem 0.625rem 0.625rem; - font-weight: bold; - text-align: left; } - table tbody th, - table tbody td { - padding: 0.5rem 0.625rem 0.625rem; } - table tbody tr:nth-child(even) { - border-bottom: 0; - background-color: #f1f1f1; } - table.unstriped tbody { - background-color: #fefefe; } - table.unstriped tbody tr { - border-bottom: 0; - border-bottom: 1px solid #f1f1f1; - background-color: #fefefe; } - -@media screen and (max-width: 63.9375em) { - table.stack thead { - display: none; } - table.stack tfoot { - display: none; } - table.stack tr, - table.stack th, - table.stack td { - display: block; } - table.stack td { - border-top: 0; } } - -table.scroll { - display: block; - width: 100%; - overflow-x: auto; } - -table.hover thead tr:hover { - background-color: #f3f3f3; } - -table.hover tfoot tr:hover { - background-color: #ececec; } - -table.hover tbody tr:hover { - background-color: #f9f9f9; } - -table.hover:not(.unstriped) tr:nth-of-type(even):hover { - background-color: #ececec; } - -.table-scroll { - overflow-x: auto; } - .table-scroll table { - width: auto; } - -.tabs { - margin: 0; - border: 1px solid #e6e6e6; - background: #fefefe; - list-style-type: none; } - .tabs::before, .tabs::after { - display: table; - content: ' '; } - .tabs::after { - clear: both; } - -.tabs.vertical > li { - display: block; - float: none; - width: auto; } - -.tabs.simple > li > a { - padding: 0; } - .tabs.simple > li > a:hover { - background: transparent; } - -.tabs.primary { - background: #1779ba; } - .tabs.primary > li > a { - color: #fefefe; } - .tabs.primary > li > a:hover, .tabs.primary > li > a:focus { - background: #1673b1; } - -.tabs-title { - float: left; } - .tabs-title > a { - display: block; - padding: 1.25rem 1.5rem; - font-size: 0.75rem; - line-height: 1; - color: #1779ba; } - .tabs-title > a:hover { - background: #fefefe; - color: #1468a0; } - .tabs-title > a:focus, .tabs-title > a[aria-selected='true'] { - background: #e6e6e6; - color: #1779ba; } - -.tabs-content { - border: 1px solid #e6e6e6; - border-top: 0; - background: #fefefe; - color: #0a0a0a; - transition: all 0.5s ease; } - -.tabs-content.vertical { - border: 1px solid #e6e6e6; - border-left: 0; } - -.tabs-panel { - display: none; - padding: 1rem; } - .tabs-panel[aria-hidden="false"] { - display: block; } - -.thumbnail { - display: inline-block; - max-width: 100%; - margin-bottom: 1rem; - border: solid 4px #fefefe; - border-radius: 0; - box-shadow: 0 0 0 1px rgba(10, 10, 10, 0.2); - line-height: 0; } - -a.thumbnail { - transition: box-shadow 200ms ease-out; } - a.thumbnail:hover, a.thumbnail:focus { - box-shadow: 0 0 6px 1px rgba(23, 121, 186, 0.5); } - a.thumbnail image { - box-shadow: none; } - -.title-bar { - padding: 0.5rem; - background: #0a0a0a; - color: #fefefe; } - .title-bar::before, .title-bar::after { - display: table; - content: ' '; } - .title-bar::after { - clear: both; } - .title-bar .menu-icon { - margin-left: 0.25rem; - margin-right: 0.25rem; } - -.title-bar-left { - float: left; } - -.title-bar-right { - float: right; - text-align: right; } - -.title-bar-title { - display: inline-block; - vertical-align: middle; - font-weight: bold; } - -.has-tip { - position: relative; - display: inline-block; - border-bottom: dotted 1px #8a8a8a; - font-weight: bold; - cursor: help; } - -.tooltip { - position: absolute; - top: calc(100% + 0.6495rem); - z-index: 1200; - max-width: 10rem; - padding: 0.75rem; - border-radius: 0; - background-color: #0a0a0a; - font-size: 80%; - color: #fefefe; } - .tooltip::before { - display: block; - width: 0; - height: 0; - border: inset 0.75rem; - content: ''; - border-top-width: 0; - border-bottom-style: solid; - border-color: transparent transparent #0a0a0a; - position: absolute; - bottom: 100%; - left: 50%; - -ms-transform: translateX(-50%); - transform: translateX(-50%); } - .tooltip.top::before { - display: block; - width: 0; - height: 0; - border: inset 0.75rem; - content: ''; - border-bottom-width: 0; - border-top-style: solid; - border-color: #0a0a0a transparent transparent; - top: 100%; - bottom: auto; } - .tooltip.left::before { - display: block; - width: 0; - height: 0; - border: inset 0.75rem; - content: ''; - border-right-width: 0; - border-left-style: solid; - border-color: transparent transparent transparent #0a0a0a; - top: 50%; - bottom: auto; - left: 100%; - -ms-transform: translateY(-50%); - transform: translateY(-50%); } - .tooltip.right::before { - display: block; - width: 0; - height: 0; - border: inset 0.75rem; - content: ''; - border-left-width: 0; - border-right-style: solid; - border-color: transparent #0a0a0a transparent transparent; - top: 50%; - right: 100%; - bottom: auto; - left: auto; - -ms-transform: translateY(-50%); - transform: translateY(-50%); } - -.top-bar { - padding: 0.5rem; } - .top-bar::before, .top-bar::after { - display: table; - content: ' '; } - .top-bar::after { - clear: both; } - .top-bar, - .top-bar ul { - background-color: #e6e6e6; } - .top-bar input { - max-width: 200px; - margin-right: 1rem; } - .top-bar .input-group-field { - width: 100%; - margin-right: 0; } - .top-bar input.button { - width: auto; } - .top-bar .top-bar-left, - .top-bar .top-bar-right { - width: 100%; } - @media print, screen and (min-width: 40em) { - .top-bar .top-bar-left, - .top-bar .top-bar-right { - width: auto; } } - @media screen and (max-width: 63.9375em) { - .top-bar.stacked-for-medium .top-bar-left, - .top-bar.stacked-for-medium .top-bar-right { - width: 100%; } } - @media screen and (max-width: 74.9375em) { - .top-bar.stacked-for-large .top-bar-left, - .top-bar.stacked-for-large .top-bar-right { - width: 100%; } } - -.top-bar-title { - display: inline-block; - float: left; - padding: 0.5rem 1rem 0.5rem 0; } - .top-bar-title .menu-icon { - bottom: 2px; } - -.top-bar-left { - float: left; } - -.top-bar-right { - float: right; } - -.hide { - display: none !important; } - -.invisible { - visibility: hidden; } - -@media screen and (max-width: 39.9375em) { - .hide-for-small-only { - display: none !important; } } - -@media screen and (max-width: 0em), screen and (min-width: 40em) { - .show-for-small-only { - display: none !important; } } - -@media print, screen and (min-width: 40em) { - .hide-for-medium { - display: none !important; } } - -@media screen and (max-width: 39.9375em) { - .show-for-medium { - display: none !important; } } - -@media screen and (min-width: 40em) and (max-width: 63.9375em) { - .hide-for-medium-only { - display: none !important; } } - -@media screen and (max-width: 39.9375em), screen and (min-width: 64em) { - .show-for-medium-only { - display: none !important; } } - -@media print, screen and (min-width: 64em) { - .hide-for-large { - display: none !important; } } - -@media screen and (max-width: 63.9375em) { - .show-for-large { - display: none !important; } } - -@media screen and (min-width: 64em) and (max-width: 74.9375em) { - .hide-for-large-only { - display: none !important; } } - -@media screen and (max-width: 63.9375em), screen and (min-width: 75em) { - .show-for-large-only { - display: none !important; } } - -.show-for-sr, -.show-on-focus { - position: absolute !important; - width: 1px; - height: 1px; - overflow: hidden; - clip: rect(0, 0, 0, 0); } - -.show-on-focus:active, .show-on-focus:focus { - position: static !important; - width: auto; - height: auto; - overflow: visible; - clip: auto; } - -.show-for-landscape, -.hide-for-portrait { - display: block !important; } - @media screen and (orientation: landscape) { - .show-for-landscape, - .hide-for-portrait { - display: block !important; } } - @media screen and (orientation: portrait) { - .show-for-landscape, - .hide-for-portrait { - display: none !important; } } - -.hide-for-landscape, -.show-for-portrait { - display: none !important; } - @media screen and (orientation: landscape) { - .hide-for-landscape, - .show-for-portrait { - display: none !important; } } - @media screen and (orientation: portrait) { - .hide-for-landscape, - .show-for-portrait { - display: block !important; } } - -.float-left { - float: left !important; } - -.float-right { - float: right !important; } - -.float-center { - display: block; - margin-right: auto; - margin-left: auto; } - -.clearfix::before, .clearfix::after { - display: table; - content: ' '; } - -.clearfix::after { - clear: both; } - -.slide-in-down.mui-enter { - transition-duration: 500ms; - transition-timing-function: linear; - -ms-transform: translateY(-100%); - transform: translateY(-100%); - transition-property: transform, opacity; - -webkit-backface-visibility: hidden; - backface-visibility: hidden; } - -.slide-in-down.mui-enter.mui-enter-active { - -ms-transform: translateY(0); - transform: translateY(0); } - -.slide-in-left.mui-enter { - transition-duration: 500ms; - transition-timing-function: linear; - -ms-transform: translateX(-100%); - transform: translateX(-100%); - transition-property: transform, opacity; - -webkit-backface-visibility: hidden; - backface-visibility: hidden; } - -.slide-in-left.mui-enter.mui-enter-active { - -ms-transform: translateX(0); - transform: translateX(0); } - -.slide-in-up.mui-enter { - transition-duration: 500ms; - transition-timing-function: linear; - -ms-transform: translateY(100%); - transform: translateY(100%); - transition-property: transform, opacity; - -webkit-backface-visibility: hidden; - backface-visibility: hidden; } - -.slide-in-up.mui-enter.mui-enter-active { - -ms-transform: translateY(0); - transform: translateY(0); } - -.slide-in-right.mui-enter { - transition-duration: 500ms; - transition-timing-function: linear; - -ms-transform: translateX(100%); - transform: translateX(100%); - transition-property: transform, opacity; - -webkit-backface-visibility: hidden; - backface-visibility: hidden; } - -.slide-in-right.mui-enter.mui-enter-active { - -ms-transform: translateX(0); - transform: translateX(0); } - -.slide-out-down.mui-leave { - transition-duration: 500ms; - transition-timing-function: linear; - -ms-transform: translateY(0); - transform: translateY(0); - transition-property: transform, opacity; - -webkit-backface-visibility: hidden; - backface-visibility: hidden; } - -.slide-out-down.mui-leave.mui-leave-active { - -ms-transform: translateY(100%); - transform: translateY(100%); } - -.slide-out-right.mui-leave { - transition-duration: 500ms; - transition-timing-function: linear; - -ms-transform: translateX(0); - transform: translateX(0); - transition-property: transform, opacity; - -webkit-backface-visibility: hidden; - backface-visibility: hidden; } - -.slide-out-right.mui-leave.mui-leave-active { - -ms-transform: translateX(100%); - transform: translateX(100%); } - -.slide-out-up.mui-leave { - transition-duration: 500ms; - transition-timing-function: linear; - -ms-transform: translateY(0); - transform: translateY(0); - transition-property: transform, opacity; - -webkit-backface-visibility: hidden; - backface-visibility: hidden; } - -.slide-out-up.mui-leave.mui-leave-active { - -ms-transform: translateY(-100%); - transform: translateY(-100%); } - -.slide-out-left.mui-leave { - transition-duration: 500ms; - transition-timing-function: linear; - -ms-transform: translateX(0); - transform: translateX(0); - transition-property: transform, opacity; - -webkit-backface-visibility: hidden; - backface-visibility: hidden; } - -.slide-out-left.mui-leave.mui-leave-active { - -ms-transform: translateX(-100%); - transform: translateX(-100%); } - -.fade-in.mui-enter { - transition-duration: 500ms; - transition-timing-function: linear; - opacity: 0; - transition-property: opacity; } - -.fade-in.mui-enter.mui-enter-active { - opacity: 1; } - -.fade-out.mui-leave { - transition-duration: 500ms; - transition-timing-function: linear; - opacity: 1; - transition-property: opacity; } - -.fade-out.mui-leave.mui-leave-active { - opacity: 0; } - -.hinge-in-from-top.mui-enter { - transition-duration: 500ms; - transition-timing-function: linear; - transform: perspective(2000px) rotateX(-90deg); - -ms-transform-origin: top; - transform-origin: top; - transition-property: transform, opacity; - opacity: 0; } - -.hinge-in-from-top.mui-enter.mui-enter-active { - transform: perspective(2000px) rotate(0deg); - opacity: 1; } - -.hinge-in-from-right.mui-enter { - transition-duration: 500ms; - transition-timing-function: linear; - transform: perspective(2000px) rotateY(-90deg); - -ms-transform-origin: right; - transform-origin: right; - transition-property: transform, opacity; - opacity: 0; } - -.hinge-in-from-right.mui-enter.mui-enter-active { - transform: perspective(2000px) rotate(0deg); - opacity: 1; } - -.hinge-in-from-bottom.mui-enter { - transition-duration: 500ms; - transition-timing-function: linear; - transform: perspective(2000px) rotateX(90deg); - -ms-transform-origin: bottom; - transform-origin: bottom; - transition-property: transform, opacity; - opacity: 0; } - -.hinge-in-from-bottom.mui-enter.mui-enter-active { - transform: perspective(2000px) rotate(0deg); - opacity: 1; } - -.hinge-in-from-left.mui-enter { - transition-duration: 500ms; - transition-timing-function: linear; - transform: perspective(2000px) rotateY(90deg); - -ms-transform-origin: left; - transform-origin: left; - transition-property: transform, opacity; - opacity: 0; } - -.hinge-in-from-left.mui-enter.mui-enter-active { - transform: perspective(2000px) rotate(0deg); - opacity: 1; } - -.hinge-in-from-middle-x.mui-enter { - transition-duration: 500ms; - transition-timing-function: linear; - transform: perspective(2000px) rotateX(-90deg); - -ms-transform-origin: center; - transform-origin: center; - transition-property: transform, opacity; - opacity: 0; } - -.hinge-in-from-middle-x.mui-enter.mui-enter-active { - transform: perspective(2000px) rotate(0deg); - opacity: 1; } - -.hinge-in-from-middle-y.mui-enter { - transition-duration: 500ms; - transition-timing-function: linear; - transform: perspective(2000px) rotateY(-90deg); - -ms-transform-origin: center; - transform-origin: center; - transition-property: transform, opacity; - opacity: 0; } - -.hinge-in-from-middle-y.mui-enter.mui-enter-active { - transform: perspective(2000px) rotate(0deg); - opacity: 1; } - -.hinge-out-from-top.mui-leave { - transition-duration: 500ms; - transition-timing-function: linear; - transform: perspective(2000px) rotate(0deg); - -ms-transform-origin: top; - transform-origin: top; - transition-property: transform, opacity; - opacity: 1; } - -.hinge-out-from-top.mui-leave.mui-leave-active { - transform: perspective(2000px) rotateX(-90deg); - opacity: 0; } - -.hinge-out-from-right.mui-leave { - transition-duration: 500ms; - transition-timing-function: linear; - transform: perspective(2000px) rotate(0deg); - -ms-transform-origin: right; - transform-origin: right; - transition-property: transform, opacity; - opacity: 1; } - -.hinge-out-from-right.mui-leave.mui-leave-active { - transform: perspective(2000px) rotateY(-90deg); - opacity: 0; } - -.hinge-out-from-bottom.mui-leave { - transition-duration: 500ms; - transition-timing-function: linear; - transform: perspective(2000px) rotate(0deg); - -ms-transform-origin: bottom; - transform-origin: bottom; - transition-property: transform, opacity; - opacity: 1; } - -.hinge-out-from-bottom.mui-leave.mui-leave-active { - transform: perspective(2000px) rotateX(90deg); - opacity: 0; } - -.hinge-out-from-left.mui-leave { - transition-duration: 500ms; - transition-timing-function: linear; - transform: perspective(2000px) rotate(0deg); - -ms-transform-origin: left; - transform-origin: left; - transition-property: transform, opacity; - opacity: 1; } - -.hinge-out-from-left.mui-leave.mui-leave-active { - transform: perspective(2000px) rotateY(90deg); - opacity: 0; } - -.hinge-out-from-middle-x.mui-leave { - transition-duration: 500ms; - transition-timing-function: linear; - transform: perspective(2000px) rotate(0deg); - -ms-transform-origin: center; - transform-origin: center; - transition-property: transform, opacity; - opacity: 1; } - -.hinge-out-from-middle-x.mui-leave.mui-leave-active { - transform: perspective(2000px) rotateX(-90deg); - opacity: 0; } - -.hinge-out-from-middle-y.mui-leave { - transition-duration: 500ms; - transition-timing-function: linear; - transform: perspective(2000px) rotate(0deg); - -ms-transform-origin: center; - transform-origin: center; - transition-property: transform, opacity; - opacity: 1; } - -.hinge-out-from-middle-y.mui-leave.mui-leave-active { - transform: perspective(2000px) rotateY(-90deg); - opacity: 0; } - -.scale-in-up.mui-enter { - transition-duration: 500ms; - transition-timing-function: linear; - -ms-transform: scale(0.5); - transform: scale(0.5); - transition-property: transform, opacity; - opacity: 0; } - -.scale-in-up.mui-enter.mui-enter-active { - -ms-transform: scale(1); - transform: scale(1); - opacity: 1; } - -.scale-in-down.mui-enter { - transition-duration: 500ms; - transition-timing-function: linear; - -ms-transform: scale(1.5); - transform: scale(1.5); - transition-property: transform, opacity; - opacity: 0; } - -.scale-in-down.mui-enter.mui-enter-active { - -ms-transform: scale(1); - transform: scale(1); - opacity: 1; } - -.scale-out-up.mui-leave { - transition-duration: 500ms; - transition-timing-function: linear; - -ms-transform: scale(1); - transform: scale(1); - transition-property: transform, opacity; - opacity: 1; } - -.scale-out-up.mui-leave.mui-leave-active { - -ms-transform: scale(1.5); - transform: scale(1.5); - opacity: 0; } - -.scale-out-down.mui-leave { - transition-duration: 500ms; - transition-timing-function: linear; - -ms-transform: scale(1); - transform: scale(1); - transition-property: transform, opacity; - opacity: 1; } - -.scale-out-down.mui-leave.mui-leave-active { - -ms-transform: scale(0.5); - transform: scale(0.5); - opacity: 0; } - -.spin-in.mui-enter { - transition-duration: 500ms; - transition-timing-function: linear; - -ms-transform: rotate(-0.75turn); - transform: rotate(-0.75turn); - transition-property: transform, opacity; - opacity: 0; } - -.spin-in.mui-enter.mui-enter-active { - -ms-transform: rotate(0); - transform: rotate(0); - opacity: 1; } - -.spin-out.mui-leave { - transition-duration: 500ms; - transition-timing-function: linear; - -ms-transform: rotate(0); - transform: rotate(0); - transition-property: transform, opacity; - opacity: 1; } - -.spin-out.mui-leave.mui-leave-active { - -ms-transform: rotate(0.75turn); - transform: rotate(0.75turn); - opacity: 0; } - -.spin-in-ccw.mui-enter { - transition-duration: 500ms; - transition-timing-function: linear; - -ms-transform: rotate(0.75turn); - transform: rotate(0.75turn); - transition-property: transform, opacity; - opacity: 0; } - -.spin-in-ccw.mui-enter.mui-enter-active { - -ms-transform: rotate(0); - transform: rotate(0); - opacity: 1; } - -.spin-out-ccw.mui-leave { - transition-duration: 500ms; - transition-timing-function: linear; - -ms-transform: rotate(0); - transform: rotate(0); - transition-property: transform, opacity; - opacity: 1; } - -.spin-out-ccw.mui-leave.mui-leave-active { - -ms-transform: rotate(-0.75turn); - transform: rotate(-0.75turn); - opacity: 0; } - -.slow { - transition-duration: 750ms !important; } - -.fast { - transition-duration: 250ms !important; } - -.linear { - transition-timing-function: linear !important; } - -.ease { - transition-timing-function: ease !important; } - -.ease-in { - transition-timing-function: ease-in !important; } - -.ease-out { - transition-timing-function: ease-out !important; } - -.ease-in-out { - transition-timing-function: ease-in-out !important; } - -.bounce-in { - transition-timing-function: cubic-bezier(0.485, 0.155, 0.24, 1.245) !important; } - -.bounce-out { - transition-timing-function: cubic-bezier(0.485, 0.155, 0.515, 0.845) !important; } - -.bounce-in-out { - transition-timing-function: cubic-bezier(0.76, -0.245, 0.24, 1.245) !important; } - -.short-delay { - transition-delay: 300ms !important; } - -.long-delay { - transition-delay: 700ms !important; } - -.shake { - animation-name: shake-7; } - -@keyframes shake-7 { - 0%, 10%, 20%, 30%, 40%, 50%, 60%, 70%, 80%, 90% { - transform: translateX(7%); } - 5%, 15%, 25%, 35%, 45%, 55%, 65%, 75%, 85%, 95% { - transform: translateX(-7%); } } - -.spin-cw { - animation-name: spin-cw-1turn; } - -@keyframes spin-cw-1turn { - 0% { - transform: rotate(-1turn); } - 100% { - transform: rotate(0); } } - -.spin-ccw { - animation-name: spin-cw-1turn; } - -@keyframes spin-cw-1turn { - 0% { - transform: rotate(0); } - 100% { - transform: rotate(1turn); } } - -.wiggle { - animation-name: wiggle-7deg; } - -@keyframes wiggle-7deg { - 40%, 50%, 60% { - transform: rotate(7deg); } - 35%, 45%, 55%, 65% { - transform: rotate(-7deg); } - 0%, 30%, 70%, 100% { - transform: rotate(0); } } - -.shake, -.spin-cw, -.spin-ccw, -.wiggle { - animation-duration: 500ms; } - -.infinite { - animation-iteration-count: infinite; } - -.slow { - animation-duration: 750ms !important; } - -.fast { - animation-duration: 250ms !important; } - -.linear { - animation-timing-function: linear !important; } - -.ease { - animation-timing-function: ease !important; } - -.ease-in { - animation-timing-function: ease-in !important; } - -.ease-out { - animation-timing-function: ease-out !important; } - -.ease-in-out { - animation-timing-function: ease-in-out !important; } - -.bounce-in { - animation-timing-function: cubic-bezier(0.485, 0.155, 0.24, 1.245) !important; } - -.bounce-out { - animation-timing-function: cubic-bezier(0.485, 0.155, 0.515, 0.845) !important; } - -.bounce-in-out { - animation-timing-function: cubic-bezier(0.76, -0.245, 0.24, 1.245) !important; } - -.short-delay { - animation-delay: 300ms !important; } - -.long-delay { - animation-delay: 700ms !important; } diff --git a/src/css/styles.css b/src/css/styles.css deleted file mode 100644 index 68a79a569..000000000 --- a/src/css/styles.css +++ /dev/null @@ -1,44 +0,0 @@ -@include foundation-everything; - -main { - background: lightblue; -} - -header { - background-color: lightgreen; - padding: 0.5rem; -} - -#completed-checkbox { - display: inline; -} - -label { - display: inline; -} - -button.success { - margin-right: 1.2rem; - display: inline; -} - -aside.create-tasklist { - background-color: navy; - color: #FFFFFF; -} -aside label { - color: #FFFFFF; -} - -.completed { - text-decoration: line-through; -} - -div { - display: inline; -} -/* -* { - border-style: solid; -} -*/ diff --git a/src/models/customer.js b/src/models/customer.js new file mode 100644 index 000000000..4e37cfd54 --- /dev/null +++ b/src/models/customer.js @@ -0,0 +1,20 @@ +import Backbone from 'backbone'; + +var Customer = Backbone.Model.extend({ + // defaults: { + // title: "string", + // overview: "string", + // img_url: "string", + // release_date: "string", + // external_id: "integer", + // inventory: "integer" + // }, + + // url: 'http://localhost:3000/movies', + + initialize: function(params) { + console.log("Customer Initialized: " + this.get("title")); + } +}); + +export default Customer; diff --git a/src/models/rental.js b/src/models/rental.js index fd25cec54..6f12949bd 100644 --- a/src/models/rental.js +++ b/src/models/rental.js @@ -26,6 +26,11 @@ var Rental = Backbone.Model.extend({ checkinUrl: function(movieTitle){ this.url = this.url + movieTitle + "/return"; return this; + }, + + overdueUrl: function() { + this.url = this.url + "overdue"; + return this; } }); diff --git a/src/views/customer_list_view.js b/src/views/customer_list_view.js new file mode 100644 index 000000000..9444721a6 --- /dev/null +++ b/src/views/customer_list_view.js @@ -0,0 +1,9 @@ +import Backbone from 'backbone'; +import CustomerView from './customer_view'; +import Customer from '../models/customer'; + +var CustomerListView = Backbone.View.extend({ + +}); + +export default CustomerListView; diff --git a/src/views/customer_view.js b/src/views/customer_view.js new file mode 100644 index 000000000..eeae0e21d --- /dev/null +++ b/src/views/customer_view.js @@ -0,0 +1,9 @@ +import Backbone from 'backbone'; +// import CustomerView from './customer_view'; +import Customer from '../models/customer'; + +var CustomerView = Backbone.View.extend({ + +}); + +export default CustomerView diff --git a/src/views/movie_list_view.js b/src/views/movie_list_view.js index 7b2dcb13f..c85d4f346 100644 --- a/src/views/movie_list_view.js +++ b/src/views/movie_list_view.js @@ -1,6 +1,6 @@ import Backbone from 'backbone'; import MovieView from './movie_view'; -import Move from '../models/movie'; +import Movie from '../models/movie'; var MovieListView = Backbone.View.extend({ From 6ca155df981777883f8485bb55662f8aea8b9332 Mon Sep 17 00:00:00 2001 From: Cynthia Cobb Date: Wed, 21 Jun 2017 13:28:11 -0700 Subject: [PATCH 36/54] showing overdue rentals working --- build/css/styles.css | 4 +++ build/index.html | 26 ++++++++++++++++- src/app.js | 17 ++++++----- src/collections/customer_list.js | 10 ------- src/collections/rental_list.js | 14 +++++++++ src/models/rental.js | 14 ++++----- src/views/movie_list_view.js | 1 + src/views/rental_list_view.js | 49 ++++++++++++++++++++++++++++++++ src/views/rental_view.js | 20 +++++++++---- 9 files changed, 120 insertions(+), 35 deletions(-) delete mode 100644 src/collections/customer_list.js create mode 100644 src/collections/rental_list.js create mode 100644 src/views/rental_list_view.js diff --git a/build/css/styles.css b/build/css/styles.css index 8bb5bc1ee..1bac032bd 100644 --- a/build/css/styles.css +++ b/build/css/styles.css @@ -77,3 +77,7 @@ h4 { li { list-style: none; } + +#overdue-rentals { + display: none; +} diff --git a/build/index.html b/build/index.html index 642e6f9ce..9cf36e078 100644 --- a/build/index.html +++ b/build/index.html @@ -29,6 +29,20 @@

Video Store

+ +
+ + + + + + + + + +
MovieCustomerCustomer IDCheckout DateDue Date
+ +
@@ -65,10 +79,20 @@

<%- title %>

- + + diff --git a/src/app.js b/src/app.js index 22a9b4431..1ac2991a8 100644 --- a/src/app.js +++ b/src/app.js @@ -9,14 +9,15 @@ import Movie from './models/movie'; import MovieListView from './views/movie_list_view'; import MovieView from './views/movie_view'; import Rental from './models/rental'; +import RentalList from './collections/rental_list'; import RentalView from './views/rental_view'; +import RentalListView from './views/rental_list_view'; var buildMovieList = function(event){ $("#search-bar").hide(); $("#rentals").hide(); $("#movie-list").show(); - console.log("clicked on the button"); var movieList = new MovieList(); @@ -88,7 +89,7 @@ var buitldOverdueMovieList = function(event) { console.log("Getting overdue movies"); // console.log(searchText); - var overdueRentals = new Rental (); + var overdueRentals = new RentalList (); overdueRentals.overdueUrl(); overdueRentals.fetch( { error: function(model, response) { alert("Server Error - Try Again Later") }, @@ -96,13 +97,12 @@ var buitldOverdueMovieList = function(event) { } ); - // movieList.url = 'http://localhost:3000/movies'; + var rentalListView = new RentalListView({ + model: overdueRentals, + templateInfo: _.template( $("#overdue-table").html() ) + }); - // var movieListView = new MovieListView({ - // model: movieList, - // templateCard: _.template( $('#movie-card-template').html() ), - // el: 'main' - // }); + $("#overdue-rentals").show(); }; $(document).ready(function() { @@ -113,7 +113,6 @@ $(document).ready(function() { $('#rental-checkout').click( checkoutMovie ); $('#rental-overdue').click( buitldOverdueMovieList ); - $("#rentals").hide(); var rental = new Rental(); var rentalView = new RentalView({ diff --git a/src/collections/customer_list.js b/src/collections/customer_list.js deleted file mode 100644 index 9c9f9c246..000000000 --- a/src/collections/customer_list.js +++ /dev/null @@ -1,10 +0,0 @@ -import Backbone from 'backbone'; -import Customer from '../models/customer'; - -var CustomerList = Backbone.Collection.extend({ - model: Customer, - // url: 'http://localhost:3000/movies', - -}); - -export default CustomerList; diff --git a/src/collections/rental_list.js b/src/collections/rental_list.js new file mode 100644 index 000000000..022100130 --- /dev/null +++ b/src/collections/rental_list.js @@ -0,0 +1,14 @@ +import Backbone from 'backbone'; +import Rental from '../models/rental'; + +var RentalsList = Backbone.Collection.extend({ + model: Rental, + url: 'http://localhost:3000/rentals/', + + overdueUrl: function() { + this.url = this.url + "overdue"; + return this; + } +}); + +export default RentalsList; diff --git a/src/models/rental.js b/src/models/rental.js index 6f12949bd..cc83b590c 100644 --- a/src/models/rental.js +++ b/src/models/rental.js @@ -3,10 +3,10 @@ import Backbone from 'backbone'; // var due_date = now + three_days; var Rental = Backbone.Model.extend({ - defaults: { - title: "string", - customer_id: "id" - }, + // defaults: { + // title: "string", + // customer_id: "id" + // }, initialize: function(params) { if (!this.has('due_date')) { @@ -14,6 +14,7 @@ var Rental = Backbone.Model.extend({ dueDate.setDate(dueDate.getDate() + 3); this.set('due_date', dueDate); } + console.log("initilizing rental"); }, url: 'http://localhost:3000/rentals/', @@ -26,11 +27,6 @@ var Rental = Backbone.Model.extend({ checkinUrl: function(movieTitle){ this.url = this.url + movieTitle + "/return"; return this; - }, - - overdueUrl: function() { - this.url = this.url + "overdue"; - return this; } }); diff --git a/src/views/movie_list_view.js b/src/views/movie_list_view.js index c85d4f346..9d0c49471 100644 --- a/src/views/movie_list_view.js +++ b/src/views/movie_list_view.js @@ -5,6 +5,7 @@ import Movie from '../models/movie'; var MovieListView = Backbone.View.extend({ initialize: function(params) { + // console.log(this.model); this.template = params.templateCard; this.movieViews = []; diff --git a/src/views/rental_list_view.js b/src/views/rental_list_view.js new file mode 100644 index 000000000..b713162bf --- /dev/null +++ b/src/views/rental_list_view.js @@ -0,0 +1,49 @@ +import Backbone from 'backbone'; +import RentalView from './rental_view'; +import Rental from '../models/rental'; +import RentalList from '../collections/rental_list'; + +var RentalListView = Backbone.View.extend({ + + initialize: function(params) { + // console.log(this.model); + this.templateInfo = params.templateInfo; + + this.rentalViews = []; + + this.model.forEach(function(rawRental) { + this.addRental(rawRental); + }.bind(this) ); + + this.listenTo(this.model, "add", this.addRental); + this.listenTo(this.model, "update", this.render); + // this.listenTo(this.model, "remove", this.removeMovie); + }, + + render: function(){ + console.log("rendering the Rental List View"); + + // this.$('#rental-info').empty(); + var that = this; + console.log(this.rentalViews); + this.rentalViews.forEach(function(rentalView){ + console.log(rentalView); + that.$('#rental-info').append(rentalView.$el); + }); + + return this; + }, + + addRental: function(rawRental){ + var rentalView = new RentalView({ + model: rawRental, + templateInfo: this.templateInfo, + el: "#rental-info" + }); + + this.rentalViews.push(rentalView); + } + +}); + +export default RentalListView; diff --git a/src/views/rental_view.js b/src/views/rental_view.js index 1d1884159..65d6540c4 100644 --- a/src/views/rental_view.js +++ b/src/views/rental_view.js @@ -2,17 +2,25 @@ import Backbone from 'backbone'; var RentalView = Backbone.View.extend({ - initialize: function(params) { - this.template = params.templateCard; - console.log(this.template); - this.render(); + console.log(params); + this.templateInfo = params.templateInfo; + this.templateForm = params.templateCard; + + if (params.templateCard) { this.renderForm(); } + else { this.render(); } }, render: function() { - var compiledTemplate = this.template( this.model.toJSON() ); - this.$('#rentals').html(compiledTemplate); + console.log("in render of rental view"); + var compiledTemplate = this.templateInfo ( this.model.toJSON() ); + this.$el.html(compiledTemplate); + return this; + }, + renderForm: function() { + var compiledTemplate = this.templateForm( this.model.toJSON() ); + this.$('#rentals').html(compiledTemplate); return this; }, From 53d8cc9fc30c7181ca7e5e581383a18dfbd6da1d Mon Sep 17 00:00:00 2001 From: Cynthia Cobb Date: Wed, 21 Jun 2017 14:03:37 -0700 Subject: [PATCH 37/54] fix bug with overdue rentals table --- build/index.html | 9 +++++---- src/app.js | 17 +++++++++++------ src/views/rental_list_view.js | 10 +++++----- src/views/rental_view.js | 1 + 4 files changed, 22 insertions(+), 15 deletions(-) diff --git a/build/index.html b/build/index.html index 9cf36e078..5a4cddaf8 100644 --- a/build/index.html +++ b/build/index.html @@ -31,7 +31,7 @@

Video Store

- +
@@ -39,7 +39,10 @@

Video Store

- + + + +
Movie Customer Checkout Date Due Date
@@ -83,14 +86,12 @@

<%- title %>

diff --git a/src/app.js b/src/app.js index 1ac2991a8..10d28f9ed 100644 --- a/src/app.js +++ b/src/app.js @@ -16,6 +16,7 @@ import RentalListView from './views/rental_list_view'; var buildMovieList = function(event){ $("#search-bar").hide(); $("#rentals").hide(); + $("#overdue-rentals").hide(); $("#movie-list").show(); console.log("clicked on the button"); @@ -36,6 +37,7 @@ var buildMovieList = function(event){ var buildMovieListTMDb = function(event) { $("#rentals").hide(); + $("#overdue-rentals").hide(); $("#movie-list").show(); console.log("Getting movies from TMDb!"); @@ -59,8 +61,10 @@ var buildMovieListTMDb = function(event) { }; var toggleSearchBar = function(event) { - $("#rentals").hide(); event.stopPropagation(); + + $("#rentals").hide(); + $("#overdue-rentals").hide(); $("#search-bar").show(); }; @@ -68,6 +72,8 @@ var checkoutMovie = function(event) { event.stopPropagation(); $("#search-bar").hide(); $("#movie-list").hide(); + $("#overdue-rentals").hide(); + $("#rentals").show(); console.log("inside checkoutMovie"); }; @@ -77,18 +83,18 @@ var checkinMovie = function(event) { console.log("inside checkinMovie"); $("#search-bar").hide(); $("#movie-list").hide(); + $("#overdue-rentals").hide(); + $("#rentals").show(); }; var buitldOverdueMovieList = function(event) { - console.log("inside overdue movie list"); - + $("#search-bar").hide(); $("#rentals").hide(); - $("#movie-list").show(); + $("#movie-list").hide(); console.log("Getting overdue movies"); - // console.log(searchText); var overdueRentals = new RentalList (); overdueRentals.overdueUrl(); overdueRentals.fetch( @@ -101,7 +107,6 @@ var buitldOverdueMovieList = function(event) { model: overdueRentals, templateInfo: _.template( $("#overdue-table").html() ) }); - $("#overdue-rentals").show(); }; diff --git a/src/views/rental_list_view.js b/src/views/rental_list_view.js index b713162bf..b54840b36 100644 --- a/src/views/rental_list_view.js +++ b/src/views/rental_list_view.js @@ -1,3 +1,5 @@ +import $ from 'jquery'; + import Backbone from 'backbone'; import RentalView from './rental_view'; import Rental from '../models/rental'; @@ -23,12 +25,11 @@ var RentalListView = Backbone.View.extend({ render: function(){ console.log("rendering the Rental List View"); - // this.$('#rental-info').empty(); + this.$('#overdues').empty(); var that = this; console.log(this.rentalViews); this.rentalViews.forEach(function(rentalView){ - console.log(rentalView); - that.$('#rental-info').append(rentalView.$el); + $('#overdues').append(rentalView.$el); }); return this; @@ -37,8 +38,7 @@ var RentalListView = Backbone.View.extend({ addRental: function(rawRental){ var rentalView = new RentalView({ model: rawRental, - templateInfo: this.templateInfo, - el: "#rental-info" + templateInfo: this.templateInfo }); this.rentalViews.push(rentalView); diff --git a/src/views/rental_view.js b/src/views/rental_view.js index 65d6540c4..075e4abb4 100644 --- a/src/views/rental_view.js +++ b/src/views/rental_view.js @@ -1,6 +1,7 @@ import Backbone from 'backbone'; var RentalView = Backbone.View.extend({ + tagName: "tr", initialize: function(params) { console.log(params); From 09f35eee3aa96eeba0de16f1dd2e9cfc497f6e11 Mon Sep 17 00:00:00 2001 From: Cynthia Cobb Date: Wed, 21 Jun 2017 14:10:36 -0700 Subject: [PATCH 38/54] cleaned up code --- build/index.html | 4 +--- src/app.js | 2 +- 2 files changed, 2 insertions(+), 4 deletions(-) diff --git a/build/index.html b/build/index.html index 5a4cddaf8..8257b54d3 100644 --- a/build/index.html +++ b/build/index.html @@ -31,7 +31,7 @@

Video Store

- +
@@ -42,9 +42,7 @@

Video Store

-
Movie Customer
-
diff --git a/src/app.js b/src/app.js index 10d28f9ed..a7a792b56 100644 --- a/src/app.js +++ b/src/app.js @@ -105,7 +105,7 @@ var buitldOverdueMovieList = function(event) { var rentalListView = new RentalListView({ model: overdueRentals, - templateInfo: _.template( $("#overdue-table").html() ) + templateInfo: _.template( $("#overdue-table").html() ), }); $("#overdue-rentals").show(); }; From 7218959ab4f75a17d103cadb4d08a2c97a217a00 Mon Sep 17 00:00:00 2001 From: Cynthia Cobb Date: Wed, 21 Jun 2017 14:26:37 -0700 Subject: [PATCH 39/54] fixed bug with overdue table --- build/index.html | 2 +- src/app.js | 1 + src/views/rental_list_view.js | 4 ++-- 3 files changed, 4 insertions(+), 3 deletions(-) diff --git a/build/index.html b/build/index.html index 4420a9794..bb3f88eb2 100644 --- a/build/index.html +++ b/build/index.html @@ -31,7 +31,7 @@

Video Store

- +
diff --git a/src/app.js b/src/app.js index 39a08346d..7f5b1e949 100644 --- a/src/app.js +++ b/src/app.js @@ -106,6 +106,7 @@ var buitldOverdueMovieList = function(event) { var rentalListView = new RentalListView({ model: overdueRentals, templateInfo: _.template( $("#overdue-table").html() ), + el: '#overdue-rentals' }); $("#overdue-rentals").show(); }; diff --git a/src/views/rental_list_view.js b/src/views/rental_list_view.js index b54840b36..6af28a7f7 100644 --- a/src/views/rental_list_view.js +++ b/src/views/rental_list_view.js @@ -25,11 +25,11 @@ var RentalListView = Backbone.View.extend({ render: function(){ console.log("rendering the Rental List View"); - this.$('#overdues').empty(); + this.$('#overdue-info').empty(); var that = this; console.log(this.rentalViews); this.rentalViews.forEach(function(rentalView){ - $('#overdues').append(rentalView.$el); + that.$('#overdue-info').append(rentalView.$el); }); return this; From 2e79713302859983bfc946af8e64fa7a0523adf2 Mon Sep 17 00:00:00 2001 From: Cynthia Cobb Date: Wed, 21 Jun 2017 15:02:12 -0700 Subject: [PATCH 40/54] edited id for rentals form --- build/css/styles.css | 5 +++- build/index.html | 10 +++---- src/app.js | 61 +++++++++++++++++++++++++--------------- src/views/rental_view.js | 3 +- 4 files changed, 48 insertions(+), 31 deletions(-) diff --git a/build/css/styles.css b/build/css/styles.css index 1bac032bd..e36fbee08 100644 --- a/build/css/styles.css +++ b/build/css/styles.css @@ -77,7 +77,10 @@ h4 { li { list-style: none; } +#rental-form { + display: none; +} -#overdue-rentals { +#rentals { display: none; } diff --git a/build/index.html b/build/index.html index bb3f88eb2..4cf30775f 100644 --- a/build/index.html +++ b/build/index.html @@ -17,7 +17,7 @@

Video Store

- +
-
+
-
+
Movie Customer
@@ -39,9 +39,7 @@

Video Store

- - - +
Movie Checkout Date Due Date
diff --git a/src/app.js b/src/app.js index 7f5b1e949..c4f4d97c9 100644 --- a/src/app.js +++ b/src/app.js @@ -15,8 +15,7 @@ import RentalListView from './views/rental_list_view'; var buildMovieList = function(event){ $("#search-bar").hide(); - $("#rentals").hide(); - $("#overdue-rentals").hide(); + $("#rental-form").hide(); $("#movie-list").show(); console.log("clicked on the button"); @@ -36,8 +35,7 @@ var buildMovieList = function(event){ }; var buildMovieListTMDb = function(event) { - $("#rentals").hide(); - $("#overdue-rentals").hide(); + $("#rentals-form").hide(); $("#movie-list").show(); console.log("Getting movies from TMDb!"); @@ -63,8 +61,7 @@ var buildMovieListTMDb = function(event) { var toggleSearchBar = function(event) { event.stopPropagation(); - $("#rentals").hide(); - $("#overdue-rentals").hide(); + $("#rental-form").hide(); $("#search-bar").show(); }; @@ -72,25 +69,22 @@ var rentalMovie = function(event) { event.stopPropagation(); $("#search-bar").hide(); $("#movie-list").hide(); - $("#overdue-rentals").hide(); - $("#rentals").show(); + $("#rental-form").show(); console.log("inside checkoutMovie"); }; -var checkinMovie = function(event) { - event.stopPropagation(); - console.log("inside checkinMovie"); - $("#search-bar").hide(); - $("#movie-list").hide(); - $("#overdue-rentals").hide(); - - $("#rentals").show(); -}; +// var checkinMovie = function(event) { +// event.stopPropagation(); +// console.log("inside checkinMovie"); +// $("#search-bar").hide(); +// $("#movie-list").hide(); +// $("#rental-form").show(); +// }; -var buitldOverdueMovieList = function(event) { +var buildOverdueRentalsList = function(event) { $("#search-bar").hide(); - $("#rentals").hide(); + $("#rental-form").hide(); $("#movie-list").hide(); console.log("Getting overdue movies"); @@ -106,9 +100,31 @@ var buitldOverdueMovieList = function(event) { var rentalListView = new RentalListView({ model: overdueRentals, templateInfo: _.template( $("#overdue-table").html() ), - el: '#overdue-rentals' + el: '#rentals' }); - $("#overdue-rentals").show(); + $("#rentals").show(); +}; + +var buildRentalsList = function(event) { + $("#search-bar").hide(); + $("#rental-form").hide(); + $("#movie-list").hide(); + + console.log("Getting all rentals"); + + var rentals = new RentalList (); + rentals.fetch( + { error: function(model, response) { alert("Server Error - Try Again Later") }, + success: function(model, response) { console.log( "API success - got overdue rental customers" ) } + } + ); + + var rentalListView = new RentalListView({ + model: rentals, + templateInfo: _.template( $("#overdue-table").html() ), + el: '#rentals' + }); + $("#rentals").show(); }; $(document).ready(function() { @@ -117,7 +133,8 @@ $(document).ready(function() { $('.btn-search').click( buildMovieListTMDb ); $('#new-movies-list').click( toggleSearchBar); $('#rental-movie').click( rentalMovie ); - $('#rental-overdue').click( buitldOverdueMovieList ); + $('#rental-overdue').click( buildOverdueRentalsList ); + $('#rental-all').click( buildRentalsList) $("#rentals").hide(); var rental = new Rental(); diff --git a/src/views/rental_view.js b/src/views/rental_view.js index 84457fcdb..461567037 100644 --- a/src/views/rental_view.js +++ b/src/views/rental_view.js @@ -21,7 +21,7 @@ var RentalView = Backbone.View.extend({ renderForm: function() { var compiledTemplate = this.templateForm( this.model.toJSON() ); - this.$('#rentals').html(compiledTemplate); + this.$('#rental-form').html(compiledTemplate); return this; }, @@ -80,7 +80,6 @@ var RentalView = Backbone.View.extend({ } }); this.model.url = 'http://localhost:3000/rentals/'; - } }); From c8ec70ff21e3b499933793b548d3b1d9fa626c7c Mon Sep 17 00:00:00 2001 From: Cynthia Cobb Date: Wed, 21 Jun 2017 15:08:19 -0700 Subject: [PATCH 41/54] list of rentals only shows rentals that are have not been checked in --- build/index.html | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/build/index.html b/build/index.html index 4cf30775f..8c0b59f9a 100644 --- a/build/index.html +++ b/build/index.html @@ -38,6 +38,7 @@

Video Store

Customer ID Checkout Date Due Date + Returned @@ -89,7 +90,7 @@

<%- title %>

<%- customer_id %> <%- checkout_date %> <%- due_date %> - + <%- returned %> From 1d118be89cb2bbbe6cda04b53f65c390fb1e57ba Mon Sep 17 00:00:00 2001 From: Cynthia Cobb Date: Wed, 21 Jun 2017 15:13:01 -0700 Subject: [PATCH 42/54] cleaning code - adding styleing of table --- build/css/styles.css | 4 ++++ src/app.js | 18 +++++------------- 2 files changed, 9 insertions(+), 13 deletions(-) diff --git a/build/css/styles.css b/build/css/styles.css index e36fbee08..89a29961d 100644 --- a/build/css/styles.css +++ b/build/css/styles.css @@ -84,3 +84,7 @@ li { #rentals { display: none; } + +th { + text-align: left; +} diff --git a/src/app.js b/src/app.js index c4f4d97c9..fe5d823b9 100644 --- a/src/app.js +++ b/src/app.js @@ -14,6 +14,7 @@ import RentalView from './views/rental_view'; import RentalListView from './views/rental_list_view'; var buildMovieList = function(event){ + $("#rentals").hide(); $("#search-bar").hide(); $("#rental-form").hide(); $("#movie-list").show(); @@ -35,6 +36,7 @@ var buildMovieList = function(event){ }; var buildMovieListTMDb = function(event) { + $("#rentals").hide(); $("#rentals-form").hide(); $("#movie-list").show(); @@ -50,7 +52,6 @@ var buildMovieListTMDb = function(event) { ); // movieList.url = 'http://localhost:3000/movies'; - var movieListView = new MovieListView({ model: movieList, templateCard: _.template( $('#movie-card-template').html() ), @@ -58,9 +59,9 @@ var buildMovieListTMDb = function(event) { }); }; -var toggleSearchBar = function(event) { +var showSearchBar = function(event) { event.stopPropagation(); - + $("#rentals").hide(); $("#rental-form").hide(); $("#search-bar").show(); }; @@ -74,14 +75,6 @@ var rentalMovie = function(event) { console.log("inside checkoutMovie"); }; -// var checkinMovie = function(event) { -// event.stopPropagation(); -// console.log("inside checkinMovie"); -// $("#search-bar").hide(); -// $("#movie-list").hide(); -// $("#rental-form").show(); -// }; - var buildOverdueRentalsList = function(event) { $("#search-bar").hide(); $("#rental-form").hide(); @@ -128,10 +121,9 @@ var buildRentalsList = function(event) { }; $(document).ready(function() { - $('#rental-list').click( buildMovieList ); $('.btn-search').click( buildMovieListTMDb ); - $('#new-movies-list').click( toggleSearchBar); + $('#new-movies-list').click( showSearchBar); $('#rental-movie').click( rentalMovie ); $('#rental-overdue').click( buildOverdueRentalsList ); $('#rental-all').click( buildRentalsList) From 4c49a38507a751afef0114319e874b35626b71b7 Mon Sep 17 00:00:00 2001 From: Cynthia Cobb Date: Wed, 21 Jun 2017 15:40:06 -0700 Subject: [PATCH 43/54] ctn to play with overall styling --- build/css/styles.css | 7 +++---- build/index.html | 16 ++++++++-------- src/app.js | 1 + src/views/movie_view.js | 2 +- src/views/rental_list_view.js | 16 +++++++++++++--- src/views/rental_view.js | 1 + 6 files changed, 27 insertions(+), 16 deletions(-) diff --git a/build/css/styles.css b/build/css/styles.css index 89a29961d..57c085e9e 100644 --- a/build/css/styles.css +++ b/build/css/styles.css @@ -40,16 +40,15 @@ div { } li { - border: solid; + /*border: solid;*/ + background-color: lightgrey; /*height: 27em;*/ padding: 2%; margin: 3% } #movie-text { - /*display: inline-block;*/ - /*min-height: 95%;*/ - /*background-color: lightblue;*/ + /*border: solid;*/ } .columns { diff --git a/build/index.html b/build/index.html index 8c0b59f9a..fb1f7e843 100644 --- a/build/index.html +++ b/build/index.html @@ -48,21 +48,21 @@

Video Store

- diff --git a/src/app.js b/src/app.js index 0a1a12b3e..adb749558 100644 --- a/src/app.js +++ b/src/app.js @@ -65,14 +65,23 @@ var showSearchBar = function(event) { $("#search-bar").show(); }; -var rentalMovie = function(event) { +var showRentalForm = function(event) { // event.stopPropagation(); $("#search-bar").hide(); $("#movie-list").hide(); $("#rentals").hide(); + var rental = new Rental; + var rentalView = new RentalView({ + templateInfo: _.template( $('#rental-form-template').html() ), + tagName: "div", + model: rental, + + }); + // this.$el.hide(); + $("#rental-form").empty(); + $('#rental-form').html( rentalView.$el ); $("#rental-form").show(); - console.log("inside checkoutMovie"); }; var buildOverdueRentalsList = function(event) { @@ -124,11 +133,11 @@ $(document).ready(function() { $('#rental-list').click( buildMovieList ); $('.btn-search').click( buildMovieListTMDb ); $('#new-movies-list').click( showSearchBar); - $('#rental-movie').click( rentalMovie ); + $('#rental-movie').click( showRentalForm ); $('#rental-overdue').click( buildOverdueRentalsList ); $('#rental-all').click( buildRentalsList) - $("#rentals").hide(); + // $("#rentals").hide(); // var rental = new Rental(); // var rentalView = new RentalView({ // model: rental, diff --git a/src/views/movie_view.js b/src/views/movie_view.js index 6f9fcabc5..951dc763d 100644 --- a/src/views/movie_view.js +++ b/src/views/movie_view.js @@ -1,4 +1,8 @@ import Backbone from 'backbone'; +import _ from 'underscore'; +import $ from 'jquery'; +import RentalView from './rental_view'; +import Rental from '../models/rental'; var MovieView = Backbone.View.extend({ tagName: 'li', @@ -42,10 +46,23 @@ var MovieView = Backbone.View.extend({ onCheckout: function(event) { console.log("want to checkout a movie"); - // var rentalView = new RentalView + var rental = new Rental({ + }); + var rentalView = new RentalView ({ + model: rental, + tagName: "div", + templateCard: _.template( $('#rental-form-template').html() ) + }); + // console.log("hello"); + + // you can't do this here in the movie view the scope is not the whole document... + // $("movie-list").show(); + // $("#rental-form").empty(); + // $("#rental-form").append( rentalView.renderForm().$el ); + // $("#rental-form").show(); + Backbone.trigger( "checkout:movie", this.model.get("title") ); } - }); export default MovieView; diff --git a/src/views/rental_list_view.js b/src/views/rental_list_view.js index fb5678858..acd657d4b 100644 --- a/src/views/rental_list_view.js +++ b/src/views/rental_list_view.js @@ -19,7 +19,7 @@ var RentalListView = Backbone.View.extend({ this.listenTo(this.model, "add", this.addRental); this.listenTo(this.model, "update", this.render); - // this.listenTo(this.model, "remove", this.removeRental); + this.listenTo(this.model, "remove", this.removeRental); }, render: function(){ @@ -38,10 +38,12 @@ var RentalListView = Backbone.View.extend({ addRental: function(rawRental) { var rentalView = new RentalView({ model: rawRental, + tagName: "tr", templateInfo: this.templateInfo }); this.rentalViews.push(rentalView); + this.listenTo( rentalView, "updateList", this.render); }, removeRental: function(movie) { diff --git a/src/views/rental_view.js b/src/views/rental_view.js index 5264bafe8..7c19923b0 100644 --- a/src/views/rental_view.js +++ b/src/views/rental_view.js @@ -4,17 +4,19 @@ import $ from 'jquery'; import Rental from '../models/rental'; var RentalView = Backbone.View.extend({ - tagName: "tr", + tagName: function(){ + return this.model.get('tagName'); + }, initialize: function(params) { console.log(params); this.templateInfo = params.templateInfo; this.templateForm = params.templateCard; - if (params.templateCard) { this.renderForm(); } + if (params.templateCard) {} else { this.render(); } - this.listenTo(Backbone, "checkout:movie", this.showForm ) + this.listenTo(Backbone, "checkout:movie", this.showForm ); }, render: function() { @@ -34,12 +36,11 @@ var RentalView = Backbone.View.extend({ events: { 'click .btn-checkout': 'onCheckout', - // 'click .btn-checkin': 'onReturn', + 'click .btn-checkin': 'onReturn', 'click .btn-checkin-from-list': 'onCheckInFromList' }, onCheckInFromList: function(event) { - // console.log(this.model); var movieTitle = this.model.get("title"); console.log(movieTitle); @@ -50,25 +51,26 @@ var RentalView = Backbone.View.extend({ console.log(this.model.url); // var self = this; - // this.model.save({}, { - // success: function(model, response){ - // // console.log(response.rental); - // alert("Success - Movie Checked Out! \nCustomer_id: " - // + customerId - // + "\nMovie: " + movieTitle - // + "\nDue: " + response.rental.due_date ); - // }, - // - // error: function(model, response){ - // console.log(response); - // - // if ( response.responseJSON.errors.title ) { var titleError = response.responseJSON.errors.title[0] }; - // if ( response.responseJSON.errors.customer_id ) { var customerError = response.responseJSON.errors.customer_id[0] } - // // this worked - but you have to know ahead of time that there is a error with title... - // alert( "Something went wrong:\n" + titleError + "\n" + customerError); - // } - // }); - // this.model.url = 'http://localhost:3000/rentals/'; + this.model.save({}, { + success: function(model, response){ + alert("Success - Movie Checked In! \nCustomer_id: " + + customerId + "\nMovie: " + movieTitle); + }, + + error: function(model, response){ + console.log(response); + + if ( response.responseJSON.errors.title ) { var titleError = response.responseJSON.errors.title[0] }; + // if ( response.responseJSON.errors.customer_id ) { var customerError = response.responseJSON.errors.customer_id[0] } + // this worked - but you have to know ahead of time that there is a error with title... + alert( "Something went wrong:\n" + titleError + "\n" + customerError); + } + }); + + this.trigger("updateList", this.model); + this.model.url = 'http://localhost:3000/rentals/'; + this.model.unbind('change', this.render, this); + this.unbind(); }, onCheckout: function(event) { @@ -98,6 +100,8 @@ var RentalView = Backbone.View.extend({ } }); this.model.url = 'http://localhost:3000/rentals/'; + this.model.unbind('change', this.render, this); + this.unbind(); }, onReturn: function(){ @@ -124,19 +128,19 @@ var RentalView = Backbone.View.extend({ } }); this.model.url = 'http://localhost:3000/rentals/'; + + this.model.unbind('change', this.render, this); + this.unbind(); }, showForm: function(title) { console.log("in callback"); - console.log(title); + // console.log(title); - var rental = new Rental(); - var rentalView = new RentalView ({ - model: rental, - templateCard: _.template( $('#rental-form-template').html() ) - }); + this.renderForm(); $("#movie-list").hide(); - $("#rental-form").show(); + // $('#rental-form').append( this.$el ); + this.$el.show(); $("#rental-movie-title").val(title); } }); From 619981b8c084a79cecdce220f686a5d3809dde21 Mon Sep 17 00:00:00 2001 From: Cynthia Cobb Date: Fri, 23 Jun 2017 13:16:13 -0700 Subject: [PATCH 48/54] can checkout movie from list --- src/app.js | 9 ++++++--- src/views/movie_list_view.js | 2 +- src/views/movie_view.js | 26 ++++++++++++-------------- src/views/rental_view.js | 29 +++++++++-------------------- 4 files changed, 28 insertions(+), 38 deletions(-) diff --git a/src/app.js b/src/app.js index adb749558..00590b447 100644 --- a/src/app.js +++ b/src/app.js @@ -30,9 +30,10 @@ var buildMovieList = function(event){ var movieListView = new MovieListView({ model: movieList, - templateCard: _.template( $('#movie-card-template').html() ), + templateForm: _.template( $('#movie-card-template').html() ), el: 'main' }); + }; var buildMovieListTMDb = function(event) { @@ -53,7 +54,7 @@ var buildMovieListTMDb = function(event) { var movieListView = new MovieListView({ model: movieList, - templateCard: _.template( $('#movie-card-template').html() ), + templateForm: _.template( $('#movie-card-template').html() ), el: 'main' }); }; @@ -137,11 +138,13 @@ $(document).ready(function() { $('#rental-overdue').click( buildOverdueRentalsList ); $('#rental-all').click( buildRentalsList) + // $('.button.btn-rental').on("click", showRentalForm ); + // $("#rentals").hide(); // var rental = new Rental(); // var rentalView = new RentalView({ // model: rental, - // templateCard: _.template( $('#rental-form-template').html() ), + // templateForm: _.template( $('#rental-form-template').html() ), // el: 'main' // }); }); diff --git a/src/views/movie_list_view.js b/src/views/movie_list_view.js index e80a7a972..bae6e4ce3 100644 --- a/src/views/movie_list_view.js +++ b/src/views/movie_list_view.js @@ -6,7 +6,7 @@ var MovieListView = Backbone.View.extend({ initialize: function(params) { // console.log(this.model); - this.template = params.templateCard; + this.template = params.templateForm; this.movieViews = []; diff --git a/src/views/movie_view.js b/src/views/movie_view.js index 951dc763d..11b29cb82 100644 --- a/src/views/movie_view.js +++ b/src/views/movie_view.js @@ -45,23 +45,21 @@ var MovieView = Backbone.View.extend({ }, onCheckout: function(event) { - console.log("want to checkout a movie"); - var rental = new Rental({ - }); - var rentalView = new RentalView ({ - model: rental, + console.log("want to checkout a movie - starting a rental"); + + var rental = new Rental; + var rentalView = new RentalView({ + templateInfo: _.template( $('#rental-form-template').html() ), tagName: "div", - templateCard: _.template( $('#rental-form-template').html() ) + model: rental, }); - // console.log("hello"); - - // you can't do this here in the movie view the scope is not the whole document... - // $("movie-list").show(); - // $("#rental-form").empty(); - // $("#rental-form").append( rentalView.renderForm().$el ); - // $("#rental-form").show(); - Backbone.trigger( "checkout:movie", this.model.get("title") ); + console.log(rentalView); + $("#movie-list").hide(); + $("#rental-form").empty(); + $('#rental-form').append( rentalView.$el ); + $('#rental-movie-title').val(this.model.get("title")); + $("#rental-form").show(); } }); diff --git a/src/views/rental_view.js b/src/views/rental_view.js index 7c19923b0..7d229b8cf 100644 --- a/src/views/rental_view.js +++ b/src/views/rental_view.js @@ -11,12 +11,11 @@ var RentalView = Backbone.View.extend({ initialize: function(params) { console.log(params); this.templateInfo = params.templateInfo; - this.templateForm = params.templateCard; + this.templateForm = params.templateForm; - if (params.templateCard) {} + if (params.templateForm) { this.renderForm(); } else { this.render(); } - this.listenTo(Backbone, "checkout:movie", this.showForm ); }, render: function() { @@ -27,12 +26,13 @@ var RentalView = Backbone.View.extend({ return this; }, - renderForm: function() { - console.log("in rental-form"); - var compiledTemplate = this.templateForm( this.model.toJSON() ); - this.$('#rental-form').html(compiledTemplate); - return this; - }, + // renderForm: function() { + // console.log("in render of rental-form"); + // var compiledTemplate = this.templateForm( this.model.toJSON() ); + // this.$('#rental-form').html(compiledTemplate); + // this.delegateEvents(); + // return this; + // }, events: { 'click .btn-checkout': 'onCheckout', @@ -131,17 +131,6 @@ var RentalView = Backbone.View.extend({ this.model.unbind('change', this.render, this); this.unbind(); - }, - - showForm: function(title) { - console.log("in callback"); - // console.log(title); - - this.renderForm(); - $("#movie-list").hide(); - // $('#rental-form').append( this.$el ); - this.$el.show(); - $("#rental-movie-title").val(title); } }); From f09674183edbf155649c4405cf5221dc1ea636c4 Mon Sep 17 00:00:00 2001 From: Cynthia Cobb Date: Fri, 23 Jun 2017 13:50:53 -0700 Subject: [PATCH 49/54] dryed up rental view code --- src/views/rental_view.js | 104 ++++++++++----------------------------- 1 file changed, 25 insertions(+), 79 deletions(-) diff --git a/src/views/rental_view.js b/src/views/rental_view.js index 7d229b8cf..1376bc0c2 100644 --- a/src/views/rental_view.js +++ b/src/views/rental_view.js @@ -9,13 +9,10 @@ var RentalView = Backbone.View.extend({ }, initialize: function(params) { - console.log(params); + // console.log(params); this.templateInfo = params.templateInfo; this.templateForm = params.templateForm; - - if (params.templateForm) { this.renderForm(); } - else { this.render(); } - + this.render(); }, render: function() { @@ -26,82 +23,19 @@ var RentalView = Backbone.View.extend({ return this; }, - // renderForm: function() { - // console.log("in render of rental-form"); - // var compiledTemplate = this.templateForm( this.model.toJSON() ); - // this.$('#rental-form').html(compiledTemplate); - // this.delegateEvents(); - // return this; - // }, - events: { 'click .btn-checkout': 'onCheckout', 'click .btn-checkin': 'onReturn', 'click .btn-checkin-from-list': 'onCheckInFromList' }, - onCheckInFromList: function(event) { - - var movieTitle = this.model.get("title"); - console.log(movieTitle); - var customerId = this.model.get("customer_id"); - console.log(customerId); - - this.model.checkinUrl(movieTitle); - console.log(this.model.url); - - // var self = this; - this.model.save({}, { - success: function(model, response){ - alert("Success - Movie Checked In! \nCustomer_id: " - + customerId + "\nMovie: " + movieTitle); - }, - - error: function(model, response){ - console.log(response); - - if ( response.responseJSON.errors.title ) { var titleError = response.responseJSON.errors.title[0] }; - // if ( response.responseJSON.errors.customer_id ) { var customerError = response.responseJSON.errors.customer_id[0] } - // this worked - but you have to know ahead of time that there is a error with title... - alert( "Something went wrong:\n" + titleError + "\n" + customerError); - } - }); - - this.trigger("updateList", this.model); - this.model.url = 'http://localhost:3000/rentals/'; - this.model.unbind('change', this.render, this); - this.unbind(); - }, - onCheckout: function(event) { console.log("in onCheckout"); var movieTitle = this.$('#rental-movie-title').val(); var customerId = this.$('#rental-customer-id').val(); this.model.set('customer_id', customerId); this.model.checkoutUrl(movieTitle); - - var self = this; - this.model.save({}, { - success: function(model, response){ - // console.log(response.rental); - alert("Success - Movie Checked Out! \nCustomer_id: " - + customerId - + "\nMovie: " + movieTitle - + "\nDue: " + response.rental.due_date ); - }, - - error: function(model, response){ - console.log(response); - - if ( response.responseJSON.errors.title ) { var titleError = response.responseJSON.errors.title[0] }; - if ( response.responseJSON.errors.customer_id ) { var customerError = response.responseJSON.errors.customer_id[0] } - // this worked - but you have to know ahead of time that there is a error with title... - alert( "Something went wrong:\n" + titleError + "\n" + customerError); - } - }); - this.model.url = 'http://localhost:3000/rentals/'; - this.model.unbind('change', this.render, this); - this.unbind(); + this.postRental(); }, onReturn: function(){ @@ -110,23 +44,35 @@ var RentalView = Backbone.View.extend({ var customerId = this.$('#rental-customer-id').val(); this.model.set('customer_id', customerId); this.model.checkinUrl(movieTitle); - var returnDate = new Date(); - // var self = this; + // var returnDate = new Date(); + this.postRental(); + }, + + onCheckInFromList: function(event) { + var movieTitle = this.model.get("title"); + console.log(movieTitle); + var customerId = this.model.get("customer_id"); + console.log(customerId); + this.model.checkinUrl(movieTitle); + this.postRental(); + }, + + postRental: function() { this.model.save({}, { success: function(model, response){ - // console.log(response.rental); - - alert("Success - Movie Checked In! \nCustomer_id: " - + customerId - + "\nMovie: " + movieTitle - + "\nChecked In Date: " + returnDate ); + // alert("Success - Movie Checked In! \nCustomer_id: " + // + customerId + "\nMovie: " + movieTitle); + alert("Success"); }, error: function(model, response){ - console.log(response); - alert( "Something went wrong:\n" + response.responseText) + if ( response.responseJSON.errors.title ) { var titleError = response.responseJSON.errors.title[0] }; + if ( response.responseJSON.errors.customer_id ) { var customerError = response.responseJSON.errors.customer_id[0] } + // this worked - but you have to know ahead of time that there is a error with title... + alert( "Something went wrong:\n" + titleError + "\n" + customerError); } }); + this.model.url = 'http://localhost:3000/rentals/'; this.model.unbind('change', this.render, this); From a482c300648f28e316f36d754970b1ddc0aabd57 Mon Sep 17 00:00:00 2001 From: Cynthia Cobb Date: Fri, 23 Jun 2017 14:03:30 -0700 Subject: [PATCH 50/54] dyred up code in app js --- src/app.js | 72 +++++++++-------------------------- src/views/rental_list_view.js | 2 - src/views/rental_view.js | 9 +++-- 3 files changed, 25 insertions(+), 58 deletions(-) diff --git a/src/app.js b/src/app.js index 00590b447..704192152 100644 --- a/src/app.js +++ b/src/app.js @@ -19,21 +19,9 @@ var buildMovieList = function(event){ $("#rental-form").hide(); $("#movie-list").show(); - console.log("clicked on the button"); - + console.log("Getting the Library Movies"); var movieList = new MovieList(); - movieList.fetch( - { error: function(model, response) { alert("Server Error - Try Again Later") }, - success: function(model, response) { console.log( "API success - got movies" ) } - } - ); - - var movieListView = new MovieListView({ - model: movieList, - templateForm: _.template( $('#movie-card-template').html() ), - el: 'main' - }); - + getMovies(movieList); }; var buildMovieListTMDb = function(event) { @@ -43,9 +31,12 @@ var buildMovieListTMDb = function(event) { console.log("Getting movies from TMDb!"); var searchText = $('#search').val(); - // console.log(searchText); var movieList = new MovieList(); movieList.cumstomUrl(searchText); + getMovies(movieList); +}; + +var getMovies = function(movieList) { movieList.fetch( { error: function(model, response) { alert("Server Error - Try Again Later") }, success: function(model, response) { console.log( "API success - got movies" ) } @@ -60,14 +51,13 @@ var buildMovieListTMDb = function(event) { }; var showSearchBar = function(event) { - // event.stopPropagation(); $("#rentals").hide(); $("#rental-form").hide(); $("#search-bar").show(); }; var showRentalForm = function(event) { - // event.stopPropagation(); + $("#search-bar").hide(); $("#movie-list").hide(); $("#rentals").hide(); @@ -77,48 +67,30 @@ var showRentalForm = function(event) { templateInfo: _.template( $('#rental-form-template').html() ), tagName: "div", model: rental, - }); - // this.$el.hide(); + $("#rental-form").empty(); $('#rental-form').html( rentalView.$el ); $("#rental-form").show(); }; var buildOverdueRentalsList = function(event) { - $("#search-bar").hide(); - $("#rental-form").hide(); - $("#movie-list").hide(); - console.log("Getting overdue movies"); - var overdueRentals = new RentalList (); overdueRentals.overdueUrl(); - overdueRentals.fetch( - { error: function(model, response) { alert("Server Error - Try Again Later") }, - success: function(model, response) { console.log( "API success - got overdue rental customers" ) } - } - ); - - var rentalListView = new RentalListView({ - model: overdueRentals, - templateInfo: _.template( $("#overdue-table").html() ), - el: '#rentals' - }); - $("#rentals").show(); + getRentals(overdueRentals); }; var buildRentalsList = function(event) { - $("#search-bar").hide(); - $("#rental-form").hide(); - $("#movie-list").hide(); - - console.log("Getting all rentals"); - + console.log("Getting all outstanding rentals"); var rentals = new RentalList (); + getRentals(rentals); +}; + +var getRentals = function(rentals) { rentals.fetch( { error: function(model, response) { alert("Server Error - Try Again Later") }, - success: function(model, response) { console.log( "API success - got overdue rental customers" ) } + success: function(model, response) { console.log( "API success - got overdue rentals" ) } } ); @@ -127,6 +99,10 @@ var buildRentalsList = function(event) { templateInfo: _.template( $("#overdue-table").html() ), el: '#rentals' }); + + $("#search-bar").hide(); + $("#rental-form").hide(); + $("#movie-list").hide(); $("#rentals").show(); }; @@ -137,14 +113,4 @@ $(document).ready(function() { $('#rental-movie').click( showRentalForm ); $('#rental-overdue').click( buildOverdueRentalsList ); $('#rental-all').click( buildRentalsList) - - // $('.button.btn-rental').on("click", showRentalForm ); - - // $("#rentals").hide(); - // var rental = new Rental(); - // var rentalView = new RentalView({ - // model: rental, - // templateForm: _.template( $('#rental-form-template').html() ), - // el: 'main' - // }); }); diff --git a/src/views/rental_list_view.js b/src/views/rental_list_view.js index acd657d4b..9bb4068dc 100644 --- a/src/views/rental_list_view.js +++ b/src/views/rental_list_view.js @@ -6,7 +6,6 @@ import Rental from '../models/rental'; import RentalList from '../collections/rental_list'; var RentalListView = Backbone.View.extend({ - initialize: function(params) { // console.log(this.model); this.templateInfo = params.templateInfo; @@ -55,7 +54,6 @@ var RentalListView = Backbone.View.extend({ }); this.rentalViews = filteredList; } - }); export default RentalListView; diff --git a/src/views/rental_view.js b/src/views/rental_view.js index 1376bc0c2..e5a93ffc9 100644 --- a/src/views/rental_view.js +++ b/src/views/rental_view.js @@ -66,15 +66,18 @@ var RentalView = Backbone.View.extend({ }, error: function(model, response){ - if ( response.responseJSON.errors.title ) { var titleError = response.responseJSON.errors.title[0] }; - if ( response.responseJSON.errors.customer_id ) { var customerError = response.responseJSON.errors.customer_id[0] } + // if ( response.responseJSON.errors.title ) { var titleError = response.responseJSON.errors.title[0] }; + // if ( response.responseJSON.errors.customer_id ) { var customerError = response.responseJSON.errors.customer_id[0] } // this worked - but you have to know ahead of time that there is a error with title... - alert( "Something went wrong:\n" + titleError + "\n" + customerError); + // alert( "Something went wrong:\n" + titleError + "\n" + customerError); + + alert("Something went wrong"); } }); this.model.url = 'http://localhost:3000/rentals/'; + // unbind the events to prevent a zombie view this.model.unbind('change', this.render, this); this.unbind(); } From 3127fc0294384682242f7893240cf111b7fce00a Mon Sep 17 00:00:00 2001 From: Cynthia Cobb Date: Fri, 23 Jun 2017 14:13:51 -0700 Subject: [PATCH 51/54] cleaned up spacing --- src/app.js | 29 +++++++++++++---------------- 1 file changed, 13 insertions(+), 16 deletions(-) diff --git a/src/app.js b/src/app.js index 704192152..45a8132f4 100644 --- a/src/app.js +++ b/src/app.js @@ -14,21 +14,14 @@ import RentalView from './views/rental_view'; import RentalListView from './views/rental_list_view'; var buildMovieList = function(event){ - $("#rentals").hide(); - $("#search-bar").hide(); - $("#rental-form").hide(); - $("#movie-list").show(); - + hideEverything(); console.log("Getting the Library Movies"); var movieList = new MovieList(); getMovies(movieList); }; var buildMovieListTMDb = function(event) { - $("#rentals").hide(); - $("#rentals-form").hide(); - $("#movie-list").show(); - + hideEverything(); console.log("Getting movies from TMDb!"); var searchText = $('#search').val(); var movieList = new MovieList(); @@ -48,19 +41,17 @@ var getMovies = function(movieList) { templateForm: _.template( $('#movie-card-template').html() ), el: 'main' }); + + $("#movie-list").show(); }; var showSearchBar = function(event) { - $("#rentals").hide(); - $("#rental-form").hide(); + hideEverything(); $("#search-bar").show(); }; var showRentalForm = function(event) { - - $("#search-bar").hide(); - $("#movie-list").hide(); - $("#rentals").hide(); + hideEverything(); var rental = new Rental; var rentalView = new RentalView({ @@ -75,6 +66,7 @@ var showRentalForm = function(event) { }; var buildOverdueRentalsList = function(event) { + hideEverything(); console.log("Getting overdue movies"); var overdueRentals = new RentalList (); overdueRentals.overdueUrl(); @@ -82,6 +74,7 @@ var buildOverdueRentalsList = function(event) { }; var buildRentalsList = function(event) { + hideEverything(); console.log("Getting all outstanding rentals"); var rentals = new RentalList (); getRentals(rentals); @@ -100,10 +93,14 @@ var getRentals = function(rentals) { el: '#rentals' }); + $("#rentals").show(); +}; + +var hideEverything = function () { + $("#rentals").hide(); $("#search-bar").hide(); $("#rental-form").hide(); $("#movie-list").hide(); - $("#rentals").show(); }; $(document).ready(function() { From 4bbc3ec86d3349f94415c1c1fcb5121c2137e351 Mon Sep 17 00:00:00 2001 From: Cynthia Cobb Date: Fri, 23 Jun 2017 14:31:47 -0700 Subject: [PATCH 52/54] rental list updating when you post a rental from list --- src/views/movie_list_view.js | 1 - src/views/movie_view.js | 9 ++++----- src/views/rental_list_view.js | 10 ++++++---- src/views/rental_view.js | 7 +++++-- 4 files changed, 15 insertions(+), 12 deletions(-) diff --git a/src/views/movie_list_view.js b/src/views/movie_list_view.js index bae6e4ce3..de6e4f773 100644 --- a/src/views/movie_list_view.js +++ b/src/views/movie_list_view.js @@ -38,7 +38,6 @@ var MovieListView = Backbone.View.extend({ model: rawMovie, template: this.template }); - this.movieViews.push(movieView); } diff --git a/src/views/movie_view.js b/src/views/movie_view.js index 11b29cb82..f53dc8be6 100644 --- a/src/views/movie_view.js +++ b/src/views/movie_view.js @@ -10,12 +10,10 @@ var MovieView = Backbone.View.extend({ initialize: function(params) { this.template = params.template; - - // this.listenTo(this.model, "change", this.render); - // this.listenTo(this.model, "update", this.render); - // this.listenTo(this.model, "sync", this.render); - this.render(); + + this.listenTo(this.model, "change", this.render); + this.listenTo(this.model, "update", this.render); }, render: function() { @@ -56,6 +54,7 @@ var MovieView = Backbone.View.extend({ console.log(rentalView); $("#movie-list").hide(); + $("#rental-form").empty(); $('#rental-form').append( rentalView.$el ); $('#rental-movie-title').val(this.model.get("title")); diff --git a/src/views/rental_list_view.js b/src/views/rental_list_view.js index 9bb4068dc..589923c0c 100644 --- a/src/views/rental_list_view.js +++ b/src/views/rental_list_view.js @@ -42,17 +42,19 @@ var RentalListView = Backbone.View.extend({ }); this.rentalViews.push(rentalView); - this.listenTo( rentalView, "updateList", this.render); + this.listenTo( rentalView, "updateList", this.removeRental ); }, - removeRental: function(movie) { + removeRental: function(rental) { + console.log("in remove Rental"); var filteredList = []; this.rentalViews.forEach(function(rentalView){ - if (rentalView.model != movie) { - filteredList.push(movieView); + if (rentalView.model != rental) { + filteredList.push(rentalView); } }); this.rentalViews = filteredList; + this.render(); } }); diff --git a/src/views/rental_view.js b/src/views/rental_view.js index e5a93ffc9..64d5cc063 100644 --- a/src/views/rental_view.js +++ b/src/views/rental_view.js @@ -45,15 +45,18 @@ var RentalView = Backbone.View.extend({ this.model.set('customer_id', customerId); this.model.checkinUrl(movieTitle); // var returnDate = new Date(); + // this.trigger("updateList", this.model); this.postRental(); }, onCheckInFromList: function(event) { + console.log("in check in from list"); var movieTitle = this.model.get("title"); - console.log(movieTitle); + // console.log(movieTitle); var customerId = this.model.get("customer_id"); - console.log(customerId); + // console.log(customerId); this.model.checkinUrl(movieTitle); + this.trigger("updateList", this.model); this.postRental(); }, From b033f955b5a9b9e575f8ebc86fcbdb4cbc50218b Mon Sep 17 00:00:00 2001 From: Cynthia Cobb Date: Fri, 23 Jun 2017 14:38:28 -0700 Subject: [PATCH 53/54] error alerts show response --- src/views/rental_view.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/views/rental_view.js b/src/views/rental_view.js index 64d5cc063..1f63708ee 100644 --- a/src/views/rental_view.js +++ b/src/views/rental_view.js @@ -74,7 +74,7 @@ var RentalView = Backbone.View.extend({ // this worked - but you have to know ahead of time that there is a error with title... // alert( "Something went wrong:\n" + titleError + "\n" + customerError); - alert("Something went wrong"); + alert("Something went wrong:\n" + response.responseText ); } }); From 3a087f44699c5f4529ed8a9f2ee819f7f4b87ebf Mon Sep 17 00:00:00 2001 From: Cynthia Cobb Date: Fri, 23 Jun 2017 15:31:24 -0700 Subject: [PATCH 54/54] final version - ready for pull request --- build/index.html | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/build/index.html b/build/index.html index 3d87c3df4..dc07db66b 100644 --- a/build/index.html +++ b/build/index.html @@ -13,9 +13,9 @@

Video Store

- + - + @@ -53,7 +53,6 @@

Video Store

<%- title %>

Summary: <%- overview %>

Release Date: <%- release_date %>

- <% if ( inventory === null ) { %>

Quantity: @@ -84,7 +83,6 @@

<%- title %>